diff --git a/packages/control/counter.py b/packages/control/counter.py index 27a770e068..fb98a789ee 100644 --- a/packages/control/counter.py +++ b/packages/control/counter.py @@ -120,7 +120,8 @@ def _get_loadmanagement_state(self) -> None: if self.data.get.fault_state == FaultStateLevel.ERROR: if self.data.set.error_timer is None: self.data.set.error_timer = timecheck.create_timestamp() - if timecheck.check_timestamp(self.data.set.error_timer, self.MAX_EVU_ERROR_DURATION) is False: + return True + elif timecheck.check_timestamp(self.data.set.error_timer, self.MAX_EVU_ERROR_DURATION) is False: for cp in connected_cps: if self.num == data.data.counter_all_data.get_id_evu_counter(): data.data.cp_data[cp].set_state_and_log( diff --git a/packages/modules/display_themes/cards/source/package-lock.json b/packages/modules/display_themes/cards/source/package-lock.json index 46cd335b11..66f2e41d51 100644 --- a/packages/modules/display_themes/cards/source/package-lock.json +++ b/packages/modules/display_themes/cards/source/package-lock.json @@ -59,12 +59,12 @@ } }, "node_modules/@babel/parser": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.2.tgz", - "integrity": "sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.5.tgz", + "integrity": "sha512-SRJ4jYmXRqV1/Xc+TIVG84WjHBXKlxO9sHQnA2Pf12QQEAp1LOh6kDzNHXcUnbH1QI0FDoPPVOt+vyUDucxpaw==", "license": "MIT", "dependencies": { - "@babel/types": "^7.26.0" + "@babel/types": "^7.26.5" }, "bin": { "parser": "bin/babel-parser.js" @@ -86,9 +86,9 @@ } }, "node_modules/@babel/types": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.0.tgz", - "integrity": "sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==", + "version": "7.26.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.5.tgz", + "integrity": "sha512-L6mZmwFDK6Cjh1nRCLXpa6no13ZIioJDz7mdkzHv399pThrTa/k0nUlNaenOeh2kWu/iaOQYElEpKPUswUa9Vg==", "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.25.9", @@ -143,9 +143,9 @@ } }, "node_modules/@csstools/css-calc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.0.4.tgz", - "integrity": "sha512-8/iCd8lH10gKNsq5detnbGWiFd6PXK2wB8wjE6fHNNhtqvshyMrIJgffwRcw6yl/gzGTH+N1i+KRhjqHxqYTmg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@csstools/css-calc/-/css-calc-2.1.1.tgz", + "integrity": "sha512-rL7kaUnTkL9K+Cvo2pnCieqNpTKgQzy5f+N+5Iuko9HAoasP+xgprVh7KN/MaJVvVL1l0EzQq2MoqBHKSrDrag==", "dev": true, "funding": [ { @@ -167,9 +167,9 @@ } }, "node_modules/@csstools/css-color-parser": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.5.tgz", - "integrity": "sha512-4Wo8raj9YF3PnZ5iGrAl+BSsk2MYBOEUS/X4k1HL9mInhyCVftEG02MywdvelXlwZGUF2XTQ0qj9Jd398mhqrw==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/css-color-parser/-/css-color-parser-3.0.7.tgz", + "integrity": "sha512-nkMp2mTICw32uE5NN+EsJ4f5N+IGFeCFu4bGpiKgb2Pq/7J/MpyLBeQ5ry4KKtRFZaYs6sTmcMYrSRIyj5DFKA==", "dev": true, "funding": [ { @@ -184,7 +184,7 @@ "license": "MIT", "dependencies": { "@csstools/color-helpers": "^5.0.1", - "@csstools/css-calc": "^2.0.4" + "@csstools/css-calc": "^2.1.1" }, "engines": { "node": ">=18" @@ -326,9 +326,9 @@ } }, "node_modules/@csstools/postcss-color-function": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.5.tgz", - "integrity": "sha512-6dHr2NDsBMiZCPkGDi2qMfIbzV2kWV8Dh7SVb1FZGnN/r2TI4TSAkVF8rCG5L70yQZHMcQGB84yp8Zm+RGhoHA==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-function/-/postcss-color-function-4.0.7.tgz", + "integrity": "sha512-aDHYmhNIHR6iLw4ElWhf+tRqqaXwKnMl0YsQ/X105Zc4dQwe6yJpMrTN6BwOoESrkDjOYMOfORviSSLeDTJkdQ==", "dev": true, "funding": [ { @@ -342,7 +342,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.5", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -356,9 +356,9 @@ } }, "node_modules/@csstools/postcss-color-mix-function": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.5.tgz", - "integrity": "sha512-jgq0oGbit7TxWYP8y2hWWfV64xzcAgJk54PBYZ2fDrRgEDy1l5YMCrFawnn+5JETh/E1jjXPDFhFEYhwr3vA3g==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-color-mix-function/-/postcss-color-mix-function-3.0.7.tgz", + "integrity": "sha512-e68Nev4CxZYCLcrfWhHH4u/N1YocOfTmw67/kVX5Rb7rnguqqLyxPjhHWjSBX8o4bmyuukmNf3wrUSU3//kT7g==", "dev": true, "funding": [ { @@ -372,7 +372,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.5", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -415,9 +415,9 @@ } }, "node_modules/@csstools/postcss-exponential-functions": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.4.tgz", - "integrity": "sha512-xmzFCGTkkLDs7q9vVaRGlnu8s51lRRJzHsaJ/nXmkQuyg0q7gh7rTbJ0bY5sSVet+KB7MTIxRXRUCl2tm7RODA==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-exponential-functions/-/postcss-exponential-functions-2.0.6.tgz", + "integrity": "sha512-IgJA5DQsQLu/upA3HcdvC6xEMR051ufebBTIXZ5E9/9iiaA7juXWz1ceYj814lnDYP/7eWjZnw0grRJlX4eI6g==", "dev": true, "funding": [ { @@ -431,7 +431,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-calc": "^2.0.4", + "@csstools/css-calc": "^2.1.1", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" }, @@ -470,9 +470,9 @@ } }, "node_modules/@csstools/postcss-gamut-mapping": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.5.tgz", - "integrity": "sha512-VQDayRhC/Mg1fuo8/4F43La5aROgvVyqtCqdNyGvRKi6L1+zXfwQ583nImi7k/gn2GNJH82Bf9mutTuT1GtXzA==", + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gamut-mapping/-/postcss-gamut-mapping-2.0.7.tgz", + "integrity": "sha512-gzFEZPoOkY0HqGdyeBXR3JP218Owr683u7KOZazTK7tQZBE8s2yhg06W1tshOqk7R7SWvw9gkw2TQogKpIW8Xw==", "dev": true, "funding": [ { @@ -486,7 +486,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.5", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" }, @@ -498,9 +498,9 @@ } }, "node_modules/@csstools/postcss-gradients-interpolation-method": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.5.tgz", - "integrity": "sha512-l3ShDdAt/szbyBh3Jz27MRFt5WPAbnVCMsU7Vs7EbBxJQNgVDrcu1APBB2nPagDJOyhI6/IahuW7nb6grWVTpA==", + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-gradients-interpolation-method/-/postcss-gradients-interpolation-method-5.0.7.tgz", + "integrity": "sha512-WgEyBeg6glUeTdS2XT7qeTFBthTJuXlS9GFro/DVomj7W7WMTamAwpoP4oQCq/0Ki2gvfRYFi/uZtmRE14/DFA==", "dev": true, "funding": [ { @@ -514,7 +514,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.5", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -528,9 +528,9 @@ } }, "node_modules/@csstools/postcss-hwb-function": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.5.tgz", - "integrity": "sha512-bPn/SQyiiYjWkwK2ykc7O9LliMR50YfUGukd6jQI2okHzB7NxNt/IS45tS1Muk7Hhf3B9Lbmg1Ofq36tBmM92Q==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-hwb-function/-/postcss-hwb-function-4.0.7.tgz", + "integrity": "sha512-LKYqjO+wGwDCfNIEllessCBWfR4MS/sS1WXO+j00KKyOjm7jDW2L6jzUmqASEiv/kkJO39GcoIOvTTfB3yeBUA==", "dev": true, "funding": [ { @@ -544,7 +544,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.5", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -824,9 +824,9 @@ } }, "node_modules/@csstools/postcss-media-minmax": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.4.tgz", - "integrity": "sha512-zgdBOCI9aKoy5GK9tb/3ve0pl7vH0HJg7rfQEWT3TZiIKh7XEWucDSTSwnwgdgtgz50UxrOfbK+C59M+u2fE2Q==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-media-minmax/-/postcss-media-minmax-2.0.6.tgz", + "integrity": "sha512-J1+4Fr2W3pLZsfxkFazK+9kr96LhEYqoeBszLmFjb6AjYs+g9oDAw3J5oQignLKk3rC9XHW+ebPTZ9FaW5u5pg==", "dev": true, "funding": [ { @@ -840,7 +840,7 @@ ], "license": "MIT", "dependencies": { - "@csstools/css-calc": "^2.0.4", + "@csstools/css-calc": "^2.1.1", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/media-query-list-parser": "^4.0.2" @@ -934,9 +934,9 @@ } }, "node_modules/@csstools/postcss-oklab-function": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.5.tgz", - "integrity": "sha512-19bsJQFyJNSEhpaVq0Mq1E0HDXfx8qMHa/bR1MaHr1UD4DWvM2/J6YXb9OVGS7eFl92Y3c84Yggn9uFv13vsiQ==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-oklab-function/-/postcss-oklab-function-4.0.7.tgz", + "integrity": "sha512-I6WFQIbEKG2IO3vhaMGZDkucbCaUSXMxvHNzDdnfsTCF5tc0UlV3Oe2AhamatQoKFjBi75dSEMrgWq3+RegsOQ==", "dev": true, "funding": [ { @@ -950,7 +950,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.5", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -989,10 +989,38 @@ "postcss": "^8.4" } }, + "node_modules/@csstools/postcss-random-function": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@csstools/postcss-random-function/-/postcss-random-function-1.0.2.tgz", + "integrity": "sha512-vBCT6JvgdEkvRc91NFoNrLjgGtkLWt47GKT6E2UDn3nd8ZkMBiziQ1Md1OiKoSsgzxsSnGKG3RVdhlbdZEkHjA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.1", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/@csstools/postcss-relative-color-syntax": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.5.tgz", - "integrity": "sha512-5VrE4hAwv/ZpuL1Yo0ZGGFi1QPpIikp/rzz7LnpQ31ACQVRIA5/M9qZmJbRlZVsJ4bUFSQ3dq6kHSHrCt2uM6Q==", + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@csstools/postcss-relative-color-syntax/-/postcss-relative-color-syntax-3.0.7.tgz", + "integrity": "sha512-apbT31vsJVd18MabfPOnE977xgct5B1I+Jpf+Munw3n6kKb1MMuUmGGH+PT9Hm/fFs6fe61Q/EWnkrb4bNoNQw==", "dev": true, "funding": [ { @@ -1006,7 +1034,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.5", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -1059,10 +1087,38 @@ "node": ">=4" } }, + "node_modules/@csstools/postcss-sign-functions": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@csstools/postcss-sign-functions/-/postcss-sign-functions-1.1.1.tgz", + "integrity": "sha512-MslYkZCeMQDxetNkfmmQYgKCy4c+w9pPDfgOBCJOo/RI1RveEUdZQYtOfrC6cIZB7sD7/PHr2VGOcMXlZawrnA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/csstools" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/csstools" + } + ], + "license": "MIT-0", + "dependencies": { + "@csstools/css-calc": "^2.1.1", + "@csstools/css-parser-algorithms": "^3.0.4", + "@csstools/css-tokenizer": "^3.0.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "postcss": "^8.4" + } + }, "node_modules/@csstools/postcss-stepped-value-functions": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.4.tgz", - "integrity": "sha512-JjShuWZkmIOT8EfI7lYjl7V5qM29LNDdnnSo5O7v/InJJHfeiQjtxyAaZzKGXzpkghPrCAcgLfJ+IyqTdXo7IA==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-stepped-value-functions/-/postcss-stepped-value-functions-4.0.6.tgz", + "integrity": "sha512-/dwlO9w8vfKgiADxpxUbZOWlL5zKoRIsCymYoh1IPuBsXODKanKnfuZRr32DEqT0//3Av1VjfNZU9yhxtEfIeA==", "dev": true, "funding": [ { @@ -1076,7 +1132,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-calc": "^2.0.4", + "@csstools/css-calc": "^2.1.1", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" }, @@ -1115,9 +1171,9 @@ } }, "node_modules/@csstools/postcss-trigonometric-functions": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.4.tgz", - "integrity": "sha512-nn+gWTZZlSnwbyUtGQCnvBXIx1TX+HVStvIm3221dWGQvp47bB5giMBbuAK4a/UJGBbfDQhGKEbYq++WWM1i1A==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/@csstools/postcss-trigonometric-functions/-/postcss-trigonometric-functions-4.0.6.tgz", + "integrity": "sha512-c4Y1D2Why/PeccaSouXnTt6WcNHJkoJRidV2VW9s5gJ97cNxnLgQ4Qj8qOqkIR9VmTQKJyNcbF4hy79ZQnWD7A==", "dev": true, "funding": [ { @@ -1131,7 +1187,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-calc": "^2.0.4", + "@csstools/css-calc": "^2.1.1", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3" }, @@ -1622,13 +1678,13 @@ } }, "node_modules/@eslint/config-array": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.18.0.tgz", - "integrity": "sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==", + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.19.1.tgz", + "integrity": "sha512-fo6Mtm5mWyKjA/Chy1BYTdn5mGJoDNjC7C64ug20ADsRDGrA85bN3uK3MaKbeRkRuuIEAR5N33Jr1pbm411/PA==", "dev": true, "license": "Apache-2.0", "dependencies": { - "@eslint/object-schema": "^2.1.4", + "@eslint/object-schema": "^2.1.5", "debug": "^4.3.1", "minimatch": "^3.1.2" }, @@ -1637,19 +1693,22 @@ } }, "node_modules/@eslint/core": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.7.0.tgz", - "integrity": "sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", + "integrity": "sha512-gFHJ+xBOo4G3WRlR1e/3G8A6/KZAH6zcE/hkLRCZTi/B9avAG365QhFA8uOGzTMqgTghpn7/fSnscW++dpMSAw==", "dev": true, "license": "Apache-2.0", + "dependencies": { + "@types/json-schema": "^7.0.15" + }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, "node_modules/@eslint/eslintrc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.1.0.tgz", - "integrity": "sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.2.0.tgz", + "integrity": "sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==", "dev": true, "license": "MIT", "dependencies": { @@ -1671,9 +1730,9 @@ } }, "node_modules/@eslint/js": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.14.0.tgz", - "integrity": "sha512-pFoEtFWCPyDOl+C6Ift+wC7Ro89otjigCf5vcuWqWgqNSQbRrpjSvdeE6ofLz4dHmyxD5f7gIdGT4+p36L6Twg==", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz", + "integrity": "sha512-fK6L7rxcq6/z+AaQMtiFTkvbHkBLNlwyRxHpKawP0x3u9+NC6MQTnFW+AdpwC6gfHTW0051cokQgtTN2FqlxQA==", "dev": true, "license": "MIT", "engines": { @@ -1681,9 +1740,9 @@ } }, "node_modules/@eslint/object-schema": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.4.tgz", - "integrity": "sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.5.tgz", + "integrity": "sha512-o0bhxnL89h5Bae5T318nFoFzGy+YE5i/gGkoPAgkmTVdRKTiv3p8JHevPiPaMwoloKfEiiaHlawCqaZMqRm+XQ==", "dev": true, "license": "Apache-2.0", "engines": { @@ -1691,12 +1750,13 @@ } }, "node_modules/@eslint/plugin-kit": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.2.tgz", - "integrity": "sha512-CXtq5nR4Su+2I47WPOlWud98Y5Lv8Kyxp2ukhgFx/eW6Blm18VXJO5WuQylPugRo8nbluoi6GvvxBLqHcvqUUw==", + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.5.tgz", + "integrity": "sha512-lB05FkqEdUg2AA0xEbUz0SnkXT1LcCTa438W4IWTUh4hdOnVbQyOJ81OrDXsJk/LSiJHubgGEFoR5EHq1NsH1A==", "dev": true, "license": "Apache-2.0", "dependencies": { + "@eslint/core": "^0.10.0", "levn": "^0.4.1" }, "engines": { @@ -1704,45 +1764,45 @@ } }, "node_modules/@fortawesome/fontawesome-common-types": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.6.0.tgz", - "integrity": "sha512-xyX0X9mc0kyz9plIyryrRbl7ngsA9jz77mCZJsUkLl+ZKs0KWObgaEBoSgQiYWAsSmjz/yjl0F++Got0Mdp4Rw==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.7.2.tgz", + "integrity": "sha512-Zs+YeHUC5fkt7Mg1l6XTniei3k4bwG/yo3iFUtZWd/pMx9g3fdvkSK9E0FOC+++phXOka78uJcYb8JaFkW52Xg==", "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/@fortawesome/fontawesome-svg-core": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.6.0.tgz", - "integrity": "sha512-KHwPkCk6oRT4HADE7smhfsKudt9N/9lm6EJ5BVg0tD1yPA5hht837fB87F8pn15D8JfTqQOjhKTktwmLMiD7Kg==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.7.2.tgz", + "integrity": "sha512-yxtOBWDrdi5DD5o1pmVdq3WMCvnobT0LU6R8RyyVXPvFRd2o79/0NCuQoCjNTeZz9EzA9xS3JxNWfv54RIHFEA==", "license": "MIT", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.6.0" + "@fortawesome/fontawesome-common-types": "6.7.2" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-regular-svg-icons": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.6.0.tgz", - "integrity": "sha512-Yv9hDzL4aI73BEwSEh20clrY8q/uLxawaQ98lekBx6t9dQKDHcDzzV1p2YtBGTtolYtNqcWdniOnhzB+JPnQEQ==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.7.2.tgz", + "integrity": "sha512-7Z/ur0gvCMW8G93dXIQOkQqHo2M5HLhYrRVC0//fakJXxcF1VmMPsxnG6Ee8qEylA8b8Q3peQXWMNZ62lYF28g==", "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.6.0" + "@fortawesome/fontawesome-common-types": "6.7.2" }, "engines": { "node": ">=6" } }, "node_modules/@fortawesome/free-solid-svg-icons": { - "version": "6.6.0", - "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.6.0.tgz", - "integrity": "sha512-IYv/2skhEDFc2WGUcqvFJkeK39Q+HyPf5GHUrT/l2pKbtgEIv1al1TKd6qStR5OIwQdN1GZP54ci3y4mroJWjA==", + "version": "6.7.2", + "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.7.2.tgz", + "integrity": "sha512-GsBrnOzU8uj0LECDfD5zomZJIjrPhIlWU82AHwa2s40FKH+kcxQaBvBo3Z4TxyZHIyX8XTDxsyA33/Vx9eFuQA==", "license": "(CC-BY-4.0 AND MIT)", "dependencies": { - "@fortawesome/fontawesome-common-types": "6.6.0" + "@fortawesome/fontawesome-common-types": "6.7.2" }, "engines": { "node": ">=6" @@ -2594,9 +2654,9 @@ ] }, "node_modules/@rushstack/eslint-patch": { - "version": "1.10.4", - "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.4.tgz", - "integrity": "sha512-WJgX9nzTqknM393q1QJDJmoW28kUfEnybeTfVNcNAPnIx210RXm2DiXiHzfNPJNIUUb1tJnz/l4QGtJ30PgWmA==", + "version": "1.10.5", + "resolved": "https://registry.npmjs.org/@rushstack/eslint-patch/-/eslint-patch-1.10.5.tgz", + "integrity": "sha512-kkKUDVlII2DQiKy7UstOR1ErJP8kUKAQ4oa+SQtM0K+lPdmmjj0YnnxBgtTVYH7mUKtbsxeFC9y0AmK7Yb78/A==", "dev": true, "license": "MIT" }, @@ -2643,28 +2703,28 @@ } }, "node_modules/@vitejs/plugin-vue": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.1.4.tgz", - "integrity": "sha512-N2XSI2n3sQqp5w7Y/AN/L2XDjBIRGqXko+eDp42sydYSBeJuSm5a1sLf8zakmo8u7tA8NmBgoDLA1HeOESjp9A==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-vue/-/plugin-vue-5.2.1.tgz", + "integrity": "sha512-cxh314tzaWwOLqVes2gnnCtvBDcM1UMdn+iFR+UjAn411dPT3tOmqrJjbMd7koZpMAmBM/GqeV4n9ge7JSiJJQ==", "dev": true, "license": "MIT", "engines": { "node": "^18.0.0 || >=20.0.0" }, "peerDependencies": { - "vite": "^5.0.0", + "vite": "^5.0.0 || ^6.0.0", "vue": "^3.2.25" } }, "node_modules/@vitest/expect": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.4.tgz", - "integrity": "sha512-DOETT0Oh1avie/D/o2sgMHGrzYUFFo3zqESB2Hn70z6QB1HrS2IQ9z5DfyTqU8sg4Bpu13zZe9V4+UTNQlUeQA==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.1.8.tgz", + "integrity": "sha512-8ytZ/fFHq2g4PJVAtDX57mayemKgDR6X3Oa2Foro+EygiOJHUXhCqBAAKQYYajZpFoIfvBCF1j6R6IYRSIUFuw==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.4", - "@vitest/utils": "2.1.4", + "@vitest/spy": "2.1.8", + "@vitest/utils": "2.1.8", "chai": "^5.1.2", "tinyrainbow": "^1.2.0" }, @@ -2673,13 +2733,13 @@ } }, "node_modules/@vitest/mocker": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.4.tgz", - "integrity": "sha512-Ky/O1Lc0QBbutJdW0rqLeFNbuLEyS+mIPiNdlVlp2/yhJ0SbyYqObS5IHdhferJud8MbbwMnexg4jordE5cCoQ==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-2.1.8.tgz", + "integrity": "sha512-7guJ/47I6uqfttp33mgo6ga5Gr1VnL58rcqYKyShoRK9ebu8T5Rs6HN3s1NABiBeVTdWNrwUMcHH54uXZBN4zA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/spy": "2.1.4", + "@vitest/spy": "2.1.8", "estree-walker": "^3.0.3", "magic-string": "^0.30.12" }, @@ -2710,9 +2770,9 @@ } }, "node_modules/@vitest/pretty-format": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.4.tgz", - "integrity": "sha512-L95zIAkEuTDbUX1IsjRl+vyBSLh3PwLLgKpghl37aCK9Jvw0iP+wKwIFhfjdUtA2myLgjrG6VU6JCFLv8q/3Ww==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.8.tgz", + "integrity": "sha512-9HiSZ9zpqNLKlbIDRWOnAWqgcA7xu+8YxXSekhr0Ykab7PAYFkhkwoqVArPOtJhPmYeE2YHgKZlj3CP36z2AJQ==", "dev": true, "license": "MIT", "dependencies": { @@ -2723,13 +2783,13 @@ } }, "node_modules/@vitest/runner": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.4.tgz", - "integrity": "sha512-sKRautINI9XICAMl2bjxQM8VfCMTB0EbsBc/EDFA57V6UQevEKY/TOPOF5nzcvCALltiLfXWbq4MaAwWx/YxIA==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.1.8.tgz", + "integrity": "sha512-17ub8vQstRnRlIU5k50bG+QOMLHRhYPAna5tw8tYbj+jzjcspnwnwtPtiOlkuKC4+ixDPTuLZiqiWWQ2PSXHVg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/utils": "2.1.4", + "@vitest/utils": "2.1.8", "pathe": "^1.1.2" }, "funding": { @@ -2737,13 +2797,13 @@ } }, "node_modules/@vitest/snapshot": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.4.tgz", - "integrity": "sha512-3Kab14fn/5QZRog5BPj6Rs8dc4B+mim27XaKWFWHWA87R56AKjHTGcBFKpvZKDzC4u5Wd0w/qKsUIio3KzWW4Q==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.1.8.tgz", + "integrity": "sha512-20T7xRFbmnkfcmgVEz+z3AU/3b0cEzZOt/zmnvZEctg64/QZbSDJEVm9fLnnlSi74KibmRsO9/Qabi+t0vCRPg==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.4", + "@vitest/pretty-format": "2.1.8", "magic-string": "^0.30.12", "pathe": "^1.1.2" }, @@ -2752,9 +2812,9 @@ } }, "node_modules/@vitest/spy": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.4.tgz", - "integrity": "sha512-4JOxa+UAizJgpZfaCPKK2smq9d8mmjZVPMt2kOsg/R8QkoRzydHH1qHxIYNvr1zlEaFj4SXiaaJWxq/LPLKaLg==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.1.8.tgz", + "integrity": "sha512-5swjf2q95gXeYPevtW0BLk6H8+bPlMb4Vw/9Em4hFxDcaOxS+e0LOX4yqNxoHzMR2akEB2xfpnWUzkZokmgWDg==", "dev": true, "license": "MIT", "dependencies": { @@ -2765,13 +2825,13 @@ } }, "node_modules/@vitest/utils": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.4.tgz", - "integrity": "sha512-MXDnZn0Awl2S86PSNIim5PWXgIAx8CIkzu35mBdSApUip6RFOGXBCf3YFyeEu8n1IHk4bWD46DeYFu9mQlFIRg==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.8.tgz", + "integrity": "sha512-dwSoui6djdwbfFmIgbIjX2ZhIoG7Ex/+xpxyiEgIGzjliY8xGkcpITKTlp6B4MgtGkF2ilvm97cPM96XZaAgcA==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/pretty-format": "2.1.4", + "@vitest/pretty-format": "2.1.8", "loupe": "^3.1.2", "tinyrainbow": "^1.2.0" }, @@ -2780,53 +2840,53 @@ } }, "node_modules/@vue/compiler-core": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.12.tgz", - "integrity": "sha512-ISyBTRMmMYagUxhcpyEH0hpXRd/KqDU4ymofPgl2XAkY9ZhQ+h0ovEZJIiPop13UmR/54oA2cgMDjgroRelaEw==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.5.13.tgz", + "integrity": "sha512-oOdAkwqUfW1WqpwSYJce06wvt6HljgY3fGeM9NcVA1HaYOij3mZG9Rkysn0OHuyUAGMbEbARIpsG+LPVlBJ5/Q==", "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", - "@vue/shared": "3.5.12", + "@vue/shared": "3.5.13", "entities": "^4.5.0", "estree-walker": "^2.0.2", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-dom": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.12.tgz", - "integrity": "sha512-9G6PbJ03uwxLHKQ3P42cMTi85lDRvGLB2rSGOiQqtXELat6uI4n8cNz9yjfVHRPIu+MsK6TE418Giruvgptckg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.5.13.tgz", + "integrity": "sha512-ZOJ46sMOKUjO3e94wPdCzQ6P1Lx/vhp2RSvfaab88Ajexs0AHeV0uasYhi99WPaogmBlRHNRuly8xV75cNTMDA==", "license": "MIT", "dependencies": { - "@vue/compiler-core": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/compiler-core": "3.5.13", + "@vue/shared": "3.5.13" } }, "node_modules/@vue/compiler-sfc": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.12.tgz", - "integrity": "sha512-2k973OGo2JuAa5+ZlekuQJtitI5CgLMOwgl94BzMCsKZCX/xiqzJYzapl4opFogKHqwJk34vfsaKpfEhd1k5nw==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-sfc/-/compiler-sfc-3.5.13.tgz", + "integrity": "sha512-6VdaljMpD82w6c2749Zhf5T9u5uLBWKnVue6XWxprDobftnletJ8+oel7sexFfM3qIxNmVE7LSFGTpv6obNyaQ==", "license": "MIT", "dependencies": { "@babel/parser": "^7.25.3", - "@vue/compiler-core": "3.5.12", - "@vue/compiler-dom": "3.5.12", - "@vue/compiler-ssr": "3.5.12", - "@vue/shared": "3.5.12", + "@vue/compiler-core": "3.5.13", + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13", "estree-walker": "^2.0.2", "magic-string": "^0.30.11", - "postcss": "^8.4.47", + "postcss": "^8.4.48", "source-map-js": "^1.2.0" } }, "node_modules/@vue/compiler-ssr": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.12.tgz", - "integrity": "sha512-eLwc7v6bfGBSM7wZOGPmRavSWzNFF6+PdRhE+VFJhNCgHiF8AM7ccoqcv5kBXA2eWUfigD7byekvf/JsOfKvPA==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/compiler-ssr/-/compiler-ssr-3.5.13.tgz", + "integrity": "sha512-wMH6vrYHxQl/IybKJagqbquvxpWCuVYpoUJfCqFZwa/JY1GdATAQ+TgVtgrwwMZ0D07QhA99rs/EAAWfvG6KpA==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/compiler-dom": "3.5.13", + "@vue/shared": "3.5.13" } }, "node_modules/@vue/devtools-api": { @@ -2851,53 +2911,53 @@ } }, "node_modules/@vue/reactivity": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.12.tgz", - "integrity": "sha512-UzaN3Da7xnJXdz4Okb/BGbAaomRHc3RdoWqTzlvd9+WBR5m3J39J1fGcHes7U3za0ruYn/iYy/a1euhMEHvTAg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", + "integrity": "sha512-NaCwtw8o48B9I6L1zl2p41OHo/2Z4wqYGGIK1Khu5T7yxrn+ATOixn/Udn2m+6kZKB/J7cuT9DbWWhRxqixACg==", "license": "MIT", "dependencies": { - "@vue/shared": "3.5.12" + "@vue/shared": "3.5.13" } }, "node_modules/@vue/runtime-core": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.12.tgz", - "integrity": "sha512-hrMUYV6tpocr3TL3Ad8DqxOdpDe4zuQY4HPY3X/VRh+L2myQO8MFXPAMarIOSGNu0bFAjh1yBkMPXZBqCk62Uw==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-core/-/runtime-core-3.5.13.tgz", + "integrity": "sha512-Fj4YRQ3Az0WTZw1sFe+QDb0aXCerigEpw418pw1HBUKFtnQHWzwojaukAs2X/c9DQz4MQ4bsXTGlcpGxU/RCIw==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/reactivity": "3.5.13", + "@vue/shared": "3.5.13" } }, "node_modules/@vue/runtime-dom": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.12.tgz", - "integrity": "sha512-q8VFxR9A2MRfBr6/55Q3umyoN7ya836FzRXajPB6/Vvuv0zOPL+qltd9rIMzG/DbRLAIlREmnLsplEF/kotXKA==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/runtime-dom/-/runtime-dom-3.5.13.tgz", + "integrity": "sha512-dLaj94s93NYLqjLiyFzVs9X6dWhTdAlEAciC3Moq7gzAc13VJUdCnjjRurNM6uTLFATRHexHCTu/Xp3eW6yoog==", "license": "MIT", "dependencies": { - "@vue/reactivity": "3.5.12", - "@vue/runtime-core": "3.5.12", - "@vue/shared": "3.5.12", + "@vue/reactivity": "3.5.13", + "@vue/runtime-core": "3.5.13", + "@vue/shared": "3.5.13", "csstype": "^3.1.3" } }, "node_modules/@vue/server-renderer": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.12.tgz", - "integrity": "sha512-I3QoeDDeEPZm8yR28JtY+rk880Oqmj43hreIBVTicisFTx/Dl7JpG72g/X7YF8hnQD3IFhkky5i2bPonwrTVPg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/server-renderer/-/server-renderer-3.5.13.tgz", + "integrity": "sha512-wAi4IRJV/2SAW3htkTlB+dHeRmpTiVIK1OGLWV1yeStVSebSQQOwGwIq0D3ZIoBj2C2qpgz5+vX9iEBkTdk5YA==", "license": "MIT", "dependencies": { - "@vue/compiler-ssr": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/compiler-ssr": "3.5.13", + "@vue/shared": "3.5.13" }, "peerDependencies": { - "vue": "3.5.12" + "vue": "3.5.13" } }, "node_modules/@vue/shared": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.12.tgz", - "integrity": "sha512-L2RPSAwUFbgZH20etwrXyVyCBu9OxRSi8T/38QsvnkJyvq2LufW2lDCOzm7t/U9C1mkhJGWYfCuFBCmIuNivrg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/@vue/shared/-/shared-3.5.13.tgz", + "integrity": "sha512-/hnE/qP5ZoGpol0a5mDi45bOd7t3tjYJBjsgCsivow7D48cJeV5l05RD82lPqi7gRiphZM37rnhW1l6ZoCNNnQ==", "license": "MIT" }, "node_modules/@vue/test-utils": { @@ -3150,9 +3210,9 @@ "license": "MIT" }, "node_modules/bl": { - "version": "6.0.16", - "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.16.tgz", - "integrity": "sha512-V/kz+z2Mx5/6qDfRCilmrukUXcXuCoXKg3/3hDvzKKoSUx8CJKudfIoT29XZc3UE9xBvxs5qictiHdprwtteEg==", + "version": "6.0.18", + "resolved": "https://registry.npmjs.org/bl/-/bl-6.0.18.tgz", + "integrity": "sha512-2k76XmWCuvu9HTvu3tFOl5HDdCH0wLZ/jHYva/LBVJmc9oX8yUtNQjxrFmbTdXsCSmIxwVTANZPNDfMQrvHFUw==", "license": "MIT", "dependencies": { "@types/readable-stream": "^4.0.0", @@ -3739,9 +3799,9 @@ "license": "MIT" }, "node_modules/cross-spawn": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.5.tgz", - "integrity": "sha512-ZVJrKKYunU38/76t0RMOulHOnUcbU9GbpWKAOZ0mhjr7CX6FVrH+4FrAapSOekrgFQ3f/8gwMEuIft0aKq6Hug==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", "dependencies": { @@ -3820,9 +3880,9 @@ } }, "node_modules/css-has-pseudo": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.1.tgz", - "integrity": "sha512-EOcoyJt+OsuKfCADgLT7gADZI5jMzIe/AeI6MeAYKiFBDmNmM7kk46DtSfMj5AohUJisqVzopBpnQTlvbyaBWg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/css-has-pseudo/-/css-has-pseudo-7.0.2.tgz", + "integrity": "sha512-nzol/h+E0bId46Kn2dQH5VElaknX2Sr0hFuB/1EomdC7j+OISt2ZzK7EHX9DZDY53WbIVAR7FYKSO2XnSf07MQ==", "dev": true, "funding": [ { @@ -3908,9 +3968,9 @@ } }, "node_modules/cssdb": { - "version": "8.1.2", - "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.1.2.tgz", - "integrity": "sha512-ba3HmHU/lxy9nfz/fQLA/Ul+/oSdSOXqoR53BDmRvXTfRbkGqHKqr2rSxADYMRF4uD8vZhMlCQ6c5TEfLLkkVA==", + "version": "8.2.3", + "resolved": "https://registry.npmjs.org/cssdb/-/cssdb-8.2.3.tgz", + "integrity": "sha512-9BDG5XmJrJQQnJ51VFxXCAtpZ5ebDlAREmO8sxMOVU0aSxN/gocbctjIG5LMh3WBUq+xTlb/jw2LoljBEqraTA==", "dev": true, "funding": [ { @@ -4097,10 +4157,10 @@ "license": "MIT" }, "node_modules/domain-browser": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.23.0.tgz", - "integrity": "sha512-ArzcM/II1wCCujdCNyQjXrAFwS4mrLh4C7DZWlaI8mdh7h3BfKdNd3bKXITfl2PT9FtfQqaGvhi1vPRQPimjGA==", - "license": "Artistic-2.0", + "version": "4.22.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-4.22.0.tgz", + "integrity": "sha512-IGBwjF7tNk3cwypFNH/7bfzBcgSCbaMOD3GsaY1AU/JRrnHnYgEM0+9kQt52iZxjNsjBtJYtao146V+f8jFZNw==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -4228,6 +4288,13 @@ "node": ">= 0.4" } }, + "node_modules/es-module-lexer": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.6.0.tgz", + "integrity": "sha512-qqnD1yMU6tk/jnaMosogGySTZP8YtUgAffA9nMN+E/rjxcfRQ6IEk7IiozUjgxKoFHBGjTLnrHB/YC45r/59EQ==", + "dev": true, + "license": "MIT" + }, "node_modules/esbuild": { "version": "0.21.5", "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", @@ -4291,27 +4358,27 @@ } }, "node_modules/eslint": { - "version": "9.14.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.14.0.tgz", - "integrity": "sha512-c2FHsVBr87lnUtjP4Yhvk4yEhKrQavGafRA/Se1ouse8PfbfC/Qh9Mxa00yWsZRlqeUB9raXip0aiiUZkgnr9g==", + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.18.0.tgz", + "integrity": "sha512-+waTfRWQlSbpt3KWE+CjrPPYnbq9kfZIYUqapc0uBXyjTp8aYXZDsUH16m39Ryq3NjAVP4tjuF7KaukeqoCoaA==", "dev": true, "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.18.0", - "@eslint/core": "^0.7.0", - "@eslint/eslintrc": "^3.1.0", - "@eslint/js": "9.14.0", - "@eslint/plugin-kit": "^0.2.0", + "@eslint/config-array": "^0.19.0", + "@eslint/core": "^0.10.0", + "@eslint/eslintrc": "^3.2.0", + "@eslint/js": "9.18.0", + "@eslint/plugin-kit": "^0.2.5", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.0", + "@humanwhocodes/retry": "^0.4.1", "@types/estree": "^1.0.6", "@types/json-schema": "^7.0.15", "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^8.2.0", @@ -4330,8 +4397,7 @@ "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" @@ -4396,9 +4462,9 @@ } }, "node_modules/eslint-plugin-vue": { - "version": "9.30.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.30.0.tgz", - "integrity": "sha512-CyqlRgShvljFkOeYK8wN5frh/OGTvkj1S7wlr2Q2pUvwq+X5VYiLd6ZjujpgSgLnys2W8qrBLkXQ41SUYaoPIQ==", + "version": "9.32.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-9.32.0.tgz", + "integrity": "sha512-b/Y05HYmnB/32wqVcjxjHZzNpwxj1onBOvqW89W+V+XNG1dRuaFbNd3vT9CLbr2LXjEoq+3vn8DanWf7XU22Ug==", "dev": true, "license": "MIT", "dependencies": { @@ -5064,9 +5130,9 @@ } }, "node_modules/immutable": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.7.tgz", - "integrity": "sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==", + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.0.3.tgz", + "integrity": "sha512-P8IdPQHq3lA1xVeBRi5VPqUm5HDgKnx0Ru51wZz5mjxHr5n3RWhjIpOFU7ybkUxfB+5IToy+OLaHYDBIWsv+uw==", "dev": true, "license": "MIT" }, @@ -5617,9 +5683,9 @@ } }, "node_modules/mqtt": { - "version": "5.10.1", - "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-5.10.1.tgz", - "integrity": "sha512-hXCOki8sANoQ7w+2OzJzg6qMBxTtrH9RlnVNV8panLZgnl+Gh0J/t4k6r8Az8+C7y3KAcyXtn0mmLixyUom8Sw==", + "version": "5.10.3", + "resolved": "https://registry.npmjs.org/mqtt/-/mqtt-5.10.3.tgz", + "integrity": "sha512-hA/6YrUS4fywhBGCjH/XXUuLeueJiPqruVVWjK2A24Ma4KcWfZ/x8x07aoesBV+HXDWBC08tbT4IWfSXNW0Jtw==", "license": "MIT", "dependencies": { "@types/readable-stream": "^4.0.5", @@ -5630,7 +5696,7 @@ "help-me": "^5.0.0", "lru-cache": "^10.0.1", "minimist": "^1.2.8", - "mqtt-packet": "^9.0.0", + "mqtt-packet": "^9.0.1", "number-allocator": "^1.0.14", "readable-stream": "^4.4.2", "reinterval": "^1.1.0", @@ -5649,9 +5715,9 @@ } }, "node_modules/mqtt-packet": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-9.0.0.tgz", - "integrity": "sha512-8v+HkX+fwbodsWAZIZTI074XIoxVBOmPeggQuDFCGg1SqNcC+uoRMWu7J6QlJPqIUIJXmjNYYHxBBLr1Y/Df4w==", + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-9.0.1.tgz", + "integrity": "sha512-koZF1V/X2RZUI6uD9wN5OK1JxxcG1ofAR4H3LjCw1FkeKzruZQ26aAA6v2m1lZyWONZIR5wMMJFrZJDRNzbiQw==", "license": "MIT", "dependencies": { "bl": "^6.0.8", @@ -5666,9 +5732,9 @@ "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "version": "3.3.8", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz", + "integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==", "funding": [ { "type": "github", @@ -5706,9 +5772,9 @@ "license": "MIT" }, "node_modules/node-stdlib-browser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.2.1.tgz", - "integrity": "sha512-dZezG3D88Lg22DwyjsDuUs7cCT/XGr8WwJgg/S3ZnkcWuPet2Tt/W1d2Eytb1Z73JpZv+XVCDI5TWv6UMRq0Gg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/node-stdlib-browser/-/node-stdlib-browser-1.3.0.tgz", + "integrity": "sha512-g/koYzOr9Fb1Jc+tHUHlFd5gODjGn48tHexUK8q6iqOVriEgSnd3/1T7myBYc+0KBVze/7F7n65ec9rW6OD7xw==", "license": "MIT", "dependencies": { "assert": "^2.0.0", @@ -5719,7 +5785,7 @@ "constants-browserify": "^1.0.0", "create-require": "^1.1.1", "crypto-browserify": "^3.11.0", - "domain-browser": "^4.22.0", + "domain-browser": "4.22.0", "events": "^3.0.0", "https-browserify": "^1.0.0", "isomorphic-timers-promises": "^1.0.1", @@ -6123,9 +6189,9 @@ } }, "node_modules/pinia": { - "version": "2.2.6", - "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.2.6.tgz", - "integrity": "sha512-vIsR8JkDN5Ga2vAxqOE2cJj4VtsHnzpR1Fz30kClxlh0yCHfec6uoMeM3e/ddqmwFUejK3NlrcQa/shnpyT4hA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pinia/-/pinia-2.3.0.tgz", + "integrity": "sha512-ohZj3jla0LL0OH5PlLTDMzqKiVw2XARmC1XYLdLWIPBMdhDW/123ZWr4zVAhtJm+aoSkFa13pYXskAvAscIkhQ==", "license": "MIT", "dependencies": { "@vue/devtools-api": "^6.6.3", @@ -6135,14 +6201,10 @@ "url": "https://github.com/sponsors/posva" }, "peerDependencies": { - "@vue/composition-api": "^1.4.0", "typescript": ">=4.4.4", - "vue": "^2.6.14 || ^3.5.11" + "vue": "^2.7.0 || ^3.5.11" }, "peerDependenciesMeta": { - "@vue/composition-api": { - "optional": true - }, "typescript": { "optional": true } @@ -6196,9 +6258,9 @@ } }, "node_modules/postcss": { - "version": "8.4.47", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.47.tgz", - "integrity": "sha512-56rxCq7G/XfB4EkXq9Egn5GCqugWvDFjafDOThIdMBsI15iqPqR5r15TfSr1YPYeEI19YeaXMCbY6u88Y76GLQ==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", "funding": [ { "type": "opencollective", @@ -6215,8 +6277,8 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.1.0", + "nanoid": "^3.3.8", + "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, "engines": { @@ -6280,9 +6342,9 @@ } }, "node_modules/postcss-color-functional-notation": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.5.tgz", - "integrity": "sha512-zW97tq5t2sSSSZQcIS4y6NDZj79zVv8hrBIJ4PSFZFmMBcjYqCt8sRXFGIYZohCpfFHmimMNqJje2Qd3qqMNdg==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-color-functional-notation/-/postcss-color-functional-notation-7.0.7.tgz", + "integrity": "sha512-EZvAHsvyASX63vXnyXOIynkxhaHRSsdb7z6yiXKIovGXAolW4cMZ3qoh7k3VdTsLBS6VGdksGfIo3r6+waLoOw==", "dev": true, "funding": [ { @@ -6296,7 +6358,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.5", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -6674,9 +6736,9 @@ } }, "node_modules/postcss-lab-function": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.5.tgz", - "integrity": "sha512-q2M8CfQbjHxbwv1GPAny05EVuj0WByUgq/OWKgpfbTHnMchtUqsVQgaW1mztjSZ4UPufwuTLB14fmFGsoTE/VQ==", + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/postcss-lab-function/-/postcss-lab-function-7.0.7.tgz", + "integrity": "sha512-+ONj2bpOQfsCKZE2T9VGMyVVdGcGUpr7u3SVfvkJlvhTRmDCfY25k4Jc8fubB9DclAPR4+w8uVtDZmdRgdAHig==", "dev": true, "funding": [ { @@ -6690,7 +6752,7 @@ ], "license": "MIT-0", "dependencies": { - "@csstools/css-color-parser": "^3.0.5", + "@csstools/css-color-parser": "^3.0.7", "@csstools/css-parser-algorithms": "^3.0.4", "@csstools/css-tokenizer": "^3.0.3", "@csstools/postcss-progressive-custom-properties": "^4.0.0", @@ -6903,9 +6965,9 @@ } }, "node_modules/postcss-preset-env": { - "version": "10.0.9", - "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.0.9.tgz", - "integrity": "sha512-mpfJWMAW6szov+ifW9HpNUUZE3BoXoHc4CDzNQHdH2I4CwsqulQ3bpFNUR6zh4tg0BUcqM7UUAbzG4UTel8QYw==", + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/postcss-preset-env/-/postcss-preset-env-10.1.3.tgz", + "integrity": "sha512-9qzVhcMFU/MnwYHyYpJz4JhGku/4+xEiPTmhn0hj3IxnUYlEF9vbh7OC1KoLAnenS6Fgg43TKNp9xcuMeAi4Zw==", "dev": true, "funding": [ { @@ -6920,14 +6982,14 @@ "license": "MIT-0", "dependencies": { "@csstools/postcss-cascade-layers": "^5.0.1", - "@csstools/postcss-color-function": "^4.0.5", - "@csstools/postcss-color-mix-function": "^3.0.5", + "@csstools/postcss-color-function": "^4.0.7", + "@csstools/postcss-color-mix-function": "^3.0.7", "@csstools/postcss-content-alt-text": "^2.0.4", - "@csstools/postcss-exponential-functions": "^2.0.4", + "@csstools/postcss-exponential-functions": "^2.0.6", "@csstools/postcss-font-format-keywords": "^4.0.0", - "@csstools/postcss-gamut-mapping": "^2.0.5", - "@csstools/postcss-gradients-interpolation-method": "^5.0.5", - "@csstools/postcss-hwb-function": "^4.0.5", + "@csstools/postcss-gamut-mapping": "^2.0.7", + "@csstools/postcss-gradients-interpolation-method": "^5.0.7", + "@csstools/postcss-hwb-function": "^4.0.7", "@csstools/postcss-ic-unit": "^4.0.0", "@csstools/postcss-initial": "^2.0.0", "@csstools/postcss-is-pseudo-class": "^5.0.1", @@ -6937,27 +6999,29 @@ "@csstools/postcss-logical-overscroll-behavior": "^2.0.0", "@csstools/postcss-logical-resize": "^3.0.0", "@csstools/postcss-logical-viewport-units": "^3.0.3", - "@csstools/postcss-media-minmax": "^2.0.4", + "@csstools/postcss-media-minmax": "^2.0.6", "@csstools/postcss-media-queries-aspect-ratio-number-values": "^3.0.4", "@csstools/postcss-nested-calc": "^4.0.0", "@csstools/postcss-normalize-display-values": "^4.0.0", - "@csstools/postcss-oklab-function": "^4.0.5", + "@csstools/postcss-oklab-function": "^4.0.7", "@csstools/postcss-progressive-custom-properties": "^4.0.0", - "@csstools/postcss-relative-color-syntax": "^3.0.5", + "@csstools/postcss-random-function": "^1.0.2", + "@csstools/postcss-relative-color-syntax": "^3.0.7", "@csstools/postcss-scope-pseudo-class": "^4.0.1", - "@csstools/postcss-stepped-value-functions": "^4.0.4", + "@csstools/postcss-sign-functions": "^1.1.1", + "@csstools/postcss-stepped-value-functions": "^4.0.6", "@csstools/postcss-text-decoration-shorthand": "^4.0.1", - "@csstools/postcss-trigonometric-functions": "^4.0.4", + "@csstools/postcss-trigonometric-functions": "^4.0.6", "@csstools/postcss-unset-value": "^4.0.0", "autoprefixer": "^10.4.19", "browserslist": "^4.23.1", "css-blank-pseudo": "^7.0.1", - "css-has-pseudo": "^7.0.1", + "css-has-pseudo": "^7.0.2", "css-prefers-color-scheme": "^10.0.0", - "cssdb": "^8.1.2", + "cssdb": "^8.2.3", "postcss-attribute-case-insensitive": "^7.0.1", "postcss-clamp": "^4.1.0", - "postcss-color-functional-notation": "^7.0.5", + "postcss-color-functional-notation": "^7.0.7", "postcss-color-hex-alpha": "^10.0.0", "postcss-color-rebeccapurple": "^10.0.0", "postcss-custom-media": "^11.0.5", @@ -6970,7 +7034,7 @@ "postcss-font-variant": "^5.0.0", "postcss-gap-properties": "^6.0.0", "postcss-image-set-function": "^7.0.0", - "postcss-lab-function": "^7.0.5", + "postcss-lab-function": "^7.0.7", "postcss-logical": "^8.0.0", "postcss-nesting": "^13.0.1", "postcss-opacity-percentage": "^3.0.0", @@ -7110,9 +7174,9 @@ } }, "node_modules/prettier": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", - "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.4.2.tgz", + "integrity": "sha512-e9MewbtFo+Fevyuxn/4rrcDAaq0IYxPGLvObpQjiZBMAzB9IGmzlnG9RZy3FFas+eBMu2vA0CszMeduow5dIuQ==", "dev": true, "license": "MIT", "bin": { @@ -7229,9 +7293,9 @@ } }, "node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", + "integrity": "sha512-oIGGmcpTLwPga8Bn6/Z75SVaH1z5dUut2ibSyAMVhmUggWpmDn2dapB0n7f8nwaSiRtepAsfJyfXIO5DCVAODg==", "license": "MIT", "dependencies": { "abort-controller": "^3.0.0", @@ -7385,14 +7449,14 @@ "license": "MIT" }, "node_modules/sass": { - "version": "1.80.6", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.80.6.tgz", - "integrity": "sha512-ccZgdHNiBF1NHBsWvacvT5rju3y1d/Eu+8Ex6c21nHp2lZGLBEtuwc415QfiI1PJa1TpCo3iXwwSRjRpn2Ckjg==", + "version": "1.83.4", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.83.4.tgz", + "integrity": "sha512-B1bozCeNQiOgDcLd33e2Cs2U60wZwjUUXzh900ZyQF5qUasvMdDZYbQ566LJu7cqR+sAHlAfO6RMkaID5s6qpA==", "dev": true, "license": "MIT", "dependencies": { "chokidar": "^4.0.0", - "immutable": "^4.0.0", + "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "bin": { @@ -7869,13 +7933,6 @@ "dev": true, "license": "MIT" }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true, - "license": "MIT" - }, "node_modules/timers-browserify": { "version": "2.0.12", "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", @@ -8136,9 +8193,9 @@ "license": "MIT" }, "node_modules/vite": { - "version": "5.4.10", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.10.tgz", - "integrity": "sha512-1hvaPshuPUtxeQ0hsVH3Mud0ZanOLwVTneA1EgbAM5LhaZEqyPWGRQ7BtaMvUrTDeEaC8pxtj6a6jku3x4z6SQ==", + "version": "5.4.11", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.11.tgz", + "integrity": "sha512-c7jFQRklXua0mTzneGW9QVyxFjUgwcihC4bXEtujIo2ouWCe1Ajt/amn2PCxYnhYfd5k09JX3SB7OYWFKYqj8Q==", "dev": true, "license": "MIT", "dependencies": { @@ -8196,14 +8253,15 @@ } }, "node_modules/vite-node": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.4.tgz", - "integrity": "sha512-kqa9v+oi4HwkG6g8ufRnb5AeplcRw8jUF6/7/Qz1qRQOXHImG8YnLbB+LLszENwFnoBl9xIf9nVdCFzNd7GQEg==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.1.8.tgz", + "integrity": "sha512-uPAwSr57kYjAUux+8E2j0q0Fxpn8M9VoyfGiRI8Kfktz9NcYMCenwY5RnZxnF1WTu3TGiYipirIzacLL3VVGFg==", "dev": true, "license": "MIT", "dependencies": { "cac": "^6.7.14", "debug": "^4.3.7", + "es-module-lexer": "^1.5.4", "pathe": "^1.1.2", "vite": "^5.0.0" }, @@ -8235,31 +8293,31 @@ } }, "node_modules/vitest": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.4.tgz", - "integrity": "sha512-eDjxbVAJw1UJJCHr5xr/xM86Zx+YxIEXGAR+bmnEID7z9qWfoxpHw0zdobz+TQAFOLT+nEXz3+gx6nUJ7RgmlQ==", + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.1.8.tgz", + "integrity": "sha512-1vBKTZskHw/aosXqQUlVWWlGUxSJR8YtiyZDJAFeW2kPAeX6S3Sool0mjspO+kXLuxVWlEDDowBAeqeAQefqLQ==", "dev": true, "license": "MIT", "dependencies": { - "@vitest/expect": "2.1.4", - "@vitest/mocker": "2.1.4", - "@vitest/pretty-format": "^2.1.4", - "@vitest/runner": "2.1.4", - "@vitest/snapshot": "2.1.4", - "@vitest/spy": "2.1.4", - "@vitest/utils": "2.1.4", + "@vitest/expect": "2.1.8", + "@vitest/mocker": "2.1.8", + "@vitest/pretty-format": "^2.1.8", + "@vitest/runner": "2.1.8", + "@vitest/snapshot": "2.1.8", + "@vitest/spy": "2.1.8", + "@vitest/utils": "2.1.8", "chai": "^5.1.2", "debug": "^4.3.7", "expect-type": "^1.1.0", "magic-string": "^0.30.12", "pathe": "^1.1.2", - "std-env": "^3.7.0", + "std-env": "^3.8.0", "tinybench": "^2.9.0", "tinyexec": "^0.3.1", "tinypool": "^1.0.1", "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "2.1.4", + "vite-node": "2.1.8", "why-is-node-running": "^2.3.0" }, "bin": { @@ -8274,8 +8332,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "2.1.4", - "@vitest/ui": "2.1.4", + "@vitest/browser": "2.1.8", + "@vitest/ui": "2.1.8", "happy-dom": "*", "jsdom": "*" }, @@ -8307,16 +8365,16 @@ "license": "MIT" }, "node_modules/vue": { - "version": "3.5.12", - "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.12.tgz", - "integrity": "sha512-CLVZtXtn2ItBIi/zHZ0Sg1Xkb7+PU32bJJ8Bmy7ts3jxXTcbfsEfBivFYYWz1Hur+lalqGAh65Coin0r+HRUfg==", + "version": "3.5.13", + "resolved": "https://registry.npmjs.org/vue/-/vue-3.5.13.tgz", + "integrity": "sha512-wmeiSMxkZCSc+PM2w2VRsOYAZC8GdipNFRTsLSfodVqI9mbejKeXEGr8SckuLnrQPGe3oJN5c3K0vpoU9q/wCQ==", "license": "MIT", "dependencies": { - "@vue/compiler-dom": "3.5.12", - "@vue/compiler-sfc": "3.5.12", - "@vue/runtime-dom": "3.5.12", - "@vue/server-renderer": "3.5.12", - "@vue/shared": "3.5.12" + "@vue/compiler-dom": "3.5.13", + "@vue/compiler-sfc": "3.5.13", + "@vue/runtime-dom": "3.5.13", + "@vue/server-renderer": "3.5.13", + "@vue/shared": "3.5.13" }, "peerDependencies": { "typescript": "*" @@ -8408,9 +8466,9 @@ } }, "node_modules/vue-router": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.4.5.tgz", - "integrity": "sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-4.5.0.tgz", + "integrity": "sha512-HDuk+PuH5monfNuY+ct49mNmkCRK4xJAV9Ts4z9UFc4rzdDnxQLyCMGGc8pKhZhHTVzfanpNwB/lwqevcBwI4w==", "license": "MIT", "dependencies": { "@vue/devtools-api": "^6.6.4" diff --git a/packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-D7ai0q3I.js b/packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-CV-eneFK.js similarity index 93% rename from packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-D7ai0q3I.js rename to packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-CV-eneFK.js index c00b7c1975..84e50d08b1 100644 --- a/packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-D7ai0q3I.js +++ b/packages/modules/display_themes/cards/web/assets/ChargePointPlugBadge-CV-eneFK.js @@ -1 +1 @@ -import{O as x,o as h,e as c,i as f,F as P,A as w,y as m,j as S,q as d,l as C,n as v,s as b,x as g}from"./vendor-CFVb6_YQ.js";import{_ as y}from"./vendor-inkline-CqnuQ_Go.js";import{u as k}from"./index-BCcTh2Tv.js";import{l as D,z as I,A as q,B as $,F as z}from"./vendor-fortawesome-DhL64LM6.js";const l={props:{data:{required:!1,type:Array,default:void 0},socData:{required:!1,type:Array,default:void 0},width:{type:Number,default:250},height:{type:Number,default:70},gap:{type:Number,default:3},stroke:{type:Number,default:3},min:{type:Number,default:0},max:{type:Number,default:1},color:{type:String,default:"var(--color--primary)"},colorNegative:{type:String,default:void 0}},computed:{highestPoint(){return Math.max(1,this.max,...this.slicedData)},lowestPoint(){return Math.min(0,this.min,...this.slicedData)},maxPoints(){return Math.floor(this.width/(this.stroke+this.gap))},slicedData(){if(this.data)return this.data.slice(-this.maxPoints)},slicedSocData(){if(this.socData)return this.socData.slice(-this.maxPoints)},zeroHeight(){return this.height-(0-this.lowestPoint)/(this.highestPoint-this.lowestPoint)*this.height},coordinates(){if(this.data)return this.calculateCoordinates(this.slicedData,this.lowestPoint,this.highestPoint)},socCoordinates(){if(this.socData)return this.calculateCoordinates(this.slicedSocData,0,100)},bars(){if(this.coordinates){const t=[];return this.coordinates.forEach(s=>{const e=s.x,o=s.y,r=this.stroke,a=Math.min(o,this.zeroHeight),i=Math.abs(o-this.zeroHeight),n=o>this.zeroHeight;t.push({x:e,y:a,width:r,height:i,negative:n})}),t}},socPath(){if(this.socCoordinates&&this.socCoordinates.length>0){let s=this.socCoordinates.slice(0,1)[0],e=this.socCoordinates.slice(-1)[0];var t=`M 0,${this.height}`;return t+=` L 0,${s.y}`,this.socCoordinates.forEach(o=>{t+=` L ${o.x+this.stroke/2},${o.y}`}),t+=` L ${e.x+this.stroke},${e.y} L ${e.x+this.stroke},${this.height} Z`}}},methods:{calculateCoordinates(t,s,e){const o=[];return t.forEach((r,a)=>{const i=a*this.width/this.maxPoints+1,n=this.height-(r-s)/(e-s)*this.height;o.push({x:i,y:n})}),o}}},u=()=>{x(t=>({"3f7db06a":t.color,"1de516bf":t.colorNegative}))},p=l.setup;l.setup=p?(t,s)=>(u(),p(t,s)):u;const N=["viewBox"],M=["d"],_=["x","y","width","height"],A=["y1","x2","y2"],O=y(l,[["render",function(t,s,e,o,r,a){return h(),c("svg",{class:"spark-line",viewBox:`0 0 ${e.width} ${e.height}`,width:"100%",preserveAspectRatio:"xMinYMin"},[e.socData?(h(),c("path",{key:0,class:"soc-path",d:a.socPath},null,8,M)):f("",!0),(h(!0),c(P,null,w(a.bars,i=>(h(),c("rect",{key:i.x,x:i.x,y:i.y,width:i.width,height:i.height,class:m(e.colorNegative&&i.negative?"negative":"")},null,10,_))),128)),S("line",{class:"zero-line",x1:0,y1:a.zeroHeight,x2:e.width,y2:a.zeroHeight},null,8,A)],8,N)}],["__scopeId","data-v-22cdf82b"]]);D.add(I,q,$);const E={name:"ChargePointStateBadge",components:{FontAwesomeIcon:z},props:{chargePointId:{required:!0,type:Array},showEnergyCharged:{required:!1,type:Boolean,default:!0}},data:()=>({mqttStore:k()}),computed:{plugState(){var t=!1;return this.chargePointId.forEach(s=>{t|=this.mqttStore.getChargePointPlugState(s)}),t},chargeState(){var t=!1;return this.chargePointId.forEach(s=>{t|=this.mqttStore.getChargePointChargeState(s)}),t},stateIcon(){return this.plugState?this.chargeState?["fas","fa-plug-circle-bolt"]:["fas","fa-plug-circle-check"]:["fas","fa-plug-circle-xmark"]},stateClass(){return this.plugState?this.chargeState?"_color:success":"_color:warning":"_color:gray"}}},H={key:0,class:"_padding-left:1"},R=y(E,[["render",function(t,s,e,o,r,a){const i=d("font-awesome-icon"),n=d("i-badge");return h(),C(n,{size:"lg"},{default:v(()=>[b(i,{"fixed-width":"",icon:a.stateIcon,class:m(a.stateClass)},null,8,["icon","class"]),a.plugState&&e.showEnergyCharged?(h(),c("span",H,g(r.mqttStore.getChargePointImportedSincePlugged(e.chargePointId).energy)+" / "+g(r.mqttStore.getChargePointImportedSincePlugged(e.chargePointId).range),1)):f("",!0)]),_:1})}]]);export{R as C,O as S}; +import{O as x,o as h,e as c,i as f,F as P,A as w,y as m,j as S,q as d,l as C,n as v,s as b,x as g}from"./vendor-DIlzVmqi.js";import{_ as y}from"./vendor-inkline-CWAydWlY.js";import{u as k}from"./index-BSB1CRIg.js";import{l as D,z as I,A as q,B as $,F as z}from"./vendor-fortawesome--vLnJNbG.js";const l={props:{data:{required:!1,type:Array,default:void 0},socData:{required:!1,type:Array,default:void 0},width:{type:Number,default:250},height:{type:Number,default:70},gap:{type:Number,default:3},stroke:{type:Number,default:3},min:{type:Number,default:0},max:{type:Number,default:1},color:{type:String,default:"var(--color--primary)"},colorNegative:{type:String,default:void 0}},computed:{highestPoint(){return Math.max(1,this.max,...this.slicedData)},lowestPoint(){return Math.min(0,this.min,...this.slicedData)},maxPoints(){return Math.floor(this.width/(this.stroke+this.gap))},slicedData(){if(this.data)return this.data.slice(-this.maxPoints)},slicedSocData(){if(this.socData)return this.socData.slice(-this.maxPoints)},zeroHeight(){return this.height-(0-this.lowestPoint)/(this.highestPoint-this.lowestPoint)*this.height},coordinates(){if(this.data)return this.calculateCoordinates(this.slicedData,this.lowestPoint,this.highestPoint)},socCoordinates(){if(this.socData)return this.calculateCoordinates(this.slicedSocData,0,100)},bars(){if(this.coordinates){const t=[];return this.coordinates.forEach(s=>{const e=s.x,o=s.y,r=this.stroke,a=Math.min(o,this.zeroHeight),i=Math.abs(o-this.zeroHeight),n=o>this.zeroHeight;t.push({x:e,y:a,width:r,height:i,negative:n})}),t}},socPath(){if(this.socCoordinates&&this.socCoordinates.length>0){let s=this.socCoordinates.slice(0,1)[0],e=this.socCoordinates.slice(-1)[0];var t=`M 0,${this.height}`;return t+=` L 0,${s.y}`,this.socCoordinates.forEach(o=>{t+=` L ${o.x+this.stroke/2},${o.y}`}),t+=` L ${e.x+this.stroke},${e.y} L ${e.x+this.stroke},${this.height} Z`}}},methods:{calculateCoordinates(t,s,e){const o=[];return t.forEach((r,a)=>{const i=a*this.width/this.maxPoints+1,n=this.height-(r-s)/(e-s)*this.height;o.push({x:i,y:n})}),o}}},u=()=>{x(t=>({"3f7db06a":t.color,"1de516bf":t.colorNegative}))},p=l.setup;l.setup=p?(t,s)=>(u(),p(t,s)):u;const N=["viewBox"],M=["d"],_=["x","y","width","height"],A=["y1","x2","y2"],O=y(l,[["render",function(t,s,e,o,r,a){return h(),c("svg",{class:"spark-line",viewBox:`0 0 ${e.width} ${e.height}`,width:"100%",preserveAspectRatio:"xMinYMin"},[e.socData?(h(),c("path",{key:0,class:"soc-path",d:a.socPath},null,8,M)):f("",!0),(h(!0),c(P,null,w(a.bars,i=>(h(),c("rect",{key:i.x,x:i.x,y:i.y,width:i.width,height:i.height,class:m(e.colorNegative&&i.negative?"negative":"")},null,10,_))),128)),S("line",{class:"zero-line",x1:0,y1:a.zeroHeight,x2:e.width,y2:a.zeroHeight},null,8,A)],8,N)}],["__scopeId","data-v-22cdf82b"]]);D.add(I,q,$);const E={name:"ChargePointStateBadge",components:{FontAwesomeIcon:z},props:{chargePointId:{required:!0,type:Array},showEnergyCharged:{required:!1,type:Boolean,default:!0}},data:()=>({mqttStore:k()}),computed:{plugState(){var t=!1;return this.chargePointId.forEach(s=>{t|=this.mqttStore.getChargePointPlugState(s)}),t},chargeState(){var t=!1;return this.chargePointId.forEach(s=>{t|=this.mqttStore.getChargePointChargeState(s)}),t},stateIcon(){return this.plugState?this.chargeState?["fas","fa-plug-circle-bolt"]:["fas","fa-plug-circle-check"]:["fas","fa-plug-circle-xmark"]},stateClass(){return this.plugState?this.chargeState?"_color:success":"_color:warning":"_color:gray"}}},H={key:0,class:"_padding-left:1"},R=y(E,[["render",function(t,s,e,o,r,a){const i=d("font-awesome-icon"),n=d("i-badge");return h(),C(n,{size:"lg"},{default:v(()=>[b(i,{"fixed-width":"",icon:a.stateIcon,class:m(a.stateClass)},null,8,["icon","class"]),a.plugState&&e.showEnergyCharged?(h(),c("span",H,g(r.mqttStore.getChargePointImportedSincePlugged(e.chargePointId).energy)+" / "+g(r.mqttStore.getChargePointImportedSincePlugged(e.chargePointId).range),1)):f("",!0)]),_:1})}]]);export{R as C,O as S}; diff --git a/packages/modules/display_themes/cards/web/assets/ChargePointsView-go1OQl3F.js b/packages/modules/display_themes/cards/web/assets/ChargePointsView-B2Qojiic.js similarity index 99% rename from packages/modules/display_themes/cards/web/assets/ChargePointsView-go1OQl3F.js rename to packages/modules/display_themes/cards/web/assets/ChargePointsView-B2Qojiic.js index 54f6081e75..c10ef686fb 100644 --- a/packages/modules/display_themes/cards/web/assets/ChargePointsView-go1OQl3F.js +++ b/packages/modules/display_themes/cards/web/assets/ChargePointsView-B2Qojiic.js @@ -1 +1 @@ -import{u as B,C as ae,N as ie}from"./index-BCcTh2Tv.js";import{D as F}from"./DashBoardCard-BqIRnhnk.js";import{S as le,C as z}from"./ChargePointPlugBadge-D7ai0q3I.js";import{l as $,b as ne,c as oe,F as A,j as re,k as W,m as E,e as U,n as D,o as Z,p as R,q as j,r as K,s as O,t as J,u as G,v as ce,w as de,x as he,y as ge}from"./vendor-fortawesome-DhL64LM6.js";import{_ as x}from"./vendor-inkline-CqnuQ_Go.js";import{q as h,o as d,l as u,n as i,s as a,y as q,e as S,k as r,F as M,x as s,i as m,A as L,I as se,j as ue,p as me}from"./vendor-CFVb6_YQ.js";$.add(ne,oe);const H=x({name:"ChargePointLockButton",components:{FontAwesomeIcon:A},props:{chargePointId:{required:!0,type:Number},changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:B()}),computed:{locked(){return this.mqttStore.getChargePointManualLock(this.chargePointId)},stateIcon(){return this.locked?["fas","fa-lock"]:["fas","fa-lock-open"]},stateClass(){return this.locked?["_color:danger"]:"_color:success"}},methods:{toggleChargePointManualLock(){this.changesLocked||this.$root.sendTopicToBroker(`openWB/chargepoint/${this.chargePointId}/set/manual_lock`,!this.mqttStore.getValueBool(`openWB/chargepoint/${this.chargePointId}/set/manual_lock`))}}},[["render",function(l,e,n,p,t,c){const P=h("font-awesome-icon"),V=h("i-button");return d(),u(V,{size:"lg",disabled:n.changesLocked,outline:n.changesLocked},{default:i(()=>[a(P,{"fixed-width":"",icon:c.stateIcon,class:q(c.stateClass),onClick:e[0]||(e[0]=C=>c.toggleChargePointManualLock())},null,8,["icon","class"])]),_:1},8,["disabled","outline"])}]]);$.add(re);const Q=x({name:"ChargePointCodeButton",components:{FontAwesomeIcon:A,CodeInputModal:ae},props:{chargePointId:{type:Number,required:!0}},data:()=>({mqttStore:B(),modalIdTagEntryVisible:!1,modalIdTagEntryColor:"warning",code:""}),computed:{tagState(){return this.mqttStore.getChargepointTagState(this.chargePointId)},tagButtonColor(){switch(this.tagState){case 2:return"success";case 1:return"warning";default:return""}},tagClass(){switch(this.tagState){case 2:return"_color:success-80";case 1:return"_color:warning-80";default:return""}}},methods:{toggleIdTagModal(){this.modalIdTagEntryVisible=!this.modalIdTagEntryVisible},sendIdTag(l){this.$root.sendTopicToBroker(`openWB/chargepoint/${this.chargePointId}/get/rfid`,l),this.modalIdTagEntryVisible=!1}}},[["render",function(l,e,n,p,t,c){const P=h("FontAwesomeIcon"),V=h("i-button"),C=h("CodeInputModal");return d(),S(M,null,[a(V,{class:"_margin-right:1",size:"lg",color:c.tagButtonColor,disabled:c.tagState==2,onClick:e[0]||(e[0]=g=>c.toggleIdTagModal())},{default:i(()=>[a(P,{"fixed-width":"",icon:["fas","fa-calculator"],class:q(c.tagClass)},null,8,["class"])]),_:1},8,["color","disabled"]),a(C,{ref:"lockInput",modelValue:t.modalIdTagEntryVisible,"onUpdate:modelValue":e[1]||(e[1]=g=>t.modalIdTagEntryVisible=g),"min-length":4,"max-length":20,"onUpdate:inputValue":c.sendIdTag},{header:i(()=>e[2]||(e[2]=[r(" Bitte einen ID-Tag eingeben. ")])),_:1},8,["modelValue","onUpdate:inputValue"])],64)}]]);$.add(W,E,U,D,Z,R,j,K,O,J,G);const Ce={name:"ChargePointCard",components:{DashBoardCard:F,SparkLine:le,ChargePointPlugBadge:z,ChargePointLockButton:H,ChargePointCodeButton:Q,FontAwesomeIcon:A},props:{chargePointId:{type:Number,required:!0},changesLocked:{type:Boolean,required:!0}},emits:["vehicle-click","soc-click","charge-mode-click","toggle-charge-point-settings"],data:()=>({mqttStore:B()}),methods:{handleVehicleClick(l){this.$emit("vehicle-click",l)},handleSocClick(l){this.$emit("soc-click",l)},handleChargeModeClick(l){this.$emit("charge-mode-click",l)},toggleChargePointSettings(l){this.$emit("toggle-charge-point-settings",l)}}},Pe={key:0},pe=x(Ce,[["render",function(l,e,n,p,t,c){const P=h("charge-point-plug-badge"),V=h("charge-point-code-button"),C=h("charge-point-lock-button"),g=h("i-column"),I=h("i-row"),k=h("spark-line"),_=h("font-awesome-icon"),f=h("i-badge"),y=h("i-button"),b=h("i-container"),v=h("dash-board-card");return d(),u(v,{color:"primary"},{headerLeft:i(()=>[r(s(t.mqttStore.getChargePointName(n.chargePointId)),1)]),headerRight:i(()=>[a(P,{"charge-point-id":[n.chargePointId]},null,8,["charge-point-id"])]),default:i(()=>[a(b,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[t.mqttStore.getRfidEnabled?(d(),u(V,{key:0,"charge-point-id":n.chargePointId},null,8,["charge-point-id"])):m("",!0),a(C,{"charge-point-id":n.chargePointId,"changes-locked":n.changesLocked},null,8,["charge-point-id","changes-locked"])]),_:1}),a(g,{class:"_text-align:right _padding-left:0"},{default:i(()=>[r(s(t.mqttStore.getChargePointPower(n.chargePointId))+" "+s(t.mqttStore.getChargePointPhasesInUse(n.chargePointId))+" "+s(t.mqttStore.getChargePointSetCurrent(n.chargePointId)),1)]),_:1})]),_:1}),a(I,{class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0"},{default:i(()=>[a(k,{color:"var(--color--primary)",data:t.mqttStore.getChargePointPowerChartData(n.chargePointId)},null,8,["data"])]),_:1})]),_:1})]),_:1}),a(g,{md:"6"},{default:i(()=>[a(I,{class:"_display:flex"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0 _flex-grow:1"},{default:i(()=>[a(f,{size:"lg",class:q(["_width:100%",n.changesLocked?"":"clickable"]),onClick:e[0]||(e[0]=w=>c.handleVehicleClick(n.chargePointId))},{default:i(()=>[a(_,{"fixed-width":"",icon:["fas","fa-car"]}),r(" "+s(t.mqttStore.getChargePointConnectedVehicleName(n.chargePointId)),1)]),_:1},8,["class"])]),_:1}),t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))||t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(g,{key:0,class:"_flex-grow:0 _padding-right:0 _padding-left:1"},{default:i(()=>[a(y,{size:"sm",disabled:n.changesLocked,class:q(n.changesLocked?"":"clickable"),onClick:e[1]||(e[1]=w=>c.handleSocClick(n.chargePointId))},{default:i(()=>[t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?(d(),S("span",Pe,[a(_,{"fixed-width":"",icon:t.mqttStore.getVehicleSocIsManual(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?["fas","fa-edit"]:["fas","fa-car-battery"]},null,8,["icon"]),r(" "+s(t.mqttStore.getChargePointConnectedVehicleSoc(n.chargePointId).soc)+"% ",1)])):m("",!0),t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(_,{key:1,"fixed-width":"",icon:t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?["fas","times-circle"]:["fas","exclamation-triangle"]:[],class:q(t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?"_color:danger":"_color:warning":"")},null,8,["icon","class"])):m("",!0)]),_:1},8,["disabled","class"])]),_:1})):m("",!0)]),_:1}),a(I,{class:"_padding-top:1 _display:flex"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0 _flex-grow:1"},{default:i(()=>[a(f,{size:"lg",class:q(["_width:100%",n.changesLocked?"":"clickable"]),color:t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).class,onClick:e[2]||(e[2]=w=>c.handleChargeModeClick(n.chargePointId))},{default:i(()=>[r(s(t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).label)+" ",1),a(_,{"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?["fas","fa-star"]:["far","fa-star"],class:q(t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?"_color:warning":"")},null,8,["icon","class"])]),_:1},8,["class","color"])]),_:1}),t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(n.chargePointId)?(d(),u(g,{key:0,class:"_flex-grow:0 _padding-right:0 _padding-left:1"},{default:i(()=>[a(f,{size:"lg"},{default:i(()=>[t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(n.chargePointId)?(d(),u(_,{key:0,"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehicleTimeChargingRunning(n.chargePointId)?["fas","fa-clock"]:["far","fa-clock"],class:q(t.mqttStore.getChargePointConnectedVehicleTimeChargingRunning(n.chargePointId)?"_color:success":"")},null,8,["icon","class"])):m("",!0)]),_:1})]),_:1})):m("",!0)]),_:1}),n.changesLocked?m("",!0):(d(),u(I,{key:0,class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[a(y,{block:"",onClick:e[3]||(e[3]=w=>c.toggleChargePointSettings(n.chargePointId))},{default:i(()=>[a(_,{"fixed-width":"",icon:["fas","fa-wrench"]})]),_:1})]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-3c6489c4"]]);$.add(W,E,U,D,Z,R,j,K,O,J,G);const fe={name:"ChargePointCard",components:{DashBoardCard:F,ChargePointPlugBadge:z,ChargePointLockButton:H,ChargePointCodeButton:Q,FontAwesomeIcon:A},props:{chargePointId:{type:Number,required:!0},changesLocked:{type:Boolean,required:!0}},emits:["vehicle-click","soc-click","charge-mode-click","toggle-charge-point-settings","set-charge-point-connected-vehicle-charge-mode"],data:()=>({mqttStore:B(),simpleChargeModes:["instant_charging","pv_charging","stop"]}),computed:{filteredChargeModes(){return this.mqttStore.getSimpleChargePointView?this.mqttStore.chargeModeList().filter(l=>this.simpleChargeModes.includes(l.id)):this.mqttStore.chargeModeList()}},methods:{handleVehicleClick(l){this.$emit("vehicle-click",l)},handleSocClick(l){this.$emit("soc-click",l)},handleChargeModeClick(l){this.$emit("charge-mode-click",l)},toggleChargePointSettings(l){this.$emit("toggle-charge-point-settings",l)},setChargePointConnectedVehicleChargeMode(l,e){this.$emit("set-charge-point-connected-vehicle-charge-mode",l,e)}}},Se={key:0},Ve=x(fe,[["render",function(l,e,n,p,t,c){const P=h("charge-point-plug-badge"),V=h("charge-point-code-button"),C=h("charge-point-lock-button"),g=h("i-column"),I=h("i-row"),k=h("font-awesome-icon"),_=h("i-button"),f=h("i-button-group"),y=h("i-container"),b=h("dash-board-card");return d(),u(b,{color:"primary"},{headerLeft:i(()=>[r(s(t.mqttStore.getChargePointName(n.chargePointId)),1)]),headerRight:i(()=>[a(P,{"charge-point-id":[n.chargePointId]},null,8,["charge-point-id"])]),default:i(()=>[a(y,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[t.mqttStore.getRfidEnabled?(d(),u(V,{key:0,"charge-point-id":n.chargePointId},null,8,["charge-point-id"])):m("",!0),a(C,{"charge-point-id":n.chargePointId,"changes-locked":n.changesLocked},null,8,["charge-point-id","changes-locked"])]),_:1}),a(g,{class:"_text-align:right _padding-left:0"},{default:i(()=>[r(s(t.mqttStore.getChargePointPower(n.chargePointId))+" "+s(t.mqttStore.getChargePointPhasesInUse(n.chargePointId))+" "+s(t.mqttStore.getChargePointSetCurrent(n.chargePointId)),1)]),_:1})]),_:1}),a(I,{class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0 button-group-wrapper"},{default:i(()=>[a(f,{class:"button-group main-button-group"},{default:i(()=>[a(_,{class:q(["large-button _flex-grow:1",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[0]||(e[0]=v=>c.handleVehicleClick(n.chargePointId))},{default:i(()=>[a(k,{"fixed-width":"",icon:["fas","fa-car"]}),r(" "+s(t.mqttStore.getChargePointConnectedVehicleName(n.chargePointId))+" ",1),a(k,{class:q(["_padding-left:1",t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?"_color:warning":""]),"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?["fas","fa-star"]:["far","fa-star"]},null,8,["icon","class"])]),_:1},8,["class","disabled"]),t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))||t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(_,{key:0,class:q(["large-button _flex-grow:0",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[1]||(e[1]=v=>c.handleSocClick(n.chargePointId))},{default:i(()=>[t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?(d(),S("span",Se,[a(k,{"fixed-width":"",icon:t.mqttStore.getVehicleSocIsManual(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?["fas","fa-edit"]:["fas","fa-car-battery"]},null,8,["icon"]),r(" "+s(t.mqttStore.getChargePointConnectedVehicleSoc(n.chargePointId).soc)+"% ",1)])):m("",!0),t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(k,{key:1,"fixed-width":"",icon:t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?["fas","times-circle"]:["fas","exclamation-triangle"]:[],class:q(t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?"_color:danger":"_color:warning":"")},null,8,["icon","class"])):m("",!0)]),_:1},8,["disabled","class"])):m("",!0),a(_,{class:q(["large-button _flex-grow:0",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[2]||(e[2]=v=>c.toggleChargePointSettings(n.chargePointId))},{default:i(()=>[a(k,{"fixed-width":"",icon:["fas","fa-wrench"]})]),_:1},8,["class","disabled"])]),_:1}),a(f,{class:"button-group _margin-top:1",disabled:n.changesLocked},{default:i(()=>[(d(!0),S(M,null,L(c.filteredChargeModes,v=>(d(),u(_,{key:v.id,outline:"",class:q(["large-button _flex-grow:1",n.changesLocked?"":"clickable"]),color:v.class!="dark"?v.class:"light",active:t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId)!=null&&v.id==t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).mode,onClick:w=>c.setChargePointConnectedVehicleChargeMode(n.chargePointId,v.id)},{default:i(()=>[r(s(v.label),1)]),_:2},1032,["class","color","active","onClick"]))),128))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-5e676b1f"]]),X=x({name:"ExtendedNumberInput",inheritAttrs:!1,props:{modelValue:{type:Number,required:!0,default:NaN},unit:{type:String,default:""},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},labels:{type:Array,default:void 0}},emits:["update:modelValue"],data(){return{minimum:this.labels?0:this.min,maximum:this.labels?this.labels.length-1:this.max,stepSize:this.labels?1:this.step}},computed:{label(){var l;return this.labels&&this.inputValue!=null?this.inputValuec.label=C),plaintext:"",class:"_text-align:right",size:"lg"},{prepend:i(()=>[a(P,{onClick:c.decrement},{default:i(()=>e[1]||(e[1]=[r(" - ")])),_:1},8,["onClick"])]),suffix:i(()=>[r(s(n.unit),1)]),append:i(()=>[a(P,{onClick:c.increment},{default:i(()=>e[2]||(e[2]=[r(" + ")])),_:1},8,["onClick"])]),_:1},8,["modelValue"])}]]),Ie=x({name:"ManualSocInput",components:{ExtendedNumberInput:X,NumberPad:ie},props:{modelValue:{required:!0,type:Boolean,default:!1},vehicleId:{required:!0,type:Number,default:0}},emits:["update:modelValue"],data:()=>({mqttStore:B(),newSoc:0}),methods:{enter(l){let e=10*this.newSoc+parseInt(l);e>=0&&e<=100&&(this.newSoc=e)},removeDigit(){this.newSoc=Math.trunc(this.newSoc/10)},clear(){this.newSoc=0},close(){this.$emit("update:modelValue",!1),this.newSoc=0},updateManualSoc(){this.$root.sendTopicToBroker(`openWB/vehicle/${this.vehicleId}/soc_module/calculated_soc_state/manual_soc`,this.newSoc),this.close()}}},[["render",function(l,e,n,p,t,c){const P=h("extended-number-input"),V=h("i-column"),C=h("i-row"),g=h("NumberPad"),I=h("i-container"),k=h("i-button"),_=h("i-modal");return d(),u(se,{to:"body"},[a(_,{"model-value":n.modelValue,size:"sm","onUpdate:modelValue":e[6]||(e[6]=f=>l.$emit("update:modelValue",f))},{header:i(()=>[r(' SoC für Fahrzeug "'+s(t.mqttStore.getVehicleName(n.vehicleId))+'" ',1)]),footer:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,null,{default:i(()=>[a(k,{color:"danger",onClick:e[4]||(e[4]=f=>c.close())},{default:i(()=>e[7]||(e[7]=[r(" Zurück ")])),_:1})]),_:1}),a(V,{class:"_text-align:right"},{default:i(()=>[a(k,{color:"success",onClick:e[5]||(e[5]=f=>c.updateManualSoc())},{default:i(()=>e[8]||(e[8]=[r(" OK ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:i(()=>[a(I,null,{default:i(()=>[a(C,{center:"",class:"_padding-bottom:1"},{default:i(()=>[a(V,null,{default:i(()=>[a(P,{modelValue:t.newSoc,"onUpdate:modelValue":e[0]||(e[0]=f=>t.newSoc=f),unit:"%",min:0,max:100,step:1,size:"lg",class:"_text-align:center"},null,8,["modelValue"])]),_:1})]),_:1}),a(g,{"onKey:digit":e[1]||(e[1]=f=>c.enter(f)),"onKey:clear":e[2]||(e[2]=f=>c.clear()),"onKey:delete":e[3]||(e[3]=f=>c.removeDigit())})]),_:1})]),_:1},8,["model-value"])])}]]);$.add(ce,de,he,ge);const _e={name:"ChargePointsView",components:{ChargePointCard:pe,SimpleChargePointCard:Ve,ExtendedNumberInput:X,ManualSocInput:Ie,FontAwesomeIcon:A},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:B(),modalChargeModeSettingVisible:!1,modalVehicleSelectVisible:!1,modalChargePointSettingsVisible:!1,modalChargePointId:0,modalVehicleId:0,modalActiveTab:"tab-general",modalManualSocInputVisible:!1,simpleChargeModes:["instant_charging","pv_charging","stop"]}),computed:{vehicleList(){let l=this.mqttStore.getVehicleList;var e=[];return Object.keys(l).forEach(n=>{let p=parseInt(n.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""));e.push({id:p,name:l[n]})}),e},filteredChargeModes(){return this.mqttStore.getSimpleChargePointView?this.mqttStore.chargeModeList().filter(l=>this.simpleChargeModes.includes(l.id)):this.mqttStore.chargeModeList()}},watch:{changesLocked(l,e){e!==!0&&l===!0&&(this.modalChargeModeSettingVisible=!1,this.modalVehicleSelectVisible=!1,this.modalChargePointSettingsVisible=!1,this.modalManualSocInputVisible=!1)}},methods:{toggleChargePointSettings(l){switch(this.mqttStore.getChargePointConnectedVehicleChargeMode(l).mode){case"pv_charging":this.modalActiveTab="tab-pv-charging";break;case"scheduled_charging":this.modalActiveTab="tab-scheduled-charging";break;default:this.modalActiveTab="tab-instant-charging"}this.modalChargePointId=l,this.modalChargePointSettingsVisible=!0},handleChargeModeClick(l){this.changesLocked||(this.modalChargePointId=l,this.modalChargeModeSettingVisible=!0)},handleVehicleClick(l){this.changesLocked||(this.modalChargePointId=l,this.modalVehicleSelectVisible=!0)},handleSocClick(l){let e=this.mqttStore.getChargePointConnectedVehicleId(l);if(this.mqttStore.getVehicleSocIsManual(e))return this.modalVehicleId=e,void(this.modalManualSocInputVisible=!0);this.$root.sendTopicToBroker(`openWB/set/vehicle/${e}/get/force_soc_update`,1)},setChargePointConnectedVehicle(l,e){e.id!=this.mqttStore.getChargePointConnectedVehicleId(l)&&this.$root.sendTopicToBroker(`openWB/chargepoint/${l}/config/ev`,e.id),this.modalVehicleSelectVisible&&(this.modalVehicleSelectVisible=!1)},setChargePointConnectedVehicleChargeMode(l,e){if(e.id!=this.mqttStore.getChargePointConnectedVehicleChargeMode(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/selected`,e)}},setChargePointConnectedVehiclePriority(l,e){if(e!=this.mqttStore.getChargePointConnectedVehiclePriority(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/prio`,e)}},setChargePointConnectedVehicleTimeChargingActive(l,e){if(e!=this.mqttStore.getChargePointConnectedVehicleTimeChargingActive(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/time_charging/active`,e)}},setChargePointConnectedVehicleInstantChargingCurrent(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingCurrent(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/current`,parseFloat(e))}},setChargePointConnectedVehicleInstantChargingLimit(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).selected){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/selected`,e)}},setChargePointConnectedVehicleInstantChargingLimitSoc(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).soc){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/soc`,parseInt(e))}},setChargePointConnectedVehicleInstantChargingLimitAmount(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).amount){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/amount`,e)}},setChargePointConnectedVehiclePvChargingFeedInLimit(l,e){if(e!=this.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/pv_charging/feed_in_limit`,e)}},setChargePointConnectedVehiclePvChargingMinCurrent(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinCurrent(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_current`,p)}},setChargePointConnectedVehiclePvChargingMinSoc(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinSoc(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_soc`,p)}},setChargePointConnectedVehiclePvChargingMinSocCurrent(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinSocCurrent(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_soc_current`,p)}},setChargePointConnectedVehiclePvChargingMaxSoc(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMaxSoc(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/max_soc`,p)}},setChargePointConnectedVehicleScheduledChargingPlanActive(l,e){this.$root.sendTopicToBroker(`${l}/active`,e)},setChargePointConnectedVehicleTimeChargingPlanActive(l,e){this.$root.sendTopicToBroker(`${l}/active`,e)}}},be={class:"charge-points-card-wrapper"},ke={key:0},ve={key:1},qe={key:2},ye={key:3},we={key:4},Me={key:0},Te={key:1},xe={key:0},Le={key:1},Be={key:2},$e={key:3},Ae={key:4},De=x(_e,[["render",function(l,e,n,p,t,c){const P=h("i-button"),V=h("i-button-group"),C=h("i-form-group"),g=h("i-form-label"),I=h("i-form"),k=h("i-modal"),_=h("i-tab-title"),f=h("extended-number-input"),y=h("i-tab"),b=h("font-awesome-icon"),v=h("i-alert"),w=h("i-row"),N=h("i-container"),Y=h("i-tabs"),ee=h("manual-soc-input");return d(),S(M,null,[ue("div",be,[(d(!0),S(M,null,L(t.mqttStore.getChargePointIds,o=>(d(),u(me(t.mqttStore.getSimpleChargePointView?"SimpleChargePointCard":"ChargePointCard"),{key:o,"charge-point-id":o,"changes-locked":n.changesLocked,onVehicleClick:c.handleVehicleClick,onSocClick:c.handleSocClick,onChargeModeClick:c.handleChargeModeClick,onToggleChargePointSettings:c.toggleChargePointSettings,onSetChargePointConnectedVehicleChargeMode:c.setChargePointConnectedVehicleChargeMode},null,40,["charge-point-id","changes-locked","onVehicleClick","onSocClick","onChargeModeClick","onToggleChargePointSettings","onSetChargePointConnectedVehicleChargeMode"]))),128))]),a(k,{modelValue:t.modalChargeModeSettingVisible,"onUpdate:modelValue":e[2]||(e[2]=o=>t.modalChargeModeSettingVisible=o),size:"lg"},{header:i(()=>[r(' Lademodus für "'+s(t.mqttStore.getChargePointConnectedVehicleName(t.modalChargePointId))+'" auswählen ',1)]),default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,{block:"",vertical:""},{default:i(()=>[(d(!0),S(M,null,L(c.filteredChargeModes,o=>(d(),u(P,{key:o.id,size:"lg",class:"large-button",outline:"",color:o.class!="dark"?o.class:"light",active:t.mqttStore.getChargePointConnectedVehicleChargeMode(t.modalChargePointId)!=null&&o.id==t.mqttStore.getChargePointConnectedVehicleChargeMode(t.modalChargePointId).mode,onClick:T=>c.setChargePointConnectedVehicleChargeMode(t.modalChargePointId,o.id)},{default:i(()=>[r(s(o.label),1)]),_:2},1032,["color","active","onClick"]))),128))]),_:1})]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[21]||(e[21]=[r("Priorität")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{size:"lg",class:"large-button",color:t.mqttStore.getChargePointConnectedVehiclePriority(t.modalChargePointId)!==!0?"danger":"",onClick:e[0]||(e[0]=o=>c.setChargePointConnectedVehiclePriority(t.modalChargePointId,!1))},{default:i(()=>e[22]||(e[22]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehiclePriority(t.modalChargePointId)===!0?"success":"",onClick:e[1]||(e[1]=o=>c.setChargePointConnectedVehiclePriority(t.modalChargePointId,!0))},{default:i(()=>e[23]||(e[23]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(k,{modelValue:t.modalVehicleSelectVisible,"onUpdate:modelValue":e[3]||(e[3]=o=>t.modalVehicleSelectVisible=o),class:"modal-vehicle-select",size:"lg"},{header:i(()=>[r(' Fahrzeug an "'+s(t.mqttStore.getChargePointName(t.modalChargePointId))+'" auswählen ',1)]),default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,{vertical:"",block:""},{default:i(()=>[(d(!0),S(M,null,L(c.vehicleList,o=>(d(),u(P,{key:o.id,size:"lg",class:"large-button",active:t.mqttStore.getChargePointConnectedVehicleId(t.modalChargePointId)==o.id,color:t.mqttStore.getChargePointConnectedVehicleId(t.modalChargePointId)==o.id?"primary":"",onClick:T=>c.setChargePointConnectedVehicle(t.modalChargePointId,o)},{default:i(()=>[r(s(o.name),1)]),_:2},1032,["active","color","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(k,{modelValue:t.modalChargePointSettingsVisible,"onUpdate:modelValue":e[19]||(e[19]=o=>t.modalChargePointSettingsVisible=o),size:"lg"},{header:i(()=>[r(' Einstellungen für Fahrzeug "'+s(t.mqttStore.getChargePointConnectedVehicleName(t.modalChargePointId))+'" ',1)]),default:i(()=>[a(Y,{modelValue:t.modalActiveTab,"onUpdate:modelValue":e[18]||(e[18]=o=>t.modalActiveTab=o),stretch:""},{header:i(()=>[a(_,{for:"tab-instant-charging"},{default:i(()=>e[24]||(e[24]=[r(" Sofort ")])),_:1}),a(_,{for:"tab-pv-charging"},{default:i(()=>e[25]||(e[25]=[r(" PV ")])),_:1}),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(_,{key:0,for:"tab-scheduled-charging"},{default:i(()=>e[26]||(e[26]=[r(" Zielladen ")])),_:1})),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(_,{key:1,for:"tab-time-charging"},{default:i(()=>e[27]||(e[27]=[r(" Zeitladen ")])),_:1}))]),default:i(()=>[a(y,{name:"tab-instant-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[28]||(e[28]=[r("Stromstärke")])),_:1}),a(f,{unit:"A",min:6,max:32,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingCurrent(t.modalChargePointId),"onUpdate:modelValue":e[4]||(e[4]=o=>c.setChargePointConnectedVehicleInstantChargingCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[29]||(e[29]=[r("Begrenzung")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="none"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="none",onClick:e[5]||(e[5]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"none"))},{default:i(()=>e[30]||(e[30]=[r(" Keine ")])),_:1},8,["color","active"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc",onClick:e[6]||(e[6]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"soc"))},{default:i(()=>e[31]||(e[31]=[r(" EV-SoC ")])),_:1},8,["color","active"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount",onClick:e[7]||(e[7]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"amount"))},{default:i(()=>e[32]||(e[32]=[r(" Energie ")])),_:1},8,["color","active"])]),_:1})]),_:1}),t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc"?(d(),u(C,{key:0},{default:i(()=>[a(g,null,{default:i(()=>e[33]||(e[33]=[r("Max. SoC")])),_:1}),a(f,{unit:"%",min:5,max:100,step:5,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).soc,"onUpdate:modelValue":e[8]||(e[8]=o=>c.setChargePointConnectedVehicleInstantChargingLimitSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1})):m("",!0),t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount"?(d(),u(C,{key:1},{default:i(()=>[a(g,null,{default:i(()=>e[34]||(e[34]=[r("Max. Energie")])),_:1}),a(f,{unit:"kWh",min:1,max:100,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).amount/1e3,"onUpdate:modelValue":e[9]||(e[9]=o=>c.setChargePointConnectedVehicleInstantChargingLimitAmount(t.modalChargePointId,1e3*o))},null,8,["model-value"])]),_:1})):m("",!0)]),_:1})]),_:1}),a(y,{name:"tab-pv-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[35]||(e[35]=[r("Einspeisegrenze beachten")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId)!==!0?"danger":"",onClick:e[10]||(e[10]=o=>c.setChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId,!1))},{default:i(()=>e[36]||(e[36]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId)===!0?"success":"",onClick:e[11]||(e[11]=o=>c.setChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId,!0))},{default:i(()=>e[37]||(e[37]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[38]||(e[38]=[r("Minimaler Dauerstrom")])),_:1}),a(f,{unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinCurrent(t.modalChargePointId),"onUpdate:modelValue":e[12]||(e[12]=o=>c.setChargePointConnectedVehiclePvChargingMinCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[39]||(e[39]=[r("Mindest-SoC")])),_:1}),a(f,{unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinSoc(t.modalChargePointId),"onUpdate:modelValue":e[13]||(e[13]=o=>c.setChargePointConnectedVehiclePvChargingMinSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[40]||(e[40]=[r("Mindest-SoC Strom")])),_:1}),a(f,{min:6,max:32,unit:"A","model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinSocCurrent(t.modalChargePointId),"onUpdate:modelValue":e[14]||(e[14]=o=>c.setChargePointConnectedVehiclePvChargingMinSocCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[41]||(e[41]=[r("SoC-Limit")])),_:1}),a(f,{unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMaxSoc(t.modalChargePointId),"onUpdate:modelValue":e[15]||(e[15]=o=>c.setChargePointConnectedVehiclePvChargingMaxSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1})]),_:1})]),_:1}),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(y,{key:0,name:"tab-scheduled-charging"},{default:i(()=>[Object.keys(t.mqttStore.getChargePointConnectedVehicleScheduledChargingPlans(t.modalChargePointId)).length===0?(d(),u(v,{key:0},{icon:i(()=>[a(b,{"fixed-width":"",icon:["fas","fa-info-circle"]})]),default:i(()=>[e[42]||(e[42]=r(" Es wurden noch keine Zeitpläne für das Zielladen eingerichtet. "))]),_:1})):(d(),u(I,{key:1},{default:i(()=>[(d(!0),S(M,null,L(t.mqttStore.getChargePointConnectedVehicleScheduledChargingPlans(t.modalChargePointId),(o,T)=>(d(),u(C,{key:T},{default:i(()=>[a(N,null,{default:i(()=>[a(w,null,{default:i(()=>[a(g,null,{default:i(()=>[r(s(o.name),1)]),_:2},1024)]),_:2},1024),a(w,null,{default:i(()=>[a(P,{size:"lg",block:"",color:o.active?"success":"danger",onClick:te=>c.setChargePointConnectedVehicleScheduledChargingPlanActive(T,!o.active)},{default:i(()=>[o.frequency.selected=="once"?(d(),S("span",ke,[a(b,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+s(t.mqttStore.formatDate(o.frequency.once)),1)])):m("",!0),o.frequency.selected=="daily"?(d(),S("span",ve,[a(b,{"fixed-width":"",icon:["fas","calendar-week"]}),e[43]||(e[43]=r(" täglich "))])):m("",!0),o.frequency.selected=="weekly"?(d(),S("span",qe,[a(b,{"fixed-width":"",icon:["fas","calendar-alt"]}),r(" "+s(t.mqttStore.formatWeeklyScheduleDays(o.frequency.weekly)),1)])):m("",!0),a(b,{"fixed-width":"",icon:["fas","clock"]}),r(" "+s(o.time)+" ",1),o.limit.selected=="soc"?(d(),S("span",ye,[a(b,{"fixed-width":"",icon:["fas","car-battery"]}),r(" "+s(o.limit.soc_scheduled)+" % ",1)])):m("",!0),o.limit.selected=="amount"?(d(),S("span",we,[a(b,{"fixed-width":"",icon:["fas","bolt"]}),r(" "+s(o.limit.amount/1e3)+" kWh ",1)])):m("",!0)]),_:2},1032,["color","onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}))]),_:1})),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(y,{key:1,name:"tab-time-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[44]||(e[44]=[r("Zeitladen aktivieren")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)!==!0?"danger":"",onClick:e[16]||(e[16]=o=>c.setChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId,!1))},{default:i(()=>e[45]||(e[45]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)===!0?"success":"",onClick:e[17]||(e[17]=o=>c.setChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId,!0))},{default:i(()=>e[46]||(e[46]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1}),t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)===!0?(d(),S("div",Me,[Object.keys(t.mqttStore.getChargePointConnectedVehicleTimeChargingPlans(t.modalChargePointId)).length===0?(d(),u(v,{key:0,color:"warning",class:"_margin-top:2"},{icon:i(()=>[a(b,{"fixed-width":"",icon:["fas","fa-circle-info"]})]),default:i(()=>[e[47]||(e[47]=r(" Es wurden noch keine Zeitpläne für das Zeitladen eingerichtet. "))]),_:1})):(d(),S("div",Te,[(d(!0),S(M,null,L(t.mqttStore.getChargePointConnectedVehicleTimeChargingPlans(t.modalChargePointId),(o,T)=>(d(),u(C,{key:T},{default:i(()=>[a(N,null,{default:i(()=>[a(w,null,{default:i(()=>[a(g,null,{default:i(()=>[r(s(o.name),1)]),_:2},1024)]),_:2},1024),a(w,null,{default:i(()=>[a(P,{size:"lg",block:"",color:o.active?"success":"danger",onClick:te=>c.setChargePointConnectedVehicleTimeChargingPlanActive(T,!o.active)},{default:i(()=>[o.frequency.selected=="once"?(d(),S("span",xe,[a(b,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+s(t.mqttStore.formatDateRange(o.frequency.once)),1)])):m("",!0),o.frequency.selected=="daily"?(d(),S("span",Le,[a(b,{"fixed-width":"",icon:["fas","calendar-week"]}),e[48]||(e[48]=r(" täglich "))])):m("",!0),o.frequency.selected=="weekly"?(d(),S("span",Be,[a(b,{"fixed-width":"",icon:["fas","calendar-alt"]}),r(" "+s(t.mqttStore.formatWeeklyScheduleDays(o.frequency.weekly)),1)])):m("",!0),a(b,{"fixed-width":"",icon:["fas","clock"]}),r(" "+s(o.time.join("-"))+" ",1),o.limit.selected=="soc"?(d(),S("span",$e,[a(b,{"fixed-width":"",icon:["fas","car-battery"]}),r(" "+s(o.limit.soc)+" % ",1)])):m("",!0),o.limit.selected=="amount"?(d(),S("span",Ae,[a(b,{"fixed-width":"",icon:["fas","bolt"]}),r(" "+s(o.limit.amount/1e3)+" kWh ",1)])):m("",!0)]),_:2},1032,["color","onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]))])):m("",!0)]),_:1})]),_:1}))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),a(ee,{modelValue:t.modalManualSocInputVisible,"onUpdate:modelValue":e[20]||(e[20]=o=>t.modalManualSocInputVisible=o),"vehicle-id":t.modalVehicleId},null,8,["modelValue","vehicle-id"])],64)}],["__scopeId","data-v-76699ceb"]]);export{De as default}; +import{u as B,C as ae,N as ie}from"./index-BSB1CRIg.js";import{D as F}from"./DashBoardCard-Ds7Ht92x.js";import{S as le,C as z}from"./ChargePointPlugBadge-CV-eneFK.js";import{l as $,b as ne,c as oe,F as A,j as re,k as W,m as E,e as U,n as D,o as Z,p as R,q as j,r as K,s as O,t as J,u as G,v as ce,w as de,x as he,y as ge}from"./vendor-fortawesome--vLnJNbG.js";import{_ as x}from"./vendor-inkline-CWAydWlY.js";import{q as h,o as d,l as u,n as i,s as a,y as q,e as S,k as r,F as M,x as s,i as m,A as L,I as se,j as ue,p as me}from"./vendor-DIlzVmqi.js";$.add(ne,oe);const H=x({name:"ChargePointLockButton",components:{FontAwesomeIcon:A},props:{chargePointId:{required:!0,type:Number},changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:B()}),computed:{locked(){return this.mqttStore.getChargePointManualLock(this.chargePointId)},stateIcon(){return this.locked?["fas","fa-lock"]:["fas","fa-lock-open"]},stateClass(){return this.locked?["_color:danger"]:"_color:success"}},methods:{toggleChargePointManualLock(){this.changesLocked||this.$root.sendTopicToBroker(`openWB/chargepoint/${this.chargePointId}/set/manual_lock`,!this.mqttStore.getValueBool(`openWB/chargepoint/${this.chargePointId}/set/manual_lock`))}}},[["render",function(l,e,n,p,t,c){const P=h("font-awesome-icon"),V=h("i-button");return d(),u(V,{size:"lg",disabled:n.changesLocked,outline:n.changesLocked},{default:i(()=>[a(P,{"fixed-width":"",icon:c.stateIcon,class:q(c.stateClass),onClick:e[0]||(e[0]=C=>c.toggleChargePointManualLock())},null,8,["icon","class"])]),_:1},8,["disabled","outline"])}]]);$.add(re);const Q=x({name:"ChargePointCodeButton",components:{FontAwesomeIcon:A,CodeInputModal:ae},props:{chargePointId:{type:Number,required:!0}},data:()=>({mqttStore:B(),modalIdTagEntryVisible:!1,modalIdTagEntryColor:"warning",code:""}),computed:{tagState(){return this.mqttStore.getChargepointTagState(this.chargePointId)},tagButtonColor(){switch(this.tagState){case 2:return"success";case 1:return"warning";default:return""}},tagClass(){switch(this.tagState){case 2:return"_color:success-80";case 1:return"_color:warning-80";default:return""}}},methods:{toggleIdTagModal(){this.modalIdTagEntryVisible=!this.modalIdTagEntryVisible},sendIdTag(l){this.$root.sendTopicToBroker(`openWB/chargepoint/${this.chargePointId}/get/rfid`,l),this.modalIdTagEntryVisible=!1}}},[["render",function(l,e,n,p,t,c){const P=h("FontAwesomeIcon"),V=h("i-button"),C=h("CodeInputModal");return d(),S(M,null,[a(V,{class:"_margin-right:1",size:"lg",color:c.tagButtonColor,disabled:c.tagState==2,onClick:e[0]||(e[0]=g=>c.toggleIdTagModal())},{default:i(()=>[a(P,{"fixed-width":"",icon:["fas","fa-calculator"],class:q(c.tagClass)},null,8,["class"])]),_:1},8,["color","disabled"]),a(C,{ref:"lockInput",modelValue:t.modalIdTagEntryVisible,"onUpdate:modelValue":e[1]||(e[1]=g=>t.modalIdTagEntryVisible=g),"min-length":4,"max-length":20,"onUpdate:inputValue":c.sendIdTag},{header:i(()=>e[2]||(e[2]=[r(" Bitte einen ID-Tag eingeben. ")])),_:1},8,["modelValue","onUpdate:inputValue"])],64)}]]);$.add(W,E,U,D,Z,R,j,K,O,J,G);const Ce={name:"ChargePointCard",components:{DashBoardCard:F,SparkLine:le,ChargePointPlugBadge:z,ChargePointLockButton:H,ChargePointCodeButton:Q,FontAwesomeIcon:A},props:{chargePointId:{type:Number,required:!0},changesLocked:{type:Boolean,required:!0}},emits:["vehicle-click","soc-click","charge-mode-click","toggle-charge-point-settings"],data:()=>({mqttStore:B()}),methods:{handleVehicleClick(l){this.$emit("vehicle-click",l)},handleSocClick(l){this.$emit("soc-click",l)},handleChargeModeClick(l){this.$emit("charge-mode-click",l)},toggleChargePointSettings(l){this.$emit("toggle-charge-point-settings",l)}}},Pe={key:0},pe=x(Ce,[["render",function(l,e,n,p,t,c){const P=h("charge-point-plug-badge"),V=h("charge-point-code-button"),C=h("charge-point-lock-button"),g=h("i-column"),I=h("i-row"),k=h("spark-line"),_=h("font-awesome-icon"),f=h("i-badge"),y=h("i-button"),b=h("i-container"),v=h("dash-board-card");return d(),u(v,{color:"primary"},{headerLeft:i(()=>[r(s(t.mqttStore.getChargePointName(n.chargePointId)),1)]),headerRight:i(()=>[a(P,{"charge-point-id":[n.chargePointId]},null,8,["charge-point-id"])]),default:i(()=>[a(b,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[t.mqttStore.getRfidEnabled?(d(),u(V,{key:0,"charge-point-id":n.chargePointId},null,8,["charge-point-id"])):m("",!0),a(C,{"charge-point-id":n.chargePointId,"changes-locked":n.changesLocked},null,8,["charge-point-id","changes-locked"])]),_:1}),a(g,{class:"_text-align:right _padding-left:0"},{default:i(()=>[r(s(t.mqttStore.getChargePointPower(n.chargePointId))+" "+s(t.mqttStore.getChargePointPhasesInUse(n.chargePointId))+" "+s(t.mqttStore.getChargePointSetCurrent(n.chargePointId)),1)]),_:1})]),_:1}),a(I,{class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0"},{default:i(()=>[a(k,{color:"var(--color--primary)",data:t.mqttStore.getChargePointPowerChartData(n.chargePointId)},null,8,["data"])]),_:1})]),_:1})]),_:1}),a(g,{md:"6"},{default:i(()=>[a(I,{class:"_display:flex"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0 _flex-grow:1"},{default:i(()=>[a(f,{size:"lg",class:q(["_width:100%",n.changesLocked?"":"clickable"]),onClick:e[0]||(e[0]=w=>c.handleVehicleClick(n.chargePointId))},{default:i(()=>[a(_,{"fixed-width":"",icon:["fas","fa-car"]}),r(" "+s(t.mqttStore.getChargePointConnectedVehicleName(n.chargePointId)),1)]),_:1},8,["class"])]),_:1}),t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))||t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(g,{key:0,class:"_flex-grow:0 _padding-right:0 _padding-left:1"},{default:i(()=>[a(y,{size:"sm",disabled:n.changesLocked,class:q(n.changesLocked?"":"clickable"),onClick:e[1]||(e[1]=w=>c.handleSocClick(n.chargePointId))},{default:i(()=>[t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?(d(),S("span",Pe,[a(_,{"fixed-width":"",icon:t.mqttStore.getVehicleSocIsManual(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?["fas","fa-edit"]:["fas","fa-car-battery"]},null,8,["icon"]),r(" "+s(t.mqttStore.getChargePointConnectedVehicleSoc(n.chargePointId).soc)+"% ",1)])):m("",!0),t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(_,{key:1,"fixed-width":"",icon:t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?["fas","times-circle"]:["fas","exclamation-triangle"]:[],class:q(t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?"_color:danger":"_color:warning":"")},null,8,["icon","class"])):m("",!0)]),_:1},8,["disabled","class"])]),_:1})):m("",!0)]),_:1}),a(I,{class:"_padding-top:1 _display:flex"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0 _flex-grow:1"},{default:i(()=>[a(f,{size:"lg",class:q(["_width:100%",n.changesLocked?"":"clickable"]),color:t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).class,onClick:e[2]||(e[2]=w=>c.handleChargeModeClick(n.chargePointId))},{default:i(()=>[r(s(t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).label)+" ",1),a(_,{"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?["fas","fa-star"]:["far","fa-star"],class:q(t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?"_color:warning":"")},null,8,["icon","class"])]),_:1},8,["class","color"])]),_:1}),t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(n.chargePointId)?(d(),u(g,{key:0,class:"_flex-grow:0 _padding-right:0 _padding-left:1"},{default:i(()=>[a(f,{size:"lg"},{default:i(()=>[t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(n.chargePointId)?(d(),u(_,{key:0,"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehicleTimeChargingRunning(n.chargePointId)?["fas","fa-clock"]:["far","fa-clock"],class:q(t.mqttStore.getChargePointConnectedVehicleTimeChargingRunning(n.chargePointId)?"_color:success":"")},null,8,["icon","class"])):m("",!0)]),_:1})]),_:1})):m("",!0)]),_:1}),n.changesLocked?m("",!0):(d(),u(I,{key:0,class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[a(y,{block:"",onClick:e[3]||(e[3]=w=>c.toggleChargePointSettings(n.chargePointId))},{default:i(()=>[a(_,{"fixed-width":"",icon:["fas","fa-wrench"]})]),_:1})]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-3c6489c4"]]);$.add(W,E,U,D,Z,R,j,K,O,J,G);const fe={name:"ChargePointCard",components:{DashBoardCard:F,ChargePointPlugBadge:z,ChargePointLockButton:H,ChargePointCodeButton:Q,FontAwesomeIcon:A},props:{chargePointId:{type:Number,required:!0},changesLocked:{type:Boolean,required:!0}},emits:["vehicle-click","soc-click","charge-mode-click","toggle-charge-point-settings","set-charge-point-connected-vehicle-charge-mode"],data:()=>({mqttStore:B(),simpleChargeModes:["instant_charging","pv_charging","stop"]}),computed:{filteredChargeModes(){return this.mqttStore.getSimpleChargePointView?this.mqttStore.chargeModeList().filter(l=>this.simpleChargeModes.includes(l.id)):this.mqttStore.chargeModeList()}},methods:{handleVehicleClick(l){this.$emit("vehicle-click",l)},handleSocClick(l){this.$emit("soc-click",l)},handleChargeModeClick(l){this.$emit("charge-mode-click",l)},toggleChargePointSettings(l){this.$emit("toggle-charge-point-settings",l)},setChargePointConnectedVehicleChargeMode(l,e){this.$emit("set-charge-point-connected-vehicle-charge-mode",l,e)}}},Se={key:0},Ve=x(fe,[["render",function(l,e,n,p,t,c){const P=h("charge-point-plug-badge"),V=h("charge-point-code-button"),C=h("charge-point-lock-button"),g=h("i-column"),I=h("i-row"),k=h("font-awesome-icon"),_=h("i-button"),f=h("i-button-group"),y=h("i-container"),b=h("dash-board-card");return d(),u(b,{color:"primary"},{headerLeft:i(()=>[r(s(t.mqttStore.getChargePointName(n.chargePointId)),1)]),headerRight:i(()=>[a(P,{"charge-point-id":[n.chargePointId]},null,8,["charge-point-id"])]),default:i(()=>[a(y,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,null,{default:i(()=>[a(I,null,{default:i(()=>[a(g,{class:"_padding-left:0 _padding-right:0"},{default:i(()=>[t.mqttStore.getRfidEnabled?(d(),u(V,{key:0,"charge-point-id":n.chargePointId},null,8,["charge-point-id"])):m("",!0),a(C,{"charge-point-id":n.chargePointId,"changes-locked":n.changesLocked},null,8,["charge-point-id","changes-locked"])]),_:1}),a(g,{class:"_text-align:right _padding-left:0"},{default:i(()=>[r(s(t.mqttStore.getChargePointPower(n.chargePointId))+" "+s(t.mqttStore.getChargePointPhasesInUse(n.chargePointId))+" "+s(t.mqttStore.getChargePointSetCurrent(n.chargePointId)),1)]),_:1})]),_:1}),a(I,{class:"_padding-top:1"},{default:i(()=>[a(g,{class:"_padding-left:0 button-group-wrapper"},{default:i(()=>[a(f,{class:"button-group main-button-group"},{default:i(()=>[a(_,{class:q(["large-button _flex-grow:1",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[0]||(e[0]=v=>c.handleVehicleClick(n.chargePointId))},{default:i(()=>[a(k,{"fixed-width":"",icon:["fas","fa-car"]}),r(" "+s(t.mqttStore.getChargePointConnectedVehicleName(n.chargePointId))+" ",1),a(k,{class:q(["_padding-left:1",t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?"_color:warning":""]),"fixed-width":"",icon:t.mqttStore.getChargePointConnectedVehiclePriority(n.chargePointId)?["fas","fa-star"]:["far","fa-star"]},null,8,["icon","class"])]),_:1},8,["class","disabled"]),t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))||t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(_,{key:0,class:q(["large-button _flex-grow:0",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[1]||(e[1]=v=>c.handleSocClick(n.chargePointId))},{default:i(()=>[t.mqttStore.getVehicleSocConfigured(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?(d(),S("span",Se,[a(k,{"fixed-width":"",icon:t.mqttStore.getVehicleSocIsManual(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))?["fas","fa-edit"]:["fas","fa-car-battery"]},null,8,["icon"]),r(" "+s(t.mqttStore.getChargePointConnectedVehicleSoc(n.chargePointId).soc)+"% ",1)])):m("",!0),t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))!=0?(d(),u(k,{key:1,"fixed-width":"",icon:t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?["fas","times-circle"]:["fas","exclamation-triangle"]:[],class:q(t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>0?t.mqttStore.getVehicleFaultState(t.mqttStore.getChargePointConnectedVehicleId(n.chargePointId))>1?"_color:danger":"_color:warning":"")},null,8,["icon","class"])):m("",!0)]),_:1},8,["disabled","class"])):m("",!0),a(_,{class:q(["large-button _flex-grow:0",n.changesLocked?"":"clickable"]),disabled:n.changesLocked,onClick:e[2]||(e[2]=v=>c.toggleChargePointSettings(n.chargePointId))},{default:i(()=>[a(k,{"fixed-width":"",icon:["fas","fa-wrench"]})]),_:1},8,["class","disabled"])]),_:1}),a(f,{class:"button-group _margin-top:1",disabled:n.changesLocked},{default:i(()=>[(d(!0),S(M,null,L(c.filteredChargeModes,v=>(d(),u(_,{key:v.id,outline:"",class:q(["large-button _flex-grow:1",n.changesLocked?"":"clickable"]),color:v.class!="dark"?v.class:"light",active:t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId)!=null&&v.id==t.mqttStore.getChargePointConnectedVehicleChargeMode(n.chargePointId).mode,onClick:w=>c.setChargePointConnectedVehicleChargeMode(n.chargePointId,v.id)},{default:i(()=>[r(s(v.label),1)]),_:2},1032,["class","color","active","onClick"]))),128))]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-5e676b1f"]]),X=x({name:"ExtendedNumberInput",inheritAttrs:!1,props:{modelValue:{type:Number,required:!0,default:NaN},unit:{type:String,default:""},min:{type:Number,default:0},max:{type:Number,default:100},step:{type:Number,default:1},labels:{type:Array,default:void 0}},emits:["update:modelValue"],data(){return{minimum:this.labels?0:this.min,maximum:this.labels?this.labels.length-1:this.max,stepSize:this.labels?1:this.step}},computed:{label(){var l;return this.labels&&this.inputValue!=null?this.inputValuec.label=C),plaintext:"",class:"_text-align:right",size:"lg"},{prepend:i(()=>[a(P,{onClick:c.decrement},{default:i(()=>e[1]||(e[1]=[r(" - ")])),_:1},8,["onClick"])]),suffix:i(()=>[r(s(n.unit),1)]),append:i(()=>[a(P,{onClick:c.increment},{default:i(()=>e[2]||(e[2]=[r(" + ")])),_:1},8,["onClick"])]),_:1},8,["modelValue"])}]]),Ie=x({name:"ManualSocInput",components:{ExtendedNumberInput:X,NumberPad:ie},props:{modelValue:{required:!0,type:Boolean,default:!1},vehicleId:{required:!0,type:Number,default:0}},emits:["update:modelValue"],data:()=>({mqttStore:B(),newSoc:0}),methods:{enter(l){let e=10*this.newSoc+parseInt(l);e>=0&&e<=100&&(this.newSoc=e)},removeDigit(){this.newSoc=Math.trunc(this.newSoc/10)},clear(){this.newSoc=0},close(){this.$emit("update:modelValue",!1),this.newSoc=0},updateManualSoc(){this.$root.sendTopicToBroker(`openWB/vehicle/${this.vehicleId}/soc_module/calculated_soc_state/manual_soc`,this.newSoc),this.close()}}},[["render",function(l,e,n,p,t,c){const P=h("extended-number-input"),V=h("i-column"),C=h("i-row"),g=h("NumberPad"),I=h("i-container"),k=h("i-button"),_=h("i-modal");return d(),u(se,{to:"body"},[a(_,{"model-value":n.modelValue,size:"sm","onUpdate:modelValue":e[6]||(e[6]=f=>l.$emit("update:modelValue",f))},{header:i(()=>[r(' SoC für Fahrzeug "'+s(t.mqttStore.getVehicleName(n.vehicleId))+'" ',1)]),footer:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,null,{default:i(()=>[a(k,{color:"danger",onClick:e[4]||(e[4]=f=>c.close())},{default:i(()=>e[7]||(e[7]=[r(" Zurück ")])),_:1})]),_:1}),a(V,{class:"_text-align:right"},{default:i(()=>[a(k,{color:"success",onClick:e[5]||(e[5]=f=>c.updateManualSoc())},{default:i(()=>e[8]||(e[8]=[r(" OK ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:i(()=>[a(I,null,{default:i(()=>[a(C,{center:"",class:"_padding-bottom:1"},{default:i(()=>[a(V,null,{default:i(()=>[a(P,{modelValue:t.newSoc,"onUpdate:modelValue":e[0]||(e[0]=f=>t.newSoc=f),unit:"%",min:0,max:100,step:1,size:"lg",class:"_text-align:center"},null,8,["modelValue"])]),_:1})]),_:1}),a(g,{"onKey:digit":e[1]||(e[1]=f=>c.enter(f)),"onKey:clear":e[2]||(e[2]=f=>c.clear()),"onKey:delete":e[3]||(e[3]=f=>c.removeDigit())})]),_:1})]),_:1},8,["model-value"])])}]]);$.add(ce,de,he,ge);const _e={name:"ChargePointsView",components:{ChargePointCard:pe,SimpleChargePointCard:Ve,ExtendedNumberInput:X,ManualSocInput:Ie,FontAwesomeIcon:A},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:B(),modalChargeModeSettingVisible:!1,modalVehicleSelectVisible:!1,modalChargePointSettingsVisible:!1,modalChargePointId:0,modalVehicleId:0,modalActiveTab:"tab-general",modalManualSocInputVisible:!1,simpleChargeModes:["instant_charging","pv_charging","stop"]}),computed:{vehicleList(){let l=this.mqttStore.getVehicleList;var e=[];return Object.keys(l).forEach(n=>{let p=parseInt(n.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""));e.push({id:p,name:l[n]})}),e},filteredChargeModes(){return this.mqttStore.getSimpleChargePointView?this.mqttStore.chargeModeList().filter(l=>this.simpleChargeModes.includes(l.id)):this.mqttStore.chargeModeList()}},watch:{changesLocked(l,e){e!==!0&&l===!0&&(this.modalChargeModeSettingVisible=!1,this.modalVehicleSelectVisible=!1,this.modalChargePointSettingsVisible=!1,this.modalManualSocInputVisible=!1)}},methods:{toggleChargePointSettings(l){switch(this.mqttStore.getChargePointConnectedVehicleChargeMode(l).mode){case"pv_charging":this.modalActiveTab="tab-pv-charging";break;case"scheduled_charging":this.modalActiveTab="tab-scheduled-charging";break;default:this.modalActiveTab="tab-instant-charging"}this.modalChargePointId=l,this.modalChargePointSettingsVisible=!0},handleChargeModeClick(l){this.changesLocked||(this.modalChargePointId=l,this.modalChargeModeSettingVisible=!0)},handleVehicleClick(l){this.changesLocked||(this.modalChargePointId=l,this.modalVehicleSelectVisible=!0)},handleSocClick(l){let e=this.mqttStore.getChargePointConnectedVehicleId(l);if(this.mqttStore.getVehicleSocIsManual(e))return this.modalVehicleId=e,void(this.modalManualSocInputVisible=!0);this.$root.sendTopicToBroker(`openWB/set/vehicle/${e}/get/force_soc_update`,1)},setChargePointConnectedVehicle(l,e){e.id!=this.mqttStore.getChargePointConnectedVehicleId(l)&&this.$root.sendTopicToBroker(`openWB/chargepoint/${l}/config/ev`,e.id),this.modalVehicleSelectVisible&&(this.modalVehicleSelectVisible=!1)},setChargePointConnectedVehicleChargeMode(l,e){if(e.id!=this.mqttStore.getChargePointConnectedVehicleChargeMode(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/selected`,e)}},setChargePointConnectedVehiclePriority(l,e){if(e!=this.mqttStore.getChargePointConnectedVehiclePriority(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/prio`,e)}},setChargePointConnectedVehicleTimeChargingActive(l,e){if(e!=this.mqttStore.getChargePointConnectedVehicleTimeChargingActive(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/time_charging/active`,e)}},setChargePointConnectedVehicleInstantChargingCurrent(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingCurrent(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/current`,parseFloat(e))}},setChargePointConnectedVehicleInstantChargingLimit(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).selected){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/selected`,e)}},setChargePointConnectedVehicleInstantChargingLimitSoc(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).soc){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/soc`,parseInt(e))}},setChargePointConnectedVehicleInstantChargingLimitAmount(l,e){if(e&&e!=this.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(l).amount){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/instant_charging/limit/amount`,e)}},setChargePointConnectedVehiclePvChargingFeedInLimit(l,e){if(e!=this.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(l)){var n=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${n}/chargemode/pv_charging/feed_in_limit`,e)}},setChargePointConnectedVehiclePvChargingMinCurrent(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinCurrent(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_current`,p)}},setChargePointConnectedVehiclePvChargingMinSoc(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinSoc(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_soc`,p)}},setChargePointConnectedVehiclePvChargingMinSocCurrent(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMinSocCurrent(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/min_soc_current`,p)}},setChargePointConnectedVehiclePvChargingMaxSoc(l,e){let n=this.mqttStore.getChargePointConnectedVehiclePvChargingMaxSoc(l),p=parseInt(e);if(p!=n&&!isNaN(p)){var t=this.mqttStore.getChargePointConnectedVehicleChargeTemplateIndex(l);this.$root.sendTopicToBroker(`openWB/vehicle/template/charge_template/${t}/chargemode/pv_charging/max_soc`,p)}},setChargePointConnectedVehicleScheduledChargingPlanActive(l,e){this.$root.sendTopicToBroker(`${l}/active`,e)},setChargePointConnectedVehicleTimeChargingPlanActive(l,e){this.$root.sendTopicToBroker(`${l}/active`,e)}}},be={class:"charge-points-card-wrapper"},ke={key:0},ve={key:1},qe={key:2},ye={key:3},we={key:4},Me={key:0},Te={key:1},xe={key:0},Le={key:1},Be={key:2},$e={key:3},Ae={key:4},De=x(_e,[["render",function(l,e,n,p,t,c){const P=h("i-button"),V=h("i-button-group"),C=h("i-form-group"),g=h("i-form-label"),I=h("i-form"),k=h("i-modal"),_=h("i-tab-title"),f=h("extended-number-input"),y=h("i-tab"),b=h("font-awesome-icon"),v=h("i-alert"),w=h("i-row"),N=h("i-container"),Y=h("i-tabs"),ee=h("manual-soc-input");return d(),S(M,null,[ue("div",be,[(d(!0),S(M,null,L(t.mqttStore.getChargePointIds,o=>(d(),u(me(t.mqttStore.getSimpleChargePointView?"SimpleChargePointCard":"ChargePointCard"),{key:o,"charge-point-id":o,"changes-locked":n.changesLocked,onVehicleClick:c.handleVehicleClick,onSocClick:c.handleSocClick,onChargeModeClick:c.handleChargeModeClick,onToggleChargePointSettings:c.toggleChargePointSettings,onSetChargePointConnectedVehicleChargeMode:c.setChargePointConnectedVehicleChargeMode},null,40,["charge-point-id","changes-locked","onVehicleClick","onSocClick","onChargeModeClick","onToggleChargePointSettings","onSetChargePointConnectedVehicleChargeMode"]))),128))]),a(k,{modelValue:t.modalChargeModeSettingVisible,"onUpdate:modelValue":e[2]||(e[2]=o=>t.modalChargeModeSettingVisible=o),size:"lg"},{header:i(()=>[r(' Lademodus für "'+s(t.mqttStore.getChargePointConnectedVehicleName(t.modalChargePointId))+'" auswählen ',1)]),default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,{block:"",vertical:""},{default:i(()=>[(d(!0),S(M,null,L(c.filteredChargeModes,o=>(d(),u(P,{key:o.id,size:"lg",class:"large-button",outline:"",color:o.class!="dark"?o.class:"light",active:t.mqttStore.getChargePointConnectedVehicleChargeMode(t.modalChargePointId)!=null&&o.id==t.mqttStore.getChargePointConnectedVehicleChargeMode(t.modalChargePointId).mode,onClick:T=>c.setChargePointConnectedVehicleChargeMode(t.modalChargePointId,o.id)},{default:i(()=>[r(s(o.label),1)]),_:2},1032,["color","active","onClick"]))),128))]),_:1})]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[21]||(e[21]=[r("Priorität")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{size:"lg",class:"large-button",color:t.mqttStore.getChargePointConnectedVehiclePriority(t.modalChargePointId)!==!0?"danger":"",onClick:e[0]||(e[0]=o=>c.setChargePointConnectedVehiclePriority(t.modalChargePointId,!1))},{default:i(()=>e[22]||(e[22]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehiclePriority(t.modalChargePointId)===!0?"success":"",onClick:e[1]||(e[1]=o=>c.setChargePointConnectedVehiclePriority(t.modalChargePointId,!0))},{default:i(()=>e[23]||(e[23]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(k,{modelValue:t.modalVehicleSelectVisible,"onUpdate:modelValue":e[3]||(e[3]=o=>t.modalVehicleSelectVisible=o),class:"modal-vehicle-select",size:"lg"},{header:i(()=>[r(' Fahrzeug an "'+s(t.mqttStore.getChargePointName(t.modalChargePointId))+'" auswählen ',1)]),default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(V,{vertical:"",block:""},{default:i(()=>[(d(!0),S(M,null,L(c.vehicleList,o=>(d(),u(P,{key:o.id,size:"lg",class:"large-button",active:t.mqttStore.getChargePointConnectedVehicleId(t.modalChargePointId)==o.id,color:t.mqttStore.getChargePointConnectedVehicleId(t.modalChargePointId)==o.id?"primary":"",onClick:T=>c.setChargePointConnectedVehicle(t.modalChargePointId,o)},{default:i(()=>[r(s(o.name),1)]),_:2},1032,["active","color","onClick"]))),128))]),_:1})]),_:1})]),_:1})]),_:1},8,["modelValue"]),a(k,{modelValue:t.modalChargePointSettingsVisible,"onUpdate:modelValue":e[19]||(e[19]=o=>t.modalChargePointSettingsVisible=o),size:"lg"},{header:i(()=>[r(' Einstellungen für Fahrzeug "'+s(t.mqttStore.getChargePointConnectedVehicleName(t.modalChargePointId))+'" ',1)]),default:i(()=>[a(Y,{modelValue:t.modalActiveTab,"onUpdate:modelValue":e[18]||(e[18]=o=>t.modalActiveTab=o),stretch:""},{header:i(()=>[a(_,{for:"tab-instant-charging"},{default:i(()=>e[24]||(e[24]=[r(" Sofort ")])),_:1}),a(_,{for:"tab-pv-charging"},{default:i(()=>e[25]||(e[25]=[r(" PV ")])),_:1}),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(_,{key:0,for:"tab-scheduled-charging"},{default:i(()=>e[26]||(e[26]=[r(" Zielladen ")])),_:1})),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(_,{key:1,for:"tab-time-charging"},{default:i(()=>e[27]||(e[27]=[r(" Zeitladen ")])),_:1}))]),default:i(()=>[a(y,{name:"tab-instant-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[28]||(e[28]=[r("Stromstärke")])),_:1}),a(f,{unit:"A",min:6,max:32,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingCurrent(t.modalChargePointId),"onUpdate:modelValue":e[4]||(e[4]=o=>c.setChargePointConnectedVehicleInstantChargingCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[29]||(e[29]=[r("Begrenzung")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="none"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="none",onClick:e[5]||(e[5]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"none"))},{default:i(()=>e[30]||(e[30]=[r(" Keine ")])),_:1},8,["color","active"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc",onClick:e[6]||(e[6]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"soc"))},{default:i(()=>e[31]||(e[31]=[r(" EV-SoC ")])),_:1},8,["color","active"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount"?"primary":"",active:t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount",onClick:e[7]||(e[7]=o=>c.setChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId,"amount"))},{default:i(()=>e[32]||(e[32]=[r(" Energie ")])),_:1},8,["color","active"])]),_:1})]),_:1}),t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="soc"?(d(),u(C,{key:0},{default:i(()=>[a(g,null,{default:i(()=>e[33]||(e[33]=[r("Max. SoC")])),_:1}),a(f,{unit:"%",min:5,max:100,step:5,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).soc,"onUpdate:modelValue":e[8]||(e[8]=o=>c.setChargePointConnectedVehicleInstantChargingLimitSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1})):m("",!0),t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).selected=="amount"?(d(),u(C,{key:1},{default:i(()=>[a(g,null,{default:i(()=>e[34]||(e[34]=[r("Max. Energie")])),_:1}),a(f,{unit:"kWh",min:1,max:100,"model-value":t.mqttStore.getChargePointConnectedVehicleInstantChargingLimit(t.modalChargePointId).amount/1e3,"onUpdate:modelValue":e[9]||(e[9]=o=>c.setChargePointConnectedVehicleInstantChargingLimitAmount(t.modalChargePointId,1e3*o))},null,8,["model-value"])]),_:1})):m("",!0)]),_:1})]),_:1}),a(y,{name:"tab-pv-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[35]||(e[35]=[r("Einspeisegrenze beachten")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId)!==!0?"danger":"",onClick:e[10]||(e[10]=o=>c.setChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId,!1))},{default:i(()=>e[36]||(e[36]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId)===!0?"success":"",onClick:e[11]||(e[11]=o=>c.setChargePointConnectedVehiclePvChargingFeedInLimit(t.modalChargePointId,!0))},{default:i(()=>e[37]||(e[37]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[38]||(e[38]=[r("Minimaler Dauerstrom")])),_:1}),a(f,{unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinCurrent(t.modalChargePointId),"onUpdate:modelValue":e[12]||(e[12]=o=>c.setChargePointConnectedVehiclePvChargingMinCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[39]||(e[39]=[r("Mindest-SoC")])),_:1}),a(f,{unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinSoc(t.modalChargePointId),"onUpdate:modelValue":e[13]||(e[13]=o=>c.setChargePointConnectedVehiclePvChargingMinSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[40]||(e[40]=[r("Mindest-SoC Strom")])),_:1}),a(f,{min:6,max:32,unit:"A","model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMinSocCurrent(t.modalChargePointId),"onUpdate:modelValue":e[14]||(e[14]=o=>c.setChargePointConnectedVehiclePvChargingMinSocCurrent(t.modalChargePointId,o))},null,8,["model-value"])]),_:1}),a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[41]||(e[41]=[r("SoC-Limit")])),_:1}),a(f,{unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":t.mqttStore.getChargePointConnectedVehiclePvChargingMaxSoc(t.modalChargePointId),"onUpdate:modelValue":e[15]||(e[15]=o=>c.setChargePointConnectedVehiclePvChargingMaxSoc(t.modalChargePointId,o))},null,8,["model-value"])]),_:1})]),_:1})]),_:1}),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(y,{key:0,name:"tab-scheduled-charging"},{default:i(()=>[Object.keys(t.mqttStore.getChargePointConnectedVehicleScheduledChargingPlans(t.modalChargePointId)).length===0?(d(),u(v,{key:0},{icon:i(()=>[a(b,{"fixed-width":"",icon:["fas","fa-info-circle"]})]),default:i(()=>[e[42]||(e[42]=r(" Es wurden noch keine Zeitpläne für das Zielladen eingerichtet. "))]),_:1})):(d(),u(I,{key:1},{default:i(()=>[(d(!0),S(M,null,L(t.mqttStore.getChargePointConnectedVehicleScheduledChargingPlans(t.modalChargePointId),(o,T)=>(d(),u(C,{key:T},{default:i(()=>[a(N,null,{default:i(()=>[a(w,null,{default:i(()=>[a(g,null,{default:i(()=>[r(s(o.name),1)]),_:2},1024)]),_:2},1024),a(w,null,{default:i(()=>[a(P,{size:"lg",block:"",color:o.active?"success":"danger",onClick:te=>c.setChargePointConnectedVehicleScheduledChargingPlanActive(T,!o.active)},{default:i(()=>[o.frequency.selected=="once"?(d(),S("span",ke,[a(b,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+s(t.mqttStore.formatDate(o.frequency.once)),1)])):m("",!0),o.frequency.selected=="daily"?(d(),S("span",ve,[a(b,{"fixed-width":"",icon:["fas","calendar-week"]}),e[43]||(e[43]=r(" täglich "))])):m("",!0),o.frequency.selected=="weekly"?(d(),S("span",qe,[a(b,{"fixed-width":"",icon:["fas","calendar-alt"]}),r(" "+s(t.mqttStore.formatWeeklyScheduleDays(o.frequency.weekly)),1)])):m("",!0),a(b,{"fixed-width":"",icon:["fas","clock"]}),r(" "+s(o.time)+" ",1),o.limit.selected=="soc"?(d(),S("span",ye,[a(b,{"fixed-width":"",icon:["fas","car-battery"]}),r(" "+s(o.limit.soc_scheduled)+" % ",1)])):m("",!0),o.limit.selected=="amount"?(d(),S("span",we,[a(b,{"fixed-width":"",icon:["fas","bolt"]}),r(" "+s(o.limit.amount/1e3)+" kWh ",1)])):m("",!0)]),_:2},1032,["color","onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]),_:1}))]),_:1})),t.mqttStore.getSimpleChargePointView?m("",!0):(d(),u(y,{key:1,name:"tab-time-charging"},{default:i(()=>[a(I,null,{default:i(()=>[a(C,null,{default:i(()=>[a(g,null,{default:i(()=>e[44]||(e[44]=[r("Zeitladen aktivieren")])),_:1}),a(V,{block:""},{default:i(()=>[a(P,{color:t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)!==!0?"danger":"",onClick:e[16]||(e[16]=o=>c.setChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId,!1))},{default:i(()=>e[45]||(e[45]=[r(" Nein ")])),_:1},8,["color"]),a(P,{color:t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)===!0?"success":"",onClick:e[17]||(e[17]=o=>c.setChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId,!0))},{default:i(()=>e[46]||(e[46]=[r(" Ja ")])),_:1},8,["color"])]),_:1})]),_:1}),t.mqttStore.getChargePointConnectedVehicleTimeChargingActive(t.modalChargePointId)===!0?(d(),S("div",Me,[Object.keys(t.mqttStore.getChargePointConnectedVehicleTimeChargingPlans(t.modalChargePointId)).length===0?(d(),u(v,{key:0,color:"warning",class:"_margin-top:2"},{icon:i(()=>[a(b,{"fixed-width":"",icon:["fas","fa-circle-info"]})]),default:i(()=>[e[47]||(e[47]=r(" Es wurden noch keine Zeitpläne für das Zeitladen eingerichtet. "))]),_:1})):(d(),S("div",Te,[(d(!0),S(M,null,L(t.mqttStore.getChargePointConnectedVehicleTimeChargingPlans(t.modalChargePointId),(o,T)=>(d(),u(C,{key:T},{default:i(()=>[a(N,null,{default:i(()=>[a(w,null,{default:i(()=>[a(g,null,{default:i(()=>[r(s(o.name),1)]),_:2},1024)]),_:2},1024),a(w,null,{default:i(()=>[a(P,{size:"lg",block:"",color:o.active?"success":"danger",onClick:te=>c.setChargePointConnectedVehicleTimeChargingPlanActive(T,!o.active)},{default:i(()=>[o.frequency.selected=="once"?(d(),S("span",xe,[a(b,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+s(t.mqttStore.formatDateRange(o.frequency.once)),1)])):m("",!0),o.frequency.selected=="daily"?(d(),S("span",Le,[a(b,{"fixed-width":"",icon:["fas","calendar-week"]}),e[48]||(e[48]=r(" täglich "))])):m("",!0),o.frequency.selected=="weekly"?(d(),S("span",Be,[a(b,{"fixed-width":"",icon:["fas","calendar-alt"]}),r(" "+s(t.mqttStore.formatWeeklyScheduleDays(o.frequency.weekly)),1)])):m("",!0),a(b,{"fixed-width":"",icon:["fas","clock"]}),r(" "+s(o.time.join("-"))+" ",1),o.limit.selected=="soc"?(d(),S("span",$e,[a(b,{"fixed-width":"",icon:["fas","car-battery"]}),r(" "+s(o.limit.soc)+" % ",1)])):m("",!0),o.limit.selected=="amount"?(d(),S("span",Ae,[a(b,{"fixed-width":"",icon:["fas","bolt"]}),r(" "+s(o.limit.amount/1e3)+" kWh ",1)])):m("",!0)]),_:2},1032,["color","onClick"])]),_:2},1024)]),_:2},1024)]),_:2},1024))),128))]))])):m("",!0)]),_:1})]),_:1}))]),_:1},8,["modelValue"])]),_:1},8,["modelValue"]),a(ee,{modelValue:t.modalManualSocInputVisible,"onUpdate:modelValue":e[20]||(e[20]=o=>t.modalManualSocInputVisible=o),"vehicle-id":t.modalVehicleId},null,8,["modelValue","vehicle-id"])],64)}],["__scopeId","data-v-76699ceb"]]);export{De as default}; diff --git a/packages/modules/display_themes/cards/web/assets/DashBoardCard-BqIRnhnk.js b/packages/modules/display_themes/cards/web/assets/DashBoardCard-Ds7Ht92x.js similarity index 83% rename from packages/modules/display_themes/cards/web/assets/DashBoardCard-BqIRnhnk.js rename to packages/modules/display_themes/cards/web/assets/DashBoardCard-Ds7Ht92x.js index 35309dd044..8d2383f2ce 100644 --- a/packages/modules/display_themes/cards/web/assets/DashBoardCard-BqIRnhnk.js +++ b/packages/modules/display_themes/cards/web/assets/DashBoardCard-Ds7Ht92x.js @@ -1 +1 @@ -import{_ as u}from"./vendor-inkline-CqnuQ_Go.js";import{o as s,l as d,n as a,s as r,f as t,i as _,q as o}from"./vendor-CFVb6_YQ.js";const $=u({name:"DashBoardCard",props:{color:{type:String,required:!0}}},[["render",function(e,h,i,p,g,m){const l=o("i-column"),n=o("i-row"),c=o("i-container"),f=o("i-card");return s(),d(f,{color:i.color},{header:a(()=>[r(c,null,{default:a(()=>[r(n,null,{default:a(()=>[r(l,null,{default:a(()=>[t(e.$slots,"headerLeft",{},void 0,!0)]),_:3}),e.$slots.headerRight?(s(),d(l,{key:0,class:"_flex-grow:0 _text-align:right _white-space:nowrap"},{default:a(()=>[t(e.$slots,"headerRight",{},void 0,!0)]),_:3})):_("",!0)]),_:3})]),_:3})]),default:a(()=>[t(e.$slots,"default",{},void 0,!0)]),_:3},8,["color"])}],["__scopeId","data-v-c53b85bf"]]);export{$ as D}; +import{_ as u}from"./vendor-inkline-CWAydWlY.js";import{o as s,l as d,n as a,s as r,f as t,i as _,q as o}from"./vendor-DIlzVmqi.js";const $=u({name:"DashBoardCard",props:{color:{type:String,required:!0}}},[["render",function(e,h,i,p,g,m){const l=o("i-column"),n=o("i-row"),c=o("i-container"),f=o("i-card");return s(),d(f,{color:i.color},{header:a(()=>[r(c,null,{default:a(()=>[r(n,null,{default:a(()=>[r(l,null,{default:a(()=>[t(e.$slots,"headerLeft",{},void 0,!0)]),_:3}),e.$slots.headerRight?(s(),d(l,{key:0,class:"_flex-grow:0 _text-align:right _white-space:nowrap"},{default:a(()=>[t(e.$slots,"headerRight",{},void 0,!0)]),_:3})):_("",!0)]),_:3})]),_:3})]),default:a(()=>[t(e.$slots,"default",{},void 0,!0)]),_:3},8,["color"])}],["__scopeId","data-v-c53b85bf"]]);export{$ as D}; diff --git a/packages/modules/display_themes/cards/web/assets/DashBoardView-K8In7LJT.js b/packages/modules/display_themes/cards/web/assets/DashBoardView-BtH7_3ju.js similarity index 90% rename from packages/modules/display_themes/cards/web/assets/DashBoardView-K8In7LJT.js rename to packages/modules/display_themes/cards/web/assets/DashBoardView-BtH7_3ju.js index 47e39bd8ad..39d3295b00 100644 --- a/packages/modules/display_themes/cards/web/assets/DashBoardView-K8In7LJT.js +++ b/packages/modules/display_themes/cards/web/assets/DashBoardView-BtH7_3ju.js @@ -1 +1 @@ -import{u as l}from"./index-BCcTh2Tv.js";import{D as q}from"./DashBoardCard-BqIRnhnk.js";import{S as P,C as b}from"./ChargePointPlugBadge-D7ai0q3I.js";import{l as w,d as I,F as y,e as B,g as D,h as L,i as _}from"./vendor-fortawesome-DhL64LM6.js";import{_ as p}from"./vendor-inkline-CqnuQ_Go.js";import{o as s,l as c,n as a,s as i,k as g,x as h,q as e,i as m,e as x}from"./vendor-CFVb6_YQ.js";w.add(I);const E=p({name:"GridCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return s(),c(d,{color:"danger"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-gauge-high"]}),r[0]||(r[0]=g(" EVU "))]),headerRight:a(()=>[g(h(t.mqttStore.getGridPower()),1)]),default:a(()=>[i(n,{color:"var(--color--danger)","color-negative":"var(--color--success)",data:t.mqttStore.getGridPowerChartData},null,8,["data"])]),_:1})}]]);w.add(B);const F=p({name:"BatteryCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return t.mqttStore.getBatteryConfigured?(s(),c(d,{key:0,color:"warning"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-car-battery"]}),r[0]||(r[0]=g(" Speicher "))]),headerRight:a(()=>[g(h(t.mqttStore.getBatterySoc())+" / "+h(t.mqttStore.getBatteryPower()),1)]),default:a(()=>[i(n,{color:"var(--color--warning)",data:t.mqttStore.getBatteryPowerChartData,"soc-data":t.mqttStore.getBatterySocChartData},null,8,["data","soc-data"])]),_:1})):m("",!0)}]]);w.add(D);const H=p({name:"InverterCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return t.mqttStore.getPvConfigured?(s(),c(d,{key:0,color:"success"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-solar-panel"]}),r[0]||(r[0]=g(" PV "))]),headerRight:a(()=>[g(h(t.mqttStore.getPvPower()),1)]),default:a(()=>[i(n,{color:"var(--color--success)",data:t.mqttStore.getPvPowerChartData,inverted:!0},null,8,["data"])]),_:1})):m("",!0)}]]);w.add(L);const A=p({name:"HomeCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return s(),c(d,{color:"light"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-home"]}),r[0]||(r[0]=g(" Hausverbrauch "))]),headerRight:a(()=>[g(h(t.mqttStore.getHomePower()),1)]),default:a(()=>[i(n,{color:"var(--color--light)",data:t.mqttStore.getHomePowerChartData},null,8,["data"])]),_:1})}]]);w.add(_);const G={name:"DashboardView",components:{GridCard:E,HomeCard:A,BatteryCard:F,InverterCard:H,ChargePointsCard:p({name:"ChargePointsCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y,ChargePointPlugBadge:b},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("charge-point-plug-badge"),d=e("spark-line"),k=e("dash-board-card");return t.mqttStore.getChargePointIds.length>0?(s(),c(k,{key:0,color:"primary"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-charging-station"]}),g(" "+h(t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointName(t.mqttStore.getChargePointIds[0]):"Ladepunkte"),1)]),headerRight:a(()=>[g(h(t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointPower(t.mqttStore.getChargePointIds[0]):t.mqttStore.getChargePointSumPower())+" ",1),i(n,{"charge-point-id":t.mqttStore.getChargePointIds,"show-energy-charged":!1},null,8,["charge-point-id"])]),default:a(()=>[i(d,{color:"var(--color--primary)",data:t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointPowerChartData(t.mqttStore.getChargePointIds[0]):t.mqttStore.getChargePointSumPowerChartData},null,8,["data"])]),_:1})):m("",!0)}]])},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:l()})},R={class:"dash-board-card-wrapper"},K=p(G,[["render",function(C,r,S,f,t,u){const o=e("grid-card"),n=e("home-card"),d=e("battery-card"),k=e("inverter-card"),v=e("charge-points-card");return s(),x("div",R,[t.mqttStore.getGridCardEnabled?(s(),c(o,{key:0})):m("",!0),t.mqttStore.getHomeCardEnabled?(s(),c(n,{key:1})):m("",!0),t.mqttStore.getBatteryCardEnabled?(s(),c(d,{key:2})):m("",!0),t.mqttStore.getPvCardEnabled?(s(),c(k,{key:3})):m("",!0),t.mqttStore.getChargePointsCardEnabled?(s(),c(v,{key:4})):m("",!0)])}],["__scopeId","data-v-2085947b"]]);export{K as default}; +import{u as l}from"./index-BSB1CRIg.js";import{D as q}from"./DashBoardCard-Ds7Ht92x.js";import{S as P,C as b}from"./ChargePointPlugBadge-CV-eneFK.js";import{l as w,d as I,F as y,e as B,g as D,h as L,i as _}from"./vendor-fortawesome--vLnJNbG.js";import{_ as p}from"./vendor-inkline-CWAydWlY.js";import{o as s,l as c,n as a,s as i,k as g,x as h,q as e,i as m,e as x}from"./vendor-DIlzVmqi.js";w.add(I);const E=p({name:"GridCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return s(),c(d,{color:"danger"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-gauge-high"]}),r[0]||(r[0]=g(" EVU "))]),headerRight:a(()=>[g(h(t.mqttStore.getGridPower()),1)]),default:a(()=>[i(n,{color:"var(--color--danger)","color-negative":"var(--color--success)",data:t.mqttStore.getGridPowerChartData},null,8,["data"])]),_:1})}]]);w.add(B);const F=p({name:"BatteryCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return t.mqttStore.getBatteryConfigured?(s(),c(d,{key:0,color:"warning"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-car-battery"]}),r[0]||(r[0]=g(" Speicher "))]),headerRight:a(()=>[g(h(t.mqttStore.getBatterySoc())+" / "+h(t.mqttStore.getBatteryPower()),1)]),default:a(()=>[i(n,{color:"var(--color--warning)",data:t.mqttStore.getBatteryPowerChartData,"soc-data":t.mqttStore.getBatterySocChartData},null,8,["data","soc-data"])]),_:1})):m("",!0)}]]);w.add(D);const H=p({name:"InverterCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return t.mqttStore.getPvConfigured?(s(),c(d,{key:0,color:"success"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-solar-panel"]}),r[0]||(r[0]=g(" PV "))]),headerRight:a(()=>[g(h(t.mqttStore.getPvPower()),1)]),default:a(()=>[i(n,{color:"var(--color--success)",data:t.mqttStore.getPvPowerChartData,inverted:!0},null,8,["data"])]),_:1})):m("",!0)}]]);w.add(L);const A=p({name:"HomeCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("spark-line"),d=e("dash-board-card");return s(),c(d,{color:"light"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-home"]}),r[0]||(r[0]=g(" Hausverbrauch "))]),headerRight:a(()=>[g(h(t.mqttStore.getHomePower()),1)]),default:a(()=>[i(n,{color:"var(--color--light)",data:t.mqttStore.getHomePowerChartData},null,8,["data"])]),_:1})}]]);w.add(_);const G={name:"DashboardView",components:{GridCard:E,HomeCard:A,BatteryCard:F,InverterCard:H,ChargePointsCard:p({name:"ChargePointsCard",components:{DashBoardCard:q,SparkLine:P,FontAwesomeIcon:y,ChargePointPlugBadge:b},props:{},data:()=>({mqttStore:l()})},[["render",function(C,r,S,f,t,u){const o=e("font-awesome-icon"),n=e("charge-point-plug-badge"),d=e("spark-line"),k=e("dash-board-card");return t.mqttStore.getChargePointIds.length>0?(s(),c(k,{key:0,color:"primary"},{headerLeft:a(()=>[i(o,{"fixed-width":"",icon:["fas","fa-charging-station"]}),g(" "+h(t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointName(t.mqttStore.getChargePointIds[0]):"Ladepunkte"),1)]),headerRight:a(()=>[g(h(t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointPower(t.mqttStore.getChargePointIds[0]):t.mqttStore.getChargePointSumPower())+" ",1),i(n,{"charge-point-id":t.mqttStore.getChargePointIds,"show-energy-charged":!1},null,8,["charge-point-id"])]),default:a(()=>[i(d,{color:"var(--color--primary)",data:t.mqttStore.getChargePointIds.length==1?t.mqttStore.getChargePointPowerChartData(t.mqttStore.getChargePointIds[0]):t.mqttStore.getChargePointSumPowerChartData},null,8,["data"])]),_:1})):m("",!0)}]])},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:l()})},R={class:"dash-board-card-wrapper"},K=p(G,[["render",function(C,r,S,f,t,u){const o=e("grid-card"),n=e("home-card"),d=e("battery-card"),k=e("inverter-card"),v=e("charge-points-card");return s(),x("div",R,[t.mqttStore.getGridCardEnabled?(s(),c(o,{key:0})):m("",!0),t.mqttStore.getHomeCardEnabled?(s(),c(n,{key:1})):m("",!0),t.mqttStore.getBatteryCardEnabled?(s(),c(d,{key:2})):m("",!0),t.mqttStore.getPvCardEnabled?(s(),c(k,{key:3})):m("",!0),t.mqttStore.getChargePointsCardEnabled?(s(),c(v,{key:4})):m("",!0)])}],["__scopeId","data-v-2085947b"]]);export{K as default}; diff --git a/packages/modules/display_themes/cards/web/assets/EnergyFlowView-BRDVZpdF.js b/packages/modules/display_themes/cards/web/assets/EnergyFlowView-0uD4UqSR.js similarity index 98% rename from packages/modules/display_themes/cards/web/assets/EnergyFlowView-BRDVZpdF.js rename to packages/modules/display_themes/cards/web/assets/EnergyFlowView-0uD4UqSR.js index a26bed1b75..2c50a49492 100644 --- a/packages/modules/display_themes/cards/web/assets/EnergyFlowView-BRDVZpdF.js +++ b/packages/modules/display_themes/cards/web/assets/EnergyFlowView-0uD4UqSR.js @@ -1 +1 @@ -import{u as R}from"./index-BCcTh2Tv.js";import{D as V}from"./DashBoardCard-BqIRnhnk.js";import{o as r,l as v,n as l,k as P,s as f,j as s,e as a,F as C,A as b,y as c,i as d,x as S,O as q,q as u}from"./vendor-CFVb6_YQ.js";import{_ as w}from"./vendor-inkline-CqnuQ_Go.js";import"./vendor-fortawesome-DhL64LM6.js";const m={name:"DashboardFlowCard",components:{DashBoardCard:V},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:R(),svgSize:{xMin:0,xMax:150,yMin:0,yMax:105,circleRadius:10,strokeWidth:.5,textSize:5,numRows:4,numColumns:3}}),computed:{svgViewBox(){return`${this.svgSize.xMin} ${this.svgSize.yMin} ${this.svgSize.xMax} ${this.svgSize.yMax}`},svgFontSize(){return`${this.svgSize.textSize}px`},svgRectWidth(){return(this.svgSize.xMax-this.svgSize.xMin-this.svgSize.strokeWidth-this.svgSize.numColumns)/this.svgSize.numColumns},svgStrokeWidth(){return this.svgSize.strokeWidth},svgIconWidth(){return this.svgSize.circleRadius},svgIconHeight(){return this.svgSize.circleRadius},gridPower(){return this.mqttStore.getGridPower("object")},pvPower(){return this.mqttStore.getPvPower("object")},homePower(){return this.mqttStore.getHomePower("object")},batteryPower(){return this.mqttStore.getBatteryPower("object")},batterySoc(){return this.mqttStore.getBatterySoc("object").value/100},connectedChargePoints(){return this.mqttStore.getChargePointIds},chargePointSumPower(){return this.mqttStore.getChargePointSumPower("object")},chargePoint1Power(){return this.connectedChargePoints.length>0?this.mqttStore.getChargePointPower(this.connectedChargePoints[0],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint2Power(){return this.connectedChargePoints.length>1?this.mqttStore.getChargePointPower(this.connectedChargePoints[1],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint3Power(){return this.connectedChargePoints.length>2?this.mqttStore.getChargePointPower(this.connectedChargePoints[2],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint1Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[0])},chargePoint2Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[1])},chargePoint3Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[2])},chargePoint1VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[0])},chargePoint2VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[1])},chargePoint3VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[0])},chargePoint2ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[1])},chargePoint3ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[0])},chargePoint2ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[1])},chargePoint3ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[0]).soc/100},chargePoint2ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[1]).soc/100},chargePoint3ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[2]).soc/100},gridConsumption(){return this.gridPower.value>0},gridFeedIn(){return this.gridPower.value<0},homeConsumption(){return this.homePower.value>0},homeProduction(){return this.homePower.value<0},pvProduction(){return this.pvPower.value>0},batteryDischarging(){return this.batteryPower.value<0},batteryCharging(){return this.batteryPower.value>0},chargePointSumCharging(){return this.chargePointSumPower.value>0},chargePointSumDischarging(){return this.chargePointSumPower.value<0},chargePoint1Charging(){return this.chargePoint1Power.value>0},chargePoint1Discharging(){return this.chargePoint1Power.value<0},chargePoint2Charging(){return this.chargePoint2Power.value>0},chargePoint2Discharging(){return this.chargePoint2Power.value<0},chargePoint3Charging(){return this.chargePoint3Power.value>0},chargePoint3Discharging(){return this.chargePoint3Power.value<0},svgComponents(){var e=[];return this.mqttStore.getThemeConfiguration.enable_dashboard_card_grid&&e.push({id:"grid",class:{base:"grid",valueLabel:this.gridFeedIn?"fill-success":this.gridConsumption?"fill-danger":"",animated:this.gridConsumption,animatedReverse:this.gridFeedIn},position:{row:0,column:0},label:["EVU",this.gridPower.textValue],icon:"icons/owbGrid.svg"}),this.mqttStore.getThemeConfiguration.enable_dashboard_card_home_consumption&&e.push({id:"home",class:{base:"home",valueLabel:"",animated:this.homeProduction,animatedReverse:this.homeConsumption},position:{row:0,column:2},label:["Haus",this.homePower.textValue],icon:"icons/owbHouse.svg"}),this.mqttStore.getPvConfigured&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_inverter_sum&&e.push({id:"pv",class:{base:"pv",valueLabel:this.pvProduction?"fill-success":"",animated:this.pvProduction,animatedReverse:!1},position:{row:1,column:0},label:["PV",this.pvPower.textValue],icon:"icons/owbPV.svg"}),this.mqttStore.getBatteryConfigured&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_battery_sum&&e.push({id:"battery",class:{base:"battery",valueLabel:"",animated:this.batteryDischarging,animatedReverse:this.batteryCharging},position:{row:1,column:2},label:["Speicher",this.batteryPower.textValue],soc:this.batterySoc,icon:"icons/owbBattery.svg"}),this.connectedChargePoints.length>0&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_charge_point_sum&&(this.connectedChargePoints.length<=3?(e.push({id:"charge-point-1",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint1Discharging,animatedReverse:this.chargePoint1Charging},position:{row:2,column:this.connectedChargePoints.length>1?0:1},label:[this.chargePoint1Name,this.chargePoint1Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint1VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-1",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint1ConnectedVehicleChargeMode.class},position:{row:3,column:this.connectedChargePoints.length>1?0:1},label:[this.chargePoint1ConnectedVehicleName||"---",this.chargePoint1ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint1ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"}),this.connectedChargePoints.length>1&&(e.push({id:"charge-point-2",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint2Discharging,animatedReverse:this.chargePoint2Charging},position:{row:2,column:this.connectedChargePoints.length>2?1:2},label:[this.chargePoint2Name,this.chargePoint2Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint2VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-2",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint2ConnectedVehicleChargeMode.class},position:{row:3,column:this.connectedChargePoints.length>2?1:2},label:[this.chargePoint2ConnectedVehicleName||"---",this.chargePoint2ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint2ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"}),this.connectedChargePoints.length>2&&(e.push({id:"charge-point-3",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint3Discharging,animatedReverse:this.chargePoint3Charging},position:{row:2,column:2},label:[this.chargePoint3Name,this.chargePoint3Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint3VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-3",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint3ConnectedVehicleChargeMode.class},position:{row:3,column:2},label:[this.chargePoint3ConnectedVehicleName||"---",this.chargePoint3ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint3ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"})))):e.push({id:"charge-point-sum",class:{base:"charge-point",valueLabel:"",animated:this.chargePointSumDischarging,animatedReverse:this.chargePointSumCharging},position:{row:2,column:1},label:["Ladepunkte",this.chargePointSumPower.textValue],icon:"icons/owbChargePoint.svg"})),(!this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles||this.connectedChargePoints.length===0||this.connectedChargePoints.length>3)&&this.setSvgNumRows(3),e}},methods:{setSvgNumRows(e){this.svgSize.numRows=e},calcRowY(e){let o=this.svgSize.yMin+this.svgSize.strokeWidth+this.svgSize.circleRadius;return e*((this.svgSize.yMax-this.svgSize.strokeWidth-this.svgSize.circleRadius-o)/(this.svgSize.numRows-1))+o},calcColumnX(e){let o=this.svgSize.xMin+this.svgSize.strokeWidth+this.svgRectWidth/2;return e*((this.svgSize.xMax-this.svgSize.strokeWidth-this.svgRectWidth/2-o)/(this.svgSize.numColumns-1))+o},calcFlowLineAnchorX(e){let o=this.calcColumnX(e);return e<(this.svgSize.numColumns-1)/2?o+this.svgRectWidth/2-this.svgSize.circleRadius:e>(this.svgSize.numColumns-1)/2?o-this.svgRectWidth/2+this.svgSize.circleRadius:o},calcSvgElementBoundingBox(e){let o=document.getElementById(e);if(o==null)return{x:0,y:0,width:0,height:0};let h=o.getBBox();return{x:h.x,y:h.y,width:h.width,height:h.height}},beginAnimation(e){var o;this.$refs[e]!=null&&((o=this.$refs[e][0])==null||o.beginElement())}}},p=()=>{q(e=>({"2d21ce23":e.svgStrokeWidth,"0cb0615b":e.svgFontSize}))},x=m.setup;m.setup=x?(e,o)=>(p(),x(e,o)):p;const _={class:"svg-container"},W=["viewBox"],k={id:"layer1",style:{display:"inline"}},M=["d"],N={id:"layer2",style:{display:"inline"}},$=["cx","cy","r"],L=["transform","onClick"],B=["id"],D=["x","y","width","height"],I=["id"],F=["x","y","width","height","rx","ry"],j=["x","y","width","height","rx","ry"],T=["clip-path"],A=["id","x","y"],E=["values"],X=["id","x","y"],H=["transform"],Y=["r"],G=["r","clip-path"],O=["href","x","y","height","width"],te=w({name:"EnergyFlowView",components:{FlowCard:w(m,[["render",function(e,o,h,z,t,n){const g=u("i-container"),y=u("dash-board-card");return r(),v(y,{color:"primary"},{headerLeft:l(()=>o[0]||(o[0]=[P(" Übersicht - Energiefluss ")])),default:l(()=>[f(g,null,{default:l(()=>[s("div",_,[(r(),a("svg",{viewBox:n.svgViewBox,version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},[s("g",k,[(r(!0),a(C,null,b(n.svgComponents,i=>(r(),a("path",{key:i.id,class:c([i.class.base,{animated:i.class.animated},{animatedReverse:i.class.animatedReverse}]),d:i.class.base!=="vehicle"?`M ${n.calcFlowLineAnchorX(i.position.column)}, ${n.calcRowY(i.position.row)} ${n.calcColumnX(1)}, ${n.calcRowY(1)}`:""},null,10,M))),128))]),s("g",N,[s("circle",{id:"center",cx:n.calcColumnX(1),cy:n.calcRowY(1),r:t.svgSize.circleRadius/3},null,8,$),(r(!0),a(C,null,b(n.svgComponents,i=>(r(),a("g",{key:i.id,class:c(i.class.base),transform:`translate(${n.calcColumnX(i.position.column)}, ${n.calcRowY(i.position.row)})`,onClick:U=>n.beginAnimation(`animate-label-${i.id}`)},[s("defs",null,[i.soc?(r(),a("clipPath",{key:0,id:`clip-soc-${i.id}`},[s("rect",{x:-t.svgSize.circleRadius-t.svgSize.strokeWidth,y:(t.svgSize.circleRadius+t.svgSize.strokeWidth)*(1-2*i.soc),width:2*(t.svgSize.circleRadius+t.svgSize.strokeWidth),height:2*(t.svgSize.circleRadius+t.svgSize.strokeWidth)*i.soc},null,8,D)],8,B)):d("",!0),s("clipPath",{id:`clip-label-${i.id}`},[s("rect",{x:-n.svgRectWidth/2,y:-t.svgSize.circleRadius,width:n.svgRectWidth,height:2*t.svgSize.circleRadius,rx:t.svgSize.circleRadius,ry:t.svgSize.circleRadius},null,8,F)],8,I)]),s("rect",{x:-n.svgRectWidth/2,y:-t.svgSize.circleRadius,width:n.svgRectWidth,height:2*t.svgSize.circleRadius,rx:t.svgSize.circleRadius,ry:t.svgSize.circleRadius},null,8,j),s("text",{"clip-path":`url(#clip-label-${i.id})`},[s("tspan",{id:`label-${i.id}`,"text-anchor":"start",x:-n.svgRectWidth/2+2*t.svgSize.circleRadius+t.svgSize.strokeWidth,y:-t.svgSize.textSize/2},[n.calcSvgElementBoundingBox(`label-${i.id}`).width>n.svgRectWidth-2*t.svgSize.circleRadius-2*t.svgSize.strokeWidth?(r(),a("animate",{key:0,ref_for:!0,ref:`animate-label-${i.id}`,xmlns:"http://www.w3.org/2000/svg",attributeName:"x",dur:"5s",values:"0; "+(-n.calcSvgElementBoundingBox(`label-${i.id}`).width+n.svgRectWidth-2.5*t.svgSize.circleRadius-2*t.svgSize.strokeWidth)+"; 0;",repeatCount:"0",begin:"2s",additive:"sum"},null,8,E)):d("",!0),P(" "+S(i.label[0]),1)],8,A),s("tspan",{id:`value-${i.id}`,class:c(i.class.valueLabel),"text-anchor":"end",x:2*t.svgSize.circleRadius+t.svgSize.strokeWidth,y:t.svgSize.textSize},S(i.label[1]),11,X)],8,T),s("g",{transform:`translate(${t.svgSize.circleRadius-n.svgRectWidth/2}, 0)`},[s("circle",{cx:"0",cy:"0",r:t.svgSize.circleRadius,class:c({soc:i.soc})},null,10,Y),i.soc?(r(),a("circle",{key:0,cx:"0",cy:"0",r:t.svgSize.circleRadius,"clip-path":`url(#clip-soc-${i.id})`},null,8,G)):d("",!0),s("image",{href:i.icon,x:-n.svgIconWidth/2,y:-n.svgIconHeight/2,height:n.svgIconHeight,width:n.svgIconWidth},null,8,O)],8,H)],10,L))),128))])],8,W))])]),_:1})]),_:1})}],["__scopeId","data-v-9e868ed0"]])},props:{changesLocked:{required:!1,type:Boolean,default:!1}}},[["render",function(e,o,h,z,t,n){const g=u("FlowCard");return r(),v(g)}]]);export{te as default}; +import{u as R}from"./index-BSB1CRIg.js";import{D as V}from"./DashBoardCard-Ds7Ht92x.js";import{o as r,l as v,n as l,k as P,s as f,j as s,e as a,F as C,A as b,y as c,i as d,x as S,O as q,q as u}from"./vendor-DIlzVmqi.js";import{_ as w}from"./vendor-inkline-CWAydWlY.js";import"./vendor-fortawesome--vLnJNbG.js";const m={name:"DashboardFlowCard",components:{DashBoardCard:V},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:R(),svgSize:{xMin:0,xMax:150,yMin:0,yMax:105,circleRadius:10,strokeWidth:.5,textSize:5,numRows:4,numColumns:3}}),computed:{svgViewBox(){return`${this.svgSize.xMin} ${this.svgSize.yMin} ${this.svgSize.xMax} ${this.svgSize.yMax}`},svgFontSize(){return`${this.svgSize.textSize}px`},svgRectWidth(){return(this.svgSize.xMax-this.svgSize.xMin-this.svgSize.strokeWidth-this.svgSize.numColumns)/this.svgSize.numColumns},svgStrokeWidth(){return this.svgSize.strokeWidth},svgIconWidth(){return this.svgSize.circleRadius},svgIconHeight(){return this.svgSize.circleRadius},gridPower(){return this.mqttStore.getGridPower("object")},pvPower(){return this.mqttStore.getPvPower("object")},homePower(){return this.mqttStore.getHomePower("object")},batteryPower(){return this.mqttStore.getBatteryPower("object")},batterySoc(){return this.mqttStore.getBatterySoc("object").value/100},connectedChargePoints(){return this.mqttStore.getChargePointIds},chargePointSumPower(){return this.mqttStore.getChargePointSumPower("object")},chargePoint1Power(){return this.connectedChargePoints.length>0?this.mqttStore.getChargePointPower(this.connectedChargePoints[0],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint2Power(){return this.connectedChargePoints.length>1?this.mqttStore.getChargePointPower(this.connectedChargePoints[1],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint3Power(){return this.connectedChargePoints.length>2?this.mqttStore.getChargePointPower(this.connectedChargePoints[2],"object")||{textValue:"Loading..."}:{textValue:"N/A"}},chargePoint1Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[0])},chargePoint2Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[1])},chargePoint3Name(){return this.mqttStore.getChargePointName(this.connectedChargePoints[2])},chargePoint1VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[0])},chargePoint2VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[1])},chargePoint3VehicleConnected(){return this.mqttStore.getChargePointPlugState(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[0])},chargePoint2ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[1])},chargePoint3ConnectedVehicleName(){return this.mqttStore.getChargePointConnectedVehicleName(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[0])},chargePoint2ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[1])},chargePoint3ConnectedVehicleChargeMode(){return this.mqttStore.getChargePointConnectedVehicleChargeMode(this.connectedChargePoints[2])},chargePoint1ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[0]).soc/100},chargePoint2ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[1]).soc/100},chargePoint3ConnectedVehicleSoc(){return this.mqttStore.getChargePointConnectedVehicleSoc(this.connectedChargePoints[2]).soc/100},gridConsumption(){return this.gridPower.value>0},gridFeedIn(){return this.gridPower.value<0},homeConsumption(){return this.homePower.value>0},homeProduction(){return this.homePower.value<0},pvProduction(){return this.pvPower.value>0},batteryDischarging(){return this.batteryPower.value<0},batteryCharging(){return this.batteryPower.value>0},chargePointSumCharging(){return this.chargePointSumPower.value>0},chargePointSumDischarging(){return this.chargePointSumPower.value<0},chargePoint1Charging(){return this.chargePoint1Power.value>0},chargePoint1Discharging(){return this.chargePoint1Power.value<0},chargePoint2Charging(){return this.chargePoint2Power.value>0},chargePoint2Discharging(){return this.chargePoint2Power.value<0},chargePoint3Charging(){return this.chargePoint3Power.value>0},chargePoint3Discharging(){return this.chargePoint3Power.value<0},svgComponents(){var e=[];return this.mqttStore.getThemeConfiguration.enable_dashboard_card_grid&&e.push({id:"grid",class:{base:"grid",valueLabel:this.gridFeedIn?"fill-success":this.gridConsumption?"fill-danger":"",animated:this.gridConsumption,animatedReverse:this.gridFeedIn},position:{row:0,column:0},label:["EVU",this.gridPower.textValue],icon:"icons/owbGrid.svg"}),this.mqttStore.getThemeConfiguration.enable_dashboard_card_home_consumption&&e.push({id:"home",class:{base:"home",valueLabel:"",animated:this.homeProduction,animatedReverse:this.homeConsumption},position:{row:0,column:2},label:["Haus",this.homePower.textValue],icon:"icons/owbHouse.svg"}),this.mqttStore.getPvConfigured&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_inverter_sum&&e.push({id:"pv",class:{base:"pv",valueLabel:this.pvProduction?"fill-success":"",animated:this.pvProduction,animatedReverse:!1},position:{row:1,column:0},label:["PV",this.pvPower.textValue],icon:"icons/owbPV.svg"}),this.mqttStore.getBatteryConfigured&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_battery_sum&&e.push({id:"battery",class:{base:"battery",valueLabel:"",animated:this.batteryDischarging,animatedReverse:this.batteryCharging},position:{row:1,column:2},label:["Speicher",this.batteryPower.textValue],soc:this.batterySoc,icon:"icons/owbBattery.svg"}),this.connectedChargePoints.length>0&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_charge_point_sum&&(this.connectedChargePoints.length<=3?(e.push({id:"charge-point-1",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint1Discharging,animatedReverse:this.chargePoint1Charging},position:{row:2,column:this.connectedChargePoints.length>1?0:1},label:[this.chargePoint1Name,this.chargePoint1Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint1VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-1",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint1ConnectedVehicleChargeMode.class},position:{row:3,column:this.connectedChargePoints.length>1?0:1},label:[this.chargePoint1ConnectedVehicleName||"---",this.chargePoint1ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint1ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"}),this.connectedChargePoints.length>1&&(e.push({id:"charge-point-2",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint2Discharging,animatedReverse:this.chargePoint2Charging},position:{row:2,column:this.connectedChargePoints.length>2?1:2},label:[this.chargePoint2Name,this.chargePoint2Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint2VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-2",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint2ConnectedVehicleChargeMode.class},position:{row:3,column:this.connectedChargePoints.length>2?1:2},label:[this.chargePoint2ConnectedVehicleName||"---",this.chargePoint2ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint2ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"}),this.connectedChargePoints.length>2&&(e.push({id:"charge-point-3",class:{base:"charge-point",valueLabel:"",animated:this.chargePoint3Discharging,animatedReverse:this.chargePoint3Charging},position:{row:2,column:2},label:[this.chargePoint3Name,this.chargePoint3Power.textValue],icon:"icons/owbChargePoint.svg"}),this.chargePoint3VehicleConnected&&this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles&&e.push({id:"vehicle-3",class:{base:"vehicle",valueLabel:"fill-"+this.chargePoint3ConnectedVehicleChargeMode.class},position:{row:3,column:2},label:[this.chargePoint3ConnectedVehicleName||"---",this.chargePoint3ConnectedVehicleChargeMode.label||"---"],soc:this.chargePoint3ConnectedVehicleSoc,icon:"icons/owbVehicle.svg"})))):e.push({id:"charge-point-sum",class:{base:"charge-point",valueLabel:"",animated:this.chargePointSumDischarging,animatedReverse:this.chargePointSumCharging},position:{row:2,column:1},label:["Ladepunkte",this.chargePointSumPower.textValue],icon:"icons/owbChargePoint.svg"})),(!this.mqttStore.getThemeConfiguration.enable_dashboard_card_vehicles||this.connectedChargePoints.length===0||this.connectedChargePoints.length>3)&&this.setSvgNumRows(3),e}},methods:{setSvgNumRows(e){this.svgSize.numRows=e},calcRowY(e){let o=this.svgSize.yMin+this.svgSize.strokeWidth+this.svgSize.circleRadius;return e*((this.svgSize.yMax-this.svgSize.strokeWidth-this.svgSize.circleRadius-o)/(this.svgSize.numRows-1))+o},calcColumnX(e){let o=this.svgSize.xMin+this.svgSize.strokeWidth+this.svgRectWidth/2;return e*((this.svgSize.xMax-this.svgSize.strokeWidth-this.svgRectWidth/2-o)/(this.svgSize.numColumns-1))+o},calcFlowLineAnchorX(e){let o=this.calcColumnX(e);return e<(this.svgSize.numColumns-1)/2?o+this.svgRectWidth/2-this.svgSize.circleRadius:e>(this.svgSize.numColumns-1)/2?o-this.svgRectWidth/2+this.svgSize.circleRadius:o},calcSvgElementBoundingBox(e){let o=document.getElementById(e);if(o==null)return{x:0,y:0,width:0,height:0};let h=o.getBBox();return{x:h.x,y:h.y,width:h.width,height:h.height}},beginAnimation(e){var o;this.$refs[e]!=null&&((o=this.$refs[e][0])==null||o.beginElement())}}},p=()=>{q(e=>({"2d21ce23":e.svgStrokeWidth,"0cb0615b":e.svgFontSize}))},x=m.setup;m.setup=x?(e,o)=>(p(),x(e,o)):p;const _={class:"svg-container"},W=["viewBox"],k={id:"layer1",style:{display:"inline"}},M=["d"],N={id:"layer2",style:{display:"inline"}},$=["cx","cy","r"],L=["transform","onClick"],B=["id"],D=["x","y","width","height"],I=["id"],F=["x","y","width","height","rx","ry"],j=["x","y","width","height","rx","ry"],T=["clip-path"],A=["id","x","y"],E=["values"],X=["id","x","y"],H=["transform"],Y=["r"],G=["r","clip-path"],O=["href","x","y","height","width"],te=w({name:"EnergyFlowView",components:{FlowCard:w(m,[["render",function(e,o,h,z,t,n){const g=u("i-container"),y=u("dash-board-card");return r(),v(y,{color:"primary"},{headerLeft:l(()=>o[0]||(o[0]=[P(" Übersicht - Energiefluss ")])),default:l(()=>[f(g,null,{default:l(()=>[s("div",_,[(r(),a("svg",{viewBox:n.svgViewBox,version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:svg":"http://www.w3.org/2000/svg"},[s("g",k,[(r(!0),a(C,null,b(n.svgComponents,i=>(r(),a("path",{key:i.id,class:c([i.class.base,{animated:i.class.animated},{animatedReverse:i.class.animatedReverse}]),d:i.class.base!=="vehicle"?`M ${n.calcFlowLineAnchorX(i.position.column)}, ${n.calcRowY(i.position.row)} ${n.calcColumnX(1)}, ${n.calcRowY(1)}`:""},null,10,M))),128))]),s("g",N,[s("circle",{id:"center",cx:n.calcColumnX(1),cy:n.calcRowY(1),r:t.svgSize.circleRadius/3},null,8,$),(r(!0),a(C,null,b(n.svgComponents,i=>(r(),a("g",{key:i.id,class:c(i.class.base),transform:`translate(${n.calcColumnX(i.position.column)}, ${n.calcRowY(i.position.row)})`,onClick:U=>n.beginAnimation(`animate-label-${i.id}`)},[s("defs",null,[i.soc?(r(),a("clipPath",{key:0,id:`clip-soc-${i.id}`},[s("rect",{x:-t.svgSize.circleRadius-t.svgSize.strokeWidth,y:(t.svgSize.circleRadius+t.svgSize.strokeWidth)*(1-2*i.soc),width:2*(t.svgSize.circleRadius+t.svgSize.strokeWidth),height:2*(t.svgSize.circleRadius+t.svgSize.strokeWidth)*i.soc},null,8,D)],8,B)):d("",!0),s("clipPath",{id:`clip-label-${i.id}`},[s("rect",{x:-n.svgRectWidth/2,y:-t.svgSize.circleRadius,width:n.svgRectWidth,height:2*t.svgSize.circleRadius,rx:t.svgSize.circleRadius,ry:t.svgSize.circleRadius},null,8,F)],8,I)]),s("rect",{x:-n.svgRectWidth/2,y:-t.svgSize.circleRadius,width:n.svgRectWidth,height:2*t.svgSize.circleRadius,rx:t.svgSize.circleRadius,ry:t.svgSize.circleRadius},null,8,j),s("text",{"clip-path":`url(#clip-label-${i.id})`},[s("tspan",{id:`label-${i.id}`,"text-anchor":"start",x:-n.svgRectWidth/2+2*t.svgSize.circleRadius+t.svgSize.strokeWidth,y:-t.svgSize.textSize/2},[n.calcSvgElementBoundingBox(`label-${i.id}`).width>n.svgRectWidth-2*t.svgSize.circleRadius-2*t.svgSize.strokeWidth?(r(),a("animate",{key:0,ref_for:!0,ref:`animate-label-${i.id}`,xmlns:"http://www.w3.org/2000/svg",attributeName:"x",dur:"5s",values:"0; "+(-n.calcSvgElementBoundingBox(`label-${i.id}`).width+n.svgRectWidth-2.5*t.svgSize.circleRadius-2*t.svgSize.strokeWidth)+"; 0;",repeatCount:"0",begin:"2s",additive:"sum"},null,8,E)):d("",!0),P(" "+S(i.label[0]),1)],8,A),s("tspan",{id:`value-${i.id}`,class:c(i.class.valueLabel),"text-anchor":"end",x:2*t.svgSize.circleRadius+t.svgSize.strokeWidth,y:t.svgSize.textSize},S(i.label[1]),11,X)],8,T),s("g",{transform:`translate(${t.svgSize.circleRadius-n.svgRectWidth/2}, 0)`},[s("circle",{cx:"0",cy:"0",r:t.svgSize.circleRadius,class:c({soc:i.soc})},null,10,Y),i.soc?(r(),a("circle",{key:0,cx:"0",cy:"0",r:t.svgSize.circleRadius,"clip-path":`url(#clip-soc-${i.id})`},null,8,G)):d("",!0),s("image",{href:i.icon,x:-n.svgIconWidth/2,y:-n.svgIconHeight/2,height:n.svgIconHeight,width:n.svgIconWidth},null,8,O)],8,H)],10,L))),128))])],8,W))])]),_:1})]),_:1})}],["__scopeId","data-v-9e868ed0"]])},props:{changesLocked:{required:!1,type:Boolean,default:!1}}},[["render",function(e,o,h,z,t,n){const g=u("FlowCard");return r(),v(g)}]]);export{te as default}; diff --git a/packages/modules/display_themes/cards/web/assets/StatusView-BneXgLoT.js b/packages/modules/display_themes/cards/web/assets/StatusView-BcF0Zv5l.js similarity index 95% rename from packages/modules/display_themes/cards/web/assets/StatusView-BneXgLoT.js rename to packages/modules/display_themes/cards/web/assets/StatusView-BcF0Zv5l.js index 532d04f90e..9f78574fcf 100644 --- a/packages/modules/display_themes/cards/web/assets/StatusView-BneXgLoT.js +++ b/packages/modules/display_themes/cards/web/assets/StatusView-BcF0Zv5l.js @@ -1 +1 @@ -import{u as y}from"./index-BCcTh2Tv.js";import{l as b,C as M,F as k,D as A}from"./vendor-fortawesome-DhL64LM6.js";import{_ as p}from"./vendor-inkline-CqnuQ_Go.js";import{o as c,l as f,n as t,k as n,s as o,q as l,I as x,j as I,i as C}from"./vendor-CFVb6_YQ.js";import{D as z}from"./DashBoardCard-BqIRnhnk.js";b.add(M);const D=p({name:"ReloadButton",components:{FontAwesomeIcon:k},props:{},data:()=>({}),methods:{reloadDisplay(){location.reload()}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-button");return c(),f(a,{color:"success",size:"lg",onClick:e[0]||(e[0]=s=>m.reloadDisplay())},{default:t(()=>[e[1]||(e[1]=n(" Display neu laden ")),o(i,{"fixed-width":"",icon:["fas","fa-undo"]})]),_:1})}]]);b.add(M);const F=p({name:"RebootButton",components:{FontAwesomeIcon:k},props:{},data:()=>({mqttStore:y(),showModal:!1}),methods:{toggleModal(){this.showModal=!this.showModal},cancel(){this.toggleModal()},confirm(){this.toggleModal(),this.mqttStore.settings.parentChargePoint1!==void 0?this.$root.sendSystemCommand("chargepointReboot",{chargePoint:this.mqttStore.settings.parentChargePoint1}):this.$root.sendSystemCommand("systemReboot")}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-container"),s=l("i-button"),d=l("i-column"),_=l("i-row"),g=l("i-modal");return c(),f(s,{color:"warning",size:"lg",onClick:e[3]||(e[3]=r=>m.toggleModal())},{default:t(()=>[e[8]||(e[8]=n(" openWB neu starten ")),o(i,{"fixed-width":"",icon:["fas","fa-undo"]}),(c(),f(x,{to:"body"},[o(g,{modelValue:u.showModal,"onUpdate:modelValue":e[2]||(e[2]=r=>u.showModal=r),size:"sm"},{header:t(()=>e[4]||(e[4]=[n(" openWB neu starten... ")])),footer:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_text-align:right"},{default:t(()=>[o(s,{color:"success",onClick:e[0]||(e[0]=r=>m.cancel())},{default:t(()=>e[6]||(e[6]=[n(" Zurück ")])),_:1})]),_:1}),o(d,null,{default:t(()=>[o(s,{color:"danger",onClick:e[1]||(e[1]=r=>m.confirm())},{default:t(()=>e[7]||(e[7]=[n(" Neustart ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:t(()=>[o(a,null,{default:t(()=>e[5]||(e[5]=[n(" Möchten Sie diese openWB wirklich neu starten? ")])),_:1})]),_:1},8,["modelValue"])]))]),_:1})}]]);b.add(A);const Z=p({name:"StatusView",components:{ReloadButton:D,RebootButton:F,ShutdownButton:p({name:"ShutdownButton",components:{FontAwesomeIcon:k},props:{},data:()=>({mqttStore:y(),showModal:!1}),methods:{toggleModal(){this.showModal=!this.showModal},cancel(){this.toggleModal()},confirm(){this.toggleModal(),this.mqttStore.settings.parentChargePoint1!==void 0?this.$root.sendSystemCommand("chargepointShutdown",{chargePoint:this.mqttStore.settings.parentChargePoint1}):this.$root.sendSystemCommand("systemShutdown")}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-container"),s=l("i-button"),d=l("i-column"),_=l("i-row"),g=l("i-modal");return c(),f(s,{color:"danger",size:"lg",onClick:e[3]||(e[3]=r=>m.toggleModal())},{default:t(()=>[e[8]||(e[8]=n(" openWB ausschalten ")),o(i,{"fixed-width":"",icon:["fas","fa-power-off"]}),(c(),f(x,{to:"body"},[o(g,{modelValue:u.showModal,"onUpdate:modelValue":e[2]||(e[2]=r=>u.showModal=r),size:"sm"},{header:t(()=>e[4]||(e[4]=[n(" openWB ausschalten... ")])),footer:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_text-align:right"},{default:t(()=>[o(s,{color:"success",onClick:e[0]||(e[0]=r=>m.cancel())},{default:t(()=>e[6]||(e[6]=[n(" Zurück ")])),_:1})]),_:1}),o(d,null,{default:t(()=>[o(s,{color:"danger",onClick:e[1]||(e[1]=r=>m.confirm())},{default:t(()=>e[7]||(e[7]=[n(" Ausschalten ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:t(()=>[o(a,null,{default:t(()=>e[5]||(e[5]=[n(" Möchten Sie diese openWB wirklich ausschalten?"),I("br",null,null,-1),n(" Nach dem Ausschalten muss die Ladestation komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")])),_:1})]),_:1},8,["modelValue"])]))]),_:1})}]]),DashBoardCard:z},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:y()})},[["render",function(w,e,h,S,u,m){const i=l("i-form-label"),a=l("i-column"),s=l("i-input"),d=l("i-row"),_=l("i-form-group"),g=l("reload-button"),r=l("reboot-button"),B=l("shutdown-button"),q=l("i-form"),v=l("i-container"),V=l("dash-board-card");return c(),f(V,{color:"primary"},{headerLeft:t(()=>e[0]||(e[0]=[n(" Status ")])),default:t(()=>[o(v,null,{default:t(()=>[o(q,null,{default:t(()=>[o(d,null,{default:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_margin-top:2"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[1]||(e[1]=[n(" IP-Adresse ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_ip",plaintext:"","model-value":u.mqttStore.getSystemIp},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[2]||(e[2]=[n(" Systemzeit ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_time",plaintext:"","model-value":u.mqttStore.getSystemTime},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[3]||(e[3]=[n(" Version ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_version",plaintext:"","model-value":u.mqttStore.getSystemVersion},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[4]||(e[4]=[n(" Version (Details) ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_commit",plaintext:"","model-value":u.mqttStore.getSystemCurrentCommit},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[5]||(e[5]=[n(" Entwicklungszweig ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_branch",plaintext:"","model-value":u.mqttStore.getSystemBranch},null,8,["model-value"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),h.changesLocked?C("",!0):(c(),f(d,{key:0,class:"_margin-top:5",between:""},{default:t(()=>[o(a,null,{default:t(()=>[o(g,{block:""})]),_:1})]),_:1})),h.changesLocked?C("",!0):(c(),f(d,{key:1,between:""},{default:t(()=>[o(a,null,{default:t(()=>[o(r,{block:"",class:"_margin-top:2"})]),_:1}),o(a,null,{default:t(()=>[o(B,{block:"",class:"_margin-top:2"})]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})}]]);export{Z as default}; +import{u as y}from"./index-BSB1CRIg.js";import{l as b,C as M,F as k,D as A}from"./vendor-fortawesome--vLnJNbG.js";import{_ as p}from"./vendor-inkline-CWAydWlY.js";import{o as c,l as f,n as t,k as n,s as o,q as l,I as x,j as I,i as C}from"./vendor-DIlzVmqi.js";import{D as z}from"./DashBoardCard-Ds7Ht92x.js";b.add(M);const D=p({name:"ReloadButton",components:{FontAwesomeIcon:k},props:{},data:()=>({}),methods:{reloadDisplay(){location.reload()}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-button");return c(),f(a,{color:"success",size:"lg",onClick:e[0]||(e[0]=s=>m.reloadDisplay())},{default:t(()=>[e[1]||(e[1]=n(" Display neu laden ")),o(i,{"fixed-width":"",icon:["fas","fa-undo"]})]),_:1})}]]);b.add(M);const F=p({name:"RebootButton",components:{FontAwesomeIcon:k},props:{},data:()=>({mqttStore:y(),showModal:!1}),methods:{toggleModal(){this.showModal=!this.showModal},cancel(){this.toggleModal()},confirm(){this.toggleModal(),this.mqttStore.settings.parentChargePoint1!==void 0?this.$root.sendSystemCommand("chargepointReboot",{chargePoint:this.mqttStore.settings.parentChargePoint1}):this.$root.sendSystemCommand("systemReboot")}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-container"),s=l("i-button"),d=l("i-column"),_=l("i-row"),g=l("i-modal");return c(),f(s,{color:"warning",size:"lg",onClick:e[3]||(e[3]=r=>m.toggleModal())},{default:t(()=>[e[8]||(e[8]=n(" openWB neu starten ")),o(i,{"fixed-width":"",icon:["fas","fa-undo"]}),(c(),f(x,{to:"body"},[o(g,{modelValue:u.showModal,"onUpdate:modelValue":e[2]||(e[2]=r=>u.showModal=r),size:"sm"},{header:t(()=>e[4]||(e[4]=[n(" openWB neu starten... ")])),footer:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_text-align:right"},{default:t(()=>[o(s,{color:"success",onClick:e[0]||(e[0]=r=>m.cancel())},{default:t(()=>e[6]||(e[6]=[n(" Zurück ")])),_:1})]),_:1}),o(d,null,{default:t(()=>[o(s,{color:"danger",onClick:e[1]||(e[1]=r=>m.confirm())},{default:t(()=>e[7]||(e[7]=[n(" Neustart ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:t(()=>[o(a,null,{default:t(()=>e[5]||(e[5]=[n(" Möchten Sie diese openWB wirklich neu starten? ")])),_:1})]),_:1},8,["modelValue"])]))]),_:1})}]]);b.add(A);const Z=p({name:"StatusView",components:{ReloadButton:D,RebootButton:F,ShutdownButton:p({name:"ShutdownButton",components:{FontAwesomeIcon:k},props:{},data:()=>({mqttStore:y(),showModal:!1}),methods:{toggleModal(){this.showModal=!this.showModal},cancel(){this.toggleModal()},confirm(){this.toggleModal(),this.mqttStore.settings.parentChargePoint1!==void 0?this.$root.sendSystemCommand("chargepointShutdown",{chargePoint:this.mqttStore.settings.parentChargePoint1}):this.$root.sendSystemCommand("systemShutdown")}}},[["render",function(w,e,h,S,u,m){const i=l("FontAwesomeIcon"),a=l("i-container"),s=l("i-button"),d=l("i-column"),_=l("i-row"),g=l("i-modal");return c(),f(s,{color:"danger",size:"lg",onClick:e[3]||(e[3]=r=>m.toggleModal())},{default:t(()=>[e[8]||(e[8]=n(" openWB ausschalten ")),o(i,{"fixed-width":"",icon:["fas","fa-power-off"]}),(c(),f(x,{to:"body"},[o(g,{modelValue:u.showModal,"onUpdate:modelValue":e[2]||(e[2]=r=>u.showModal=r),size:"sm"},{header:t(()=>e[4]||(e[4]=[n(" openWB ausschalten... ")])),footer:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_text-align:right"},{default:t(()=>[o(s,{color:"success",onClick:e[0]||(e[0]=r=>m.cancel())},{default:t(()=>e[6]||(e[6]=[n(" Zurück ")])),_:1})]),_:1}),o(d,null,{default:t(()=>[o(s,{color:"danger",onClick:e[1]||(e[1]=r=>m.confirm())},{default:t(()=>e[7]||(e[7]=[n(" Ausschalten ")])),_:1})]),_:1})]),_:1})]),_:1})]),default:t(()=>[o(a,null,{default:t(()=>e[5]||(e[5]=[n(" Möchten Sie diese openWB wirklich ausschalten?"),I("br",null,null,-1),n(" Nach dem Ausschalten muss die Ladestation komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")])),_:1})]),_:1},8,["modelValue"])]))]),_:1})}]]),DashBoardCard:z},props:{changesLocked:{required:!1,type:Boolean,default:!1}},data:()=>({mqttStore:y()})},[["render",function(w,e,h,S,u,m){const i=l("i-form-label"),a=l("i-column"),s=l("i-input"),d=l("i-row"),_=l("i-form-group"),g=l("reload-button"),r=l("reboot-button"),B=l("shutdown-button"),q=l("i-form"),v=l("i-container"),V=l("dash-board-card");return c(),f(V,{color:"primary"},{headerLeft:t(()=>e[0]||(e[0]=[n(" Status ")])),default:t(()=>[o(v,null,{default:t(()=>[o(q,null,{default:t(()=>[o(d,null,{default:t(()=>[o(a,null,{default:t(()=>[o(_,null,{default:t(()=>[o(d,{class:"_margin-top:2"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[1]||(e[1]=[n(" IP-Adresse ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_ip",plaintext:"","model-value":u.mqttStore.getSystemIp},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[2]||(e[2]=[n(" Systemzeit ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_time",plaintext:"","model-value":u.mqttStore.getSystemTime},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[3]||(e[3]=[n(" Version ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_version",plaintext:"","model-value":u.mqttStore.getSystemVersion},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[4]||(e[4]=[n(" Version (Details) ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_commit",plaintext:"","model-value":u.mqttStore.getSystemCurrentCommit},null,8,["model-value"])]),_:1})]),_:1}),o(d,{class:"_margin-top:1"},{default:t(()=>[o(a,{xl:"2",lg:"3",md:"4"},{default:t(()=>[o(i,null,{default:t(()=>e[5]||(e[5]=[n(" Entwicklungszweig ")])),_:1})]),_:1}),o(a,null,{default:t(()=>[o(s,{id:"input_system_branch",plaintext:"","model-value":u.mqttStore.getSystemBranch},null,8,["model-value"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1}),h.changesLocked?C("",!0):(c(),f(d,{key:0,class:"_margin-top:5",between:""},{default:t(()=>[o(a,null,{default:t(()=>[o(g,{block:""})]),_:1})]),_:1})),h.changesLocked?C("",!0):(c(),f(d,{key:1,between:""},{default:t(()=>[o(a,null,{default:t(()=>[o(r,{block:"",class:"_margin-top:2"})]),_:1}),o(a,null,{default:t(()=>[o(B,{block:"",class:"_margin-top:2"})]),_:1})]),_:1}))]),_:1})]),_:1})]),_:1})}]]);export{Z as default}; diff --git a/packages/modules/display_themes/cards/web/assets/index-BCcTh2Tv.js b/packages/modules/display_themes/cards/web/assets/index-BSB1CRIg.js similarity index 97% rename from packages/modules/display_themes/cards/web/assets/index-BCcTh2Tv.js rename to packages/modules/display_themes/cards/web/assets/index-BSB1CRIg.js index 29a2e44aae..e6f956abf3 100644 --- a/packages/modules/display_themes/cards/web/assets/index-BCcTh2Tv.js +++ b/packages/modules/display_themes/cards/web/assets/index-BSB1CRIg.js @@ -1,2 +1,2 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashBoardView-K8In7LJT.js","assets/DashBoardCard-BqIRnhnk.js","assets/vendor-inkline-CqnuQ_Go.js","assets/vendor-CFVb6_YQ.js","assets/vendor-inkline-BxOXWZNy.css","assets/DashBoardCard-Bl80pQ9w.css","assets/ChargePointPlugBadge-D7ai0q3I.js","assets/vendor-fortawesome-DhL64LM6.js","assets/ChargePointPlugBadge-HWp2u3dG.css","assets/DashBoardView-CZvLtoU0.css","assets/EnergyFlowView-BRDVZpdF.js","assets/EnergyFlowView-CMZu-SNR.css","assets/ChargePointsView-go1OQl3F.js","assets/ChargePointsView-ALIhGmhe.css","assets/StatusView-BneXgLoT.js"])))=>i.map(i=>d[i]); -import{o as p,e as P,k as f,x as k,f as B,j as W,F as T,H as F,q as d,l as C,n as c,i as y,A as I,s as l,I as E,y as A,R as H,J as R,K as U,L as z,M as G,N as K}from"./vendor-CFVb6_YQ.js";import{_ as b,I as J,c as Y}from"./vendor-inkline-CqnuQ_Go.js";import{l as $,f as L,a as q,F as O,b as Z,c as Q}from"./vendor-fortawesome-DhL64LM6.js";(function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const n of document.querySelectorAll('link[rel="modulepreload"]'))t(n);new MutationObserver(n=>{for(const a of n)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&t(i)}).observe(document,{childList:!0,subtree:!0})}function t(n){if(n.ep)return;n.ep=!0;const a=function(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}(n);fetch(n.href,a)}})();const X=b({name:"DateTime",data:()=>({dateTimeInterval:"",date:"",time:""}),mounted(){this.update(),this.dateTimeInterval=setInterval(this.update,1e3)},beforeUnmount(){clearInterval(this.dateTimeInterval)},methods:{update(){const e=new Date;this.date=e.toLocaleDateString(void 0,{weekday:"short",year:"numeric",month:"2-digit",day:"2-digit"}),this.time=e.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}}},[["render",function(e,t,n,a,i,o){return p(),P(T,null,[f(k(i.time),1),B(e.$slots,"default",{},()=>[t[0]||(t[0]=W("br",null,null,-1))]),f(k(i.date),1)],64)}]]),w=F("mqtt",{state:()=>({settings:{localIp:void 0,localBranch:void 0,localCommit:void 0,localVersion:void 0,parentChargePoint1:void 0,parentChargePoint2:void 0},topics:{},chartData:{}}),getters:{getChargePointFilter:e=>{let t=[];return e.settings.parentChargePoint1!==void 0&&t.push(e.settings.parentChargePoint1),e.settings.parentChargePoint2!==void 0&&t.push(e.settings.parentChargePoint2),t},getWildcardIndexList:e=>(t,n=!1)=>{let a=t;n||(a="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let i=Object.keys(e.topics).filter(o=>o.match(a));return i.forEach((o,r,s)=>{s[r]=parseInt(o.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),i},getWildcardTopics:e=>(t,n=!1)=>{let a=t;return n||(a="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(e.topics).filter(i=>i.match(a)).reduce((i,o)=>({...i,[o]:e.topics[o]}),{})},getObjectIds:e=>t=>function n(a){let i=[];return a!==void 0&&a.forEach(o=>{o.type==t&&i.push(o.id),i=[...i,...n(o.children)]}),i}(e.topics["openWB/counter/get/hierarchy"]),getValueBool:e=>(t,n=!1)=>{let a=e.topics[t];return a!==void 0?a:n},getValueString:e=>(t,n="W",a="",i=!0,o=!1,r="---",s=void 0)=>{var h=!1,g=e.topics[t];if(g===void 0||s!==void 0&&g[s]===void 0)m=r;else{s!==void 0&&(g=g[s]),o&&(g*=-1);for(var m=g.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0}),u=g;i&&(u>999||u<-999);)switch(u/=1e3,h=!0,a){case"":a="k";break;case"k":a="M";break;case"M":a="G"}m=u.toLocaleString(void 0,{minimumFractionDigits:h?2:0,maximumFractionDigits:h?2:0})}return{textValue:`${m} ${a}${n}`,value:g,unit:n,scaledValue:u,scaledUnit:`${a}${n}`}},getChartData:e=>t=>e.chartData[t]===void 0?[]:e.chartData[t],getDisplayStandby:e=>e.topics["openWB/optional/int_display/standby"],getThemeConfiguration:e=>{if("openWB/optional/int_display/theme"in e.topics&&e.topics["openWB/optional/int_display/theme"]!==void 0&&"configuration"in e.topics["openWB/optional/int_display/theme"])return e.topics["openWB/optional/int_display/theme"].configuration},getDashBoardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_view,getEnergyFlowEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_energy_flow_view,getChargePointsEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_charge_points_view,getStateEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_status_view,getGridCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_grid,getHomeCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_home_consumption,getBatteryCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_battery_sum,getChargePointsCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_charge_point_sum,getPvCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_inverter_sum,getLockChanges:e=>!e.getThemeConfiguration||e.getThemeConfiguration.lock_changes,getSimpleChargePointView:e=>!!e.getThemeConfiguration&&e.getThemeConfiguration.simple_charge_point_view,getGridId(e){let t=e.topics["openWB/counter/get/hierarchy"];if(t!==void 0&&Object.keys(t).length>0){let n=Object.keys(e.topics["openWB/counter/get/hierarchy"])[0];if(e.topics["openWB/counter/get/hierarchy"][n].type=="counter")return e.topics["openWB/counter/get/hierarchy"][n].id}},getGridPower:e=>(t="textValue")=>{let n=e.getGridId;if(n===void 0)return"---";let a=e.getValueString(`openWB/counter/${n}/get/power`,"W");return Object.hasOwnProperty.call(a,t)?a[t]:t=="object"?a:void 0},getGridPowerChartData(e){let t=e.getGridId;return t===void 0?[]:e.getChartData(`openWB/counter/${t}/get/power`)},getHomePower:e=>(t="textValue")=>{let n=e.getValueString("openWB/counter/set/home_consumption","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getHomePowerChartData:e=>e.getChartData("openWB/counter/set/home_consumption"),getBatteryConfigured:e=>e.getValueBool("openWB/bat/config/configured"),getBatteryPower:e=>(t="textValue")=>{let n=e.getValueString("openWB/bat/get/power","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getBatteryPowerChartData:e=>e.getChartData("openWB/bat/get/power"),getBatterySoc:e=>(t="textValue")=>{let n=e.getValueString("openWB/bat/get/soc","%","",!1);return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getBatterySocChartData:e=>e.getChartData("openWB/bat/get/soc"),getPvConfigured:e=>e.getValueBool("openWB/pv/config/configured"),getPvPower:e=>(t="textValue")=>{var n=e.getValueString("openWB/pv/get/power","W","",!0,!0);return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getPvPowerChartData:e=>e.getChartData("openWB/pv/get/power").map(t=>-1*t),getChargePointSumPower:e=>(t="textValue")=>{var n=e.getValueString("openWB/chargepoint/get/power","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getChargePointSumPowerChartData:e=>e.getChartData("openWB/chargepoint/get/power"),getChargePointIds(e){let t=e.getObjectIds("cp"),n=this.getChargePointFilter;return n.length>0?t.filter(a=>n.includes(a)):t},getChargePointName:e=>t=>e.topics[`openWB/chargepoint/${t}/config`]!==void 0?e.topics[`openWB/chargepoint/${t}/config`].name:"---",getChargePointPower:e=>(t,n="textValue")=>{var a=e.getValueString(`openWB/chargepoint/${t}/get/power`,"W");return Object.hasOwnProperty.call(a,n)?a[n]:n=="object"?a:void 0},getChargePointImportedSincePlugged:e=>t=>({energy:e.getValueString(`openWB/chargepoint/${t}/set/log`,"Wh","",!0,!1,"---","imported_since_plugged").textValue,range:e.getValueString(`openWB/chargepoint/${t}/set/log`,"m","k",!1,!1,"---","range_charged").textValue}),getChargePointPowerChartData:e=>t=>e.getChartData(`openWB/chargepoint/${t}/get/power`),getChargePointSetCurrent:e=>(t,n="textValue")=>{let a=e.getValueString(`openWB/chargepoint/${t}/set/current`,"A");return Object.hasOwnProperty.call(a,n)?a[n]:n=="object"?a:void 0},getChargePointPhasesInUse:e=>t=>{const n=["/","①","②","③"],a=e.topics[`openWB/chargepoint/${t}/get/phases_in_use`];return a!==void 0&&a>=0&&at=>e.getValueBool(`openWB/chargepoint/${t}/get/plug_state`),getChargePointChargeState:e=>t=>e.getValueBool(`openWB/chargepoint/${t}/get/charge_state`),getChargePointManualLock:e=>t=>e.getValueBool(`openWB/chargepoint/${t}/set/manual_lock`),getChargepointTagState:e=>t=>[void 0,null,""].includes(e.topics[`openWB/chargepoint/${t}/set/rfid`])?[void 0,null,""].includes(e.topics[`openWB/chargepoint/${t}/get/rfid`])?0:1:2,getChargePointConnectedVehicleConfig:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/config`],getChargePointConnectedVehicleChargeMode:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.translateChargeMode(e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.selected)},getChargePointConnectedVehiclePriority:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).prio},getChargePointConnectedVehicleInfo:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`],getChargePointConnectedVehicleId:e=>t=>{if(e.getChargePointConnectedVehicleInfo(t))return e.getChargePointConnectedVehicleInfo(t).id},getChargePointConnectedVehicleChargeTemplateIndex:e=>t=>{if(e.getChargePointConnectedVehicleConfig(t))return e.getChargePointConnectedVehicleConfig(t).charge_template},getChargePointConnectedVehicleChargeTemplate:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.topics[`openWB/vehicle/template/charge_template/${n}`]},getChargePointConnectedVehicleEvTemplate:e=>t=>{if(e.getChargePointConnectedVehicleConfig(t))return e.getChargePointConnectedVehicleConfig(t).ev_template},getChargePointConnectedVehicleName:e=>t=>{if(e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`])return e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`].name},getChargePointConnectedVehicleSoc:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/soc`],getChargePointConnectedVehicleTimeChargingActive:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).time_charging.active},getChargePointConnectedVehicleTimeChargingRunning:e=>t=>{let n=e.getChargePointConnectedVehicleConfig(t).time_charging_in_use;return n!==void 0&&n},getChargePointConnectedVehicleInstantChargingCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.instant_charging.current},getChargePointConnectedVehicleInstantChargingLimit:e=>t=>e.getChargePointConnectedVehicleChargeTemplate(t)?e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.instant_charging.limit:{selected:void 0},getChargePointConnectedVehiclePvChargingFeedInLimit:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.feed_in_limit},getChargePointConnectedVehiclePvChargingMinCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_current},getChargePointConnectedVehiclePvChargingMinSoc:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_soc},getChargePointConnectedVehiclePvChargingMinSocCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_soc_current},getChargePointConnectedVehiclePvChargingMaxSoc:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.max_soc},getChargePointConnectedVehicleScheduledChargingPlans:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.getWildcardTopics(`openWB/vehicle/template/charge_template/${n}/chargemode/scheduled_charging/plans/+`)},getChargePointConnectedVehicleTimeChargingPlans:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.getWildcardTopics(`openWB/vehicle/template/charge_template/${n}/time_charging/plans/+`)},getVehicleList:e=>e.getWildcardTopics("openWB/vehicle/+/name"),getVehicleName:e=>t=>e.topics[`openWB/vehicle/${t}/name`],getVehicleSocConfigured:e=>t=>e.topics[`openWB/vehicle/${t}/soc_module/config`].type!=null,getVehicleSocIsManual:e=>t=>e.topics[`openWB/vehicle/${t}/soc_module/config`].type=="manual",getVehicleFaultState:e=>t=>e.topics[`openWB/vehicle/${t}/get/fault_state`]?e.topics[`openWB/vehicle/${t}/get/fault_state`]:0,getSystemTime(e){if(e.topics["openWB/system/time"])return new Date(1e3*e.topics["openWB/system/time"]).toLocaleString()},getSystemIp:e=>e.settings.localIp!==void 0?e.settings.localIp:e.topics["openWB/system/ip_address"]?e.topics["openWB/system/ip_address"]:void 0,getSystemVersion:e=>e.settings.localVersion!==void 0?e.settings.localVersion:e.topics["openWB/system/version"]?e.topics["openWB/system/version"]:void 0,getSystemBranch:e=>e.settings.localBranch!==void 0?e.settings.localBranch:e.topics["openWB/system/current_branch"]?e.topics["openWB/system/current_branch"]:void 0,getSystemCurrentCommit:e=>e.settings.localCommit!==void 0?e.settings.localCommit:e.topics["openWB/system/current_commit"]?e.topics["openWB/system/current_commit"]:void 0,getRfidEnabled(){return this.getValueBool("openWB/optional/rfid/active")}},actions:{updateSetting(e,t){e in this.settings&&(this.settings[e]=t)},initTopic(e,t=void 0){e.includes("#")||e.includes("+")||this.addTopic(e,t)},addTopic(e,t){this.topics[e]=t},removeTopic(e){e.includes("#")||e.includes("+")?Object.keys(this.getWildcardTopics(e)).forEach(t=>{delete this.topics[t]}):delete this.topics[e]},updateTopic(e,t,n=void 0){var a,i,o;e in this.topics&&(n!=null?(a=this.topics[e],o=t,(i=n).split(".").reduce((r,s,h)=>r[s]=i.split(".").length===++h?o:r[s]||{},a)):this.topics[e]=t)},updateChartData(){for(const[e,t]of Object.entries(this.topics))(e.endsWith("home_consumption")||e.endsWith("power")||e.endsWith("soc"))&&(this.chartData[e]===void 0&&(this.chartData[e]=[]),t!=null&&(this.chartData[e].push(t),this.chartData[e].slice(-128)))},updateState(e,t,n=void 0){this.updateTopic(e,t,n)},chargeModeList(){var e=[{id:"instant_charging"},{id:"pv_charging"},{id:"scheduled_charging"},{id:"standby"},{id:"stop"}];return e.forEach(t=>{t.label=this.translateChargeMode(t.id).label,t.class=this.translateChargeMode(t.id).class}),e},translateChargeMode(e){switch(e){case"instant_charging":return{mode:e,label:"Sofort",class:"danger"};case"pv_charging":return{mode:e,label:"PV",class:"success"};case"scheduled_charging":return{mode:e,label:"Zielladen",class:"primary"};case"time_charging":return{mode:e,label:"Zeitladen",class:"warning"};case"standby":return{mode:e,label:"Standby",class:"secondary"};case"stop":return{mode:e,label:"Stop",class:"dark"};default:return{mode:e,label:e,class:e}}},checkChangesLockCode(e){return!(!this.getThemeConfiguration||this.getThemeConfiguration.lock_changes_code!=e)},formatDate:(e,t={year:"numeric",month:"2-digit",day:"2-digit"})=>new Date(e).toLocaleDateString(void 0,t),formatDateRange(e,t="-"){const n={year:"numeric",month:"2-digit",day:"2-digit"};let a={day:"2-digit"};const i=new Date(e[0]),o=new Date(e[1]);return i.getFullYear()==o.getFullYear()?i.getMonth()!=o.getMonth()&&(a.month=n.month):a=n,`${this.formatDate(e[0],a)}${t}${this.formatDate(e[1],n)}`},formatWeeklyScheduleDays(e){const t=["Mo","Di","Mi","Do","Fr","Sa","So"];let n=[];return e.forEach(function(a,i){a==1&&n.push(t[i])}),n.join(",")}}}),ee=b({name:"NavBar",components:{NavItem:b({name:"NavItem",props:{to:{type:Object,required:!0}}},[["render",function(e,t,n,a,i,o){const r=d("i-nav-item");return p(),C(r,{to:n.to,"active-class":"-active",class:"_border _border-color:primary _text-align:center"},{default:c(()=>[B(e.$slots,"default",{},void 0,!0)]),_:3},8,["to"])}],["__scopeId","data-v-1db6ae73"]])},data:()=>({mqttStore:w()})},[["render",function(e,t,n,a,i,o){const r=d("nav-item"),s=d("i-nav");return p(),C(s,{vertical:"",class:"_align-items:stretch",size:"lg"},{default:c(()=>[i.mqttStore.getDashBoardEnabled?(p(),C(r,{key:0,to:{name:"dash-board"}},{default:c(()=>t[0]||(t[0]=[f(" Übersicht ")])),_:1})):y("",!0),i.mqttStore.getEnergyFlowEnabled?(p(),C(r,{key:1,to:{name:"energy-flow"}},{default:c(()=>t[1]||(t[1]=[f(" Energiefluss ")])),_:1})):y("",!0),i.mqttStore.getChargePointsEnabled&&i.mqttStore.getChargePointIds.length>0?(p(),C(r,{key:2,to:{name:"charge-points"}},{default:c(()=>t[2]||(t[2]=[f(" Ladepunkte ")])),_:1})):y("",!0),i.mqttStore.getStateEnabled?(p(),C(r,{key:3,to:{name:"status"}},{default:c(()=>t[3]||(t[3]=[f(" Status ")])),_:1})):y("",!0)]),_:1})}]]);$.add(L,q);const te=b({name:"NumberPad",components:{FontAwesomeIcon:O},emits:["key:digit","key:clear","key:delete"],data:()=>({buttonRows:[[{value:1,label:"1"},{value:2,label:"2"},{value:3,label:"3"}],[{value:4,label:"4"},{value:5,label:"5"},{value:6,label:"6"}],[{value:7,label:"7"},{value:8,label:"8"},{value:9,label:"9"}]]}),methods:{emitDigit(e){this.$emit("key:digit",e)},emitClear(){this.$emit("key:clear")},emitDelete(){this.$emit("key:delete")}}},[["render",function(e,t,n,a,i,o){const r=d("i-button"),s=d("i-column"),h=d("i-row"),g=d("FontAwesomeIcon"),m=d("i-container");return p(),C(m,null,{default:c(()=>[(p(!0),P(T,null,I(i.buttonRows,u=>(p(),C(h,{key:u,center:"",class:"_padding-bottom:1"},{default:c(()=>[(p(!0),P(T,null,I(u,_=>(p(),C(s,{key:_.value,class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:v=>o.emitDigit(_.value)},{default:c(()=>[f(k(_.label),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:2},1024))),128)),l(h,{center:""},{default:c(()=>[l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[0]||(t[0]=u=>o.emitClear())},{default:c(()=>[l(g,{"fixed-width":"",icon:["fas","fa-eraser"]})]),_:1})]),_:1}),l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[1]||(t[1]=u=>o.emitDigit("0"))},{default:c(()=>t[3]||(t[3]=[f(" 0 ")])),_:1})]),_:1}),l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[2]||(t[2]=u=>o.emitDelete())},{default:c(()=>[l(g,{"fixed-width":"",icon:["fas","fa-delete-left"]})]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-4e2103db"]]),ne=b({name:"CodeInputModal",components:{NumberPad:te},props:{modelValue:{type:Boolean,required:!0},backgroundColor:{type:String,default:"warning"},placeholderCharacter:{type:String,default:"*",validator:e=>e.length==1},inputVisible:{type:Boolean,default:!1},minLength:{type:Number,default:4},maxLength:{type:Number,default:4}},emits:["update:modelValue","update:inputValue"],data(){return{number:"",modalBackground:this.backgroundColor}},computed:{placeholder(){return this.placeholderCharacter.repeat(this.minLength)},enableSubmit(){return this.number.length>=this.minLength&&this.number.length<=this.maxLength}},watch:{modelValue(e,t){e===!1&&t===!0&&this.clear()}},methods:{abort(){this.$emit("update:modelValue",!1)},addDigit(e){this.number.length{this.$emit("update:modelValue",!1),this.modalBackground=this.backgroundColor},500)},error(e="danger"){this.modalBackground=e,setTimeout(()=>{this.clear(),this.modalBackground=this.backgroundColor},2e3)}}},[["render",function(e,t,n,a,i,o){const r=d("i-input"),s=d("i-column"),h=d("i-row"),g=d("NumberPad"),m=d("i-container"),u=d("i-button"),_=d("i-modal");return p(),C(E,{to:"body"},[l(_,{"model-value":n.modelValue,color:i.modalBackground,"onUpdate:modelValue":t[4]||(t[4]=v=>e.$emit("update:modelValue",v))},{header:c(()=>[B(e.$slots,"header",{},()=>[t[5]||(t[5]=f(" **HEADER** "))])]),footer:c(()=>[l(m,null,{default:c(()=>[l(h,null,{default:c(()=>[l(s,null,{default:c(()=>[l(u,{color:"danger",onClick:o.abort},{default:c(()=>[B(e.$slots,"abort",{},()=>[t[6]||(t[6]=f(" Zurück "))])]),_:3},8,["onClick"])]),_:3}),l(s,{class:"_text-align:right"},{default:c(()=>[o.enableSubmit?(p(),C(u,{key:0,color:"success",onClick:o.submit},{default:c(()=>[B(e.$slots,"submit",{},()=>[t[7]||(t[7]=f(" OK "))])]),_:3},8,["onClick"])):y("",!0)]),_:3})]),_:3})]),_:3})]),default:c(()=>[l(m,null,{default:c(()=>[l(h,{center:"",class:"_padding-bottom:1"},{default:c(()=>[l(s,null,{default:c(()=>[l(r,{modelValue:i.number,"onUpdate:modelValue":t[0]||(t[0]=v=>i.number=v),placeholder:o.placeholder,readonly:"",size:"lg",type:n.inputVisible?"text":"password",class:"_text-align:center"},null,8,["modelValue","placeholder","type"])]),_:1})]),_:1}),l(g,{"onKey:digit":t[1]||(t[1]=v=>o.addDigit(v)),"onKey:clear":t[2]||(t[2]=v=>o.clear()),"onKey:delete":t[3]||(t[3]=v=>o.removeDigit(v))})]),_:1})]),_:3},8,["model-value","color"])])}]]);$.add(Z,Q,L,q);const oe={key:0,class:"_padding-left:1"},x="/openWB/web/display/themes/cards/openWB_logo_dark.png",ae=b({name:"OpenwbDisplayCardsApp",components:{RouterView:H,DateTime:X,NavBar:ee,LockNavItem:b({name:"LockNavItem",components:{FontAwesomeIcon:O,CodeInputModal:ne},props:{},data:()=>({mqttStore:w(),modalPinEntryVisible:!1,modalPinEntryColor:"warning",code:"",countdown:0,countdownInterval:void 0,events:["mousemove","touchmove","wheel","click"]}),computed:{changesLocked:{get(){return this.mqttStore.settings.changesLocked},set(e){this.mqttStore.settings.changesLocked=e}},timer(){return Math.trunc(this.countdown/60).toString()+":"+(this.countdown%60).toString().padStart(2,"0")}},mounted(){this.changesLocked=!0},methods:{toggleChangesLock(){this.changesLocked?this.unlockChanges():this.lockChanges()},unlockChanges(){this.modalPinEntryVisible=!0},checkUnlockCode(e){this.mqttStore.checkChangesLockCode(e)?(this.$refs.lockInput.success("success"),this.changesLocked=!1,this.mqttStore.getDisplayStandby>0&&(this.countdown=this.mqttStore.getDisplayStandby,this.countdownInterval=setInterval(this.updateCountdown,1e3),this.events.forEach(t=>{document.addEventListener(t,this.handleDocumentEvent,{passive:!0})}))):this.$refs.lockInput.error("danger")},lockChanges(){this.changesLocked=!0,this.events.forEach(e=>{document.removeEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.countdownInterval!==void 0&&(clearInterval(this.countdownInterval),this.countdownInterval=void 0)},updateCountdown(){this.countdown-=1,this.countdown<1&&this.lockChanges()},handleDocumentEvent(){this.countdown=this.mqttStore.getDisplayStandby}}},[["render",function(e,t,n,a,i,o){const r=d("FontAwesomeIcon"),s=d("i-button"),h=d("CodeInputModal");return p(),P(T,null,[i.mqttStore.getLockChanges?(p(),C(s,{key:0,class:"_padding-left:0 _padding-right:0 _margin-bottom:1",size:"lg",block:"",color:o.changesLocked?"danger":"success",onClick:t[0]||(t[0]=g=>o.toggleChangesLock())},{default:c(()=>[l(r,{"fixed-width":"",icon:o.changesLocked?["fas","fa-lock"]:["fas","fa-lock-open"],class:A(o.changesLocked?"_color:danger-80":"_color:success-80")},null,8,["icon","class"]),!o.changesLocked&&i.countdownInterval?(p(),P("span",oe,k(o.timer),1)):y("",!0)]),_:1},8,["color"])):y("",!0),l(h,{ref:"lockInput",modelValue:i.modalPinEntryVisible,"onUpdate:modelValue":t[1]||(t[1]=g=>i.modalPinEntryVisible=g),"min-length":4,"max-length":10,"onUpdate:inputValue":o.checkUnlockCode},{header:c(()=>t[2]||(t[2]=[f(" Bitte den PIN zur Freigabe von Änderungen eingeben. ")])),_:1},8,["modelValue","onUpdate:inputValue"])],64)}]]),TouchBlocker:b({name:"TouchBlocker",data:()=>({mqttStore:w(),show:!1,countdown:void 0,countdownInterval:void 0,events:["mousemove","touchmove","wheel","click"],eventHandlerSetup:!1}),computed:{configuredDisplayStandby(){if(this.mqttStore.getDisplayStandby!==0&&this.mqttStore.getDisplayStandby!==void 0)return this.mqttStore.getDisplayStandby},touchBlockerTimeout(){return Math.max(this.configuredDisplayStandby-3,1)}},mounted(){this.setupEventHandler(),this.setupTimeout()},unmounted(){this.clearEventHandler(),this.clearTimeout()},methods:{handleTouchBlockerClick(e){e===!1&&(this.show=!1,this.setupEventHandler(),this.setupTimeout())},setupEventHandler(){this.eventHandlerSetup||(this.events.forEach(e=>{document.addEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.eventHandlerSetup=!0)},clearEventHandler(){this.eventHandlerSetup&&(this.events.forEach(e=>{document.removeEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.eventHandlerSetup=!1)},setupTimeout(){this.countdownInterval===void 0&&(this.countdownInterval=setInterval(this.updateCountdown,1e3))},clearTimeout(){this.countdownInterval!==void 0&&(clearInterval(this.countdownInterval),this.countdownInterval=void 0)},updateCountdown(){this.countdown===void 0?this.countdown=this.touchBlockerTimeout:(this.countdown-=1,this.countdown<1&&this.showTouchBlocker())},handleDocumentEvent(){this.countdown=this.touchBlockerTimeout,this.show=!1},showTouchBlocker(){this.show=!0,this.clearTimeout()}}},[["render",function(e,t,n,a,i,o){const r=d("IModal");return p(),C(E,{to:"body"},[l(r,{class:"touch-blocker",size:"sm",color:"dark","model-value":i.show,"onUpdate:modelValue":t[0]||(t[0]=s=>o.handleTouchBlockerClick(s))},{default:c(()=>t[1]||(t[1]=[W("img",{class:"logo",src:x},null,-1),W("p",null," Bitte das Display berühren. ",-1)])),_:1},8,["model-value"])])}],["__scopeId","data-v-e4e632d4"]])},data:()=>({client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3},mqttTopicsToSubscribe:["openWB/bat/config/configured","openWB/bat/get/power","openWB/bat/get/soc","openWB/chargepoint/+/config","openWB/chargepoint/+/get/charge_state","openWB/chargepoint/+/get/connected_vehicle/+","openWB/chargepoint/+/get/phases_in_use","openWB/chargepoint/+/get/plug_state","openWB/chargepoint/+/get/power","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/set/current","openWB/chargepoint/+/set/manual_lock","openWB/chargepoint/+/set/log","openWB/chargepoint/+/set/rfid","openWB/chargepoint/get/power","openWB/counter/+/get/power","openWB/counter/get/hierarchy","openWB/counter/set/home_consumption","openWB/optional/int_display/theme","openWB/optional/int_display/standby","openWB/optional/rfid/active","openWB/pv/config/configured","openWB/pv/get/power","openWB/system/current_branch","openWB/system/current_commit","openWB/system/ip_address","openWB/system/time","openWB/system/version","openWB/vehicle/+/get/fault_state","openWB/vehicle/+/name","openWB/vehicle/+/soc_module/config","openWB/vehicle/template/charge_template/#"],mqttStore:w(),chartInterval:"",clearConsoleHandler:void 0}),computed:{changesLocked(){return this.mqttStore.getLockChanges&&this.mqttStore.settings.changesLocked}},created(){this.createConnection()},mounted(){let e=window.location.search;if(e!=""){let a=new URLSearchParams(e);if(a.has("data")){let i=JSON.parse(a.get("data"));Object.entries(i).forEach(([o,r])=>{o.startsWith("parentChargePoint")?this.mqttStore.updateSetting(o,parseInt(r)):this.mqttStore.updateSetting(o,r)})}}this.doSubscribe(this.mqttTopicsToSubscribe),this.chartInterval=setInterval(this.mqttStore.updateChartData,5e3);const t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()+1,0,0,0,0).getTime()-t.getTime();this.clearConsoleHandler=setTimeout(()=>this.clearConsole(),n)},beforeUnmount(){this.doUnsubscribe(this.mqttTopicsToSubscribe),clearInterval(this.chartInterval),clearTimeout(this.clearConsoleHandler)},methods:{clearConsole(){this.clearConsoleHandler=setTimeout(()=>this.clearConsole(),864e5)},createConnection(){const{protocol:e,host:t,port:n,endpoint:a,...i}=this.connection,o=`${e}://${t}:${n}${a}`;try{this.client=R.connect(o,i)}catch{}this.client.on("connect",()=>{}),this.client.on("error",r=>{}),this.client.on("message",(r,s)=>{if(s.toString().length>0){let h;try{h=JSON.parse(s.toString())}catch{h=s.toString()}this.mqttStore.addTopic(r,h)}else this.mqttStore.removeTopic(r)})},doSubscribe(e){e.forEach(t=>{this.mqttStore.initTopic(t)}),this.client.subscribe(e,{},t=>{})},doUnsubscribe(e){e.forEach(t=>{this.mqttStore.removeTopic(t)}),this.client.unsubscribe(e,t=>{})},doPublish(e,t,n=!0,a=2){let i={qos:a,retain:n};this.client.publish(e,JSON.stringify(t),i,o=>{})},sendTopicToBroker(e,t=void 0){let n=e.replace("openWB/","openWB/set/");t===void 0&&(t=this.mqttStore.topics[e]),this.doPublish(n,t)},sendCommand(e){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",e,!1)},sendSystemCommand(e,t={}){this.sendCommand({command:e,data:t})}}},[["render",function(e,t,n,a,i,o){const r=d("DateTime"),s=d("i-column"),h=d("i-row"),g=d("i-container"),m=d("LockNavItem"),u=d("NavBar"),_=d("TouchBlocker"),v=d("i-layout-aside"),j=d("RouterView"),M=d("i-layout-content"),N=d("i-layout");return p(),C(N,{vertical:""},{default:c(()=>[l(v,{class:"_position:fixed"},{default:c(()=>[l(g,{fluid:"",class:"_margin-bottom:1"},{default:c(()=>[l(h,{center:""},{default:c(()=>[l(s,null,{default:c(()=>[l(r)]),_:1})]),_:1})]),_:1}),l(m),l(u,{"changes-locked":o.changesLocked},null,8,["changes-locked"]),l(_)]),_:1}),l(M,null,{default:c(()=>[l(j,{"changes-locked":o.changesLocked},null,8,["changes-locked"])]),_:1})]),_:1})}],["__scopeId","data-v-6804b914"]]),D={},S=function(e,t,n){let a=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),r=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));a=Promise.allSettled(t.map(s=>{if((s=function(u){return"/openWB/web/display/themes/cards/"+u}(s))in D)return;D[s]=!0;const h=s.endsWith(".css"),g=h?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${g}`))return;const m=document.createElement("link");return m.rel=h?"stylesheet":"modulepreload",h||(m.as="script"),m.crossOrigin="",m.href=s,r&&m.setAttribute("nonce",r),document.head.appendChild(m),h?new Promise((u,_)=>{m.addEventListener("load",u),m.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${s}`)))}):void 0}))}function i(o){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=o,window.dispatchEvent(r),!r.defaultPrevented)throw o}return a.then(o=>{for(const r of o||[])r.status==="rejected"&&i(r.reason);return e().catch(i)})},ie=b({name:"WelcomeView",data:()=>({mqttStore:w()}),computed:{firstView(){if(this.mqttStore.getThemeConfiguration){if(this.mqttStore.getThemeConfiguration.enable_dashboard_view)return"dash-board";if(this.mqttStore.getThemeConfiguration.enable_energy_flow_view)return"energy-flow";if(this.mqttStore.getThemeConfiguration.enable_charge_points_view)return"charge-points";if(this.mqttStore.getThemeConfiguration.enable_status_view)return"status"}}},mounted(){setTimeout(this.selectFirstRoute,3e3)},methods:{selectFirstRoute(){this.firstView&&this.$router.push({name:this.firstView})}}},[["render",function(e,t,n,a,i,o){const r=d("i-card"),s=d("i-column"),h=d("i-row"),g=d("i-container");return p(),C(g,null,{default:c(()=>[l(h,{center:"",middle:""},{default:c(()=>[l(s,null,{default:c(()=>[l(r,{color:"primary"},{header:c(()=>t[0]||(t[0]=[f(" Cards Theme ")])),default:c(()=>[t[1]||(t[1]=W("img",{class:"logo",src:x},null,-1))]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-16686e30"]]),re=U({history:z("/openWB/web/display/themes/cards/"),routes:[{path:"/",name:"welcome",component:ie},{path:"/DashBoard",name:"dash-board",component:()=>S(()=>import("./DashBoardView-K8In7LJT.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))},{path:"/EnergyFlow",name:"energy-flow",component:()=>S(()=>import("./EnergyFlowView-BRDVZpdF.js"),__vite__mapDeps([10,1,2,3,4,5,7,11]))},{path:"/ChargePoints",name:"charge-points",component:()=>S(()=>import("./ChargePointsView-go1OQl3F.js"),__vite__mapDeps([12,1,2,3,4,5,6,7,8,13]))},{path:"/Status",name:"status",component:()=>S(()=>import("./StatusView-BneXgLoT.js"),__vite__mapDeps([14,7,3,2,4,1,5]))}]}),V=G(ae);V.use(K()),V.use(re),V.use(J,{colorMode:"dark",components:Y}),V.mount("#app");export{ne as C,te as N,w as u}; +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/DashBoardView-BtH7_3ju.js","assets/DashBoardCard-Ds7Ht92x.js","assets/vendor-inkline-CWAydWlY.js","assets/vendor-DIlzVmqi.js","assets/vendor-inkline-BxOXWZNy.css","assets/DashBoardCard-Bl80pQ9w.css","assets/ChargePointPlugBadge-CV-eneFK.js","assets/vendor-fortawesome--vLnJNbG.js","assets/ChargePointPlugBadge-HWp2u3dG.css","assets/DashBoardView-CZvLtoU0.css","assets/EnergyFlowView-0uD4UqSR.js","assets/EnergyFlowView-CMZu-SNR.css","assets/ChargePointsView-B2Qojiic.js","assets/ChargePointsView-ALIhGmhe.css","assets/StatusView-BcF0Zv5l.js"])))=>i.map(i=>d[i]); +import{o as p,e as P,k as f,x as k,f as B,j as W,F as T,H as F,q as d,l as C,n as c,i as y,A as I,s as l,I as E,y as A,R as H,J as R,K as U,L as z,M as G,N as K}from"./vendor-DIlzVmqi.js";import{_ as b,I as J,c as Y}from"./vendor-inkline-CWAydWlY.js";import{l as $,f as L,a as q,F as O,b as Z,c as Q}from"./vendor-fortawesome--vLnJNbG.js";(function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const n of document.querySelectorAll('link[rel="modulepreload"]'))t(n);new MutationObserver(n=>{for(const a of n)if(a.type==="childList")for(const i of a.addedNodes)i.tagName==="LINK"&&i.rel==="modulepreload"&&t(i)}).observe(document,{childList:!0,subtree:!0})}function t(n){if(n.ep)return;n.ep=!0;const a=function(i){const o={};return i.integrity&&(o.integrity=i.integrity),i.referrerPolicy&&(o.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?o.credentials="include":i.crossOrigin==="anonymous"?o.credentials="omit":o.credentials="same-origin",o}(n);fetch(n.href,a)}})();const X=b({name:"DateTime",data:()=>({dateTimeInterval:"",date:"",time:""}),mounted(){this.update(),this.dateTimeInterval=setInterval(this.update,1e3)},beforeUnmount(){clearInterval(this.dateTimeInterval)},methods:{update(){const e=new Date;this.date=e.toLocaleDateString(void 0,{weekday:"short",year:"numeric",month:"2-digit",day:"2-digit"}),this.time=e.toLocaleTimeString(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"})}}},[["render",function(e,t,n,a,i,o){return p(),P(T,null,[f(k(i.time),1),B(e.$slots,"default",{},()=>[t[0]||(t[0]=W("br",null,null,-1))]),f(k(i.date),1)],64)}]]),w=F("mqtt",{state:()=>({settings:{localIp:void 0,localBranch:void 0,localCommit:void 0,localVersion:void 0,parentChargePoint1:void 0,parentChargePoint2:void 0},topics:{},chartData:{}}),getters:{getChargePointFilter:e=>{let t=[];return e.settings.parentChargePoint1!==void 0&&t.push(e.settings.parentChargePoint1),e.settings.parentChargePoint2!==void 0&&t.push(e.settings.parentChargePoint2),t},getWildcardIndexList:e=>(t,n=!1)=>{let a=t;n||(a="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let i=Object.keys(e.topics).filter(o=>o.match(a));return i.forEach((o,r,s)=>{s[r]=parseInt(o.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),i},getWildcardTopics:e=>(t,n=!1)=>{let a=t;return n||(a="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(e.topics).filter(i=>i.match(a)).reduce((i,o)=>({...i,[o]:e.topics[o]}),{})},getObjectIds:e=>t=>function n(a){let i=[];return a!==void 0&&a.forEach(o=>{o.type==t&&i.push(o.id),i=[...i,...n(o.children)]}),i}(e.topics["openWB/counter/get/hierarchy"]),getValueBool:e=>(t,n=!1)=>{let a=e.topics[t];return a!==void 0?a:n},getValueString:e=>(t,n="W",a="",i=!0,o=!1,r="---",s=void 0)=>{var h=!1,g=e.topics[t];if(g===void 0||s!==void 0&&g[s]===void 0)m=r;else{s!==void 0&&(g=g[s]),o&&(g*=-1);for(var m=g.toLocaleString(void 0,{minimumFractionDigits:0,maximumFractionDigits:0}),u=g;i&&(u>999||u<-999);)switch(u/=1e3,h=!0,a){case"":a="k";break;case"k":a="M";break;case"M":a="G"}m=u.toLocaleString(void 0,{minimumFractionDigits:h?2:0,maximumFractionDigits:h?2:0})}return{textValue:`${m} ${a}${n}`,value:g,unit:n,scaledValue:u,scaledUnit:`${a}${n}`}},getChartData:e=>t=>e.chartData[t]===void 0?[]:e.chartData[t],getDisplayStandby:e=>e.topics["openWB/optional/int_display/standby"],getThemeConfiguration:e=>{if("openWB/optional/int_display/theme"in e.topics&&e.topics["openWB/optional/int_display/theme"]!==void 0&&"configuration"in e.topics["openWB/optional/int_display/theme"])return e.topics["openWB/optional/int_display/theme"].configuration},getDashBoardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_view,getEnergyFlowEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_energy_flow_view,getChargePointsEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_charge_points_view,getStateEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_status_view,getGridCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_grid,getHomeCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_home_consumption,getBatteryCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_battery_sum,getChargePointsCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_charge_point_sum,getPvCardEnabled:e=>!e.getThemeConfiguration||e.getThemeConfiguration.enable_dashboard_card_inverter_sum,getLockChanges:e=>!e.getThemeConfiguration||e.getThemeConfiguration.lock_changes,getSimpleChargePointView:e=>!!e.getThemeConfiguration&&e.getThemeConfiguration.simple_charge_point_view,getGridId(e){let t=e.topics["openWB/counter/get/hierarchy"];if(t!==void 0&&Object.keys(t).length>0){let n=Object.keys(e.topics["openWB/counter/get/hierarchy"])[0];if(e.topics["openWB/counter/get/hierarchy"][n].type=="counter")return e.topics["openWB/counter/get/hierarchy"][n].id}},getGridPower:e=>(t="textValue")=>{let n=e.getGridId;if(n===void 0)return"---";let a=e.getValueString(`openWB/counter/${n}/get/power`,"W");return Object.hasOwnProperty.call(a,t)?a[t]:t=="object"?a:void 0},getGridPowerChartData(e){let t=e.getGridId;return t===void 0?[]:e.getChartData(`openWB/counter/${t}/get/power`)},getHomePower:e=>(t="textValue")=>{let n=e.getValueString("openWB/counter/set/home_consumption","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getHomePowerChartData:e=>e.getChartData("openWB/counter/set/home_consumption"),getBatteryConfigured:e=>e.getValueBool("openWB/bat/config/configured"),getBatteryPower:e=>(t="textValue")=>{let n=e.getValueString("openWB/bat/get/power","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getBatteryPowerChartData:e=>e.getChartData("openWB/bat/get/power"),getBatterySoc:e=>(t="textValue")=>{let n=e.getValueString("openWB/bat/get/soc","%","",!1);return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getBatterySocChartData:e=>e.getChartData("openWB/bat/get/soc"),getPvConfigured:e=>e.getValueBool("openWB/pv/config/configured"),getPvPower:e=>(t="textValue")=>{var n=e.getValueString("openWB/pv/get/power","W","",!0,!0);return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getPvPowerChartData:e=>e.getChartData("openWB/pv/get/power").map(t=>-1*t),getChargePointSumPower:e=>(t="textValue")=>{var n=e.getValueString("openWB/chargepoint/get/power","W");return Object.hasOwnProperty.call(n,t)?n[t]:t=="object"?n:void 0},getChargePointSumPowerChartData:e=>e.getChartData("openWB/chargepoint/get/power"),getChargePointIds(e){let t=e.getObjectIds("cp"),n=this.getChargePointFilter;return n.length>0?t.filter(a=>n.includes(a)):t},getChargePointName:e=>t=>e.topics[`openWB/chargepoint/${t}/config`]!==void 0?e.topics[`openWB/chargepoint/${t}/config`].name:"---",getChargePointPower:e=>(t,n="textValue")=>{var a=e.getValueString(`openWB/chargepoint/${t}/get/power`,"W");return Object.hasOwnProperty.call(a,n)?a[n]:n=="object"?a:void 0},getChargePointImportedSincePlugged:e=>t=>({energy:e.getValueString(`openWB/chargepoint/${t}/set/log`,"Wh","",!0,!1,"---","imported_since_plugged").textValue,range:e.getValueString(`openWB/chargepoint/${t}/set/log`,"m","k",!1,!1,"---","range_charged").textValue}),getChargePointPowerChartData:e=>t=>e.getChartData(`openWB/chargepoint/${t}/get/power`),getChargePointSetCurrent:e=>(t,n="textValue")=>{let a=e.getValueString(`openWB/chargepoint/${t}/set/current`,"A");return Object.hasOwnProperty.call(a,n)?a[n]:n=="object"?a:void 0},getChargePointPhasesInUse:e=>t=>{const n=["/","①","②","③"],a=e.topics[`openWB/chargepoint/${t}/get/phases_in_use`];return a!==void 0&&a>=0&&at=>e.getValueBool(`openWB/chargepoint/${t}/get/plug_state`),getChargePointChargeState:e=>t=>e.getValueBool(`openWB/chargepoint/${t}/get/charge_state`),getChargePointManualLock:e=>t=>e.getValueBool(`openWB/chargepoint/${t}/set/manual_lock`),getChargepointTagState:e=>t=>[void 0,null,""].includes(e.topics[`openWB/chargepoint/${t}/set/rfid`])?[void 0,null,""].includes(e.topics[`openWB/chargepoint/${t}/get/rfid`])?0:1:2,getChargePointConnectedVehicleConfig:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/config`],getChargePointConnectedVehicleChargeMode:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.translateChargeMode(e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.selected)},getChargePointConnectedVehiclePriority:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).prio},getChargePointConnectedVehicleInfo:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`],getChargePointConnectedVehicleId:e=>t=>{if(e.getChargePointConnectedVehicleInfo(t))return e.getChargePointConnectedVehicleInfo(t).id},getChargePointConnectedVehicleChargeTemplateIndex:e=>t=>{if(e.getChargePointConnectedVehicleConfig(t))return e.getChargePointConnectedVehicleConfig(t).charge_template},getChargePointConnectedVehicleChargeTemplate:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.topics[`openWB/vehicle/template/charge_template/${n}`]},getChargePointConnectedVehicleEvTemplate:e=>t=>{if(e.getChargePointConnectedVehicleConfig(t))return e.getChargePointConnectedVehicleConfig(t).ev_template},getChargePointConnectedVehicleName:e=>t=>{if(e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`])return e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/info`].name},getChargePointConnectedVehicleSoc:e=>t=>e.topics[`openWB/chargepoint/${t}/get/connected_vehicle/soc`],getChargePointConnectedVehicleTimeChargingActive:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).time_charging.active},getChargePointConnectedVehicleTimeChargingRunning:e=>t=>{let n=e.getChargePointConnectedVehicleConfig(t).time_charging_in_use;return n!==void 0&&n},getChargePointConnectedVehicleInstantChargingCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.instant_charging.current},getChargePointConnectedVehicleInstantChargingLimit:e=>t=>e.getChargePointConnectedVehicleChargeTemplate(t)?e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.instant_charging.limit:{selected:void 0},getChargePointConnectedVehiclePvChargingFeedInLimit:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.feed_in_limit},getChargePointConnectedVehiclePvChargingMinCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_current},getChargePointConnectedVehiclePvChargingMinSoc:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_soc},getChargePointConnectedVehiclePvChargingMinSocCurrent:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.min_soc_current},getChargePointConnectedVehiclePvChargingMaxSoc:e=>t=>{if(e.getChargePointConnectedVehicleChargeTemplate(t))return e.getChargePointConnectedVehicleChargeTemplate(t).chargemode.pv_charging.max_soc},getChargePointConnectedVehicleScheduledChargingPlans:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.getWildcardTopics(`openWB/vehicle/template/charge_template/${n}/chargemode/scheduled_charging/plans/+`)},getChargePointConnectedVehicleTimeChargingPlans:e=>t=>{let n=e.getChargePointConnectedVehicleChargeTemplateIndex(t);return e.getWildcardTopics(`openWB/vehicle/template/charge_template/${n}/time_charging/plans/+`)},getVehicleList:e=>e.getWildcardTopics("openWB/vehicle/+/name"),getVehicleName:e=>t=>e.topics[`openWB/vehicle/${t}/name`],getVehicleSocConfigured:e=>t=>e.topics[`openWB/vehicle/${t}/soc_module/config`].type!=null,getVehicleSocIsManual:e=>t=>e.topics[`openWB/vehicle/${t}/soc_module/config`].type=="manual",getVehicleFaultState:e=>t=>e.topics[`openWB/vehicle/${t}/get/fault_state`]?e.topics[`openWB/vehicle/${t}/get/fault_state`]:0,getSystemTime(e){if(e.topics["openWB/system/time"])return new Date(1e3*e.topics["openWB/system/time"]).toLocaleString()},getSystemIp:e=>e.settings.localIp!==void 0?e.settings.localIp:e.topics["openWB/system/ip_address"]?e.topics["openWB/system/ip_address"]:void 0,getSystemVersion:e=>e.settings.localVersion!==void 0?e.settings.localVersion:e.topics["openWB/system/version"]?e.topics["openWB/system/version"]:void 0,getSystemBranch:e=>e.settings.localBranch!==void 0?e.settings.localBranch:e.topics["openWB/system/current_branch"]?e.topics["openWB/system/current_branch"]:void 0,getSystemCurrentCommit:e=>e.settings.localCommit!==void 0?e.settings.localCommit:e.topics["openWB/system/current_commit"]?e.topics["openWB/system/current_commit"]:void 0,getRfidEnabled(){return this.getValueBool("openWB/optional/rfid/active")}},actions:{updateSetting(e,t){e in this.settings&&(this.settings[e]=t)},initTopic(e,t=void 0){e.includes("#")||e.includes("+")||this.addTopic(e,t)},addTopic(e,t){this.topics[e]=t},removeTopic(e){e.includes("#")||e.includes("+")?Object.keys(this.getWildcardTopics(e)).forEach(t=>{delete this.topics[t]}):delete this.topics[e]},updateTopic(e,t,n=void 0){var a,i,o;e in this.topics&&(n!=null?(a=this.topics[e],o=t,(i=n).split(".").reduce((r,s,h)=>r[s]=i.split(".").length===++h?o:r[s]||{},a)):this.topics[e]=t)},updateChartData(){for(const[e,t]of Object.entries(this.topics))(e.endsWith("home_consumption")||e.endsWith("power")||e.endsWith("soc"))&&(this.chartData[e]===void 0&&(this.chartData[e]=[]),t!=null&&(this.chartData[e].push(t),this.chartData[e].slice(-128)))},updateState(e,t,n=void 0){this.updateTopic(e,t,n)},chargeModeList(){var e=[{id:"instant_charging"},{id:"pv_charging"},{id:"scheduled_charging"},{id:"standby"},{id:"stop"}];return e.forEach(t=>{t.label=this.translateChargeMode(t.id).label,t.class=this.translateChargeMode(t.id).class}),e},translateChargeMode(e){switch(e){case"instant_charging":return{mode:e,label:"Sofort",class:"danger"};case"pv_charging":return{mode:e,label:"PV",class:"success"};case"scheduled_charging":return{mode:e,label:"Zielladen",class:"primary"};case"time_charging":return{mode:e,label:"Zeitladen",class:"warning"};case"standby":return{mode:e,label:"Standby",class:"secondary"};case"stop":return{mode:e,label:"Stop",class:"dark"};default:return{mode:e,label:e,class:e}}},checkChangesLockCode(e){return!(!this.getThemeConfiguration||this.getThemeConfiguration.lock_changes_code!=e)},formatDate:(e,t={year:"numeric",month:"2-digit",day:"2-digit"})=>new Date(e).toLocaleDateString(void 0,t),formatDateRange(e,t="-"){const n={year:"numeric",month:"2-digit",day:"2-digit"};let a={day:"2-digit"};const i=new Date(e[0]),o=new Date(e[1]);return i.getFullYear()==o.getFullYear()?i.getMonth()!=o.getMonth()&&(a.month=n.month):a=n,`${this.formatDate(e[0],a)}${t}${this.formatDate(e[1],n)}`},formatWeeklyScheduleDays(e){const t=["Mo","Di","Mi","Do","Fr","Sa","So"];let n=[];return e.forEach(function(a,i){a==1&&n.push(t[i])}),n.join(",")}}}),ee=b({name:"NavBar",components:{NavItem:b({name:"NavItem",props:{to:{type:Object,required:!0}}},[["render",function(e,t,n,a,i,o){const r=d("i-nav-item");return p(),C(r,{to:n.to,"active-class":"-active",class:"_border _border-color:primary _text-align:center"},{default:c(()=>[B(e.$slots,"default",{},void 0,!0)]),_:3},8,["to"])}],["__scopeId","data-v-1db6ae73"]])},data:()=>({mqttStore:w()})},[["render",function(e,t,n,a,i,o){const r=d("nav-item"),s=d("i-nav");return p(),C(s,{vertical:"",class:"_align-items:stretch",size:"lg"},{default:c(()=>[i.mqttStore.getDashBoardEnabled?(p(),C(r,{key:0,to:{name:"dash-board"}},{default:c(()=>t[0]||(t[0]=[f(" Übersicht ")])),_:1})):y("",!0),i.mqttStore.getEnergyFlowEnabled?(p(),C(r,{key:1,to:{name:"energy-flow"}},{default:c(()=>t[1]||(t[1]=[f(" Energiefluss ")])),_:1})):y("",!0),i.mqttStore.getChargePointsEnabled&&i.mqttStore.getChargePointIds.length>0?(p(),C(r,{key:2,to:{name:"charge-points"}},{default:c(()=>t[2]||(t[2]=[f(" Ladepunkte ")])),_:1})):y("",!0),i.mqttStore.getStateEnabled?(p(),C(r,{key:3,to:{name:"status"}},{default:c(()=>t[3]||(t[3]=[f(" Status ")])),_:1})):y("",!0)]),_:1})}]]);$.add(L,q);const te=b({name:"NumberPad",components:{FontAwesomeIcon:O},emits:["key:digit","key:clear","key:delete"],data:()=>({buttonRows:[[{value:1,label:"1"},{value:2,label:"2"},{value:3,label:"3"}],[{value:4,label:"4"},{value:5,label:"5"},{value:6,label:"6"}],[{value:7,label:"7"},{value:8,label:"8"},{value:9,label:"9"}]]}),methods:{emitDigit(e){this.$emit("key:digit",e)},emitClear(){this.$emit("key:clear")},emitDelete(){this.$emit("key:delete")}}},[["render",function(e,t,n,a,i,o){const r=d("i-button"),s=d("i-column"),h=d("i-row"),g=d("FontAwesomeIcon"),m=d("i-container");return p(),C(m,null,{default:c(()=>[(p(!0),P(T,null,I(i.buttonRows,u=>(p(),C(h,{key:u,center:"",class:"_padding-bottom:1"},{default:c(()=>[(p(!0),P(T,null,I(u,_=>(p(),C(s,{key:_.value,class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:v=>o.emitDigit(_.value)},{default:c(()=>[f(k(_.label),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:2},1024))),128)),l(h,{center:""},{default:c(()=>[l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[0]||(t[0]=u=>o.emitClear())},{default:c(()=>[l(g,{"fixed-width":"",icon:["fas","fa-eraser"]})]),_:1})]),_:1}),l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[1]||(t[1]=u=>o.emitDigit("0"))},{default:c(()=>t[3]||(t[3]=[f(" 0 ")])),_:1})]),_:1}),l(s,{class:"pin-button-column"},{default:c(()=>[l(r,{size:"lg",class:"pin-button",onClick:t[2]||(t[2]=u=>o.emitDelete())},{default:c(()=>[l(g,{"fixed-width":"",icon:["fas","fa-delete-left"]})]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-4e2103db"]]),ne=b({name:"CodeInputModal",components:{NumberPad:te},props:{modelValue:{type:Boolean,required:!0},backgroundColor:{type:String,default:"warning"},placeholderCharacter:{type:String,default:"*",validator:e=>e.length==1},inputVisible:{type:Boolean,default:!1},minLength:{type:Number,default:4},maxLength:{type:Number,default:4}},emits:["update:modelValue","update:inputValue"],data(){return{number:"",modalBackground:this.backgroundColor}},computed:{placeholder(){return this.placeholderCharacter.repeat(this.minLength)},enableSubmit(){return this.number.length>=this.minLength&&this.number.length<=this.maxLength}},watch:{modelValue(e,t){e===!1&&t===!0&&this.clear()}},methods:{abort(){this.$emit("update:modelValue",!1)},addDigit(e){this.number.length{this.$emit("update:modelValue",!1),this.modalBackground=this.backgroundColor},500)},error(e="danger"){this.modalBackground=e,setTimeout(()=>{this.clear(),this.modalBackground=this.backgroundColor},2e3)}}},[["render",function(e,t,n,a,i,o){const r=d("i-input"),s=d("i-column"),h=d("i-row"),g=d("NumberPad"),m=d("i-container"),u=d("i-button"),_=d("i-modal");return p(),C(E,{to:"body"},[l(_,{"model-value":n.modelValue,color:i.modalBackground,"onUpdate:modelValue":t[4]||(t[4]=v=>e.$emit("update:modelValue",v))},{header:c(()=>[B(e.$slots,"header",{},()=>[t[5]||(t[5]=f(" **HEADER** "))])]),footer:c(()=>[l(m,null,{default:c(()=>[l(h,null,{default:c(()=>[l(s,null,{default:c(()=>[l(u,{color:"danger",onClick:o.abort},{default:c(()=>[B(e.$slots,"abort",{},()=>[t[6]||(t[6]=f(" Zurück "))])]),_:3},8,["onClick"])]),_:3}),l(s,{class:"_text-align:right"},{default:c(()=>[o.enableSubmit?(p(),C(u,{key:0,color:"success",onClick:o.submit},{default:c(()=>[B(e.$slots,"submit",{},()=>[t[7]||(t[7]=f(" OK "))])]),_:3},8,["onClick"])):y("",!0)]),_:3})]),_:3})]),_:3})]),default:c(()=>[l(m,null,{default:c(()=>[l(h,{center:"",class:"_padding-bottom:1"},{default:c(()=>[l(s,null,{default:c(()=>[l(r,{modelValue:i.number,"onUpdate:modelValue":t[0]||(t[0]=v=>i.number=v),placeholder:o.placeholder,readonly:"",size:"lg",type:n.inputVisible?"text":"password",class:"_text-align:center"},null,8,["modelValue","placeholder","type"])]),_:1})]),_:1}),l(g,{"onKey:digit":t[1]||(t[1]=v=>o.addDigit(v)),"onKey:clear":t[2]||(t[2]=v=>o.clear()),"onKey:delete":t[3]||(t[3]=v=>o.removeDigit(v))})]),_:1})]),_:3},8,["model-value","color"])])}]]);$.add(Z,Q,L,q);const oe={key:0,class:"_padding-left:1"},x="/openWB/web/display/themes/cards/openWB_logo_dark.png",ae=b({name:"OpenwbDisplayCardsApp",components:{RouterView:H,DateTime:X,NavBar:ee,LockNavItem:b({name:"LockNavItem",components:{FontAwesomeIcon:O,CodeInputModal:ne},props:{},data:()=>({mqttStore:w(),modalPinEntryVisible:!1,modalPinEntryColor:"warning",code:"",countdown:0,countdownInterval:void 0,events:["mousemove","touchmove","wheel","click"]}),computed:{changesLocked:{get(){return this.mqttStore.settings.changesLocked},set(e){this.mqttStore.settings.changesLocked=e}},timer(){return Math.trunc(this.countdown/60).toString()+":"+(this.countdown%60).toString().padStart(2,"0")}},mounted(){this.changesLocked=!0},methods:{toggleChangesLock(){this.changesLocked?this.unlockChanges():this.lockChanges()},unlockChanges(){this.modalPinEntryVisible=!0},checkUnlockCode(e){this.mqttStore.checkChangesLockCode(e)?(this.$refs.lockInput.success("success"),this.changesLocked=!1,this.mqttStore.getDisplayStandby>0&&(this.countdown=this.mqttStore.getDisplayStandby,this.countdownInterval=setInterval(this.updateCountdown,1e3),this.events.forEach(t=>{document.addEventListener(t,this.handleDocumentEvent,{passive:!0})}))):this.$refs.lockInput.error("danger")},lockChanges(){this.changesLocked=!0,this.events.forEach(e=>{document.removeEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.countdownInterval!==void 0&&(clearInterval(this.countdownInterval),this.countdownInterval=void 0)},updateCountdown(){this.countdown-=1,this.countdown<1&&this.lockChanges()},handleDocumentEvent(){this.countdown=this.mqttStore.getDisplayStandby}}},[["render",function(e,t,n,a,i,o){const r=d("FontAwesomeIcon"),s=d("i-button"),h=d("CodeInputModal");return p(),P(T,null,[i.mqttStore.getLockChanges?(p(),C(s,{key:0,class:"_padding-left:0 _padding-right:0 _margin-bottom:1",size:"lg",block:"",color:o.changesLocked?"danger":"success",onClick:t[0]||(t[0]=g=>o.toggleChangesLock())},{default:c(()=>[l(r,{"fixed-width":"",icon:o.changesLocked?["fas","fa-lock"]:["fas","fa-lock-open"],class:A(o.changesLocked?"_color:danger-80":"_color:success-80")},null,8,["icon","class"]),!o.changesLocked&&i.countdownInterval?(p(),P("span",oe,k(o.timer),1)):y("",!0)]),_:1},8,["color"])):y("",!0),l(h,{ref:"lockInput",modelValue:i.modalPinEntryVisible,"onUpdate:modelValue":t[1]||(t[1]=g=>i.modalPinEntryVisible=g),"min-length":4,"max-length":10,"onUpdate:inputValue":o.checkUnlockCode},{header:c(()=>t[2]||(t[2]=[f(" Bitte den PIN zur Freigabe von Änderungen eingeben. ")])),_:1},8,["modelValue","onUpdate:inputValue"])],64)}]]),TouchBlocker:b({name:"TouchBlocker",data:()=>({mqttStore:w(),show:!1,countdown:void 0,countdownInterval:void 0,events:["mousemove","touchmove","wheel","click"],eventHandlerSetup:!1}),computed:{configuredDisplayStandby(){if(this.mqttStore.getDisplayStandby!==0&&this.mqttStore.getDisplayStandby!==void 0)return this.mqttStore.getDisplayStandby},touchBlockerTimeout(){return Math.max(this.configuredDisplayStandby-3,1)}},mounted(){this.setupEventHandler(),this.setupTimeout()},unmounted(){this.clearEventHandler(),this.clearTimeout()},methods:{handleTouchBlockerClick(e){e===!1&&(this.show=!1,this.setupEventHandler(),this.setupTimeout())},setupEventHandler(){this.eventHandlerSetup||(this.events.forEach(e=>{document.addEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.eventHandlerSetup=!0)},clearEventHandler(){this.eventHandlerSetup&&(this.events.forEach(e=>{document.removeEventListener(e,this.handleDocumentEvent,{passive:!0})}),this.eventHandlerSetup=!1)},setupTimeout(){this.countdownInterval===void 0&&(this.countdownInterval=setInterval(this.updateCountdown,1e3))},clearTimeout(){this.countdownInterval!==void 0&&(clearInterval(this.countdownInterval),this.countdownInterval=void 0)},updateCountdown(){this.countdown===void 0?this.countdown=this.touchBlockerTimeout:(this.countdown-=1,this.countdown<1&&this.showTouchBlocker())},handleDocumentEvent(){this.countdown=this.touchBlockerTimeout,this.show=!1},showTouchBlocker(){this.show=!0,this.clearTimeout()}}},[["render",function(e,t,n,a,i,o){const r=d("IModal");return p(),C(E,{to:"body"},[l(r,{class:"touch-blocker",size:"sm",color:"dark","model-value":i.show,"onUpdate:modelValue":t[0]||(t[0]=s=>o.handleTouchBlockerClick(s))},{default:c(()=>t[1]||(t[1]=[W("img",{class:"logo",src:x},null,-1),W("p",null," Bitte das Display berühren. ",-1)])),_:1},8,["model-value"])])}],["__scopeId","data-v-e4e632d4"]])},data:()=>({client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3},mqttTopicsToSubscribe:["openWB/bat/config/configured","openWB/bat/get/power","openWB/bat/get/soc","openWB/chargepoint/+/config","openWB/chargepoint/+/get/charge_state","openWB/chargepoint/+/get/connected_vehicle/+","openWB/chargepoint/+/get/phases_in_use","openWB/chargepoint/+/get/plug_state","openWB/chargepoint/+/get/power","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/set/current","openWB/chargepoint/+/set/manual_lock","openWB/chargepoint/+/set/log","openWB/chargepoint/+/set/rfid","openWB/chargepoint/get/power","openWB/counter/+/get/power","openWB/counter/get/hierarchy","openWB/counter/set/home_consumption","openWB/optional/int_display/theme","openWB/optional/int_display/standby","openWB/optional/rfid/active","openWB/pv/config/configured","openWB/pv/get/power","openWB/system/current_branch","openWB/system/current_commit","openWB/system/ip_address","openWB/system/time","openWB/system/version","openWB/vehicle/+/get/fault_state","openWB/vehicle/+/name","openWB/vehicle/+/soc_module/config","openWB/vehicle/template/charge_template/#"],mqttStore:w(),chartInterval:"",clearConsoleHandler:void 0}),computed:{changesLocked(){return this.mqttStore.getLockChanges&&this.mqttStore.settings.changesLocked}},created(){this.createConnection()},mounted(){let e=window.location.search;if(e!=""){let a=new URLSearchParams(e);if(a.has("data")){let i=JSON.parse(a.get("data"));Object.entries(i).forEach(([o,r])=>{o.startsWith("parentChargePoint")?this.mqttStore.updateSetting(o,parseInt(r)):this.mqttStore.updateSetting(o,r)})}}this.doSubscribe(this.mqttTopicsToSubscribe),this.chartInterval=setInterval(this.mqttStore.updateChartData,5e3);const t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()+1,0,0,0,0).getTime()-t.getTime();this.clearConsoleHandler=setTimeout(()=>this.clearConsole(),n)},beforeUnmount(){this.doUnsubscribe(this.mqttTopicsToSubscribe),clearInterval(this.chartInterval),clearTimeout(this.clearConsoleHandler)},methods:{clearConsole(){this.clearConsoleHandler=setTimeout(()=>this.clearConsole(),864e5)},createConnection(){const{protocol:e,host:t,port:n,endpoint:a,...i}=this.connection,o=`${e}://${t}:${n}${a}`;try{this.client=R.connect(o,i)}catch{}this.client.on("connect",()=>{}),this.client.on("error",r=>{}),this.client.on("message",(r,s)=>{if(s.toString().length>0){let h;try{h=JSON.parse(s.toString())}catch{h=s.toString()}this.mqttStore.addTopic(r,h)}else this.mqttStore.removeTopic(r)})},doSubscribe(e){e.forEach(t=>{this.mqttStore.initTopic(t)}),this.client.subscribe(e,{},t=>{})},doUnsubscribe(e){e.forEach(t=>{this.mqttStore.removeTopic(t)}),this.client.unsubscribe(e,t=>{})},doPublish(e,t,n=!0,a=2){let i={qos:a,retain:n};this.client.publish(e,JSON.stringify(t),i,o=>{})},sendTopicToBroker(e,t=void 0){let n=e.replace("openWB/","openWB/set/");t===void 0&&(t=this.mqttStore.topics[e]),this.doPublish(n,t)},sendCommand(e){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",e,!1)},sendSystemCommand(e,t={}){this.sendCommand({command:e,data:t})}}},[["render",function(e,t,n,a,i,o){const r=d("DateTime"),s=d("i-column"),h=d("i-row"),g=d("i-container"),m=d("LockNavItem"),u=d("NavBar"),_=d("TouchBlocker"),v=d("i-layout-aside"),j=d("RouterView"),M=d("i-layout-content"),N=d("i-layout");return p(),C(N,{vertical:""},{default:c(()=>[l(v,{class:"_position:fixed"},{default:c(()=>[l(g,{fluid:"",class:"_margin-bottom:1"},{default:c(()=>[l(h,{center:""},{default:c(()=>[l(s,null,{default:c(()=>[l(r)]),_:1})]),_:1})]),_:1}),l(m),l(u,{"changes-locked":o.changesLocked},null,8,["changes-locked"]),l(_)]),_:1}),l(M,null,{default:c(()=>[l(j,{"changes-locked":o.changesLocked},null,8,["changes-locked"])]),_:1})]),_:1})}],["__scopeId","data-v-6804b914"]]),D={},S=function(e,t,n){let a=Promise.resolve();if(t&&t.length>0){document.getElementsByTagName("link");const o=document.querySelector("meta[property=csp-nonce]"),r=(o==null?void 0:o.nonce)||(o==null?void 0:o.getAttribute("nonce"));a=Promise.allSettled(t.map(s=>{if((s=function(u){return"/openWB/web/display/themes/cards/"+u}(s))in D)return;D[s]=!0;const h=s.endsWith(".css"),g=h?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${s}"]${g}`))return;const m=document.createElement("link");return m.rel=h?"stylesheet":"modulepreload",h||(m.as="script"),m.crossOrigin="",m.href=s,r&&m.setAttribute("nonce",r),document.head.appendChild(m),h?new Promise((u,_)=>{m.addEventListener("load",u),m.addEventListener("error",()=>_(new Error(`Unable to preload CSS for ${s}`)))}):void 0}))}function i(o){const r=new Event("vite:preloadError",{cancelable:!0});if(r.payload=o,window.dispatchEvent(r),!r.defaultPrevented)throw o}return a.then(o=>{for(const r of o||[])r.status==="rejected"&&i(r.reason);return e().catch(i)})},ie=b({name:"WelcomeView",data:()=>({mqttStore:w()}),computed:{firstView(){if(this.mqttStore.getThemeConfiguration){if(this.mqttStore.getThemeConfiguration.enable_dashboard_view)return"dash-board";if(this.mqttStore.getThemeConfiguration.enable_energy_flow_view)return"energy-flow";if(this.mqttStore.getThemeConfiguration.enable_charge_points_view)return"charge-points";if(this.mqttStore.getThemeConfiguration.enable_status_view)return"status"}}},mounted(){setTimeout(this.selectFirstRoute,3e3)},methods:{selectFirstRoute(){this.firstView&&this.$router.push({name:this.firstView})}}},[["render",function(e,t,n,a,i,o){const r=d("i-card"),s=d("i-column"),h=d("i-row"),g=d("i-container");return p(),C(g,null,{default:c(()=>[l(h,{center:"",middle:""},{default:c(()=>[l(s,null,{default:c(()=>[l(r,{color:"primary"},{header:c(()=>t[0]||(t[0]=[f(" Cards Theme ")])),default:c(()=>[t[1]||(t[1]=W("img",{class:"logo",src:x},null,-1))]),_:1})]),_:1})]),_:1})]),_:1})}],["__scopeId","data-v-16686e30"]]),re=U({history:z("/openWB/web/display/themes/cards/"),routes:[{path:"/",name:"welcome",component:ie},{path:"/DashBoard",name:"dash-board",component:()=>S(()=>import("./DashBoardView-BtH7_3ju.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9]))},{path:"/EnergyFlow",name:"energy-flow",component:()=>S(()=>import("./EnergyFlowView-0uD4UqSR.js"),__vite__mapDeps([10,1,2,3,4,5,7,11]))},{path:"/ChargePoints",name:"charge-points",component:()=>S(()=>import("./ChargePointsView-B2Qojiic.js"),__vite__mapDeps([12,1,2,3,4,5,6,7,8,13]))},{path:"/Status",name:"status",component:()=>S(()=>import("./StatusView-BcF0Zv5l.js"),__vite__mapDeps([14,7,3,2,4,1,5]))}]}),V=G(ae);V.use(K()),V.use(re),V.use(J,{colorMode:"dark",components:Y}),V.mount("#app");export{ne as C,te as N,w as u}; diff --git a/packages/modules/display_themes/cards/web/assets/vendor-CFVb6_YQ.js b/packages/modules/display_themes/cards/web/assets/vendor-CFVb6_YQ.js deleted file mode 100644 index 4d8c7eb58e..0000000000 --- a/packages/modules/display_themes/cards/web/assets/vendor-CFVb6_YQ.js +++ /dev/null @@ -1,29 +0,0 @@ -var jd=Object.defineProperty;var Gl=t=>{throw TypeError(t)};var Ud=(t,e,r)=>e in t?jd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var zt=(t,e,r)=>Ud(t,typeof e!="symbol"?e+"":e,r),No=(t,e,r)=>e.has(t)||Gl("Cannot "+r);var z=(t,e,r)=>(No(t,e,"read from private field"),r?r.call(t):e.get(t)),Rt=(t,e,r)=>e.has(t)?Gl("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),St=(t,e,r,n)=>(No(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),Et=(t,e,r)=>(No(t,e,"access private method"),r);var Ii=(t,e,r,n)=>({set _(l){St(t,e,l,r)},get _(){return z(t,e,n)}});const to=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{};/** -* @vue/shared v3.5.12 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**//*! #__NO_SIDE_EFFECTS__ */function il(t){const e=Object.create(null);for(const r of t.split(","))e[r]=1;return r=>r in e}const Ut={},In=[],cr=()=>{},Nd=()=>!1,yo=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),ol=t=>t.startsWith("onUpdate:"),Xt=Object.assign,sl=(t,e)=>{const r=t.indexOf(e);r>-1&&t.splice(r,1)},Dd=Object.prototype.hasOwnProperty,Pt=(t,e)=>Dd.call(t,e),At=Array.isArray,Tn=t=>bo(t)==="[object Map]",Zc=t=>bo(t)==="[object Set]",Tt=t=>typeof t=="function",qt=t=>typeof t=="string",dr=t=>typeof t=="symbol",Wt=t=>t!==null&&typeof t=="object",th=t=>(Wt(t)||Tt(t))&&Tt(t.then)&&Tt(t.catch),eh=Object.prototype.toString,bo=t=>eh.call(t),rh=t=>bo(t)==="[object Object]",al=t=>qt(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Jn=il(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),vo=t=>{const e=Object.create(null);return r=>e[r]||(e[r]=t(r))},Fd=/-(\w)/g,xe=vo(t=>t.replace(Fd,(e,r)=>r?r.toUpperCase():"")),Wd=/\B([A-Z])/g,Dr=vo(t=>t.replace(Wd,"-$1").toLowerCase()),wo=vo(t=>t.charAt(0).toUpperCase()+t.slice(1)),Do=vo(t=>t?`on${wo(t)}`:""),Br=(t,e)=>!Object.is(t,e),Fo=(t,...e)=>{for(let r=0;r{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:n,value:r})},$d=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let Ql;const eo=()=>Ql||(Ql=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:to!==void 0?to:{});function _o(t){if(At(t)){const e={};for(let r=0;r{if(r){const n=r.split(qd);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function Eo(t){let e="";if(qt(t))e=t;else if(At(t))for(let r=0;r!(!t||t.__v_isRef!==!0),Gd=t=>qt(t)?t:t==null?"":At(t)||Wt(t)&&(t.toString===eh||!Tt(t.toString))?oh(t)?Gd(t.value):JSON.stringify(t,sh,2):String(t),sh=(t,e)=>oh(e)?sh(t,e.value):Tn(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((r,[n,l],o)=>(r[Wo(n,o)+" =>"]=l,r),{})}:Zc(e)?{[`Set(${e.size})`]:[...e.values()].map(r=>Wo(r))}:dr(e)?Wo(e):!Wt(e)||At(e)||rh(e)?e:String(e),Wo=(t,e="")=>{var r;return dr(t)?`Symbol(${(r=t.description)!=null?r:e})`:t};/** -* @vue/reactivity v3.5.12 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let ce,Ft;class ah{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ce,!e&&ce&&(this.index=(ce.scopes||(ce.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,r;if(this._isPaused=!0,this.scopes)for(e=0,r=this.scopes.length;e0)return;if(Zn){let e=Zn;for(Zn=void 0;e;){const r=e.next;e.next=void 0,e.flags&=-9,e=r}}let t;for(;Xn;){let e=Xn;for(Xn=void 0;e;){const r=e.next;if(e.next=void 0,e.flags&=-9,1&e.flags)try{e.trigger()}catch(n){t||(t=n)}e=r}}if(t)throw t}function ph(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function dh(t){let e,r=t.depsTail,n=r;for(;n;){const l=n.prevDep;n.version===-1?(n===r&&(r=l),cl(n),Qd(n)):e=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=l}t.deps=e,t.depsTail=r}function Os(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(gh(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function gh(t){if(4&t.flags&&!(16&t.flags)||(t.flags&=-17,t.globalVersion===ci))return;t.globalVersion=ci;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&t.deps&&!Os(t))return void(t.flags&=-3);const r=Ft,n=je;Ft=t,je=!0;try{ph(t);const l=t.fn(t._value);(e.version===0||Br(l,t._value))&&(t._value=l,e.version++)}catch(l){throw e.version++,l}finally{Ft=r,je=n,dh(t),t.flags&=-3}}function cl(t,e=!1){const{dep:r,prevSub:n,nextSub:l}=t;if(n&&(n.nextSub=l,t.prevSub=void 0),l&&(l.prevSub=n,t.nextSub=void 0),r.subs===t&&(r.subs=n,!n&&r.computed)){r.computed.flags&=-5;for(let o=r.computed.deps;o;o=o.nextDep)cl(o,!0)}e||--r.sc||!r.map||r.map.delete(r.key)}function Qd(t){const{prevDep:e,nextDep:r}=t;e&&(e.nextDep=r,t.prevDep=void 0),r&&(r.prevDep=e,t.nextDep=void 0)}let je=!0;const mh=[];function jr(){mh.push(je),je=!1}function Ur(){const t=mh.pop();je=t===void 0||t}function Yl(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const r=Ft;Ft=void 0;try{e()}finally{Ft=r}}}let ci=0;class Yd{constructor(e,r){this.sub=e,this.dep=r,this.version=r.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class hl{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!Ft||!je||Ft===this.computed)return;let r=this.activeLink;if(r===void 0||r.sub!==Ft)r=this.activeLink=new Yd(Ft,this),Ft.deps?(r.prevDep=Ft.depsTail,Ft.depsTail.nextDep=r,Ft.depsTail=r):Ft.deps=Ft.depsTail=r,yh(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){const n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=Ft.depsTail,r.nextDep=void 0,Ft.depsTail.nextDep=r,Ft.depsTail=r,Ft.deps===r&&(Ft.deps=n)}return r}trigger(e){this.version++,ci++,this.notify(e)}notify(e){ll();try{for(let r=this.subs;r;r=r.prevSub)r.sub.notify()&&r.sub.dep.notify()}finally{ul()}}}function yh(t){if(t.dep.sc++,4&t.sub.flags){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let n=e.deps;n;n=n.nextDep)yh(n)}const r=t.dep.subs;r!==t&&(t.prevSub=r,r&&(r.nextSub=t)),t.dep.subs=t}}const ro=new WeakMap,on=Symbol(""),xs=Symbol(""),hi=Symbol("");function ae(t,e,r){if(je&&Ft){let n=ro.get(t);n||ro.set(t,n=new Map);let l=n.get(r);l||(n.set(r,l=new hl),l.map=n,l.key=r),l.track()}}function or(t,e,r,n,l,o){const s=ro.get(t);if(!s)return void ci++;const i=a=>{a&&a.trigger()};if(ll(),e==="clear")s.forEach(i);else{const a=At(t),u=a&&al(r);if(a&&r==="length"){const c=Number(n);s.forEach((d,f)=>{(f==="length"||f===hi||!dr(f)&&f>=c)&&i(d)})}else switch((r!==void 0||s.has(void 0))&&i(s.get(r)),u&&i(s.get(hi)),e){case"add":a?u&&i(s.get("length")):(i(s.get(on)),Tn(t)&&i(s.get(xs)));break;case"delete":a||(i(s.get(on)),Tn(t)&&i(s.get(xs)));break;case"set":Tn(t)&&i(s.get(on))}}ul()}function yn(t){const e=Ct(t);return e===t?e:(ae(e,0,hi),Oe(t)?e:e.map(le))}function So(t){return ae(t=Ct(t),0,hi),t}const Jd={__proto__:null,[Symbol.iterator](){return Vo(this,Symbol.iterator,le)},concat(...t){return yn(this).concat(...t.map(e=>At(e)?yn(e):e))},entries(){return Vo(this,"entries",t=>(t[1]=le(t[1]),t))},every(t,e){return Je(this,"every",t,e,void 0,arguments)},filter(t,e){return Je(this,"filter",t,e,r=>r.map(le),arguments)},find(t,e){return Je(this,"find",t,e,le,arguments)},findIndex(t,e){return Je(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Je(this,"findLast",t,e,le,arguments)},findLastIndex(t,e){return Je(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Je(this,"forEach",t,e,void 0,arguments)},includes(...t){return qo(this,"includes",t)},indexOf(...t){return qo(this,"indexOf",t)},join(t){return yn(this).join(t)},lastIndexOf(...t){return qo(this,"lastIndexOf",t)},map(t,e){return Je(this,"map",t,e,void 0,arguments)},pop(){return Dn(this,"pop")},push(...t){return Dn(this,"push",t)},reduce(t,...e){return Jl(this,"reduce",t,e)},reduceRight(t,...e){return Jl(this,"reduceRight",t,e)},shift(){return Dn(this,"shift")},some(t,e){return Je(this,"some",t,e,void 0,arguments)},splice(...t){return Dn(this,"splice",t)},toReversed(){return yn(this).toReversed()},toSorted(t){return yn(this).toSorted(t)},toSpliced(...t){return yn(this).toSpliced(...t)},unshift(...t){return Dn(this,"unshift",t)},values(){return Vo(this,"values",le)}};function Vo(t,e,r){const n=So(t),l=n[e]();return n===t||Oe(t)||(l._next=l.next,l.next=()=>{const o=l._next();return o.value&&(o.value=r(o.value)),o}),l}const Xd=Array.prototype;function Je(t,e,r,n,l,o){const s=So(t),i=s!==t&&!Oe(t),a=s[e];if(a!==Xd[e]){const d=a.apply(t,o);return i?le(d):d}let u=r;s!==t&&(i?u=function(d,f){return r.call(this,le(d),f,t)}:r.length>2&&(u=function(d,f){return r.call(this,d,f,t)}));const c=a.call(s,u,n);return i&&l?l(c):c}function Jl(t,e,r,n){const l=So(t);let o=r;return l!==t&&(Oe(t)?r.length>3&&(o=function(s,i,a){return r.call(this,s,i,a,t)}):o=function(s,i,a){return r.call(this,s,le(i),a,t)}),l[e](o,...n)}function qo(t,e,r){const n=Ct(t);ae(n,0,hi);const l=n[e](...r);return l!==-1&&l!==!1||!dl(r[0])?l:(r[0]=Ct(r[0]),n[e](...r))}function Dn(t,e,r=[]){jr(),ll();const n=Ct(t)[e].apply(t,r);return ul(),Ur(),n}const Zd=il("__proto__,__v_isRef,__isVue"),bh=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(dr));function tg(t){dr(t)||(t=String(t));const e=Ct(this);return ae(e,0,t),e.hasOwnProperty(t)}class vh{constructor(e=!1,r=!1){this._isReadonly=e,this._isShallow=r}get(e,r,n){const l=this._isReadonly,o=this._isShallow;if(r==="__v_isReactive")return!l;if(r==="__v_isReadonly")return l;if(r==="__v_isShallow")return o;if(r==="__v_raw")return n===(l?o?ug:Sh:o?Eh:_h).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=At(e);if(!l){let a;if(s&&(a=Jd[r]))return a;if(r==="hasOwnProperty")return tg}const i=Reflect.get(e,r,Yt(e)?e:n);return(dr(r)?bh.has(r):Zd(r))?i:(l||ae(e,0,r),o?i:Yt(i)?s&&al(r)?i:i.value:Wt(i)?l?kh(i):_i(i):i)}}class wh extends vh{constructor(e=!1){super(!1,e)}set(e,r,n,l){let o=e[r];if(!this._isShallow){const a=hn(o);if(Oe(n)||hn(n)||(o=Ct(o),n=Ct(n)),!At(e)&&Yt(o)&&!Yt(n))return!a&&(o.value=n,!0)}const s=At(e)&&al(r)?Number(r)t,Ti=t=>Reflect.getPrototypeOf(t);function Oi(t){return function(...e){return t!=="delete"&&(t==="clear"?void 0:this)}}function og(t,e){const r={get(n){const l=this.__v_raw,o=Ct(l),s=Ct(n);t||(Br(n,s)&&ae(o,0,n),ae(o,0,s));const{has:i}=Ti(o),a=e?Ho:t?zo:le;return i.call(o,n)?a(l.get(n)):i.call(o,s)?a(l.get(s)):void(l!==o&&l.get(n))},get size(){const n=this.__v_raw;return!t&&ae(Ct(n),0,on),Reflect.get(n,"size",n)},has(n){const l=this.__v_raw,o=Ct(l),s=Ct(n);return t||(Br(n,s)&&ae(o,0,n),ae(o,0,s)),n===s?l.has(n):l.has(n)||l.has(s)},forEach(n,l){const o=this,s=o.__v_raw,i=Ct(s),a=e?Ho:t?zo:le;return!t&&ae(i,0,on),s.forEach((u,c)=>n.call(l,a(u),a(c),o))}};return Xt(r,t?{add:Oi("add"),set:Oi("set"),delete:Oi("delete"),clear:Oi("clear")}:{add(n){e||Oe(n)||hn(n)||(n=Ct(n));const l=Ct(this);return Ti(l).has.call(l,n)||(l.add(n),or(l,"add",n,n)),this},set(n,l){e||Oe(l)||hn(l)||(l=Ct(l));const o=Ct(this),{has:s,get:i}=Ti(o);let a=s.call(o,n);a||(n=Ct(n),a=s.call(o,n));const u=i.call(o,n);return o.set(n,l),a?Br(l,u)&&or(o,"set",n,l):or(o,"add",n,l),this},delete(n){const l=Ct(this),{has:o,get:s}=Ti(l);let i=o.call(l,n);i||(n=Ct(n),i=o.call(l,n)),s&&s.call(l,n);const a=l.delete(n);return i&&or(l,"delete",n,void 0),a},clear(){const n=Ct(this),l=n.size!==0,o=n.clear();return l&&or(n,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(n=>{r[n]=function(l,o,s){return function(...i){const a=this.__v_raw,u=Ct(a),c=Tn(u),d=l==="entries"||l===Symbol.iterator&&c,f=l==="keys"&&c,m=a[l](...i),b=s?Ho:o?zo:le;return!o&&ae(u,0,f?xs:on),{next(){const{value:_,done:S}=m.next();return S?{value:_,done:S}:{value:d?[b(_[0]),b(_[1])]:b(_),done:S}},[Symbol.iterator](){return this}}}}(n,t,e)}),r}function fl(t,e){const r=og(t,e);return(n,l,o)=>l==="__v_isReactive"?!t:l==="__v_isReadonly"?t:l==="__v_raw"?n:Reflect.get(Pt(r,l)&&l in n?r:n,l,o)}const sg={get:fl(!1,!1)},ag={get:fl(!1,!0)},lg={get:fl(!0,!1)},_h=new WeakMap,Eh=new WeakMap,Sh=new WeakMap,ug=new WeakMap;function cg(t){return t.__v_skip||!Object.isExtensible(t)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>bo(e).slice(8,-1))(t))}function _i(t){return hn(t)?t:pl(t,!1,rg,sg,_h)}function Ah(t){return pl(t,!1,ig,ag,Eh)}function kh(t){return pl(t,!0,ng,lg,Sh)}function pl(t,e,r,n,l){if(!Wt(t)||t.__v_raw&&(!e||!t.__v_isReactive))return t;const o=l.get(t);if(o)return o;const s=cg(t);if(s===0)return t;const i=new Proxy(t,s===2?n:r);return l.set(t,i),i}function Mr(t){return hn(t)?Mr(t.__v_raw):!(!t||!t.__v_isReactive)}function hn(t){return!(!t||!t.__v_isReadonly)}function Oe(t){return!(!t||!t.__v_isShallow)}function dl(t){return!!t&&!!t.__v_raw}function Ct(t){const e=t&&t.__v_raw;return e?Ct(e):t}function gl(t){return!Pt(t,"__v_skip")&&Object.isExtensible(t)&&nh(t,"__v_skip",!0),t}const le=t=>Wt(t)?_i(t):t,zo=t=>Wt(t)?kh(t):t;function Yt(t){return!!t&&t.__v_isRef===!0}function ml(t){return Ih(t,!1)}function Ih(t,e){return Yt(t)?t:new hg(t,e)}class hg{constructor(e,r){this.dep=new hl,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?e:Ct(e),this._value=r?e:le(e),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(e){const r=this._rawValue,n=this.__v_isShallow||Oe(e)||hn(e);e=n?e:Ct(e),Br(e,r)&&(this._rawValue=e,this._value=n?e:le(e),this.dep.trigger())}}function On(t){return Yt(t)?t.value:t}const fg={get:(t,e,r)=>e==="__v_raw"?t:On(Reflect.get(t,e,r)),set:(t,e,r,n)=>{const l=t[e];return Yt(l)&&!Yt(r)?(l.value=r,!0):Reflect.set(t,e,r,n)}};function Th(t){return Mr(t)?t:new Proxy(t,fg)}class pg{constructor(e,r,n){this._object=e,this._key=r,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,r){const n=ro.get(e);return n&&n.get(r)}(Ct(this._object),this._key)}}function dg(t,e,r){const n=t[e];return Yt(n)?n:new pg(t,e,r)}class gg{constructor(e,r,n){this.fn=e,this.setter=r,this._value=void 0,this.dep=new hl(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ci-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&Ft!==this)return fh(this,!0),!0}get value(){const e=this.dep.track();return gh(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const xi={},Ci=new WeakMap;let Wr;function mg(t,e,r=Ut){const{immediate:n,deep:l,once:o,scheduler:s,augmentJob:i,call:a}=r,u=$=>l?$:Oe($)||l===!1||l===0?sr($,1):sr($);let c,d,f,m,b=!1,_=!1;if(Yt(t)?(d=()=>t.value,b=Oe(t)):Mr(t)?(d=()=>u(t),b=!0):At(t)?(_=!0,b=t.some($=>Mr($)||Oe($)),d=()=>t.map($=>Yt($)?$.value:Mr($)?u($):Tt($)?a?a($,2):$():void 0)):d=Tt(t)?e?a?()=>a(t,2):t:()=>{if(f){jr();try{f()}finally{Ur()}}const $=Wr;Wr=c;try{return a?a(t,3,[m]):t(m)}finally{Wr=$}}:cr,e&&l){const $=d,Y=l===!0?1/0:l;d=()=>sr($(),Y)}const S=uh(),U=()=>{c.stop(),S&&sl(S.effects,c)};if(o&&e){const $=e;e=(...Y)=>{$(...Y),U()}}let D=_?new Array(t.length).fill(xi):xi;const K=$=>{if(1&c.flags&&(c.dirty||$))if(e){const Y=c.run();if(l||b||(_?Y.some((B,I)=>Br(B,D[I])):Br(Y,D))){f&&f();const B=Wr;Wr=c;try{const I=[Y,D===xi?void 0:_&&D[0]===xi?[]:D,m];a?a(e,3,I):e(...I),D=Y}finally{Wr=B}}}else c.run()};return i&&i(K),c=new ch(d),c.scheduler=s?()=>s(K,!1):K,m=$=>function(Y,B=!1,I=Wr){if(I){let E=Ci.get(I);E||Ci.set(I,E=[]),E.push(Y)}}($,!1,c),f=c.onStop=()=>{const $=Ci.get(c);if($){if(a)a($,4);else for(const Y of $)Y();Ci.delete(c)}},e?n?K(!0):D=c.run():s?s(K.bind(null,!0),!0):c.run(),U.pause=c.pause.bind(c),U.resume=c.resume.bind(c),U.stop=U,U}function sr(t,e=1/0,r){if(e<=0||!Wt(t)||t.__v_skip||(r=r||new Set).has(t))return t;if(r.add(t),e--,Yt(t))sr(t.value,e,r);else if(At(t))for(let n=0;n{sr(n,e,r)});else if(rh(t)){for(const n in t)sr(t[n],e,r);for(const n of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,n)&&sr(t[n],e,r)}return t}/** -* @vue/runtime-core v3.5.12 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function Ei(t,e,r,n){try{return n?t(...n):t()}catch(l){Ao(l,e,r)}}function Ue(t,e,r,n){if(Tt(t)){const l=Ei(t,e,r,n);return l&&th(l)&&l.catch(o=>{Ao(o,e,r)}),l}if(At(t)){const l=[];for(let o=0;o=ti(r)?he.push(t):he.splice(function(n){let l=Ve+1,o=he.length;for(;l>>1,i=he[s],a=ti(i);ati(r)-ti(n));if(xn.length=0,Or)return void Or.push(...e);for(Or=e,_n=0;_nt.id==null?2&t.flags?-1:1/0:t.id;function Rh(t){try{for(Ve=0;Ve{n._d&&mu(-1);const o=io(e);let s;try{s=t(...l)}finally{io(o),n._d&&mu(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function Dy(t,e){if(Zt===null)return t;const r=Oo(Zt),n=t.dirs||(t.dirs=[]);for(let l=0;lt.__isTeleport,Gn=t=>t&&(t.disabled||t.disabled===""),Zl=t=>typeof SVGElement<"u"&&t instanceof SVGElement,tu=t=>typeof MathMLElement=="function"&&t instanceof MathMLElement,Ko=(t,e)=>{const r=t&&t.to;return qt(r)?e?e(r):null:r};function Ri(t,e,r,{o:{insert:n},m:l},o=2){o===0&&n(t.targetAnchor,e,r);const{el:s,anchor:i,shapeFlag:a,children:u,props:c}=t,d=o===2;if(d&&n(s,e,r),(!d||Gn(c))&&16&a)for(let f=0;f{16&D&&(l&&l.isCE&&(l.ce._teleportTarget=P),c(K,P,R,l,o,s,i,a))},w=()=>{const P=e.target=Ko(e.props,b),R=eu(P,e,_,m);P&&(s!=="svg"&&Zl(P)?s="svg":s!=="mathml"&&tu(P)&&(s="mathml"),U||(E(P,R),Pi(e,!1)))};U&&(E(r,I),Pi(e,!0)),(Y=e.props)&&(Y.defer||Y.defer==="")?de(w,o):w()}else{e.el=t.el,e.targetStart=t.targetStart;const B=e.anchor=t.anchor,I=e.target=t.target,E=e.targetAnchor=t.targetAnchor,w=Gn(t.props),P=w?r:I,R=w?B:E;if(s==="svg"||Zl(I)?s="svg":(s==="mathml"||tu(I))&&(s="mathml"),$?(f(t.dynamicChildren,$,P,l,o,s,i),kl(t,e,!0)):a||d(t,e,P,R,l,o,s,i,!1),U)w?e.props&&t.props&&e.props.to!==t.props.to&&(e.props.to=t.props.to):Ri(e,r,B,u,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const et=e.target=Ko(e.props,b);et&&Ri(e,et,null,u,0)}else w&&Ri(e,I,E,u,1);Pi(e,U)}var Y},remove(t,e,r,{um:n,o:{remove:l}},o){const{shapeFlag:s,children:i,anchor:a,targetStart:u,targetAnchor:c,target:d,props:f}=t;if(d&&(l(u),l(c)),o&&l(a),16&s){const m=o||!Gn(f);for(let b=0;b{const e=t.subTree;return e.component?jh(e.component):e},bg={name:"BaseTransition",props:Lh,setup(t,{slots:e}){const r=af(),n=function(){const l={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return vl(()=>{l.isMounted=!0}),qh(()=>{l.isUnmounting=!0}),l}();return()=>{const l=e.default&&Dh(e.default(),!0);if(!l||!l.length)return;const o=Uh(l),s=Ct(t),{mode:i}=s;if(n.isLeaving)return Go(o);const a=ru(o);if(!a)return Go(o);let u=Cs(a,s,n,r,f=>u=f);a.type!==fe&&fi(a,u);const c=r.subTree,d=c&&ru(c);if(d&&d.type!==fe&&!tn(a,d)&&jh(r).type!==fe){const f=Cs(d,s,n,r);if(fi(d,f),i==="out-in"&&a.type!==fe)return n.isLeaving=!0,f.afterLeave=()=>{n.isLeaving=!1,8&r.job.flags||r.update(),delete f.afterLeave},Go(o);i==="in-out"&&a.type!==fe&&(f.delayLeave=(m,b,_)=>{Nh(n,d)[String(d.key)]=d,m[xr]=()=>{b(),m[xr]=void 0,delete u.delayedLeave},u.delayedLeave=_})}return o}}};function Uh(t){let e=t[0];if(t.length>1){for(const r of t)if(r.type!==fe){e=r;break}}return e}const vg=bg;function Nh(t,e){const{leavingVNodes:r}=t;let n=r.get(e.type);return n||(n=Object.create(null),r.set(e.type,n)),n}function Cs(t,e,r,n,l){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:f,onLeave:m,onAfterLeave:b,onLeaveCancelled:_,onBeforeAppear:S,onAppear:U,onAfterAppear:D,onAppearCancelled:K}=e,$=String(t.key),Y=Nh(r,t),B=(w,P)=>{w&&Ue(w,n,9,P)},I=(w,P)=>{const R=P[1];B(w,P),At(w)?w.every(et=>et.length<=1)&&R():w.length<=1&&R()},E={mode:s,persisted:i,beforeEnter(w){let P=a;if(!r.isMounted){if(!o)return;P=S||a}w[xr]&&w[xr](!0);const R=Y[$];R&&tn(t,R)&&R.el[xr]&&R.el[xr](),B(P,[w])},enter(w){let P=u,R=c,et=d;if(!r.isMounted){if(!o)return;P=U||u,R=D||c,et=K||d}let st=!1;const X=w[Bi]=j=>{st||(st=!0,B(j?et:R,[w]),E.delayedLeave&&E.delayedLeave(),w[Bi]=void 0)};P?I(P,[w,X]):X()},leave(w,P){const R=String(t.key);if(w[Bi]&&w[Bi](!0),r.isUnmounting)return P();B(f,[w]);let et=!1;const st=w[xr]=X=>{et||(et=!0,P(),B(X?_:b,[w]),w[xr]=void 0,Y[R]===t&&delete Y[R])};Y[R]=t,m?I(m,[w,st]):st()},clone(w){const P=Cs(w,e,r,n,l);return l&&l(P),P}};return E}function Go(t){if(ko(t))return(t=Nr(t)).children=null,t}function ru(t){if(!ko(t))return Mh(t.type)&&t.children?Uh(t.children):t;const{shapeFlag:e,children:r}=t;if(r){if(16&e)return r[0];if(32&e&&Tt(r.default))return r.default()}}function fi(t,e){6&t.shapeFlag&&t.component?(t.transition=e,fi(t.component.subTree,e)):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function Dh(t,e=!1,r){let n=[],l=0;for(let o=0;o1)for(let o=0;oRs(b,e&&(At(e)?e[_]:e),r,n,l));if(An(n)&&!l)return;const o=4&n.shapeFlag?Oo(n.component):n.el,s=l?null:o,{i,r:a}=t,u=e&&e.r,c=i.refs===Ut?i.refs={}:i.refs,d=i.setupState,f=Ct(d),m=d===Ut?()=>!1:b=>Pt(f,b);if(u!=null&&u!==a&&(qt(u)?(c[u]=null,m(u)&&(d[u]=null)):Yt(u)&&(u.value=null)),Tt(a))Ei(a,i,12,[s,c]);else{const b=qt(a),_=Yt(a);if(b||_){const S=()=>{if(t.f){const U=b?m(a)?d[a]:c[a]:a.value;l?At(U)&&sl(U,o):At(U)?U.includes(o)||U.push(o):b?(c[a]=[o],m(a)&&(d[a]=c[a])):(a.value=[o],t.k&&(c[t.k]=a.value))}else b?(c[a]=s,m(a)&&(d[a]=s)):_&&(a.value=s,t.k&&(c[t.k]=s))};s?(S.id=-1,de(S,r)):S()}}}eo().requestIdleCallback,eo().cancelIdleCallback;const An=t=>!!t.type.__asyncLoader,ko=t=>t.type.__isKeepAlive;function wg(t,e){$h(t,"a",e)}function _g(t,e){$h(t,"da",e)}function $h(t,e,r=re){const n=t.__wdc||(t.__wdc=()=>{let l=r;for(;l;){if(l.isDeactivated)return;l=l.parent}return t()});if(Io(e,n,r),r){let l=r.parent;for(;l&&l.parent;)ko(l.parent.vnode)&&Eg(n,e,r,l),l=l.parent}}function Eg(t,e,r,n){const l=Io(e,t,n,!0);wl(()=>{sl(n[e],l)},r)}function Io(t,e,r=re,n=!1){if(r){const l=r[t]||(r[t]=[]),o=e.__weh||(e.__weh=(...s)=>{jr();const i=Si(r),a=Ue(e,r,t,s);return i(),Ur(),a});return n?l.unshift(o):l.push(o),o}}const gr=t=>(e,r=re)=>{gi&&t!=="sp"||Io(t,(...n)=>e(...n),r)},Vh=gr("bm"),vl=gr("m"),Sg=gr("bu"),Ag=gr("u"),qh=gr("bum"),wl=gr("um"),kg=gr("sp"),Ig=gr("rtg"),Tg=gr("rtc");function Og(t,e=re){Io("ec",t,e)}const _l="components";function Wy(t,e){return El(_l,t,!0,e)||t}const Hh=Symbol.for("v-ndc");function $y(t){return qt(t)?El(_l,t,!1)||t:t||Hh}function Vy(t){return El("directives",t)}function El(t,e,r=!0,n=!1){const l=Zt||re;if(l){const o=l.type;if(t===_l){const i=Yg(o,!1);if(i&&(i===e||i===xe(e)||i===wo(xe(e))))return o}const s=nu(l[t]||o[t],e)||nu(l.appContext[t],e);return!s&&n?o:s}}function nu(t,e){return t&&(t[e]||t[xe(e)]||t[wo(xe(e))])}function qy(t,e,r,n){let l;const o=r,s=At(t);if(s||qt(t)){let i=!1;s&&Mr(t)&&(i=!Oe(t),t=So(t)),l=new Array(t.length);for(let a=0,u=t.length;ae(i,a,void 0,o));else{const i=Object.keys(t);l=new Array(i.length);for(let a=0,u=i.length;a{const o=n.fn(...l);return o&&(o.key=n.key),o}:n.fn)}return t}function zy(t,e,r={},n,l){if(Zt.ce||Zt.parent&&An(Zt.parent)&&Zt.parent.ce)return e!=="default"&&(r.name=e),js(),Us(ge,null,[me("slot",r,n&&n())],64);let o=t[e];o&&o._c&&(o._d=!1),js();const s=o&&zh(o(r)),i=r.key||s&&s.key,a=Us(ge,{key:(i&&!dr(i)?i:`_${e}`)+(!s&&n?"_fb":"")},s||(n?n():[]),s&&t._===1?64:-2);return!l&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}function zh(t){return t.some(e=>!di(e)||e.type!==fe&&!(e.type===ge&&!zh(e.children)))?t:null}const Ps=t=>t?lf(t)?Oo(t):Ps(t.parent):null,ei=Xt(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Ps(t.parent),$root:t=>Ps(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>Sl(t),$forceUpdate:t=>t.f||(t.f=()=>{bl(t.update)}),$nextTick:t=>t.n||(t.n=yl.bind(t.proxy)),$watch:t=>Dg.bind(t)}),Qo=(t,e)=>t!==Ut&&!t.__isScriptSetup&&Pt(t,e),xg={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:r,setupState:n,data:l,props:o,accessCache:s,type:i,appContext:a}=t;let u;if(e[0]!=="$"){const m=s[e];if(m!==void 0)switch(m){case 1:return n[e];case 2:return l[e];case 4:return r[e];case 3:return o[e]}else{if(Qo(n,e))return s[e]=1,n[e];if(l!==Ut&&Pt(l,e))return s[e]=2,l[e];if((u=t.propsOptions[0])&&Pt(u,e))return s[e]=3,o[e];if(r!==Ut&&Pt(r,e))return s[e]=4,r[e];Bs&&(s[e]=0)}}const c=ei[e];let d,f;return c?(e==="$attrs"&&ae(t.attrs,0,""),c(t)):(d=i.__cssModules)&&(d=d[e])?d:r!==Ut&&Pt(r,e)?(s[e]=4,r[e]):(f=a.config.globalProperties,Pt(f,e)?f[e]:void 0)},set({_:t},e,r){const{data:n,setupState:l,ctx:o}=t;return Qo(l,e)?(l[e]=r,!0):n!==Ut&&Pt(n,e)?(n[e]=r,!0):!Pt(t.props,e)&&(e[0]!=="$"||!(e.slice(1)in t))&&(o[e]=r,!0)},has({_:{data:t,setupState:e,accessCache:r,ctx:n,appContext:l,propsOptions:o}},s){let i;return!!r[s]||t!==Ut&&Pt(t,s)||Qo(e,s)||(i=o[0])&&Pt(i,s)||Pt(n,s)||Pt(ei,s)||Pt(l.config.globalProperties,s)},defineProperty(t,e,r){return r.get!=null?t._.accessCache[e]=0:Pt(r,"value")&&this.set(t,e,r.value,null),Reflect.defineProperty(t,e,r)}};function iu(t){return At(t)?t.reduce((e,r)=>(e[r]=null,e),{}):t}let Bs=!0;function Cg(t){const e=Sl(t),r=t.proxy,n=t.ctx;Bs=!1,e.beforeCreate&&ou(e.beforeCreate,t,"bc");const{data:l,computed:o,methods:s,watch:i,provide:a,inject:u,created:c,beforeMount:d,mounted:f,beforeUpdate:m,updated:b,activated:_,deactivated:S,beforeDestroy:U,beforeUnmount:D,destroyed:K,unmounted:$,render:Y,renderTracked:B,renderTriggered:I,errorCaptured:E,serverPrefetch:w,expose:P,inheritAttrs:R,components:et,directives:st,filters:X}=e;if(u&&function(N,V){At(N)&&(N=Ms(N));for(const nt in N){const Q=N[nt];let G;G=Wt(Q)?"default"in Q?Ge(Q.from||nt,Q.default,!0):Ge(Q.from||nt):Ge(Q),Yt(G)?Object.defineProperty(V,nt,{enumerable:!0,configurable:!0,get:()=>G.value,set:T=>G.value=T}):V[nt]=G}}(u,n,null),s)for(const N in s){const V=s[N];Tt(V)&&(n[N]=V.bind(r))}if(l){const N=l.call(r,r);Wt(N)&&(t.data=_i(N))}if(Bs=!0,o)for(const N in o){const V=o[N],nt=Tt(V)?V.bind(r,r):Tt(V.get)?V.get.bind(r,r):cr,Q=!Tt(V)&&Tt(V.set)?V.set.bind(r):cr,G=Ie({get:nt,set:Q});Object.defineProperty(n,N,{enumerable:!0,configurable:!0,get:()=>G.value,set:T=>G.value=T})}if(i)for(const N in i)Kh(i[N],n,r,N);if(a){const N=Tt(a)?a.call(r):a;Reflect.ownKeys(N).forEach(V=>{$i(V,N[V])})}function j(N,V){At(V)?V.forEach(nt=>N(nt.bind(r))):V&&N(V.bind(r))}if(c&&ou(c,t,"c"),j(Vh,d),j(vl,f),j(Sg,m),j(Ag,b),j(wg,_),j(_g,S),j(Og,E),j(Tg,B),j(Ig,I),j(qh,D),j(wl,$),j(kg,w),At(P))if(P.length){const N=t.exposed||(t.exposed={});P.forEach(V=>{Object.defineProperty(N,V,{get:()=>r[V],set:nt=>r[V]=nt})})}else t.exposed||(t.exposed={});Y&&t.render===cr&&(t.render=Y),R!=null&&(t.inheritAttrs=R),et&&(t.components=et),st&&(t.directives=st),w&&Wh(t)}function ou(t,e,r){Ue(At(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,r)}function Kh(t,e,r,n){let l=n.includes(".")?tf(r,n):()=>r[n];if(qt(t)){const o=e[t];Tt(o)&&ri(l,o)}else if(Tt(t))ri(l,t.bind(r));else if(Wt(t))if(At(t))t.forEach(o=>Kh(o,e,r,n));else{const o=Tt(t.handler)?t.handler.bind(r):e[t.handler];Tt(o)&&ri(l,o,t)}}function Sl(t){const e=t.type,{mixins:r,extends:n}=e,{mixins:l,optionsCache:o,config:{optionMergeStrategies:s}}=t.appContext,i=o.get(e);let a;return i?a=i:l.length||r||n?(a={},l.length&&l.forEach(u=>oo(a,u,s,!0)),oo(a,e,s)):a=e,Wt(e)&&o.set(e,a),a}function oo(t,e,r,n=!1){const{mixins:l,extends:o}=e;o&&oo(t,o,r,!0),l&&l.forEach(s=>oo(t,s,r,!0));for(const s in e)if(!(n&&s==="expose")){const i=Rg[s]||r&&r[s];t[s]=i?i(t[s],e[s]):e[s]}return t}const Rg={data:su,props:au,emits:au,methods:Fn,computed:Fn,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:Fn,directives:Fn,watch:function(t,e){if(!t)return e;if(!e)return t;const r=Xt(Object.create(null),t);for(const n in e)r[n]=ue(t[n],e[n]);return r},provide:su,inject:function(t,e){return Fn(Ms(t),Ms(e))}};function su(t,e){return e?t?function(){return Xt(Tt(t)?t.call(this,this):t,Tt(e)?e.call(this,this):e)}:e:t}function Ms(t){if(At(t)){const e={};for(let r=0;r(o.has(u)||(u&&Tt(u.install)?(o.add(u),u.install(a,...c)):Tt(u)&&(o.add(u),u(a,...c))),a),mixin:u=>(l.mixins.includes(u)||l.mixins.push(u),a),component:(u,c)=>c?(l.components[u]=c,a):l.components[u],directive:(u,c)=>c?(l.directives[u]=c,a):l.directives[u],mount(u,c,d){if(!i){const f=a._ceVNode||me(r,n);return f.appContext=l,d===!0?d="svg":d===!1&&(d=void 0),c&&e?e(f,u):t(f,u,d),i=!0,a._container=u,u.__vue_app__=a,Oo(f.component)}},onUnmount(u){s.push(u)},unmount(){i&&(Ue(s,a._instance,16),t(null,a._container),delete a._container.__vue_app__)},provide:(u,c)=>(l.provides[u]=c,a),runWithContext(u){const c=sn;sn=a;try{return u()}finally{sn=c}}};return a}}let sn=null;function $i(t,e){if(re){let r=re.provides;const n=re.parent&&re.parent.provides;n===r&&(r=re.provides=Object.create(n)),r[t]=e}}function Ge(t,e,r=!1){const n=re||Zt;if(n||sn){const l=sn?sn._context.provides:n?n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(l&&t in l)return l[t];if(arguments.length>1)return r&&Tt(e)?e.call(n&&n.proxy):e}}const Qh={},lu=()=>Object.create(Qh),Yh=t=>Object.getPrototypeOf(t)===Qh;function uu(t,e,r,n){const[l,o]=t.propsOptions;let s,i=!1;if(e)for(let a in e){if(Jn(a))continue;const u=e[a];let c;l&&Pt(l,c=xe(a))?o&&o.includes(c)?(s||(s={}))[c]=u:r[c]=u:so(t.emitsOptions,a)||a in n&&u===n[a]||(n[a]=u,i=!0)}if(o){const a=Ct(r),u=s||Ut;for(let c=0;c{a=!0;const[f,m]=Jh(d,e,!0);Xt(s,f),m&&i.push(...m)};!r&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}if(!o&&!a)return Wt(t)&&n.set(t,In),In;if(At(o))for(let c=0;ct[0]==="_"||t==="$stable",Al=t=>At(t)?t.map(qe):[qe(t)],Lg=(t,e,r)=>{if(e._n)return e;const n=yg((...l)=>Al(e(...l)),r);return n._c=!1,n},hu=(t,e,r)=>{const n=t._ctx;for(const l in t){if(Xh(l))continue;const o=t[l];if(Tt(o))e[l]=Lg(0,o,n);else if(o!=null){const s=Al(o);e[l]=()=>s}}},fu=(t,e)=>{const r=Al(e);t.slots.default=()=>r},pu=(t,e,r)=>{for(const n in e)(r||n!=="_")&&(t[n]=e[n])},de=function(t,e){e&&e.pendingBranch?At(t)?e.effects.push(...t):e.effects.push(t):(At(r=t)?xn.push(...r):Or&&r.id===-1?Or.splice(_n+1,0,r):1&r.flags||(xn.push(r),r.flags|=1),xh());var r};function jg(t){return function(e){eo().__VUE__=!0;const{insert:r,remove:n,patchProp:l,createElement:o,createText:s,createComment:i,setText:a,setElementText:u,parentNode:c,nextSibling:d,setScopeId:f=cr,insertStaticContent:m}=e,b=(L,A,F,h=null,p=null,y=null,O=void 0,C=null,x=!!A.dynamicChildren)=>{if(L===A)return;L&&!tn(L,A)&&(h=ut(L),T(L,p,y,!0),L=null),A.patchFlag===-2&&(x=!1,A.dynamicChildren=null);const{type:g,ref:v,shapeFlag:k}=A;switch(g){case To:_(L,A,F,h);break;case fe:S(L,A,F,h);break;case Vi:L==null&&U(A,F,h,O);break;case ge:R(L,A,F,h,p,y,O,C,x);break;default:1&k?$(L,A,F,h,p,y,O,C,x):6&k?et(L,A,F,h,p,y,O,C,x):(64&k||128&k)&&g.process(L,A,F,h,p,y,O,C,x,rt)}v!=null&&p&&Rs(v,L&&L.ref,y,A||L,!A)},_=(L,A,F,h)=>{if(L==null)r(A.el=s(A.children),F,h);else{const p=A.el=L.el;A.children!==L.children&&a(p,A.children)}},S=(L,A,F,h)=>{L==null?r(A.el=i(A.children||""),F,h):A.el=L.el},U=(L,A,F,h)=>{[L.el,L.anchor]=m(L.children,A,F,h,L.el,L.anchor)},D=({el:L,anchor:A},F,h)=>{let p;for(;L&&L!==A;)p=d(L),r(L,F,h),L=p;r(A,F,h)},K=({el:L,anchor:A})=>{let F;for(;L&&L!==A;)F=d(L),n(L),L=F;n(A)},$=(L,A,F,h,p,y,O,C,x)=>{A.type==="svg"?O="svg":A.type==="math"&&(O="mathml"),L==null?Y(A,F,h,p,y,O,C,x):E(L,A,p,y,O,C,x)},Y=(L,A,F,h,p,y,O,C)=>{let x,g;const{props:v,shapeFlag:k,transition:M,dirs:W}=L;if(x=L.el=o(L.type,y,v&&v.is,v),8&k?u(x,L.children):16&k&&I(L.children,x,null,h,p,Yo(L,y),O,C),W&&$r(L,null,h,"created"),B(x,L,L.scopeId,O,h),v){for(const at in v)at==="value"||Jn(at)||l(x,at,null,v[at],y,h);"value"in v&&l(x,"value",null,v.value,y),(g=v.onVnodeBeforeMount)&&Fe(g,h,L)}W&&$r(L,null,h,"beforeMount");const J=function(at,ot){return(!at||at&&!at.pendingBranch)&&ot&&!ot.persisted}(p,M);J&&M.beforeEnter(x),r(x,A,F),((g=v&&v.onVnodeMounted)||J||W)&&de(()=>{g&&Fe(g,h,L),J&&M.enter(x),W&&$r(L,null,h,"mounted")},p)},B=(L,A,F,h,p)=>{if(F&&f(L,F),h)for(let y=0;y{for(let g=x;g{const C=A.el=L.el;let{patchFlag:x,dynamicChildren:g,dirs:v}=A;x|=16&L.patchFlag;const k=L.props||Ut,M=A.props||Ut;let W;if(F&&Vr(F,!1),(W=M.onVnodeBeforeUpdate)&&Fe(W,F,A,L),v&&$r(A,L,F,"beforeUpdate"),F&&Vr(F,!0),(k.innerHTML&&M.innerHTML==null||k.textContent&&M.textContent==null)&&u(C,""),g?w(L.dynamicChildren,g,C,F,h,Yo(A,p),y):O||V(L,A,C,null,F,h,Yo(A,p),y,!1),x>0){if(16&x)P(C,k,M,F,p);else if(2&x&&k.class!==M.class&&l(C,"class",null,M.class,p),4&x&&l(C,"style",k.style,M.style,p),8&x){const J=A.dynamicProps;for(let at=0;at{W&&Fe(W,F,A,L),v&&$r(A,L,F,"updated")},h)},w=(L,A,F,h,p,y,O)=>{for(let C=0;C{if(A!==F){if(A!==Ut)for(const y in A)Jn(y)||y in F||l(L,y,A[y],null,p,h);for(const y in F){if(Jn(y))continue;const O=F[y],C=A[y];O!==C&&y!=="value"&&l(L,y,C,O,p,h)}"value"in F&&l(L,"value",A.value,F.value,p)}},R=(L,A,F,h,p,y,O,C,x)=>{const g=A.el=L?L.el:s(""),v=A.anchor=L?L.anchor:s("");let{patchFlag:k,dynamicChildren:M,slotScopeIds:W}=A;W&&(C=C?C.concat(W):W),L==null?(r(g,F,h),r(v,F,h),I(A.children||[],F,v,p,y,O,C,x)):k>0&&64&k&&M&&L.dynamicChildren?(w(L.dynamicChildren,M,F,p,y,O,C),(A.key!=null||p&&A===p.subTree)&&kl(L,A,!0)):V(L,A,F,v,p,y,O,C,x)},et=(L,A,F,h,p,y,O,C,x)=>{A.slotScopeIds=C,L==null?512&A.shapeFlag?p.ctx.activate(A,F,h,O,x):st(A,F,h,p,y,O,x):X(L,A,x)},st=(L,A,F,h,p,y,O)=>{const C=L.component=function(x,g,v){const k=x.type,M=(g?g.appContext:x.appContext)||Kg,W={uid:Gg++,vnode:x,type:k,parent:g,appContext:M,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new ah(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:g?g.provides:Object.create(M.provides),ids:g?g.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Jh(k,M),emitsOptions:ef(k,M),emit:null,emitted:null,propsDefaults:Ut,inheritAttrs:k.inheritAttrs,ctx:Ut,data:Ut,props:Ut,attrs:Ut,slots:Ut,refs:Ut,setupState:Ut,setupContext:null,suspense:v,suspenseId:v?v.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return W.ctx={_:W},W.root=g?g.root:W,W.emit=Wg.bind(null,W),x.ce&&x.ce(W),W}(L,h,p);if(ko(L)&&(C.ctx.renderer=rt),function(x,g=!1,v=!1){g&&Ns(g);const{props:k,children:M}=x.vnode,W=lf(x);(function(at,ot,vt,bt=!1){const wt={},Ot=lu();at.propsDefaults=Object.create(null),uu(at,ot,wt,Ot);for(const kt in at.propsOptions[0])kt in wt||(wt[kt]=void 0);vt?at.props=bt?wt:Ah(wt):at.type.props?at.props=wt:at.props=Ot,at.attrs=Ot})(x,k,W,g),((at,ot,vt)=>{const bt=at.slots=lu();if(32&at.vnode.shapeFlag){const wt=ot._;wt?(pu(bt,ot,vt),vt&&nh(bt,"_",wt,!0)):hu(ot,bt)}else ot&&fu(at,ot)})(x,M,v);const J=W?function(at,ot){const vt=at.type;at.accessCache=Object.create(null),at.proxy=new Proxy(at.ctx,xg);const{setup:bt}=vt;if(bt){jr();const wt=at.setupContext=bt.length>1?function(_t){const It=yt=>{_t.exposed=yt||{}};return{attrs:new Proxy(_t.attrs,Qg),slots:_t.slots,emit:_t.emit,expose:It}}(at):null,Ot=Si(at),kt=Ei(bt,at,0,[at.props,wt]),Mt=th(kt);if(Ur(),Ot(),!Mt&&!at.sp||An(at)||Wh(at),Mt){if(kt.then(yu,yu),ot)return kt.then(_t=>{vu(at,_t,ot)}).catch(_t=>{Ao(_t,at,0)});at.asyncDep=kt}else vu(at,kt,ot)}else uf(at,ot)}(x,g):void 0;g&&Ns(!1)}(C,!1,O),C.asyncDep){if(p&&p.registerDep(C,j,O),!L.el){const x=C.subTree=me(fe);S(null,x,A,F)}}else j(C,L,A,F,p,y,O)},X=(L,A,F)=>{const h=A.component=L.component;if(function(p,y,O){const{props:C,children:x,component:g}=p,{props:v,children:k,patchFlag:M}=y,W=g.emitsOptions;if(y.dirs||y.transition)return!0;if(!(O&&M>=0))return!(!x&&!k||k&&k.$stable)||C!==v&&(C?!v||gu(C,v,W):!!v);if(1024&M)return!0;if(16&M)return C?gu(C,v,W):!!v;if(8&M){const J=y.dynamicProps;for(let at=0;at{const C=()=>{if(L.isMounted){let{next:k,bu:M,u:W,parent:J,vnode:at}=L;{const Ot=Zh(L);if(Ot)return k&&(k.el=at.el,N(L,k,O)),void Ot.asyncDep.then(()=>{L.isUnmounted||C()})}let ot,vt=k;Vr(L,!1),k?(k.el=at.el,N(L,k,O)):k=at,M&&Fo(M),(ot=k.props&&k.props.onVnodeBeforeUpdate)&&Fe(ot,J,k,at),Vr(L,!0);const bt=Jo(L),wt=L.subTree;L.subTree=bt,b(wt,bt,c(wt.el),ut(wt),L,p,y),k.el=bt.el,vt===null&&function({vnode:Ot,parent:kt},Mt){for(;kt;){const _t=kt.subTree;if(_t.suspense&&_t.suspense.activeBranch===Ot&&(_t.el=Ot.el),_t!==Ot)break;(Ot=kt.vnode).el=Mt,kt=kt.parent}}(L,bt.el),W&&de(W,p),(ot=k.props&&k.props.onVnodeUpdated)&&de(()=>Fe(ot,J,k,at),p)}else{let k;const{el:M,props:W}=A,{bm:J,m:at,parent:ot,root:vt,type:bt}=L,wt=An(A);if(Vr(L,!1),J&&Fo(J),!wt&&(k=W&&W.onVnodeBeforeMount)&&Fe(k,ot,A),Vr(L,!0),M&&dt){const Ot=()=>{L.subTree=Jo(L),dt(M,L.subTree,L,p,null)};wt&&bt.__asyncHydrate?bt.__asyncHydrate(M,L,Ot):Ot()}else{vt.ce&&vt.ce._injectChildStyle(bt);const Ot=L.subTree=Jo(L);b(null,Ot,F,h,L,p,y),A.el=Ot.el}if(at&&de(at,p),!wt&&(k=W&&W.onVnodeMounted)){const Ot=A;de(()=>Fe(k,ot,Ot),p)}(256&A.shapeFlag||ot&&An(ot.vnode)&&256&ot.vnode.shapeFlag)&&L.a&&de(L.a,p),L.isMounted=!0,A=F=h=null}};L.scope.on();const x=L.effect=new ch(C);L.scope.off();const g=L.update=x.run.bind(x),v=L.job=x.runIfDirty.bind(x);v.i=L,v.id=L.uid,x.scheduler=()=>bl(v),Vr(L,!0),g()},N=(L,A,F)=>{A.component=L;const h=L.vnode.props;L.vnode=A,L.next=null,function(p,y,O,C){const{props:x,attrs:g,vnode:{patchFlag:v}}=p,k=Ct(x),[M]=p.propsOptions;let W=!1;if(!(C||v>0)||16&v){let J;uu(p,y,x,g)&&(W=!0);for(const at in k)y&&(Pt(y,at)||(J=Dr(at))!==at&&Pt(y,J))||(M?!O||O[at]===void 0&&O[J]===void 0||(x[at]=Ls(M,k,at,void 0,p,!0)):delete x[at]);if(g!==k)for(const at in g)y&&Pt(y,at)||(delete g[at],W=!0)}else if(8&v){const J=p.vnode.dynamicProps;for(let at=0;at{const{vnode:C,slots:x}=p;let g=!0,v=Ut;if(32&C.shapeFlag){const k=y._;k?O&&k===1?g=!1:pu(x,y,O):(g=!y.$stable,hu(y,x)),v=y}else y&&(fu(p,y),v={default:1});if(g)for(const k in x)Xh(k)||v[k]!=null||delete x[k]})(L,A.children,F),jr(),Xl(L),Ur()},V=(L,A,F,h,p,y,O,C,x=!1)=>{const g=L&&L.children,v=L?L.shapeFlag:0,k=A.children,{patchFlag:M,shapeFlag:W}=A;if(M>0){if(128&M)return void Q(g,k,F,h,p,y,O,C,x);if(256&M)return void nt(g,k,F,h,p,y,O,C,x)}8&W?(16&v&<(g,p,y),k!==g&&u(F,k)):16&v?16&W?Q(g,k,F,h,p,y,O,C,x):lt(g,p,y,!0):(8&v&&u(F,""),16&W&&I(k,F,h,p,y,O,C,x))},nt=(L,A,F,h,p,y,O,C,x)=>{A=A||In;const g=(L=L||In).length,v=A.length,k=Math.min(g,v);let M;for(M=0;Mv?lt(L,p,y,!0,!1,k):I(A,F,h,p,y,O,C,x,k)},Q=(L,A,F,h,p,y,O,C,x)=>{let g=0;const v=A.length;let k=L.length-1,M=v-1;for(;g<=k&&g<=M;){const W=L[g],J=A[g]=x?Cr(A[g]):qe(A[g]);if(!tn(W,J))break;b(W,J,F,null,p,y,O,C,x),g++}for(;g<=k&&g<=M;){const W=L[k],J=A[M]=x?Cr(A[M]):qe(A[M]);if(!tn(W,J))break;b(W,J,F,null,p,y,O,C,x),k--,M--}if(g>k){if(g<=M){const W=M+1,J=WM)for(;g<=k;)T(L[g],p,y,!0),g++;else{const W=g,J=g,at=new Map;for(g=J;g<=M;g++){const _t=A[g]=x?Cr(A[g]):qe(A[g]);_t.key!=null&&at.set(_t.key,g)}let ot,vt=0;const bt=M-J+1;let wt=!1,Ot=0;const kt=new Array(bt);for(g=0;g=bt){T(_t,p,y,!0);continue}let It;if(_t.key!=null)It=at.get(_t.key);else for(ot=J;ot<=M;ot++)if(kt[ot-J]===0&&tn(_t,A[ot])){It=ot;break}It===void 0?T(_t,p,y,!0):(kt[It-J]=g+1,It>=Ot?Ot=It:wt=!0,b(_t,A[It],F,null,p,y,O,C,x),vt++)}const Mt=wt?function(_t){const It=_t.slice(),yt=[0];let xt,vr,Ht,Jt,Ee;const De=_t.length;for(xt=0;xt>1,_t[yt[Ee]]0&&(It[xt]=yt[Ht-1]),yt[Ht]=xt)}}for(Ht=yt.length,Jt=yt[Ht-1];Ht-- >0;)yt[Ht]=Jt,Jt=It[Jt];return yt}(kt):In;for(ot=Mt.length-1,g=bt-1;g>=0;g--){const _t=J+g,It=A[_t],yt=_t+1{const{el:y,type:O,transition:C,children:x,shapeFlag:g}=L;if(6&g)return void G(L.component.subTree,A,F,h);if(128&g)return void L.suspense.move(A,F,h);if(64&g)return void O.move(L,A,F,rt);if(O===ge){r(y,A,F);for(let v=0;vC.enter(y),p);else{const{leave:v,delayLeave:k,afterLeave:M}=C,W=()=>r(y,A,F),J=()=>{v(y,()=>{W(),M&&M()})};k?k(y,W,J):J()}else r(y,A,F)},T=(L,A,F,h=!1,p=!1)=>{const{type:y,props:O,ref:C,children:x,dynamicChildren:g,shapeFlag:v,patchFlag:k,dirs:M,cacheIndex:W}=L;if(k===-2&&(p=!1),C!=null&&Rs(C,null,F,L,!0),W!=null&&(A.renderCache[W]=void 0),256&v)return void A.ctx.deactivate(L);const J=1&v&&M,at=!An(L);let ot;if(at&&(ot=O&&O.onVnodeBeforeUnmount)&&Fe(ot,A,L),6&v)it(L.component,F,h);else{if(128&v)return void L.suspense.unmount(F,h);J&&$r(L,null,A,"beforeUnmount"),64&v?L.type.remove(L,A,F,rt,h):g&&!g.hasOnce&&(y!==ge||k>0&&64&k)?lt(g,A,F,!1,!0):(y===ge&&384&k||!p&&16&v)&<(x,A,F),h&&q(L)}(at&&(ot=O&&O.onVnodeUnmounted)||J)&&de(()=>{ot&&Fe(ot,A,L),J&&$r(L,null,A,"unmounted")},F)},q=L=>{const{type:A,el:F,anchor:h,transition:p}=L;if(A===ge)return void tt(F,h);if(A===Vi)return void K(L);const y=()=>{n(F),p&&!p.persisted&&p.afterLeave&&p.afterLeave()};if(1&L.shapeFlag&&p&&!p.persisted){const{leave:O,delayLeave:C}=p,x=()=>O(F,y);C?C(L.el,y,x):x()}else y()},tt=(L,A)=>{let F;for(;L!==A;)F=d(L),n(L),L=F;n(A)},it=(L,A,F)=>{const{bum:h,scope:p,job:y,subTree:O,um:C,m:x,a:g}=L;du(x),du(g),h&&Fo(h),p.stop(),y&&(y.flags|=8,T(O,L,A,F)),C&&de(C,A),de(()=>{L.isUnmounted=!0},A),A&&A.pendingBranch&&!A.isUnmounted&&L.asyncDep&&!L.asyncResolved&&L.suspenseId===A.pendingId&&(A.deps--,A.deps===0&&A.resolve())},lt=(L,A,F,h=!1,p=!1,y=0)=>{for(let O=y;O{if(6&L.shapeFlag)return ut(L.component.subTree);if(128&L.shapeFlag)return L.suspense.next();const A=d(L.anchor||L.el),F=A&&A[Bh];return F?d(F):A};let pt=!1;const H=(L,A,F)=>{L==null?A._vnode&&T(A._vnode,null,null,!0):b(A._vnode||null,L,A,null,null,null,F),A._vnode=L,pt||(pt=!0,Xl(),Ch(),pt=!1)},rt={p:b,um:T,m:G,r:q,mt:st,mc:I,pc:V,pbc:w,n:ut,o:e};let Z,dt;return{render:H,hydrate:Z,createApp:Bg(H,Z)}}(t)}function Yo({type:t,props:e},r){return r==="svg"&&t==="foreignObject"||r==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:r}function Vr({effect:t,job:e},r){r?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function kl(t,e,r=!1){const n=t.children,l=e.children;if(At(n)&&At(l))for(let o=0;oGe(Ug);function ri(t,e,r){return Il(t,e,r)}function Il(t,e,r=Ut){const{immediate:n,deep:l,flush:o,once:s}=r,i=Xt({},r),a=e&&n||!e&&o!=="post";let u;if(gi){if(o==="sync"){const m=Ng();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!a){const m=()=>{};return m.stop=cr,m.resume=cr,m.pause=cr,m}}const c=re;i.call=(m,b,_)=>Ue(m,c,b,_);let d=!1;o==="post"?i.scheduler=m=>{de(m,c&&c.suspense)}:o!=="sync"&&(d=!0,i.scheduler=(m,b)=>{b?m():bl(m)}),i.augmentJob=m=>{e&&(m.flags|=4),d&&(m.flags|=2,c&&(m.id=c.uid,m.i=c))};const f=mg(t,e,i);return gi&&(u?u.push(f):a&&f()),f}function Dg(t,e,r){const n=this.proxy,l=qt(t)?t.includes(".")?tf(n,t):()=>n[t]:t.bind(n,n);let o;Tt(e)?o=e:(o=e.handler,r=e);const s=Si(this),i=Il(l,o.bind(n),r);return s(),i}function tf(t,e){const r=e.split(".");return()=>{let n=t;for(let l=0;le==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${xe(e)}Modifiers`]||t[`${Dr(e)}Modifiers`];function Wg(t,e,...r){if(t.isUnmounted)return;const n=t.vnode.props||Ut;let l=r;const o=e.startsWith("update:"),s=o&&Fg(n,e.slice(7));let i;s&&(s.trim&&(l=r.map(c=>qt(c)?c.trim():c)),s.number&&(l=r.map($d)));let a=n[i=Do(e)]||n[i=Do(xe(e))];!a&&o&&(a=n[i=Do(Dr(e))]),a&&Ue(a,t,6,l);const u=n[i+"Once"];if(u){if(t.emitted){if(t.emitted[i])return}else t.emitted={};t.emitted[i]=!0,Ue(u,t,6,l)}}function ef(t,e,r=!1){const n=e.emitsCache,l=n.get(t);if(l!==void 0)return l;const o=t.emits;let s={},i=!1;if(!Tt(t)){const a=u=>{const c=ef(u,e,!0);c&&(i=!0,Xt(s,c))};!r&&e.mixins.length&&e.mixins.forEach(a),t.extends&&a(t.extends),t.mixins&&t.mixins.forEach(a)}return o||i?(At(o)?o.forEach(a=>s[a]=null):Xt(s,o),Wt(t)&&n.set(t,s),s):(Wt(t)&&n.set(t,null),null)}function so(t,e){return!(!t||!yo(e))&&(e=e.slice(2).replace(/Once$/,""),Pt(t,e[0].toLowerCase()+e.slice(1))||Pt(t,Dr(e))||Pt(t,e))}function Jo(t){const{type:e,vnode:r,proxy:n,withProxy:l,propsOptions:[o],slots:s,attrs:i,emit:a,render:u,renderCache:c,props:d,data:f,setupState:m,ctx:b,inheritAttrs:_}=t,S=io(t);let U,D;try{if(4&r.shapeFlag){const $=l||n,Y=$;U=qe(u.call(Y,$,c,d,m,f,b)),D=i}else{const $=e;U=qe($.length>1?$(d,{attrs:i,slots:s,emit:a}):$(d,null)),D=e.props?i:$g(i)}}catch($){ni.length=0,Ao($,t,1),U=me(fe)}let K=U;if(D&&_!==!1){const $=Object.keys(D),{shapeFlag:Y}=K;$.length&&7&Y&&(o&&$.some(ol)&&(D=Vg(D,o)),K=Nr(K,D,!1,!0))}return r.dirs&&(K=Nr(K,null,!1,!0),K.dirs=K.dirs?K.dirs.concat(r.dirs):r.dirs),r.transition&&fi(K,r.transition),U=K,io(S),U}const $g=t=>{let e;for(const r in t)(r==="class"||r==="style"||yo(r))&&((e||(e={}))[r]=t[r]);return e},Vg=(t,e)=>{const r={};for(const n in t)ol(n)&&n.slice(9)in e||(r[n]=t[n]);return r};function gu(t,e,r){const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!0;for(let l=0;lt.__isSuspense,ge=Symbol.for("v-fgt"),To=Symbol.for("v-txt"),fe=Symbol.for("v-cmt"),Vi=Symbol.for("v-stc"),ni=[];let _e=null;function js(t=!1){ni.push(_e=t?null:[])}let pi=1;function mu(t){pi+=t,t<0&&_e&&(_e.hasOnce=!0)}function nf(t){return t.dynamicChildren=pi>0?_e||In:null,ni.pop(),_e=ni[ni.length-1]||null,pi>0&&_e&&_e.push(t),t}function Ky(t,e,r,n,l,o){return nf(sf(t,e,r,n,l,o,!0))}function Us(t,e,r,n,l){return nf(me(t,e,r,n,l,!0))}function di(t){return!!t&&t.__v_isVNode===!0}function tn(t,e){return t.type===e.type&&t.key===e.key}const of=({key:t})=>t??null,qi=({ref:t,ref_key:e,ref_for:r})=>(typeof t=="number"&&(t=""+t),t!=null?qt(t)||Yt(t)||Tt(t)?{i:Zt,r:t,k:e,f:!!r}:t:null);function sf(t,e=null,r=null,n=0,l=null,o=t===ge?0:1,s=!1,i=!1){const a={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&of(e),ref:e&&qi(e),scopeId:Ph,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:l,dynamicChildren:null,appContext:null,ctx:Zt};return i?(Tl(a,r),128&o&&t.normalize(a)):r&&(a.shapeFlag|=qt(r)?8:16),pi>0&&!s&&_e&&(a.patchFlag>0||6&o)&&a.patchFlag!==32&&_e.push(a),a}const me=function(t,e=null,r=null,n=0,l=null,o=!1){if(t&&t!==Hh||(t=fe),di(t)){const a=Nr(t,e,!0);return r&&Tl(a,r),pi>0&&!o&&_e&&(6&a.shapeFlag?_e[_e.indexOf(t)]=a:_e.push(a)),a.patchFlag=-2,a}s=t,Tt(s)&&"__vccOpts"in s&&(t=t.__vccOpts);var s;if(e){e=qg(e);let{class:a,style:u}=e;a&&!qt(a)&&(e.class=Eo(a)),Wt(u)&&(dl(u)&&!At(u)&&(u=Xt({},u)),e.style=_o(u))}const i=qt(t)?1:rf(t)?128:Mh(t)?64:Wt(t)?4:Tt(t)?2:0;return sf(t,e,r,n,l,i,o,!0)};function qg(t){return t?dl(t)||Yh(t)?Xt({},t):t:null}function Nr(t,e,r=!1,n=!1){const{props:l,ref:o,patchFlag:s,children:i,transition:a}=t,u=e?zg(l||{},e):l,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:u,key:u&&of(u),ref:e&&e.ref?r&&o?At(o)?o.concat(qi(e)):[o,qi(e)]:qi(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:i,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==ge?s===-1?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:a,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Nr(t.ssContent),ssFallback:t.ssFallback&&Nr(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return a&&n&&fi(c,a.clone(c)),c}function Hg(t=" ",e=0){return me(To,null,t,e)}function Gy(t="",e=!1){return e?(js(),Us(fe,null,t)):me(fe,null,t)}function qe(t){return t==null||typeof t=="boolean"?me(fe):At(t)?me(ge,null,t.slice()):di(t)?Cr(t):me(To,null,String(t))}function Cr(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Nr(t)}function Tl(t,e){let r=0;const{shapeFlag:n}=t;if(e==null)e=null;else if(At(e))r=16;else if(typeof e=="object"){if(65&n){const l=e.default;return void(l&&(l._c&&(l._d=!1),Tl(t,l()),l._c&&(l._d=!0)))}{r=32;const l=e._;l||Yh(e)?l===3&&Zt&&(Zt.slots._===1?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=Zt}}else Tt(e)?(e={default:e,_ctx:Zt},r=32):(e=String(e),64&n?(r=16,e=[Hg(e)]):r=8);t.children=e,t.shapeFlag|=r}function zg(...t){const e={};for(let r=0;rre||Zt;let ao,Ns;{const t=eo(),e=(r,n)=>{let l;return(l=t[r])||(l=t[r]=[]),l.push(n),o=>{l.length>1?l.forEach(s=>s(o)):l[0](o)}};ao=e("__VUE_INSTANCE_SETTERS__",r=>re=r),Ns=e("__VUE_SSR_SETTERS__",r=>gi=r)}const Si=t=>{const e=re;return ao(t),t.scope.on(),()=>{t.scope.off(),ao(e)}},yu=()=>{re&&re.scope.off(),ao(null)};function lf(t){return 4&t.vnode.shapeFlag}let bu,gi=!1;function vu(t,e,r){Tt(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:Wt(e)&&(t.setupState=Th(e)),uf(t,r)}function uf(t,e,r){const n=t.type;if(!t.render){if(!e&&bu&&!n.render){const l=n.template||Sl(t).template;if(l){const{isCustomElement:o,compilerOptions:s}=t.appContext.config,{delimiters:i,compilerOptions:a}=n,u=Xt(Xt({isCustomElement:o,delimiters:i},s),a);n.render=bu(l,u)}}t.render=n.render||cr}{const l=Si(t);jr();try{Cg(t)}finally{Ur(),l()}}}const Qg={get:(t,e)=>(ae(t,0,""),t[e])};function Oo(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(Th(gl(t.exposed)),{get:(e,r)=>r in e?e[r]:r in ei?ei[r](t):void 0,has:(e,r)=>r in e||r in ei})):t.proxy}function Yg(t,e=!0){return Tt(t)?t.displayName||t.name:t.name||e&&t.__name}const Ie=(t,e)=>function(n,l,o=!1){let s,i;return Tt(n)?s=n:(s=n.get,i=n.set),new gg(s,i,o)}(t,0,gi);function Ol(t,e,r){const n=arguments.length;return n===2?Wt(e)&&!At(e)?di(e)?me(t,null,[e]):me(t,e):me(t,null,e):(n>3?r=Array.prototype.slice.call(arguments,2):n===3&&di(r)&&(r=[r]),me(t,e,r))}const Jg="3.5.12";/** -* @vue/runtime-dom v3.5.12 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/let Ds;const wu=typeof window<"u"&&window.trustedTypes;if(wu)try{Ds=wu.createPolicy("vue",{createHTML:t=>t})}catch{}const cf=Ds?t=>Ds.createHTML(t):t=>t,rr=typeof document<"u"?document:null,_u=rr&&rr.createElement("template"),Xg={insert:(t,e,r)=>{e.insertBefore(t,r||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,r,n)=>{const l=e==="svg"?rr.createElementNS("http://www.w3.org/2000/svg",t):e==="mathml"?rr.createElementNS("http://www.w3.org/1998/Math/MathML",t):r?rr.createElement(t,{is:r}):rr.createElement(t);return t==="select"&&n&&n.multiple!=null&&l.setAttribute("multiple",n.multiple),l},createText:t=>rr.createTextNode(t),createComment:t=>rr.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>rr.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,r,n,l,o){const s=r?r.previousSibling:e.lastChild;if(l&&(l===o||l.nextSibling))for(;e.insertBefore(l.cloneNode(!0),r),l!==o&&(l=l.nextSibling););else{_u.innerHTML=cf(n==="svg"?`${t}`:n==="mathml"?`${t}`:t);const i=_u.content;if(n==="svg"||n==="mathml"){const a=i.firstChild;for(;a.firstChild;)i.appendChild(a.firstChild);i.removeChild(a)}e.insertBefore(i,r)}return[s?s.nextSibling:e.firstChild,r?r.previousSibling:e.lastChild]}},wr="transition",Wn="animation",mi=Symbol("_vtc"),hf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},Zg=Xt({},Lh,hf),Qy=(t=>(t.displayName="Transition",t.props=Zg,t))((t,{slots:e})=>Ol(vg,function(r){const n={};for(const X in r)X in hf||(n[X]=r[X]);if(r.css===!1)return n;const{name:l="v",type:o,duration:s,enterFromClass:i=`${l}-enter-from`,enterActiveClass:a=`${l}-enter-active`,enterToClass:u=`${l}-enter-to`,appearFromClass:c=i,appearActiveClass:d=a,appearToClass:f=u,leaveFromClass:m=`${l}-leave-from`,leaveActiveClass:b=`${l}-leave-active`,leaveToClass:_=`${l}-leave-to`}=r,S=function(X){if(X==null)return null;if(Wt(X))return[Xo(X.enter),Xo(X.leave)];{const j=Xo(X);return[j,j]}}(s),U=S&&S[0],D=S&&S[1],{onBeforeEnter:K,onEnter:$,onEnterCancelled:Y,onLeave:B,onLeaveCancelled:I,onBeforeAppear:E=K,onAppear:w=$,onAppearCancelled:P=Y}=n,R=(X,j,N)=>{Hr(X,j?f:u),Hr(X,j?d:a),N&&N()},et=(X,j)=>{X._isLeaving=!1,Hr(X,m),Hr(X,_),Hr(X,b),j&&j()},st=X=>(j,N)=>{const V=X?w:$,nt=()=>R(j,X,N);qr(V,[j,nt]),Su(()=>{Hr(j,X?c:i),_r(j,X?f:u),Eu(V)||Au(j,o,U,nt)})};return Xt(n,{onBeforeEnter(X){qr(K,[X]),_r(X,i),_r(X,a)},onBeforeAppear(X){qr(E,[X]),_r(X,c),_r(X,d)},onEnter:st(!1),onAppear:st(!0),onLeave(X,j){X._isLeaving=!0;const N=()=>et(X,j);_r(X,m),_r(X,b),document.body.offsetHeight,Su(()=>{X._isLeaving&&(Hr(X,m),_r(X,_),Eu(B)||Au(X,o,D,N))}),qr(B,[X,N])},onEnterCancelled(X){R(X,!1),qr(Y,[X])},onAppearCancelled(X){R(X,!0),qr(P,[X])},onLeaveCancelled(X){et(X),qr(I,[X])}})}(t),e)),qr=(t,e=[])=>{At(t)?t.forEach(r=>r(...e)):t&&t(...e)},Eu=t=>!!t&&(At(t)?t.some(e=>e.length>1):t.length>1);function Xo(t){return(r=>{const n=qt(r)?Number(r):NaN;return isNaN(n)?r:n})(t)}function _r(t,e){e.split(/\s+/).forEach(r=>r&&t.classList.add(r)),(t[mi]||(t[mi]=new Set)).add(e)}function Hr(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.remove(n));const r=t[mi];r&&(r.delete(e),r.size||(t[mi]=void 0))}function Su(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let tm=0;function Au(t,e,r,n){const l=t._endId=++tm,o=()=>{l===t._endId&&n()};if(r!=null)return setTimeout(o,r);const{type:s,timeout:i,propCount:a}=function(m,b){const _=window.getComputedStyle(m),S=R=>(_[R]||"").split(", "),U=S(`${wr}Delay`),D=S(`${wr}Duration`),K=ku(U,D),$=S(`${Wn}Delay`),Y=S(`${Wn}Duration`),B=ku($,Y);let I=null,E=0,w=0;b===wr?K>0&&(I=wr,E=K,w=D.length):b===Wn?B>0&&(I=Wn,E=B,w=Y.length):(E=Math.max(K,B),I=E>0?K>B?wr:Wn:null,w=I?I===wr?D.length:Y.length:0);const P=I===wr&&/\b(transform|all)(,|$)/.test(S(`${wr}Property`).toString());return{type:I,timeout:E,propCount:w,hasTransform:P}}(t,e);if(!s)return n();const u=s+"end";let c=0;const d=()=>{t.removeEventListener(u,f),o()},f=m=>{m.target===t&&++c>=a&&d()};setTimeout(()=>{cIu(r)+Iu(t[n])))}function Iu(t){return t==="auto"?0:1e3*Number(t.slice(0,-1).replace(",","."))}const lo=Symbol("_vod"),ff=Symbol("_vsh"),Yy={beforeMount(t,{value:e},{transition:r}){t[lo]=t.style.display==="none"?"":t.style.display,r&&e?r.beforeEnter(t):$n(t,e)},mounted(t,{value:e},{transition:r}){r&&e&&r.enter(t)},updated(t,{value:e,oldValue:r},{transition:n}){!e!=!r&&(n?e?(n.beforeEnter(t),$n(t,!0),n.enter(t)):n.leave(t,()=>{$n(t,!1)}):$n(t,e))},beforeUnmount(t,{value:e}){$n(t,e)}};function $n(t,e){t.style.display=e?t[lo]:"none",t[ff]=!e}const pf=Symbol("");function Jy(t){const e=af();if(!e)return;const r=e.ut=(l=t(e.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${e.uid}"]`)).forEach(o=>uo(o,l))},n=()=>{const l=t(e.proxy);e.ce?uo(e.ce,l):Fs(e.subTree,l),r(l)};Vh(()=>{Il(n,null,{flush:"post"})}),vl(()=>{const l=new MutationObserver(n);l.observe(e.subTree.el.parentNode,{childList:!0}),wl(()=>l.disconnect())})}function Fs(t,e){if(128&t.shapeFlag){const r=t.suspense;t=r.activeBranch,r.pendingBranch&&!r.isHydrating&&r.effects.push(()=>{Fs(r.activeBranch,e)})}for(;t.component;)t=t.component.subTree;if(1&t.shapeFlag&&t.el)uo(t.el,e);else if(t.type===ge)t.children.forEach(r=>Fs(r,e));else if(t.type===Vi){let{el:r,anchor:n}=t;for(;r&&(uo(r,e),r!==n);)r=r.nextSibling}}function uo(t,e){if(t.nodeType===1){const r=t.style;let n="";for(const l in e)r.setProperty(`--${l}`,e[l]),n+=`--${l}: ${e[l]};`;r[pf]=n}}const em=/(^|;)\s*display\s*:/,Tu=/\s*!important$/;function Hi(t,e,r){if(At(r))r.forEach(n=>Hi(t,e,n));else if(r==null&&(r=""),e.startsWith("--"))t.setProperty(e,r);else{const n=function(l,o){const s=Zo[o];if(s)return s;let i=xe(o);if(i!=="filter"&&i in l)return Zo[o]=i;i=wo(i);for(let a=0;a{if(m._vts){if(m._vts<=f.attached)return}else m._vts=Date.now();Ue(function(b,_){if(At(_)){const S=b.stopImmediatePropagation;return b.stopImmediatePropagation=()=>{S.call(b),b._stopped=!0},_.map(U=>D=>!D._stopped&&U&&U(D))}return _}(m,f.value),d,5,[m])};return f.value=c,f.attached=im(),f}(n,l);(function(c,d,f,m){c.addEventListener(d,f,m)})(t,i,u,a)}else s&&(function(u,c,d,f){u.removeEventListener(c,d,f)}(t,i,s,a),o[e]=void 0)}}const Bu=/(?:Once|Passive|Capture)$/;let ts=0;const nm=Promise.resolve(),im=()=>ts||(nm.then(()=>ts=0),ts=Date.now()),Mu=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,om=["ctrl","shift","alt","meta"],sm={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>om.some(r=>t[`${r}Key`]&&!e.includes(r))},Xy=(t,e)=>{const r=t._withMods||(t._withMods={}),n=e.join(".");return r[n]||(r[n]=(l,...o)=>{for(let s=0;s{const r=t._withKeys||(t._withKeys={}),n=e.join(".");return r[n]||(r[n]=l=>{if(!("key"in l))return;const o=Dr(l.key);return e.some(s=>s===o||am[s]===o)?t(l):void 0})},lm=Xt({patchProp:(t,e,r,n,l,o)=>{const s=l==="svg";e==="class"?function(i,a,u){const c=i[mi];c&&(a=(a?[a,...c]:[...c]).join(" ")),a==null?i.removeAttribute("class"):u?i.setAttribute("class",a):i.className=a}(t,n,s):e==="style"?function(i,a,u){const c=i.style,d=qt(u);let f=!1;if(u&&!d){if(a)if(qt(a))for(const m of a.split(";")){const b=m.slice(0,m.indexOf(":")).trim();u[b]==null&&Hi(c,b,"")}else for(const m in a)u[m]==null&&Hi(c,m,"");for(const m in u)m==="display"&&(f=!0),Hi(c,m,u[m])}else if(d){if(a!==u){const m=c[pf];m&&(u+=";"+m),c.cssText=u,f=em.test(u)}}else a&&i.removeAttribute("style");lo in i&&(i[lo]=f?c.display:"",i[ff]&&(c.display="none"))}(t,r,n):yo(e)?ol(e)||rm(t,e,0,n,o):(e[0]==="."?(e=e.slice(1),1):e[0]==="^"?(e=e.slice(1),0):function(i,a,u,c){if(c)return a==="innerHTML"||a==="textContent"||!!(a in i&&Mu(a)&&Tt(u));if(a==="spellcheck"||a==="draggable"||a==="translate"||a==="form"||a==="list"&&i.tagName==="INPUT"||a==="type"&&i.tagName==="TEXTAREA")return!1;if(a==="width"||a==="height"){const d=i.tagName;if(d==="IMG"||d==="VIDEO"||d==="CANVAS"||d==="SOURCE")return!1}return Mu(a)&&qt(u)?!1:a in i}(t,e,n,s))?(Ru(t,e,n),t.tagName.includes("-")||e!=="value"&&e!=="checked"&&e!=="selected"||Cu(t,e,n,s,0,e!=="value")):!t._isVueCE||!/[A-Z]/.test(e)&&qt(n)?(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),Cu(t,e,n,s)):Ru(t,xe(e),n,0,e)}},Xg);let Lu;const tb=(...t)=>{const e=(Lu||(Lu=jg(lm))).createApp(...t),{mount:r}=e;return e.mount=n=>{const l=function(i){return qt(i)?document.querySelector(i):i}(n);if(!l)return;const o=e._component;Tt(o)||o.render||o.template||(o.template=l.innerHTML),l.nodeType===1&&(l.textContent="");const s=r(l,!1,function(i){if(i instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&i instanceof MathMLElement)return"mathml"}(l));return l instanceof Element&&(l.removeAttribute("v-cloak"),l.setAttribute("data-v-app","")),s},e};let df;const xo=t=>df=t,gf=Symbol();function Ws(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var ii,es;function eb(){const t=lh(!0),e=t.run(()=>ml({}));let r=[],n=[];const l=gl({install(o){xo(l),l._a=o,o.provide(gf,l),o.config.globalProperties.$pinia=l,n.forEach(s=>r.push(s)),n=[]},use(o){return this._a?r.push(o):n.push(o),this},_p:r,_a:null,_e:t,_s:new Map,state:e});return l}(es=ii||(ii={})).direct="direct",es.patchObject="patch object",es.patchFunction="patch function";const mf=()=>{};function ju(t,e,r,n=mf){t.push(e);const l=()=>{const o=t.indexOf(e);o>-1&&(t.splice(o,1),n())};return!r&&uh()&&function(o){ce&&ce.cleanups.push(o)}(l),l}function bn(t,...e){t.slice().forEach(r=>{r(...e)})}const um=t=>t(),Uu=Symbol(),rs=Symbol();function $s(t,e){t instanceof Map&&e instanceof Map?e.forEach((r,n)=>t.set(n,r)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const r in e){if(!e.hasOwnProperty(r))continue;const n=e[r],l=t[r];Ws(l)&&Ws(n)&&t.hasOwnProperty(r)&&!Yt(n)&&!Mr(n)?t[r]=$s(l,n):t[r]=n}return t}const cm=Symbol(),{assign:Sr}=Object;function hm(t,e,r,n){const{state:l,actions:o,getters:s}=e,i=r.state.value[t];let a;return a=yf(t,function(){i||(r.state.value[t]=l?l():{});const u=function(c){const d=At(c)?new Array(c.length):{};for(const f in c)d[f]=dg(c,f);return d}(r.state.value[t]);return Sr(u,o,Object.keys(s||{}).reduce((c,d)=>(c[d]=gl(Ie(()=>{xo(r);const f=r._s.get(t);return s[d].call(f,f)})),c),{}))},e,r,n,!0),a}function yf(t,e,r={},n,l,o){let s;const i=Sr({actions:{}},r),a={deep:!0};let u,c,d,f=[],m=[];const b=n.state.value[t];let _;function S(I){let E;u=c=!1,typeof I=="function"?(I(n.state.value[t]),E={type:ii.patchFunction,storeId:t,events:d}):($s(n.state.value[t],I),E={type:ii.patchObject,payload:I,storeId:t,events:d});const w=_=Symbol();yl().then(()=>{_===w&&(u=!0)}),c=!0,bn(f,E,n.state.value[t])}o||b||(n.state.value[t]={}),ml({});const U=o?function(){const{state:I}=r,E=I?I():{};this.$patch(w=>{Sr(w,E)})}:mf,D=(I,E="")=>{if(Uu in I)return I[rs]=E,I;const w=function(){xo(n);const P=Array.from(arguments),R=[],et=[];let st;bn(m,{args:P,name:w[rs],store:K,after:function(X){R.push(X)},onError:function(X){et.push(X)}});try{st=I.apply(this&&this.$id===t?this:K,P)}catch(X){throw bn(et,X),X}return st instanceof Promise?st.then(X=>(bn(R,X),X)).catch(X=>(bn(et,X),Promise.reject(X))):(bn(R,st),st)};return w[Uu]=!0,w[rs]=E,w},K=_i({_p:n,$id:t,$onAction:ju.bind(null,m),$patch:S,$reset:U,$subscribe(I,E={}){const w=ju(f,I,E.detached,()=>P()),P=s.run(()=>ri(()=>n.state.value[t],R=>{(E.flush==="sync"?c:u)&&I({storeId:t,type:ii.direct,events:d},R)},Sr({},a,E)));return w},$dispose:function(){s.stop(),f=[],m=[],n._s.delete(t)}});n._s.set(t,K);const $=(n._a&&n._a.runWithContext||um)(()=>n._e.run(()=>(s=lh()).run(()=>e({action:D}))));for(const I in $){const E=$[I];if(Yt(E)&&(!Yt(B=E)||!B.effect)||Mr(E))o||(!b||Ws(Y=E)&&Y.hasOwnProperty(cm)||(Yt(E)?E.value=b[I]:$s(E,b[I])),n.state.value[t][I]=E);else if(typeof E=="function"){const w=D(E,I);$[I]=w,i.actions[I]=E}}var Y,B;return Sr(K,$),Sr(Ct(K),$),Object.defineProperty(K,"$state",{get:()=>n.state.value[t],set:I=>{S(E=>{Sr(E,I)})}}),n._p.forEach(I=>{Sr(K,s.run(()=>I({store:K,app:n._a,pinia:n,options:i})))}),b&&o&&r.hydrate&&r.hydrate(K.$state,b),u=!0,c=!0,K}/*! #__NO_SIDE_EFFECTS__ */function rb(t,e,r){let n,l;const o=typeof e=="function";function s(i,a){return(i=i||(re||Zt||sn?Ge(gf,null):null))&&xo(i),(i=df)._s.has(n)||(o?yf(n,e,l,i):hm(n,l,i)),i._s.get(n)}return n=t,l=o?r:e,s.$id=n,s}/*! - * vue-router v4.4.5 - * (c) 2024 Eduardo San Martin Morote - * @license MIT - */const En=typeof document<"u";function Nu(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}const Bt=Object.assign;function ns(t,e){const r={};for(const n in e){const l=e[n];r[n]=Ne(l)?l.map(t):t(l)}return r}const oi=()=>{},Ne=Array.isArray,bf=/#/g,fm=/&/g,pm=/\//g,dm=/=/g,gm=/\?/g,vf=/\+/g,mm=/%5B/g,ym=/%5D/g,wf=/%5E/g,bm=/%60/g,_f=/%7B/g,vm=/%7C/g,Ef=/%7D/g,wm=/%20/g;function xl(t){return encodeURI(""+t).replace(vm,"|").replace(mm,"[").replace(ym,"]")}function is(t){return xl(t).replace(vf,"%2B").replace(wm,"+").replace(bf,"%23").replace(fm,"%26").replace(bm,"`").replace(_f,"{").replace(Ef,"}").replace(wf,"^")}function _m(t){return t==null?"":function(e){return xl(e).replace(bf,"%23").replace(gm,"%3F")}(t).replace(pm,"%2F")}function yi(t){try{return decodeURIComponent(""+t)}catch{}return""+t}const Em=/\/$/;function os(t,e,r="/"){let n,l={},o="",s="";const i=e.indexOf("#");let a=e.indexOf("?");return i=0&&(a=-1),a>-1&&(n=e.slice(0,a),o=e.slice(a+1,i>-1?i:e.length),l=t(o)),i>-1&&(n=n||e.slice(0,i),s=e.slice(i,e.length)),n=function(u,c){if(u.startsWith("/"))return u;if(!u)return c;const d=c.split("/"),f=u.split("/"),m=f[f.length-1];m!==".."&&m!=="."||f.push("");let b,_,S=d.length-1;for(b=0;b1&&S--}return d.slice(0,S).join("/")+"/"+f.slice(b).join("/")}(n??e,r),{fullPath:n+(o&&"?")+o+s,path:n,query:l,hash:yi(s)}}function Du(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function Cn(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function Sf(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const r in t)if(!Sm(t[r],e[r]))return!1;return!0}function Sm(t,e){return Ne(t)?Fu(t,e):Ne(e)?Fu(e,t):t===e}function Fu(t,e){return Ne(e)?t.length===e.length&&t.every((r,n)=>r===e[n]):t.length===1&&t[0]===e}const Er={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var bi,Wu,si,ss;function Am(t){if(!t)if(En){const e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),t.replace(Em,"")}(Wu=bi||(bi={})).pop="pop",Wu.push="push",(ss=si||(si={})).back="back",ss.forward="forward",ss.unknown="";const km=/^[^#]+#/;function Im(t,e){return t.replace(km,"#")+e}const Co=()=>({left:window.scrollX,top:window.scrollY});function Tm(t){let e;if("el"in t){const r=t.el,n=typeof r=="string"&&r.startsWith("#"),l=typeof r=="string"?n?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!l)return;e=function(o,s){const i=document.documentElement.getBoundingClientRect(),a=o.getBoundingClientRect();return{behavior:s.behavior,left:a.left-i.left-(s.left||0),top:a.top-i.top-(s.top||0)}}(l,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function $u(t,e){return(history.state?history.state.position-e:-1)+t}const as=new Map;function Af(t,e){const{pathname:r,search:n,hash:l}=e,o=t.indexOf("#");if(o>-1){let s=l.includes(t.slice(o))?t.slice(o).length:1,i=l.slice(s);return i[0]!=="/"&&(i="/"+i),Du(i,"")}return Du(r,t)+n+l}function Vu(t,e,r,n=!1,l=!1){return{back:t,current:e,forward:r,replaced:n,position:window.history.length,scroll:l?Co():null}}function Om(t){const{history:e,location:r}=window,n={value:Af(t,r)},l={value:e.state};function o(s,i,a){const u=t.indexOf("#"),c=u>-1?(r.host&&document.querySelector("base")?t:t.slice(u))+s:location.protocol+"//"+location.host+t+s;try{e[a?"replaceState":"pushState"](i,"",c),l.value=i}catch{r[a?"replace":"assign"](c)}}return l.value||o(n.value,{back:null,current:n.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:n,state:l,push:function(s,i){const a=Bt({},l.value,e.state,{forward:s,scroll:Co()});o(a.current,a,!0),o(s,Bt({},Vu(n.value,s,null),{position:a.position+1},i),!1),n.value=s},replace:function(s,i){o(s,Bt({},e.state,Vu(l.value.back,s,l.value.forward,!0),i,{position:l.value.position}),!0),n.value=s}}}function xm(t){const e=Om(t=Am(t)),r=function(l,o,s,i){let a=[],u=[],c=null;const d=({state:m})=>{const b=Af(l,location),_=s.value,S=o.value;let U=0;if(m){if(s.value=b,o.value=m,c&&c===_)return void(c=null);U=S?m.position-S.position:0}else i(b);a.forEach(D=>{D(s.value,_,{delta:U,type:bi.pop,direction:U?U>0?si.forward:si.back:si.unknown})})};function f(){const{history:m}=window;m.state&&m.replaceState(Bt({},m.state,{scroll:Co()}),"")}return window.addEventListener("popstate",d),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:function(){c=s.value},listen:function(m){a.push(m);const b=()=>{const _=a.indexOf(m);_>-1&&a.splice(_,1)};return u.push(b),b},destroy:function(){for(const m of u)m();u=[],window.removeEventListener("popstate",d),window.removeEventListener("beforeunload",f)}}}(t,e.state,e.location,e.replace),n=Bt({location:"",base:t,go:function(l,o=!0){o||r.pauseListeners(),history.go(l)},createHref:Im.bind(null,t)},e,r);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>e.state.value}),n}function nb(t){return(t=location.host?t||location.pathname+location.search:"").includes("#")||(t+="#"),xm(t)}function kf(t){return typeof t=="string"||typeof t=="symbol"}const If=Symbol("");var qu,vn;function Rn(t,e){return Bt(new Error,{type:t,[If]:!0},e)}function Xe(t,e){return t instanceof Error&&If in t&&(e==null||!!(t.type&e))}(vn=qu||(qu={}))[vn.aborted=4]="aborted",vn[vn.cancelled=8]="cancelled",vn[vn.duplicated=16]="duplicated";const Hu="[^/]+?",Cm={sensitive:!1,strict:!1,start:!0,end:!0},Rm=/[.+*?^${}()[\]/\\]/g;function Pm(t,e){let r=0;for(;re.length?e.length===1&&e[0]===80?1:-1:0}function zu(t,e){let r=0;const n=t.score,l=e.score;for(;r0&&e[e.length-1]<0}const Bm={type:0,value:""},Mm=/[a-zA-Z0-9_]/;function Lm(t,e,r){const n=function(o,s){const i=Bt({},Cm,s),a=[];let u=i.start?"^":"";const c=[];for(const f of o){const m=f.length?[]:[90];i.strict&&!f.length&&(u+="/");for(let b=0;b1&&(f==="*"||f==="+")&&s(`A repeatable param (${b}) must be alone in its segment. eg: '/:ids+.`),c.push({type:1,value:b,regexp:_,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):s("Invalid state to consume buffer"),b="")}function U(){b+=f}for(;m{o(_)}:oi}function o(i){if(kf(i)){const a=n.get(i);a&&(n.delete(i),r.splice(r.indexOf(a),1),a.children.forEach(o),a.alias.forEach(o))}else{const a=r.indexOf(i);a>-1&&(r.splice(a,1),i.record.name&&n.delete(i.record.name),i.children.forEach(o),i.alias.forEach(o))}}function s(i){const a=function(u,c){let d=0,f=c.length;for(;d!==f;){const b=d+f>>1;zu(u,c[b])<0?f=b:d=b+1}const m=function(b){let _=b;for(;_=_.parent;)if(Xu(_)&&zu(b,_)===0)return _}(u);return m&&(f=c.lastIndexOf(m,f-1)),f}(i,r);r.splice(a,0,i),i.record.name&&!Yu(i)&&n.set(i.record.name,i)}return e=Ju({strict:!1,end:!0,sensitive:!1},e),t.forEach(i=>l(i)),{addRoute:l,resolve:function(i,a){let u,c,d,f={};if("name"in i&&i.name){if(u=n.get(i.name),!u)throw Rn(1,{location:i});d=u.record.name,f=Bt(Gu(a.params,u.keys.filter(_=>!_.optional).concat(u.parent?u.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),i.params&&Gu(i.params,u.keys.map(_=>_.name))),c=u.stringify(f)}else if(i.path!=null)c=i.path,u=r.find(_=>_.re.test(c)),u&&(f=u.parse(c),d=u.record.name);else{if(u=a.name?n.get(a.name):r.find(_=>_.re.test(a.path)),!u)throw Rn(1,{location:i,currentLocation:a});d=u.record.name,f=Bt({},a.params,i.params),c=u.stringify(f)}const m=[];let b=u;for(;b;)m.unshift(b.record),b=b.parent;return{name:d,path:c,params:f,matched:m,meta:Nm(m)}},removeRoute:o,clearRoutes:function(){r.length=0,n.clear()},getRoutes:function(){return r},getRecordMatcher:function(i){return n.get(i)}}}function Gu(t,e){const r={};for(const n of e)n in t&&(r[n]=t[n]);return r}function Qu(t){const e={path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:t.aliasOf,beforeEnter:t.beforeEnter,props:Um(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function Um(t){const e={},r=t.props||!1;if("component"in t)e.default=r;else for(const n in t.components)e[n]=typeof r=="object"?r[n]:r;return e}function Yu(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function Nm(t){return t.reduce((e,r)=>Bt(e,r.meta),{})}function Ju(t,e){const r={};for(const n in t)r[n]=n in e?e[n]:t[n];return r}function Xu({record:t}){return!!(t.name||t.components&&Object.keys(t.components).length||t.redirect)}function Dm(t){const e={};if(t===""||t==="?")return e;const r=(t[0]==="?"?t.slice(1):t).split("&");for(let n=0;no&&is(o)):[n&&is(n)]).forEach(o=>{o!==void 0&&(e+=(e.length?"&":"")+r,o!=null&&(e+="="+o))})}return e}function Fm(t){const e={};for(const r in t){const n=t[r];n!==void 0&&(e[r]=Ne(n)?n.map(l=>l==null?null:""+l):n==null?n:""+n)}return e}const Wm=Symbol(""),tc=Symbol(""),Cl=Symbol(""),Tf=Symbol(""),Vs=Symbol("");function Vn(){let t=[];return{add:function(e){return t.push(e),()=>{const r=t.indexOf(e);r>-1&&t.splice(r,1)}},list:()=>t.slice(),reset:function(){t=[]}}}function Rr(t,e,r,n,l,o=s=>s()){const s=n&&(n.enterCallbacks[l]=n.enterCallbacks[l]||[]);return()=>new Promise((i,a)=>{const u=f=>{var m;f===!1?a(Rn(4,{from:r,to:e})):f instanceof Error?a(f):typeof(m=f)=="string"||m&&typeof m=="object"?a(Rn(2,{from:e,to:f})):(s&&n.enterCallbacks[l]===s&&typeof f=="function"&&s.push(f),i())},c=o(()=>t.call(n&&n.instances[l],e,r,u));let d=Promise.resolve(c);t.length<3&&(d=d.then(u)),d.catch(f=>a(f))})}function ls(t,e,r,n,l=o=>o()){const o=[];for(const s of t)for(const i in s.components){let a=s.components[i];if(e==="beforeRouteEnter"||s.instances[i])if(Nu(a)){const u=(a.__vccOpts||a)[e];u&&o.push(Rr(u,r,n,s,i,l))}else{let u=a();o.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${i}" at "${s.path}"`);const d=(f=c).__esModule||f[Symbol.toStringTag]==="Module"||f.default&&Nu(f.default)?c.default:c;var f;s.mods[i]=c,s.components[i]=d;const m=(d.__vccOpts||d)[e];return m&&Rr(m,r,n,s,i,l)()}))}}return o}function ec(t){const e=Ge(Cl),r=Ge(Tf),n=Ie(()=>{const i=On(t.to);return e.resolve(i)}),l=Ie(()=>{const{matched:i}=n.value,{length:a}=i,u=i[a-1],c=r.matched;if(!u||!c.length)return-1;const d=c.findIndex(Cn.bind(null,u));if(d>-1)return d;const f=rc(i[a-2]);return a>1&&rc(u)===f&&c[c.length-1].path!==f?c.findIndex(Cn.bind(null,i[a-2])):d}),o=Ie(()=>l.value>-1&&function(i,a){for(const u in a){const c=a[u],d=i[u];if(typeof c=="string"){if(c!==d)return!1}else if(!Ne(d)||d.length!==c.length||c.some((f,m)=>f!==d[m]))return!1}return!0}(r.params,n.value.params)),s=Ie(()=>l.value>-1&&l.value===r.matched.length-1&&Sf(r.params,n.value.params));return{route:n,href:Ie(()=>n.value.href),isActive:o,isExactActive:s,navigate:function(i={}){return function(a){if(!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)&&!a.defaultPrevented&&!(a.button!==void 0&&a.button!==0)){if(a.currentTarget&&a.currentTarget.getAttribute){const u=a.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(u))return}return a.preventDefault&&a.preventDefault(),!0}}(i)?e[On(t.replace)?"replace":"push"](On(t.to)).catch(oi):Promise.resolve()}}}const $m=Fh({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:ec,setup(t,{slots:e}){const r=_i(ec(t)),{options:n}=Ge(Cl),l=Ie(()=>({[nc(t.activeClass,n.linkActiveClass,"router-link-active")]:r.isActive,[nc(t.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const o=e.default&&e.default(r);return t.custom?o:Ol("a",{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:l.value},o)}}});function rc(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const nc=(t,e,r)=>t??e??r;function ic(t,e){if(!t)return null;const r=t(e);return r.length===1?r[0]:r}const Vm=Fh({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:r}){const n=Ge(Vs),l=Ie(()=>t.route||n.value),o=Ge(tc,0),s=Ie(()=>{let u=On(o);const{matched:c}=l.value;let d;for(;(d=c[u])&&!d.components;)u++;return u}),i=Ie(()=>l.value.matched[s.value]);$i(tc,Ie(()=>s.value+1)),$i(Wm,i),$i(Vs,l);const a=ml();return ri(()=>[a.value,i.value,t.name],([u,c,d],[f,m,b])=>{c&&(c.instances[d]=u,m&&m!==c&&u&&u===f&&(c.leaveGuards.size||(c.leaveGuards=m.leaveGuards),c.updateGuards.size||(c.updateGuards=m.updateGuards))),!u||!c||m&&Cn(c,m)&&f||(c.enterCallbacks[d]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=l.value,c=t.name,d=i.value,f=d&&d.components[c];if(!f)return ic(r.default,{Component:f,route:u});const m=d.props[c],b=m?m===!0?u.params:typeof m=="function"?m(u):m:null,_=Ol(f,Bt({},b,e,{onVnodeUnmounted:S=>{S.component.isUnmounted&&(d.instances[c]=null)},ref:a}));return ic(r.default,{Component:_,route:u})||_}}});function ib(t){const e=jm(t.routes,t),r=t.parseQuery||Dm,n=t.stringifyQuery||Zu,l=t.history,o=Vn(),s=Vn(),i=Vn(),a=Ih(Er,!0);let u=Er;En&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=ns.bind(null,T=>""+T),d=ns.bind(null,_m),f=ns.bind(null,yi);function m(T,q){if(q=Bt({},q||a.value),typeof T=="string"){const rt=os(r,T,q.path),Z=e.resolve({path:rt.path},q),dt=l.createHref(rt.fullPath);return Bt(rt,Z,{params:f(Z.params),hash:yi(rt.hash),redirectedFrom:void 0,href:dt})}let tt;if(T.path!=null)tt=Bt({},T,{path:os(r,T.path,q.path).path});else{const rt=Bt({},T.params);for(const Z in rt)rt[Z]==null&&delete rt[Z];tt=Bt({},T,{params:d(rt)}),q.params=d(q.params)}const it=e.resolve(tt,q),lt=T.hash||"";it.params=c(f(it.params));const ut=function(rt,Z){const dt=Z.query?rt(Z.query):"";return Z.path+(dt&&"?")+dt+(Z.hash||"")}(n,Bt({},T,{hash:(pt=lt,xl(pt).replace(_f,"{").replace(Ef,"}").replace(wf,"^")),path:it.path}));var pt;const H=l.createHref(ut);return Bt({fullPath:ut,hash:lt,query:n===Zu?Fm(T.query):T.query||{}},it,{redirectedFrom:void 0,href:H})}function b(T){return typeof T=="string"?os(r,T,a.value.path):Bt({},T)}function _(T,q){if(u!==T)return Rn(8,{from:q,to:T})}function S(T){return D(T)}function U(T){const q=T.matched[T.matched.length-1];if(q&&q.redirect){const{redirect:tt}=q;let it=typeof tt=="function"?tt(T):tt;return typeof it=="string"&&(it=it.includes("?")||it.includes("#")?it=b(it):{path:it},it.params={}),Bt({query:T.query,hash:T.hash,params:it.path!=null?{}:T.params},it)}}function D(T,q){const tt=u=m(T),it=a.value,lt=T.state,ut=T.force,pt=T.replace===!0,H=U(tt);if(H)return D(Bt(b(H),{state:typeof H=="object"?Bt({},lt,H.state):lt,force:ut,replace:pt}),q||tt);const rt=tt;let Z;return rt.redirectedFrom=q,!ut&&function(dt,L,A){const F=L.matched.length-1,h=A.matched.length-1;return F>-1&&F===h&&Cn(L.matched[F],A.matched[h])&&Sf(L.params,A.params)&&dt(L.query)===dt(A.query)&&L.hash===A.hash}(n,it,tt)&&(Z=Rn(16,{to:rt,from:it}),j(it,it,!0,!1)),(Z?Promise.resolve(Z):Y(rt,it)).catch(dt=>Xe(dt)?Xe(dt,2)?dt:X(dt):st(dt,rt,it)).then(dt=>{if(dt){if(Xe(dt,2))return D(Bt({replace:pt},b(dt.to),{state:typeof dt.to=="object"?Bt({},lt,dt.to.state):lt,force:ut}),q||rt)}else dt=I(rt,it,!0,pt,lt);return B(rt,it,dt),dt})}function K(T,q){const tt=_(T,q);return tt?Promise.reject(tt):Promise.resolve()}function $(T){const q=nt.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(T):T()}function Y(T,q){let tt;const[it,lt,ut]=function(H,rt){const Z=[],dt=[],L=[],A=Math.max(rt.matched.length,H.matched.length);for(let F=0;FCn(y,h))?dt.push(h):Z.push(h));const p=H.matched[F];p&&(rt.matched.find(y=>Cn(y,p))||L.push(p))}return[Z,dt,L]}(T,q);tt=ls(it.reverse(),"beforeRouteLeave",T,q);for(const H of it)H.leaveGuards.forEach(rt=>{tt.push(Rr(rt,T,q))});const pt=K.bind(null,T,q);return tt.push(pt),G(tt).then(()=>{tt=[];for(const H of o.list())tt.push(Rr(H,T,q));return tt.push(pt),G(tt)}).then(()=>{tt=ls(lt,"beforeRouteUpdate",T,q);for(const H of lt)H.updateGuards.forEach(rt=>{tt.push(Rr(rt,T,q))});return tt.push(pt),G(tt)}).then(()=>{tt=[];for(const H of ut)if(H.beforeEnter)if(Ne(H.beforeEnter))for(const rt of H.beforeEnter)tt.push(Rr(rt,T,q));else tt.push(Rr(H.beforeEnter,T,q));return tt.push(pt),G(tt)}).then(()=>(T.matched.forEach(H=>H.enterCallbacks={}),tt=ls(ut,"beforeRouteEnter",T,q,$),tt.push(pt),G(tt))).then(()=>{tt=[];for(const H of s.list())tt.push(Rr(H,T,q));return tt.push(pt),G(tt)}).catch(H=>Xe(H,8)?H:Promise.reject(H))}function B(T,q,tt){i.list().forEach(it=>$(()=>it(T,q,tt)))}function I(T,q,tt,it,lt){const ut=_(T,q);if(ut)return ut;const pt=q===Er,H=En?history.state:{};tt&&(it||pt?l.replace(T.fullPath,Bt({scroll:pt&&H&&H.scroll},lt)):l.push(T.fullPath,lt)),a.value=T,j(T,q,tt,pt),X()}let E;function w(){E||(E=l.listen((T,q,tt)=>{if(!Q.listening)return;const it=m(T),lt=U(it);if(lt)return void D(Bt(lt,{replace:!0}),it).catch(oi);u=it;const ut=a.value;var pt,H;En&&(pt=$u(ut.fullPath,tt.delta),H=Co(),as.set(pt,H)),Y(it,ut).catch(rt=>Xe(rt,12)?rt:Xe(rt,2)?(D(rt.to,it).then(Z=>{Xe(Z,20)&&!tt.delta&&tt.type===bi.pop&&l.go(-1,!1)}).catch(oi),Promise.reject()):(tt.delta&&l.go(-tt.delta,!1),st(rt,it,ut))).then(rt=>{(rt=rt||I(it,ut,!1))&&(tt.delta&&!Xe(rt,8)?l.go(-tt.delta,!1):tt.type===bi.pop&&Xe(rt,20)&&l.go(-1,!1)),B(it,ut,rt)}).catch(oi)}))}let P,R=Vn(),et=Vn();function st(T,q,tt){X(T);const it=et.list();return it.length&&it.forEach(lt=>lt(T,q,tt)),Promise.reject(T)}function X(T){return P||(P=!T,w(),R.list().forEach(([q,tt])=>T?tt(T):q()),R.reset()),T}function j(T,q,tt,it){const{scrollBehavior:lt}=t;if(!En||!lt)return Promise.resolve();const ut=!tt&&function(pt){const H=as.get(pt);return as.delete(pt),H}($u(T.fullPath,0))||(it||!tt)&&history.state&&history.state.scroll||null;return yl().then(()=>lt(T,q,ut)).then(pt=>pt&&Tm(pt)).catch(pt=>st(pt,T,q))}const N=T=>l.go(T);let V;const nt=new Set,Q={currentRoute:a,listening:!0,addRoute:function(T,q){let tt,it;return kf(T)?(tt=e.getRecordMatcher(T),it=q):it=T,e.addRoute(it,tt)},removeRoute:function(T){const q=e.getRecordMatcher(T);q&&e.removeRoute(q)},clearRoutes:e.clearRoutes,hasRoute:function(T){return!!e.getRecordMatcher(T)},getRoutes:function(){return e.getRoutes().map(T=>T.record)},resolve:m,options:t,push:S,replace:function(T){return S(Bt(b(T),{replace:!0}))},go:N,back:()=>N(-1),forward:()=>N(1),beforeEach:o.add,beforeResolve:s.add,afterEach:i.add,onError:et.add,isReady:function(){return P&&a.value!==Er?Promise.resolve():new Promise((T,q)=>{R.add([T,q])})},install(T){T.component("RouterLink",$m),T.component("RouterView",Vm),T.config.globalProperties.$router=this,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>On(a)}),En&&!V&&a.value===Er&&(V=!0,S(l.location).catch(it=>{}));const q={};for(const it in Er)Object.defineProperty(q,it,{get:()=>a.value[it],enumerable:!0});T.provide(Cl,this),T.provide(Tf,Ah(q)),T.provide(Vs,a);const tt=T.unmount;nt.add(T),T.unmount=function(){nt.delete(T),nt.size<1&&(u=Er,E&&E(),E=null,a.value=Er,V=!1,P=!1),tt()}}};function G(T){return T.reduce((q,tt)=>q.then(()=>$(tt)),Promise.resolve())}return Q}var qs=Object.defineProperty,qm=Object.getOwnPropertyDescriptor,Hm=Object.getOwnPropertyNames,zm=Object.prototype.hasOwnProperty,ne=(t,e)=>()=>(t&&(e=t(t=0)),e),mt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),pn=(t,e)=>{for(var r in e)qs(t,r,{get:e[r],enumerable:!0})},Dt=t=>((e,r,n,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Hm(r))!zm.call(e,o)&&o!==n&&qs(e,o,{get:()=>r[o],enumerable:!(l=qm(r,o))||l.enumerable});return e})(qs({},"__esModule",{value:!0}),t),ct=ne(()=>{}),Nt={};function Rl(t){throw new Error("Node.js process "+t+" is not supported by JSPM core outside of Node.js")}function Km(){!an||!rn||(an=!1,rn.length?He=rn.concat(He):ai=-1,He.length&&Of())}function Of(){if(!an){var t=setTimeout(Km,0);an=!0;for(var e=He.length;e;){for(rn=He,He=[];++ai1)for(var r=1;rSa,_debugProcess:()=>Ea,_events:()=>Ff,_eventsCount:()=>Wf,_exiting:()=>la,_fatalExceptions:()=>va,_getActiveHandles:()=>Mf,_getActiveRequests:()=>Bf,_kill:()=>ha,_linkedBinding:()=>Rf,_maxListeners:()=>Df,_preload_modules:()=>La,_rawDebug:()=>oa,_startProfilerIdleNotifier:()=>Aa,_stopProfilerIdleNotifier:()=>ka,_tickCallback:()=>_a,abort:()=>xa,addListener:()=>$f,allowedNodeEnvironmentFlags:()=>ya,arch:()=>zs,argv:()=>Qs,argv0:()=>Ma,assert:()=>Lf,binding:()=>ta,chdir:()=>na,config:()=>ua,cpuUsage:()=>Ki,cwd:()=>ra,debugPort:()=>Ba,default:()=>Pl,dlopen:()=>Pf,domain:()=>aa,emit:()=>Kf,emitWarning:()=>Zs,env:()=>Gs,execArgv:()=>Ys,execPath:()=>Pa,exit:()=>ga,features:()=>ba,hasUncaughtExceptionCaptureCallback:()=>jf,hrtime:()=>zi,kill:()=>da,listeners:()=>Nf,memoryUsage:()=>pa,moduleLoadList:()=>sa,nextTick:()=>xf,off:()=>qf,on:()=>tr,once:()=>Vf,openStdin:()=>ma,pid:()=>Ca,platform:()=>Ks,ppid:()=>Ra,prependListener:()=>Gf,prependOnceListener:()=>Qf,reallyExit:()=>ca,release:()=>ia,removeAllListeners:()=>zf,removeListener:()=>Hf,resourceUsage:()=>fa,setSourceMapsEnabled:()=>ja,setUncaughtExceptionCaptureCallback:()=>wa,stderr:()=>Ta,stdin:()=>Oa,stdout:()=>Ia,title:()=>Hs,umask:()=>ea,uptime:()=>Uf,version:()=>Js,versions:()=>Xs});var He,an,rn,ai,Hs,zs,Ks,Gs,Qs,Ys,Js,Xs,Zs,ta,ea,ra,na,ia,oa,sa,aa,la,ua,ca,ha,Ki,fa,pa,da,ga,ma,ya,ba,va,wa,_a,Ea,Sa,Aa,ka,Ia,Ta,Oa,xa,Ca,Ra,Pa,Ba,Ma,La,ja,Pr,us,Gi,Df,Ff,Wf,$f,Vf,qf,Hf,zf,Kf,Gf,Qf,Pl,Gm=ne(()=>{ct(),ft(),ht(),He=[],an=!1,ai=-1,Cf.prototype.run=function(){this.fun.apply(null,this.array)},Hs="browser",zs="x64",Ks="browser",Gs={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Qs=["/usr/bin/node"],Ys=[],Js="v16.8.0",Xs={},Zs=function(t,e){},ta=function(t){Rl("binding")},ea=function(t){return 0},ra=function(){return"/"},na=function(t){},ia={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},oa=se,sa=[],aa={},la=!1,ua={},ca=se,ha=se,fa=Ki=function(){return{}},pa=Ki,da=se,ga=se,ma=se,ya={},ba={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},va=se,wa=se,_a=se,Ea=se,Sa=se,Aa=se,ka=se,Ia=void 0,Ta=void 0,Oa=void 0,xa=se,Ca=2,Ra=1,Pa="/bin/usr/node",Ba=9229,Ma="node",La=[],ja=se,(Pr={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0}).now===void 0&&(us=Date.now(),Pr.timing&&Pr.timing.navigationStart&&(us=Pr.timing.navigationStart),Pr.now=()=>Date.now()-us),Gi=1e9,zi.bigint=function(t){var e=zi(t);return typeof BigInt>"u"?e[0]*Gi+e[1]:BigInt(e[0]*Gi)+BigInt(e[1])},Pl={version:Js,versions:Xs,arch:zs,platform:Ks,release:ia,_rawDebug:oa,moduleLoadList:sa,binding:ta,_linkedBinding:Rf,_events:Ff={},_eventsCount:Wf=0,_maxListeners:Df=10,on:tr,addListener:$f=tr,once:Vf=tr,off:qf=tr,removeListener:Hf=tr,removeAllListeners:zf=tr,emit:Kf=se,prependListener:Gf=tr,prependOnceListener:Qf=tr,listeners:Nf,domain:aa,_exiting:la,config:ua,dlopen:Pf,uptime:Uf,_getActiveRequests:Bf,_getActiveHandles:Mf,reallyExit:ca,_kill:ha,cpuUsage:Ki,resourceUsage:fa,memoryUsage:pa,kill:da,exit:ga,openStdin:ma,allowedNodeEnvironmentFlags:ya,assert:Lf,features:ba,_fatalExceptions:va,setUncaughtExceptionCaptureCallback:wa,hasUncaughtExceptionCaptureCallback:jf,emitWarning:Zs,nextTick:xf,_tickCallback:_a,_debugProcess:Ea,_debugEnd:Sa,_startProfilerIdleNotifier:Aa,_stopProfilerIdleNotifier:ka,stdout:Ia,stdin:Oa,stderr:Ta,abort:xa,umask:ea,chdir:na,cwd:ra,env:Gs,title:Hs,argv:Qs,execArgv:Ys,pid:Ca,ppid:Ra,execPath:Pa,debugPort:Ba,hrtime:zi,argv0:Ma,_preload_modules:La,setSourceMapsEnabled:ja}}),ht=ne(()=>{Gm()}),ie={};function Qm(){if(Da)return Ar;Da=!0;let t=function(){if(Ua)return Sn;Ua=!0,Sn.byteLength=function(k){var M=x(k),W=M[0],J=M[1];return 3*(W+J)/4-J},Sn.toByteArray=function(k){var M,W,J=x(k),at=J[0],ot=J[1],vt=new y(function(Ot,kt,Mt){return 3*(kt+Mt)/4-Mt}(0,at,ot)),bt=0,wt=ot>0?at-4:at;for(W=0;W>16&255,vt[bt++]=M>>8&255,vt[bt++]=255&M;return ot===2&&(M=p[k.charCodeAt(W)]<<2|p[k.charCodeAt(W+1)]>>4,vt[bt++]=255&M),ot===1&&(M=p[k.charCodeAt(W)]<<10|p[k.charCodeAt(W+1)]<<4|p[k.charCodeAt(W+2)]>>2,vt[bt++]=M>>8&255,vt[bt++]=255&M),vt},Sn.fromByteArray=function(k){for(var M,W=k.length,J=W%3,at=[],ot=16383,vt=0,bt=W-J;vtbt?bt:vt+ot));return J===1?(M=k[W-1],at.push(h[M>>2]+h[M<<4&63]+"==")):J===2&&(M=(k[W-2]<<8)+k[W-1],at.push(h[M>>10]+h[M>>4&63]+h[M<<2&63]+"=")),at.join("")};for(var h=[],p=[],y=typeof Uint8Array<"u"?Uint8Array:Array,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",C=0;C<64;++C)h[C]=O[C],p[O.charCodeAt(C)]=C;function x(k){var M=k.length;if(M%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var W=k.indexOf("=");return W===-1&&(W=M),[W,W===M?0:4-W%4]}function g(k){return h[k>>18&63]+h[k>>12&63]+h[k>>6&63]+h[63&k]}function v(k,M,W){for(var J,at=[],ot=M;ot>1,W=-7,J=y?C-1:0,at=y?-1:1,ot=h[p+J];for(J+=at,x=ot&(1<<-W)-1,ot>>=-W,W+=v;W>0;x=256*x+h[p+J],J+=at,W-=8);for(g=x&(1<<-W)-1,x>>=-W,W+=O;W>0;g=256*g+h[p+J],J+=at,W-=8);if(x===0)x=1-M;else{if(x===k)return g?NaN:1/0*(ot?-1:1);g+=Math.pow(2,O),x-=M}return(ot?-1:1)*g*Math.pow(2,x-O)},Qi.write=function(h,p,y,O,C,x){var g,v,k,M=8*x-C-1,W=(1<>1,at=C===23?Math.pow(2,-24)-Math.pow(2,-77):0,ot=O?0:x-1,vt=O?1:-1,bt=p<0||p===0&&1/p<0?1:0;for(p=Math.abs(p),isNaN(p)||p===1/0?(v=isNaN(p)?1:0,g=W):(g=Math.floor(Math.log(p)/Math.LN2),p*(k=Math.pow(2,-g))<1&&(g--,k*=2),(p+=g+J>=1?at/k:at*Math.pow(2,1-J))*k>=2&&(g++,k/=2),g+J>=W?(v=0,g=W):g+J>=1?(v=(p*k-1)*Math.pow(2,C),g+=J):(v=p*Math.pow(2,J-1)*Math.pow(2,C),g=0));C>=8;h[y+ot]=255&v,ot+=vt,v/=256,C-=8);for(g=g<0;h[y+ot]=255&g,ot+=vt,g/=256,M-=8);h[y+ot-vt]|=128*bt}),Qi),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ar.Buffer=o,Ar.SlowBuffer=function(h){return+h!=h&&(h=0),o.alloc(+h)},Ar.INSPECT_MAX_BYTES=50;let n=2147483647;function l(h){if(h>n)throw new RangeError('The value "'+h+'" is invalid for option "size"');let p=new Uint8Array(h);return Object.setPrototypeOf(p,o.prototype),p}function o(h,p,y){if(typeof h=="number"){if(typeof p=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return a(h)}return s(h,p,y)}function s(h,p,y){if(typeof h=="string")return function(x,g){if((typeof g!="string"||g==="")&&(g="utf8"),!o.isEncoding(g))throw new TypeError("Unknown encoding: "+g);let v=0|f(x,g),k=l(v),M=k.write(x,g);return M!==v&&(k=k.slice(0,M)),k}(h,p);if(ArrayBuffer.isView(h))return function(x){if(Z(x,Uint8Array)){let g=new Uint8Array(x);return c(g.buffer,g.byteOffset,g.byteLength)}return u(x)}(h);if(h==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h);if(Z(h,ArrayBuffer)||h&&Z(h.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Z(h,SharedArrayBuffer)||h&&Z(h.buffer,SharedArrayBuffer)))return c(h,p,y);if(typeof h=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let O=h.valueOf&&h.valueOf();if(O!=null&&O!==h)return o.from(O,p,y);let C=function(x){if(o.isBuffer(x)){let g=0|d(x.length),v=l(g);return v.length===0||x.copy(v,0,0,g),v}if(x.length!==void 0)return typeof x.length!="number"||dt(x.length)?l(0):u(x);if(x.type==="Buffer"&&Array.isArray(x.data))return u(x.data)}(h);if(C)return C;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof h[Symbol.toPrimitive]=="function")return o.from(h[Symbol.toPrimitive]("string"),p,y);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h)}function i(h){if(typeof h!="number")throw new TypeError('"size" argument must be of type number');if(h<0)throw new RangeError('The value "'+h+'" is invalid for option "size"')}function a(h){return i(h),l(h<0?0:0|d(h))}function u(h){let p=h.length<0?0:0|d(h.length),y=l(p);for(let O=0;O=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|h}function f(h,p){if(o.isBuffer(h))return h.length;if(ArrayBuffer.isView(h)||Z(h,ArrayBuffer))return h.byteLength;if(typeof h!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof h);let y=h.length,O=arguments.length>2&&arguments[2]===!0;if(!O&&y===0)return 0;let C=!1;for(;;)switch(p){case"ascii":case"latin1":case"binary":return y;case"utf8":case"utf-8":return pt(h).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*y;case"hex":return y>>>1;case"base64":return H(h).length;default:if(C)return O?-1:pt(h).length;p=(""+p).toLowerCase(),C=!0}}function m(h,p,y){let O=!1;if((p===void 0||p<0)&&(p=0),p>this.length||((y===void 0||y>this.length)&&(y=this.length),y<=0)||(y>>>=0)<=(p>>>=0))return"";for(h||(h="utf8");;)switch(h){case"hex":return R(this,p,y);case"utf8":case"utf-8":return I(this,p,y);case"ascii":return w(this,p,y);case"latin1":case"binary":return P(this,p,y);case"base64":return B(this,p,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return et(this,p,y);default:if(O)throw new TypeError("Unknown encoding: "+h);h=(h+"").toLowerCase(),O=!0}}function b(h,p,y){let O=h[p];h[p]=h[y],h[y]=O}function _(h,p,y,O,C){if(h.length===0)return-1;if(typeof y=="string"?(O=y,y=0):y>2147483647?y=2147483647:y<-2147483648&&(y=-2147483648),dt(y=+y)&&(y=C?0:h.length-1),y<0&&(y=h.length+y),y>=h.length){if(C)return-1;y=h.length-1}else if(y<0){if(!C)return-1;y=0}if(typeof p=="string"&&(p=o.from(p,O)),o.isBuffer(p))return p.length===0?-1:S(h,p,y,O,C);if(typeof p=="number")return p&=255,typeof Uint8Array.prototype.indexOf=="function"?C?Uint8Array.prototype.indexOf.call(h,p,y):Uint8Array.prototype.lastIndexOf.call(h,p,y):S(h,[p],y,O,C);throw new TypeError("val must be string, number or Buffer")}function S(h,p,y,O,C){let x,g=1,v=h.length,k=p.length;if(O!==void 0&&((O=String(O).toLowerCase())==="ucs2"||O==="ucs-2"||O==="utf16le"||O==="utf-16le")){if(h.length<2||p.length<2)return-1;g=2,v/=2,k/=2,y/=2}function M(W,J){return g===1?W[J]:W.readUInt16BE(J*g)}if(C){let W=-1;for(x=y;xv&&(y=v-k),x=y;x>=0;x--){let W=!0;for(let J=0;JC&&(O=C):O=C;let x,g=p.length;for(O>g/2&&(O=g/2),x=0;x>8,k=g%256,M.push(k),M.push(v);return M}(p,h.length-y),h,y,O)}function B(h,p,y){return p===0&&y===h.length?t.fromByteArray(h):t.fromByteArray(h.slice(p,y))}function I(h,p,y){y=Math.min(h.length,y);let O=[],C=p;for(;C239?4:x>223?3:x>191?2:1;if(C+v<=y){let k,M,W,J;switch(v){case 1:x<128&&(g=x);break;case 2:k=h[C+1],(192&k)==128&&(J=(31&x)<<6|63&k,J>127&&(g=J));break;case 3:k=h[C+1],M=h[C+2],(192&k)==128&&(192&M)==128&&(J=(15&x)<<12|(63&k)<<6|63&M,J>2047&&(J<55296||J>57343)&&(g=J));break;case 4:k=h[C+1],M=h[C+2],W=h[C+3],(192&k)==128&&(192&M)==128&&(192&W)==128&&(J=(15&x)<<18|(63&k)<<12|(63&M)<<6|63&W,J>65535&&J<1114112&&(g=J))}}g===null?(g=65533,v=1):g>65535&&(g-=65536,O.push(g>>>10&1023|55296),g=56320|1023&g),O.push(g),C+=v}return function(x){let g=x.length;if(g<=E)return String.fromCharCode.apply(String,x);let v="",k=0;for(;kO.length?(o.isBuffer(x)||(x=o.from(x)),x.copy(O,C)):Uint8Array.prototype.set.call(O,x,C);else{if(!o.isBuffer(x))throw new TypeError('"list" argument must be an Array of Buffers');x.copy(O,C)}C+=x.length}return O},o.byteLength=f,o.prototype._isBuffer=!0,o.prototype.swap16=function(){let h=this.length;if(h%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let p=0;pp&&(h+=" ... "),""},r&&(o.prototype[r]=o.prototype.inspect),o.prototype.compare=function(h,p,y,O,C){if(Z(h,Uint8Array)&&(h=o.from(h,h.offset,h.byteLength)),!o.isBuffer(h))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof h);if(p===void 0&&(p=0),y===void 0&&(y=h?h.length:0),O===void 0&&(O=0),C===void 0&&(C=this.length),p<0||y>h.length||O<0||C>this.length)throw new RangeError("out of range index");if(O>=C&&p>=y)return 0;if(O>=C)return-1;if(p>=y)return 1;if(this===h)return 0;let x=(C>>>=0)-(O>>>=0),g=(y>>>=0)-(p>>>=0),v=Math.min(x,g),k=this.slice(O,C),M=h.slice(p,y);for(let W=0;W>>=0,isFinite(y)?(y>>>=0,O===void 0&&(O="utf8")):(O=y,y=void 0)}let C=this.length-p;if((y===void 0||y>C)&&(y=C),h.length>0&&(y<0||p<0)||p>this.length)throw new RangeError("Attempt to write outside buffer bounds");O||(O="utf8");let x=!1;for(;;)switch(O){case"hex":return U(this,h,p,y);case"utf8":case"utf-8":return D(this,h,p,y);case"ascii":case"latin1":case"binary":return K(this,h,p,y);case"base64":return $(this,h,p,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y(this,h,p,y);default:if(x)throw new TypeError("Unknown encoding: "+O);O=(""+O).toLowerCase(),x=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};let E=4096;function w(h,p,y){let O="";y=Math.min(h.length,y);for(let C=p;CO)&&(y=O);let C="";for(let x=p;xy)throw new RangeError("Trying to access beyond buffer length")}function X(h,p,y,O,C,x){if(!o.isBuffer(h))throw new TypeError('"buffer" argument must be a Buffer instance');if(p>C||ph.length)throw new RangeError("Index out of range")}function j(h,p,y,O,C){tt(p,O,C,h,y,7);let x=Number(p&BigInt(4294967295));h[y++]=x,x>>=8,h[y++]=x,x>>=8,h[y++]=x,x>>=8,h[y++]=x;let g=Number(p>>BigInt(32)&BigInt(4294967295));return h[y++]=g,g>>=8,h[y++]=g,g>>=8,h[y++]=g,g>>=8,h[y++]=g,y}function N(h,p,y,O,C){tt(p,O,C,h,y,7);let x=Number(p&BigInt(4294967295));h[y+7]=x,x>>=8,h[y+6]=x,x>>=8,h[y+5]=x,x>>=8,h[y+4]=x;let g=Number(p>>BigInt(32)&BigInt(4294967295));return h[y+3]=g,g>>=8,h[y+2]=g,g>>=8,h[y+1]=g,g>>=8,h[y]=g,y+8}function V(h,p,y,O,C,x){if(y+O>h.length)throw new RangeError("Index out of range");if(y<0)throw new RangeError("Index out of range")}function nt(h,p,y,O,C){return p=+p,y>>>=0,C||V(h,0,y,4),e.write(h,p,y,O,23,4),y+4}function Q(h,p,y,O,C){return p=+p,y>>>=0,C||V(h,0,y,8),e.write(h,p,y,O,52,8),y+8}o.prototype.slice=function(h,p){let y=this.length;(h=~~h)<0?(h+=y)<0&&(h=0):h>y&&(h=y),(p=p===void 0?y:~~p)<0?(p+=y)<0&&(p=0):p>y&&(p=y),p>>=0,p>>>=0,y||st(h,p,this.length);let O=this[h],C=1,x=0;for(;++x>>=0,p>>>=0,y||st(h,p,this.length);let O=this[h+--p],C=1;for(;p>0&&(C*=256);)O+=this[h+--p]*C;return O},o.prototype.readUint8=o.prototype.readUInt8=function(h,p){return h>>>=0,p||st(h,1,this.length),this[h]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(h,p){return h>>>=0,p||st(h,2,this.length),this[h]|this[h+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(h,p){return h>>>=0,p||st(h,2,this.length),this[h]<<8|this[h+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(h,p){return h>>>=0,p||st(h,4,this.length),(this[h]|this[h+1]<<8|this[h+2]<<16)+16777216*this[h+3]},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(h,p){return h>>>=0,p||st(h,4,this.length),16777216*this[h]+(this[h+1]<<16|this[h+2]<<8|this[h+3])},o.prototype.readBigUInt64LE=A(function(h){it(h>>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=p+256*this[++h]+65536*this[++h]+this[++h]*2**24,C=this[++h]+256*this[++h]+65536*this[++h]+y*2**24;return BigInt(O)+(BigInt(C)<>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=p*2**24+65536*this[++h]+256*this[++h]+this[++h],C=this[++h]*2**24+65536*this[++h]+256*this[++h]+y;return(BigInt(O)<>>=0,p>>>=0,y||st(h,p,this.length);let O=this[h],C=1,x=0;for(;++x=C&&(O-=Math.pow(2,8*p)),O},o.prototype.readIntBE=function(h,p,y){h>>>=0,p>>>=0,y||st(h,p,this.length);let O=p,C=1,x=this[h+--O];for(;O>0&&(C*=256);)x+=this[h+--O]*C;return C*=128,x>=C&&(x-=Math.pow(2,8*p)),x},o.prototype.readInt8=function(h,p){return h>>>=0,p||st(h,1,this.length),128&this[h]?-1*(255-this[h]+1):this[h]},o.prototype.readInt16LE=function(h,p){h>>>=0,p||st(h,2,this.length);let y=this[h]|this[h+1]<<8;return 32768&y?4294901760|y:y},o.prototype.readInt16BE=function(h,p){h>>>=0,p||st(h,2,this.length);let y=this[h+1]|this[h]<<8;return 32768&y?4294901760|y:y},o.prototype.readInt32LE=function(h,p){return h>>>=0,p||st(h,4,this.length),this[h]|this[h+1]<<8|this[h+2]<<16|this[h+3]<<24},o.prototype.readInt32BE=function(h,p){return h>>>=0,p||st(h,4,this.length),this[h]<<24|this[h+1]<<16|this[h+2]<<8|this[h+3]},o.prototype.readBigInt64LE=A(function(h){it(h>>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=this[h+4]+256*this[h+5]+65536*this[h+6]+(y<<24);return(BigInt(O)<>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=(p<<24)+65536*this[++h]+256*this[++h]+this[++h];return(BigInt(O)<>>=0,p||st(h,4,this.length),e.read(this,h,!0,23,4)},o.prototype.readFloatBE=function(h,p){return h>>>=0,p||st(h,4,this.length),e.read(this,h,!1,23,4)},o.prototype.readDoubleLE=function(h,p){return h>>>=0,p||st(h,8,this.length),e.read(this,h,!0,52,8)},o.prototype.readDoubleBE=function(h,p){return h>>>=0,p||st(h,8,this.length),e.read(this,h,!1,52,8)},o.prototype.writeUintLE=o.prototype.writeUIntLE=function(h,p,y,O){h=+h,p>>>=0,y>>>=0,!O&&X(this,h,p,y,Math.pow(2,8*y)-1,0);let C=1,x=0;for(this[p]=255&h;++x>>=0,y>>>=0,!O&&X(this,h,p,y,Math.pow(2,8*y)-1,0);let C=y-1,x=1;for(this[p+C]=255&h;--C>=0&&(x*=256);)this[p+C]=h/x&255;return p+y},o.prototype.writeUint8=o.prototype.writeUInt8=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,1,255,0),this[p]=255&h,p+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,65535,0),this[p]=255&h,this[p+1]=h>>>8,p+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,65535,0),this[p]=h>>>8,this[p+1]=255&h,p+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,4294967295,0),this[p+3]=h>>>24,this[p+2]=h>>>16,this[p+1]=h>>>8,this[p]=255&h,p+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,4294967295,0),this[p]=h>>>24,this[p+1]=h>>>16,this[p+2]=h>>>8,this[p+3]=255&h,p+4},o.prototype.writeBigUInt64LE=A(function(h,p=0){return j(this,h,p,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=A(function(h,p=0){return N(this,h,p,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(h,p,y,O){if(h=+h,p>>>=0,!O){let v=Math.pow(2,8*y-1);X(this,h,p,y,v-1,-v)}let C=0,x=1,g=0;for(this[p]=255&h;++C>>=0,!O){let v=Math.pow(2,8*y-1);X(this,h,p,y,v-1,-v)}let C=y-1,x=1,g=0;for(this[p+C]=255&h;--C>=0&&(x*=256);)h<0&&g===0&&this[p+C+1]!==0&&(g=1),this[p+C]=(h/x|0)-g&255;return p+y},o.prototype.writeInt8=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,1,127,-128),h<0&&(h=255+h+1),this[p]=255&h,p+1},o.prototype.writeInt16LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,32767,-32768),this[p]=255&h,this[p+1]=h>>>8,p+2},o.prototype.writeInt16BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,32767,-32768),this[p]=h>>>8,this[p+1]=255&h,p+2},o.prototype.writeInt32LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,2147483647,-2147483648),this[p]=255&h,this[p+1]=h>>>8,this[p+2]=h>>>16,this[p+3]=h>>>24,p+4},o.prototype.writeInt32BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,2147483647,-2147483648),h<0&&(h=4294967295+h+1),this[p]=h>>>24,this[p+1]=h>>>16,this[p+2]=h>>>8,this[p+3]=255&h,p+4},o.prototype.writeBigInt64LE=A(function(h,p=0){return j(this,h,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=A(function(h,p=0){return N(this,h,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeFloatLE=function(h,p,y){return nt(this,h,p,!0,y)},o.prototype.writeFloatBE=function(h,p,y){return nt(this,h,p,!1,y)},o.prototype.writeDoubleLE=function(h,p,y){return Q(this,h,p,!0,y)},o.prototype.writeDoubleBE=function(h,p,y){return Q(this,h,p,!1,y)},o.prototype.copy=function(h,p,y,O){if(!o.isBuffer(h))throw new TypeError("argument should be a Buffer");if(y||(y=0),!O&&O!==0&&(O=this.length),p>=h.length&&(p=h.length),p||(p=0),O>0&&O=this.length)throw new RangeError("Index out of range");if(O<0)throw new RangeError("sourceEnd out of bounds");O>this.length&&(O=this.length),h.length-p>>=0,y=y===void 0?this.length:y>>>0,h||(h=0),typeof h=="number")for(C=p;C=O+4;y-=3)p=`_${h.slice(y-3,y)}${p}`;return`${h.slice(0,y)}${p}`}function tt(h,p,y,O,C,x){if(h>y||h= 0${v} and < 2${v} ** ${8*(x+1)}${v}`:`>= -(2${v} ** ${8*(x+1)-1}${v}) and < 2 ** ${8*(x+1)-1}${v}`,new G.ERR_OUT_OF_RANGE("value",g,h)}(function(g,v,k){it(v,"offset"),(g[v]===void 0||g[v+k]===void 0)&<(v,g.length-(k+1))})(O,C,x)}function it(h,p){if(typeof h!="number")throw new G.ERR_INVALID_ARG_TYPE(p,"number",h)}function lt(h,p,y){throw Math.floor(h)!==h?(it(h,y),new G.ERR_OUT_OF_RANGE("offset","an integer",h)):p<0?new G.ERR_BUFFER_OUT_OF_BOUNDS:new G.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${p}`,h)}T("ERR_BUFFER_OUT_OF_BOUNDS",function(h){return h?`${h} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),T("ERR_INVALID_ARG_TYPE",function(h,p){return`The "${h}" argument must be of type number. Received type ${typeof p}`},TypeError),T("ERR_OUT_OF_RANGE",function(h,p,y){let O=`The value of "${h}" is out of range.`,C=y;return Number.isInteger(y)&&Math.abs(y)>2**32?C=q(String(y)):typeof y=="bigint"&&(C=String(y),(y>BigInt(2)**BigInt(32)||y<-(BigInt(2)**BigInt(32)))&&(C=q(C)),C+="n"),O+=` It must be ${p}. Received ${C}`,O},RangeError);let ut=/[^+/0-9A-Za-z-_]/g;function pt(h,p){p=p||1/0;let y,O=h.length,C=null,x=[];for(let g=0;g55295&&y<57344){if(!C){if(y>56319){(p-=3)>-1&&x.push(239,191,189);continue}if(g+1===O){(p-=3)>-1&&x.push(239,191,189);continue}C=y;continue}if(y<56320){(p-=3)>-1&&x.push(239,191,189),C=y;continue}y=65536+(C-55296<<10|y-56320)}else C&&(p-=3)>-1&&x.push(239,191,189);if(C=null,y<128){if((p-=1)<0)break;x.push(y)}else if(y<2048){if((p-=2)<0)break;x.push(y>>6|192,63&y|128)}else if(y<65536){if((p-=3)<0)break;x.push(y>>12|224,y>>6&63|128,63&y|128)}else{if(!(y<1114112))throw new Error("Invalid code point");if((p-=4)<0)break;x.push(y>>18|240,y>>12&63|128,y>>6&63|128,63&y|128)}}return x}function H(h){return t.toByteArray(function(p){if((p=(p=p.split("=")[0]).trim().replace(ut,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(h))}function rt(h,p,y,O){let C;for(C=0;C=p.length||C>=h.length);++C)p[C+y]=h[C];return C}function Z(h,p){return h instanceof p||h!=null&&h.constructor!=null&&h.constructor.name!=null&&h.constructor.name===p.name}function dt(h){return h!=h}let L=function(){let h="0123456789abcdef",p=new Array(256);for(let y=0;y<16;++y){let O=16*y;for(let C=0;C<16;++C)p[O+C]=h[y]+h[C]}return p}();function A(h){return typeof BigInt>"u"?F:h}function F(){throw new Error("BigInt not supported")}return Ar}pn(ie,{Buffer:()=>co,INSPECT_MAX_BYTES:()=>Yf,default:()=>kr,kMaxLength:()=>Jf});var Sn,Ua,Qi,Na,Ar,Da,kr,co,Yf,Jf,oe=ne(()=>{ct(),ft(),ht(),Sn={},Ua=!1,Qi={},Na=!1,Ar={},Da=!1,(kr=Qm()).Buffer,kr.SlowBuffer,kr.INSPECT_MAX_BYTES,kr.kMaxLength,co=kr.Buffer,Yf=kr.INSPECT_MAX_BYTES,Jf=kr.kMaxLength}),ft=ne(()=>{oe()}),Ym=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.aliasToTopic={},this.max=e}put(e,r){return!(r===0||r>this.max)&&(this.aliasToTopic[r]=e,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(e){return this.aliasToTopic[e]}clear(){this.aliasToTopic={}}}}),te=mt((t,e)=>{ct(),ft(),ht(),e.exports={ArrayIsArray:r=>Array.isArray(r),ArrayPrototypeIncludes:(r,n)=>r.includes(n),ArrayPrototypeIndexOf:(r,n)=>r.indexOf(n),ArrayPrototypeJoin:(r,n)=>r.join(n),ArrayPrototypeMap:(r,n)=>r.map(n),ArrayPrototypePop:(r,n)=>r.pop(n),ArrayPrototypePush:(r,n)=>r.push(n),ArrayPrototypeSlice:(r,n,l)=>r.slice(n,l),Error,FunctionPrototypeCall:(r,n,...l)=>r.call(n,...l),FunctionPrototypeSymbolHasInstance:(r,n)=>Function.prototype[Symbol.hasInstance].call(r,n),MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties:(r,n)=>Object.defineProperties(r,n),ObjectDefineProperty:(r,n,l)=>Object.defineProperty(r,n,l),ObjectGetOwnPropertyDescriptor:(r,n)=>Object.getOwnPropertyDescriptor(r,n),ObjectKeys:r=>Object.keys(r),ObjectSetPrototypeOf:(r,n)=>Object.setPrototypeOf(r,n),Promise,PromisePrototypeCatch:(r,n)=>r.catch(n),PromisePrototypeThen:(r,n,l)=>r.then(n,l),PromiseReject:r=>Promise.reject(r),ReflectApply:Reflect.apply,RegExpPrototypeTest:(r,n)=>r.test(n),SafeSet:Set,String,StringPrototypeSlice:(r,n,l)=>r.slice(n,l),StringPrototypeToLowerCase:r=>r.toLowerCase(),StringPrototypeToUpperCase:r=>r.toUpperCase(),StringPrototypeTrim:r=>r.trim(),Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet:(r,n,l)=>r.set(n,l),Uint8Array}}),hr=mt((t,e)=>{ct(),ft(),ht();var r=(oe(),Dt(ie)),n=Object.getPrototypeOf(async function(){}).constructor,l=globalThis.Blob||r.Blob,o=typeof l<"u"?function(i){return i instanceof l}:function(i){return!1},s=class extends Error{constructor(i){if(!Array.isArray(i))throw new TypeError("Expected input to be an Array, got "+typeof i);let a="";for(let u=0;u{i=u,a=c}),resolve:i,reject:a}},promisify:i=>new Promise((a,u)=>{i((c,...d)=>c?u(c):a(...d))}),debuglog:()=>function(){},format:(i,...a)=>i.replace(/%([sdifj])/g,function(...[u,c]){let d=a.shift();return c==="f"?d.toFixed(6):c==="j"?JSON.stringify(d):c==="s"&&typeof d=="object"?`${d.constructor!==Object?d.constructor.name:""} {}`.trim():d.toString()}),inspect(i){switch(typeof i){case"string":if(i.includes("'")){if(!i.includes('"'))return`"${i}"`;if(!i.includes("`")&&!i.includes("${"))return`\`${i}\``}return`'${i}'`;case"number":return isNaN(i)?"NaN":Object.is(i,-0)?String(i):i;case"bigint":return`${String(i)}n`;case"boolean":case"undefined":return String(i);case"object":return"{}"}},types:{isAsyncFunction:i=>i instanceof n,isArrayBufferView:i=>ArrayBuffer.isView(i)},isBlob:o},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),Bl=mt((t,e)=>{ct(),ft(),ht();var{AbortController:r,AbortSignal:n}=typeof self<"u"?self:typeof window<"u"?window:void 0;e.exports=r,e.exports.AbortSignal=n,e.exports.default=r}),ve=mt((t,e)=>{ct(),ft(),ht();var{format:r,inspect:n,AggregateError:l}=hr(),o=globalThis.AggregateError||l,s=Symbol("kIsNodeError"),i=["string","function","number","object","Function","Object","boolean","bigint","symbol"],a=/^([A-Z][a-z0-9]*)+$/,u={};function c(_,S){if(!_)throw new u.ERR_INTERNAL_ASSERTION(S)}function d(_){let S="",U=_.length,D=_[0]==="-"?1:0;for(;U>=D+4;U-=3)S=`_${_.slice(U-3,U)}${S}`;return`${_.slice(0,U)}${S}`}function f(_,S,U){U||(U=Error);class D extends U{constructor(...$){super(function(Y,B,I){if(typeof B=="function")return c(B.length<=I.length,`Code: ${Y}; The provided arguments length (${I.length}) does not match the required ones (${B.length}).`),B(...I);let E=(B.match(/%[dfijoOs]/g)||[]).length;return c(E===I.length,`Code: ${Y}; The provided arguments length (${I.length}) does not match the required ones (${E}).`),I.length===0?B:r(B,...I)}(_,S,$))}toString(){return`${this.name} [${_}]: ${this.message}`}}Object.defineProperties(D.prototype,{name:{value:U.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${_}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),D.prototype.code=_,D.prototype[s]=!0,u[_]=D}function m(_){let S="__node_internal_"+_.name;return Object.defineProperty(_,"name",{value:S}),_}var b=class extends Error{constructor(_="The operation was aborted",S=void 0){if(S!==void 0&&typeof S!="object")throw new u.ERR_INVALID_ARG_TYPE("options","Object",S);super(_,S),this.code="ABORT_ERR",this.name="AbortError"}};f("ERR_ASSERTION","%s",Error),f("ERR_INVALID_ARG_TYPE",(_,S,U)=>{c(typeof _=="string","'name' must be a string"),Array.isArray(S)||(S=[S]);let D="The ";_.endsWith(" argument")?D+=`${_} `:D+=`"${_}" ${_.includes(".")?"property":"argument"} `,D+="must be ";let K=[],$=[],Y=[];for(let I of S)c(typeof I=="string","All expected entries have to be of type string"),i.includes(I)?K.push(I.toLowerCase()):a.test(I)?$.push(I):(c(I!=="object",'The value "object" should be written as "Object"'),Y.push(I));if($.length>0){let I=K.indexOf("object");I!==-1&&(K.splice(K,I,1),$.push("Object"))}if(K.length>0){switch(K.length){case 1:D+=`of type ${K[0]}`;break;case 2:D+=`one of type ${K[0]} or ${K[1]}`;break;default:{let I=K.pop();D+=`one of type ${K.join(", ")}, or ${I}`}}($.length>0||Y.length>0)&&(D+=" or ")}if($.length>0){switch($.length){case 1:D+=`an instance of ${$[0]}`;break;case 2:D+=`an instance of ${$[0]} or ${$[1]}`;break;default:{let I=$.pop();D+=`an instance of ${$.join(", ")}, or ${I}`}}Y.length>0&&(D+=" or ")}switch(Y.length){case 0:break;case 1:Y[0].toLowerCase()!==Y[0]&&(D+="an "),D+=`${Y[0]}`;break;case 2:D+=`one of ${Y[0]} or ${Y[1]}`;break;default:{let I=Y.pop();D+=`one of ${Y.join(", ")}, or ${I}`}}if(U==null)D+=`. Received ${U}`;else if(typeof U=="function"&&U.name)D+=`. Received function ${U.name}`;else if(typeof U=="object"){var B;(B=U.constructor)!==null&&B!==void 0&&B.name?D+=`. Received an instance of ${U.constructor.name}`:D+=`. Received ${n(U,{depth:-1})}`}else{let I=n(U,{colors:!1});I.length>25&&(I=`${I.slice(0,25)}...`),D+=`. Received type ${typeof U} (${I})`}return D},TypeError),f("ERR_INVALID_ARG_VALUE",(_,S,U="is invalid")=>{let D=n(S);return D.length>128&&(D=D.slice(0,128)+"..."),`The ${_.includes(".")?"property":"argument"} '${_}' ${U}. Received ${D}`},TypeError),f("ERR_INVALID_RETURN_VALUE",(_,S,U)=>{var D;return`Expected ${_} to be returned from the "${S}" function but got ${U!=null&&(D=U.constructor)!==null&&D!==void 0&&D.name?`instance of ${U.constructor.name}`:"type "+typeof U}.`},TypeError),f("ERR_MISSING_ARGS",(..._)=>{c(_.length>0,"At least one arg needs to be specified");let S,U=_.length;switch(_=(Array.isArray(_)?_:[_]).map(D=>`"${D}"`).join(" or "),U){case 1:S+=`The ${_[0]} argument`;break;case 2:S+=`The ${_[0]} and ${_[1]} arguments`;break;default:{let D=_.pop();S+=`The ${_.join(", ")}, and ${D} arguments`}}return`${S} must be specified`},TypeError),f("ERR_OUT_OF_RANGE",(_,S,U)=>{let D;return c(S,'Missing "range" argument'),Number.isInteger(U)&&Math.abs(U)>2**32?D=d(String(U)):typeof U=="bigint"?(D=String(U),(U>2n**32n||U<-(2n**32n))&&(D=d(D)),D+="n"):D=n(U),`The value of "${_}" is out of range. It must be ${S}. Received ${D}`},RangeError),f("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),f("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),f("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),f("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),f("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),f("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),f("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),f("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),f("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),f("ERR_STREAM_WRITE_AFTER_END","write after end",Error),f("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:b,aggregateTwoErrors:m(function(_,S){if(_&&S&&_!==S){if(Array.isArray(S.errors))return S.errors.push(_),S;let U=new o([S,_],S.message);return U.code=S.code,U}return _||S}),hideStackFrames:m,codes:u}}),Ro=mt((t,e)=>{ct(),ft(),ht();var{ArrayIsArray:r,ArrayPrototypeIncludes:n,ArrayPrototypeJoin:l,ArrayPrototypeMap:o,NumberIsInteger:s,NumberIsNaN:i,NumberMAX_SAFE_INTEGER:a,NumberMIN_SAFE_INTEGER:u,NumberParseInt:c,ObjectPrototypeHasOwnProperty:d,RegExpPrototypeExec:f,String:m,StringPrototypeToUpperCase:b,StringPrototypeTrim:_}=te(),{hideStackFrames:S,codes:{ERR_SOCKET_BAD_PORT:U,ERR_INVALID_ARG_TYPE:D,ERR_INVALID_ARG_VALUE:K,ERR_OUT_OF_RANGE:$,ERR_UNKNOWN_SIGNAL:Y}}=ve(),{normalizeEncoding:B}=hr(),{isAsyncFunction:I,isArrayBufferView:E}=hr().types,w={},P=/^[0-7]+$/,R=S((H,rt,Z=u,dt=a)=>{if(typeof H!="number")throw new D(rt,"number",H);if(!s(H))throw new $(rt,"an integer",H);if(Hdt)throw new $(rt,`>= ${Z} && <= ${dt}`,H)}),et=S((H,rt,Z=-2147483648,dt=2147483647)=>{if(typeof H!="number")throw new D(rt,"number",H);if(!s(H))throw new $(rt,"an integer",H);if(Hdt)throw new $(rt,`>= ${Z} && <= ${dt}`,H)}),st=S((H,rt,Z=!1)=>{if(typeof H!="number")throw new D(rt,"number",H);if(!s(H))throw new $(rt,"an integer",H);let dt=Z?1:0,L=4294967295;if(HL)throw new $(rt,`>= ${dt} && <= ${L}`,H)});function X(H,rt){if(typeof H!="string")throw new D(rt,"string",H)}var j=S((H,rt,Z)=>{if(!n(Z,H)){let dt="must be one of: "+l(o(Z,L=>typeof L=="string"?`'${L}'`:m(L)),", ");throw new K(rt,H,dt)}});function N(H,rt){if(typeof H!="boolean")throw new D(rt,"boolean",H)}function V(H,rt,Z){return H!=null&&d(H,rt)?H[rt]:Z}var nt=S((H,rt,Z=null)=>{let dt=V(Z,"allowArray",!1),L=V(Z,"allowFunction",!1);if(!V(Z,"nullable",!1)&&H===null||!dt&&r(H)||typeof H!="object"&&(!L||typeof H!="function"))throw new D(rt,"Object",H)}),Q=S((H,rt)=>{if(H!=null&&typeof H!="object"&&typeof H!="function")throw new D(rt,"a dictionary",H)}),G=S((H,rt,Z=0)=>{if(!r(H))throw new D(rt,"Array",H);if(H.length{if(!E(H))throw new D(rt,["Buffer","TypedArray","DataView"],H)}),q=S((H,rt)=>{if(H!==void 0&&(H===null||typeof H!="object"||!("aborted"in H)))throw new D(rt,"AbortSignal",H)}),tt=S((H,rt)=>{if(typeof H!="function")throw new D(rt,"Function",H)}),it=S((H,rt)=>{if(typeof H!="function"||I(H))throw new D(rt,"Function",H)}),lt=S((H,rt)=>{if(H!==void 0)throw new D(rt,"undefined",H)}),ut=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function pt(H,rt){if(typeof H>"u"||!f(ut,H))throw new K(rt,H,'must be an array or string of format "; rel=preload; as=style"')}e.exports={isInt32:function(H){return H===(0|H)},isUint32:function(H){return H===H>>>0},parseFileMode:function(H,rt,Z){if(typeof H>"u"&&(H=Z),typeof H=="string"){if(f(P,H)===null)throw new K(rt,H,"must be a 32-bit unsigned integer or an octal string");H=c(H,8)}return st(H,rt),H},validateArray:G,validateStringArray:function(H,rt){G(H,rt);for(let Z=0;Zdt||(Z!=null||dt!=null)&&i(H))throw new $(rt,`${Z!=null?`>= ${Z}`:""}${Z!=null&&dt!=null?" && ":""}${dt!=null?`<= ${dt}`:""}`,H)},validateObject:nt,validateOneOf:j,validatePlainFunction:it,validatePort:function(H,rt="Port",Z=!0){if(typeof H!="number"&&typeof H!="string"||typeof H=="string"&&_(H).length===0||+H!=+H>>>0||H>65535||H===0&&!Z)throw new U(rt,H,Z);return 0|H},validateSignalName:function(H,rt="signal"){if(X(H,rt),w[H]===void 0)throw w[b(H)]!==void 0?new Y(H+" (signals must use all capital letters)"):new Y(H)},validateString:X,validateUint32:st,validateUndefined:lt,validateUnion:function(H,rt,Z){if(!n(Z,H))throw new D(rt,`('${l(Z,"|")}')`,H)},validateAbortSignal:q,validateLinkHeaderValue:function(H){if(typeof H=="string")return pt(H,"hints"),H;if(r(H)){let rt=H.length,Z="";if(rt===0)return Z;for(let dt=0;dt; rel=preload; as=style"')}}}),dn=mt((t,e)=>{ct(),ft(),ht();var r,n,l=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function i(S){if(r===setTimeout)return setTimeout(S,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(S,0);try{return r(S,0)}catch{try{return r.call(null,S,0)}catch{return r.call(this,S,0)}}}(function(){try{r=typeof setTimeout=="function"?setTimeout:o}catch{r=o}try{n=typeof clearTimeout=="function"?clearTimeout:s}catch{n=s}})();var a,u=[],c=!1,d=-1;function f(){!c||!a||(c=!1,a.length?u=a.concat(u):d=-1,u.length&&m())}function m(){if(!c){var S=i(f);c=!0;for(var U=u.length;U;){for(a=u,u=[];++d1)for(var D=1;D{ct(),ft(),ht();var{Symbol:r,SymbolAsyncIterator:n,SymbolIterator:l,SymbolFor:o}=te(),s=r("kDestroyed"),i=r("kIsErrored"),a=r("kIsReadable"),u=r("kIsDisturbed"),c=o("nodejs.webstream.isClosedPromise"),d=o("nodejs.webstream.controllerErrorFunction");function f(w,P=!1){var R;return!(!w||typeof w.pipe!="function"||typeof w.on!="function"||P&&(typeof w.pause!="function"||typeof w.resume!="function")||w._writableState&&((R=w._readableState)===null||R===void 0?void 0:R.readable)===!1||w._writableState&&!w._readableState)}function m(w){var P;return!(!w||typeof w.write!="function"||typeof w.on!="function"||w._readableState&&((P=w._writableState)===null||P===void 0?void 0:P.writable)===!1)}function b(w){return w&&(w._readableState||w._writableState||typeof w.write=="function"&&typeof w.on=="function"||typeof w.pipe=="function"&&typeof w.on=="function")}function _(w){return!(!w||b(w)||typeof w.pipeThrough!="function"||typeof w.getReader!="function"||typeof w.cancel!="function")}function S(w){return!(!w||b(w)||typeof w.getWriter!="function"||typeof w.abort!="function")}function U(w){return!(!w||b(w)||typeof w.readable!="object"||typeof w.writable!="object")}function D(w){if(!b(w))return null;let P=w._writableState,R=w._readableState,et=P||R;return!!(w.destroyed||w[s]||et!=null&&et.destroyed)}function K(w){if(!m(w))return null;if(w.writableEnded===!0)return!0;let P=w._writableState;return(P==null||!P.errored)&&(typeof(P==null?void 0:P.ended)!="boolean"?null:P.ended)}function $(w,P){if(!f(w))return null;let R=w._readableState;return(R==null||!R.errored)&&(typeof(R==null?void 0:R.endEmitted)!="boolean"?null:!!(R.endEmitted||P===!1&&R.ended===!0&&R.length===0))}function Y(w){return w&&w[a]!=null?w[a]:typeof(w==null?void 0:w.readable)!="boolean"?null:!D(w)&&f(w)&&w.readable&&!$(w)}function B(w){return typeof(w==null?void 0:w.writable)!="boolean"?null:!D(w)&&m(w)&&w.writable&&!K(w)}function I(w){return typeof w._closed=="boolean"&&typeof w._defaultKeepAlive=="boolean"&&typeof w._removedConnection=="boolean"&&typeof w._removedContLen=="boolean"}function E(w){return typeof w._sent100=="boolean"&&I(w)}e.exports={kDestroyed:s,isDisturbed:function(w){var P;return!(!w||!((P=w[u])!==null&&P!==void 0?P:w.readableDidRead||w.readableAborted))},kIsDisturbed:u,isErrored:function(w){var P,R,et,st,X,j,N,V,nt,Q;return!(!w||!((P=(R=(et=(st=(X=(j=w[i])!==null&&j!==void 0?j:w.readableErrored)!==null&&X!==void 0?X:w.writableErrored)!==null&&st!==void 0?st:(N=w._readableState)===null||N===void 0?void 0:N.errorEmitted)!==null&&et!==void 0?et:(V=w._writableState)===null||V===void 0?void 0:V.errorEmitted)!==null&&R!==void 0?R:(nt=w._readableState)===null||nt===void 0?void 0:nt.errored)!==null&&P!==void 0?P:(Q=w._writableState)!==null&&Q!==void 0&&Q.errored))},kIsErrored:i,isReadable:Y,kIsReadable:a,kIsClosedPromise:c,kControllerErrorFunction:d,isClosed:function(w){if(!b(w))return null;if(typeof w.closed=="boolean")return w.closed;let P=w._writableState,R=w._readableState;return typeof(P==null?void 0:P.closed)=="boolean"||typeof(R==null?void 0:R.closed)=="boolean"?(P==null?void 0:P.closed)||(R==null?void 0:R.closed):typeof w._closed=="boolean"&&I(w)?w._closed:null},isDestroyed:D,isDuplexNodeStream:function(w){return!(!w||typeof w.pipe!="function"||!w._readableState||typeof w.on!="function"||typeof w.write!="function")},isFinished:function(w,P){return b(w)?!!D(w)||!((P==null?void 0:P.readable)!==!1&&Y(w)||(P==null?void 0:P.writable)!==!1&&B(w)):null},isIterable:function(w,P){return w!=null&&(P===!0?typeof w[n]=="function":P===!1?typeof w[l]=="function":typeof w[n]=="function"||typeof w[l]=="function")},isReadableNodeStream:f,isReadableStream:_,isReadableEnded:function(w){if(!f(w))return null;if(w.readableEnded===!0)return!0;let P=w._readableState;return!(!P||P.errored)&&(typeof(P==null?void 0:P.ended)!="boolean"?null:P.ended)},isReadableFinished:$,isReadableErrored:function(w){var P,R;return b(w)?w.readableErrored?w.readableErrored:(P=(R=w._readableState)===null||R===void 0?void 0:R.errored)!==null&&P!==void 0?P:null:null},isNodeStream:b,isWebStream:function(w){return _(w)||S(w)||U(w)},isWritable:B,isWritableNodeStream:m,isWritableStream:S,isWritableEnded:K,isWritableFinished:function(w,P){if(!m(w))return null;if(w.writableFinished===!0)return!0;let R=w._writableState;return(R==null||!R.errored)&&(typeof(R==null?void 0:R.finished)!="boolean"?null:!!(R.finished||P===!1&&R.ended===!0&&R.length===0))},isWritableErrored:function(w){var P,R;return b(w)?w.writableErrored?w.writableErrored:(P=(R=w._writableState)===null||R===void 0?void 0:R.errored)!==null&&P!==void 0?P:null:null},isServerRequest:function(w){var P;return typeof w._consuming=="boolean"&&typeof w._dumped=="boolean"&&((P=w.req)===null||P===void 0?void 0:P.upgradeOrConnect)===void 0},isServerResponse:E,willEmitClose:function(w){if(!b(w))return null;let P=w._writableState,R=w._readableState,et=P||R;return!et&&E(w)||!!(et&&et.autoDestroy&&et.emitClose&&et.closed===!1)},isTransformStream:U}}),Fr=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{AbortError:n,codes:l}=ve(),{ERR_INVALID_ARG_TYPE:o,ERR_STREAM_PREMATURE_CLOSE:s}=l,{kEmptyObject:i,once:a}=hr(),{validateAbortSignal:u,validateFunction:c,validateObject:d,validateBoolean:f}=Ro(),{Promise:m,PromisePrototypeThen:b}=te(),{isClosed:_,isReadable:S,isReadableNodeStream:U,isReadableStream:D,isReadableFinished:K,isReadableErrored:$,isWritable:Y,isWritableNodeStream:B,isWritableStream:I,isWritableFinished:E,isWritableErrored:w,isNodeStream:P,willEmitClose:R,kIsClosedPromise:et}=mr(),st=()=>{};function X(j,N,V){var nt,Q;if(arguments.length===2?(V=N,N=i):N==null?N=i:d(N,"options"),c(V,"callback"),u(N.signal,"options.signal"),V=a(V),D(j)||I(j))return function(p,y,O){let C=!1,x=st;if(y.signal)if(x=()=>{C=!0,O.call(p,new n(void 0,{cause:y.signal.reason}))},y.signal.aborted)r.nextTick(x);else{let v=O;O=a((...k)=>{y.signal.removeEventListener("abort",x),v.apply(p,k)}),y.signal.addEventListener("abort",x)}let g=(...v)=>{C||r.nextTick(()=>O.apply(p,v))};return b(p[et].promise,g,g),st}(j,N,V);if(!P(j))throw new o("stream",["ReadableStream","WritableStream","Stream"],j);let G=(nt=N.readable)!==null&&nt!==void 0?nt:U(j),T=(Q=N.writable)!==null&&Q!==void 0?Q:B(j),q=j._writableState,tt=j._readableState,it=()=>{j.writable||pt()},lt=R(j)&&U(j)===G&&B(j)===T,ut=E(j,!1),pt=()=>{ut=!0,j.destroyed&&(lt=!1),(!lt||j.readable&&!G)&&(!G||H)&&V.call(j)},H=K(j,!1),rt=()=>{H=!0,j.destroyed&&(lt=!1),(!lt||j.writable&&!T)&&(!T||ut)&&V.call(j)},Z=p=>{V.call(j,p)},dt=_(j),L=()=>{dt=!0;let p=w(j)||$(j);return p&&typeof p!="boolean"?V.call(j,p):G&&!H&&U(j,!0)&&!K(j,!1)?V.call(j,new s):!T||ut||E(j,!1)?void V.call(j):V.call(j,new s)},A=()=>{dt=!0;let p=w(j)||$(j);if(p&&typeof p!="boolean")return V.call(j,p);V.call(j)},F=()=>{j.req.on("finish",pt)};(function(p){return p.setHeader&&typeof p.abort=="function"})(j)?(j.on("complete",pt),lt||j.on("abort",L),j.req?F():j.on("request",F)):T&&!q&&(j.on("end",it),j.on("close",it)),!lt&&typeof j.aborted=="boolean"&&j.on("aborted",L),j.on("end",rt),j.on("finish",pt),N.error!==!1&&j.on("error",Z),j.on("close",L),dt?r.nextTick(L):q!=null&&q.errorEmitted||tt!=null&&tt.errorEmitted?lt||r.nextTick(A):(!G&&(!lt||S(j))&&(ut||Y(j)===!1)||!T&&(!lt||Y(j))&&(H||S(j)===!1)||tt&&j.req&&j.aborted)&&r.nextTick(A);let h=()=>{V=st,j.removeListener("aborted",L),j.removeListener("complete",pt),j.removeListener("abort",L),j.removeListener("request",F),j.req&&j.req.removeListener("finish",pt),j.removeListener("end",it),j.removeListener("close",it),j.removeListener("finish",pt),j.removeListener("end",rt),j.removeListener("error",Z),j.removeListener("close",L)};if(N.signal&&!dt){let p=()=>{let y=V;h(),y.call(j,new n(void 0,{cause:N.signal.reason}))};if(N.signal.aborted)r.nextTick(p);else{let y=V;V=a((...O)=>{N.signal.removeEventListener("abort",p),y.apply(j,O)}),N.signal.addEventListener("abort",p)}}return h}e.exports=X,e.exports.finished=function(j,N){var V;let nt=!1;return N===null&&(N=i),(V=N)!==null&&V!==void 0&&V.cleanup&&(f(N.cleanup,"cleanup"),nt=N.cleanup),new m((Q,G)=>{let T=X(j,N,q=>{nt&&T(),q?G(q):Q()})})}}),jn=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{aggregateTwoErrors:n,codes:{ERR_MULTIPLE_CALLBACK:l},AbortError:o}=ve(),{Symbol:s}=te(),{kDestroyed:i,isDestroyed:a,isFinished:u,isServerRequest:c}=mr(),d=s("kDestroy"),f=s("kConstruct");function m(E,w,P){E&&(E.stack,w&&!w.errored&&(w.errored=E),P&&!P.errored&&(P.errored=E))}function b(E,w,P){let R=!1;function et(st){if(R)return;R=!0;let X=E._readableState,j=E._writableState;m(st,j,X),j&&(j.closed=!0),X&&(X.closed=!0),typeof P=="function"&&P(st),st?r.nextTick(_,E,st):r.nextTick(S,E)}try{E._destroy(w||null,et)}catch(st){et(st)}}function _(E,w){U(E,w),S(E)}function S(E){let w=E._readableState,P=E._writableState;P&&(P.closeEmitted=!0),w&&(w.closeEmitted=!0),(P!=null&&P.emitClose||w!=null&&w.emitClose)&&E.emit("close")}function U(E,w){let P=E._readableState,R=E._writableState;R!=null&&R.errorEmitted||P!=null&&P.errorEmitted||(R&&(R.errorEmitted=!0),P&&(P.errorEmitted=!0),E.emit("error",w))}function D(E,w,P){let R=E._readableState,et=E._writableState;if(et!=null&&et.destroyed||R!=null&&R.destroyed)return this;R!=null&&R.autoDestroy||et!=null&&et.autoDestroy?E.destroy(w):w&&(w.stack,et&&!et.errored&&(et.errored=w),R&&!R.errored&&(R.errored=w),P?r.nextTick(U,E,w):U(E,w))}function K(E){let w=!1;function P(R){if(w)return void D(E,R??new l);w=!0;let et=E._readableState,st=E._writableState,X=st||et;et&&(et.constructed=!0),st&&(st.constructed=!0),X.destroyed?E.emit(d,R):R?D(E,R,!0):r.nextTick($,E)}try{E._construct(R=>{r.nextTick(P,R)})}catch(R){r.nextTick(P,R)}}function $(E){E.emit(f)}function Y(E){return(E==null?void 0:E.setHeader)&&typeof E.abort=="function"}function B(E){E.emit("close")}function I(E,w){E.emit("error",w),r.nextTick(B,E)}e.exports={construct:function(E,w){if(typeof E._construct!="function")return;let P=E._readableState,R=E._writableState;P&&(P.constructed=!1),R&&(R.constructed=!1),E.once(f,w),!(E.listenerCount(f)>1)&&r.nextTick(K,E)},destroyer:function(E,w){!E||a(E)||(!w&&!u(E)&&(w=new o),c(E)?(E.socket=null,E.destroy(w)):Y(E)?E.abort():Y(E.req)?E.req.abort():typeof E.destroy=="function"?E.destroy(w):typeof E.close=="function"?E.close():w?r.nextTick(I,E,w):r.nextTick(B,E),E.destroyed||(E[i]=!0))},destroy:function(E,w){let P=this._readableState,R=this._writableState,et=R||P;return R!=null&&R.destroyed||P!=null&&P.destroyed?(typeof w=="function"&&w(),this):(m(E,R,P),R&&(R.destroyed=!0),P&&(P.destroyed=!0),et.constructed?b(this,E,w):this.once(d,function(st){b(this,n(st,E),w)}),this)},undestroy:function(){let E=this._readableState,w=this._writableState;E&&(E.constructed=!0,E.closed=!1,E.closeEmitted=!1,E.destroyed=!1,E.errored=null,E.errorEmitted=!1,E.reading=!1,E.ended=E.readable===!1,E.endEmitted=E.readable===!1),w&&(w.constructed=!0,w.destroyed=!1,w.closed=!1,w.closeEmitted=!1,w.errored=null,w.errorEmitted=!1,w.finalCalled=!1,w.prefinished=!1,w.ended=w.writable===!1,w.ending=w.writable===!1,w.finished=w.writable===!1)},errorOrDestroy:D}});function Lt(){Lt.init.call(this)}function Yi(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function Xf(t){return t._maxListeners===void 0?Lt.defaultMaxListeners:t._maxListeners}function oc(t,e,r,n){var l,o,s;if(Yi(r),(o=t._events)===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(l=Xf(t))>0&&s.length>l&&!s.warned){s.warned=!0;var i=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");i.name="MaxListenersExceededWarning",i.emitter=t,i.type=e,i.count=s.length}return t}function Jm(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function sc(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},l=Jm.bind(n);return l.listener=r,n.wrapFn=l,l}function ac(t,e,r){var n=t._events;if(n===void 0)return[];var l=n[e];return l===void 0?[]:typeof l=="function"?r?[l.listener||l]:[l]:r?function(o){for(var s=new Array(o.length),i=0;i{ct(),ft(),ht(),zr=typeof Reflect=="object"?Reflect:null,cs=zr&&typeof zr.apply=="function"?zr.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)},cc=zr&&typeof zr.ownKeys=="function"?zr.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)},hs=Number.isNaN||function(t){return t!=t},uc=Lt,Lt.EventEmitter=Lt,Lt.prototype._events=void 0,Lt.prototype._eventsCount=0,Lt.prototype._maxListeners=void 0,fs=10,Object.defineProperty(Lt,"defaultMaxListeners",{enumerable:!0,get:function(){return fs},set:function(t){if(typeof t!="number"||t<0||hs(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");fs=t}}),Lt.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Lt.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||hs(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},Lt.prototype.getMaxListeners=function(){return Xf(this)},Lt.prototype.emit=function(t){for(var e=[],r=1;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var i=l[t];if(i===void 0)return!1;if(typeof i=="function")cs(i,this,e);else{var a=i.length,u=Zf(i,a);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,l=o;break}if(l<0)return this;l===0?r.shift():function(i,a){for(;a+1=0;n--)this.removeListener(t,e[n]);return this},Lt.prototype.listeners=function(t){return ac(this,t,!0)},Lt.prototype.rawListeners=function(t){return ac(this,t,!1)},Lt.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):lc.call(t,e)},Lt.prototype.listenerCount=lc,Lt.prototype.eventNames=function(){return this._eventsCount>0?cc(this._events):[]},(ke=uc).EventEmitter,ke.defaultMaxListeners,ke.init,ke.listenerCount,ke.EventEmitter,ke.defaultMaxListeners,ke.init,ke.listenerCount}),gn={};pn(gn,{EventEmitter:()=>tp,default:()=>ke,defaultMaxListeners:()=>ep,init:()=>rp,listenerCount:()=>np,on:()=>ip,once:()=>op});var tp,ep,rp,np,ip,op,Un=ne(()=>{ct(),ft(),ht(),hc(),hc(),ke.once=function(t,e){return new Promise((r,n)=>{function l(...s){o!==void 0&&t.removeListener("error",o),r(s)}let o;e!=="error"&&(o=s=>{t.removeListener(name,l),n(s)},t.once("error",o)),t.once(e,l)})},ke.on=function(t,e){let r=[],n=[],l=null,o=!1,s={async next(){let u=r.shift();if(u)return createIterResult(u,!1);if(l){let c=Promise.reject(l);return l=null,c}return o?createIterResult(void 0,!0):new Promise((c,d)=>n.push({resolve:c,reject:d}))},async return(){t.removeListener(e,i),t.removeListener("error",a),o=!0;for(let u of n)u.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(u){l=u,t.removeListener(e,i),t.removeListener("error",a)},[Symbol.asyncIterator](){return this}};return t.on(e,i),t.on("error",a),s;function i(...u){let c=n.shift();c?c.resolve(createIterResult(u,!1)):r.push(u)}function a(u){o=!0;let c=n.shift();c?c.reject(u):l=u,s.return()}},{EventEmitter:tp,defaultMaxListeners:ep,init:rp,listenerCount:np,on:ip,once:op}=ke}),Ml=mt((t,e)=>{ct(),ft(),ht();var{ArrayIsArray:r,ObjectSetPrototypeOf:n}=te(),{EventEmitter:l}=(Un(),Dt(gn));function o(i){l.call(this,i)}function s(i,a,u){if(typeof i.prependListener=="function")return i.prependListener(a,u);i._events&&i._events[a]?r(i._events[a])?i._events[a].unshift(u):i._events[a]=[u,i._events[a]]:i.on(a,u)}n(o.prototype,l.prototype),n(o,l),o.prototype.pipe=function(i,a){let u=this;function c(U){i.writable&&i.write(U)===!1&&u.pause&&u.pause()}function d(){u.readable&&u.resume&&u.resume()}u.on("data",c),i.on("drain",d),!i._isStdio&&(!a||a.end!==!1)&&(u.on("end",m),u.on("close",b));let f=!1;function m(){f||(f=!0,i.end())}function b(){f||(f=!0,typeof i.destroy=="function"&&i.destroy())}function _(U){S(),l.listenerCount(this,"error")===0&&this.emit("error",U)}function S(){u.removeListener("data",c),i.removeListener("drain",d),u.removeListener("end",m),u.removeListener("close",b),u.removeListener("error",_),i.removeListener("error",_),u.removeListener("end",S),u.removeListener("close",S),i.removeListener("close",S)}return s(u,"error",_),s(i,"error",_),u.on("end",S),u.on("close",S),i.on("close",S),i.emit("pipe",u),i},e.exports={Stream:o,prependListener:s}}),Po=mt((t,e)=>{ct(),ft(),ht();var{AbortError:r,codes:n}=ve(),{isNodeStream:l,isWebStream:o,kControllerErrorFunction:s}=mr(),i=Fr(),{ERR_INVALID_ARG_TYPE:a}=n;e.exports.addAbortSignal=function(u,c){if(((d,f)=>{if(typeof d!="object"||!("aborted"in d))throw new a(f,"AbortSignal",d)})(u,"signal"),!l(c)&&!o(c))throw new a("stream",["ReadableStream","WritableStream","Stream"],c);return e.exports.addAbortSignalNoValidate(u,c)},e.exports.addAbortSignalNoValidate=function(u,c){if(typeof u!="object"||!("aborted"in u))return c;let d=l(c)?()=>{c.destroy(new r(void 0,{cause:u.reason}))}:()=>{c[s](new r(void 0,{cause:u.reason}))};return u.aborted?d():(u.addEventListener("abort",d),i(c,()=>u.removeEventListener("abort",d))),c}}),Xm=mt((t,e)=>{ct(),ft(),ht();var{StringPrototypeSlice:r,SymbolIterator:n,TypedArrayPrototypeSet:l,Uint8Array:o}=te(),{Buffer:s}=(oe(),Dt(ie)),{inspect:i}=hr();e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(a){let u={data:a,next:null};this.length>0?this.tail.next=u:this.head=u,this.tail=u,++this.length}unshift(a){let u={data:a,next:this.head};this.length===0&&(this.tail=u),this.head=u,++this.length}shift(){if(this.length===0)return;let a=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,a}clear(){this.head=this.tail=null,this.length=0}join(a){if(this.length===0)return"";let u=this.head,c=""+u.data;for(;(u=u.next)!==null;)c+=a+u.data;return c}concat(a){if(this.length===0)return s.alloc(0);let u=s.allocUnsafe(a>>>0),c=this.head,d=0;for(;c;)l(u,c.data,d),d+=c.data.length,c=c.next;return u}consume(a,u){let c=this.head.data;if(af.length)){a===f.length?(u+=f,++d,c.next?this.head=c.next:this.head=this.tail=null):(u+=r(f,0,a),this.head=c,c.data=r(f,a));break}u+=f,a-=f.length,++d}while((c=c.next)!==null);return this.length-=d,u}_getBuffer(a){let u=s.allocUnsafe(a),c=a,d=this.head,f=0;do{let m=d.data;if(!(a>m.length)){a===m.length?(l(u,m,c-a),++f,d.next?this.head=d.next:this.head=this.tail=null):(l(u,new o(m.buffer,m.byteOffset,a),c-a),this.head=d,d.data=m.slice(a));break}l(u,m,c-a),a-=m.length,++f}while((d=d.next)!==null);return this.length-=f,u}[Symbol.for("nodejs.util.inspect.custom")](a,u){return i(this,{...u,depth:0,customInspect:!1})}}}),Ll=mt((t,e)=>{ct(),ft(),ht();var{MathFloor:r,NumberIsInteger:n}=te(),{ERR_INVALID_ARG_VALUE:l}=ve().codes;function o(s){return s?16:16384}e.exports={getHighWaterMark:function(s,i,a,u){let c=function(d,f,m){return d.highWaterMark!=null?d.highWaterMark:f?d[m]:null}(i,u,a);if(c!=null){if(!n(c)||c<0)throw new l(u?`options.${a}`:"options.highWaterMark",c);return r(c)}return o(s.objectMode)},getDefaultHighWaterMark:o}});function fc(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return r===-1&&(r=e),[r,r===e?0:4-r%4]}function Zm(t,e,r){for(var n,l,o=[],s=e;s>18&63]+Le[l>>12&63]+Le[l>>6&63]+Le[63&l]);return o.join("")}function ar(t){if(t>2147483647)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,gt.prototype),e}function gt(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Fa(t)}return sp(t,e,r)}function sp(t,e,r){if(typeof t=="string")return function(o,s){if(typeof s=="string"&&s!==""||(s="utf8"),!gt.isEncoding(s))throw new TypeError("Unknown encoding: "+s);var i=0|lp(o,s),a=ar(i),u=a.write(o,s);return u!==i&&(a=a.slice(0,u)),a}(t,e);if(ArrayBuffer.isView(t))return ps(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(lr(t,ArrayBuffer)||t&&lr(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(lr(t,SharedArrayBuffer)||t&&lr(t.buffer,SharedArrayBuffer)))return function(o,s,i){if(s<0||o.byteLength=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function lp(t,e){if(gt.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||lr(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;for(var l=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Wa(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return fp(t).length;default:if(l)return n?-1:Wa(t).length;e=(""+e).toLowerCase(),l=!0}}function t0(t,e,r){var n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return u0(this,e,r);case"utf8":case"utf-8":return cp(this,e,r);case"ascii":return a0(this,e,r);case"latin1":case"binary":return l0(this,e,r);case"base64":return s0(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return c0(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function Kr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function pc(t,e,r,n,l){if(t.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Ul(r=+r)&&(r=l?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(l)return-1;r=t.length-1}else if(r<0){if(!l)return-1;r=0}if(typeof e=="string"&&(e=gt.from(e,n)),gt.isBuffer(e))return e.length===0?-1:dc(t,e,r,n,l);if(typeof e=="number")return e&=255,typeof Uint8Array.prototype.indexOf=="function"?l?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):dc(t,[e],r,n,l);throw new TypeError("val must be string, number or Buffer")}function dc(t,e,r,n,l){var o,s=1,i=t.length,a=e.length;if(n!==void 0&&((n=String(n).toLowerCase())==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,i/=2,a/=2,r/=2}function u(m,b){return s===1?m[b]:m.readUInt16BE(b*s)}if(l){var c=-1;for(o=r;oi&&(r=i-a),o=r;o>=0;o--){for(var d=!0,f=0;fl&&(n=l):n=l;var o=e.length;n>o/2&&(n=o/2);for(var s=0;s>8,a=s%256,u.push(a),u.push(i);return u}(e,t.length-r),t,r,n)}function s0(t,e,r){return e===0&&r===t.length?ho.fromByteArray(t):ho.fromByteArray(t.slice(e,r))}function cp(t,e,r){r=Math.min(t.length,r);for(var n=[],l=e;l239?4:u>223?3:u>191?2:1;if(l+d<=r)switch(d){case 1:u<128&&(c=u);break;case 2:(192&(o=t[l+1]))==128&&(a=(31&u)<<6|63&o)>127&&(c=a);break;case 3:o=t[l+1],s=t[l+2],(192&o)==128&&(192&s)==128&&(a=(15&u)<<12|(63&o)<<6|63&s)>2047&&(a<55296||a>57343)&&(c=a);break;case 4:o=t[l+1],s=t[l+2],i=t[l+3],(192&o)==128&&(192&s)==128&&(192&i)==128&&(a=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&i)>65535&&a<1114112&&(c=a)}c===null?(c=65533,d=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),l+=d}return function(f){var m=f.length;if(m<=4096)return String.fromCharCode.apply(String,f);for(var b="",_=0;_n)&&(r=n);for(var l="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function pe(t,e,r,n,l,o){if(!gt.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>l||et.length)throw new RangeError("Index out of range")}function hp(t,e,r,n,l,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function gc(t,e,r,n,l){return e=+e,r>>>=0,l||hp(t,0,r,4),en.write(t,e,r,n,23,4),r+4}function mc(t,e,r,n,l){return e=+e,r>>>=0,l||hp(t,0,r,8),en.write(t,e,r,n,52,8),r+8}function Wa(t,e){var r;e=e||1/0;for(var n=t.length,l=null,o=[],s=0;s55295&&r<57344){if(!l){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}l=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),l=r;continue}r=65536+(l-55296<<10|r-56320)}else l&&(e-=3)>-1&&o.push(239,191,189);if(l=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function fp(t){return ho.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(pp,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(t))}function Bo(t,e,r,n){for(var l=0;l=e.length||l>=t.length);++l)e[l+r]=t[l];return l}function lr(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function Ul(t){return t!=t}function yc(t,e){for(var r in t)e[r]=t[r]}function Gr(t,e,r){return $e(t,e,r)}function qn(t){var e;switch(this.encoding=function(r){var n=function(l){if(!l)return"utf8";for(var o;;)switch(l){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return l;default:if(o)return;l=(""+l).toLowerCase(),o=!0}}(r);if(typeof n!="string"&&(fo.isEncoding===$a||!$a(r)))throw new Error("Unknown encoding: "+r);return n||r}(t),this.encoding){case"utf16le":this.text=f0,this.end=p0,e=4;break;case"utf8":this.fillLast=h0,e=4;break;case"base64":this.text=d0,this.end=g0,e=3;break;default:return this.write=m0,void(this.end=y0)}this.lastNeed=0,this.lastTotal=0,this.lastChar=fo.allocUnsafe(e)}function ds(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function h0(t){var e=this.lastTotal-this.lastNeed,r=function(n,l){if((192&l[0])!=128)return n.lastNeed=0,"�";if(n.lastNeed>1&&l.length>1){if((192&l[1])!=128)return n.lastNeed=1,"�";if(n.lastNeed>2&&l.length>2&&(192&l[2])!=128)return n.lastNeed=2,"�"}}(this,t);return r!==void 0?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function f0(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function p0(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function d0(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function g0(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function m0(t){return t.toString(this.encoding)}function y0(t){return t&&t.length?this.write(t):""}var bc,Le,we,vc,gs,Qr,wc,We,ho,en,ms,pp,dp,Hn,Mi,$e,kn,fo,$a,_c=ne(()=>{for(ct(),ft(),ht(),bc={byteLength:function(t){var e=fc(t),r=e[0],n=e[1];return 3*(r+n)/4-n},toByteArray:function(t){var e,r,n=fc(t),l=n[0],o=n[1],s=new vc(function(u,c,d){return 3*(c+d)/4-d}(0,l,o)),i=0,a=o>0?l-4:l;for(r=0;r>16&255,s[i++]=e>>8&255,s[i++]=255&e;return o===2&&(e=we[t.charCodeAt(r)]<<2|we[t.charCodeAt(r+1)]>>4,s[i++]=255&e),o===1&&(e=we[t.charCodeAt(r)]<<10|we[t.charCodeAt(r+1)]<<4|we[t.charCodeAt(r+2)]>>2,s[i++]=e>>8&255,s[i++]=255&e),s},fromByteArray:function(t){for(var e,r=t.length,n=r%3,l=[],o=0,s=r-n;os?s:o+16383));return n===1?(e=t[r-1],l.push(Le[e>>2]+Le[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],l.push(Le[e>>10]+Le[e>>4&63]+Le[e<<2&63]+"=")),l.join("")}},Le=[],we=[],vc=typeof Uint8Array<"u"?Uint8Array:Array,gs="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qr=0,64;Qr<64;++Qr)Le[Qr]=gs[Qr],we[gs.charCodeAt(Qr)]=Qr;we[45]=62,we[95]=63,wc={read:function(t,e,r,n,l){var o,s,i=8*l-n-1,a=(1<>1,c=-7,d=r?l-1:0,f=r?-1:1,m=t[e+d];for(d+=f,o=m&(1<<-c)-1,m>>=-c,c+=i;c>0;o=256*o+t[e+d],d+=f,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=n;c>0;s=256*s+t[e+d],d+=f,c-=8);if(o===0)o=1-u;else{if(o===a)return s?NaN:1/0*(m?-1:1);s+=Math.pow(2,n),o-=u}return(m?-1:1)*s*Math.pow(2,o-n)},write:function(t,e,r,n,l,o){var s,i,a,u=8*o-l-1,c=(1<>1,f=l===23?Math.pow(2,-24)-Math.pow(2,-77):0,m=n?0:o-1,b=n?1:-1,_=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(i=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+d>=1?f/a:f*Math.pow(2,1-d))*a>=2&&(s++,a/=2),s+d>=c?(i=0,s=c):s+d>=1?(i=(e*a-1)*Math.pow(2,l),s+=d):(i=e*Math.pow(2,d-1)*Math.pow(2,l),s=0));l>=8;t[r+m]=255&i,m+=b,i/=256,l-=8);for(s=s<0;t[r+m]=255&s,m+=b,s/=256,u-=8);t[r+m-b]|=128*_}},We={},ho=bc,en=wc,ms=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null,We.Buffer=gt,We.SlowBuffer=function(t){return+t!=t&&(t=0),gt.alloc(+t)},We.INSPECT_MAX_BYTES=50,We.kMaxLength=2147483647,gt.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch{return!1}}(),gt.TYPED_ARRAY_SUPPORT||typeof console>"u",Object.defineProperty(gt.prototype,"parent",{enumerable:!0,get:function(){if(gt.isBuffer(this))return this.buffer}}),Object.defineProperty(gt.prototype,"offset",{enumerable:!0,get:function(){if(gt.isBuffer(this))return this.byteOffset}}),gt.poolSize=8192,gt.from=function(t,e,r){return sp(t,e,r)},Object.setPrototypeOf(gt.prototype,Uint8Array.prototype),Object.setPrototypeOf(gt,Uint8Array),gt.alloc=function(t,e,r){return l=e,o=r,ap(n=t),n<=0?ar(n):l!==void 0?typeof o=="string"?ar(n).fill(l,o):ar(n).fill(l):ar(n);var n,l,o},gt.allocUnsafe=function(t){return Fa(t)},gt.allocUnsafeSlow=function(t){return Fa(t)},gt.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==gt.prototype},gt.compare=function(t,e){if(lr(t,Uint8Array)&&(t=gt.from(t,t.offset,t.byteLength)),lr(e,Uint8Array)&&(e=gt.from(e,e.offset,e.byteLength)),!gt.isBuffer(t)||!gt.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,l=0,o=Math.min(r,n);le&&(t+=" ... "),""},ms&&(gt.prototype[ms]=gt.prototype.inspect),gt.prototype.compare=function(t,e,r,n,l){if(lr(t,Uint8Array)&&(t=gt.from(t,t.offset,t.byteLength)),!gt.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(e===void 0&&(e=0),r===void 0&&(r=t?t.length:0),n===void 0&&(n=0),l===void 0&&(l=this.length),e<0||r>t.length||n<0||l>this.length)throw new RangeError("out of range index");if(n>=l&&e>=r)return 0;if(n>=l)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(l>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),i=Math.min(o,s),a=this.slice(n,l),u=t.slice(e,r),c=0;c>>=0,isFinite(r)?(r>>>=0,n===void 0&&(n="utf8")):(n=r,r=void 0)}var l=this.length-e;if((r===void 0||r>l)&&(r=l),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return e0(this,t,e,r);case"utf8":case"utf-8":return r0(this,t,e,r);case"ascii":return up(this,t,e,r);case"latin1":case"binary":return n0(this,t,e,r);case"base64":return i0(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return o0(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},gt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},gt.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=e===void 0?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=this[t],l=1,o=0;++o>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=this[t+--e],l=1;e>0&&(l*=256);)n+=this[t+--e]*l;return n},gt.prototype.readUInt8=function(t,e){return t>>>=0,e||ee(t,1,this.length),this[t]},gt.prototype.readUInt16LE=function(t,e){return t>>>=0,e||ee(t,2,this.length),this[t]|this[t+1]<<8},gt.prototype.readUInt16BE=function(t,e){return t>>>=0,e||ee(t,2,this.length),this[t]<<8|this[t+1]},gt.prototype.readUInt32LE=function(t,e){return t>>>=0,e||ee(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},gt.prototype.readUInt32BE=function(t,e){return t>>>=0,e||ee(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},gt.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=this[t],l=1,o=0;++o=(l*=128)&&(n-=Math.pow(2,8*e)),n},gt.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=e,l=1,o=this[t+--n];n>0&&(l*=256);)o+=this[t+--n]*l;return o>=(l*=128)&&(o-=Math.pow(2,8*e)),o},gt.prototype.readInt8=function(t,e){return t>>>=0,e||ee(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},gt.prototype.readInt16LE=function(t,e){t>>>=0,e||ee(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},gt.prototype.readInt16BE=function(t,e){t>>>=0,e||ee(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},gt.prototype.readInt32LE=function(t,e){return t>>>=0,e||ee(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},gt.prototype.readInt32BE=function(t,e){return t>>>=0,e||ee(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},gt.prototype.readFloatLE=function(t,e){return t>>>=0,e||ee(t,4,this.length),en.read(this,t,!0,23,4)},gt.prototype.readFloatBE=function(t,e){return t>>>=0,e||ee(t,4,this.length),en.read(this,t,!1,23,4)},gt.prototype.readDoubleLE=function(t,e){return t>>>=0,e||ee(t,8,this.length),en.read(this,t,!0,52,8)},gt.prototype.readDoubleBE=function(t,e){return t>>>=0,e||ee(t,8,this.length),en.read(this,t,!1,52,8)},gt.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||pe(this,t,e,r,Math.pow(2,8*r)-1,0);var l=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,n||pe(this,t,e,r,Math.pow(2,8*r)-1,0);var l=r-1,o=1;for(this[e+l]=255&t;--l>=0&&(o*=256);)this[e+l]=t/o&255;return e+r},gt.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||pe(this,t,e,1,255,0),this[e]=255&t,e+1},gt.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||pe(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},gt.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||pe(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},gt.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||pe(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},gt.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||pe(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},gt.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var l=Math.pow(2,8*r-1);pe(this,t,e,r,l-1,-l)}var o=0,s=1,i=0;for(this[e]=255&t;++o>>=0,!n){var l=Math.pow(2,8*r-1);pe(this,t,e,r,l-1,-l)}var o=r-1,s=1,i=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&i===0&&this[e+o+1]!==0&&(i=1),this[e+o]=(t/s|0)-i&255;return e+r},gt.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||pe(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},gt.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||pe(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},gt.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||pe(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},gt.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||pe(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},gt.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||pe(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},gt.prototype.writeFloatLE=function(t,e,r){return gc(this,t,e,!0,r)},gt.prototype.writeFloatBE=function(t,e,r){return gc(this,t,e,!1,r)},gt.prototype.writeDoubleLE=function(t,e,r){return mc(this,t,e,!0,r)},gt.prototype.writeDoubleBE=function(t,e,r){return mc(this,t,e,!1,r)},gt.prototype.copy=function(t,e,r,n){if(!gt.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||n===0||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return l},gt.prototype.fill=function(t,e,r,n){if(typeof t=="string"){if(typeof e=="string"?(n=e,e=0,r=this.length):typeof r=="string"&&(n=r,r=this.length),n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!gt.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(t.length===1){var l=t.charCodeAt(0);(n==="utf8"&&l<128||n==="latin1")&&(t=l)}}else typeof t=="number"?t&=255:typeof t=="boolean"&&(t=Number(t));if(e<0||this.length>>=0,r=r===void 0?this.length:r>>>0,t||(t=0),typeof t=="number")for(o=e;o=0?(a>0&&(l.lastNeed=a-1),a):--i=0?(a>0&&(l.lastNeed=a-2),a):--i=0?(a>0&&(a===2?a=0:l.lastNeed=a-3),a):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},qn.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length},kn.StringDecoder,kn.StringDecoder}),gp={};pn(gp,{StringDecoder:()=>mp,default:()=>kn});var mp,b0=ne(()=>{ct(),ft(),ht(),_c(),_c(),mp=kn.StringDecoder}),yp=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{PromisePrototypeThen:n,SymbolAsyncIterator:l,SymbolIterator:o}=te(),{Buffer:s}=(oe(),Dt(ie)),{ERR_INVALID_ARG_TYPE:i,ERR_STREAM_NULL_VALUES:a}=ve().codes;e.exports=function(u,c,d){let f,m;if(typeof c=="string"||c instanceof s)return new u({objectMode:!0,...d,read(){this.push(c),this.push(null)}});if(c&&c[l])m=!0,f=c[l]();else{if(!c||!c[o])throw new i("iterable",["Iterable"],c);m=!1,f=c[o]()}let b=new u({objectMode:!0,highWaterMark:1,...d}),_=!1;return b._read=function(){_||(_=!0,async function(){for(;;){try{let{value:S,done:U}=m?await f.next():f.next();if(U)b.push(null);else{let D=S&&typeof S.then=="function"?await S:S;if(D===null)throw _=!1,new a;if(b.push(D))continue;_=!1}}catch(S){b.destroy(S)}break}}())},b._destroy=function(S,U){n(async function(D){let K=D!=null,$=typeof f.throw=="function";if(K&&$){let{value:Y,done:B}=await f.throw(D);if(await Y,B)return}if(typeof f.return=="function"){let{value:Y}=await f.return();await Y}}(S),()=>r.nextTick(U,S),D=>r.nextTick(U,D||S))},b}}),Mo=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{ArrayPrototypeIndexOf:n,NumberIsInteger:l,NumberIsNaN:o,NumberParseInt:s,ObjectDefineProperties:i,ObjectKeys:a,ObjectSetPrototypeOf:u,Promise:c,SafeSet:d,SymbolAsyncIterator:f,Symbol:m}=te();e.exports=q,q.ReadableState=T;var{EventEmitter:b}=(Un(),Dt(gn)),{Stream:_,prependListener:S}=Ml(),{Buffer:U}=(oe(),Dt(ie)),{addAbortSignal:D}=Po(),K=Fr(),$=hr().debuglog("stream",g=>{$=g}),Y=Xm(),B=jn(),{getHighWaterMark:I,getDefaultHighWaterMark:E}=Ll(),{aggregateTwoErrors:w,codes:{ERR_INVALID_ARG_TYPE:P,ERR_METHOD_NOT_IMPLEMENTED:R,ERR_OUT_OF_RANGE:et,ERR_STREAM_PUSH_AFTER_EOF:st,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:X}}=ve(),{validateObject:j}=Ro(),N=m("kPaused"),{StringDecoder:V}=(b0(),Dt(gp)),nt=yp();u(q.prototype,_.prototype),u(q,_);var Q=()=>{},{errorOrDestroy:G}=B;function T(g,v,k){typeof k!="boolean"&&(k=v instanceof fr()),this.objectMode=!(!g||!g.objectMode),k&&(this.objectMode=this.objectMode||!(!g||!g.readableObjectMode)),this.highWaterMark=g?I(this,g,"readableHighWaterMark",k):E(!1),this.buffer=new Y,this.length=0,this.pipes=[],this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.constructed=!0,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this[N]=null,this.errorEmitted=!1,this.emitClose=!g||g.emitClose!==!1,this.autoDestroy=!g||g.autoDestroy!==!1,this.destroyed=!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this.defaultEncoding=g&&g.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.multiAwaitDrain=!1,this.readingMore=!1,this.dataEmitted=!1,this.decoder=null,this.encoding=null,g&&g.encoding&&(this.decoder=new V(g.encoding),this.encoding=g.encoding)}function q(g){if(!(this instanceof q))return new q(g);let v=this instanceof fr();this._readableState=new T(g,this,v),g&&(typeof g.read=="function"&&(this._read=g.read),typeof g.destroy=="function"&&(this._destroy=g.destroy),typeof g.construct=="function"&&(this._construct=g.construct),g.signal&&!v&&D(g.signal,this)),_.call(this,g),B.construct(this,()=>{this._readableState.needReadable&&rt(this,this._readableState)})}function tt(g,v,k,M){$("readableAddChunk",v);let W,J=g._readableState;if(J.objectMode||(typeof v=="string"?(k=k||J.defaultEncoding,J.encoding!==k&&(M&&J.encoding?v=U.from(v,k).toString(J.encoding):(v=U.from(v,k),k=""))):v instanceof U?k="":_._isUint8Array(v)?(v=_._uint8ArrayToBuffer(v),k=""):v!=null&&(W=new P("chunk",["string","Buffer","Uint8Array"],v))),W)G(g,W);else if(v===null)J.reading=!1,function(at,ot){if($("onEofChunk"),!ot.ended){if(ot.decoder){let vt=ot.decoder.end();vt&&vt.length&&(ot.buffer.push(vt),ot.length+=ot.objectMode?1:vt.length)}ot.ended=!0,ot.sync?pt(at):(ot.needReadable=!1,ot.emittedReadable=!0,H(at))}}(g,J);else if(J.objectMode||v&&v.length>0)if(M)if(J.endEmitted)G(g,new X);else{if(J.destroyed||J.errored)return!1;it(g,J,v,!0)}else if(J.ended)G(g,new st);else{if(J.destroyed||J.errored)return!1;J.reading=!1,J.decoder&&!k?(v=J.decoder.write(v),J.objectMode||v.length!==0?it(g,J,v,!1):rt(g,J)):it(g,J,v,!1)}else M||(J.reading=!1,rt(g,J));return!J.ended&&(J.length0?(v.multiAwaitDrain?v.awaitDrainWriters.clear():v.awaitDrainWriters=null,v.dataEmitted=!0,g.emit("data",k)):(v.length+=v.objectMode?1:k.length,M?v.buffer.unshift(k):v.buffer.push(k),v.needReadable&&pt(g)),rt(g,v)}q.prototype.destroy=B.destroy,q.prototype._undestroy=B.undestroy,q.prototype._destroy=function(g,v){v(g)},q.prototype[b.captureRejectionSymbol]=function(g){this.destroy(g)},q.prototype.push=function(g,v){return tt(this,g,v,!1)},q.prototype.unshift=function(g,v){return tt(this,g,v,!0)},q.prototype.isPaused=function(){let g=this._readableState;return g[N]===!0||g.flowing===!1},q.prototype.setEncoding=function(g){let v=new V(g);this._readableState.decoder=v,this._readableState.encoding=this._readableState.decoder.encoding;let k=this._readableState.buffer,M="";for(let W of k)M+=v.write(W);return k.clear(),M!==""&&k.push(M),this._readableState.length=M.length,this};var lt;function ut(g,v){return g<=0||v.length===0&&v.ended?0:v.objectMode?1:o(g)?v.flowing&&v.length?v.buffer.first().length:v.length:g<=v.length?g:v.ended?v.length:0}function pt(g){let v=g._readableState;$("emitReadable",v.needReadable,v.emittedReadable),v.needReadable=!1,v.emittedReadable||($("emitReadable",v.flowing),v.emittedReadable=!0,r.nextTick(H,g))}function H(g){let v=g._readableState;$("emitReadable_",v.destroyed,v.length,v.ended),!v.destroyed&&!v.errored&&(v.length||v.ended)&&(g.emit("readable"),v.emittedReadable=!1),v.needReadable=!v.flowing&&!v.ended&&v.length<=v.highWaterMark,F(g)}function rt(g,v){!v.readingMore&&v.constructed&&(v.readingMore=!0,r.nextTick(Z,g,v))}function Z(g,v){for(;!v.reading&&!v.ended&&(v.length0,v.resumeScheduled&&v[N]===!1?v.flowing=!0:g.listenerCount("data")>0?g.resume():v.readableListening||(v.flowing=null)}function L(g){$("readable nexttick read 0"),g.read(0)}function A(g,v){$("resume",v.reading),v.reading||g.read(0),v.resumeScheduled=!1,g.emit("resume"),F(g),v.flowing&&!v.reading&&g.read(0)}function F(g){let v=g._readableState;for($("flow",v.flowing);v.flowing&&g.read()!==null;);}function h(g,v){typeof g.read!="function"&&(g=q.wrap(g,{objectMode:!0}));let k=async function*(M,W){let J=Q;function at(bt){this===M?(J(),J=Q):J=bt}M.on("readable",at);let ot,vt=K(M,{writable:!1},bt=>{ot=bt?w(ot,bt):null,J(),J=Q});try{for(;;){let bt=M.destroyed?null:M.read();if(bt!==null)yield bt;else{if(ot)throw ot;if(ot===null)return;await new c(at)}}}catch(bt){throw ot=w(ot,bt),ot}finally{!ot&&(W==null?void 0:W.destroyOnReturn)===!1||ot!==void 0&&!M._readableState.autoDestroy?(M.off("readable",at),vt()):B.destroyer(M,null)}}(g,v);return k.stream=g,k}function p(g,v){if(v.length===0)return null;let k;return v.objectMode?k=v.buffer.shift():!g||g>=v.length?(k=v.decoder?v.buffer.join(""):v.buffer.length===1?v.buffer.first():v.buffer.concat(v.length),v.buffer.clear()):k=v.buffer.consume(g,v.decoder),k}function y(g){let v=g._readableState;$("endReadable",v.endEmitted),v.endEmitted||(v.ended=!0,r.nextTick(O,v,g))}function O(g,v){if($("endReadableNT",g.endEmitted,g.length),!g.errored&&!g.closeEmitted&&!g.endEmitted&&g.length===0){if(g.endEmitted=!0,v.emit("end"),v.writable&&v.allowHalfOpen===!1)r.nextTick(C,v);else if(g.autoDestroy){let k=v._writableState;(!k||k.autoDestroy&&(k.finished||k.writable===!1))&&v.destroy()}}}function C(g){g.writable&&!g.writableEnded&&!g.destroyed&&g.end()}function x(){return lt===void 0&&(lt={}),lt}q.prototype.read=function(g){$("read",g),g===void 0?g=NaN:l(g)||(g=s(g,10));let v=this._readableState,k=g;if(g>v.highWaterMark&&(v.highWaterMark=function(J){if(J>1073741824)throw new et("size","<= 1GiB",J);return J--,J|=J>>>1,J|=J>>>2,J|=J>>>4,J|=J>>>8,J|=J>>>16,++J}(g)),g!==0&&(v.emittedReadable=!1),g===0&&v.needReadable&&((v.highWaterMark!==0?v.length>=v.highWaterMark:v.length>0)||v.ended))return $("read: emitReadable",v.length,v.ended),v.length===0&&v.ended?y(this):pt(this),null;if((g=ut(g,v))===0&&v.ended)return v.length===0&&y(this),null;let M,W=v.needReadable;if($("need readable",W),(v.length===0||v.length-g0?p(g,v):null,M===null?(v.needReadable=v.length<=v.highWaterMark,g=0):(v.length-=g,v.multiAwaitDrain?v.awaitDrainWriters.clear():v.awaitDrainWriters=null),v.length===0&&(v.ended||(v.needReadable=!0),k!==g&&v.ended&&y(this)),M!==null&&!v.errorEmitted&&!v.closeEmitted&&(v.dataEmitted=!0,this.emit("data",M)),M},q.prototype._read=function(g){throw new R("_read()")},q.prototype.pipe=function(g,v){let k=this,M=this._readableState;M.pipes.length===1&&(M.multiAwaitDrain||(M.multiAwaitDrain=!0,M.awaitDrainWriters=new d(M.awaitDrainWriters?[M.awaitDrainWriters]:[]))),M.pipes.push(g),$("pipe count=%d opts=%j",M.pipes.length,v);let W=v&&v.end===!1||g===r.stdout||g===r.stderr?_t:at;function J(It,yt){$("onunpipe"),It===k&&yt&&yt.hasUnpiped===!1&&(yt.hasUnpiped=!0,$("cleanup"),g.removeListener("close",kt),g.removeListener("finish",Mt),ot&&g.removeListener("drain",ot),g.removeListener("error",Ot),g.removeListener("unpipe",J),k.removeListener("end",at),k.removeListener("end",_t),k.removeListener("data",wt),vt=!0,ot&&M.awaitDrainWriters&&(!g._writableState||g._writableState.needDrain)&&ot())}function at(){$("onend"),g.end()}M.endEmitted?r.nextTick(W):k.once("end",W),g.on("unpipe",J);let ot,vt=!1;function bt(){vt||(M.pipes.length===1&&M.pipes[0]===g?($("false write response, pause",0),M.awaitDrainWriters=g,M.multiAwaitDrain=!1):M.pipes.length>1&&M.pipes.includes(g)&&($("false write response, pause",M.awaitDrainWriters.size),M.awaitDrainWriters.add(g)),k.pause()),ot||(ot=function(It,yt){return function(){let xt=It._readableState;xt.awaitDrainWriters===yt?($("pipeOnDrain",1),xt.awaitDrainWriters=null):xt.multiAwaitDrain&&($("pipeOnDrain",xt.awaitDrainWriters.size),xt.awaitDrainWriters.delete(yt)),(!xt.awaitDrainWriters||xt.awaitDrainWriters.size===0)&&It.listenerCount("data")&&It.resume()}}(k,g),g.on("drain",ot))}function wt(It){$("ondata");let yt=g.write(It);$("dest.write",yt),yt===!1&&bt()}function Ot(It){if($("onerror",It),_t(),g.removeListener("error",Ot),g.listenerCount("error")===0){let yt=g._writableState||g._readableState;yt&&!yt.errorEmitted?G(g,It):g.emit("error",It)}}function kt(){g.removeListener("finish",Mt),_t()}function Mt(){$("onfinish"),g.removeListener("close",kt),_t()}function _t(){$("unpipe"),k.unpipe(g)}return k.on("data",wt),S(g,"error",Ot),g.once("close",kt),g.once("finish",Mt),g.emit("pipe",k),g.writableNeedDrain===!0?M.flowing&&bt():M.flowing||($("pipe resume"),k.resume()),g},q.prototype.unpipe=function(g){let v=this._readableState;if(v.pipes.length===0)return this;if(!g){let M=v.pipes;v.pipes=[],this.pause();for(let W=0;W0,M.flowing!==!1&&this.resume()):g==="readable"&&!M.endEmitted&&!M.readableListening&&(M.readableListening=M.needReadable=!0,M.flowing=!1,M.emittedReadable=!1,$("on readable",M.length,M.reading),M.length?pt(this):M.reading||r.nextTick(L,this)),k},q.prototype.addListener=q.prototype.on,q.prototype.removeListener=function(g,v){let k=_.prototype.removeListener.call(this,g,v);return g==="readable"&&r.nextTick(dt,this),k},q.prototype.off=q.prototype.removeListener,q.prototype.removeAllListeners=function(g){let v=_.prototype.removeAllListeners.apply(this,arguments);return(g==="readable"||g===void 0)&&r.nextTick(dt,this),v},q.prototype.resume=function(){let g=this._readableState;return g.flowing||($("resume"),g.flowing=!g.readableListening,function(v,k){k.resumeScheduled||(k.resumeScheduled=!0,r.nextTick(A,v,k))}(this,g)),g[N]=!1,this},q.prototype.pause=function(){return $("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&($("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[N]=!0,this},q.prototype.wrap=function(g){let v=!1;g.on("data",M=>{!this.push(M)&&g.pause&&(v=!0,g.pause())}),g.on("end",()=>{this.push(null)}),g.on("error",M=>{G(this,M)}),g.on("close",()=>{this.destroy()}),g.on("destroy",()=>{this.destroy()}),this._read=()=>{v&&g.resume&&(v=!1,g.resume())};let k=a(g);for(let M=1;M{ct(),ft(),ht();var r=dn(),{ArrayPrototypeSlice:n,Error:l,FunctionPrototypeSymbolHasInstance:o,ObjectDefineProperty:s,ObjectDefineProperties:i,ObjectSetPrototypeOf:a,StringPrototypeToLowerCase:u,Symbol:c,SymbolHasInstance:d}=te();e.exports=V,V.WritableState=j;var{EventEmitter:f}=(Un(),Dt(gn)),m=Ml().Stream,{Buffer:b}=(oe(),Dt(ie)),_=jn(),{addAbortSignal:S}=Po(),{getHighWaterMark:U,getDefaultHighWaterMark:D}=Ll(),{ERR_INVALID_ARG_TYPE:K,ERR_METHOD_NOT_IMPLEMENTED:$,ERR_MULTIPLE_CALLBACK:Y,ERR_STREAM_CANNOT_PIPE:B,ERR_STREAM_DESTROYED:I,ERR_STREAM_ALREADY_FINISHED:E,ERR_STREAM_NULL_VALUES:w,ERR_STREAM_WRITE_AFTER_END:P,ERR_UNKNOWN_ENCODING:R}=ve().codes,{errorOrDestroy:et}=_;function st(){}a(V.prototype,m.prototype),a(V,m);var X=c("kOnFinished");function j(A,F,h){typeof h!="boolean"&&(h=F instanceof fr()),this.objectMode=!(!A||!A.objectMode),h&&(this.objectMode=this.objectMode||!(!A||!A.writableObjectMode)),this.highWaterMark=A?U(this,A,"writableHighWaterMark",h):D(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let p=!(!A||A.decodeStrings!==!1);this.decodeStrings=!p,this.defaultEncoding=A&&A.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=T.bind(void 0,F),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,N(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!A||A.emitClose!==!1,this.autoDestroy=!A||A.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[X]=[]}function N(A){A.buffered=[],A.bufferedIndex=0,A.allBuffers=!0,A.allNoop=!0}function V(A){let F=this instanceof fr();if(!F&&!o(V,this))return new V(A);this._writableState=new j(A,this,F),A&&(typeof A.write=="function"&&(this._write=A.write),typeof A.writev=="function"&&(this._writev=A.writev),typeof A.destroy=="function"&&(this._destroy=A.destroy),typeof A.final=="function"&&(this._final=A.final),typeof A.construct=="function"&&(this._construct=A.construct),A.signal&&S(A.signal,this)),m.call(this,A),_.construct(this,()=>{let h=this._writableState;h.writing||lt(this,h),H(this,h)})}function nt(A,F,h,p){let y,O=A._writableState;if(typeof h=="function")p=h,h=O.defaultEncoding;else{if(h){if(h!=="buffer"&&!b.isEncoding(h))throw new R(h)}else h=O.defaultEncoding;typeof p!="function"&&(p=st)}if(F===null)throw new w;if(!O.objectMode)if(typeof F=="string")O.decodeStrings!==!1&&(F=b.from(F,h),h="buffer");else if(F instanceof b)h="buffer";else{if(!m._isUint8Array(F))throw new K("chunk",["string","Buffer","Uint8Array"],F);F=m._uint8ArrayToBuffer(F),h="buffer"}return O.ending?y=new P:O.destroyed&&(y=new I("write")),y?(r.nextTick(p,y),et(A,y,!0),y):(O.pendingcb++,function(C,x,g,v,k){let M=x.objectMode?1:g.length;x.length+=M;let W=x.lengthh.bufferedIndex&<(A,h),p?h.afterWriteTickInfo!==null&&h.afterWriteTickInfo.cb===y?h.afterWriteTickInfo.count++:(h.afterWriteTickInfo={count:1,cb:y,stream:A,state:h},r.nextTick(q,h.afterWriteTickInfo)):tt(A,h,1,y))):et(A,new Y)}function q({stream:A,state:F,count:h,cb:p}){return F.afterWriteTickInfo=null,tt(A,F,h,p)}function tt(A,F,h,p){for(!F.ending&&!A.destroyed&&F.length===0&&F.needDrain&&(F.needDrain=!1,A.emit("drain"));h-- >0;)F.pendingcb--,p();F.destroyed&&it(F),H(A,F)}function it(A){if(A.writing)return;for(let y=A.bufferedIndex;y1&&A._writev){F.pendingcb-=O-1;let x=F.allNoop?st:v=>{for(let k=C;k256?(h.splice(0,C),F.bufferedIndex=0):F.bufferedIndex=C}F.bufferProcessing=!1}function ut(A){return A.ending&&!A.destroyed&&A.constructed&&A.length===0&&!A.errored&&A.buffered.length===0&&!A.finished&&!A.writing&&!A.errorEmitted&&!A.closeEmitted}function pt(A,F){!F.prefinished&&!F.finalCalled&&(typeof A._final!="function"||F.destroyed?(F.prefinished=!0,A.emit("prefinish")):(F.finalCalled=!0,function(h,p){let y=!1;function O(C){if(y)et(h,C??Y());else if(y=!0,p.pendingcb--,C){let x=p[X].splice(0);for(let g=0;g{ut(y)?rt(p,y):y.pendingcb--},A,F)):ut(F)&&(F.pendingcb++,rt(A,F))))}function rt(A,F){F.pendingcb--,F.finished=!0;let h=F[X].splice(0);for(let p=0;p{ct(),ft(),ht();var r=dn(),n=(oe(),Dt(ie)),{isReadable:l,isWritable:o,isIterable:s,isNodeStream:i,isReadableNodeStream:a,isWritableNodeStream:u,isDuplexNodeStream:c}=mr(),d=Fr(),{AbortError:f,codes:{ERR_INVALID_ARG_TYPE:m,ERR_INVALID_RETURN_VALUE:b}}=ve(),{destroyer:_}=jn(),S=fr(),U=Mo(),{createDeferredPromise:D}=hr(),K=yp(),$=globalThis.Blob||n.Blob,Y=typeof $<"u"?function(P){return P instanceof $}:function(P){return!1},B=globalThis.AbortController||Bl().AbortController,{FunctionPrototypeCall:I}=te(),E=class extends S{constructor(P){super(P),(P==null?void 0:P.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(P==null?void 0:P.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};function w(P){let R,et,st,X,j,N=P.readable&&typeof P.readable.read!="function"?U.wrap(P.readable):P.readable,V=P.writable,nt=!!l(N),Q=!!o(V);function G(T){let q=X;X=null,q?q(T):T&&j.destroy(T)}return j=new E({readableObjectMode:!(N==null||!N.readableObjectMode),writableObjectMode:!(V==null||!V.writableObjectMode),readable:nt,writable:Q}),Q&&(d(V,T=>{Q=!1,T&&_(N,T),G(T)}),j._write=function(T,q,tt){V.write(T,q)?tt():R=tt},j._final=function(T){V.end(),et=T},V.on("drain",function(){if(R){let T=R;R=null,T()}}),V.on("finish",function(){if(et){let T=et;et=null,T()}})),nt&&(d(N,T=>{nt=!1,T&&_(N,T),G(T)}),N.on("readable",function(){if(st){let T=st;st=null,T()}}),N.on("end",function(){j.push(null)}),j._read=function(){for(;;){let T=N.read();if(T===null)return void(st=j._read);if(!j.push(T))return}}),j._destroy=function(T,q){!T&&X!==null&&(T=new f),st=null,R=null,et=null,X===null?q(T):(X=q,_(V,T),_(N,T))},j}e.exports=function P(R,et){if(c(R))return R;if(a(R))return w({readable:R});if(u(R))return w({writable:R});if(i(R))return w({writable:!1,readable:!1});if(typeof R=="function"){let{value:X,write:j,final:N,destroy:V}=function(Q){let{promise:G,resolve:T}=D(),q=new B,tt=q.signal;return{value:Q(async function*(){for(;;){let it=G;G=null;let{chunk:lt,done:ut,cb:pt}=await it;if(r.nextTick(pt),ut)return;if(tt.aborted)throw new f(void 0,{cause:tt.reason});({promise:G,resolve:T}=D()),yield lt}}(),{signal:tt}),write(it,lt,ut){let pt=T;T=null,pt({chunk:it,done:!1,cb:ut})},final(it){let lt=T;T=null,lt({done:!0,cb:it})},destroy(it,lt){q.abort(),lt(it)}}}(R);if(s(X))return K(E,X,{objectMode:!0,write:j,final:N,destroy:V});let nt=X==null?void 0:X.then;if(typeof nt=="function"){let Q,G=I(nt,X,T=>{if(T!=null)throw new b("nully","body",T)},T=>{_(Q,T)});return Q=new E({objectMode:!0,readable:!1,write:j,final(T){N(async()=>{try{await G,r.nextTick(T,null)}catch(q){r.nextTick(T,q)}})},destroy:V})}throw new b("Iterable, AsyncIterable or AsyncFunction",et,X)}if(Y(R))return P(R.arrayBuffer());if(s(R))return K(E,R,{objectMode:!0,writable:!1});if(typeof(R==null?void 0:R.writable)=="object"||typeof(R==null?void 0:R.readable)=="object")return w({readable:R!=null&&R.readable?a(R==null?void 0:R.readable)?R==null?void 0:R.readable:P(R.readable):void 0,writable:R!=null&&R.writable?u(R==null?void 0:R.writable)?R==null?void 0:R.writable:P(R.writable):void 0});let st=R==null?void 0:R.then;if(typeof st=="function"){let X;return I(st,R,j=>{j!=null&&X.push(j),X.push(null)},j=>{_(X,j)}),X=new E({objectMode:!0,writable:!1,read(){}})}throw new m(et,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],R)}}),fr=mt((t,e)=>{ct(),ft(),ht();var{ObjectDefineProperties:r,ObjectGetOwnPropertyDescriptor:n,ObjectKeys:l,ObjectSetPrototypeOf:o}=te();e.exports=c;var s,i,a=Mo(),u=bp();o(c.prototype,a.prototype),o(c,a);{let f=l(u.prototype);for(let m=0;m{ct(),ft(),ht();var{ObjectSetPrototypeOf:r,Symbol:n}=te();e.exports=a;var{ERR_METHOD_NOT_IMPLEMENTED:l}=ve().codes,o=fr(),{getHighWaterMark:s}=Ll();r(a.prototype,o.prototype),r(a,o);var i=n("kCallback");function a(d){if(!(this instanceof a))return new a(d);let f=d?s(this,d,"readableHighWaterMark",!0):null;f===0&&(d={...d,highWaterMark:null,readableHighWaterMark:f,writableHighWaterMark:d.writableHighWaterMark||0}),o.call(this,d),this._readableState.sync=!1,this[i]=null,d&&(typeof d.transform=="function"&&(this._transform=d.transform),typeof d.flush=="function"&&(this._flush=d.flush)),this.on("prefinish",c)}function u(d){typeof this._flush!="function"||this.destroyed?(this.push(null),d&&d()):this._flush((f,m)=>{f?d?d(f):this.destroy(f):(m!=null&&this.push(m),this.push(null),d&&d())})}function c(){this._final!==u&&u.call(this)}a.prototype._final=u,a.prototype._transform=function(d,f,m){throw new l("_transform()")},a.prototype._write=function(d,f,m){let b=this._readableState,_=this._writableState,S=b.length;this._transform(d,f,(U,D)=>{U?m(U):(D!=null&&this.push(D),_.ended||S===b.length||b.length{ct(),ft(),ht();var{ObjectSetPrototypeOf:r}=te();e.exports=l;var n=vp();function l(o){if(!(this instanceof l))return new l(o);n.call(this,o)}r(l.prototype,n.prototype),r(l,n),l.prototype._transform=function(o,s,i){i(null,o)}}),Nl=mt((t,e)=>{ct(),ft(),ht();var r,n,l=dn(),{ArrayIsArray:o,Promise:s,SymbolAsyncIterator:i}=te(),a=Fr(),{once:u}=hr(),c=jn(),d=fr(),{aggregateTwoErrors:f,codes:{ERR_INVALID_ARG_TYPE:m,ERR_INVALID_RETURN_VALUE:b,ERR_MISSING_ARGS:_,ERR_STREAM_DESTROYED:S,ERR_STREAM_PREMATURE_CLOSE:U},AbortError:D}=ve(),{validateFunction:K,validateAbortSignal:$}=Ro(),{isIterable:Y,isReadable:B,isReadableNodeStream:I,isNodeStream:E,isTransformStream:w,isWebStream:P,isReadableStream:R,isReadableEnded:et}=mr(),st=globalThis.AbortController||Bl().AbortController;function X(G,T,q){let tt=!1;return G.on("close",()=>{tt=!0}),{destroy:it=>{tt||(tt=!0,c.destroyer(G,it||new S("pipe")))},cleanup:a(G,{readable:T,writable:q},it=>{tt=!it})}}function j(G){if(Y(G))return G;if(I(G))return async function*(T){n||(n=Mo()),yield*n.prototype[i].call(T)}(G);throw new m("val",["Readable","Iterable","AsyncIterable"],G)}async function N(G,T,q,{end:tt}){let it,lt=null,ut=rt=>{if(rt&&(it=rt),lt){let Z=lt;lt=null,Z()}},pt=()=>new s((rt,Z)=>{it?Z(it):lt=()=>{it?Z(it):rt()}});T.on("drain",ut);let H=a(T,{readable:!1},ut);try{T.writableNeedDrain&&await pt();for await(let rt of G)T.write(rt)||await pt();tt&&T.end(),await pt(),q()}catch(rt){q(it!==rt?f(it,rt):rt)}finally{H(),T.off("drain",ut)}}async function V(G,T,q,{end:tt}){w(T)&&(T=T.writable);let it=T.getWriter();try{for await(let lt of G)await it.ready,it.write(lt).catch(()=>{});await it.ready,tt&&await it.close(),q()}catch(lt){try{await it.abort(lt),q(lt)}catch(ut){q(ut)}}}function nt(G,T,q){if(G.length===1&&o(G[0])&&(G=G[0]),G.length<2)throw new _("streams");let tt=new st,it=tt.signal,lt=q==null?void 0:q.signal,ut=[];function pt(){F(new D)}$(lt,"options.signal"),lt==null||lt.addEventListener("abort",pt);let H,rt,Z,dt=[],L=0;function A(y){F(y,--L==0)}function F(y,O){if(y&&(!H||H.code==="ERR_STREAM_PREMATURE_CLOSE")&&(H=y),H||O){for(;dt.length;)dt.shift()(H);lt==null||lt.removeEventListener("abort",pt),tt.abort(),O&&(H||ut.forEach(C=>C()),l.nextTick(T,H,rt))}}for(let y=0;y0,g=C||(q==null?void 0:q.end)!==!1,v=y===G.length-1;if(E(O)){let k=function(M){M&&M.name!=="AbortError"&&M.code!=="ERR_STREAM_PREMATURE_CLOSE"&&A(M)};if(g){let{destroy:M,cleanup:W}=X(O,C,x);dt.push(M),B(O)&&v&&ut.push(W)}O.on("error",k),B(O)&&v&&ut.push(()=>{O.removeListener("error",k)})}if(y===0)if(typeof O=="function"){if(Z=O({signal:it}),!Y(Z))throw new b("Iterable, AsyncIterable or Stream","source",Z)}else Z=Y(O)||I(O)||w(O)?O:d.from(O);else if(typeof O=="function"){var h;if(w(Z)?Z=j((h=Z)===null||h===void 0?void 0:h.readable):Z=j(Z),Z=O(Z,{signal:it}),C){if(!Y(Z,!0))throw new b("AsyncIterable",`transform[${y-1}]`,Z)}else{var p;r||(r=wp());let k=new r({objectMode:!0}),M=(p=Z)===null||p===void 0?void 0:p.then;if(typeof M=="function")L++,M.call(Z,at=>{rt=at,at!=null&&k.write(at),g&&k.end(),l.nextTick(A)},at=>{k.destroy(at),l.nextTick(A,at)});else if(Y(Z,!0))L++,N(Z,k,A,{end:g});else{if(!R(Z)&&!w(Z))throw new b("AsyncIterable or Promise","destination",Z);{let at=Z.readable||Z;L++,N(at,k,A,{end:g})}}Z=k;let{destroy:W,cleanup:J}=X(Z,!1,!0);dt.push(W),v&&ut.push(J)}}else if(E(O)){if(I(Z)){L+=2;let k=Q(Z,O,A,{end:g});B(O)&&v&&ut.push(k)}else if(w(Z)||R(Z)){let k=Z.readable||Z;L++,N(k,O,A,{end:g})}else{if(!Y(Z))throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);L++,N(Z,O,A,{end:g})}Z=O}else if(P(O)){if(I(Z))L++,V(j(Z),O,A,{end:g});else if(R(Z)||Y(Z))L++,V(Z,O,A,{end:g});else{if(!w(Z))throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);L++,V(Z.readable,O,A,{end:g})}Z=O}else Z=d.from(O)}return(it!=null&&it.aborted||lt!=null&<.aborted)&&l.nextTick(pt),Z}function Q(G,T,q,{end:tt}){let it=!1;if(T.on("close",()=>{it||q(new U)}),G.pipe(T,{end:!1}),tt){let lt=function(){it=!0,T.end()};et(G)?l.nextTick(lt):G.once("end",lt)}else q();return a(G,{readable:!0,writable:!1},lt=>{let ut=G._readableState;lt&<.code==="ERR_STREAM_PREMATURE_CLOSE"&&ut&&ut.ended&&!ut.errored&&!ut.errorEmitted?G.once("end",q).once("error",q):q(lt)}),a(T,{readable:!1,writable:!0},q)}e.exports={pipelineImpl:nt,pipeline:function(...G){return nt(G,u(function(T){return K(T[T.length-1],"streams[stream.length - 1]"),T.pop()}(G)))}}}),_p=mt((t,e)=>{ct(),ft(),ht();var{pipeline:r}=Nl(),n=fr(),{destroyer:l}=jn(),{isNodeStream:o,isReadable:s,isWritable:i,isWebStream:a,isTransformStream:u,isWritableStream:c,isReadableStream:d}=mr(),{AbortError:f,codes:{ERR_INVALID_ARG_VALUE:m,ERR_MISSING_ARGS:b}}=ve(),_=Fr();e.exports=function(...S){if(S.length===0)throw new b("streams");if(S.length===1)return n.from(S[0]);let U,D,K,$,Y,B=[...S];if(typeof S[0]=="function"&&(S[0]=n.from(S[0])),typeof S[S.length-1]=="function"){let R=S.length-1;S[R]=n.from(S[R])}for(let R=0;R0&&!(i(S[R])||c(S[R])||u(S[R])))throw new m(`streams[${R}]`,B[R],"must be writable")}let I=S[0],E=r(S,function(R){let et=$;$=null,et?et(R):R?Y.destroy(R):!P&&!w&&Y.destroy()}),w=!!(i(I)||c(I)||u(I)),P=!!(s(E)||d(E)||u(E));if(Y=new n({writableObjectMode:!(I==null||!I.writableObjectMode),readableObjectMode:!(E==null||!E.writableObjectMode),writable:w,readable:P}),w){if(o(I))Y._write=function(et,st,X){I.write(et,st)?X():U=X},Y._final=function(et){I.end(),D=et},I.on("drain",function(){if(U){let et=U;U=null,et()}});else if(a(I)){let et=(u(I)?I.writable:I).getWriter();Y._write=async function(st,X,j){try{await et.ready,et.write(st).catch(()=>{}),j()}catch(N){j(N)}},Y._final=async function(st){try{await et.ready,et.close().catch(()=>{}),D=st}catch(X){st(X)}}}let R=u(E)?E.readable:E;_(R,()=>{if(D){let et=D;D=null,et()}})}if(P){if(o(E))E.on("readable",function(){if(K){let R=K;K=null,R()}}),E.on("end",function(){Y.push(null)}),Y._read=function(){for(;;){let R=E.read();if(R===null)return void(K=Y._read);if(!Y.push(R))return}};else if(a(E)){let R=(u(E)?E.readable:E).getReader();Y._read=async function(){for(;;)try{let{value:et,done:st}=await R.read();if(!Y.push(et))return;if(st)return void Y.push(null)}catch{return}}}}return Y._destroy=function(R,et){!R&&$!==null&&(R=new f),K=null,U=null,D=null,$===null?et(R):($=et,o(E)&&l(E,R))},Y}}),w0=mt((t,e)=>{ct(),ft(),ht();var r=globalThis.AbortController||Bl().AbortController,{codes:{ERR_INVALID_ARG_VALUE:n,ERR_INVALID_ARG_TYPE:l,ERR_MISSING_ARGS:o,ERR_OUT_OF_RANGE:s},AbortError:i}=ve(),{validateAbortSignal:a,validateInteger:u,validateObject:c}=Ro(),d=te().Symbol("kWeak"),{finished:f}=Fr(),m=_p(),{addAbortSignalNoValidate:b}=Po(),{isWritable:_,isNodeStream:S}=mr(),{ArrayPrototypePush:U,MathFloor:D,Number:K,NumberIsNaN:$,Promise:Y,PromiseReject:B,PromisePrototypeThen:I,Symbol:E}=te(),w=E("kEmpty"),P=E("kEof");function R(N,V){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);V!=null&&c(V,"options"),(V==null?void 0:V.signal)!=null&&a(V.signal,"options.signal");let nt=1;return(V==null?void 0:V.concurrency)!=null&&(nt=D(V.concurrency)),u(nt,"concurrency",1),(async function*(){var Q,G;let T=new r,q=this,tt=[],it=T.signal,lt={signal:it},ut=()=>T.abort();V!=null&&(Q=V.signal)!==null&&Q!==void 0&&Q.aborted&&ut(),V==null||(G=V.signal)===null||G===void 0||G.addEventListener("abort",ut);let pt,H,rt=!1;function Z(){rt=!0}(async function(){try{for await(let A of q){var dt;if(rt)return;if(it.aborted)throw new i;try{A=N(A,lt)}catch(F){A=B(F)}A!==w&&(typeof((dt=A)===null||dt===void 0?void 0:dt.catch)=="function"&&A.catch(Z),tt.push(A),pt&&(pt(),pt=null),!rt&&tt.length&&tt.length>=nt&&await new Y(F=>{H=F}))}tt.push(P)}catch(A){let F=B(A);I(F,void 0,Z),tt.push(F)}finally{var L;rt=!0,pt&&(pt(),pt=null),V==null||(L=V.signal)===null||L===void 0||L.removeEventListener("abort",ut)}})();try{for(;;){for(;tt.length>0;){let dt=await tt[0];if(dt===P)return;if(it.aborted)throw new i;dt!==w&&(yield dt),tt.shift(),H&&(H(),H=null)}await new Y(dt=>{pt=dt})}}finally{T.abort(),rt=!0,H&&(H(),H=null)}}).call(this)}async function et(N,V=void 0){for await(let nt of st.call(this,N,V))return!0;return!1}function st(N,V){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);return R.call(this,async function(nt,Q){return await N(nt,Q)?nt:w},V)}var X=class extends o{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};function j(N){if(N=K(N),$(N))return 0;if(N<0)throw new s("number",">= 0",N);return N}e.exports.streamReturningOperators={asIndexedPairs:function(N=void 0){return N!=null&&c(N,"options"),(N==null?void 0:N.signal)!=null&&a(N.signal,"options.signal"),(async function*(){let V=0;for await(let Q of this){var nt;if(N!=null&&(nt=N.signal)!==null&&nt!==void 0&&nt.aborted)throw new i({cause:N.signal.reason});yield[V++,Q]}}).call(this)},drop:function(N,V=void 0){return V!=null&&c(V,"options"),(V==null?void 0:V.signal)!=null&&a(V.signal,"options.signal"),N=j(N),(async function*(){var nt;if(V!=null&&(nt=V.signal)!==null&&nt!==void 0&&nt.aborted)throw new i;for await(let G of this){var Q;if(V!=null&&(Q=V.signal)!==null&&Q!==void 0&&Q.aborted)throw new i;N--<=0&&(yield G)}}).call(this)},filter:st,flatMap:function(N,V){let nt=R.call(this,N,V);return(async function*(){for await(let Q of nt)yield*Q}).call(this)},map:R,take:function(N,V=void 0){return V!=null&&c(V,"options"),(V==null?void 0:V.signal)!=null&&a(V.signal,"options.signal"),N=j(N),(async function*(){var nt;if(V!=null&&(nt=V.signal)!==null&&nt!==void 0&&nt.aborted)throw new i;for await(let G of this){var Q;if(V!=null&&(Q=V.signal)!==null&&Q!==void 0&&Q.aborted)throw new i;if(!(N-- >0))return;yield G}}).call(this)},compose:function(N,V){if(V!=null&&c(V,"options"),(V==null?void 0:V.signal)!=null&&a(V.signal,"options.signal"),S(N)&&!_(N))throw new n("stream",N,"must be writable");let nt=m(this,N);return V!=null&&V.signal&&b(V.signal,nt),nt}},e.exports.promiseReturningOperators={every:async function(N,V=void 0){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);return!await et.call(this,async(...nt)=>!await N(...nt),V)},forEach:async function(N,V){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);for await(let nt of R.call(this,async function(Q,G){return await N(Q,G),w},V));},reduce:async function(N,V,nt){var Q;if(typeof N!="function")throw new l("reducer",["Function","AsyncFunction"],N);nt!=null&&c(nt,"options"),(nt==null?void 0:nt.signal)!=null&&a(nt.signal,"options.signal");let G=arguments.length>1;if(nt!=null&&(Q=nt.signal)!==null&&Q!==void 0&&Q.aborted){let lt=new i(void 0,{cause:nt.signal.reason});throw this.once("error",()=>{}),await f(this.destroy(lt)),lt}let T=new r,q=T.signal;if(nt!=null&&nt.signal){let lt={once:!0,[d]:this};nt.signal.addEventListener("abort",()=>T.abort(),lt)}let tt=!1;try{for await(let lt of this){var it;if(tt=!0,nt!=null&&(it=nt.signal)!==null&&it!==void 0&&it.aborted)throw new i;G?V=await N(V,lt,{signal:q}):(V=lt,G=!0)}if(!tt&&!G)throw new X}finally{T.abort()}return V},toArray:async function(N){N!=null&&c(N,"options"),(N==null?void 0:N.signal)!=null&&a(N.signal,"options.signal");let V=[];for await(let Q of this){var nt;if(N!=null&&(nt=N.signal)!==null&&nt!==void 0&&nt.aborted)throw new i(void 0,{cause:N.signal.reason});U(V,Q)}return V},some:et,find:async function(N,V){for await(let nt of st.call(this,N,V))return nt}}}),Ep=mt((t,e)=>{ct(),ft(),ht();var{ArrayPrototypePop:r,Promise:n}=te(),{isIterable:l,isNodeStream:o,isWebStream:s}=mr(),{pipelineImpl:i}=Nl(),{finished:a}=Fr();Sp(),e.exports={finished:a,pipeline:function(...u){return new n((c,d)=>{let f,m,b=u[u.length-1];if(b&&typeof b=="object"&&!o(b)&&!l(b)&&!s(b)){let _=r(u);f=_.signal,m=_.end}i(u,(_,S)=>{_?d(_):c(S)},{signal:f,end:m})})}}}),Sp=mt((t,e)=>{ct(),ft(),ht();var{Buffer:r}=(oe(),Dt(ie)),{ObjectDefineProperty:n,ObjectKeys:l,ReflectApply:o}=te(),{promisify:{custom:s}}=hr(),{streamReturningOperators:i,promiseReturningOperators:a}=w0(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=ve(),c=_p(),{pipeline:d}=Nl(),{destroyer:f}=jn(),m=Fr(),b=Ep(),_=mr(),S=e.exports=Ml().Stream;S.isDisturbed=_.isDisturbed,S.isErrored=_.isErrored,S.isReadable=_.isReadable,S.Readable=Mo();for(let D of l(i)){let K=function(...Y){if(new.target)throw u();return S.Readable.from(o($,this,Y))},$=i[D];n(K,"name",{__proto__:null,value:$.name}),n(K,"length",{__proto__:null,value:$.length}),n(S.Readable.prototype,D,{__proto__:null,value:K,enumerable:!1,configurable:!0,writable:!0})}for(let D of l(a)){let K=function(...Y){if(new.target)throw u();return o($,this,Y)},$=a[D];n(K,"name",{__proto__:null,value:$.name}),n(K,"length",{__proto__:null,value:$.length}),n(S.Readable.prototype,D,{__proto__:null,value:K,enumerable:!1,configurable:!0,writable:!0})}S.Writable=bp(),S.Duplex=fr(),S.Transform=vp(),S.PassThrough=wp(),S.pipeline=d;var{addAbortSignal:U}=Po();S.addAbortSignal=U,S.finished=m,S.destroy=f,S.compose=c,n(S,"promises",{__proto__:null,configurable:!0,enumerable:!0,get:()=>b}),n(d,s,{__proto__:null,enumerable:!0,get:()=>b.pipeline}),n(m,s,{__proto__:null,enumerable:!0,get:()=>b.finished}),S.Stream=S,S._isUint8Array=function(D){return D instanceof Uint8Array},S._uint8ArrayToBuffer=function(D){return r.from(D.buffer,D.byteOffset,D.byteLength)}}),mn=mt((t,e)=>{ct(),ft(),ht();var r=Sp(),n=Ep(),l=r.Readable.destroy;e.exports=r.Readable,e.exports._uint8ArrayToBuffer=r._uint8ArrayToBuffer,e.exports._isUint8Array=r._isUint8Array,e.exports.isDisturbed=r.isDisturbed,e.exports.isErrored=r.isErrored,e.exports.isReadable=r.isReadable,e.exports.Readable=r.Readable,e.exports.Writable=r.Writable,e.exports.Duplex=r.Duplex,e.exports.Transform=r.Transform,e.exports.PassThrough=r.PassThrough,e.exports.addAbortSignal=r.addAbortSignal,e.exports.finished=r.finished,e.exports.destroy=r.destroy,e.exports.destroy=l,e.exports.pipeline=r.pipeline,e.exports.compose=r.compose,Object.defineProperty(r,"promises",{configurable:!0,enumerable:!0,get:()=>n}),e.exports.Stream=r.Stream,e.exports.default=e.exports}),_0=mt((t,e)=>{ct(),ft(),ht(),typeof Object.create=="function"?e.exports=function(r,n){n&&(r.super_=n,r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(r,n){if(n){r.super_=n;var l=function(){};l.prototype=n.prototype,r.prototype=new l,r.prototype.constructor=r}}}),E0=mt((t,e)=>{ct(),ft(),ht();var{Buffer:r}=(oe(),Dt(ie)),n=Symbol.for("BufferList");function l(o){if(!(this instanceof l))return new l(o);l._init.call(this,o)}l._init=function(o){Object.defineProperty(this,n,{value:!0}),this._bufs=[],this.length=0,o&&this.append(o)},l.prototype._new=function(o){return new l(o)},l.prototype._offset=function(o){if(o===0)return[0,0];let s=0;for(let i=0;ithis.length||o<0)return;let s=this._offset(o);return this._bufs[s[0]][s[1]]},l.prototype.slice=function(o,s){return typeof o=="number"&&o<0&&(o+=this.length),typeof s=="number"&&s<0&&(s+=this.length),this.copy(null,0,o,s)},l.prototype.copy=function(o,s,i,a){if((typeof i!="number"||i<0)&&(i=0),(typeof a!="number"||a>this.length)&&(a=this.length),i>=this.length||a<=0)return o||r.alloc(0);let u=!!o,c=this._offset(i),d=a-i,f=d,m=u&&s||0,b=c[1];if(i===0&&a===this.length){if(!u)return this._bufs.length===1?this._bufs[0]:r.concat(this._bufs,this.length);for(let _=0;_S)){this._bufs[_].copy(o,m,b,b+f),m+=S;break}this._bufs[_].copy(o,m,b),m+=S,f-=S,b&&(b=0)}return o.length>m?o.slice(0,m):o},l.prototype.shallowSlice=function(o,s){if(o=o||0,s=typeof s!="number"?this.length:s,o<0&&(o+=this.length),s<0&&(s+=this.length),o===s)return this._new();let i=this._offset(o),a=this._offset(s),u=this._bufs.slice(i[0],a[0]+1);return a[1]===0?u.pop():u[u.length-1]=u[u.length-1].slice(0,a[1]),i[1]!==0&&(u[0]=u[0].slice(i[1])),this._new(u)},l.prototype.toString=function(o,s,i){return this.slice(s,i).toString(o)},l.prototype.consume=function(o){if(o=Math.trunc(o),Number.isNaN(o)||o<=0)return this;for(;this._bufs.length;){if(!(o>=this._bufs[0].length)){this._bufs[0]=this._bufs[0].slice(o),this.length-=o;break}o-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift()}return this},l.prototype.duplicate=function(){let o=this._new();for(let s=0;sthis.length?this.length:s;let a=this._offset(s),u=a[0],c=a[1];for(;u=o.length){let f=d.indexOf(o,c);if(f!==-1)return this._reverseOffset([u,f]);c=d.length-o.length+1}else{let f=this._reverseOffset([u,c]);if(this._match(f,o))return f;c++}c=0}return-1},l.prototype._match=function(o,s){if(this.length-o{ct(),ft(),ht();var r=mn().Duplex,n=_0(),l=E0();function o(s){if(!(this instanceof o))return new o(s);if(typeof s=="function"){this._callback=s;let i=(function(a){this._callback&&(this._callback(a),this._callback=null)}).bind(this);this.on("pipe",function(a){a.on("error",i)}),this.on("unpipe",function(a){a.removeListener("error",i)}),s=null}l._init.call(this,s),r.call(this)}n(o,r),Object.assign(o.prototype,l.prototype),o.prototype._new=function(s){return new o(s)},o.prototype._write=function(s,i,a){this._appendBuffer(s),typeof a=="function"&&a()},o.prototype._read=function(s){if(!this.length)return this.push(null);s=Math.min(s,this.length),this.push(this.slice(0,s)),this.consume(s)},o.prototype.end=function(s){r.prototype.end.call(this,s),this._callback&&(this._callback(null,this.slice()),this._callback=null)},o.prototype._destroy=function(s,i){this._bufs.length=0,this.length=0,i(s)},o.prototype._isBufferList=function(s){return s instanceof o||s instanceof l||o.isBufferList(s)},o.isBufferList=l.isBufferList,e.exports=o,e.exports.BufferListStream=o,e.exports.BufferList=l}),A0=mt((t,e)=>{ct(),ft(),ht(),e.exports=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}}}),Ap=mt((t,e)=>{ct(),ft(),ht();var r=e.exports,{Buffer:n}=(oe(),Dt(ie));r.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},r.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},r.requiredHeaderFlagsErrors={};for(let o in r.requiredHeaderFlags){let s=r.requiredHeaderFlags[o];r.requiredHeaderFlagsErrors[o]="Invalid header flag bits, must be 0x"+s.toString(16)+" for "+r.types[o]+" packet"}r.codes={};for(let o in r.types){let s=r.types[o];r.codes[s]=o}r.CMD_SHIFT=4,r.CMD_MASK=240,r.DUP_MASK=8,r.QOS_MASK=3,r.QOS_SHIFT=1,r.RETAIN_MASK=1,r.VARBYTEINT_MASK=127,r.VARBYTEINT_FIN_MASK=128,r.VARBYTEINT_MAX=268435455,r.SESSIONPRESENT_MASK=1,r.SESSIONPRESENT_HEADER=n.from([r.SESSIONPRESENT_MASK]),r.CONNACK_HEADER=n.from([r.codes.connack<[0,1].map(i=>[0,1].map(a=>{let u=n.alloc(1);return u.writeUInt8(r.codes[o]<n.from([o])),r.EMPTY={pingreq:n.from([r.codes.pingreq<<4,0]),pingresp:n.from([r.codes.pingresp<<4,0]),disconnect:n.from([r.codes.disconnect<<4,0])},r.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},r.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},r.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},r.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),k0=mt((t,e)=>{ct(),ft(),ht();var r=1e3,n=6e4,l=60*n,o=24*l,s=7*o,i=365.25*o;function a(u,c,d,f){var m=c>=1.5*d;return Math.round(u/d)+" "+f+(m?"s":"")}e.exports=function(u,c){c=c||{};var d=typeof u;if(d==="string"&&u.length>0)return function(f){if(f=String(f),!(f.length>100)){var m=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(f);if(m){var b=parseFloat(m[1]);switch((m[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return b*i;case"weeks":case"week":case"w":return b*s;case"days":case"day":case"d":return b*o;case"hours":case"hour":case"hrs":case"hr":case"h":return b*l;case"minutes":case"minute":case"mins":case"min":case"m":return b*n;case"seconds":case"second":case"secs":case"sec":case"s":return b*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return b;default:return}}}}(u);if(d==="number"&&isFinite(u))return c.long?function(f){var m=Math.abs(f);return m>=o?a(f,m,o,"day"):m>=l?a(f,m,l,"hour"):m>=n?a(f,m,n,"minute"):m>=r?a(f,m,r,"second"):f+" ms"}(u):function(f){var m=Math.abs(f);return m>=o?Math.round(f/o)+"d":m>=l?Math.round(f/l)+"h":m>=n?Math.round(f/n)+"m":m>=r?Math.round(f/r)+"s":f+"ms"}(u);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(u))}}),I0=mt((t,e)=>{ct(),ft(),ht(),e.exports=function(r){function n(s){let i,a,u,c=null;function d(...f){if(!d.enabled)return;let m=d,b=Number(new Date),_=b-(i||b);m.diff=_,m.prev=i,m.curr=b,i=b,f[0]=n.coerce(f[0]),typeof f[0]!="string"&&f.unshift("%O");let S=0;f[0]=f[0].replace(/%([a-zA-Z%])/g,(U,D)=>{if(U==="%%")return"%";S++;let K=n.formatters[D];if(typeof K=="function"){let $=f[S];U=K.call(m,$),f.splice(S,1),S--}return U}),n.formatArgs.call(m,f),(m.log||n.log).apply(m,f)}return d.namespace=s,d.useColors=n.useColors(),d.color=n.selectColor(s),d.extend=l,d.destroy=n.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>c!==null?c:(a!==n.namespaces&&(a=n.namespaces,u=n.enabled(s)),u),set:f=>{c=f}}),typeof n.init=="function"&&n.init(d),d}function l(s,i){let a=n(this.namespace+(typeof i>"u"?":":i)+s);return a.log=this.log,a}function o(s){return s.toString().substring(2,s.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(s){return s instanceof Error?s.stack||s.message:s},n.disable=function(){let s=[...n.names.map(o),...n.skips.map(o).map(i=>"-"+i)].join(",");return n.enable(""),s},n.enable=function(s){n.save(s),n.namespaces=s,n.names=[],n.skips=[];let i,a=(typeof s=="string"?s:"").split(/[\s,]+/),u=a.length;for(i=0;i{n[s]=r[s]}),n.names=[],n.skips=[],n.formatters={},n.selectColor=function(s){let i=0;for(let a=0;a{ct(),ft(),ht(),t.formatArgs=function(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;let l="color: "+this.color;n.splice(1,0,l,"color: inherit");let o=0,s=0;n[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(o++,i==="%c"&&(s=o))}),n.splice(s,0,l)},t.save=function(n){try{n?t.storage.setItem("debug",n):t.storage.removeItem("debug")}catch{}},t.load=function(){let n;try{n=t.storage.getItem("debug")}catch{}return!n&&typeof Nt<"u"&&"env"in Nt&&(n=Nt.env.DEBUG),n},t.useColors=function(){return!(!(typeof window<"u"&&window.process)||window.process.type!=="renderer"&&!window.process.__nwjs)||!(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&(typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch{}}(),t.destroy=(()=>{let n=!1;return()=>{n||(n=!0)}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=I0()(t);var{formatters:r}=e.exports;r.j=function(n){try{return JSON.stringify(n)}catch(l){return"[UnexpectedJSONParseError]: "+l.message}}}),T0=mt((t,e)=>{ct(),ft(),ht();var r=S0(),{EventEmitter:n}=(Un(),Dt(gn)),l=A0(),o=Ap(),s=pr()("mqtt-packet:parser");e.exports=class Va extends n{constructor(){super(),this.parser=this.constructor.parser}static parser(a){return this instanceof Va?(this.settings=a||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new Va().parser(a)}_resetState(){s("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new l,this.error=null,this._list=r(),this._stateCounter=0}parse(a){for(this.error&&this._resetState(),this._list.append(a),s("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,s("parse: state complete. _stateCounter is now: %d",this._stateCounter),s("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return s("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let a=this._list.readUInt8(0),u=a>>o.CMD_SHIFT;this.packet.cmd=o.types[u];let c=15&a,d=o.requiredHeaderFlags[u];return d!=null&&c!==d?this._emitError(new Error(o.requiredHeaderFlagsErrors[u])):(this.packet.retain=!!(a&o.RETAIN_MASK),this.packet.qos=a>>o.QOS_SHIFT&o.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=!!(a&o.DUP_MASK),s("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let a=this._parseVarByteNum(!0);return a&&(this.packet.length=a.value,this._list.consume(a.bytes)),s("_parseLength %d",a.value),!!a}_parsePayload(){s("_parsePayload: payload %O",this._list);let a=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}a=!0}return s("_parsePayload complete result: %s",a),a}_parseConnect(){s("_parseConnect");let a,u,c,d,f={},m=this.packet,b=this._parseString();if(b===null)return this._emitError(new Error("Cannot parse protocolId"));if(b!=="MQTT"&&b!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(m.protocolId=b,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(m.protocolVersion=this._list.readUInt8(this._pos),m.protocolVersion>=128&&(m.bridgeMode=!0,m.protocolVersion=m.protocolVersion-128),m.protocolVersion!==3&&m.protocolVersion!==4&&m.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(1&this._list.readUInt8(this._pos))return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));f.username=this._list.readUInt8(this._pos)&o.USERNAME_MASK,f.password=this._list.readUInt8(this._pos)&o.PASSWORD_MASK,f.will=this._list.readUInt8(this._pos)&o.WILL_FLAG_MASK;let _=!!(this._list.readUInt8(this._pos)&o.WILL_RETAIN_MASK),S=(this._list.readUInt8(this._pos)&o.WILL_QOS_MASK)>>o.WILL_QOS_SHIFT;if(f.will)m.will={},m.will.retain=_,m.will.qos=S;else{if(_)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(S)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(m.clean=!!(this._list.readUInt8(this._pos)&o.CLEAN_SESSION_MASK),this._pos++,m.keepalive=this._parseNum(),m.keepalive===-1)return this._emitError(new Error("Packet too short"));if(m.protocolVersion===5){let D=this._parseProperties();Object.getOwnPropertyNames(D).length&&(m.properties=D)}let U=this._parseString();if(U===null)return this._emitError(new Error("Packet too short"));if(m.clientId=U,s("_parseConnect: packet.clientId: %s",m.clientId),f.will){if(m.protocolVersion===5){let D=this._parseProperties();Object.getOwnPropertyNames(D).length&&(m.will.properties=D)}if(a=this._parseString(),a===null)return this._emitError(new Error("Cannot parse will topic"));if(m.will.topic=a,s("_parseConnect: packet.will.topic: %s",m.will.topic),u=this._parseBuffer(),u===null)return this._emitError(new Error("Cannot parse will payload"));m.will.payload=u,s("_parseConnect: packet.will.paylaod: %s",m.will.payload)}if(f.username){if(d=this._parseString(),d===null)return this._emitError(new Error("Cannot parse username"));m.username=d,s("_parseConnect: packet.username: %s",m.username)}if(f.password){if(c=this._parseBuffer(),c===null)return this._emitError(new Error("Cannot parse password"));m.password=c}return this.settings=m,s("_parseConnect: complete"),m}_parseConnack(){s("_parseConnack");let a=this.packet;if(this._list.length<1)return null;let u=this._list.readUInt8(this._pos++);if(u>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(a.sessionPresent=!!(u&o.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?a.reasonCode=this._list.readUInt8(this._pos++):a.reasonCode=0;else{if(this._list.length<2)return null;a.returnCode=this._list.readUInt8(this._pos++)}if(a.returnCode===-1||a.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let c=this._parseProperties();Object.getOwnPropertyNames(c).length&&(a.properties=c)}s("_parseConnack: complete")}_parsePublish(){s("_parsePublish");let a=this.packet;if(a.topic=this._parseString(),a.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(a.qos>0)||this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}a.payload=this._list.slice(this._pos,a.length),s("_parsePublish: payload from buffer list: %o",a.payload)}}_parseSubscribe(){s("_parseSubscribe");let a,u,c,d,f,m,b,_=this.packet;if(_.subscriptions=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let S=this._parseProperties();Object.getOwnPropertyNames(S).length&&(_.properties=S)}if(_.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos<_.length;){if(a=this._parseString(),a===null)return this._emitError(new Error("Cannot parse topic"));if(this._pos>=_.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(u=this._parseByte(),this.settings.protocolVersion===5){if(192&u)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(252&u)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(c=u&o.SUBSCRIBE_OPTIONS_QOS_MASK,c>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(m=!!(u>>o.SUBSCRIBE_OPTIONS_NL_SHIFT&o.SUBSCRIBE_OPTIONS_NL_MASK),f=!!(u>>o.SUBSCRIBE_OPTIONS_RAP_SHIFT&o.SUBSCRIBE_OPTIONS_RAP_MASK),d=u>>o.SUBSCRIBE_OPTIONS_RH_SHIFT&o.SUBSCRIBE_OPTIONS_RH_MASK,d>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));b={topic:a,qos:c},this.settings.protocolVersion===5?(b.nl=m,b.rap=f,b.rh=d):this.settings.bridgeMode&&(b.rh=0,b.rap=!0,b.nl=!0),s("_parseSubscribe: push subscription `%s` to subscription",b),_.subscriptions.push(b)}}}_parseSuback(){s("_parseSuback");let a=this.packet;if(this.packet.granted=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}if(a.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos2&&u!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(u)}}}_parseUnsubscribe(){s("_parseUnsubscribe");let a=this.packet;if(a.unsubscriptions=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}if(a.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos2){switch(a.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!o.MQTT5_PUBACK_PUBREC_CODES[a.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!o.MQTT5_PUBREL_PUBCOMP_CODES[a.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"))}s("_parseConfirmation: packet.reasonCode `%d`",a.reasonCode)}else a.reasonCode=0;if(a.length>3){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}}return!0}_parseDisconnect(){let a=this.packet;if(s("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(a.reasonCode=this._parseByte(),o.MQTT5_DISCONNECT_CODES[a.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):a.reasonCode=0;let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}return s("_parseDisconnect result: true"),!0}_parseAuth(){s("_parseAuth");let a=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(a.reasonCode=this._parseByte(),!o.MQTT5_AUTH_CODES[a.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let u=this._parseProperties();return Object.getOwnPropertyNames(u).length&&(a.properties=u),s("_parseAuth: result: true"),!0}_parseMessageId(){let a=this.packet;return a.messageId=this._parseNum(),a.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(s("_parseMessageId: packet.messageId %d",a.messageId),!0)}_parseString(a){let u=this._parseNum(),c=u+this._pos;if(u===-1||c>this._list.length||c>this.packet.length)return null;let d=this._list.toString("utf8",this._pos,c);return this._pos+=u,s("_parseString: result: %s",d),d}_parseStringPair(){return s("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let a=this._parseNum(),u=a+this._pos;if(a===-1||u>this._list.length||u>this.packet.length)return null;let c=this._list.slice(this._pos,u);return this._pos+=a,s("_parseBuffer: result: %o",c),c}_parseNum(){if(this._list.length-this._pos<2)return-1;let a=this._list.readUInt16BE(this._pos);return this._pos+=2,s("_parseNum: result: %s",a),a}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let a=this._list.readUInt32BE(this._pos);return this._pos+=4,s("_parse4ByteNum: result: %s",a),a}_parseVarByteNum(a){s("_parseVarByteNum");let u,c=0,d=1,f=0,m=!1,b=this._pos?this._pos:0;for(;c<4&&b+c=c&&this._emitError(new Error("Invalid variable byte integer")),b&&(this._pos+=c),m=!!m&&(a?{bytes:c,value:f}:f),s("_parseVarByteNum: result: %o",m),m}_parseByte(){let a;return this._pos{ct(),ft(),ht();var{Buffer:r}=(oe(),Dt(ie)),n={},l=r.isBuffer(r.from([1,2]).subarray(0,1));function o(s){let i=r.allocUnsafe(2);return i.writeUInt8(s>>8,0),i.writeUInt8(255&s,1),i}e.exports={cache:n,generateCache:function(){for(let s=0;s<65536;s++)n[s]=o(s)},generateNumber:o,genBufVariableByteInt:function(s){let i=0,a=0,u=r.allocUnsafe(4);do i=s%128|0,(s=s/128|0)>0&&(i|=128),u.writeUInt8(i,a++);while(s>0&&a<4);return s>0&&(a=0),l?u.subarray(0,a):u.slice(0,a)},generate4ByteBuffer:function(s){let i=r.allocUnsafe(4);return i.writeUInt32BE(s,0),i}}}),x0=mt((t,e)=>{ct(),ft(),ht(),typeof Nt>"u"||!Nt.version||Nt.version.indexOf("v0.")===0||Nt.version.indexOf("v1.")===0&&Nt.version.indexOf("v1.8.")!==0?e.exports={nextTick:function(r,n,l,o){if(typeof r!="function")throw new TypeError('"callback" argument must be a function');var s,i,a=arguments.length;switch(a){case 0:case 1:return Nt.nextTick(r);case 2:return Nt.nextTick(function(){r.call(null,n)});case 3:return Nt.nextTick(function(){r.call(null,n,l)});case 4:return Nt.nextTick(function(){r.call(null,n,l,o)});default:for(s=new Array(a-1),i=0;i{ct(),ft(),ht();var r=Ap(),{Buffer:n}=(oe(),Dt(ie)),l=n.allocUnsafe(0),o=n.from([0]),s=O0(),i=x0().nextTick,a=pr()("mqtt-packet:writeToStream"),u=s.cache,c=s.generateNumber,d=s.generateCache,f=s.genBufVariableByteInt,m=s.generate4ByteBuffer,b=B,_=!0;function S(j,N,V){switch(a("generate called"),N.cork&&(N.cork(),i(U,N)),_&&(_=!1,d()),a("generate: packet.cmd: %s",j.cmd),j.cmd){case"connect":return function(nt,Q){let G=nt||{},T=G.protocolId||"MQTT",q=G.protocolVersion||4,tt=G.will,it=G.clean,lt=G.keepalive||0,ut=G.clientId||"",pt=G.username,H=G.password,rt=G.properties;it===void 0&&(it=!0);let Z,dt,L=0;if(!T||typeof T!="string"&&!n.isBuffer(T))return Q.destroy(new Error("Invalid protocolId")),!1;if(L+=T.length+2,q!==3&&q!==4&&q!==5)return Q.destroy(new Error("Invalid protocol version")),!1;if(L+=1,(typeof ut=="string"||n.isBuffer(ut))&&(ut||q>=4)&&(ut||it))L+=n.byteLength(ut)+2;else{if(q<4)return Q.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(1*it==0)return Q.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof lt!="number"||lt<0||lt>65535||lt%1!=0)return Q.destroy(new Error("Invalid keepalive")),!1;if(L+=2,L+=1,q===5){if(Z=w(Q,rt),!Z)return!1;L+=Z.length}if(tt){if(typeof tt!="object")return Q.destroy(new Error("Invalid will")),!1;if(!tt.topic||typeof tt.topic!="string")return Q.destroy(new Error("Invalid will topic")),!1;if(L+=n.byteLength(tt.topic)+2,L+=2,tt.payload){if(!(tt.payload.length>=0))return Q.destroy(new Error("Invalid will payload")),!1;typeof tt.payload=="string"?L+=n.byteLength(tt.payload):L+=tt.payload.length}if(dt={},q===5){if(dt=w(Q,tt.properties),!dt)return!1;L+=dt.length}}let A=!1;if(pt!=null){if(!X(pt))return Q.destroy(new Error("Invalid username")),!1;A=!0,L+=n.byteLength(pt)+2}if(H!=null){if(!A)return Q.destroy(new Error("Username is required to use password")),!1;if(!X(H))return Q.destroy(new Error("Invalid password")),!1;L+=st(H)+2}Q.write(r.CONNECT_HEADER),K(Q,L),E(Q,T),G.bridgeMode&&(q+=128),Q.write(q===131?r.VERSION131:q===132?r.VERSION132:q===4?r.VERSION4:q===5?r.VERSION5:r.VERSION3);let F=0;return F|=pt!=null?r.USERNAME_MASK:0,F|=H!=null?r.PASSWORD_MASK:0,F|=tt&&tt.retain?r.WILL_RETAIN_MASK:0,F|=tt&&tt.qos?tt.qos<0&&b(Q,pt),Z==null||Z.write(),a("publish: payload: %o",ut),Q.write(ut)}(j,N,V);case"puback":case"pubrec":case"pubrel":case"pubcomp":return function(nt,Q,G){let T=G?G.protocolVersion:4,q=nt||{},tt=q.cmd||"puback",it=q.messageId,lt=q.dup&&tt==="pubrel"?r.DUP_MASK:0,ut=0,pt=q.reasonCode,H=q.properties,rt=T===5?3:2;if(tt==="pubrel"&&(ut=1),typeof it!="number")return Q.destroy(new Error("Invalid messageId")),!1;let Z=null;if(T===5&&typeof H=="object"){if(Z=P(Q,H,G,rt),!Z)return!1;rt+=Z.length}return Q.write(r.ACKS[tt][ut][lt][0]),rt===3&&(rt+=pt!==0?1:-1),K(Q,rt),b(Q,it),T===5&&rt!==2&&Q.write(n.from([pt])),Z!==null?Z.write():rt===4&&Q.write(n.from([0])),!0}(j,N,V);case"subscribe":return function(nt,Q,G){a("subscribe: packet: ");let T=G?G.protocolVersion:4,q=nt||{},tt=q.dup?r.DUP_MASK:0,it=q.messageId,lt=q.subscriptions,ut=q.properties,pt=0;if(typeof it!="number")return Q.destroy(new Error("Invalid messageId")),!1;pt+=2;let H=null;if(T===5){if(H=w(Q,ut),!H)return!1;pt+=H.length}if(typeof lt!="object"||!lt.length)return Q.destroy(new Error("Invalid subscriptions")),!1;for(let Z=0;Z2)return Q.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}pt+=n.byteLength(dt)+2+1}a("subscribe: writing to stream: %o",r.SUBSCRIBE_HEADER),Q.write(r.SUBSCRIBE_HEADER[1][tt?1:0][0]),K(Q,pt),b(Q,it),H!==null&&H.write();let rt=!0;for(let Z of lt){let dt,L=Z.topic,A=Z.qos,F=+Z.nl,h=+Z.rap,p=Z.rh;$(Q,L),dt=r.SUBSCRIBE_OPTIONS_QOS[A],T===5&&(dt|=F?r.SUBSCRIBE_OPTIONS_NL:0,dt|=h?r.SUBSCRIBE_OPTIONS_RAP:0,dt|=p?r.SUBSCRIBE_OPTIONS_RH[p]:0),rt=Q.write(n.from([dt]))}return rt}(j,N,V);case"suback":return function(nt,Q,G){let T=G?G.protocolVersion:4,q=nt||{},tt=q.messageId,it=q.granted,lt=q.properties,ut=0;if(typeof tt!="number")return Q.destroy(new Error("Invalid messageId")),!1;if(ut+=2,typeof it!="object"||!it.length)return Q.destroy(new Error("Invalid qos vector")),!1;for(let H=0;Hb===B,set(j){j?((!u||Object.keys(u).length===0)&&(_=!0),b=B):(_=!1,b=I)}});var D={};function K(j,N){if(N>r.VARBYTEINT_MAX)return j.destroy(new Error(`Invalid variable byte integer: ${N}`)),!1;let V=D[N];return V||(V=f(N),N<16384&&(D[N]=V)),a("writeVarByteInt: writing to stream: %o",V),j.write(V)}function $(j,N){let V=n.byteLength(N);return b(j,V),a("writeString: %s",N),j.write(N,"utf8")}function Y(j,N,V){$(j,N),$(j,V)}function B(j,N){return a("writeNumberCached: number: %d",N),a("writeNumberCached: %o",u[N]),j.write(u[N])}function I(j,N){let V=c(N);return a("writeNumberGenerated: %o",V),j.write(V)}function E(j,N){typeof N=="string"?$(j,N):N?(b(j,N.length),j.write(N)):b(j,0)}function w(j,N){if(typeof N!="object"||N.length!=null)return{length:1,write(){et(j,{},0)}};let V=0;function nt(Q,G){let T=0;switch(r.propertiesTypes[Q]){case"byte":if(typeof G!="boolean")return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=2;break;case"int8":if(typeof G!="number"||G<0||G>255)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=2;break;case"binary":if(G&&G===null)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=1+n.byteLength(G)+2;break;case"int16":if(typeof G!="number"||G<0||G>65535)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=3;break;case"int32":if(typeof G!="number"||G<0||G>4294967295)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=5;break;case"var":if(typeof G!="number"||G<0||G>268435455)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=1+n.byteLength(f(G));break;case"string":if(typeof G!="string")return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=3+n.byteLength(G.toString());break;case"pair":if(typeof G!="object")return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=Object.getOwnPropertyNames(G).reduce((q,tt)=>{let it=G[tt];return Array.isArray(it)?q+=it.reduce((lt,ut)=>lt+=3+n.byteLength(tt.toString())+2+n.byteLength(ut.toString()),0):q+=3+n.byteLength(tt.toString())+2+n.byteLength(G[tt].toString()),q},0);break;default:return j.destroy(new Error(`Invalid property ${Q}: ${G}`)),!1}return T}if(N)for(let Q in N){let G=0,T=0,q=N[Q];if(Array.isArray(q))for(let tt=0;ttG;){let q=Q.shift();if(!q||!N[q])return!1;delete N[q],T=w(j,N)}return T}function R(j,N,V){switch(r.propertiesTypes[N]){case"byte":j.write(n.from([r.properties[N]])),j.write(n.from([+V]));break;case"int8":j.write(n.from([r.properties[N]])),j.write(n.from([V]));break;case"binary":j.write(n.from([r.properties[N]])),E(j,V);break;case"int16":j.write(n.from([r.properties[N]])),b(j,V);break;case"int32":j.write(n.from([r.properties[N]])),function(nt,Q){let G=m(Q);a("write4ByteNumber: %o",G),nt.write(G)}(j,V);break;case"var":j.write(n.from([r.properties[N]])),K(j,V);break;case"string":j.write(n.from([r.properties[N]])),$(j,V);break;case"pair":Object.getOwnPropertyNames(V).forEach(nt=>{let Q=V[nt];Array.isArray(Q)?Q.forEach(G=>{j.write(n.from([r.properties[N]])),Y(j,nt.toString(),G.toString())}):(j.write(n.from([r.properties[N]])),Y(j,nt.toString(),Q.toString()))});break;default:return j.destroy(new Error(`Invalid property ${N} value: ${V}`)),!1}}function et(j,N,V){K(j,V);for(let nt in N)if(Object.prototype.hasOwnProperty.call(N,nt)&&N[nt]!==null){let Q=N[nt];if(Array.isArray(Q))for(let G=0;G{ct(),ft(),ht();var r=kp(),{EventEmitter:n}=(Un(),Dt(gn)),{Buffer:l}=(oe(),Dt(ie)),o=class extends n{constructor(){super(),this._array=new Array(20),this._i=0}write(s){return this._array[this._i++]=s,!0}concat(){let s,i=0,a=new Array(this._array.length),u=this._array,c=0;for(s=0;s{ct(),ft(),ht(),t.parser=T0().parser,t.generate=C0(),t.writeToStream=kp()}),Ip=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.nextId=Math.max(1,Math.floor(65535*Math.random()))}allocate(){let e=this.nextId++;return this.nextId===65536&&(this.nextId=1),e}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(e){return!0}deallocate(e){}clear(){}}}),P0=mt((t,e)=>{function r(n){return n instanceof co?co.from(n):new n.constructor(n.buffer.slice(),n.byteOffset,n.length)}ct(),ft(),ht(),e.exports=function(n){return(n=n||{}).circles?function(o){var s=[],i=[];return o.proto?function u(c){if(typeof c!="object"||c===null)return c;if(c instanceof Date)return new Date(c);if(Array.isArray(c))return a(c,u);if(c instanceof Map)return new Map(a(Array.from(c),u));if(c instanceof Set)return new Set(a(Array.from(c),u));var d={};for(var f in s.push(c),i.push(d),c){var m=c[f];if(typeof m!="object"||m===null)d[f]=m;else if(m instanceof Date)d[f]=new Date(m);else if(m instanceof Map)d[f]=new Map(a(Array.from(m),u));else if(m instanceof Set)d[f]=new Set(a(Array.from(m),u));else if(ArrayBuffer.isView(m))d[f]=r(m);else{var b=s.indexOf(m);d[f]=b!==-1?i[b]:u(m)}}return s.pop(),i.pop(),d}:function u(c){if(typeof c!="object"||c===null)return c;if(c instanceof Date)return new Date(c);if(Array.isArray(c))return a(c,u);if(c instanceof Map)return new Map(a(Array.from(c),u));if(c instanceof Set)return new Set(a(Array.from(c),u));var d={};for(var f in s.push(c),i.push(d),c)if(Object.hasOwnProperty.call(c,f)!==!1){var m=c[f];if(typeof m!="object"||m===null)d[f]=m;else if(m instanceof Date)d[f]=new Date(m);else if(m instanceof Map)d[f]=new Map(a(Array.from(m),u));else if(m instanceof Set)d[f]=new Set(a(Array.from(m),u));else if(ArrayBuffer.isView(m))d[f]=r(m);else{var b=s.indexOf(m);d[f]=b!==-1?i[b]:u(m)}}return s.pop(),i.pop(),d};function a(u,c){for(var d=Object.keys(u),f=new Array(d.length),m=0;m{ct(),ft(),ht(),e.exports=P0()()}),M0=mt(t=>{function e(r){let n=r.split("/");for(let l=0;l{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=mn(),r={objectMode:!0},n={clean:!0};t.default=class{constructor(l){this.options=l||{},this.options=Object.assign(Object.assign({},n),l),this._inflights=new Map}put(l,o){return this._inflights.set(l.messageId,l),o&&o(),this}createStream(){let l=new e.Readable(r),o=[],s=!1,i=0;return this._inflights.forEach((a,u)=>{o.push(a)}),l._read=()=>{!s&&i{if(!s)return s=!0,setTimeout(()=>{l.emit("close")},0),l},l}del(l,o){let s=this._inflights.get(l.messageId);return s?(this._inflights.delete(l.messageId),o(null,s)):o&&o(new Error("missing packet")),this}get(l,o){let s=this._inflights.get(l.messageId);return s?o(null,s):o&&o(new Error("missing packet")),this}close(l){this.options.clean&&(this._inflights=null),l&&l()}}}),L0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=[0,16,128,131,135,144,145,151,153];t.default=(r,n,l)=>{r.log("handlePublish: packet %o",n),l=typeof l<"u"?l:r.noop;let o=n.topic.toString(),s=n.payload,{qos:i}=n,{messageId:a}=n,{options:u}=r;if(r.options.protocolVersion===5){let c;if(n.properties&&(c=n.properties.topicAlias),typeof c<"u")if(o.length===0){if(!(c>0&&c<=65535))return r.log("handlePublish :: topic alias out of range. alias: %d",c),void r.emit("error",new Error("Received Topic Alias is out of range"));{let d=r.topicAliasRecv.getTopicByAlias(c);if(!d)return r.log("handlePublish :: unregistered topic alias. alias: %d",c),void r.emit("error",new Error("Received unregistered Topic Alias"));o=d,r.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",o,c)}}else{if(!r.topicAliasRecv.put(o,c))return r.log("handlePublish :: topic alias out of range. alias: %d",c),void r.emit("error",new Error("Received Topic Alias is out of range"));r.log("handlePublish :: registered topic: %s - alias: %d",o,c)}}switch(r.log("handlePublish: qos %d",i),i){case 2:u.customHandleAcks(o,s,n,(c,d)=>(typeof c=="number"&&(d=c,c=null),c?r.emit("error",c):e.indexOf(d)===-1?r.emit("error",new Error("Wrong reason code for pubrec")):void(d?r._sendPacket({cmd:"pubrec",messageId:a,reasonCode:d},l):r.incomingStore.put(n,()=>{r._sendPacket({cmd:"pubrec",messageId:a},l)}))));break;case 1:u.customHandleAcks(o,s,n,(c,d)=>(typeof c=="number"&&(d=c,c=null),c?r.emit("error",c):e.indexOf(d)===-1?r.emit("error",new Error("Wrong reason code for puback")):(d||r.emit("message",o,s,n),void r.handleMessage(n,f=>{if(f)return l&&l(f);r._sendPacket({cmd:"puback",messageId:a,reasonCode:d},l)}))));break;case 0:r.emit("message",o,s,n),r.handleMessage(n,l);break;default:r.log("handlePublish: unknown QoS. Doing nothing.")}}}),j0=mt((t,e)=>{e.exports={version:"5.10.1"}}),Nn=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.MQTTJS_VERSION=t.nextTick=t.applyMixin=t.ErrorWithReasonCode=void 0;var e=class Op extends Error{constructor(n,l){super(n),this.code=l,Object.setPrototypeOf(this,Op.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};t.ErrorWithReasonCode=e,t.applyMixin=function(r,n,l=!1){var o;let s=[n];for(;;){let i=s[0],a=Object.getPrototypeOf(i);if(!(a!=null&&a.prototype))break;s.unshift(a)}for(let i of s)for(let a of Object.getOwnPropertyNames(i.prototype))(l||a!=="constructor")&&Object.defineProperty(r.prototype,a,(o=Object.getOwnPropertyDescriptor(i.prototype,a))!==null&&o!==void 0?o:Object.create(null))},t.nextTick=typeof(Nt==null?void 0:Nt.nextTick)=="function"?Nt.nextTick:r=>{setTimeout(r,0)},t.MQTTJS_VERSION=j0().version}),Lo=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.ReasonCodes=void 0;var e=Nn();t.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.default=(r,n)=>{let{messageId:l}=n,o=n.cmd,s=null,i=r.outgoing[l]?r.outgoing[l].cb:null,a=null;if(i){switch(r.log("_handleAck :: packet type",o),o){case"pubcomp":case"puback":{let u=n.reasonCode;u&&u>0&&u!==16?(a=new e.ErrorWithReasonCode(`Publish error: ${t.ReasonCodes[u]}`,u),r._removeOutgoingAndStoreMessage(l,()=>{i(a,n)})):r._removeOutgoingAndStoreMessage(l,i);break}case"pubrec":{s={cmd:"pubrel",qos:2,messageId:l};let u=n.reasonCode;u&&u>0&&u!==16?(a=new e.ErrorWithReasonCode(`Publish error: ${t.ReasonCodes[u]}`,u),r._removeOutgoingAndStoreMessage(l,()=>{i(a,n)})):r._sendPacket(s);break}case"suback":{delete r.outgoing[l],r.messageIdProvider.deallocate(l);let u=n.granted;for(let c=0;c{delete r._resubscribeTopics[m]})}}delete r.messageIdToTopic[l],r._invokeStoreProcessingQueue(),i(a,n);break}case"unsuback":delete r.outgoing[l],r.messageIdProvider.deallocate(l),r._invokeStoreProcessingQueue(),i(null,n);break;default:r.emit("error",new Error("unrecognized packet type"))}r.disconnecting&&Object.keys(r.outgoing).length===0&&r.emit("outgoingEmpty")}else r.log("_handleAck :: Server sent an ack in error. Ignoring.")}}),U0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=Nn(),r=Lo();t.default=(n,l)=>{let{options:o}=n,s=o.protocolVersion,i=s===5?l.reasonCode:l.returnCode;if(s===5)n.handleAuth(l,(a,u)=>{if(a)n.emit("error",a);else if(i===24)n.reconnecting=!1,n._sendPacket(u);else{let c=new e.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[i]}`,i);n.emit("error",c)}});else{let a=new e.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${s}`,i);n.emit("error",a)}}}),N0=mt(t=>{var f,m,b,_,S,U,D,K,$,Y,B,I,E,w,P,R,et,st,X,j,N,V,nt,Q,G,T,qa,tt,it,lt,ut,xp,H,rt,Z,Ir,Tr,Ha,Ji,Xi,$t,za,Qn,C;ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=void 0;var e=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,r=new Set,n=typeof Nt=="object"&&Nt?Nt:{},l=(x,g,v,k)=>{typeof n.emitWarning=="function"&&n.emitWarning(x,g,v,k)},o=globalThis.AbortController,s=globalThis.AbortSignal;if(typeof o>"u"){s=class{constructor(){zt(this,"onabort");zt(this,"_onabort",[]);zt(this,"reason");zt(this,"aborted",!1)}addEventListener(v,k){this._onabort.push(k)}},o=class{constructor(){zt(this,"signal",new s);g()}abort(v){var k,M;if(!this.signal.aborted){this.signal.reason=v,this.signal.aborted=!0;for(let W of this.signal._onabort)W(v);(M=(k=this.signal).onabort)==null||M.call(k,v)}}};let x=((f=n.env)==null?void 0:f.LRU_CACHE_IGNORE_AC_WARNING)!=="1",g=()=>{x&&(x=!1,l("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",g))}}var i=x=>x&&x===Math.floor(x)&&x>0&&isFinite(x),a=x=>i(x)?x<=Math.pow(2,8)?Uint8Array:x<=Math.pow(2,16)?Uint16Array:x<=Math.pow(2,32)?Uint32Array:x<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(x){super(x),this.fill(0)}},c=(m=class{constructor(g,v){zt(this,"heap");zt(this,"length");if(!z(m,b))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new v(g),this.length=0}static create(g){let v=a(g);if(!v)return[];St(m,b,!0);let k=new m(g,v);return St(m,b,!1),k}push(g){this.heap[this.length++]=g}pop(){return this.heap[--this.length]}},b=new WeakMap,Rt(m,b,!1),m),d=(C=class{constructor(g){Rt(this,T);Rt(this,_);Rt(this,S);Rt(this,U);Rt(this,D);Rt(this,K);zt(this,"ttl");zt(this,"ttlResolution");zt(this,"ttlAutopurge");zt(this,"updateAgeOnGet");zt(this,"updateAgeOnHas");zt(this,"allowStale");zt(this,"noDisposeOnSet");zt(this,"noUpdateTTL");zt(this,"maxEntrySize");zt(this,"sizeCalculation");zt(this,"noDeleteOnFetchRejection");zt(this,"noDeleteOnStaleGet");zt(this,"allowStaleOnFetchAbort");zt(this,"allowStaleOnFetchRejection");zt(this,"ignoreFetchAbort");Rt(this,$);Rt(this,Y);Rt(this,B);Rt(this,I);Rt(this,E);Rt(this,w);Rt(this,P);Rt(this,R);Rt(this,et);Rt(this,st);Rt(this,X);Rt(this,j);Rt(this,N);Rt(this,V);Rt(this,nt);Rt(this,Q);Rt(this,G);Rt(this,tt,()=>{});Rt(this,it,()=>{});Rt(this,lt,()=>{});Rt(this,ut,()=>!1);Rt(this,H,g=>{});Rt(this,rt,(g,v,k)=>{});Rt(this,Z,(g,v,k,M)=>{if(k||M)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});let{max:v=0,ttl:k,ttlResolution:M=1,ttlAutopurge:W,updateAgeOnGet:J,updateAgeOnHas:at,allowStale:ot,dispose:vt,disposeAfter:bt,noDisposeOnSet:wt,noUpdateTTL:Ot,maxSize:kt=0,maxEntrySize:Mt=0,sizeCalculation:_t,fetchMethod:It,noDeleteOnFetchRejection:yt,noDeleteOnStaleGet:xt,allowStaleOnFetchRejection:vr,allowStaleOnFetchAbort:Ht,ignoreFetchAbort:Jt}=g;if(v!==0&&!i(v))throw new TypeError("max option must be a nonnegative integer");let Ee=v?a(v):Array;if(!Ee)throw new Error("invalid max value: "+v);if(St(this,_,v),St(this,S,kt),this.maxEntrySize=Mt||z(this,S),this.sizeCalculation=_t,this.sizeCalculation){if(!z(this,S)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(It!==void 0&&typeof It!="function")throw new TypeError("fetchMethod must be a function if specified");if(St(this,K,It),St(this,Q,!!It),St(this,B,new Map),St(this,I,new Array(v).fill(void 0)),St(this,E,new Array(v).fill(void 0)),St(this,w,new Ee(v)),St(this,P,new Ee(v)),St(this,R,0),St(this,et,0),St(this,st,c.create(v)),St(this,$,0),St(this,Y,0),typeof vt=="function"&&St(this,U,vt),typeof bt=="function"?(St(this,D,bt),St(this,X,[])):(St(this,D,void 0),St(this,X,void 0)),St(this,nt,!!z(this,U)),St(this,G,!!z(this,D)),this.noDisposeOnSet=!!wt,this.noUpdateTTL=!!Ot,this.noDeleteOnFetchRejection=!!yt,this.allowStaleOnFetchRejection=!!vr,this.allowStaleOnFetchAbort=!!Ht,this.ignoreFetchAbort=!!Jt,this.maxEntrySize!==0){if(z(this,S)!==0&&!i(z(this,S)))throw new TypeError("maxSize must be a positive integer if specified");if(!i(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Et(this,T,xp).call(this)}if(this.allowStale=!!ot,this.noDeleteOnStaleGet=!!xt,this.updateAgeOnGet=!!J,this.updateAgeOnHas=!!at,this.ttlResolution=i(M)||M===0?M:1,this.ttlAutopurge=!!W,this.ttl=k||0,this.ttl){if(!i(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Et(this,T,qa).call(this)}if(z(this,_)===0&&this.ttl===0&&z(this,S)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!z(this,_)&&!z(this,S)){let De="LRU_CACHE_UNBOUNDED";(Ye=>!r.has(Ye))(De)&&(r.add(De),l("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",De,C))}}static unsafeExposeInternals(g){return{starts:z(g,N),ttls:z(g,V),sizes:z(g,j),keyMap:z(g,B),keyList:z(g,I),valList:z(g,E),next:z(g,w),prev:z(g,P),get head(){return z(g,R)},get tail(){return z(g,et)},free:z(g,st),isBackgroundFetch:v=>{var k;return Et(k=g,T,$t).call(k,v)},backgroundFetch:(v,k,M,W)=>{var J;return Et(J=g,T,Xi).call(J,v,k,M,W)},moveToTail:v=>{var k;return Et(k=g,T,Qn).call(k,v)},indexes:v=>{var k;return Et(k=g,T,Ir).call(k,v)},rindexes:v=>{var k;return Et(k=g,T,Tr).call(k,v)},isStale:v=>{var k;return z(k=g,ut).call(k,v)}}}get max(){return z(this,_)}get maxSize(){return z(this,S)}get calculatedSize(){return z(this,Y)}get size(){return z(this,$)}get fetchMethod(){return z(this,K)}get dispose(){return z(this,U)}get disposeAfter(){return z(this,D)}getRemainingTTL(g){return z(this,B).has(g)?1/0:0}*entries(){for(let g of Et(this,T,Ir).call(this))z(this,E)[g]!==void 0&&z(this,I)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield[z(this,I)[g],z(this,E)[g]])}*rentries(){for(let g of Et(this,T,Tr).call(this))z(this,E)[g]!==void 0&&z(this,I)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield[z(this,I)[g],z(this,E)[g]])}*keys(){for(let g of Et(this,T,Ir).call(this)){let v=z(this,I)[g];v!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield v)}}*rkeys(){for(let g of Et(this,T,Tr).call(this)){let v=z(this,I)[g];v!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield v)}}*values(){for(let g of Et(this,T,Ir).call(this))z(this,E)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield z(this,E)[g])}*rvalues(){for(let g of Et(this,T,Tr).call(this))z(this,E)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield z(this,E)[g])}[Symbol.iterator](){return this.entries()}find(g,v={}){for(let k of Et(this,T,Ir).call(this)){let M=z(this,E)[k],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;if(W!==void 0&&g(W,z(this,I)[k],this))return this.get(z(this,I)[k],v)}}forEach(g,v=this){for(let k of Et(this,T,Ir).call(this)){let M=z(this,E)[k],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;W!==void 0&&g.call(v,W,z(this,I)[k],this)}}rforEach(g,v=this){for(let k of Et(this,T,Tr).call(this)){let M=z(this,E)[k],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;W!==void 0&&g.call(v,W,z(this,I)[k],this)}}purgeStale(){let g=!1;for(let v of Et(this,T,Tr).call(this,{allowStale:!0}))z(this,ut).call(this,v)&&(this.delete(z(this,I)[v]),g=!0);return g}dump(){let g=[];for(let v of Et(this,T,Ir).call(this,{allowStale:!0})){let k=z(this,I)[v],M=z(this,E)[v],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;if(W===void 0||k===void 0)continue;let J={value:W};if(z(this,V)&&z(this,N)){J.ttl=z(this,V)[v];let at=e.now()-z(this,N)[v];J.start=Math.floor(Date.now()-at)}z(this,j)&&(J.size=z(this,j)[v]),g.unshift([k,J])}return g}load(g){this.clear();for(let[v,k]of g){if(k.start){let M=Date.now()-k.start;k.start=e.now()-M}this.set(v,k.value,k)}}set(g,v,k={}){var Ot,kt,Mt,_t,It;if(v===void 0)return this.delete(g),this;let{ttl:M=this.ttl,start:W,noDisposeOnSet:J=this.noDisposeOnSet,sizeCalculation:at=this.sizeCalculation,status:ot}=k,{noUpdateTTL:vt=this.noUpdateTTL}=k,bt=z(this,Z).call(this,g,v,k.size||0,at);if(this.maxEntrySize&&bt>this.maxEntrySize)return ot&&(ot.set="miss",ot.maxEntrySizeExceeded=!0),this.delete(g),this;let wt=z(this,$)===0?void 0:z(this,B).get(g);if(wt===void 0)wt=z(this,$)===0?z(this,et):z(this,st).length!==0?z(this,st).pop():z(this,$)===z(this,_)?Et(this,T,Ji).call(this,!1):z(this,$),z(this,I)[wt]=g,z(this,E)[wt]=v,z(this,B).set(g,wt),z(this,w)[z(this,et)]=wt,z(this,P)[wt]=z(this,et),St(this,et,wt),Ii(this,$)._++,z(this,rt).call(this,wt,bt,ot),ot&&(ot.set="add"),vt=!1;else{Et(this,T,Qn).call(this,wt);let yt=z(this,E)[wt];if(v!==yt){if(z(this,Q)&&Et(this,T,$t).call(this,yt)){yt.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:xt}=yt;xt!==void 0&&!J&&(z(this,nt)&&((Ot=z(this,U))==null||Ot.call(this,xt,g,"set")),z(this,G)&&((kt=z(this,X))==null||kt.push([xt,g,"set"])))}else J||(z(this,nt)&&((Mt=z(this,U))==null||Mt.call(this,yt,g,"set")),z(this,G)&&((_t=z(this,X))==null||_t.push([yt,g,"set"])));if(z(this,H).call(this,wt),z(this,rt).call(this,wt,bt,ot),z(this,E)[wt]=v,ot){ot.set="replace";let xt=yt&&Et(this,T,$t).call(this,yt)?yt.__staleWhileFetching:yt;xt!==void 0&&(ot.oldValue=xt)}}else ot&&(ot.set="update")}if(M!==0&&!z(this,V)&&Et(this,T,qa).call(this),z(this,V)&&(vt||z(this,lt).call(this,wt,M,W),ot&&z(this,it).call(this,ot,wt)),!J&&z(this,G)&&z(this,X)){let yt,xt=z(this,X);for(;yt=xt==null?void 0:xt.shift();)(It=z(this,D))==null||It.call(this,...yt)}return this}pop(){var g;try{for(;z(this,$);){let v=z(this,E)[z(this,R)];if(Et(this,T,Ji).call(this,!0),Et(this,T,$t).call(this,v)){if(v.__staleWhileFetching)return v.__staleWhileFetching}else if(v!==void 0)return v}}finally{if(z(this,G)&&z(this,X)){let v,k=z(this,X);for(;v=k==null?void 0:k.shift();)(g=z(this,D))==null||g.call(this,...v)}}}has(g,v={}){let{updateAgeOnHas:k=this.updateAgeOnHas,status:M}=v,W=z(this,B).get(g);if(W!==void 0){let J=z(this,E)[W];if(Et(this,T,$t).call(this,J)&&J.__staleWhileFetching===void 0)return!1;if(!z(this,ut).call(this,W))return k&&z(this,tt).call(this,W),M&&(M.has="hit",z(this,it).call(this,M,W)),!0;M&&(M.has="stale",z(this,it).call(this,M,W))}else M&&(M.has="miss");return!1}peek(g,v={}){let{allowStale:k=this.allowStale}=v,M=z(this,B).get(g);if(M!==void 0&&(k||!z(this,ut).call(this,M))){let W=z(this,E)[M];return Et(this,T,$t).call(this,W)?W.__staleWhileFetching:W}}async fetch(g,v={}){let{allowStale:k=this.allowStale,updateAgeOnGet:M=this.updateAgeOnGet,noDeleteOnStaleGet:W=this.noDeleteOnStaleGet,ttl:J=this.ttl,noDisposeOnSet:at=this.noDisposeOnSet,size:ot=0,sizeCalculation:vt=this.sizeCalculation,noUpdateTTL:bt=this.noUpdateTTL,noDeleteOnFetchRejection:wt=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:Ot=this.allowStaleOnFetchRejection,ignoreFetchAbort:kt=this.ignoreFetchAbort,allowStaleOnFetchAbort:Mt=this.allowStaleOnFetchAbort,context:_t,forceRefresh:It=!1,status:yt,signal:xt}=v;if(!z(this,Q))return yt&&(yt.fetch="get"),this.get(g,{allowStale:k,updateAgeOnGet:M,noDeleteOnStaleGet:W,status:yt});let vr={allowStale:k,updateAgeOnGet:M,noDeleteOnStaleGet:W,ttl:J,noDisposeOnSet:at,size:ot,sizeCalculation:vt,noUpdateTTL:bt,noDeleteOnFetchRejection:wt,allowStaleOnFetchRejection:Ot,allowStaleOnFetchAbort:Mt,ignoreFetchAbort:kt,status:yt,signal:xt},Ht=z(this,B).get(g);if(Ht===void 0){yt&&(yt.fetch="miss");let Jt=Et(this,T,Xi).call(this,g,Ht,vr,_t);return Jt.__returned=Jt}{let Jt=z(this,E)[Ht];if(Et(this,T,$t).call(this,Jt)){let Kl=k&&Jt.__staleWhileFetching!==void 0;return yt&&(yt.fetch="inflight",Kl&&(yt.returnedStale=!0)),Kl?Jt.__staleWhileFetching:Jt.__returned=Jt}let Ee=z(this,ut).call(this,Ht);if(!It&&!Ee)return yt&&(yt.fetch="hit"),Et(this,T,Qn).call(this,Ht),M&&z(this,tt).call(this,Ht),yt&&z(this,it).call(this,yt,Ht),Jt;let De=Et(this,T,Xi).call(this,g,Ht,vr,_t),Ye=De.__staleWhileFetching!==void 0&&k;return yt&&(yt.fetch=Ee?"stale":"refresh",Ye&&Ee&&(yt.returnedStale=!0)),Ye?De.__staleWhileFetching:De.__returned=De}}get(g,v={}){let{allowStale:k=this.allowStale,updateAgeOnGet:M=this.updateAgeOnGet,noDeleteOnStaleGet:W=this.noDeleteOnStaleGet,status:J}=v,at=z(this,B).get(g);if(at!==void 0){let ot=z(this,E)[at],vt=Et(this,T,$t).call(this,ot);return J&&z(this,it).call(this,J,at),z(this,ut).call(this,at)?(J&&(J.get="stale"),vt?(J&&k&&ot.__staleWhileFetching!==void 0&&(J.returnedStale=!0),k?ot.__staleWhileFetching:void 0):(W||this.delete(g),J&&k&&(J.returnedStale=!0),k?ot:void 0)):(J&&(J.get="hit"),vt?ot.__staleWhileFetching:(Et(this,T,Qn).call(this,at),M&&z(this,tt).call(this,at),ot))}J&&(J.get="miss")}delete(g){var k,M,W,J;let v=!1;if(z(this,$)!==0){let at=z(this,B).get(g);if(at!==void 0)if(v=!0,z(this,$)===1)this.clear();else{z(this,H).call(this,at);let ot=z(this,E)[at];Et(this,T,$t).call(this,ot)?ot.__abortController.abort(new Error("deleted")):(z(this,nt)||z(this,G))&&(z(this,nt)&&((k=z(this,U))==null||k.call(this,ot,g,"delete")),z(this,G)&&((M=z(this,X))==null||M.push([ot,g,"delete"]))),z(this,B).delete(g),z(this,I)[at]=void 0,z(this,E)[at]=void 0,at===z(this,et)?St(this,et,z(this,P)[at]):at===z(this,R)?St(this,R,z(this,w)[at]):(z(this,w)[z(this,P)[at]]=z(this,w)[at],z(this,P)[z(this,w)[at]]=z(this,P)[at]),Ii(this,$)._--,z(this,st).push(at)}}if(z(this,G)&&((W=z(this,X))!=null&&W.length)){let at,ot=z(this,X);for(;at=ot==null?void 0:ot.shift();)(J=z(this,D))==null||J.call(this,...at)}return v}clear(){var g,v,k;for(let M of Et(this,T,Tr).call(this,{allowStale:!0})){let W=z(this,E)[M];if(Et(this,T,$t).call(this,W))W.__abortController.abort(new Error("deleted"));else{let J=z(this,I)[M];z(this,nt)&&((g=z(this,U))==null||g.call(this,W,J,"delete")),z(this,G)&&((v=z(this,X))==null||v.push([W,J,"delete"]))}}if(z(this,B).clear(),z(this,E).fill(void 0),z(this,I).fill(void 0),z(this,V)&&z(this,N)&&(z(this,V).fill(0),z(this,N).fill(0)),z(this,j)&&z(this,j).fill(0),St(this,R,0),St(this,et,0),z(this,st).length=0,St(this,Y,0),St(this,$,0),z(this,G)&&z(this,X)){let M,W=z(this,X);for(;M=W==null?void 0:W.shift();)(k=z(this,D))==null||k.call(this,...M)}}},_=new WeakMap,S=new WeakMap,U=new WeakMap,D=new WeakMap,K=new WeakMap,$=new WeakMap,Y=new WeakMap,B=new WeakMap,I=new WeakMap,E=new WeakMap,w=new WeakMap,P=new WeakMap,R=new WeakMap,et=new WeakMap,st=new WeakMap,X=new WeakMap,j=new WeakMap,N=new WeakMap,V=new WeakMap,nt=new WeakMap,Q=new WeakMap,G=new WeakMap,T=new WeakSet,qa=function(){let g=new u(z(this,_)),v=new u(z(this,_));St(this,V,g),St(this,N,v),St(this,lt,(W,J,at=e.now())=>{if(v[W]=J!==0?at:0,g[W]=J,J!==0&&this.ttlAutopurge){let ot=setTimeout(()=>{z(this,ut).call(this,W)&&this.delete(z(this,I)[W])},J+1);ot.unref&&ot.unref()}}),St(this,tt,W=>{v[W]=g[W]!==0?e.now():0}),St(this,it,(W,J)=>{if(g[J]){let at=g[J],ot=v[J];W.ttl=at,W.start=ot,W.now=k||M();let vt=W.now-ot;W.remainingTTL=at-vt}});let k=0,M=()=>{let W=e.now();if(this.ttlResolution>0){k=W;let J=setTimeout(()=>k=0,this.ttlResolution);J.unref&&J.unref()}return W};this.getRemainingTTL=W=>{let J=z(this,B).get(W);if(J===void 0)return 0;let at=g[J],ot=v[J];return at===0||ot===0?1/0:at-((k||M())-ot)},St(this,ut,W=>g[W]!==0&&v[W]!==0&&(k||M())-v[W]>g[W])},tt=new WeakMap,it=new WeakMap,lt=new WeakMap,ut=new WeakMap,xp=function(){let g=new u(z(this,_));St(this,Y,0),St(this,j,g),St(this,H,v=>{St(this,Y,z(this,Y)-g[v]),g[v]=0}),St(this,Z,(v,k,M,W)=>{if(Et(this,T,$t).call(this,k))return 0;if(!i(M)){if(!W)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if(typeof W!="function")throw new TypeError("sizeCalculation must be a function");if(M=W(k,v),!i(M))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return M}),St(this,rt,(v,k,M)=>{if(g[v]=k,z(this,S)){let W=z(this,S)-g[v];for(;z(this,Y)>W;)Et(this,T,Ji).call(this,!0)}St(this,Y,z(this,Y)+g[v]),M&&(M.entrySize=k,M.totalCalculatedSize=z(this,Y))})},H=new WeakMap,rt=new WeakMap,Z=new WeakMap,Ir=function*({allowStale:g=this.allowStale}={}){if(z(this,$))for(let v=z(this,et);Et(this,T,Ha).call(this,v)&&((g||!z(this,ut).call(this,v))&&(yield v),v!==z(this,R));)v=z(this,P)[v]},Tr=function*({allowStale:g=this.allowStale}={}){if(z(this,$))for(let v=z(this,R);Et(this,T,Ha).call(this,v)&&((g||!z(this,ut).call(this,v))&&(yield v),v!==z(this,et));)v=z(this,w)[v]},Ha=function(g){return g!==void 0&&z(this,B).get(z(this,I)[g])===g},Ji=function(g){var W,J;let v=z(this,R),k=z(this,I)[v],M=z(this,E)[v];return z(this,Q)&&Et(this,T,$t).call(this,M)?M.__abortController.abort(new Error("evicted")):(z(this,nt)||z(this,G))&&(z(this,nt)&&((W=z(this,U))==null||W.call(this,M,k,"evict")),z(this,G)&&((J=z(this,X))==null||J.push([M,k,"evict"]))),z(this,H).call(this,v),g&&(z(this,I)[v]=void 0,z(this,E)[v]=void 0,z(this,st).push(v)),z(this,$)===1?(St(this,R,St(this,et,0)),z(this,st).length=0):St(this,R,z(this,w)[v]),z(this,B).delete(k),Ii(this,$)._--,v},Xi=function(g,v,k,M){let W=v===void 0?void 0:z(this,E)[v];if(Et(this,T,$t).call(this,W))return W;let J=new o,{signal:at}=k;at==null||at.addEventListener("abort",()=>J.abort(at.reason),{signal:J.signal});let ot={signal:J.signal,options:k,context:M},vt=(kt,Mt=!1)=>{let{aborted:_t}=J.signal,It=k.ignoreFetchAbort&&kt!==void 0;if(k.status&&(_t&&!Mt?(k.status.fetchAborted=!0,k.status.fetchError=J.signal.reason,It&&(k.status.fetchAbortIgnored=!0)):k.status.fetchResolved=!0),_t&&!It&&!Mt)return bt(J.signal.reason);let yt=wt;return z(this,E)[v]===wt&&(kt===void 0?yt.__staleWhileFetching?z(this,E)[v]=yt.__staleWhileFetching:this.delete(g):(k.status&&(k.status.fetchUpdated=!0),this.set(g,kt,ot.options))),kt},bt=kt=>{let{aborted:Mt}=J.signal,_t=Mt&&k.allowStaleOnFetchAbort,It=_t||k.allowStaleOnFetchRejection,yt=It||k.noDeleteOnFetchRejection,xt=wt;if(z(this,E)[v]===wt&&(yt&&xt.__staleWhileFetching!==void 0?_t||(z(this,E)[v]=xt.__staleWhileFetching):this.delete(g)),It)return k.status&&xt.__staleWhileFetching!==void 0&&(k.status.returnedStale=!0),xt.__staleWhileFetching;if(xt.__returned===xt)throw kt};k.status&&(k.status.fetchDispatched=!0);let wt=new Promise((kt,Mt)=>{var It;let _t=(It=z(this,K))==null?void 0:It.call(this,g,W,ot);_t&&_t instanceof Promise&&_t.then(yt=>kt(yt===void 0?void 0:yt),Mt),J.signal.addEventListener("abort",()=>{(!k.ignoreFetchAbort||k.allowStaleOnFetchAbort)&&(kt(void 0),k.allowStaleOnFetchAbort&&(kt=yt=>vt(yt,!0)))})}).then(vt,kt=>(k.status&&(k.status.fetchRejected=!0,k.status.fetchError=kt),bt(kt))),Ot=Object.assign(wt,{__abortController:J,__staleWhileFetching:W,__returned:void 0});return v===void 0?(this.set(g,Ot,{...ot.options,status:void 0}),v=z(this,B).get(g)):z(this,E)[v]=Ot,Ot},$t=function(g){if(!z(this,Q))return!1;let v=g;return!!v&&v instanceof Promise&&v.hasOwnProperty("__staleWhileFetching")&&v.__abortController instanceof o},za=function(g,v){z(this,P)[v]=g,z(this,w)[g]=v},Qn=function(g){g!==z(this,et)&&(g===z(this,R)?St(this,R,z(this,w)[g]):Et(this,T,za).call(this,z(this,P)[g],z(this,w)[g]),Et(this,T,za).call(this,z(this,et),g),St(this,et,g))},C);t.LRUCache=d}),yr=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.ContainerIterator=t.Container=t.Base=void 0,t.ContainerIterator=class{constructor(r=0){this.iteratorType=r}equals(r){return this.o===r.o}};var e=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};t.Base=e,t.Container=class extends e{}}),D0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=yr(),r=class extends e.Base{constructor(n=[]){super(),this.S=[];let l=this;n.forEach(function(o){l.push(o)})}clear(){this.i=0,this.S=[]}push(n){return this.S.push(n),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}};t.default=r}),F0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=yr(),r=class extends e.Base{constructor(n=[]){super(),this.j=0,this.q=[];let l=this;n.forEach(function(o){l.push(o)})}clear(){this.q=[],this.i=this.j=0}push(n){let l=this.q.length;if(this.j/l>.5&&this.j+this.i>=l&&l>4096){let o=this.i;for(let s=0;s{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=yr(),r=class extends e.Base{constructor(n=[],l=function(s,i){return s>i?-1:s>1;for(let i=this.i-1>>1;i>=0;--i)this.k(i,s)}m(n){let l=this.C[n];for(;n>0;){let o=n-1>>1,s=this.C[o];if(this.v(s,l)<=0)break;this.C[n]=s,n=o}this.C[n]=l}k(n,l){let o=this.C[n];for(;n0&&(s=i,a=this.C[i]),this.v(a,o)>=0)break;this.C[n]=a,n=s}this.C[n]=o}clear(){this.i=0,this.C.length=0}push(n){this.C.push(n),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let n=this.C[0],l=this.C.pop();return this.i-=1,this.i&&(this.C[0]=l,this.k(0,this.i>>1)),n}top(){return this.C[0]}find(n){return this.C.indexOf(n)>=0}remove(n){let l=this.C.indexOf(n);return!(l<0)&&(l===0?this.pop():l===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(l,1,this.C.pop()),this.i-=1,this.m(l),this.k(l,this.i>>1)),!0)}updateItem(n){let l=this.C.indexOf(n);return!(l<0)&&(this.m(l),this.k(l,this.i>>1),!0)}toArray(){return[...this.C]}};t.default=r}),Dl=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=yr(),r=class extends e.Container{};t.default=r}),br=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.throwIteratorAccessError=function(){throw new RangeError("Iterator access denied!")}}),Cp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.RandomIterator=void 0;var e=yr(),r=br(),n=class extends e.ContainerIterator{constructor(l,o){super(o),this.o=l,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,r.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,r.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,r.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,r.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(l){this.container.setElementByPos(this.o,l)}};t.RandomIterator=n}),$0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=Dl())&&e.t?e:{default:e},n=Cp(),l=class Rp extends n.RandomIterator{constructor(i,a,u){super(i,u),this.container=a}copy(){return new Rp(this.o,this.container,this.iteratorType)}},o=class extends r.default{constructor(s=[],i=!0){if(super(),Array.isArray(s))this.J=i?[...s]:s,this.i=s.length;else{this.J=[];let a=this;s.forEach(function(u){a.pushBack(u)})}}clear(){this.i=0,this.J.length=0}begin(){return new l(0,this)}end(){return new l(this.i,this)}rBegin(){return new l(this.i-1,this,1)}rEnd(){return new l(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;return this.J[s]}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;return this.J.splice(s,1),this.i-=1,this.i}eraseElementByValue(s){let i=0;for(let a=0;athis.i-1)throw new RangeError;this.J[s]=i}insert(s,i,a=1){if(s<0||s>this.i)throw new RangeError;return this.J.splice(s,0,...new Array(a).fill(i)),this.i+=a,this.i}find(s){for(let i=0;i{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=Dl())&&e.t?e:{default:e},n=yr(),l=br(),o=class Pp extends n.ContainerIterator{constructor(a,u,c,d){super(d),this.o=a,this.h=u,this.container=c,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.l}set pointer(a){this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.l=a}copy(){return new Pp(this.o,this.h,this.container,this.iteratorType)}},s=class extends r.default{constructor(i=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let a=this;i.forEach(function(u){a.pushBack(u)})}V(i){let{L:a,B:u}=i;a.B=u,u.L=a,i===this.p&&(this.p=u),i===this._&&(this._=a),this.i-=1}G(i,a){let u=a.B,c={l:i,L:a,B:u};a.B=c,u.L=c,a===this.h&&(this.p=c),u===this.h&&(this._=c),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return a.l}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return this.V(a),this.i}eraseElementByValue(i){let a=this.p;for(;a!==this.h;)a.l===i&&this.V(a),a=a.B;return this.i}eraseElementByIterator(i){let a=i.o;return a===this.h&&(0,l.throwIteratorAccessError)(),i=i.next(),this.V(a),i}pushBack(i){return this.G(i,this._),this.i}popBack(){if(this.i===0)return;let i=this._.l;return this.V(this._),i}pushFront(i){return this.G(i,this.h),this.i}popFront(){if(this.i===0)return;let i=this.p.l;return this.V(this.p),i}setElementByPos(i,a){if(i<0||i>this.i-1)throw new RangeError;let u=this.p;for(;i--;)u=u.B;u.l=a}insert(i,a,u=1){if(i<0||i>this.i)throw new RangeError;if(u<=0)return this.i;if(i===0)for(;u--;)this.pushFront(a);else if(i===this.i)for(;u--;)this.pushBack(a);else{let c=this.p;for(let f=1;f{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=Dl())&&e.t?e:{default:e},n=Cp(),l=class Bp extends n.RandomIterator{constructor(i,a,u){super(i,u),this.container=a}copy(){return new Bp(this.o,this.container,this.iteratorType)}},o=class extends r.default{constructor(s=[],i=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let a=(()=>{if(typeof s.length=="number")return s.length;if(typeof s.size=="number")return s.size;if(typeof s.size=="function")return s.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=i,this.P=Math.max(Math.ceil(a/this.F),1);for(let d=0;d>1)-(u>>1),this.D=this.N=this.F-a%this.F>>1;let c=this;s.forEach(function(d){c.pushBack(d)})}T(){let s=[],i=Math.max(this.P>>1,1);for(let a=0;a>1}begin(){return new l(0,this)}end(){return new l(this.i,this)}rBegin(){return new l(this.i-1,this,1)}rEnd(){return new l(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(s){return this.i&&(this.N0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,s}pushFront(s){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=s,this.i}popFront(){if(this.i===0)return;let s=this.A[this.j][this.D];return this.i!==1&&(this.Dthis.i-1)throw new RangeError;let{curNodeBucketIndex:i,curNodePointerIndex:a}=this.O(s);return this.A[i][a]}setElementByPos(s,i){if(s<0||s>this.i-1)throw new RangeError;let{curNodeBucketIndex:a,curNodePointerIndex:u}=this.O(s);this.A[a][u]=i}insert(s,i,a=1){if(s<0||s>this.i)throw new RangeError;if(s===0)for(;a--;)this.pushFront(i);else if(s===this.i)for(;a--;)this.pushBack(i);else{let u=[];for(let c=s;cthis.i-1)throw new RangeError;if(s===0)this.popFront();else if(s===this.i-1)this.popBack();else{let i=[];for(let u=s+1;us;)this.popBack();return this.i}sort(s){let i=[];for(let a=0;a{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.TreeNodeEnableIndex=t.TreeNode=void 0;var e=class{constructor(r,n){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=r,this.l=n}L(){let r=this;if(r.ee===1&&r.tt.tt===r)r=r.W;else if(r.U)for(r=r.U;r.W;)r=r.W;else{let n=r.tt;for(;n.U===r;)r=n,n=r.tt;r=n}return r}B(){let r=this;if(r.W){for(r=r.W;r.U;)r=r.U;return r}{let n=r.tt;for(;n.W===r;)r=n,n=r.tt;return r.W!==n?n:r}}te(){let r=this.tt,n=this.W,l=n.U;return r.tt===this?r.tt=n:r.U===this?r.U=n:r.W=n,n.tt=r,n.U=this,this.tt=n,this.W=l,l&&(l.tt=this),n}se(){let r=this.tt,n=this.U,l=n.W;return r.tt===this?r.tt=n:r.U===this?r.U=n:r.W=n,n.tt=r,n.W=this,this.tt=n,this.U=l,l&&(l.tt=this),n}};t.TreeNode=e,t.TreeNodeEnableIndex=class extends e{constructor(){super(...arguments),this.rt=1}te(){let r=super.te();return this.ie(),r.ie(),r}se(){let r=super.se();return this.ie(),r.ie(),r}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}}}),Mp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=H0(),r=yr(),n=br(),l=class extends r.Container{constructor(s=function(a,u){return au?1:0},i=!1){super(),this.Y=void 0,this.v=s,i?(this.re=e.TreeNodeEnableIndex,this.M=function(a,u,c){let d=this.ne(a,u,c);if(d){let f=d.tt;for(;f!==this.h;)f.rt+=1,f=f.tt;let m=this.he(d);if(m){let{parentNode:b,grandParent:_,curNode:S}=m;b.ie(),_.ie(),S.ie()}}return this.i},this.V=function(a){let u=this.fe(a);for(;u!==this.h;)u.rt-=1,u=u.tt}):(this.re=e.TreeNode,this.M=function(a,u,c){let d=this.ne(a,u,c);return d&&this.he(d),this.i},this.V=this.fe),this.h=new this.re}X(s,i){let a=this.h;for(;s;){let u=this.v(s.u,i);if(u<0)s=s.W;else{if(!(u>0))return s;a=s,s=s.U}}return a}Z(s,i){let a=this.h;for(;s;)this.v(s.u,i)<=0?s=s.W:(a=s,s=s.U);return a}$(s,i){let a=this.h;for(;s;){let u=this.v(s.u,i);if(u<0)a=s,s=s.W;else{if(!(u>0))return s;s=s.U}}return a}rr(s,i){let a=this.h;for(;s;)this.v(s.u,i)<0?(a=s,s=s.W):s=s.U;return a}ue(s){for(;;){let i=s.tt;if(i===this.h)return;if(s.ee===1)return void(s.ee=0);if(s===i.U){let a=i.W;if(a.ee===1)a.ee=0,i.ee=1,i===this.Y?this.Y=i.te():i.te();else{if(a.W&&a.W.ee===1)return a.ee=i.ee,i.ee=0,a.W.ee=0,void(i===this.Y?this.Y=i.te():i.te());a.U&&a.U.ee===1?(a.ee=1,a.U.ee=0,a.se()):(a.ee=1,s=i)}}else{let a=i.U;if(a.ee===1)a.ee=0,i.ee=1,i===this.Y?this.Y=i.se():i.se();else{if(a.U&&a.U.ee===1)return a.ee=i.ee,i.ee=0,a.U.ee=0,void(i===this.Y?this.Y=i.se():i.se());a.W&&a.W.ee===1?(a.ee=1,a.W.ee=0,a.te()):(a.ee=1,s=i)}}}}fe(s){if(this.i===1)return this.clear(),this.h;let i=s;for(;i.U||i.W;){if(i.W)for(i=i.W;i.U;)i=i.U;else i=i.U;[s.u,i.u]=[i.u,s.u],[s.l,i.l]=[i.l,s.l],s=i}this.h.U===i?this.h.U=i.tt:this.h.W===i&&(this.h.W=i.tt),this.ue(i);let a=i.tt;return i===a.U?a.U=void 0:a.W=void 0,this.i-=1,this.Y.ee=0,a}oe(s,i){return s!==void 0&&(!(!this.oe(s.U,i)&&!i(s))||this.oe(s.W,i))}he(s){for(;;){let i=s.tt;if(i.ee===0)return;let a=i.tt;if(i===a.U){let u=a.W;if(u&&u.ee===1){if(u.ee=i.ee=0,a===this.Y)return;a.ee=1,s=a;continue}if(s===i.W){if(s.ee=0,s.U&&(s.U.tt=i),s.W&&(s.W.tt=a),i.W=s.U,a.U=s.W,s.U=i,s.W=a,a===this.Y)this.Y=s,this.h.tt=s;else{let c=a.tt;c.U===a?c.U=s:c.W=s}return s.tt=a.tt,i.tt=s,a.tt=s,a.ee=1,{parentNode:i,grandParent:a,curNode:s}}i.ee=0,a===this.Y?this.Y=a.se():a.se(),a.ee=1}else{let u=a.U;if(u&&u.ee===1){if(u.ee=i.ee=0,a===this.Y)return;a.ee=1,s=a;continue}if(s===i.U){if(s.ee=0,s.U&&(s.U.tt=a),s.W&&(s.W.tt=i),a.W=s.U,i.U=s.W,s.U=a,s.W=i,a===this.Y)this.Y=s,this.h.tt=s;else{let c=a.tt;c.U===a?c.U=s:c.W=s}return s.tt=a.tt,i.tt=s,a.tt=s,a.ee=1,{parentNode:i,grandParent:a,curNode:s}}i.ee=0,a===this.Y?this.Y=a.te():a.te(),a.ee=1}return}}ne(s,i,a){if(this.Y===void 0)return this.i+=1,this.Y=new this.re(s,i),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,void(this.h.W=this.Y);let u,c=this.h.U,d=this.v(c.u,s);if(d!==0){if(d>0)c.U=new this.re(s,i),c.U.tt=c,u=c.U,this.h.U=u;else{let f=this.h.W,m=this.v(f.u,s);if(m===0)return void(f.l=i);if(m<0)f.W=new this.re(s,i),f.W.tt=f,u=f.W,this.h.W=u;else{if(a!==void 0){let b=a.o;if(b!==this.h){let _=this.v(b.u,s);if(_===0)return void(b.l=i);if(_>0){let S=b.L(),U=this.v(S.u,s);if(U===0)return void(S.l=i);U<0&&(u=new this.re(s,i),S.W===void 0?(S.W=u,u.tt=S):(b.U=u,u.tt=b))}}}if(u===void 0)for(u=this.Y;;){let b=this.v(u.u,s);if(b>0){if(u.U===void 0){u.U=new this.re(s,i),u.U.tt=u,u=u.U;break}u=u.U}else{if(!(b<0))return void(u.l=i);if(u.W===void 0){u.W=new this.re(s,i),u.W.tt=u,u=u.W;break}u=u.W}}}}return this.i+=1,u}c.l=i}I(s,i){for(;s;){let a=this.v(s.u,i);if(a<0)s=s.W;else{if(!(a>0))return s;s=s.U}}return s||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(s,i){let a=s.o;if(a===this.h&&(0,n.throwIteratorAccessError)(),this.i===1)return a.u=i,!0;if(a===this.h.U)return this.v(a.B().u,i)>0&&(a.u=i,!0);if(a===this.h.W)return this.v(a.L().u,i)<0&&(a.u=i,!0);let u=a.L().u;if(this.v(u,i)>=0)return!1;let c=a.B().u;return!(this.v(c,i)<=0)&&(a.u=i,!0)}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let i=0,a=this;return this.oe(this.Y,function(u){return s===i?(a.V(u),!0):(i+=1,!1)}),this.i}eraseElementByKey(s){if(this.i===0)return!1;let i=this.I(this.Y,s);return i!==this.h&&(this.V(i),!0)}eraseElementByIterator(s){let i=s.o;i===this.h&&(0,n.throwIteratorAccessError)();let a=i.W===void 0;return s.iteratorType===0?a&&s.next():(!a||i.U===void 0)&&s.next(),this.V(i),s}forEach(s){let i=0;for(let a of this)s(a,i++,this)}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let i,a=0;for(let u of this){if(a===s){i=u;break}a+=1}return i}getHeight(){if(this.i===0)return 0;let s=function(i){return i?Math.max(s(i.U),s(i.W))+1:0};return s(this.Y)}},o=l;t.default=o}),Lp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=yr(),r=br(),n=class extends e.ContainerIterator{constructor(l,o,s){super(s),this.o=l,this.h=o,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let l=this.o,o=this.h.tt;if(l===this.h)return o?o.rt-1:0;let s=0;for(l.U&&(s+=l.U.rt);l!==o;){let i=l.tt;l===i.W&&(s+=1,i.U&&(s+=i.U.rt)),l=i}return s}};t.default=n}),z0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=l(Mp()),r=l(Lp()),n=br();function l(i){return i&&i.t?i:{default:i}}var o=class jp extends r.default{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.u}copy(){return new jp(this.o,this.h,this.container,this.iteratorType)}},s=class extends e.default{constructor(i=[],a,u){super(a,u);let c=this;i.forEach(function(d){c.insert(d)})}*K(i){i!==void 0&&(yield*this.K(i.U),yield i.u,yield*this.K(i.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(i,a){return this.M(i,void 0,a)}find(i){let a=this.I(this.Y,i);return new o(a,this.h,this)}lowerBound(i){let a=this.X(this.Y,i);return new o(a,this.h,this)}upperBound(i){let a=this.Z(this.Y,i);return new o(a,this.h,this)}reverseLowerBound(i){let a=this.$(this.Y,i);return new o(a,this.h,this)}reverseUpperBound(i){let a=this.rr(this.Y,i);return new o(a,this.h,this)}union(i){let a=this;return i.forEach(function(u){a.insert(u)}),this.i}[Symbol.iterator](){return this.K(this.Y)}};t.default=s}),K0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=l(Mp()),r=l(Lp()),n=br();function l(i){return i&&i.t?i:{default:i}}var o=class Up extends r.default{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){this.o===this.h&&(0,n.throwIteratorAccessError)();let a=this;return new Proxy([],{get:(u,c)=>c==="0"?a.o.u:c==="1"?a.o.l:void 0,set(u,c,d){if(c!=="1")throw new TypeError("props must be 1");return a.o.l=d,!0}})}copy(){return new Up(this.o,this.h,this.container,this.iteratorType)}},s=class extends e.default{constructor(i=[],a,u){super(a,u);let c=this;i.forEach(function(d){c.setElement(d[0],d[1])})}*K(i){i!==void 0&&(yield*this.K(i.U),yield[i.u,i.l],yield*this.K(i.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i===0)return;let i=this.h.U;return[i.u,i.l]}back(){if(this.i===0)return;let i=this.h.W;return[i.u,i.l]}lowerBound(i){let a=this.X(this.Y,i);return new o(a,this.h,this)}upperBound(i){let a=this.Z(this.Y,i);return new o(a,this.h,this)}reverseLowerBound(i){let a=this.$(this.Y,i);return new o(a,this.h,this)}reverseUpperBound(i){let a=this.rr(this.Y,i);return new o(a,this.h,this)}setElement(i,a,u){return this.M(i,a,u)}find(i){let a=this.I(this.Y,i);return new o(a,this.h,this)}getElementByKey(i){return this.I(this.Y,i).l}union(i){let a=this;return i.forEach(function(u){a.setElement(u[0],u[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}};t.default=s}),Np=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=function(e){let r=typeof e;return r==="object"&&e!==null||r==="function"}}),Dp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.HashContainerIterator=t.HashContainer=void 0;var e,r=yr(),n=(e=Np())&&e.t?e:{default:e},l=br(),o=class extends r.ContainerIterator{constructor(i,a,u){super(u),this.o=i,this.h=a,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this})}};t.HashContainerIterator=o;var s=class extends r.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(i){let{L:a,B:u}=i;a.B=u,u.L=a,i===this.p&&(this.p=u),i===this._&&(this._=a),this.i-=1}M(i,a,u){let c;if(u===void 0&&(u=(0,n.default)(i)),u){let d=i[this.HASH_TAG];if(d!==void 0)return this.H[d].l=a,this.i;Object.defineProperty(i,this.HASH_TAG,{value:this.H.length,configurable:!0}),c={u:i,l:a,L:this._,B:this.h},this.H.push(c)}else{let d=this.g[i];if(d)return d.l=a,this.i;c={u:i,l:a,L:this._,B:this.h},this.g[i]=c}return this.i===0?(this.p=c,this.h.B=c):this._.B=c,this._=c,this.h.L=c,++this.i}I(i,a){if(a===void 0&&(a=(0,n.default)(i)),a){let u=i[this.HASH_TAG];return u===void 0?this.h:this.H[u]}return this.g[i]||this.h}clear(){let i=this.HASH_TAG;this.H.forEach(function(a){delete a.u[i]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(i,a){let u;if(a===void 0&&(a=(0,n.default)(i)),a){let c=i[this.HASH_TAG];if(c===void 0)return!1;delete i[this.HASH_TAG],u=this.H[c],delete this.H[c]}else{if(u=this.g[i],u===void 0)return!1;delete this.g[i]}return this.V(u),!0}eraseElementByIterator(i){let a=i.o;return a===this.h&&(0,l.throwIteratorAccessError)(),this.V(a),i.next()}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return this.V(a),this.i}};t.HashContainer=s}),G0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=Dp(),r=br(),n=class Fp extends e.HashContainerIterator{constructor(s,i,a,u){super(s,i,u),this.container=a}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.u}copy(){return new Fp(this.o,this.h,this.container,this.iteratorType)}},l=class extends e.HashContainer{constructor(o=[]){super();let s=this;o.forEach(function(i){s.insert(i)})}begin(){return new n(this.p,this.h,this)}end(){return new n(this.h,this.h,this)}rBegin(){return new n(this._,this.h,this,1)}rEnd(){return new n(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(o,s){return this.M(o,void 0,s)}getElementByPos(o){if(o<0||o>this.i-1)throw new RangeError;let s=this.p;for(;o--;)s=s.B;return s.u}find(o,s){let i=this.I(o,s);return new n(i,this.h,this)}forEach(o){let s=0,i=this.p;for(;i!==this.h;)o(i.u,s++,this),i=i.B}[Symbol.iterator](){return(function*(){let o=this.p;for(;o!==this.h;)yield o.u,o=o.B}).bind(this)()}};t.default=l}),Q0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=Dp(),n=(e=Np())&&e.t?e:{default:e},l=br(),o=class Wp extends r.HashContainerIterator{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){this.o===this.h&&(0,l.throwIteratorAccessError)();let a=this;return new Proxy([],{get:(u,c)=>c==="0"?a.o.u:c==="1"?a.o.l:void 0,set(u,c,d){if(c!=="1")throw new TypeError("props must be 1");return a.o.l=d,!0}})}copy(){return new Wp(this.o,this.h,this.container,this.iteratorType)}},s=class extends r.HashContainer{constructor(i=[]){super();let a=this;i.forEach(function(u){a.setElement(u[0],u[1])})}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(i,a,u){return this.M(i,a,u)}getElementByKey(i,a){if(a===void 0&&(a=(0,n.default)(i)),a){let c=i[this.HASH_TAG];return c!==void 0?this.H[c].l:void 0}let u=this.g[i];return u?u.l:void 0}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return[a.u,a.l]}find(i,a){let u=this.I(i,a);return new o(u,this.h,this)}forEach(i){let a=0,u=this.p;for(;u!==this.h;)i([u.u,u.l],a++,this),u=u.B}[Symbol.iterator](){return(function*(){let i=this.p;for(;i!==this.h;)yield[i.u,i.l],i=i.B}).bind(this)()}};t.default=s}),Y0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),Object.defineProperty(t,"Deque",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"HashMap",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"HashSet",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"LinkList",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"OrderedMap",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"OrderedSet",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"PriorityQueue",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"Queue",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"Stack",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(t,"Vector",{enumerable:!0,get:function(){return l.default}});var e=d(D0()),r=d(F0()),n=d(W0()),l=d($0()),o=d(V0()),s=d(q0()),i=d(z0()),a=d(K0()),u=d(G0()),c=d(Q0());function d(f){return f&&f.t?f:{default:f}}}),J0=mt((t,e)=>{ct(),ft(),ht();var r=Y0().OrderedSet,n=pr()("number-allocator:trace"),l=pr()("number-allocator:error");function o(i,a){this.low=i,this.high=a}function s(i,a){if(!(this instanceof s))return new s(i,a);this.min=i,this.max=a,this.ss=new r([],(u,c)=>u.compare(c)),n("Create"),this.clear()}o.prototype.equals=function(i){return this.low===i.low&&this.high===i.high},o.prototype.compare=function(i){return this.lowi)&&(c===i?(this.ss.updateKeyByIterator(u,new o(c+1,d)),n("use():"+i),!0):d===i?(this.ss.updateKeyByIterator(u,new o(c,d-1)),n("use():"+i),!0):(this.ss.updateKeyByIterator(u,new o(i+1,d)),this.ss.insert(new o(c,i-1)),n("use():"+i),!0))}return n("use():failed"),!1},s.prototype.free=function(i){if(ithis.max)return void l("free():"+i+" is out of range");let a=new o(i,i),u=this.ss.upperBound(a);if(u.equals(this.ss.end())){if(u.equals(this.ss.begin()))return void this.ss.insert(a);u.pre();let c=u.pointer.high;u.pointer.high+1===i?this.ss.updateKeyByIterator(u,new o(c,i)):this.ss.insert(a)}else if(u.equals(this.ss.begin()))if(i+1===u.pointer.low){let c=u.pointer.high;this.ss.updateKeyByIterator(u,new o(i,c))}else this.ss.insert(a);else{let c=u.pointer.low,d=u.pointer.high;u.pre();let f=u.pointer.low;u.pointer.high+1===i?i+1===c?(this.ss.eraseElementByIterator(u),this.ss.updateKeyByIterator(u,new o(f,d))):this.ss.updateKeyByIterator(u,new o(f,i)):i+1===c?(this.ss.eraseElementByIterator(u.next()),this.ss.insert(new o(i,d))):this.ss.insert(a)}n("free():"+i)},s.prototype.clear=function(){n("clear()"),this.ss.clear(),this.ss.insert(new o(this.min,this.max))},s.prototype.intervalCount=function(){return this.ss.size()},s.prototype.dump=function(){for(let i of this.ss);},e.exports=s}),$p=mt((t,e)=>{ct(),ft(),ht();var r=J0();e.exports.NumberAllocator=r}),X0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=N0(),r=$p();t.default=class{constructor(n){n>0&&(this.aliasToTopic=new e.LRUCache({max:n}),this.topicToAlias={},this.numberAllocator=new r.NumberAllocator(1,n),this.max=n,this.length=0)}put(n,l){if(l===0||l>this.max)return!1;let o=this.aliasToTopic.get(l);return o&&delete this.topicToAlias[o],this.aliasToTopic.set(l,n),this.topicToAlias[n]=l,this.numberAllocator.use(l),this.length=this.aliasToTopic.size,!0}getTopicByAlias(n){return this.aliasToTopic.get(n)}getAliasByTopic(n){let l=this.topicToAlias[n];return typeof l<"u"&&this.aliasToTopic.get(l),l}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}}}),Z0=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0});var r=Lo(),n=e(X0()),l=Nn();t.default=(o,s)=>{o.log("_handleConnack");let{options:i}=o,a=i.protocolVersion===5?s.reasonCode:s.returnCode;if(clearTimeout(o.connackTimer),delete o.topicAliasSend,s.properties){if(s.properties.topicAliasMaximum){if(s.properties.topicAliasMaximum>65535)return void o.emit("error",new Error("topicAliasMaximum from broker is out of range"));s.properties.topicAliasMaximum>0&&(o.topicAliasSend=new n.default(s.properties.topicAliasMaximum))}s.properties.serverKeepAlive&&i.keepalive&&(i.keepalive=s.properties.serverKeepAlive),s.properties.maximumPacketSize&&(i.properties||(i.properties={}),i.properties.maximumPacketSize=s.properties.maximumPacketSize)}if(a===0)o.reconnecting=!1,o._onConnect(s);else if(a>0){let u=new l.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[a]}`,a);o.emit("error",u)}}}),ty=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,r,n)=>{e.log("handling pubrel packet");let l=typeof n<"u"?n:e.noop,{messageId:o}=r,s={cmd:"pubcomp",messageId:o};e.incomingStore.get(r,(i,a)=>{i?e._sendPacket(s,l):(e.emit("message",a.topic,a.payload,a),e.handleMessage(a,u=>{if(u)return l(u);e.incomingStore.del(a,e.noop),e._sendPacket(s,l)}))})}}),ey=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(t,"__esModule",{value:!0});var r=e(L0()),n=e(U0()),l=e(Z0()),o=e(Lo()),s=e(ty());t.default=(i,a,u)=>{let{options:c}=i;if(c.protocolVersion===5&&c.properties&&c.properties.maximumPacketSize&&c.properties.maximumPacketSize{ct(),ft(),ht();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0}),t.TypedEventEmitter=void 0;var r=e((Un(),Dt(gn))),n=Nn(),l=class{};t.TypedEventEmitter=l,(0,n.applyMixin)(l,r.default)}),jo=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.isReactNativeBrowser=t.isWebWorker=void 0;var e,r=()=>{var o,s;return!(typeof self!="object"||(s=(o=self==null?void 0:self.constructor)===null||o===void 0?void 0:o.name)===null||s===void 0||!s.includes("WorkerGlobalScope"))},n=()=>typeof navigator<"u"&&navigator.product==="ReactNative",l=typeof window<"u"&&(typeof navigator<"u"&&((e=navigator.userAgent)===null||e===void 0?void 0:e.toLowerCase().indexOf(" electron/"))>-1&&Nt!=null&&Nt.versions?!Object.prototype.hasOwnProperty.call(Nt.versions,"electron"):typeof window.document<"u")||r()||n();t.isWebWorker=r(),t.isReactNativeBrowser=n(),t.default=l}),ny=mt((t,e)=>{var r,n;ct(),ft(),ht(),r=t,n=function(l){var o,s=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,i=536870912,a=2*i,u=new WeakMap,c=function(f,m){return function(b){var _=m.get(b),S=_===void 0?b.size:_s)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;b.has(S);)S=Math.floor(Math.random()*s);return f(b,S)}}((o=u,function(f,m){return o.set(f,m),m}),u),d=function(f){return function(m){var b=f(m);return m.add(b),b}}(c);l.addUniqueNumber=d,l.generateUniqueNumber=c},typeof t=="object"&&typeof e<"u"?n(t):typeof define=="function"&&define.amd?define(["exports"],n):n((r=typeof globalThis<"u"?globalThis:r||self).fastUniqueNumbers={})}),iy=mt((t,e)=>{var r,n;ct(),ft(),ht(),r=t,n=function(l,o){l.load=function(s){var i=new Map([[0,function(){}]]),a=new Map([[0,function(){}]]),u=new Map,c=new Worker(s);return c.addEventListener("message",function(d){var f=d.data;if(function(w){return w.method!==void 0&&w.method==="call"}(f)){var m=f.params,b=m.timerId,_=m.timerType;if(_==="interval"){var S=i.get(b);if(typeof S=="number"){var U=u.get(S);if(U===void 0||U.timerId!==b||U.timerType!==_)throw new Error("The timer is in an undefined state.")}else{if(!(typeof S<"u"))throw new Error("The timer is in an undefined state.");S()}}else if(_==="timeout"){var D=a.get(b);if(typeof D=="number"){var K=u.get(D);if(K===void 0||K.timerId!==b||K.timerType!==_)throw new Error("The timer is in an undefined state.")}else{if(!(typeof D<"u"))throw new Error("The timer is in an undefined state.");D(),a.delete(b)}}}else{if(!function(w){return w.error===null&&typeof w.id=="number"}(f)){var $=f.error.message;throw new Error($)}var Y=f.id,B=u.get(Y);if(B===void 0)throw new Error("The timer is in an undefined state.");var I=B.timerId,E=B.timerType;u.delete(Y),E==="interval"?i.delete(I):a.delete(I)}}),{clearInterval:function(d){var f=o.generateUniqueNumber(u);u.set(f,{timerId:d,timerType:"interval"}),i.set(d,f),c.postMessage({id:f,method:"clear",params:{timerId:d,timerType:"interval"}})},clearTimeout:function(d){var f=o.generateUniqueNumber(u);u.set(f,{timerId:d,timerType:"timeout"}),a.set(d,f),c.postMessage({id:f,method:"clear",params:{timerId:d,timerType:"timeout"}})},setInterval:function(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,m=o.generateUniqueNumber(i);return i.set(m,function(){d(),typeof i.get(m)=="function"&&c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:m,timerType:"interval"}})}),c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:m,timerType:"interval"}}),m},setTimeout:function(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,m=o.generateUniqueNumber(a);return a.set(m,d),c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:m,timerType:"timeout"}}),m}}}},typeof t=="object"&&typeof e<"u"?n(t,ny()):typeof define=="function"&&define.amd?define(["exports","fast-unique-numbers"],n):n((r=typeof globalThis<"u"?globalThis:r||self).workerTimersBroker={},r.fastUniqueNumbers)}),oy=mt((t,e)=>{var r,n;ct(),ft(),ht(),r=t,n=function(l,o){var s=function(i,a){var u=null;return function(){if(u!==null)return u;var c=new Blob([a],{type:"application/javascript; charset=utf-8"}),d=URL.createObjectURL(c);return u=i(d),setTimeout(function(){return URL.revokeObjectURL(d)}),u}}(o.load,`(()=>{var e={472:(e,t,r)=>{var o,i;void 0===(i="function"==typeof(o=function(){"use strict";var e=new Map,t=new Map,r=function(t){var r=e.get(t);if(void 0===r)throw new Error('There is no interval scheduled with the given id "'.concat(t,'".'));clearTimeout(r),e.delete(t)},o=function(e){var r=t.get(e);if(void 0===r)throw new Error('There is no timeout scheduled with the given id "'.concat(e,'".'));clearTimeout(r),t.delete(e)},i=function(e,t){var r,o=performance.now();return{expected:o+(r=e-Math.max(0,o-t)),remainingDelay:r}},n=function e(t,r,o,i){var n=performance.now();n>o?postMessage({id:null,method:"call",params:{timerId:r,timerType:i}}):t.set(r,setTimeout(e,o-n,t,r,o,i))},a=function(t,r,o){var a=i(t,o),s=a.expected,d=a.remainingDelay;e.set(r,setTimeout(n,d,e,r,s,"interval"))},s=function(e,r,o){var a=i(e,o),s=a.expected,d=a.remainingDelay;t.set(r,setTimeout(n,d,t,r,s,"timeout"))};addEventListener("message",(function(e){var t=e.data;try{if("clear"===t.method){var i=t.id,n=t.params,d=n.timerId,c=n.timerType;if("interval"===c)r(d),postMessage({error:null,id:i});else{if("timeout"!==c)throw new Error('The given type "'.concat(c,'" is not supported'));o(d),postMessage({error:null,id:i})}}else{if("set"!==t.method)throw new Error('The given method "'.concat(t.method,'" is not supported'));var u=t.params,l=u.delay,p=u.now,m=u.timerId,v=u.timerType;if("interval"===v)a(l,m,p);else{if("timeout"!==v)throw new Error('The given type "'.concat(v,'" is not supported'));s(l,m,p)}}}catch(e){postMessage({error:{message:e.message},id:t.id,result:null})}}))})?o.call(t,r,t,e):o)||(e.exports=i)}},t={};function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`);l.clearInterval=function(i){return s().clearInterval(i)},l.clearTimeout=function(i){return s().clearTimeout(i)},l.setInterval=function(){var i;return(i=s()).setInterval.apply(i,arguments)},l.setTimeout=function(){var i;return(i=s()).setTimeout.apply(i,arguments)}},typeof t=="object"&&typeof e<"u"?n(t,iy()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],n):n((r=typeof globalThis<"u"?globalThis:r||self).workerTimers={},r.workerTimersBroker)}),sy=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(a,u,c,d){d===void 0&&(d=c);var f=Object.getOwnPropertyDescriptor(u,c);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[c]}}),Object.defineProperty(a,d,f)}:function(a,u,c,d){d===void 0&&(d=c),a[d]=u[c]}),r=t&&t.__setModuleDefault||(Object.create?function(a,u){Object.defineProperty(a,"default",{enumerable:!0,value:u})}:function(a,u){a.default=u}),n=t&&t.__importStar||function(a){if(a&&a.__esModule)return a;var u={};if(a!=null)for(var c in a)c!=="default"&&Object.prototype.hasOwnProperty.call(a,c)&&e(u,a,c);return r(u,a),u};Object.defineProperty(t,"__esModule",{value:!0});var l=n(jo()),o=oy(),s={set:o.setInterval,clear:o.clearInterval},i={set:(a,u)=>setInterval(a,u),clear:a=>clearInterval(a)};t.default=a=>{switch(a){case"native":return i;case"worker":return s;default:return!l.default||l.isWebWorker||l.isReactNativeBrowser?i:s}}}),Vp=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(t,"__esModule",{value:!0});var r=e(sy());t.default=class{get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}constructor(n,l){this.destroyed=!1,this.client=n,this.timer=typeof l=="object"&&"set"in l&&"clear"in l?l:(0,r.default)(l),this.setKeepalive(n.options.keepalive)}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(n){if(n*=1e3,isNaN(n)||n<=0||n>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${n}`);this._keepalive=n,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${n}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let n=Math.ceil(1.5*this._keepalive);this._keepaliveTimeoutTimestamp=Date.now()+n,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}}}),Ka=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(Y,B,I,E){E===void 0&&(E=I);var w=Object.getOwnPropertyDescriptor(B,I);(!w||("get"in w?!B.__esModule:w.writable||w.configurable))&&(w={enumerable:!0,get:function(){return B[I]}}),Object.defineProperty(Y,E,w)}:function(Y,B,I,E){E===void 0&&(E=I),Y[E]=B[I]}),r=t&&t.__setModuleDefault||(Object.create?function(Y,B){Object.defineProperty(Y,"default",{enumerable:!0,value:B})}:function(Y,B){Y.default=B}),n=t&&t.__importStar||function(Y){if(Y&&Y.__esModule)return Y;var B={};if(Y!=null)for(var I in Y)I!=="default"&&Object.prototype.hasOwnProperty.call(Y,I)&&e(B,Y,I);return r(B,Y),B},l=t&&t.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(t,"__esModule",{value:!0});var o=l(Ym()),s=l(R0()),i=l(Ip()),a=mn(),u=l(B0()),c=n(M0()),d=l(pr()),f=l(Tp()),m=l(ey()),b=Nn(),_=ry(),S=l(Vp()),U=n(jo()),D=globalThis.setImmediate||((...Y)=>{let B=Y.shift();(0,b.nextTick)(()=>{B(...Y)})}),K={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:3e4,clean:!0,resubscribe:!0,writeCache:!0,timerVariant:"auto"},$=class Ga extends _.TypedEventEmitter{static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}constructor(B,I){super(),this.options=I||{};for(let E in K)typeof this.options[E]>"u"?this.options[E]=K[E]:this.options[E]=I[E];this.log=this.options.log||(0,d.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",Ga.VERSION),U.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",U.default?"browser":"node"),this.log("MqttClient :: options.protocol",I.protocol),this.log("MqttClient :: options.protocolVersion",I.protocolVersion),this.log("MqttClient :: options.username",I.username),this.log("MqttClient :: options.keepalive",I.keepalive),this.log("MqttClient :: options.reconnectPeriod",I.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",I.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",I.properties?I.properties.topicAliasMaximum:void 0),this.options.clientId=typeof I.clientId=="string"?I.clientId:Ga.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=I.protocolVersion===5&&I.customHandleAcks?I.customHandleAcks:(...E)=>{E[3](null,0)},this.options.writeCache||(s.default.writeToStream.cacheNumbers=!1),this.streamBuilder=B,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new i.default:this.options.messageIdProvider,this.outgoingStore=I.outgoingStore||new f.default,this.incomingStore=I.incomingStore||new f.default,this.queueQoSZero=I.queueQoSZero===void 0||I.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,I.properties&&I.properties.topicAliasMaximum>0&&(I.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new o.default(I.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:E}=this,w=()=>{let P=E.shift();this.log("deliver :: entry %o",P);let R=null;if(!P)return void this._resubscribe();R=P.packet,this.log("deliver :: call _sendPacket for %o",R);let et=!0;R.messageId&&R.messageId!==0&&(this.messageIdProvider.register(R.messageId)||(et=!1)),et?this._sendPacket(R,st=>{P.cb&&P.cb(st),w()}):(this.log("messageId: %d has already used. The message is skipped and removed.",R.messageId),w())};this.log("connect :: sending queued packets"),w()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}handleAuth(B,I){I()}handleMessage(B,I){I()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var B;let I=new a.Writable,E=s.default.parser(this.options),w=null,P=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new f.default,this.outgoingStore=this.options.outgoingStore||new f.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),E.on("packet",X=>{this.log("parser :: on packet push to packets array."),P.push(X)});let R=()=>{this.log("work :: getting next packet in queue");let X=P.shift();if(X)this.log("work :: packet pulled from queue"),(0,m.default)(this,X,et);else{this.log("work :: no packets in queue");let j=w;w=null,this.log("work :: done flag is %s",!!j),j&&j()}},et=()=>{if(P.length)(0,b.nextTick)(R);else{let X=w;w=null,X()}};I._write=(X,j,N)=>{w=N,this.log("writable stream :: parsing buffer"),E.parse(X),R()},this.log("connect :: pipe stream to writable stream"),this.stream.pipe(I),this.stream.on("error",X=>{this.log("streamErrorHandler :: error",X.message),X.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",X)):this.noop(X)}),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let st={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(st.will=Object.assign(Object.assign({},this.options.will),{payload:(B=this.options.will)===null||B===void 0?void 0:B.payload})),this.topicAliasRecv&&(st.properties||(st.properties={}),this.topicAliasRecv&&(st.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(st),E.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let X=Object.assign({cmd:"auth",reasonCode:0},this.options.authPacket);this._writePacket(X)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(B,I,E,w){this.log("publish :: message `%s` to topic `%s`",I,B);let{options:P}=this;typeof E=="function"&&(w=E,E=null),E=E||{},E=Object.assign(Object.assign({},{qos:0,retain:!1,dup:!1}),E);let{qos:R,retain:et,dup:st,properties:X,cbStorePut:j}=E;if(this._checkDisconnecting(w))return this;let N=()=>{let V=0;if((R===1||R===2)&&(V=this._nextId(),V===null))return this.log("No messageId left"),!1;let nt={cmd:"publish",topic:B,payload:I,qos:R,retain:et,messageId:V,dup:st};switch(P.protocolVersion===5&&(nt.properties=X),this.log("publish :: qos",R),R){case 1:case 2:this.outgoing[nt.messageId]={volatile:!1,cb:w||this.noop},this.log("MqttClient:publish: packet cmd: %s",nt.cmd),this._sendPacket(nt,void 0,j);break;default:this.log("MqttClient:publish: packet cmd: %s",nt.cmd),this._sendPacket(nt,w,j)}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!N())&&this._storeProcessingQueue.push({invoke:N,cbStorePut:E.cbStorePut,callback:w}),this}publishAsync(B,I,E){return new Promise((w,P)=>{this.publish(B,I,E,(R,et)=>{R?P(R):w(et)})})}subscribe(B,I,E){let w=this.options.protocolVersion;typeof I=="function"&&(E=I),E=E||this.noop;let P=!1,R=[];typeof B=="string"?R=B=[B]:Array.isArray(B)?R=B:typeof B=="object"&&(P=B.resubscribe,delete B.resubscribe,R=Object.keys(B));let et=c.validateTopics(R);if(et!==null)return D(E,new Error(`Invalid topic ${et}`)),this;if(this._checkDisconnecting(E))return this.log("subscribe: discconecting true"),this;let st={qos:0};w===5&&(st.nl=!1,st.rap=!1,st.rh=0);let X=(I=Object.assign(Object.assign({},st),I)).properties,j=[],N=(nt,Q)=>{if(Q=Q||I,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,nt)||this._resubscribeTopics[nt].qos{this.log("subscribe: array topic %s",nt),N(nt)}):Object.keys(B).forEach(nt=>{this.log("subscribe: object topic %s, %o",nt,B[nt]),N(nt,B[nt])}),!j.length)return E(null,[]),this;let V=()=>{let nt=this._nextId();if(nt===null)return this.log("No messageId left"),!1;let Q={cmd:"subscribe",subscriptions:j,messageId:nt};if(X&&(Q.properties=X),this.options.resubscribe){this.log("subscribe :: resubscribe true");let G=[];j.forEach(T=>{if(this.options.reconnectPeriod>0){let q={qos:T.qos};w===5&&(q.nl=T.nl||!1,q.rap=T.rap||!1,q.rh=T.rh||0,q.properties=T.properties),this._resubscribeTopics[T.topic]=q,G.push(T.topic)}}),this.messageIdToTopic[Q.messageId]=G}return this.outgoing[Q.messageId]={volatile:!0,cb(G,T){if(!G){let{granted:q}=T;for(let tt=0;tt0||!V())&&this._storeProcessingQueue.push({invoke:V,callback:E}),this}subscribeAsync(B,I){return new Promise((E,w)=>{this.subscribe(B,I,(P,R)=>{P?w(P):E(R)})})}unsubscribe(B,I,E){typeof B=="string"&&(B=[B]),typeof I=="function"&&(E=I),E=E||this.noop;let w=c.validateTopics(B);if(w!==null)return D(E,new Error(`Invalid topic ${w}`)),this;if(this._checkDisconnecting(E))return this;let P=()=>{let R=this._nextId();if(R===null)return this.log("No messageId left"),!1;let et={cmd:"unsubscribe",messageId:R,unsubscriptions:[]};return typeof B=="string"?et.unsubscriptions=[B]:Array.isArray(B)&&(et.unsubscriptions=B),this.options.resubscribe&&et.unsubscriptions.forEach(st=>{delete this._resubscribeTopics[st]}),typeof I=="object"&&I.properties&&(et.properties=I.properties),this.outgoing[et.messageId]={volatile:!0,cb:E},this.log("unsubscribe: call _sendPacket"),this._sendPacket(et),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!P())&&this._storeProcessingQueue.push({invoke:P,callback:E}),this}unsubscribeAsync(B,I){return new Promise((E,w)=>{this.unsubscribe(B,I,(P,R)=>{P?w(P):E(R)})})}end(B,I,E){this.log("end :: (%s)",this.options.clientId),(B==null||typeof B!="boolean")&&(E=E||I,I=B,B=!1),typeof I!="object"&&(E=E||I,I=null),this.log("end :: cb? %s",!!E),(!E||typeof E!="function")&&(E=this.noop);let w=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(R=>{this.outgoingStore.close(et=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),E){let st=R||et;this.log("end :: closeStores: invoking callback with args"),E(st)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},P=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,B),this._cleanUp(B,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,b.nextTick)(w)},I)};return this.disconnecting?(E(),this):(this._clearReconnect(),this.disconnecting=!0,!B&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,P,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),P()),this)}endAsync(B,I){return new Promise((E,w)=>{this.end(B,I,P=>{P?w(P):E()})})}removeOutgoingMessage(B){if(this.outgoing[B]){let{cb:I}=this.outgoing[B];this._removeOutgoingAndStoreMessage(B,()=>{I(new Error("Message removed"))})}return this}reconnect(B){this.log("client reconnect");let I=()=>{B?(this.options.incomingStore=B.incomingStore,this.options.outgoingStore=B.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new f.default,this.outgoingStore=this.options.outgoingStore||new f.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=I:I(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(B=>{this.outgoing[B].volatile&&typeof this.outgoing[B].cb=="function"&&(this.outgoing[B].cb(new Error("Connection closed")),delete this.outgoing[B])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(B=>{typeof this.outgoing[B].cb=="function"&&(this.outgoing[B].cb(new Error("Connection closed")),delete this.outgoing[B])}))}_removeTopicAliasAndRecoverTopicName(B){let I;B.properties&&(I=B.properties.topicAlias);let E=B.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",I,E),E.length===0){if(typeof I>"u")return new Error("Unregistered Topic Alias");if(E=this.topicAliasSend.getTopicByAlias(I),typeof E>"u")return new Error("Unregistered Topic Alias");B.topic=E}I&&delete B.properties.topicAlias}_checkDisconnecting(B){return this.disconnecting&&(B&&B!==this.noop?B(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(B,I,E={}){if(I&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",I)),this.log("_cleanUp :: forced? %s",B),B)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let w=Object.assign({cmd:"disconnect"},E);this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket(w,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),D(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),I&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",I),I())}_storeAndSend(B,I,E){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",B.cmd);let w,P=B;if(P.cmd==="publish"&&(P=(0,u.default)(B),w=this._removeTopicAliasAndRecoverTopicName(P),w))return I&&I(w);this.outgoingStore.put(P,R=>{if(R)return I&&I(R);E(),this._writePacket(B,I)})}_applyTopicAlias(B){if(this.options.protocolVersion===5&&B.cmd==="publish"){let I;B.properties&&(I=B.properties.topicAlias);let E=B.topic.toString();if(this.topicAliasSend)if(I){if(E.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",E,I),!this.topicAliasSend.put(E,I)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",E,I),new Error("Sending Topic Alias out of range")}else E.length!==0&&(this.options.autoAssignTopicAlias?(I=this.topicAliasSend.getAliasByTopic(E),I?(B.topic="",B.properties=Object.assign(Object.assign({},B.properties),{topicAlias:I}),this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",E,I)):(I=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(E,I),B.properties=Object.assign(Object.assign({},B.properties),{topicAlias:I}),this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",E,I))):this.options.autoUseTopicAlias&&(I=this.topicAliasSend.getAliasByTopic(E),I&&(B.topic="",B.properties=Object.assign(Object.assign({},B.properties),{topicAlias:I}),this.log("applyTopicAlias :: auto use topic: %s - alias: %d",E,I))));else if(I)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",E,I),new Error("Sending Topic Alias out of range")}}_noop(B){this.log("noop ::",B)}_writePacket(B,I){this.log("_writePacket :: packet: %O",B),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",B),this.log("_writePacket :: writing to stream");let E=s.default.writeToStream(B,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",E),!E&&I&&I!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",I)):I&&(this.log("_writePacket :: invoking cb"),I())}_sendPacket(B,I,E,w){this.log("_sendPacket :: (%s) :: start",this.options.clientId),E=E||this.noop,I=I||this.noop;let P=this._applyTopicAlias(B);if(P)I(P);else{if(!this.connected)return B.cmd==="auth"?void this._writePacket(B,I):(this.log("_sendPacket :: client not connected. Storing packet offline."),void this._storePacket(B,I,E));if(w)this._writePacket(B,I);else{switch(B.cmd){case"publish":break;case"pubrel":return void this._storeAndSend(B,I,E);default:return void this._writePacket(B,I)}switch(B.qos){case 2:case 1:this._storeAndSend(B,I,E);break;default:this._writePacket(B,I)}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}}}_storePacket(B,I,E){this.log("_storePacket :: packet: %o",B),this.log("_storePacket :: cb? %s",!!I),E=E||this.noop;let w=B;if(w.cmd==="publish"){w=(0,u.default)(B);let R=this._removeTopicAliasAndRecoverTopicName(w);if(R)return I&&I(R)}let P=w.qos||0;P===0&&this.queueQoSZero||w.cmd!=="publish"?this.queue.push({packet:w,cb:I}):P>0?(I=this.outgoing[w.messageId]?this.outgoing[w.messageId].cb:null,this.outgoingStore.put(w,R=>{if(R)return I&&I(R);E()})):I&&I(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new S.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(B=!1){this.keepaliveManager&&this.options.keepalive&&(B||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let B=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&B.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let I=0;I{let E=this.outgoingStore.createStream(),w=()=>{E.destroy(),E=null,this._flushStoreProcessingQueue(),P()},P=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",w),E.on("error",et=>{P(),this._flushStoreProcessingQueue(),this.removeListener("close",w),this.emit("error",et)});let R=()=>{if(!E)return;let et,st=E.read(1);st?(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[st.messageId]?R():this.disconnecting||this.reconnectTimer?E.destroy&&E.destroy():(et=this.outgoing[st.messageId]?this.outgoing[st.messageId].cb:null,this.outgoing[st.messageId]={volatile:!1,cb(X,j){et&&et(X,j),R()}},this._packetIdsDuringStoreProcessing[st.messageId]=!0,this.messageIdProvider.register(st.messageId)?this._sendPacket(st,void 0,void 0,!0):this.log("messageId: %d has already used.",st.messageId))):E.once("readable",R)};E.on("end",()=>{let et=!0;for(let st in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[st]){et=!1;break}this.removeListener("close",w),et?(P(),this._invokeAllStoreProcessingQueue(),this.emit("connect",B)):I()}),R()};I()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let B=this._storeProcessingQueue[0];if(B&&B.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let B of this._storeProcessingQueue)B.cbStorePut&&B.cbStorePut(new Error("Connection closed")),B.callback&&B.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(B,I){delete this.outgoing[B],this.outgoingStore.del({messageId:B},(E,w)=>{I(E,w),this.messageIdProvider.deallocate(B),this._invokeStoreProcessingQueue()})}};$.VERSION=b.MQTTJS_VERSION,t.default=$}),ay=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=$p();t.default=class{constructor(){this.numberAllocator=new e.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(r){return this.numberAllocator.use(r)}deallocate(r){this.numberAllocator.free(r)}clear(){this.numberAllocator.clear()}}});function Yr(t){throw new RangeError(Hp[t])}function Ec(t,e){let r=t.split("@"),n="";return r.length>1&&(n=r[0]+"@",t=r[1]),n+function(l,o){let s=[],i=l.length;for(;i--;)s[i]=o(l[i]);return s}((t=t.replace(qp,".")).split("."),e).join(".")}function Sc(t){let e=[],r=0,n=t.length;for(;r=55296&&l<=56319&&r{ct(),ft(),ht(),Ac=/^xn--/,kc=/[^\0-\x7E]/,qp=/[\x2E\u3002\uFF0E\uFF61]/g,Hp={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Be=Math.floor,Li=String.fromCharCode,ys=function(t,e){return t+22+75*(t<26)-((e!=0)<<5)},bs=function(t,e,r){let n=0;for(t=r?Be(t/700):t>>1,t+=Be(t/e);t>455;n+=36)t=Be(t/35);return Be(n+36*t/(t+38))},vs=function(t){let e=[],r=t.length,n=0,l=128,o=72,s=t.lastIndexOf("-");s<0&&(s=0);for(let a=0;a=128&&Yr("not-basic"),e.push(t.charCodeAt(a));for(let a=s>0?s+1:0;a=r&&Yr("invalid-input");let m=(i=t.charCodeAt(a++))-48<10?i-22:i-65<26?i-65:i-97<26?i-97:36;(m>=36||m>Be((2147483647-n)/d))&&Yr("overflow"),n+=m*d;let b=f<=o?1:f>=o+26?26:f-o;if(mBe(2147483647/_)&&Yr("overflow"),d*=_}let c=e.length+1;o=bs(n-u,c,u==0),Be(n/c)>2147483647-l&&Yr("overflow"),l+=Be(n/c),n%=c,e.splice(n++,0,l)}var i;return String.fromCodePoint(...e)},ws=function(t){let e=[],r=(t=Sc(t)).length,n=128,l=0,o=72;for(let a of t)a<128&&e.push(Li(a));let s=e.length,i=s;for(s&&e.push("-");i=n&&cBe((2147483647-l)/u)&&Yr("overflow"),l+=(a-n)*u,n=a;for(let c of t)if(c2147483647&&Yr("overflow"),c==n){let d=l;for(let f=36;;f+=36){let m=f<=o?1:f>=o+26?26:f-o;if(dString.fromCodePoint(...t)},decode:vs,encode:ws,toASCII:function(t){return Ec(t,function(e){return kc.test(e)?"xn--"+ws(e):e})},toUnicode:function(t){return Ec(t,function(e){return Ac.test(e)?vs(e.slice(4).toLowerCase()):e})}},Xr.encode,Xr.toASCII,Xr.toUnicode,Xr.ucs2,Xr.version});function uy(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var Ic,wn,Tc,er,cy=ne(()=>{ct(),ft(),ht(),Ic=function(t,e,r,n){e=e||"&",r=r||"=";var l={};if(typeof t!="string"||t.length===0)return l;var o=/\+/g;t=t.split(e);var s=1e3;n&&typeof n.maxKeys=="number"&&(s=n.maxKeys);var i=t.length;s>0&&i>s&&(i=s);for(var a=0;a=0?(u=m.substr(0,b),c=m.substr(b+1)):(u=m,c=""),d=decodeURIComponent(u),f=decodeURIComponent(c),uy(l,d)?Array.isArray(l[d])?l[d].push(f):l[d]=[l[d],f]:l[d]=f}return l},wn=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}},Tc=function(t,e,r,n){return e=e||"&",r=r||"=",t===null&&(t=void 0),typeof t=="object"?Object.keys(t).map(function(l){var o=encodeURIComponent(wn(l))+r;return Array.isArray(t[l])?t[l].map(function(s){return o+encodeURIComponent(wn(s))}).join(e):o+encodeURIComponent(wn(t[l]))}).join(e):n?encodeURIComponent(wn(n))+r+encodeURIComponent(wn(t)):""},(er={}).decode=er.parse=Ic,er.encode=er.stringify=Tc,er.decode,er.encode,er.parse,er.stringify});function Qa(){throw new Error("setTimeout has not been defined")}function Ya(){throw new Error("clearTimeout has not been defined")}function zp(t){if(nr===setTimeout)return setTimeout(t,0);if((nr===Qa||!nr)&&setTimeout)return nr=setTimeout,setTimeout(t,0);try{return nr(t,0)}catch{try{return nr.call(null,t,0)}catch{return nr.call(this||ln,t,0)}}}function hy(){un&&nn&&(un=!1,nn.length?ze=nn.concat(ze):li=-1,ze.length&&Kp())}function Kp(){if(!un){var t=zp(hy);un=!0;for(var e=ze.length;e;){for(nn=ze,ze=[];++li{ct(),ft(),ht(),ln=typeof globalThis<"u"?globalThis:typeof self<"u"?self:to,Gt=xc={},function(){try{nr=typeof setTimeout=="function"?setTimeout:Qa}catch{nr=Qa}try{ir=typeof clearTimeout=="function"?clearTimeout:Ya}catch{ir=Ya}}(),ze=[],un=!1,li=-1,Gt.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r1)for(var S=1;S{ct(),ft(),ht(),Zi={},Ja=!1,Zr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:to,(Kt=py()).platform="browser",Kt.addListener,Kt.argv,Kt.binding,Kt.browser,Kt.chdir,Kt.cwd,Kt.emit,Kt.env,Kt.listeners,Kt.nextTick,Kt.off,Kt.on,Kt.once,Kt.prependListener,Kt.prependOnceListener,Kt.removeAllListeners,Kt.removeListener,Kt.title,Kt.umask,Kt.version,Kt.versions}),_s,Es,Xa,dy=ne(()=>{ct(),ft(),ht(),Gp(),_s={},Es=!1,Xa=function(){if(Es)return _s;Es=!0;var t=Kt;function e(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function r(l,o){for(var s,i="",a=0,u=-1,c=0,d=0;d<=l.length;++d){if(d2){var f=i.lastIndexOf("/");if(f!==i.length-1){f===-1?(i="",a=0):a=(i=i.slice(0,f)).length-1-i.lastIndexOf("/"),u=d,c=0;continue}}else if(i.length===2||i.length===1){i="",a=0,u=d,c=0;continue}}o&&(i.length>0?i+="/..":i="..",a=2)}else i.length>0?i+="/"+l.slice(u+1,d):i=l.slice(u+1,d),a=d-u-1;u=d,c=0}else s===46&&c!==-1?++c:c=-1}return i}var n={resolve:function(){for(var l,o="",s=!1,i=arguments.length-1;i>=-1&&!s;i--){var a;i>=0?a=arguments[i]:(l===void 0&&(l=t.cwd()),a=l),e(a),a.length!==0&&(o=a+"/"+o,s=a.charCodeAt(0)===47)}return o=r(o,!s),s?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(l){if(e(l),l.length===0)return".";var o=l.charCodeAt(0)===47,s=l.charCodeAt(l.length-1)===47;return(l=r(l,!o)).length===0&&!o&&(l="."),l.length>0&&s&&(l+="/"),o?"/"+l:l},isAbsolute:function(l){return e(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,o=0;o0&&(l===void 0?l=s:l+="/"+s)}return l===void 0?".":n.normalize(l)},relative:function(l,o){if(e(l),e(o),l===o||(l=n.resolve(l))===(o=n.resolve(o)))return"";for(var s=1;sd){if(o.charCodeAt(u+m)===47)return o.slice(u+m+1);if(m===0)return o.slice(u+m)}else a>d&&(l.charCodeAt(s+m)===47?f=m:m===0&&(f=0));break}var b=l.charCodeAt(s+m);if(b!==o.charCodeAt(u+m))break;b===47&&(f=m)}var _="";for(m=s+f+1;m<=i;++m)(m===i||l.charCodeAt(m)===47)&&(_.length===0?_+="..":_+="/..");return _.length>0?_+o.slice(u+f):(u+=f,o.charCodeAt(u)===47&&++u,o.slice(u))},_makeLong:function(l){return l},dirname:function(l){if(e(l),l.length===0)return".";for(var o=l.charCodeAt(0),s=o===47,i=-1,a=!0,u=l.length-1;u>=1;--u)if((o=l.charCodeAt(u))===47){if(!a){i=u;break}}else a=!1;return i===-1?s?"/":".":s&&i===1?"//":l.slice(0,i)},basename:function(l,o){if(o!==void 0&&typeof o!="string")throw new TypeError('"ext" argument must be a string');e(l);var s,i=0,a=-1,u=!0;if(o!==void 0&&o.length>0&&o.length<=l.length){if(o.length===l.length&&o===l)return"";var c=o.length-1,d=-1;for(s=l.length-1;s>=0;--s){var f=l.charCodeAt(s);if(f===47){if(!u){i=s+1;break}}else d===-1&&(u=!1,d=s+1),c>=0&&(f===o.charCodeAt(c)?--c==-1&&(a=s):(c=-1,a=d))}return i===a?a=d:a===-1&&(a=l.length),l.slice(i,a)}for(s=l.length-1;s>=0;--s)if(l.charCodeAt(s)===47){if(!u){i=s+1;break}}else a===-1&&(u=!1,a=s+1);return a===-1?"":l.slice(i,a)},extname:function(l){e(l);for(var o=-1,s=0,i=-1,a=!0,u=0,c=l.length-1;c>=0;--c){var d=l.charCodeAt(c);if(d!==47)i===-1&&(a=!1,i=c+1),d===46?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1);else if(!a){s=c+1;break}}return o===-1||i===-1||u===0||u===1&&o===i-1&&o===s+1?"":l.slice(o,i)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(o,s){var i=s.dir||s.root,a=s.base||(s.name||"")+(s.ext||"");return i?i===s.root?i+a:i+o+a:a}("/",l)},parse:function(l){e(l);var o={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return o;var s,i=l.charCodeAt(0),a=i===47;a?(o.root="/",s=1):s=0;for(var u=-1,c=0,d=-1,f=!0,m=l.length-1,b=0;m>=s;--m)if((i=l.charCodeAt(m))!==47)d===-1&&(f=!1,d=m+1),i===46?u===-1?u=m:b!==1&&(b=1):u!==-1&&(b=-1);else if(!f){c=m+1;break}return u===-1||d===-1||b===0||b===1&&u===d-1&&u===c+1?d!==-1&&(o.base=o.name=c===0&&a?l.slice(1,d):l.slice(c,d)):(c===0&&a?(o.name=l.slice(1,u),o.base=l.slice(1,d)):(o.name=l.slice(c,u),o.base=l.slice(c,d)),o.ext=l.slice(u,d)),c>0?o.dir=l.slice(0,c-1):a&&(o.dir="/"),o},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,_s=n}()}),Qp={};function Ae(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function zn(t,e,r){if(t&&Me.isObject(t)&&t instanceof Ae)return t;var n=new Ae;return n.parse(t,e,r),n}function gy(t){if(typeof t=="string")t=new URL(t);else if(!(t instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(t.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return po?function(e){let r=e.hostname,n=e.pathname;for(let l=0;led||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return n.slice(1)}}(t):function(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let r=e.pathname;for(let n=0;nyd||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return n.slice(1)}}(t):function(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let r=e.pathname;for(let n=0;npd,Url:()=>ld,default:()=>jt,fileURLToPath:()=>Yp,format:()=>ud,parse:()=>fd,pathToFileURL:()=>Jp,resolve:()=>cd,resolveObject:()=>hd});var jt,Cc,Me,Rc,Pc,Bc,Mc,ji,Ss,As,ks,Lc,jc,Ui,Jr,Ni,Is,Ts,Za,Uc,Xp,Zp,td,ed,po,rd,nd,id,od,sd,ad,Nc,ld,ud,cd,hd,fd,pd,dd,gd,md,yd,go,bd,vd,wd,_d,Ed,Sd,yy=ne(()=>{ct(),ft(),ht(),ly(),cy(),fy(),dy(),Gp(),Cc=Xr,Me={isString:function(t){return typeof t=="string"},isObject:function(t){return typeof t=="object"&&t!==null},isNull:function(t){return t===null},isNullOrUndefined:function(t){return t==null}},(jt={}).parse=zn,jt.resolve=function(t,e){return zn(t,!1,!0).resolve(e)},jt.resolveObject=function(t,e){return t?zn(t,!1,!0).resolveObject(e):e},jt.format=function(t){return Me.isString(t)&&(t=zn(t)),t instanceof Ae?t.format():Ae.prototype.format.call(t)},jt.Url=Ae,Rc=/^([a-z0-9.+-]+:)/i,Pc=/:[0-9]*$/,Bc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Mc=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` -`," "]),ji=["'"].concat(Mc),Ss=["%","/","?",";","#"].concat(ji),As=["/","?","#"],ks=/^[+a-z0-9A-Z_-]{0,63}$/,Lc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,jc={javascript:!0,"javascript:":!0},Ui={javascript:!0,"javascript:":!0},Jr={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},Ni=er,Ae.prototype.parse=function(t,e,r){if(!Me.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var n=t.indexOf("?"),l=n!==-1&&n127?$+="x":$+=K[Y];if(!$.match(ks)){var I=U.slice(0,b),E=U.slice(b+1),w=K.match(Lc);w&&(I.push(w[1]),E.unshift(w[2])),E.length&&(s="/"+E.join(".")+s),this.hostname=I.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),S||(this.hostname=Cc.toASCII(this.hostname));var P=this.port?":"+this.port:"",R=this.hostname||"";this.host=R+P,this.href+=this.host,S&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),s[0]!=="/"&&(s="/"+s))}if(!jc[u])for(b=0,D=ji.length;b0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift())),r.search=t.search,r.query=t.query,Me.isNull(r.pathname)&&Me.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!K.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var Y=K.slice(-1)[0],B=(r.host||t.host||K.length>1)&&(Y==="."||Y==="..")||Y==="",I=0,E=K.length;E>=0;E--)(Y=K[E])==="."?K.splice(E,1):Y===".."?(K.splice(E,1),I++):I&&(K.splice(E,1),I--);if(!U&&!D)for(;I--;I)K.unshift("..");!U||K[0]===""||K[0]&&K[0].charAt(0)==="/"||K.unshift(""),B&&K.join("/").substr(-1)!=="/"&&K.push("");var w,P=K[0]===""||K[0]&&K[0].charAt(0)==="/";return $&&(r.hostname=r.host=P?"":K.length?K.shift():"",(w=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift())),(U=U||r.host&&K.length)&&!P&&K.unshift(""),K.length?r.pathname=K.join("/"):(r.pathname=null,r.path=null),Me.isNull(r.pathname)&&Me.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},Ae.prototype.parseHost=function(){var t=this.host,e=Pc.exec(t);e&&((e=e[0])!==":"&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)},jt.Url,jt.format,jt.resolve,jt.resolveObject,Is={},Ts=!1,Za=function(){if(Ts)return Is;Ts=!0;var t=Qt;function e(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function r(l,o){for(var s,i="",a=0,u=-1,c=0,d=0;d<=l.length;++d){if(d2){var f=i.lastIndexOf("/");if(f!==i.length-1){f===-1?(i="",a=0):a=(i=i.slice(0,f)).length-1-i.lastIndexOf("/"),u=d,c=0;continue}}else if(i.length===2||i.length===1){i="",a=0,u=d,c=0;continue}}o&&(i.length>0?i+="/..":i="..",a=2)}else i.length>0?i+="/"+l.slice(u+1,d):i=l.slice(u+1,d),a=d-u-1;u=d,c=0}else s===46&&c!==-1?++c:c=-1}return i}var n={resolve:function(){for(var l,o="",s=!1,i=arguments.length-1;i>=-1&&!s;i--){var a;i>=0?a=arguments[i]:(l===void 0&&(l=t.cwd()),a=l),e(a),a.length!==0&&(o=a+"/"+o,s=a.charCodeAt(0)===47)}return o=r(o,!s),s?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(l){if(e(l),l.length===0)return".";var o=l.charCodeAt(0)===47,s=l.charCodeAt(l.length-1)===47;return(l=r(l,!o)).length===0&&!o&&(l="."),l.length>0&&s&&(l+="/"),o?"/"+l:l},isAbsolute:function(l){return e(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,o=0;o0&&(l===void 0?l=s:l+="/"+s)}return l===void 0?".":n.normalize(l)},relative:function(l,o){if(e(l),e(o),l===o||(l=n.resolve(l))===(o=n.resolve(o)))return"";for(var s=1;sd){if(o.charCodeAt(u+m)===47)return o.slice(u+m+1);if(m===0)return o.slice(u+m)}else a>d&&(l.charCodeAt(s+m)===47?f=m:m===0&&(f=0));break}var b=l.charCodeAt(s+m);if(b!==o.charCodeAt(u+m))break;b===47&&(f=m)}var _="";for(m=s+f+1;m<=i;++m)(m===i||l.charCodeAt(m)===47)&&(_.length===0?_+="..":_+="/..");return _.length>0?_+o.slice(u+f):(u+=f,o.charCodeAt(u)===47&&++u,o.slice(u))},_makeLong:function(l){return l},dirname:function(l){if(e(l),l.length===0)return".";for(var o=l.charCodeAt(0),s=o===47,i=-1,a=!0,u=l.length-1;u>=1;--u)if((o=l.charCodeAt(u))===47){if(!a){i=u;break}}else a=!1;return i===-1?s?"/":".":s&&i===1?"//":l.slice(0,i)},basename:function(l,o){if(o!==void 0&&typeof o!="string")throw new TypeError('"ext" argument must be a string');e(l);var s,i=0,a=-1,u=!0;if(o!==void 0&&o.length>0&&o.length<=l.length){if(o.length===l.length&&o===l)return"";var c=o.length-1,d=-1;for(s=l.length-1;s>=0;--s){var f=l.charCodeAt(s);if(f===47){if(!u){i=s+1;break}}else d===-1&&(u=!1,d=s+1),c>=0&&(f===o.charCodeAt(c)?--c==-1&&(a=s):(c=-1,a=d))}return i===a?a=d:a===-1&&(a=l.length),l.slice(i,a)}for(s=l.length-1;s>=0;--s)if(l.charCodeAt(s)===47){if(!u){i=s+1;break}}else a===-1&&(u=!1,a=s+1);return a===-1?"":l.slice(i,a)},extname:function(l){e(l);for(var o=-1,s=0,i=-1,a=!0,u=0,c=l.length-1;c>=0;--c){var d=l.charCodeAt(c);if(d!==47)i===-1&&(a=!1,i=c+1),d===46?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1);else if(!a){s=c+1;break}}return o===-1||i===-1||u===0||u===1&&o===i-1&&o===s+1?"":l.slice(o,i)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(o,s){var i=s.dir||s.root,a=s.base||(s.name||"")+(s.ext||"");return i?i===s.root?i+a:i+o+a:a}("/",l)},parse:function(l){e(l);var o={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return o;var s,i=l.charCodeAt(0),a=i===47;a?(o.root="/",s=1):s=0;for(var u=-1,c=0,d=-1,f=!0,m=l.length-1,b=0;m>=s;--m)if((i=l.charCodeAt(m))!==47)d===-1&&(f=!1,d=m+1),i===46?u===-1?u=m:b!==1&&(b=1):u!==-1&&(b=-1);else if(!f){c=m+1;break}return u===-1||d===-1||b===0||b===1&&u===d-1&&u===c+1?d!==-1&&(o.base=o.name=c===0&&a?l.slice(1,d):l.slice(c,d)):(c===0&&a?(o.name=l.slice(1,u),o.base=l.slice(1,d)):(o.name=l.slice(c,u),o.base=l.slice(c,d)),o.ext=l.slice(u,d)),c>0?o.dir=l.slice(0,c-1):a&&(o.dir="/"),o},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,Is=n}(),Uc=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,jt.URL=typeof URL<"u"?URL:null,jt.pathToFileURL=my,jt.fileURLToPath=gy,jt.Url,jt.format,jt.resolve,jt.resolveObject,jt.URL,Xp=92,Zp=47,td=97,ed=122,po=Uc==="win32",rd=/\//g,nd=/%/g,id=/\\/g,od=/\n/g,sd=/\r/g,ad=/\t/g,Nc=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,jt.URL=typeof URL<"u"?URL:null,jt.pathToFileURL=Jp,jt.fileURLToPath=Yp,ld=jt.Url,ud=jt.format,cd=jt.resolve,hd=jt.resolveObject,fd=jt.parse,pd=jt.URL,dd=92,gd=47,md=97,yd=122,go=Nc==="win32",bd=/\//g,vd=/%/g,wd=/\\/g,_d=/\n/g,Ed=/\r/g,Sd=/\t/g}),by=mt((t,e)=>{ct(),ft(),ht(),e.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),Fl=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.BufferedDuplex=t.writev=void 0;var e=mn(),r=(oe(),Dt(ie));function n(o,s){let i=new Array(o.length);for(let a=0;a{this.destroyed||this.push(a)})}_read(o){this.proxy.read(o)}_write(o,s,i){this.isSocketOpen?this.writeToProxy(o,s,i):this.writeQueue.push({chunk:o,encoding:s,cb:i})}_final(o){this.writeQueue=[],this.proxy.end(o)}_destroy(o,s){this.writeQueue=[],this.proxy.destroy(),s(o)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(o,s,i){this.proxy.write(o,s)===!1?this.proxy.once("drain",i):i()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:o,encoding:s,cb:i}=this.writeQueue.shift();this.writeToProxy(o,s,i)}}};t.BufferedDuplex=l}),Di=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(t,"__esModule",{value:!0}),t.streamBuilder=t.browserStreamBuilder=void 0;var r=(oe(),Dt(ie)),n=e(by()),l=e(pr()),o=mn(),s=e(jo()),i=Fl(),a=(0,l.default)("mqttjs:ws"),u=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function c(f,m){let b=`${f.protocol}://${f.hostname}:${f.port}${f.path}`;return typeof f.transformWsUrl=="function"&&(b=f.transformWsUrl(b,f,m)),b}function d(f){let m=f;return f.port||(f.protocol==="wss"?m.port=443:m.port=80),f.path||(m.path="/"),f.wsOptions||(m.wsOptions={}),!s.default&&!f.forceNativeWebSocket&&f.protocol==="wss"&&u.forEach(b=>{Object.prototype.hasOwnProperty.call(f,b)&&!Object.prototype.hasOwnProperty.call(f.wsOptions,b)&&(m.wsOptions[b]=f[b])}),m}t.streamBuilder=(f,m)=>{a("streamBuilder");let b=d(m);b.hostname=b.hostname||b.host||"localhost";let _=c(b,f),S=function(D,K,$){a("createWebSocket"),a(`protocol: ${$.protocolId} ${$.protocolVersion}`);let Y,B=$.protocolId==="MQIsdp"&&$.protocolVersion===3?"mqttv3.1":"mqtt";return a(`creating new Websocket for url: ${K} and protocol: ${B}`),Y=$.createWebsocket?$.createWebsocket(K,[B],$):new n.default(K,[B],$.wsOptions),Y}(0,_,b),U=n.default.createWebSocketStream(S,b.wsOptions);return U.url=_,S.on("close",()=>{U.destroy()}),U},t.browserStreamBuilder=(f,m)=>{a("browserStreamBuilder");let b,_=function(w){let P=d(w);if(P.hostname||(P.hostname=P.host),!P.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let R=new URL(document.URL);P.hostname=R.hostname,P.port||(P.port=Number(R.port))}return P.objectMode===void 0&&(P.objectMode=!(P.binary===!0||P.binary===void 0)),P}(m).browserBufferSize||524288,S=m.browserBufferTimeout||1e3,U=!m.objectMode,D=function(w,P){let R,et=P.protocolId==="MQIsdp"&&P.protocolVersion===3?"mqttv3.1":"mqtt",st=c(P,w);return R=P.createWebsocket?P.createWebsocket(st,[et],P):new WebSocket(st,[et]),R.binaryType="arraybuffer",R}(f,m),K=function(w,P,R){let et=new o.Transform({objectMode:w.objectMode});return et._write=P,et._flush=R,et}(m,function w(P,R,et){if(D.bufferedAmount>_)return void setTimeout(w,S,P,R,et);U&&typeof P=="string"&&(P=r.Buffer.from(P,"utf8"));try{D.send(P)}catch(st){return et(st)}et()},function(w){D.close(),w()});m.objectMode||(K._writev=i.writev.bind(K)),K.on("close",()=>{D.close()});let $=typeof D.addEventListener<"u";function Y(){a("WebSocket onOpen"),b instanceof i.BufferedDuplex&&b.socketReady()}function B(w){a("WebSocket onClose",w),b.end(),b.destroy()}function I(w){a("WebSocket onError",w);let P=new Error("WebSocket error");P.event=w,b.destroy(P)}async function E(w){let{data:P}=w;P=P instanceof ArrayBuffer?r.Buffer.from(P):P instanceof Blob?r.Buffer.from(await new Response(P).arrayBuffer()):r.Buffer.from(P,"utf8"),K&&!K.destroyed&&K.push(P)}return D.readyState===D.OPEN?(b=K,b.socket=D):(b=new i.BufferedDuplex(m,K,D),$?D.addEventListener("open",Y):D.onopen=Y),$?(D.addEventListener("close",B),D.addEventListener("error",I),D.addEventListener("message",E)):(D.onclose=B,D.onerror=I,D.onmessage=E),b}}),Wl={};function Vt(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}pn(Wl,{Server:()=>Vt,Socket:()=>Vt,Stream:()=>Vt,_createServerHandle:()=>Vt,_normalizeArgs:()=>Vt,_setSimultaneousAccepts:()=>Vt,connect:()=>Vt,createConnection:()=>Vt,createServer:()=>Vt,default:()=>Ad,isIP:()=>Vt,isIPv4:()=>Vt,isIPv6:()=>Vt});var Ad,kd=ne(()=>{ct(),ft(),ht(),Ad={_createServerHandle:Vt,_normalizeArgs:Vt,_setSimultaneousAccepts:Vt,connect:Vt,createConnection:Vt,createServer:Vt,isIP:Vt,isIPv4:Vt,isIPv6:Vt,Server:Vt,Socket:Vt,Stream:Vt}}),Dc=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(t,"__esModule",{value:!0});var r=e((kd(),Dt(Wl))),n=(0,e(pr()).default)("mqttjs:tcp");t.default=(l,o)=>{o.port=o.port||1883,o.hostname=o.hostname||o.host||"localhost";let{port:s,path:i}=o,a=o.hostname;return n("port %d and host %s",s,a),r.default.createConnection({port:s,host:a,path:i})}}),Id={};pn(Id,{default:()=>Td});var Td,vy=ne(()=>{ct(),ft(),ht(),Td={}}),Fc=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0});var r=e((vy(),Dt(Id))),n=e((kd(),Dt(Wl))),l=(0,e(pr()).default)("mqttjs:tls");t.default=(o,s)=>{s.port=s.port||8883,s.host=s.hostname||s.host||"localhost",n.default.isIP(s.host)===0&&(s.servername=s.host),s.rejectUnauthorized=s.rejectUnauthorized!==!1,delete s.path,l("port %d host %s rejectUnauthorized %b",s.port,s.host,s.rejectUnauthorized);let i=r.default.connect(s);function a(u){s.rejectUnauthorized&&o.emit("error",u),i.end()}return i.on("secureConnect",()=>{s.rejectUnauthorized&&!i.authorized?i.emit("error",new Error("TLS not authorized")):i.removeListener("error",a)}),i.on("error",a),i}}),Wc=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e,r,n,l=(oe(),Dt(ie)),o=mn(),s=Fl();t.default=(i,a)=>{if(a.hostname=a.hostname||a.host,!a.hostname)throw new Error("Could not determine host. Specify host manually.");let u=a.protocolId==="MQIsdp"&&a.protocolVersion===3?"mqttv3.1":"mqtt";(function(f){f.hostname||(f.hostname="localhost"),f.path||(f.path="/"),f.wsOptions||(f.wsOptions={})})(a);let c=function(f,m){let b=f.protocol==="wxs"?"wss":"ws",_=`${b}://${f.hostname}${f.path}`;return f.port&&f.port!==80&&f.port!==443&&(_=`${b}://${f.hostname}:${f.port}${f.path}`),typeof f.transformWsUrl=="function"&&(_=f.transformWsUrl(_,f,m)),_}(a,i);e=wx.connectSocket({url:c,protocols:[u]}),r=function(){let f=new o.Transform;return f._write=(m,b,_)=>{e.send({data:m.buffer,success(){_()},fail(S){_(new Error(S))}})},f._flush=m=>{e.close({success(){m()}})},f}(),(n=new s.BufferedDuplex(a,r,e))._destroy=(f,m)=>{e.close({success(){m&&m(f)}})};let d=n.destroy;return n.destroy=(f,m)=>(n.destroy=d,setTimeout(()=>{e.close({fail(){n._destroy(f,m)}})},0),n),e.onOpen(()=>{n.socketReady()}),e.onMessage(f=>{let{data:m}=f;m=m instanceof ArrayBuffer?l.Buffer.from(m):l.Buffer.from(m,"utf8"),r.push(m)}),e.onClose(()=>{n.emit("close"),n.end(),n.destroy()}),e.onError(f=>{let m=new Error(f.errMsg);n.destroy(m)}),n}}),$c=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e,r,n,l=(oe(),Dt(ie)),o=mn(),s=Fl(),i=!1;t.default=(a,u)=>{if(u.hostname=u.hostname||u.host,!u.hostname)throw new Error("Could not determine host. Specify host manually.");let c=u.protocolId==="MQIsdp"&&u.protocolVersion===3?"mqttv3.1":"mqtt";(function(f){f.hostname||(f.hostname="localhost"),f.path||(f.path="/"),f.wsOptions||(f.wsOptions={})})(u);let d=function(f,m){let b=f.protocol==="alis"?"wss":"ws",_=`${b}://${f.hostname}${f.path}`;return f.port&&f.port!==80&&f.port!==443&&(_=`${b}://${f.hostname}:${f.port}${f.path}`),typeof f.transformWsUrl=="function"&&(_=f.transformWsUrl(_,f,m)),_}(u,a);return(e=u.my).connectSocket({url:d,protocols:c}),r=function(){let f=new o.Transform;return f._write=(m,b,_)=>{e.sendSocketMessage({data:m.buffer,success(){_()},fail(){_(new Error)}})},f._flush=m=>{e.closeSocket({success(){m()}})},f}(),n=new s.BufferedDuplex(u,r,e),i||(i=!0,e.onSocketOpen(()=>{n.socketReady()}),e.onSocketMessage(f=>{if(typeof f.data=="string"){let m=l.Buffer.from(f.data,"base64");r.push(m)}else{let m=new FileReader;m.addEventListener("load",()=>{let b=m.result;b=b instanceof ArrayBuffer?l.Buffer.from(b):l.Buffer.from(b,"utf8"),r.push(b)}),m.readAsArrayBuffer(f.data)}}),e.onSocketClose(()=>{n.end(),n.destroy()}),e.onSocketError(f=>{n.destroy(f)})),n}}),wy=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.connectAsync=void 0;var r=e(pr()),n=e((yy(),Dt(Qp))),l=e(Ka()),o=e(jo());typeof(Nt==null?void 0:Nt.nextTick)!="function"&&(Nt.nextTick=setImmediate);var s=(0,r.default)("mqttjs"),i=null;function a(u,c){var d,f,m,b;if(s("connecting to an MQTT broker..."),typeof u=="object"&&!c&&(c=u,u=""),c=c||{},u&&typeof u=="string"){let S=n.default.parse(u,!0),U={};if(S.port!=null&&(U.port=Number(S.port)),U.host=S.hostname,U.query=S.query,U.auth=S.auth,U.protocol=S.protocol,U.path=S.path,U.protocol=(d=U.protocol)===null||d===void 0?void 0:d.replace(/:$/,""),!(c=Object.assign(Object.assign({},U),c)).protocol)throw new Error("Missing protocol")}if(c.unixSocket=c.unixSocket||((f=c.protocol)===null||f===void 0?void 0:f.includes("+unix")),c.unixSocket?c.protocol=c.protocol.replace("+unix",""):(m=c.protocol)!==null&&m!==void 0&&m.startsWith("ws")||(b=c.protocol)!==null&&b!==void 0&&b.startsWith("wx")||delete c.path,function(S){let U;S.auth&&(U=S.auth.match(/^(.+):(.+)$/),U?(S.username=U[1],S.password=U[2]):S.username=S.auth)}(c),c.query&&typeof c.query.clientId=="string"&&(c.clientId=c.query.clientId),c.cert&&c.key){if(!c.protocol)throw new Error("Missing secure protocol key");if(["mqtts","wss","wxs","alis"].indexOf(c.protocol)===-1)switch(c.protocol){case"mqtt":c.protocol="mqtts";break;case"ws":c.protocol="wss";break;case"wx":c.protocol="wxs";break;case"ali":c.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${c.protocol}"!`)}}if(i||(i={},o.default||c.forceNativeWebSocket?(i.ws=Di().browserStreamBuilder,i.wss=Di().browserStreamBuilder,i.wx=Wc().default,i.wxs=Wc().default,i.ali=$c().default,i.alis=$c().default):(i.ws=Di().streamBuilder,i.wss=Di().streamBuilder,i.mqtt=Dc().default,i.tcp=Dc().default,i.ssl=Fc().default,i.tls=i.ssl,i.mqtts=Fc().default)),!i[c.protocol]){let S=["mqtts","wss"].indexOf(c.protocol)!==-1;c.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((U,D)=>(!S||D%2!=0)&&typeof i[U]=="function")[0]}if(c.clean===!1&&!c.clientId)throw new Error("Missing clientId for unclean clients");c.protocol&&(c.defaultProtocol=c.protocol);let _=new l.default(function(S){return c.servers&&((!S._reconnectCount||S._reconnectCount===c.servers.length)&&(S._reconnectCount=0),c.host=c.servers[S._reconnectCount].host,c.port=c.servers[S._reconnectCount].port,c.protocol=c.servers[S._reconnectCount].protocol?c.servers[S._reconnectCount].protocol:c.defaultProtocol,c.hostname=c.host,S._reconnectCount++),s("calling streambuilder for",c.protocol),i[c.protocol](S,c)},c);return _.on("error",()=>{}),_}t.connectAsync=function(u,c,d=!0){return new Promise((f,m)=>{let b=a(u,c),_={connect:U=>{S(),f(b)},end:()=>{S(),f(b)},error:U=>{S(),b.end(),m(U)}};function S(){Object.keys(_).forEach(U=>{b.off(U,_[U])})}d===!1&&(_.close=()=>{_.error(new Error("Couldn't connect to server"))}),Object.keys(_).forEach(U=>{b.on(U,_[U])})})},t.default=a}),Vc=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(m,b,_,S){S===void 0&&(S=_);var U=Object.getOwnPropertyDescriptor(b,_);(!U||("get"in U?!b.__esModule:U.writable||U.configurable))&&(U={enumerable:!0,get:function(){return b[_]}}),Object.defineProperty(m,S,U)}:function(m,b,_,S){S===void 0&&(S=_),m[S]=b[_]}),r=t&&t.__setModuleDefault||(Object.create?function(m,b){Object.defineProperty(m,"default",{enumerable:!0,value:b})}:function(m,b){m.default=b}),n=t&&t.__importStar||function(m){if(m&&m.__esModule)return m;var b={};if(m!=null)for(var _ in m)_!=="default"&&Object.prototype.hasOwnProperty.call(m,_)&&e(b,m,_);return r(b,m),b},l=t&&t.__exportStar||function(m,b){for(var _ in m)_!=="default"&&!Object.prototype.hasOwnProperty.call(b,_)&&e(b,m,_)},o=t&&t.__importDefault||function(m){return m&&m.__esModule?m:{default:m}};Object.defineProperty(t,"__esModule",{value:!0}),t.ReasonCodes=t.KeepaliveManager=t.UniqueMessageIdProvider=t.DefaultMessageIdProvider=t.Store=t.MqttClient=t.connectAsync=t.connect=t.Client=void 0;var s=o(Ka());t.MqttClient=s.default;var i=o(Ip());t.DefaultMessageIdProvider=i.default;var a=o(ay());t.UniqueMessageIdProvider=a.default;var u=o(Tp());t.Store=u.default;var c=n(wy());t.connect=c.default,Object.defineProperty(t,"connectAsync",{enumerable:!0,get:function(){return c.connectAsync}});var d=o(Vp());t.KeepaliveManager=d.default,t.Client=s.default,l(Ka(),t),l(Nn(),t);var f=Lo();Object.defineProperty(t,"ReasonCodes",{enumerable:!0,get:function(){return f.ReasonCodes}})});const ob=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(s,i,a,u){u===void 0&&(u=a);var c=Object.getOwnPropertyDescriptor(i,a);(!c||("get"in c?!i.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return i[a]}}),Object.defineProperty(s,u,c)}:function(s,i,a,u){u===void 0&&(u=a),s[u]=i[a]}),r=t&&t.__setModuleDefault||(Object.create?function(s,i){Object.defineProperty(s,"default",{enumerable:!0,value:i})}:function(s,i){s.default=i}),n=t&&t.__importStar||function(s){if(s&&s.__esModule)return s;var i={};if(s!=null)for(var a in s)a!=="default"&&Object.prototype.hasOwnProperty.call(s,a)&&e(i,s,a);return r(i,s),i},l=t&&t.__exportStar||function(s,i){for(var a in s)a!=="default"&&!Object.prototype.hasOwnProperty.call(i,a)&&e(i,s,a)};Object.defineProperty(t,"__esModule",{value:!0});var o=n(Vc());t.default=o,l(Vc(),t)})();/*! Bundled license information: - -@jspm/core/nodelibs/browser/buffer.js: - (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) -*/var ye="top",Ce="bottom",Re="right",be="left",tl="auto",Ai=[ye,Ce,Re,be],Pn="start",vi="end",Od="viewport",Kn="popper",qc=Ai.reduce(function(t,e){return t.concat([e+"-"+Pn,e+"-"+vi])},[]),xd=[].concat(Ai,[tl]).reduce(function(t,e){return t.concat([e,e+"-"+Pn,e+"-"+vi])},[]),_y=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Qe(t){return t?(t.nodeName||"").toLowerCase():null}function Pe(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function fn(t){return t instanceof Pe(t).Element||t instanceof Element}function Te(t){return t instanceof Pe(t).HTMLElement||t instanceof HTMLElement}function $l(t){return typeof ShadowRoot<"u"&&(t instanceof Pe(t).ShadowRoot||t instanceof ShadowRoot)}const Ey={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach(function(r){var n=e.styles[r]||{},l=e.attributes[r]||{},o=e.elements[r];Te(o)&&Qe(o)&&(Object.assign(o.style,n),Object.keys(l).forEach(function(s){var i=l[s];i===!1?o.removeAttribute(s):o.setAttribute(s,i===!0?"":i)}))})},effect:function(t){var e=t.state,r={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,r.popper),e.styles=r,e.elements.arrow&&Object.assign(e.elements.arrow.style,r.arrow),function(){Object.keys(e.elements).forEach(function(n){var l=e.elements[n],o=e.attributes[n]||{},s=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:r[n]).reduce(function(i,a){return i[a]="",i},{});Te(l)&&Qe(l)&&(Object.assign(l.style,s),Object.keys(o).forEach(function(i){l.removeAttribute(i)}))})}},requires:["computeStyles"]};function Ke(t){return t.split("-")[0]}var cn=Math.max,mo=Math.min,Bn=Math.round;function el(){var t=navigator.userAgentData;return t!=null&&t.brands?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Cd(){return!/^((?!chrome|android).)*safari/i.test(el())}function Mn(t,e,r){e===void 0&&(e=!1),r===void 0&&(r=!1);var n=t.getBoundingClientRect(),l=1,o=1;e&&Te(t)&&(l=t.offsetWidth>0&&Bn(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Bn(n.height)/t.offsetHeight||1);var s=(fn(t)?Pe(t):window).visualViewport,i=!Cd()&&r,a=(n.left+(i&&s?s.offsetLeft:0))/l,u=(n.top+(i&&s?s.offsetTop:0))/o,c=n.width/l,d=n.height/o;return{width:c,height:d,top:u,right:a+c,bottom:u+d,left:a,x:a,y:u}}function Vl(t){var e=Mn(t),r=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:r,height:n}}function Rd(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&$l(r)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function ur(t){return Pe(t).getComputedStyle(t)}function Sy(t){return["table","td","th"].indexOf(Qe(t))>=0}function Lr(t){return((fn(t)?t.ownerDocument:t.document)||window.document).documentElement}function Uo(t){return Qe(t)==="html"?t:t.assignedSlot||t.parentNode||($l(t)?t.host:null)||Lr(t)}function Hc(t){return Te(t)&&ur(t).position!=="fixed"?t.offsetParent:null}function ki(t){for(var e=Pe(t),r=Hc(t);r&&Sy(r)&&ur(r).position==="static";)r=Hc(r);return r&&(Qe(r)==="html"||Qe(r)==="body"&&ur(r).position==="static")?e:r||function(n){var l=/firefox/i.test(el());if(/Trident/i.test(el())&&Te(n)&&ur(n).position==="fixed")return null;var o=Uo(n);for($l(o)&&(o=o.host);Te(o)&&["html","body"].indexOf(Qe(o))<0;){var s=ur(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||l&&s.willChange==="filter"||l&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}(t)||e}function ql(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Yn(t,e,r){return cn(t,mo(e,r))}function Pd(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Bd(t,e){return e.reduce(function(r,n){return r[n]=t,r},{})}const Ay={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,r=t.state,n=t.name,l=t.options,o=r.elements.arrow,s=r.modifiersData.popperOffsets,i=Ke(r.placement),a=ql(i),u=[be,Re].indexOf(i)>=0?"height":"width";if(o&&s){var c=function(E,w){return Pd(typeof(E=typeof E=="function"?E(Object.assign({},w.rects,{placement:w.placement})):E)!="number"?E:Bd(E,Ai))}(l.padding,r),d=Vl(o),f=a==="y"?ye:be,m=a==="y"?Ce:Re,b=r.rects.reference[u]+r.rects.reference[a]-s[a]-r.rects.popper[u],_=s[a]-r.rects.reference[a],S=ki(o),U=S?a==="y"?S.clientHeight||0:S.clientWidth||0:0,D=b/2-_/2,K=c[f],$=U-d[u]-c[m],Y=U/2-d[u]/2+D,B=Yn(K,Y,$),I=a;r.modifiersData[n]=((e={})[I]=B,e.centerOffset=B-Y,e)}},effect:function(t){var e=t.state,r=t.options.element,n=r===void 0?"[data-popper-arrow]":r;n!=null&&(typeof n!="string"||(n=e.elements.popper.querySelector(n)))&&Rd(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ln(t){return t.split("-")[1]}var ky={top:"auto",right:"auto",bottom:"auto",left:"auto"};function zc(t){var e,r=t.popper,n=t.popperRect,l=t.placement,o=t.variation,s=t.offsets,i=t.position,a=t.gpuAcceleration,u=t.adaptive,c=t.roundOffsets,d=t.isFixed,f=s.x,m=f===void 0?0:f,b=s.y,_=b===void 0?0:b,S=typeof c=="function"?c({x:m,y:_}):{x:m,y:_};m=S.x,_=S.y;var U=s.hasOwnProperty("x"),D=s.hasOwnProperty("y"),K=be,$=ye,Y=window;if(u){var B=ki(r),I="clientHeight",E="clientWidth";B===Pe(r)&&ur(B=Lr(r)).position!=="static"&&i==="absolute"&&(I="scrollHeight",E="scrollWidth"),(l===ye||(l===be||l===Re)&&o===vi)&&($=Ce,_-=(d&&B===Y&&Y.visualViewport?Y.visualViewport.height:B[I])-n.height,_*=a?1:-1),(l===be||(l===ye||l===Ce)&&o===vi)&&(K=Re,m-=(d&&B===Y&&Y.visualViewport?Y.visualViewport.width:B[E])-n.width,m*=a?1:-1)}var w,P=Object.assign({position:i},u&&ky),R=c===!0?function(et){var st=et.x,X=et.y,j=window.devicePixelRatio||1;return{x:Bn(st*j)/j||0,y:Bn(X*j)/j||0}}({x:m,y:_}):{x:m,y:_};return m=R.x,_=R.y,a?Object.assign({},P,((w={})[$]=D?"0":"",w[K]=U?"0":"",w.transform=(Y.devicePixelRatio||1)<=1?"translate("+m+"px, "+_+"px)":"translate3d("+m+"px, "+_+"px, 0)",w)):Object.assign({},P,((e={})[$]=D?_+"px":"",e[K]=U?m+"px":"",e.transform="",e))}var Fi={passive:!0},Iy={left:"right",right:"left",bottom:"top",top:"bottom"};function Wi(t){return t.replace(/left|right|bottom|top/g,function(e){return Iy[e]})}var Ty={start:"end",end:"start"};function Kc(t){return t.replace(/start|end/g,function(e){return Ty[e]})}function Hl(t){var e=Pe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function rl(t){return Mn(Lr(t)).left+Hl(t).scrollLeft}function zl(t){var e=ur(t),r=e.overflow,n=e.overflowX,l=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+l+n)}function Md(t){return["html","body","#document"].indexOf(Qe(t))>=0?t.ownerDocument.body:Te(t)&&zl(t)?t:Md(Uo(t))}function ui(t,e){var r;e===void 0&&(e=[]);var n=Md(t),l=n===((r=t.ownerDocument)==null?void 0:r.body),o=Pe(n),s=l?[o].concat(o.visualViewport||[],zl(n)?n:[]):n,i=e.concat(s);return l?i:i.concat(ui(Uo(s)))}function nl(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Gc(t,e,r){return e===Od?nl(function(n,l){var o=Pe(n),s=Lr(n),i=o.visualViewport,a=s.clientWidth,u=s.clientHeight,c=0,d=0;if(i){a=i.width,u=i.height;var f=Cd();(f||!f&&l==="fixed")&&(c=i.offsetLeft,d=i.offsetTop)}return{width:a,height:u,x:c+rl(n),y:d}}(t,r)):fn(e)?function(n,l){var o=Mn(n,!1,l==="fixed");return o.top=o.top+n.clientTop,o.left=o.left+n.clientLeft,o.bottom=o.top+n.clientHeight,o.right=o.left+n.clientWidth,o.width=n.clientWidth,o.height=n.clientHeight,o.x=o.left,o.y=o.top,o}(e,r):nl(function(n){var l,o=Lr(n),s=Hl(n),i=(l=n.ownerDocument)==null?void 0:l.body,a=cn(o.scrollWidth,o.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),u=cn(o.scrollHeight,o.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),c=-s.scrollLeft+rl(n),d=-s.scrollTop;return ur(i||o).direction==="rtl"&&(c+=cn(o.clientWidth,i?i.clientWidth:0)-a),{width:a,height:u,x:c,y:d}}(Lr(t)))}function Oy(t,e,r,n){var l=e==="clippingParents"?function(a){var u=ui(Uo(a)),c=["absolute","fixed"].indexOf(ur(a).position)>=0&&Te(a)?ki(a):a;return fn(c)?u.filter(function(d){return fn(d)&&Rd(d,c)&&Qe(d)!=="body"}):[]}(t):[].concat(e),o=[].concat(l,[r]),s=o[0],i=o.reduce(function(a,u){var c=Gc(t,u,n);return a.top=cn(c.top,a.top),a.right=mo(c.right,a.right),a.bottom=mo(c.bottom,a.bottom),a.left=cn(c.left,a.left),a},Gc(t,s,n));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Ld(t){var e,r=t.reference,n=t.element,l=t.placement,o=l?Ke(l):null,s=l?Ln(l):null,i=r.x+r.width/2-n.width/2,a=r.y+r.height/2-n.height/2;switch(o){case ye:e={x:i,y:r.y-n.height};break;case Ce:e={x:i,y:r.y+r.height};break;case Re:e={x:r.x+r.width,y:a};break;case be:e={x:r.x-n.width,y:a};break;default:e={x:r.x,y:r.y}}var u=o?ql(o):null;if(u!=null){var c=u==="y"?"height":"width";switch(s){case Pn:e[u]=e[u]-(r[c]/2-n[c]/2);break;case vi:e[u]=e[u]+(r[c]/2-n[c]/2)}}return e}function wi(t,e){e===void 0&&(e={});var r=e,n=r.placement,l=n===void 0?t.placement:n,o=r.strategy,s=o===void 0?t.strategy:o,i=r.boundary,a=i===void 0?"clippingParents":i,u=r.rootBoundary,c=u===void 0?Od:u,d=r.elementContext,f=d===void 0?Kn:d,m=r.altBoundary,b=m!==void 0&&m,_=r.padding,S=_===void 0?0:_,U=Pd(typeof S!="number"?S:Bd(S,Ai)),D=f===Kn?"reference":Kn,K=t.rects.popper,$=t.elements[b?D:f],Y=Oy(fn($)?$:$.contextElement||Lr(t.elements.popper),a,c,s),B=Mn(t.elements.reference),I=Ld({reference:B,element:K,strategy:"absolute",placement:l}),E=nl(Object.assign({},K,I)),w=f===Kn?E:B,P={top:Y.top-w.top+U.top,bottom:w.bottom-Y.bottom+U.bottom,left:Y.left-w.left+U.left,right:w.right-Y.right+U.right},R=t.modifiersData.offset;if(f===Kn&&R){var et=R[l];Object.keys(P).forEach(function(st){var X=[Re,Ce].indexOf(st)>=0?1:-1,j=[ye,Ce].indexOf(st)>=0?"y":"x";P[st]+=et[j]*X})}return P}function xy(t,e){e===void 0&&(e={});var r=e,n=r.placement,l=r.boundary,o=r.rootBoundary,s=r.padding,i=r.flipVariations,a=r.allowedAutoPlacements,u=a===void 0?xd:a,c=Ln(n),d=c?i?qc:qc.filter(function(b){return Ln(b)===c}):Ai,f=d.filter(function(b){return u.indexOf(b)>=0});f.length===0&&(f=d);var m=f.reduce(function(b,_){return b[_]=wi(t,{placement:_,boundary:l,rootBoundary:o,padding:s})[Ke(_)],b},{});return Object.keys(m).sort(function(b,_){return m[b]-m[_]})}const Cy={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var l=r.mainAxis,o=l===void 0||l,s=r.altAxis,i=s===void 0||s,a=r.fallbackPlacements,u=r.padding,c=r.boundary,d=r.rootBoundary,f=r.altBoundary,m=r.flipVariations,b=m===void 0||m,_=r.allowedAutoPlacements,S=e.options.placement,U=Ke(S),D=a||(U===S||!b?[Wi(S)]:function(T){if(Ke(T)===tl)return[];var q=Wi(T);return[Kc(T),q,Kc(q)]}(S)),K=[S].concat(D).reduce(function(T,q){return T.concat(Ke(q)===tl?xy(e,{placement:q,boundary:c,rootBoundary:d,padding:u,flipVariations:b,allowedAutoPlacements:_}):q)},[]),$=e.rects.reference,Y=e.rects.popper,B=new Map,I=!0,E=K[0],w=0;w=0,X=st?"width":"height",j=wi(e,{placement:P,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),N=st?et?Re:be:et?Ce:ye;$[X]>Y[X]&&(N=Wi(N));var V=Wi(N),nt=[];if(o&&nt.push(j[R]<=0),i&&nt.push(j[N]<=0,j[V]<=0),nt.every(function(T){return T})){E=P,I=!1;break}B.set(P,nt)}if(I)for(var Q=function(T){var q=K.find(function(tt){var it=B.get(tt);if(it)return it.slice(0,T).every(function(lt){return lt})});if(q)return E=q,"break"},G=b?3:1;G>0&&Q(G)!=="break";G--);e.placement!==E&&(e.modifiersData[n]._skip=!0,e.placement=E,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Qc(t,e,r){return r===void 0&&(r={x:0,y:0}),{top:t.top-e.height-r.y,right:t.right-e.width+r.x,bottom:t.bottom-e.height+r.y,left:t.left-e.width-r.x}}function Yc(t){return[ye,Re,Ce,be].some(function(e){return t[e]>=0})}const Ry={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,r=t.options,n=t.name,l=r.offset,o=l===void 0?[0,0]:l,s=xd.reduce(function(c,d){return c[d]=function(f,m,b){var _=Ke(f),S=[be,ye].indexOf(_)>=0?-1:1,U=typeof b=="function"?b(Object.assign({},m,{placement:f})):b,D=U[0],K=U[1];return D=D||0,K=(K||0)*S,[be,Re].indexOf(_)>=0?{x:K,y:D}:{x:D,y:K}}(d,e.rects,o),c},{}),i=s[e.placement],a=i.x,u=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=a,e.modifiersData.popperOffsets.y+=u),e.modifiersData[n]=s}},Py={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,n=t.name,l=r.mainAxis,o=l===void 0||l,s=r.altAxis,i=s!==void 0&&s,a=r.boundary,u=r.rootBoundary,c=r.altBoundary,d=r.padding,f=r.tether,m=f===void 0||f,b=r.tetherOffset,_=b===void 0?0:b,S=wi(e,{boundary:a,rootBoundary:u,padding:d,altBoundary:c}),U=Ke(e.placement),D=Ln(e.placement),K=!D,$=ql(U),Y=$==="x"?"y":"x",B=e.modifiersData.popperOffsets,I=e.rects.reference,E=e.rects.popper,w=typeof _=="function"?_(Object.assign({},e.rects,{placement:e.placement})):_,P=typeof w=="number"?{mainAxis:w,altAxis:w}:Object.assign({mainAxis:0,altAxis:0},w),R=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,et={x:0,y:0};if(B){if(o){var st,X=$==="y"?ye:be,j=$==="y"?Ce:Re,N=$==="y"?"height":"width",V=B[$],nt=V+S[X],Q=V-S[j],G=m?-E[N]/2:0,T=D===Pn?I[N]:E[N],q=D===Pn?-E[N]:-I[N],tt=e.elements.arrow,it=m&&tt?Vl(tt):{width:0,height:0},lt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},ut=lt[X],pt=lt[j],H=Yn(0,I[N],it[N]),rt=K?I[N]/2-G-H-ut-P.mainAxis:T-H-ut-P.mainAxis,Z=K?-I[N]/2+G+H+pt+P.mainAxis:q+H+pt+P.mainAxis,dt=e.elements.arrow&&ki(e.elements.arrow),L=dt?$==="y"?dt.clientTop||0:dt.clientLeft||0:0,A=(st=R==null?void 0:R[$])!=null?st:0,F=V+Z-A,h=Yn(m?mo(nt,V+rt-A-L):nt,V,m?cn(Q,F):Q);B[$]=h,et[$]=h-V}if(i){var p,y=$==="x"?ye:be,O=$==="x"?Ce:Re,C=B[Y],x=Y==="y"?"height":"width",g=C+S[y],v=C-S[O],k=[ye,be].indexOf(U)!==-1,M=(p=R==null?void 0:R[Y])!=null?p:0,W=k?g:C-I[x]-E[x]-M+P.altAxis,J=k?C+I[x]+E[x]-M-P.altAxis:v,at=m&&k?function(ot,vt,bt){var wt=Yn(ot,vt,bt);return wt>bt?bt:wt}(W,C,J):Yn(m?W:g,C,m?J:v);B[Y]=at,et[Y]=at-C}e.modifiersData[n]=et}},requiresIfExists:["offset"]};function By(t,e,r){r===void 0&&(r=!1);var n,l,o=Te(e),s=Te(e)&&function(d){var f=d.getBoundingClientRect(),m=Bn(f.width)/d.offsetWidth||1,b=Bn(f.height)/d.offsetHeight||1;return m!==1||b!==1}(e),i=Lr(e),a=Mn(t,s,r),u={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(o||!o&&!r)&&((Qe(e)!=="body"||zl(i))&&(u=(n=e)!==Pe(n)&&Te(n)?{scrollLeft:(l=n).scrollLeft,scrollTop:l.scrollTop}:Hl(n)),Te(e)?((c=Mn(e,!0)).x+=e.clientLeft,c.y+=e.clientTop):i&&(c.x=rl(i))),{x:a.left+u.scrollLeft-c.x,y:a.top+u.scrollTop-c.y,width:a.width,height:a.height}}function My(t){var e=new Map,r=new Set,n=[];function l(o){r.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach(function(s){if(!r.has(s)){var i=e.get(s);i&&l(i)}}),n.push(o)}return t.forEach(function(o){e.set(o.name,o)}),t.forEach(function(o){r.has(o.name)||l(o)}),n}function Ly(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}var Jc={placement:"bottom",modifiers:[],strategy:"absolute"};function Xc(){for(var t=arguments.length,e=new Array(t),r=0;r{throw TypeError(t)};var Wd=(t,e,r)=>e in t?Fd(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var zt=(t,e,r)=>Wd(t,typeof e!="symbol"?e+"":e,r),Do=(t,e,r)=>e.has(t)||Kl("Cannot "+r);var z=(t,e,r)=>(Do(t,e,"read from private field"),r?r.call(t):e.get(t)),Rt=(t,e,r)=>e.has(t)?Kl("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),St=(t,e,r,n)=>(Do(t,e,"write to private field"),n?n.call(t,r):e.set(t,r),r),Et=(t,e,r)=>(Do(t,e,"access private method"),r);var Ii=(t,e,r,n)=>({set _(l){St(t,e,l,r)},get _(){return z(t,e,n)}});const to=typeof global<"u"?global:typeof self<"u"?self:typeof window<"u"?window:{};/** +* @vue/shared v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**//*! #__NO_SIDE_EFFECTS__ */function il(t){const e=Object.create(null);for(const r of t.split(","))e[r]=1;return r=>r in e}const Ut={},In=[],Ge=()=>{},$d=()=>!1,bo=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&(t.charCodeAt(2)>122||t.charCodeAt(2)<97),ol=t=>t.startsWith("onUpdate:"),Xt=Object.assign,sl=(t,e)=>{const r=t.indexOf(e);r>-1&&t.splice(r,1)},Vd=Object.prototype.hasOwnProperty,Bt=(t,e)=>Vd.call(t,e),At=Array.isArray,Tn=t=>vo(t)==="[object Map]",th=t=>vo(t)==="[object Set]",Tt=t=>typeof t=="function",qt=t=>typeof t=="string",gr=t=>typeof t=="symbol",Wt=t=>t!==null&&typeof t=="object",eh=t=>(Wt(t)||Tt(t))&&Tt(t.then)&&Tt(t.catch),rh=Object.prototype.toString,vo=t=>rh.call(t),nh=t=>vo(t)==="[object Object]",al=t=>qt(t)&&t!=="NaN"&&t[0]!=="-"&&""+parseInt(t,10)===t,Xn=il(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),wo=t=>{const e=Object.create(null);return r=>e[r]||(e[r]=t(r))},qd=/-(\w)/g,Ce=wo(t=>t.replace(qd,(e,r)=>r?r.toUpperCase():"")),Hd=/\B([A-Z])/g,Dr=wo(t=>t.replace(Hd,"-$1").toLowerCase()),_o=wo(t=>t.charAt(0).toUpperCase()+t.slice(1)),Fo=wo(t=>t?`on${_o(t)}`:""),Br=(t,e)=>!Object.is(t,e),Wo=(t,...e)=>{for(let r=0;r{Object.defineProperty(t,e,{configurable:!0,enumerable:!1,writable:n,value:r})},zd=t=>{const e=parseFloat(t);return isNaN(e)?t:e};let Gl;const eo=()=>Gl||(Gl=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:to!==void 0?to:{});function Eo(t){if(At(t)){const e={};for(let r=0;r{if(r){const n=r.split(Gd);n.length>1&&(e[n[0].trim()]=n[1].trim())}}),e}function So(t){let e="";if(qt(t))e=t;else if(At(t))for(let r=0;r!(!t||t.__v_isRef!==!0),Xd=t=>qt(t)?t:t==null?"":At(t)||Wt(t)&&(t.toString===rh||!Tt(t.toString))?sh(t)?Xd(t.value):JSON.stringify(t,ah,2):String(t),ah=(t,e)=>sh(e)?ah(t,e.value):Tn(e)?{[`Map(${e.size})`]:[...e.entries()].reduce((r,[n,l],o)=>(r[$o(n,o)+" =>"]=l,r),{})}:th(e)?{[`Set(${e.size})`]:[...e.values()].map(r=>$o(r))}:gr(e)?$o(e):!Wt(e)||At(e)||nh(e)?e:String(e),$o=(t,e="")=>{var r;return gr(t)?`Symbol(${(r=t.description)!=null?r:e})`:t};/** +* @vue/reactivity v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let he,Ft;class lh{constructor(e=!1){this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=he,!e&&he&&(this.index=(he.scopes||(he.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,r;if(this._isPaused=!0,this.scopes)for(e=0,r=this.scopes.length;e0)return;if(ti){let e=ti;for(ti=void 0;e;){const r=e.next;e.next=void 0,e.flags&=-9,e=r}}let t;for(;Zn;){let e=Zn;for(Zn=void 0;e;){const r=e.next;if(e.next=void 0,e.flags&=-9,1&e.flags)try{e.trigger()}catch(n){t||(t=n)}e=r}}if(t)throw t}function dh(t){for(let e=t.deps;e;e=e.nextDep)e.version=-1,e.prevActiveLink=e.dep.activeLink,e.dep.activeLink=e}function gh(t){let e,r=t.depsTail,n=r;for(;n;){const l=n.prevDep;n.version===-1?(n===r&&(r=l),cl(n),Zd(n)):e=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=l}t.deps=e,t.depsTail=r}function Cs(t){for(let e=t.deps;e;e=e.nextDep)if(e.dep.version!==e.version||e.dep.computed&&(mh(e.dep.computed)||e.dep.version!==e.version))return!0;return!!t._dirty}function mh(t){if(4&t.flags&&!(16&t.flags)||(t.flags&=-17,t.globalVersion===ci))return;t.globalVersion=ci;const e=t.dep;if(t.flags|=2,e.version>0&&!t.isSSR&&t.deps&&!Cs(t))return void(t.flags&=-3);const r=Ft,n=je;Ft=t,je=!0;try{dh(t);const l=t.fn(t._value);(e.version===0||Br(l,t._value))&&(t._value=l,e.version++)}catch(l){throw e.version++,l}finally{Ft=r,je=n,gh(t),t.flags&=-3}}function cl(t,e=!1){const{dep:r,prevSub:n,nextSub:l}=t;if(n&&(n.nextSub=l,t.prevSub=void 0),l&&(l.prevSub=n,t.nextSub=void 0),r.subs===t&&(r.subs=n,!n&&r.computed)){r.computed.flags&=-5;for(let o=r.computed.deps;o;o=o.nextDep)cl(o,!0)}e||--r.sc||!r.map||r.map.delete(r.key)}function Zd(t){const{prevDep:e,nextDep:r}=t;e&&(e.nextDep=r,t.prevDep=void 0),r&&(r.prevDep=e,t.nextDep=void 0)}let je=!0;const yh=[];function jr(){yh.push(je),je=!1}function Ur(){const t=yh.pop();je=t===void 0||t}function Ql(t){const{cleanup:e}=t;if(t.cleanup=void 0,e){const r=Ft;Ft=void 0;try{e()}finally{Ft=r}}}let ci=0;class tg{constructor(e,r){this.sub=e,this.dep=r,this.version=r.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class hl{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0}track(e){if(!Ft||!je||Ft===this.computed)return;let r=this.activeLink;if(r===void 0||r.sub!==Ft)r=this.activeLink=new tg(Ft,this),Ft.deps?(r.prevDep=Ft.depsTail,Ft.depsTail.nextDep=r,Ft.depsTail=r):Ft.deps=Ft.depsTail=r,bh(r);else if(r.version===-1&&(r.version=this.version,r.nextDep)){const n=r.nextDep;n.prevDep=r.prevDep,r.prevDep&&(r.prevDep.nextDep=n),r.prevDep=Ft.depsTail,r.nextDep=void 0,Ft.depsTail.nextDep=r,Ft.depsTail=r,Ft.deps===r&&(Ft.deps=n)}return r}trigger(e){this.version++,ci++,this.notify(e)}notify(e){ll();try{for(let r=this.subs;r;r=r.prevSub)r.sub.notify()&&r.sub.dep.notify()}finally{ul()}}}function bh(t){if(t.dep.sc++,4&t.sub.flags){const e=t.dep.computed;if(e&&!t.dep.subs){e.flags|=20;for(let n=e.deps;n;n=n.nextDep)bh(n)}const r=t.dep.subs;r!==t&&(t.prevSub=r,r&&(r.nextSub=t)),t.dep.subs=t}}const ro=new WeakMap,on=Symbol(""),xs=Symbol(""),hi=Symbol("");function ae(t,e,r){if(je&&Ft){let n=ro.get(t);n||ro.set(t,n=new Map);let l=n.get(r);l||(n.set(r,l=new hl),l.map=n,l.key=r),l.track()}}function ar(t,e,r,n,l,o){const s=ro.get(t);if(!s)return void ci++;const i=a=>{a&&a.trigger()};if(ll(),e==="clear")s.forEach(i);else{const a=At(t),u=a&&al(r);if(a&&r==="length"){const c=Number(n);s.forEach((d,f)=>{(f==="length"||f===hi||!gr(f)&&f>=c)&&i(d)})}else switch((r!==void 0||s.has(void 0))&&i(s.get(r)),u&&i(s.get(hi)),e){case"add":a?u&&i(s.get("length")):(i(s.get(on)),Tn(t)&&i(s.get(xs)));break;case"delete":a||(i(s.get(on)),Tn(t)&&i(s.get(xs)));break;case"set":Tn(t)&&i(s.get(on))}}ul()}function yn(t){const e=xt(t);return e===t?e:(ae(e,0,hi),Oe(t)?e:e.map(le))}function Ao(t){return ae(t=xt(t),0,hi),t}const eg={__proto__:null,[Symbol.iterator](){return qo(this,Symbol.iterator,le)},concat(...t){return yn(this).concat(...t.map(e=>At(e)?yn(e):e))},entries(){return qo(this,"entries",t=>(t[1]=le(t[1]),t))},every(t,e){return Xe(this,"every",t,e,void 0,arguments)},filter(t,e){return Xe(this,"filter",t,e,r=>r.map(le),arguments)},find(t,e){return Xe(this,"find",t,e,le,arguments)},findIndex(t,e){return Xe(this,"findIndex",t,e,void 0,arguments)},findLast(t,e){return Xe(this,"findLast",t,e,le,arguments)},findLastIndex(t,e){return Xe(this,"findLastIndex",t,e,void 0,arguments)},forEach(t,e){return Xe(this,"forEach",t,e,void 0,arguments)},includes(...t){return Ho(this,"includes",t)},indexOf(...t){return Ho(this,"indexOf",t)},join(t){return yn(this).join(t)},lastIndexOf(...t){return Ho(this,"lastIndexOf",t)},map(t,e){return Xe(this,"map",t,e,void 0,arguments)},pop(){return Fn(this,"pop")},push(...t){return Fn(this,"push",t)},reduce(t,...e){return Yl(this,"reduce",t,e)},reduceRight(t,...e){return Yl(this,"reduceRight",t,e)},shift(){return Fn(this,"shift")},some(t,e){return Xe(this,"some",t,e,void 0,arguments)},splice(...t){return Fn(this,"splice",t)},toReversed(){return yn(this).toReversed()},toSorted(t){return yn(this).toSorted(t)},toSpliced(...t){return yn(this).toSpliced(...t)},unshift(...t){return Fn(this,"unshift",t)},values(){return qo(this,"values",le)}};function qo(t,e,r){const n=Ao(t),l=n[e]();return n===t||Oe(t)||(l._next=l.next,l.next=()=>{const o=l._next();return o.value&&(o.value=r(o.value)),o}),l}const rg=Array.prototype;function Xe(t,e,r,n,l,o){const s=Ao(t),i=s!==t&&!Oe(t),a=s[e];if(a!==rg[e]){const d=a.apply(t,o);return i?le(d):d}let u=r;s!==t&&(i?u=function(d,f){return r.call(this,le(d),f,t)}:r.length>2&&(u=function(d,f){return r.call(this,d,f,t)}));const c=a.call(s,u,n);return i&&l?l(c):c}function Yl(t,e,r,n){const l=Ao(t);let o=r;return l!==t&&(Oe(t)?r.length>3&&(o=function(s,i,a){return r.call(this,s,i,a,t)}):o=function(s,i,a){return r.call(this,s,le(i),a,t)}),l[e](o,...n)}function Ho(t,e,r){const n=xt(t);ae(n,0,hi);const l=n[e](...r);return l!==-1&&l!==!1||!dl(r[0])?l:(r[0]=xt(r[0]),n[e](...r))}function Fn(t,e,r=[]){jr(),ll();const n=xt(t)[e].apply(t,r);return ul(),Ur(),n}const ng=il("__proto__,__v_isRef,__isVue"),vh=new Set(Object.getOwnPropertyNames(Symbol).filter(t=>t!=="arguments"&&t!=="caller").map(t=>Symbol[t]).filter(gr));function ig(t){gr(t)||(t=String(t));const e=xt(this);return ae(e,0,t),e.hasOwnProperty(t)}class wh{constructor(e=!1,r=!1){this._isReadonly=e,this._isShallow=r}get(e,r,n){if(r==="__v_skip")return e.__v_skip;const l=this._isReadonly,o=this._isShallow;if(r==="__v_isReactive")return!l;if(r==="__v_isReadonly")return l;if(r==="__v_isShallow")return o;if(r==="__v_raw")return n===(l?o?pg:Ah:o?Sh:Eh).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(n)?e:void 0;const s=At(e);if(!l){let a;if(s&&(a=eg[r]))return a;if(r==="hasOwnProperty")return ig}const i=Reflect.get(e,r,Yt(e)?e:n);return(gr(r)?vh.has(r):ng(r))?i:(l||ae(e,0,r),o?i:Yt(i)?s&&al(r)?i:i.value:Wt(i)?l?Ih(i):_i(i):i)}}class _h extends wh{constructor(e=!1){super(!1,e)}set(e,r,n,l){let o=e[r];if(!this._isShallow){const a=hn(o);if(Oe(n)||hn(n)||(o=xt(o),n=xt(n)),!At(e)&&Yt(o)&&!Yt(n))return!a&&(o.value=n,!0)}const s=At(e)&&al(r)?Number(r)t,Ti=t=>Reflect.getPrototypeOf(t);function Oi(t){return function(...e){return t!=="delete"&&(t==="clear"?void 0:this)}}function ug(t,e){const r={get(n){const l=this.__v_raw,o=xt(l),s=xt(n);t||(Br(n,s)&&ae(o,0,n),ae(o,0,s));const{has:i}=Ti(o),a=e?zo:t?Ko:le;return i.call(o,n)?a(l.get(n)):i.call(o,s)?a(l.get(s)):void(l!==o&&l.get(n))},get size(){const n=this.__v_raw;return!t&&ae(xt(n),0,on),Reflect.get(n,"size",n)},has(n){const l=this.__v_raw,o=xt(l),s=xt(n);return t||(Br(n,s)&&ae(o,0,n),ae(o,0,s)),n===s?l.has(n):l.has(n)||l.has(s)},forEach(n,l){const o=this,s=o.__v_raw,i=xt(s),a=e?zo:t?Ko:le;return!t&&ae(i,0,on),s.forEach((u,c)=>n.call(l,a(u),a(c),o))}};return Xt(r,t?{add:Oi("add"),set:Oi("set"),delete:Oi("delete"),clear:Oi("clear")}:{add(n){e||Oe(n)||hn(n)||(n=xt(n));const l=xt(this);return Ti(l).has.call(l,n)||(l.add(n),ar(l,"add",n,n)),this},set(n,l){e||Oe(l)||hn(l)||(l=xt(l));const o=xt(this),{has:s,get:i}=Ti(o);let a=s.call(o,n);a||(n=xt(n),a=s.call(o,n));const u=i.call(o,n);return o.set(n,l),a?Br(l,u)&&ar(o,"set",n,l):ar(o,"add",n,l),this},delete(n){const l=xt(this),{has:o,get:s}=Ti(l);let i=o.call(l,n);i||(n=xt(n),i=o.call(l,n)),s&&s.call(l,n);const a=l.delete(n);return i&&ar(l,"delete",n,void 0),a},clear(){const n=xt(this),l=n.size!==0,o=n.clear();return l&&ar(n,"clear",void 0,void 0),o}}),["keys","values","entries",Symbol.iterator].forEach(n=>{r[n]=function(l,o,s){return function(...i){const a=this.__v_raw,u=xt(a),c=Tn(u),d=l==="entries"||l===Symbol.iterator&&c,f=l==="keys"&&c,m=a[l](...i),b=s?zo:o?Ko:le;return!o&&ae(u,0,f?xs:on),{next(){const{value:_,done:S}=m.next();return S?{value:_,done:S}:{value:d?[b(_[0]),b(_[1])]:b(_),done:S}},[Symbol.iterator](){return this}}}}(n,t,e)}),r}function fl(t,e){const r=ug(t,e);return(n,l,o)=>l==="__v_isReactive"?!t:l==="__v_isReadonly"?t:l==="__v_raw"?n:Reflect.get(Bt(r,l)&&l in n?r:n,l,o)}const cg={get:fl(!1,!1)},hg={get:fl(!1,!0)},fg={get:fl(!0,!1)},Eh=new WeakMap,Sh=new WeakMap,Ah=new WeakMap,pg=new WeakMap;function dg(t){return t.__v_skip||!Object.isExtensible(t)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>vo(e).slice(8,-1))(t))}function _i(t){return hn(t)?t:pl(t,!1,sg,cg,Eh)}function kh(t){return pl(t,!1,lg,hg,Sh)}function Ih(t){return pl(t,!0,ag,fg,Ah)}function pl(t,e,r,n,l){if(!Wt(t)||t.__v_raw&&(!e||!t.__v_isReactive))return t;const o=l.get(t);if(o)return o;const s=dg(t);if(s===0)return t;const i=new Proxy(t,s===2?n:r);return l.set(t,i),i}function Mr(t){return hn(t)?Mr(t.__v_raw):!(!t||!t.__v_isReactive)}function hn(t){return!(!t||!t.__v_isReadonly)}function Oe(t){return!(!t||!t.__v_isShallow)}function dl(t){return!!t&&!!t.__v_raw}function xt(t){const e=t&&t.__v_raw;return e?xt(e):t}function gl(t){return!Bt(t,"__v_skip")&&Object.isExtensible(t)&&ih(t,"__v_skip",!0),t}const le=t=>Wt(t)?_i(t):t,Ko=t=>Wt(t)?Ih(t):t;function Yt(t){return!!t&&t.__v_isRef===!0}function ml(t){return Th(t,!1)}function Th(t,e){return Yt(t)?t:new gg(t,e)}class gg{constructor(e,r){this.dep=new hl,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=r?e:xt(e),this._value=r?e:le(e),this.__v_isShallow=r}get value(){return this.dep.track(),this._value}set value(e){const r=this._rawValue,n=this.__v_isShallow||Oe(e)||hn(e);e=n?e:xt(e),Br(e,r)&&(this._rawValue=e,this._value=n?e:le(e),this.dep.trigger())}}function On(t){return Yt(t)?t.value:t}const mg={get:(t,e,r)=>e==="__v_raw"?t:On(Reflect.get(t,e,r)),set:(t,e,r,n)=>{const l=t[e];return Yt(l)&&!Yt(r)?(l.value=r,!0):Reflect.set(t,e,r,n)}};function Oh(t){return Mr(t)?t:new Proxy(t,mg)}class yg{constructor(e,r,n){this._object=e,this._key=r,this._defaultValue=n,this.__v_isRef=!0,this._value=void 0}get value(){const e=this._object[this._key];return this._value=e===void 0?this._defaultValue:e}set value(e){this._object[this._key]=e}get dep(){return function(e,r){const n=ro.get(e);return n&&n.get(r)}(xt(this._object),this._key)}}function bg(t,e,r){const n=t[e];return Yt(n)?n:new yg(t,e,r)}class vg{constructor(e,r,n){this.fn=e,this.setter=r,this._value=void 0,this.dep=new hl(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=ci-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!r,this.isSSR=n}notify(){if(this.flags|=16,!(8&this.flags)&&Ft!==this)return ph(this,!0),!0}get value(){const e=this.dep.track();return mh(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const Ci={},xi=new WeakMap;let Wr;function wg(t,e,r=Ut){const{immediate:n,deep:l,once:o,scheduler:s,augmentJob:i,call:a}=r,u=V=>l?V:Oe(V)||l===!1||l===0?lr(V,1):lr(V);let c,d,f,m,b=!1,_=!1;if(Yt(t)?(d=()=>t.value,b=Oe(t)):Mr(t)?(d=()=>u(t),b=!0):At(t)?(_=!0,b=t.some(V=>Mr(V)||Oe(V)),d=()=>t.map(V=>Yt(V)?V.value:Mr(V)?u(V):Tt(V)?a?a(V,2):V():void 0)):d=Tt(t)?e?a?()=>a(t,2):t:()=>{if(f){jr();try{f()}finally{Ur()}}const V=Wr;Wr=c;try{return a?a(t,3,[m]):t(m)}finally{Wr=V}}:Ge,e&&l){const V=d,Y=l===!0?1/0:l;d=()=>lr(V(),Y)}const S=ch(),U=()=>{c.stop(),S&&S.active&&sl(S.effects,c)};if(o&&e){const V=e;e=(...Y)=>{V(...Y),U()}}let D=_?new Array(t.length).fill(Ci):Ci;const K=V=>{if(1&c.flags&&(c.dirty||V))if(e){const Y=c.run();if(l||b||(_?Y.some((P,I)=>Br(P,D[I])):Br(Y,D))){f&&f();const P=Wr;Wr=c;try{const I=[Y,D===Ci?void 0:_&&D[0]===Ci?[]:D,m];a?a(e,3,I):e(...I),D=Y}finally{Wr=P}}}else c.run()};return i&&i(K),c=new hh(d),c.scheduler=s?()=>s(K,!1):K,m=V=>function(Y,P=!1,I=Wr){if(I){let E=xi.get(I);E||xi.set(I,E=[]),E.push(Y)}}(V,!1,c),f=c.onStop=()=>{const V=xi.get(c);if(V){if(a)a(V,4);else for(const Y of V)Y();xi.delete(c)}},e?n?K(!0):D=c.run():s?s(K.bind(null,!0),!0):c.run(),U.pause=c.pause.bind(c),U.resume=c.resume.bind(c),U.stop=U,U}function lr(t,e=1/0,r){if(e<=0||!Wt(t)||t.__v_skip||(r=r||new Set).has(t))return t;if(r.add(t),e--,Yt(t))lr(t.value,e,r);else if(At(t))for(let n=0;n{lr(n,e,r)});else if(nh(t)){for(const n in t)lr(t[n],e,r);for(const n of Object.getOwnPropertySymbols(t))Object.prototype.propertyIsEnumerable.call(t,n)&&lr(t[n],e,r)}return t}/** +* @vue/runtime-core v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/function Ei(t,e,r,n){try{return n?t(...n):t()}catch(l){ko(l,e,r)}}function Ue(t,e,r,n){if(Tt(t)){const l=Ei(t,e,r,n);return l&&eh(l)&&l.catch(o=>{ko(o,e,r)}),l}if(At(t)){const l=[];for(let o=0;o=ei(r)?fe.push(t):fe.splice(function(n){let l=Ve+1,o=fe.length;for(;l>>1,i=fe[s],a=ei(i);aei(r)-ei(n));if(Cn.length=0,Or)return void Or.push(...e);for(Or=e,_n=0;_nt.id==null?2&t.flags?-1:1/0:t.id;function Bh(t){try{for(Ve=0;Ve{n._d&&mu(-1);const o=io(e);let s;try{s=t(...l)}finally{io(o),n._d&&mu(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function Vy(t,e){if(Zt===null)return t;const r=Co(Zt),n=t.dirs||(t.dirs=[]);for(let l=0;lt.__isTeleport,Qn=t=>t&&(t.disabled||t.disabled===""),Xl=t=>t&&(t.defer||t.defer===""),Zl=t=>typeof SVGElement<"u"&&t instanceof SVGElement,tu=t=>typeof MathMLElement=="function"&&t instanceof MathMLElement,Go=(t,e)=>{const r=t&&t.to;return qt(r)?e?e(r):null:r},Uh={name:"Teleport",__isTeleport:!0,process(t,e,r,n,l,o,s,i,a,u){const{mc:c,pc:d,pbc:f,o:{insert:m,querySelector:b,createText:_,createComment:S}}=u,U=Qn(e.props);let{shapeFlag:D,children:K,dynamicChildren:V}=e;if(t==null){const Y=e.el=_(""),P=e.anchor=_("");m(Y,r,n),m(P,r,n);const I=(w,B)=>{16&D&&(l&&l.isCE&&(l.ce._teleportTarget=w),c(K,w,B,l,o,s,i,a))},E=()=>{const w=e.target=Go(e.props,b),B=eu(w,e,_,m);w&&(s!=="svg"&&Zl(w)?s="svg":s!=="mathml"&&tu(w)&&(s="mathml"),U||(I(w,B),Pi(e,!1)))};U&&(I(r,P),Pi(e,!0)),Xl(e.props)?ce(()=>{E(),e.el.__isMounted=!0},o):E()}else{if(Xl(e.props)&&!t.el.__isMounted)return void ce(()=>{Uh.process(t,e,r,n,l,o,s,i,a,u),delete t.el.__isMounted},o);e.el=t.el,e.targetStart=t.targetStart;const Y=e.anchor=t.anchor,P=e.target=t.target,I=e.targetAnchor=t.targetAnchor,E=Qn(t.props),w=E?r:P,B=E?Y:I;if(s==="svg"||Zl(P)?s="svg":(s==="mathml"||tu(P))&&(s="mathml"),V?(f(t.dynamicChildren,V,w,l,o,s,i),kl(t,e,!0)):a||d(t,e,w,B,l,o,s,i,!1),U)E?e.props&&t.props&&e.props.to!==t.props.to&&(e.props.to=t.props.to):Ri(e,r,Y,u,1);else if((e.props&&e.props.to)!==(t.props&&t.props.to)){const R=e.target=Go(e.props,b);R&&Ri(e,R,null,u,0)}else E&&Ri(e,P,I,u,1);Pi(e,U)}},remove(t,e,r,{um:n,o:{remove:l}},o){const{shapeFlag:s,children:i,anchor:a,targetStart:u,targetAnchor:c,target:d,props:f}=t;if(d&&(l(u),l(c)),o&&l(a),16&s){const m=o||!Qn(f);for(let b=0;b{const e=t.subTree;return e.component?Dh(e.component):e},Eg={name:"BaseTransition",props:Nh,setup(t,{slots:e}){const r=hf(),n=function(){const l={isMounted:!1,isLeaving:!1,isUnmounting:!1,leavingVNodes:new Map};return vl(()=>{l.isMounted=!0}),Kh(()=>{l.isUnmounting=!0}),l}();return()=>{const l=e.default&&$h(e.default(),!0);if(!l||!l.length)return;const o=Fh(l),s=xt(t),{mode:i}=s;if(n.isLeaving)return Qo(o);const a=ru(o);if(!a)return Qo(o);let u=Rs(a,s,n,r,d=>u=d);a.type!==pe&&fi(a,u);let c=r.subTree&&ru(r.subTree);if(c&&c.type!==pe&&!tn(a,c)&&Dh(r).type!==pe){let d=Rs(c,s,n,r);if(fi(c,d),i==="out-in"&&a.type!==pe)return n.isLeaving=!0,d.afterLeave=()=>{n.isLeaving=!1,8&r.job.flags||r.update(),delete d.afterLeave,c=void 0},Qo(o);i==="in-out"&&a.type!==pe?d.delayLeave=(f,m,b)=>{Wh(n,c)[String(c.key)]=c,f[Cr]=()=>{m(),f[Cr]=void 0,delete u.delayedLeave,c=void 0},u.delayedLeave=()=>{b(),delete u.delayedLeave,c=void 0}}:c=void 0}else c&&(c=void 0);return o}}};function Fh(t){let e=t[0];if(t.length>1){for(const r of t)if(r.type!==pe){e=r;break}}return e}const Sg=Eg;function Wh(t,e){const{leavingVNodes:r}=t;let n=r.get(e.type);return n||(n=Object.create(null),r.set(e.type,n)),n}function Rs(t,e,r,n,l){const{appear:o,mode:s,persisted:i=!1,onBeforeEnter:a,onEnter:u,onAfterEnter:c,onEnterCancelled:d,onBeforeLeave:f,onLeave:m,onAfterLeave:b,onLeaveCancelled:_,onBeforeAppear:S,onAppear:U,onAfterAppear:D,onAppearCancelled:K}=e,V=String(t.key),Y=Wh(r,t),P=(w,B)=>{w&&Ue(w,n,9,B)},I=(w,B)=>{const R=B[1];P(w,B),At(w)?w.every(rt=>rt.length<=1)&&R():w.length<=1&&R()},E={mode:s,persisted:i,beforeEnter(w){let B=a;if(!r.isMounted){if(!o)return;B=S||a}w[Cr]&&w[Cr](!0);const R=Y[V];R&&tn(t,R)&&R.el[Cr]&&R.el[Cr](),P(B,[w])},enter(w){let B=u,R=c,rt=d;if(!r.isMounted){if(!o)return;B=U||u,R=D||c,rt=K||d}let st=!1;const X=w[Bi]=j=>{st||(st=!0,P(j?rt:R,[w]),E.delayedLeave&&E.delayedLeave(),w[Bi]=void 0)};B?I(B,[w,X]):X()},leave(w,B){const R=String(t.key);if(w[Bi]&&w[Bi](!0),r.isUnmounting)return B();P(f,[w]);let rt=!1;const st=w[Cr]=X=>{rt||(rt=!0,B(),P(X?_:b,[w]),w[Cr]=void 0,Y[R]===t&&delete Y[R])};Y[R]=t,m?I(m,[w,st]):st()},clone(w){const B=Rs(w,e,r,n,l);return l&&l(B),B}};return E}function Qo(t){if(Io(t))return(t=Nr(t)).children=null,t}function ru(t){if(!Io(t))return jh(t.type)&&t.children?Fh(t.children):t;const{shapeFlag:e,children:r}=t;if(r){if(16&e)return r[0];if(32&e&&Tt(r.default))return r.default()}}function fi(t,e){6&t.shapeFlag&&t.component?(t.transition=e,fi(t.component.subTree,e)):128&t.shapeFlag?(t.ssContent.transition=e.clone(t.ssContent),t.ssFallback.transition=e.clone(t.ssFallback)):t.transition=e}function $h(t,e=!1,r){let n=[],l=0;for(let o=0;o1)for(let o=0;ooo(b,e&&(At(e)?e[_]:e),r,n,l));if(An(n)&&!l)return void(512&n.shapeFlag&&n.type.__asyncResolved&&n.component.subTree.component&&oo(t,e,r,n.component.subTree));const o=4&n.shapeFlag?Co(n.component):n.el,s=l?null:o,{i,r:a}=t,u=e&&e.r,c=i.refs===Ut?i.refs={}:i.refs,d=i.setupState,f=xt(d),m=d===Ut?()=>!1:b=>Bt(f,b);if(u!=null&&u!==a&&(qt(u)?(c[u]=null,m(u)&&(d[u]=null)):Yt(u)&&(u.value=null)),Tt(a))Ei(a,i,12,[s,c]);else{const b=qt(a),_=Yt(a);if(b||_){const S=()=>{if(t.f){const U=b?m(a)?d[a]:c[a]:a.value;l?At(U)&&sl(U,o):At(U)?U.includes(o)||U.push(o):b?(c[a]=[o],m(a)&&(d[a]=c[a])):(a.value=[o],t.k&&(c[t.k]=a.value))}else b?(c[a]=s,m(a)&&(d[a]=s)):_&&(a.value=s,t.k&&(c[t.k]=s))};s?(S.id=-1,ce(S,r)):S()}}}eo().requestIdleCallback,eo().cancelIdleCallback;const An=t=>!!t.type.__asyncLoader,Io=t=>t.type.__isKeepAlive;function Ag(t,e){Hh(t,"a",e)}function kg(t,e){Hh(t,"da",e)}function Hh(t,e,r=re){const n=t.__wdc||(t.__wdc=()=>{let l=r;for(;l;){if(l.isDeactivated)return;l=l.parent}return t()});if(To(e,n,r),r){let l=r.parent;for(;l&&l.parent;)Io(l.parent.vnode)&&Ig(n,e,r,l),l=l.parent}}function Ig(t,e,r,n){const l=To(e,t,n,!0);wl(()=>{sl(n[e],l)},r)}function To(t,e,r=re,n=!1){if(r){const l=r[t]||(r[t]=[]),o=e.__weh||(e.__weh=(...s)=>{jr();const i=Si(r),a=Ue(e,r,t,s);return i(),Ur(),a});return n?l.unshift(o):l.push(o),o}}const mr=t=>(e,r=re)=>{gi&&t!=="sp"||To(t,(...n)=>e(...n),r)},Tg=mr("bm"),vl=mr("m"),zh=mr("bu"),Og=mr("u"),Kh=mr("bum"),wl=mr("um"),Cg=mr("sp"),xg=mr("rtg"),Rg=mr("rtc");function Pg(t,e=re){To("ec",t,e)}const _l="components";function Hy(t,e){return El(_l,t,!0,e)||t}const Gh=Symbol.for("v-ndc");function zy(t){return qt(t)?El(_l,t,!1)||t:t||Gh}function Ky(t){return El("directives",t)}function El(t,e,r=!0,n=!1){const l=Zt||re;if(l){const o=l.type;if(t===_l){const i=tm(o,!1);if(i&&(i===e||i===Ce(e)||i===_o(Ce(e))))return o}const s=nu(l[t]||o[t],e)||nu(l.appContext[t],e);return!s&&n?o:s}}function nu(t,e){return t&&(t[e]||t[Ce(e)]||t[_o(Ce(e))])}function Gy(t,e,r,n){let l;const o=r,s=At(t);if(s||qt(t)){let i=!1;s&&Mr(t)&&(i=!Oe(t),t=Ao(t)),l=new Array(t.length);for(let a=0,u=t.length;ae(i,a,void 0,o));else{const i=Object.keys(t);l=new Array(i.length);for(let a=0,u=i.length;a{const o=n.fn(...l);return o&&(o.key=n.key),o}:n.fn)}return t}function Yy(t,e,r={},n,l){if(Zt.ce||Zt.parent&&An(Zt.parent)&&Zt.parent.ce)return e!=="default"&&(r.name=e),js(),Us(ge,null,[me("slot",r,n&&n())],64);let o=t[e];o&&o._c&&(o._d=!1),js();const s=o&&Qh(o(r)),i=r.key||s&&s.key,a=Us(ge,{key:(i&&!gr(i)?i:`_${e}`)+(!s&&n?"_fb":"")},s||(n?n():[]),s&&t._===1?64:-2);return!l&&a.scopeId&&(a.slotScopeIds=[a.scopeId+"-s"]),o&&o._c&&(o._d=!0),a}function Qh(t){return t.some(e=>!di(e)||e.type!==pe&&!(e.type===ge&&!Qh(e.children)))?t:null}const Ps=t=>t?ff(t)?Co(t):Ps(t.parent):null,ri=Xt(Object.create(null),{$:t=>t,$el:t=>t.vnode.el,$data:t=>t.data,$props:t=>t.props,$attrs:t=>t.attrs,$slots:t=>t.slots,$refs:t=>t.refs,$parent:t=>Ps(t.parent),$root:t=>Ps(t.root),$host:t=>t.ce,$emit:t=>t.emit,$options:t=>Sl(t),$forceUpdate:t=>t.f||(t.f=()=>{bl(t.update)}),$nextTick:t=>t.n||(t.n=yl.bind(t.proxy)),$watch:t=>Vg.bind(t)}),Yo=(t,e)=>t!==Ut&&!t.__isScriptSetup&&Bt(t,e),Bg={get({_:t},e){if(e==="__v_skip")return!0;const{ctx:r,setupState:n,data:l,props:o,accessCache:s,type:i,appContext:a}=t;let u;if(e[0]!=="$"){const m=s[e];if(m!==void 0)switch(m){case 1:return n[e];case 2:return l[e];case 4:return r[e];case 3:return o[e]}else{if(Yo(n,e))return s[e]=1,n[e];if(l!==Ut&&Bt(l,e))return s[e]=2,l[e];if((u=t.propsOptions[0])&&Bt(u,e))return s[e]=3,o[e];if(r!==Ut&&Bt(r,e))return s[e]=4,r[e];Bs&&(s[e]=0)}}const c=ri[e];let d,f;return c?(e==="$attrs"&&ae(t.attrs,0,""),c(t)):(d=i.__cssModules)&&(d=d[e])?d:r!==Ut&&Bt(r,e)?(s[e]=4,r[e]):(f=a.config.globalProperties,Bt(f,e)?f[e]:void 0)},set({_:t},e,r){const{data:n,setupState:l,ctx:o}=t;return Yo(l,e)?(l[e]=r,!0):n!==Ut&&Bt(n,e)?(n[e]=r,!0):!Bt(t.props,e)&&(e[0]!=="$"||!(e.slice(1)in t))&&(o[e]=r,!0)},has({_:{data:t,setupState:e,accessCache:r,ctx:n,appContext:l,propsOptions:o}},s){let i;return!!r[s]||t!==Ut&&Bt(t,s)||Yo(e,s)||(i=o[0])&&Bt(i,s)||Bt(n,s)||Bt(ri,s)||Bt(l.config.globalProperties,s)},defineProperty(t,e,r){return r.get!=null?t._.accessCache[e]=0:Bt(r,"value")&&this.set(t,e,r.value,null),Reflect.defineProperty(t,e,r)}};function iu(t){return At(t)?t.reduce((e,r)=>(e[r]=null,e),{}):t}let Bs=!0;function Mg(t){const e=Sl(t),r=t.proxy,n=t.ctx;Bs=!1,e.beforeCreate&&ou(e.beforeCreate,t,"bc");const{data:l,computed:o,methods:s,watch:i,provide:a,inject:u,created:c,beforeMount:d,mounted:f,beforeUpdate:m,updated:b,activated:_,deactivated:S,beforeDestroy:U,beforeUnmount:D,destroyed:K,unmounted:V,render:Y,renderTracked:P,renderTriggered:I,errorCaptured:E,serverPrefetch:w,expose:B,inheritAttrs:R,components:rt,directives:st,filters:X}=e;if(u&&function(N,$){At(N)&&(N=Ms(N));for(const nt in N){const Q=N[nt];let G;G=Wt(Q)?"default"in Q?Qe(Q.from||nt,Q.default,!0):Qe(Q.from||nt):Qe(Q),Yt(G)?Object.defineProperty($,nt,{enumerable:!0,configurable:!0,get:()=>G.value,set:T=>G.value=T}):$[nt]=G}}(u,n,null),s)for(const N in s){const $=s[N];Tt($)&&(n[N]=$.bind(r))}if(l){const N=l.call(r,r);Wt(N)&&(t.data=_i(N))}if(Bs=!0,o)for(const N in o){const $=o[N],nt=Tt($)?$.bind(r,r):Tt($.get)?$.get.bind(r,r):Ge,Q=!Tt($)&&Tt($.set)?$.set.bind(r):Ge,G=Ie({get:nt,set:Q});Object.defineProperty(n,N,{enumerable:!0,configurable:!0,get:()=>G.value,set:T=>G.value=T})}if(i)for(const N in i)Yh(i[N],n,r,N);if(a){const N=Tt(a)?a.call(r):a;Reflect.ownKeys(N).forEach($=>{$i($,N[$])})}function j(N,$){At($)?$.forEach(nt=>N(nt.bind(r))):$&&N($.bind(r))}if(c&&ou(c,t,"c"),j(Tg,d),j(vl,f),j(zh,m),j(Og,b),j(Ag,_),j(kg,S),j(Pg,E),j(Rg,P),j(xg,I),j(Kh,D),j(wl,V),j(Cg,w),At(B))if(B.length){const N=t.exposed||(t.exposed={});B.forEach($=>{Object.defineProperty(N,$,{get:()=>r[$],set:nt=>r[$]=nt})})}else t.exposed||(t.exposed={});Y&&t.render===Ge&&(t.render=Y),R!=null&&(t.inheritAttrs=R),rt&&(t.components=rt),st&&(t.directives=st),w&&qh(t)}function ou(t,e,r){Ue(At(t)?t.map(n=>n.bind(e.proxy)):t.bind(e.proxy),e,r)}function Yh(t,e,r,n){let l=n.includes(".")?of(r,n):()=>r[n];if(qt(t)){const o=e[t];Tt(o)&&xn(l,o)}else if(Tt(t))xn(l,t.bind(r));else if(Wt(t))if(At(t))t.forEach(o=>Yh(o,e,r,n));else{const o=Tt(t.handler)?t.handler.bind(r):e[t.handler];Tt(o)&&xn(l,o,t)}}function Sl(t){const e=t.type,{mixins:r,extends:n}=e,{mixins:l,optionsCache:o,config:{optionMergeStrategies:s}}=t.appContext,i=o.get(e);let a;return i?a=i:l.length||r||n?(a={},l.length&&l.forEach(u=>so(a,u,s,!0)),so(a,e,s)):a=e,Wt(e)&&o.set(e,a),a}function so(t,e,r,n=!1){const{mixins:l,extends:o}=e;o&&so(t,o,r,!0),l&&l.forEach(s=>so(t,s,r,!0));for(const s in e)if(!(n&&s==="expose")){const i=Lg[s]||r&&r[s];t[s]=i?i(t[s],e[s]):e[s]}return t}const Lg={data:su,props:au,emits:au,methods:Wn,computed:Wn,beforeCreate:ue,created:ue,beforeMount:ue,mounted:ue,beforeUpdate:ue,updated:ue,beforeDestroy:ue,beforeUnmount:ue,destroyed:ue,unmounted:ue,activated:ue,deactivated:ue,errorCaptured:ue,serverPrefetch:ue,components:Wn,directives:Wn,watch:function(t,e){if(!t)return e;if(!e)return t;const r=Xt(Object.create(null),t);for(const n in e)r[n]=ue(t[n],e[n]);return r},provide:su,inject:function(t,e){return Wn(Ms(t),Ms(e))}};function su(t,e){return e?t?function(){return Xt(Tt(t)?t.call(this,this):t,Tt(e)?e.call(this,this):e)}:e:t}function Ms(t){if(At(t)){const e={};for(let r=0;r(o.has(u)||(u&&Tt(u.install)?(o.add(u),u.install(a,...c)):Tt(u)&&(o.add(u),u(a,...c))),a),mixin:u=>(l.mixins.includes(u)||l.mixins.push(u),a),component:(u,c)=>c?(l.components[u]=c,a):l.components[u],directive:(u,c)=>c?(l.directives[u]=c,a):l.directives[u],mount(u,c,d){if(!i){const f=a._ceVNode||me(r,n);return f.appContext=l,d===!0?d="svg":d===!1&&(d=void 0),c&&e?e(f,u):t(f,u,d),i=!0,a._container=u,u.__vue_app__=a,Co(f.component)}},onUnmount(u){s.push(u)},unmount(){i&&(Ue(s,a._instance,16),t(null,a._container),delete a._container.__vue_app__)},provide:(u,c)=>(l.provides[u]=c,a),runWithContext(u){const c=sn;sn=a;try{return u()}finally{sn=c}}};return a}}let sn=null;function $i(t,e){if(re){let r=re.provides;const n=re.parent&&re.parent.provides;n===r&&(r=re.provides=Object.create(n)),r[t]=e}}function Qe(t,e,r=!1){const n=re||Zt;if(n||sn){const l=sn?sn._context.provides:n?n.parent==null?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides:void 0;if(l&&t in l)return l[t];if(arguments.length>1)return r&&Tt(e)?e.call(n&&n.proxy):e}}const Xh={},lu=()=>Object.create(Xh),Zh=t=>Object.getPrototypeOf(t)===Xh;function uu(t,e,r,n){const[l,o]=t.propsOptions;let s,i=!1;if(e)for(let a in e){if(Xn(a))continue;const u=e[a];let c;l&&Bt(l,c=Ce(a))?o&&o.includes(c)?(s||(s={}))[c]=u:r[c]=u:ao(t.emitsOptions,a)||a in n&&u===n[a]||(n[a]=u,i=!0)}if(o){const a=xt(r),u=s||Ut;for(let c=0;c{a=!0;const[f,m]=tf(d,e,!0);Xt(s,f),m&&i.push(...m)};!r&&e.mixins.length&&e.mixins.forEach(c),t.extends&&c(t.extends),t.mixins&&t.mixins.forEach(c)}if(!o&&!a)return Wt(t)&&n.set(t,In),In;if(At(o))for(let c=0;ct[0]==="_"||t==="$stable",Al=t=>At(t)?t.map(qe):[qe(t)],Dg=(t,e,r)=>{if(e._n)return e;const n=_g((...l)=>Al(e(...l)),r);return n._c=!1,n},hu=(t,e,r)=>{const n=t._ctx;for(const l in t){if(ef(l))continue;const o=t[l];if(Tt(o))e[l]=Dg(0,o,n);else if(o!=null){const s=Al(o);e[l]=()=>s}}},fu=(t,e)=>{const r=Al(e);t.slots.default=()=>r},pu=(t,e,r)=>{for(const n in e)(r||n!=="_")&&(t[n]=e[n])},ce=function(t,e){e&&e.pendingBranch?At(t)?e.effects.push(...t):e.effects.push(t):Rh(t)};function Fg(t){return function(e){eo().__VUE__=!0;const{insert:r,remove:n,patchProp:l,createElement:o,createText:s,createComment:i,setText:a,setElementText:u,parentNode:c,nextSibling:d,setScopeId:f=Ge,insertStaticContent:m}=e,b=(L,A,F,h=null,p=null,y=null,O=void 0,x=null,C=!!A.dynamicChildren)=>{if(L===A)return;L&&!tn(L,A)&&(h=ut(L),T(L,p,y,!0),L=null),A.patchFlag===-2&&(C=!1,A.dynamicChildren=null);const{type:g,ref:v,shapeFlag:k}=A;switch(g){case Oo:_(L,A,F,h);break;case pe:S(L,A,F,h);break;case Vi:L==null&&U(A,F,h,O);break;case ge:R(L,A,F,h,p,y,O,x,C);break;default:1&k?V(L,A,F,h,p,y,O,x,C):6&k?rt(L,A,F,h,p,y,O,x,C):(64&k||128&k)&&g.process(L,A,F,h,p,y,O,x,C,et)}v!=null&&p&&oo(v,L&&L.ref,y,A||L,!A)},_=(L,A,F,h)=>{if(L==null)r(A.el=s(A.children),F,h);else{const p=A.el=L.el;A.children!==L.children&&a(p,A.children)}},S=(L,A,F,h)=>{L==null?r(A.el=i(A.children||""),F,h):A.el=L.el},U=(L,A,F,h)=>{[L.el,L.anchor]=m(L.children,A,F,h,L.el,L.anchor)},D=({el:L,anchor:A},F,h)=>{let p;for(;L&&L!==A;)p=d(L),r(L,F,h),L=p;r(A,F,h)},K=({el:L,anchor:A})=>{let F;for(;L&&L!==A;)F=d(L),n(L),L=F;n(A)},V=(L,A,F,h,p,y,O,x,C)=>{A.type==="svg"?O="svg":A.type==="math"&&(O="mathml"),L==null?Y(A,F,h,p,y,O,x,C):E(L,A,p,y,O,x,C)},Y=(L,A,F,h,p,y,O,x)=>{let C,g;const{props:v,shapeFlag:k,transition:M,dirs:W}=L;if(C=L.el=o(L.type,y,v&&v.is,v),8&k?u(C,L.children):16&k&&I(L.children,C,null,h,p,Jo(L,y),O,x),W&&$r(L,null,h,"created"),P(C,L,L.scopeId,O,h),v){for(const at in v)at==="value"||Xn(at)||l(C,at,null,v[at],y,h);"value"in v&&l(C,"value",null,v.value,y),(g=v.onVnodeBeforeMount)&&Fe(g,h,L)}W&&$r(L,null,h,"beforeMount");const J=function(at,ot){return(!at||at&&!at.pendingBranch)&&ot&&!ot.persisted}(p,M);J&&M.beforeEnter(C),r(C,A,F),((g=v&&v.onVnodeMounted)||J||W)&&ce(()=>{g&&Fe(g,h,L),J&&M.enter(C),W&&$r(L,null,h,"mounted")},p)},P=(L,A,F,h,p)=>{if(F&&f(L,F),h)for(let y=0;y{for(let g=C;g{const x=A.el=L.el;let{patchFlag:C,dynamicChildren:g,dirs:v}=A;C|=16&L.patchFlag;const k=L.props||Ut,M=A.props||Ut;let W;if(F&&Vr(F,!1),(W=M.onVnodeBeforeUpdate)&&Fe(W,F,A,L),v&&$r(A,L,F,"beforeUpdate"),F&&Vr(F,!0),(k.innerHTML&&M.innerHTML==null||k.textContent&&M.textContent==null)&&u(x,""),g?w(L.dynamicChildren,g,x,F,h,Jo(A,p),y):O||$(L,A,x,null,F,h,Jo(A,p),y,!1),C>0){if(16&C)B(x,k,M,F,p);else if(2&C&&k.class!==M.class&&l(x,"class",null,M.class,p),4&C&&l(x,"style",k.style,M.style,p),8&C){const J=A.dynamicProps;for(let at=0;at{W&&Fe(W,F,A,L),v&&$r(A,L,F,"updated")},h)},w=(L,A,F,h,p,y,O)=>{for(let x=0;x{if(A!==F){if(A!==Ut)for(const y in A)Xn(y)||y in F||l(L,y,A[y],null,p,h);for(const y in F){if(Xn(y))continue;const O=F[y],x=A[y];O!==x&&y!=="value"&&l(L,y,x,O,p,h)}"value"in F&&l(L,"value",A.value,F.value,p)}},R=(L,A,F,h,p,y,O,x,C)=>{const g=A.el=L?L.el:s(""),v=A.anchor=L?L.anchor:s("");let{patchFlag:k,dynamicChildren:M,slotScopeIds:W}=A;W&&(x=x?x.concat(W):W),L==null?(r(g,F,h),r(v,F,h),I(A.children||[],F,v,p,y,O,x,C)):k>0&&64&k&&M&&L.dynamicChildren?(w(L.dynamicChildren,M,F,p,y,O,x),(A.key!=null||p&&A===p.subTree)&&kl(L,A,!0)):$(L,A,F,v,p,y,O,x,C)},rt=(L,A,F,h,p,y,O,x,C)=>{A.slotScopeIds=x,L==null?512&A.shapeFlag?p.ctx.activate(A,F,h,O,C):st(A,F,h,p,y,O,C):X(L,A,C)},st=(L,A,F,h,p,y,O)=>{const x=L.component=function(C,g,v){const k=C.type,M=(g?g.appContext:C.appContext)||Jg,W={uid:Xg++,vnode:C,type:k,parent:g,appContext:M,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new lh(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:g?g.provides:Object.create(M.provides),ids:g?g.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:tf(k,M),emitsOptions:sf(k,M),emit:null,emitted:null,propsDefaults:Ut,inheritAttrs:k.inheritAttrs,ctx:Ut,data:Ut,props:Ut,attrs:Ut,slots:Ut,refs:Ut,setupState:Ut,setupContext:null,suspense:v,suspenseId:v?v.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return W.ctx={_:W},W.root=g?g.root:W,W.emit=Hg.bind(null,W),C.ce&&C.ce(W),W}(L,h,p);if(Io(L)&&(x.ctx.renderer=et),function(C,g=!1,v=!1){g&&Ns(g);const{props:k,children:M}=C.vnode,W=ff(C);(function(at,ot,vt,bt=!1){const wt={},Ot=lu();at.propsDefaults=Object.create(null),uu(at,ot,wt,Ot);for(const kt in at.propsOptions[0])kt in wt||(wt[kt]=void 0);vt?at.props=bt?wt:kh(wt):at.type.props?at.props=wt:at.props=Ot,at.attrs=Ot})(C,k,W,g),((at,ot,vt)=>{const bt=at.slots=lu();if(32&at.vnode.shapeFlag){const wt=ot._;wt?(pu(bt,ot,vt),vt&&ih(bt,"_",wt,!0)):hu(ot,bt)}else ot&&fu(at,ot)})(C,M,v);const J=W?function(at,ot){const vt=at.type;at.accessCache=Object.create(null),at.proxy=new Proxy(at.ctx,Bg);const{setup:bt}=vt;if(bt){jr();const wt=at.setupContext=bt.length>1?function(_t){const It=yt=>{_t.exposed=yt||{}};return{attrs:new Proxy(_t.attrs,Zg),slots:_t.slots,emit:_t.emit,expose:It}}(at):null,Ot=Si(at),kt=Ei(bt,at,0,[at.props,wt]),Mt=eh(kt);if(Ur(),Ot(),!Mt&&!at.sp||An(at)||qh(at),Mt){if(kt.then(yu,yu),ot)return kt.then(_t=>{vu(at,_t,ot)}).catch(_t=>{ko(_t,at,0)});at.asyncDep=kt}else vu(at,kt,ot)}else pf(at,ot)}(C,g):void 0;g&&Ns(!1)}(x,!1,O),x.asyncDep){if(p&&p.registerDep(x,j,O),!L.el){const C=x.subTree=me(pe);S(null,C,A,F)}}else j(x,L,A,F,p,y,O)},X=(L,A,F)=>{const h=A.component=L.component;if(function(p,y,O){const{props:x,children:C,component:g}=p,{props:v,children:k,patchFlag:M}=y,W=g.emitsOptions;if(y.dirs||y.transition)return!0;if(!(O&&M>=0))return!(!C&&!k||k&&k.$stable)||x!==v&&(x?!v||gu(x,v,W):!!v);if(1024&M)return!0;if(16&M)return x?gu(x,v,W):!!v;if(8&M){const J=y.dynamicProps;for(let at=0;at{const x=()=>{if(L.isMounted){let{next:k,bu:M,u:W,parent:J,vnode:at}=L;{const Ot=rf(L);if(Ot)return k&&(k.el=at.el,N(L,k,O)),void Ot.asyncDep.then(()=>{L.isUnmounted||x()})}let ot,vt=k;Vr(L,!1),k?(k.el=at.el,N(L,k,O)):k=at,M&&Wo(M),(ot=k.props&&k.props.onVnodeBeforeUpdate)&&Fe(ot,J,k,at),Vr(L,!0);const bt=Xo(L),wt=L.subTree;L.subTree=bt,b(wt,bt,c(wt.el),ut(wt),L,p,y),k.el=bt.el,vt===null&&function({vnode:Ot,parent:kt},Mt){for(;kt;){const _t=kt.subTree;if(_t.suspense&&_t.suspense.activeBranch===Ot&&(_t.el=Ot.el),_t!==Ot)break;(Ot=kt.vnode).el=Mt,kt=kt.parent}}(L,bt.el),W&&ce(W,p),(ot=k.props&&k.props.onVnodeUpdated)&&ce(()=>Fe(ot,J,k,at),p)}else{let k;const{el:M,props:W}=A,{bm:J,m:at,parent:ot,root:vt,type:bt}=L,wt=An(A);if(Vr(L,!1),J&&Wo(J),!wt&&(k=W&&W.onVnodeBeforeMount)&&Fe(k,ot,A),Vr(L,!0),M&&dt){const Ot=()=>{L.subTree=Xo(L),dt(M,L.subTree,L,p,null)};wt&&bt.__asyncHydrate?bt.__asyncHydrate(M,L,Ot):Ot()}else{vt.ce&&vt.ce._injectChildStyle(bt);const Ot=L.subTree=Xo(L);b(null,Ot,F,h,L,p,y),A.el=Ot.el}if(at&&ce(at,p),!wt&&(k=W&&W.onVnodeMounted)){const Ot=A;ce(()=>Fe(k,ot,Ot),p)}(256&A.shapeFlag||ot&&An(ot.vnode)&&256&ot.vnode.shapeFlag)&&L.a&&ce(L.a,p),L.isMounted=!0,A=F=h=null}};L.scope.on();const C=L.effect=new hh(x);L.scope.off();const g=L.update=C.run.bind(C),v=L.job=C.runIfDirty.bind(C);v.i=L,v.id=L.uid,C.scheduler=()=>bl(v),Vr(L,!0),g()},N=(L,A,F)=>{A.component=L;const h=L.vnode.props;L.vnode=A,L.next=null,function(p,y,O,x){const{props:C,attrs:g,vnode:{patchFlag:v}}=p,k=xt(C),[M]=p.propsOptions;let W=!1;if(!(x||v>0)||16&v){let J;uu(p,y,C,g)&&(W=!0);for(const at in k)y&&(Bt(y,at)||(J=Dr(at))!==at&&Bt(y,J))||(M?!O||O[at]===void 0&&O[J]===void 0||(C[at]=Ls(M,k,at,void 0,p,!0)):delete C[at]);if(g!==k)for(const at in g)y&&Bt(y,at)||(delete g[at],W=!0)}else if(8&v){const J=p.vnode.dynamicProps;for(let at=0;at{const{vnode:x,slots:C}=p;let g=!0,v=Ut;if(32&x.shapeFlag){const k=y._;k?O&&k===1?g=!1:pu(C,y,O):(g=!y.$stable,hu(y,C)),v=y}else y&&(fu(p,y),v={default:1});if(g)for(const k in C)ef(k)||v[k]!=null||delete C[k]})(L,A.children,F),jr(),Jl(L),Ur()},$=(L,A,F,h,p,y,O,x,C=!1)=>{const g=L&&L.children,v=L?L.shapeFlag:0,k=A.children,{patchFlag:M,shapeFlag:W}=A;if(M>0){if(128&M)return void Q(g,k,F,h,p,y,O,x,C);if(256&M)return void nt(g,k,F,h,p,y,O,x,C)}8&W?(16&v&<(g,p,y),k!==g&&u(F,k)):16&v?16&W?Q(g,k,F,h,p,y,O,x,C):lt(g,p,y,!0):(8&v&&u(F,""),16&W&&I(k,F,h,p,y,O,x,C))},nt=(L,A,F,h,p,y,O,x,C)=>{A=A||In;const g=(L=L||In).length,v=A.length,k=Math.min(g,v);let M;for(M=0;Mv?lt(L,p,y,!0,!1,k):I(A,F,h,p,y,O,x,C,k)},Q=(L,A,F,h,p,y,O,x,C)=>{let g=0;const v=A.length;let k=L.length-1,M=v-1;for(;g<=k&&g<=M;){const W=L[g],J=A[g]=C?xr(A[g]):qe(A[g]);if(!tn(W,J))break;b(W,J,F,null,p,y,O,x,C),g++}for(;g<=k&&g<=M;){const W=L[k],J=A[M]=C?xr(A[M]):qe(A[M]);if(!tn(W,J))break;b(W,J,F,null,p,y,O,x,C),k--,M--}if(g>k){if(g<=M){const W=M+1,J=WM)for(;g<=k;)T(L[g],p,y,!0),g++;else{const W=g,J=g,at=new Map;for(g=J;g<=M;g++){const _t=A[g]=C?xr(A[g]):qe(A[g]);_t.key!=null&&at.set(_t.key,g)}let ot,vt=0;const bt=M-J+1;let wt=!1,Ot=0;const kt=new Array(bt);for(g=0;g=bt){T(_t,p,y,!0);continue}let It;if(_t.key!=null)It=at.get(_t.key);else for(ot=J;ot<=M;ot++)if(kt[ot-J]===0&&tn(_t,A[ot])){It=ot;break}It===void 0?T(_t,p,y,!0):(kt[It-J]=g+1,It>=Ot?Ot=It:wt=!0,b(_t,A[It],F,null,p,y,O,x,C),vt++)}const Mt=wt?function(_t){const It=_t.slice(),yt=[0];let Ct,wr,Ht,Jt,Ee;const De=_t.length;for(Ct=0;Ct>1,_t[yt[Ee]]0&&(It[Ct]=yt[Ht-1]),yt[Ht]=Ct)}}for(Ht=yt.length,Jt=yt[Ht-1];Ht-- >0;)yt[Ht]=Jt,Jt=It[Jt];return yt}(kt):In;for(ot=Mt.length-1,g=bt-1;g>=0;g--){const _t=J+g,It=A[_t],yt=_t+1{const{el:y,type:O,transition:x,children:C,shapeFlag:g}=L;if(6&g)return void G(L.component.subTree,A,F,h);if(128&g)return void L.suspense.move(A,F,h);if(64&g)return void O.move(L,A,F,et);if(O===ge){r(y,A,F);for(let v=0;vx.enter(y),p);else{const{leave:v,delayLeave:k,afterLeave:M}=x,W=()=>r(y,A,F),J=()=>{v(y,()=>{W(),M&&M()})};k?k(y,W,J):J()}else r(y,A,F)},T=(L,A,F,h=!1,p=!1)=>{const{type:y,props:O,ref:x,children:C,dynamicChildren:g,shapeFlag:v,patchFlag:k,dirs:M,cacheIndex:W}=L;if(k===-2&&(p=!1),x!=null&&oo(x,null,F,L,!0),W!=null&&(A.renderCache[W]=void 0),256&v)return void A.ctx.deactivate(L);const J=1&v&&M,at=!An(L);let ot;if(at&&(ot=O&&O.onVnodeBeforeUnmount)&&Fe(ot,A,L),6&v)it(L.component,F,h);else{if(128&v)return void L.suspense.unmount(F,h);J&&$r(L,null,A,"beforeUnmount"),64&v?L.type.remove(L,A,F,et,h):g&&!g.hasOnce&&(y!==ge||k>0&&64&k)?lt(g,A,F,!1,!0):(y===ge&&384&k||!p&&16&v)&<(C,A,F),h&&q(L)}(at&&(ot=O&&O.onVnodeUnmounted)||J)&&ce(()=>{ot&&Fe(ot,A,L),J&&$r(L,null,A,"unmounted")},F)},q=L=>{const{type:A,el:F,anchor:h,transition:p}=L;if(A===ge)return void tt(F,h);if(A===Vi)return void K(L);const y=()=>{n(F),p&&!p.persisted&&p.afterLeave&&p.afterLeave()};if(1&L.shapeFlag&&p&&!p.persisted){const{leave:O,delayLeave:x}=p,C=()=>O(F,y);x?x(L.el,y,C):C()}else y()},tt=(L,A)=>{let F;for(;L!==A;)F=d(L),n(L),L=F;n(A)},it=(L,A,F)=>{const{bum:h,scope:p,job:y,subTree:O,um:x,m:C,a:g}=L;du(C),du(g),h&&Wo(h),p.stop(),y&&(y.flags|=8,T(O,L,A,F)),x&&ce(x,A),ce(()=>{L.isUnmounted=!0},A),A&&A.pendingBranch&&!A.isUnmounted&&L.asyncDep&&!L.asyncResolved&&L.suspenseId===A.pendingId&&(A.deps--,A.deps===0&&A.resolve())},lt=(L,A,F,h=!1,p=!1,y=0)=>{for(let O=y;O{if(6&L.shapeFlag)return ut(L.component.subTree);if(128&L.shapeFlag)return L.suspense.next();const A=d(L.anchor||L.el),F=A&&A[Lh];return F?d(F):A};let pt=!1;const H=(L,A,F)=>{L==null?A._vnode&&T(A._vnode,null,null,!0):b(A._vnode||null,L,A,null,null,null,F),A._vnode=L,pt||(pt=!0,Jl(),Ph(),pt=!1)},et={p:b,um:T,m:G,r:q,mt:st,mc:I,pc:$,pbc:w,n:ut,o:e};let Z,dt;return{render:H,hydrate:Z,createApp:Ug(H,Z)}}(t)}function Jo({type:t,props:e},r){return r==="svg"&&t==="foreignObject"||r==="mathml"&&t==="annotation-xml"&&e&&e.encoding&&e.encoding.includes("html")?void 0:r}function Vr({effect:t,job:e},r){r?(t.flags|=32,e.flags|=4):(t.flags&=-33,e.flags&=-5)}function kl(t,e,r=!1){const n=t.children,l=e.children;if(At(n)&&At(l))for(let o=0;oQe(Wg);function xn(t,e,r){return nf(t,e,r)}function nf(t,e,r=Ut){const{immediate:n,deep:l,flush:o,once:s}=r,i=Xt({},r),a=e&&n||!e&&o!=="post";let u;if(gi){if(o==="sync"){const m=$g();u=m.__watcherHandles||(m.__watcherHandles=[])}else if(!a){const m=()=>{};return m.stop=Ge,m.resume=Ge,m.pause=Ge,m}}const c=re;i.call=(m,b,_)=>Ue(m,c,b,_);let d=!1;o==="post"?i.scheduler=m=>{ce(m,c&&c.suspense)}:o!=="sync"&&(d=!0,i.scheduler=(m,b)=>{b?m():bl(m)}),i.augmentJob=m=>{e&&(m.flags|=4),d&&(m.flags|=2,c&&(m.id=c.uid,m.i=c))};const f=wg(t,e,i);return gi&&(u?u.push(f):a&&f()),f}function Vg(t,e,r){const n=this.proxy,l=qt(t)?t.includes(".")?of(n,t):()=>n[t]:t.bind(n,n);let o;Tt(e)?o=e:(o=e.handler,r=e);const s=Si(this),i=nf(l,o.bind(n),r);return s(),i}function of(t,e){const r=e.split(".");return()=>{let n=t;for(let l=0;le==="modelValue"||e==="model-value"?t.modelModifiers:t[`${e}Modifiers`]||t[`${Ce(e)}Modifiers`]||t[`${Dr(e)}Modifiers`];function Hg(t,e,...r){if(t.isUnmounted)return;const n=t.vnode.props||Ut;let l=r;const o=e.startsWith("update:"),s=o&&qg(n,e.slice(7));let i;s&&(s.trim&&(l=r.map(c=>qt(c)?c.trim():c)),s.number&&(l=r.map(zd)));let a=n[i=Fo(e)]||n[i=Fo(Ce(e))];!a&&o&&(a=n[i=Fo(Dr(e))]),a&&Ue(a,t,6,l);const u=n[i+"Once"];if(u){if(t.emitted){if(t.emitted[i])return}else t.emitted={};t.emitted[i]=!0,Ue(u,t,6,l)}}function sf(t,e,r=!1){const n=e.emitsCache,l=n.get(t);if(l!==void 0)return l;const o=t.emits;let s={},i=!1;if(!Tt(t)){const a=u=>{const c=sf(u,e,!0);c&&(i=!0,Xt(s,c))};!r&&e.mixins.length&&e.mixins.forEach(a),t.extends&&a(t.extends),t.mixins&&t.mixins.forEach(a)}return o||i?(At(o)?o.forEach(a=>s[a]=null):Xt(s,o),Wt(t)&&n.set(t,s),s):(Wt(t)&&n.set(t,null),null)}function ao(t,e){return!(!t||!bo(e))&&(e=e.slice(2).replace(/Once$/,""),Bt(t,e[0].toLowerCase()+e.slice(1))||Bt(t,Dr(e))||Bt(t,e))}function Xo(t){const{type:e,vnode:r,proxy:n,withProxy:l,propsOptions:[o],slots:s,attrs:i,emit:a,render:u,renderCache:c,props:d,data:f,setupState:m,ctx:b,inheritAttrs:_}=t,S=io(t);let U,D;try{if(4&r.shapeFlag){const V=l||n,Y=V;U=qe(u.call(Y,V,c,d,m,f,b)),D=i}else{const V=e;U=qe(V.length>1?V(d,{attrs:i,slots:s,emit:a}):V(d,null)),D=e.props?i:zg(i)}}catch(V){ni.length=0,ko(V,t,1),U=me(pe)}let K=U;if(D&&_!==!1){const V=Object.keys(D),{shapeFlag:Y}=K;V.length&&7&Y&&(o&&V.some(ol)&&(D=Kg(D,o)),K=Nr(K,D,!1,!0))}return r.dirs&&(K=Nr(K,null,!1,!0),K.dirs=K.dirs?K.dirs.concat(r.dirs):r.dirs),r.transition&&fi(K,r.transition),U=K,io(S),U}const zg=t=>{let e;for(const r in t)(r==="class"||r==="style"||bo(r))&&((e||(e={}))[r]=t[r]);return e},Kg=(t,e)=>{const r={};for(const n in t)ol(n)&&n.slice(9)in e||(r[n]=t[n]);return r};function gu(t,e,r){const n=Object.keys(e);if(n.length!==Object.keys(t).length)return!0;for(let l=0;lt.__isSuspense,ge=Symbol.for("v-fgt"),Oo=Symbol.for("v-txt"),pe=Symbol.for("v-cmt"),Vi=Symbol.for("v-stc"),ni=[];let _e=null;function js(t=!1){ni.push(_e=t?null:[])}let pi=1;function mu(t,e=!1){pi+=t,t<0&&_e&&e&&(_e.hasOnce=!0)}function lf(t){return t.dynamicChildren=pi>0?_e||In:null,ni.pop(),_e=ni[ni.length-1]||null,pi>0&&_e&&_e.push(t),t}function Jy(t,e,r,n,l,o){return lf(cf(t,e,r,n,l,o,!0))}function Us(t,e,r,n,l){return lf(me(t,e,r,n,l,!0))}function di(t){return!!t&&t.__v_isVNode===!0}function tn(t,e){return t.type===e.type&&t.key===e.key}const uf=({key:t})=>t??null,qi=({ref:t,ref_key:e,ref_for:r})=>(typeof t=="number"&&(t=""+t),t!=null?qt(t)||Yt(t)||Tt(t)?{i:Zt,r:t,k:e,f:!!r}:t:null);function cf(t,e=null,r=null,n=0,l=null,o=t===ge?0:1,s=!1,i=!1){const a={__v_isVNode:!0,__v_skip:!0,type:t,props:e,key:e&&uf(e),ref:e&&qi(e),scopeId:Mh,slotScopeIds:null,children:r,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:o,patchFlag:n,dynamicProps:l,dynamicChildren:null,appContext:null,ctx:Zt};return i?(Il(a,r),128&o&&t.normalize(a)):r&&(a.shapeFlag|=qt(r)?8:16),pi>0&&!s&&_e&&(a.patchFlag>0||6&o)&&a.patchFlag!==32&&_e.push(a),a}const me=function(t,e=null,r=null,n=0,l=null,o=!1){if(t&&t!==Gh||(t=pe),di(t)){const a=Nr(t,e,!0);return r&&Il(a,r),pi>0&&!o&&_e&&(6&a.shapeFlag?_e[_e.indexOf(t)]=a:_e.push(a)),a.patchFlag=-2,a}s=t,Tt(s)&&"__vccOpts"in s&&(t=t.__vccOpts);var s;if(e){e=Gg(e);let{class:a,style:u}=e;a&&!qt(a)&&(e.class=So(a)),Wt(u)&&(dl(u)&&!At(u)&&(u=Xt({},u)),e.style=Eo(u))}const i=qt(t)?1:af(t)?128:jh(t)?64:Wt(t)?4:Tt(t)?2:0;return cf(t,e,r,n,l,i,o,!0)};function Gg(t){return t?dl(t)||Zh(t)?Xt({},t):t:null}function Nr(t,e,r=!1,n=!1){const{props:l,ref:o,patchFlag:s,children:i,transition:a}=t,u=e?Yg(l||{},e):l,c={__v_isVNode:!0,__v_skip:!0,type:t.type,props:u,key:u&&uf(u),ref:e&&e.ref?r&&o?At(o)?o.concat(qi(e)):[o,qi(e)]:qi(e):o,scopeId:t.scopeId,slotScopeIds:t.slotScopeIds,children:i,target:t.target,targetStart:t.targetStart,targetAnchor:t.targetAnchor,staticCount:t.staticCount,shapeFlag:t.shapeFlag,patchFlag:e&&t.type!==ge?s===-1?16:16|s:s,dynamicProps:t.dynamicProps,dynamicChildren:t.dynamicChildren,appContext:t.appContext,dirs:t.dirs,transition:a,component:t.component,suspense:t.suspense,ssContent:t.ssContent&&Nr(t.ssContent),ssFallback:t.ssFallback&&Nr(t.ssFallback),el:t.el,anchor:t.anchor,ctx:t.ctx,ce:t.ce};return a&&n&&fi(c,a.clone(c)),c}function Qg(t=" ",e=0){return me(Oo,null,t,e)}function Xy(t="",e=!1){return e?(js(),Us(pe,null,t)):me(pe,null,t)}function qe(t){return t==null||typeof t=="boolean"?me(pe):At(t)?me(ge,null,t.slice()):di(t)?xr(t):me(Oo,null,String(t))}function xr(t){return t.el===null&&t.patchFlag!==-1||t.memo?t:Nr(t)}function Il(t,e){let r=0;const{shapeFlag:n}=t;if(e==null)e=null;else if(At(e))r=16;else if(typeof e=="object"){if(65&n){const l=e.default;return void(l&&(l._c&&(l._d=!1),Il(t,l()),l._c&&(l._d=!0)))}{r=32;const l=e._;l||Zh(e)?l===3&&Zt&&(Zt.slots._===1?e._=1:(e._=2,t.patchFlag|=1024)):e._ctx=Zt}}else Tt(e)?(e={default:e,_ctx:Zt},r=32):(e=String(e),64&n?(r=16,e=[Qg(e)]):r=8);t.children=e,t.shapeFlag|=r}function Yg(...t){const e={};for(let r=0;rre||Zt;let lo,Ns;{const t=eo(),e=(r,n)=>{let l;return(l=t[r])||(l=t[r]=[]),l.push(n),o=>{l.length>1?l.forEach(s=>s(o)):l[0](o)}};lo=e("__VUE_INSTANCE_SETTERS__",r=>re=r),Ns=e("__VUE_SSR_SETTERS__",r=>gi=r)}const Si=t=>{const e=re;return lo(t),t.scope.on(),()=>{t.scope.off(),lo(e)}},yu=()=>{re&&re.scope.off(),lo(null)};function ff(t){return 4&t.vnode.shapeFlag}let bu,gi=!1;function vu(t,e,r){Tt(e)?t.type.__ssrInlineRender?t.ssrRender=e:t.render=e:Wt(e)&&(t.setupState=Oh(e)),pf(t,r)}function pf(t,e,r){const n=t.type;if(!t.render){if(!e&&bu&&!n.render){const l=n.template||Sl(t).template;if(l){const{isCustomElement:o,compilerOptions:s}=t.appContext.config,{delimiters:i,compilerOptions:a}=n,u=Xt(Xt({isCustomElement:o,delimiters:i},s),a);n.render=bu(l,u)}}t.render=n.render||Ge}{const l=Si(t);jr();try{Mg(t)}finally{Ur(),l()}}}const Zg={get:(t,e)=>(ae(t,0,""),t[e])};function Co(t){return t.exposed?t.exposeProxy||(t.exposeProxy=new Proxy(Oh(gl(t.exposed)),{get:(e,r)=>r in e?e[r]:r in ri?ri[r](t):void 0,has:(e,r)=>r in e||r in ri})):t.proxy}function tm(t,e=!0){return Tt(t)?t.displayName||t.name:t.name||e&&t.__name}const Ie=(t,e)=>function(n,l,o=!1){let s,i;return Tt(n)?s=n:(s=n.get,i=n.set),new vg(s,i,o)}(t,0,gi);function Tl(t,e,r){const n=arguments.length;return n===2?Wt(e)&&!At(e)?di(e)?me(t,null,[e]):me(t,e):me(t,null,e):(n>3?r=Array.prototype.slice.call(arguments,2):n===3&&di(r)&&(r=[r]),me(t,e,r))}const em="3.5.13";/** +* @vue/runtime-dom v3.5.13 +* (c) 2018-present Yuxi (Evan) You and Vue contributors +* @license MIT +**/let Ds;const wu=typeof window<"u"&&window.trustedTypes;if(wu)try{Ds=wu.createPolicy("vue",{createHTML:t=>t})}catch{}const df=Ds?t=>Ds.createHTML(t):t=>t,ir=typeof document<"u"?document:null,_u=ir&&ir.createElement("template"),rm={insert:(t,e,r)=>{e.insertBefore(t,r||null)},remove:t=>{const e=t.parentNode;e&&e.removeChild(t)},createElement:(t,e,r,n)=>{const l=e==="svg"?ir.createElementNS("http://www.w3.org/2000/svg",t):e==="mathml"?ir.createElementNS("http://www.w3.org/1998/Math/MathML",t):r?ir.createElement(t,{is:r}):ir.createElement(t);return t==="select"&&n&&n.multiple!=null&&l.setAttribute("multiple",n.multiple),l},createText:t=>ir.createTextNode(t),createComment:t=>ir.createComment(t),setText:(t,e)=>{t.nodeValue=e},setElementText:(t,e)=>{t.textContent=e},parentNode:t=>t.parentNode,nextSibling:t=>t.nextSibling,querySelector:t=>ir.querySelector(t),setScopeId(t,e){t.setAttribute(e,"")},insertStaticContent(t,e,r,n,l,o){const s=r?r.previousSibling:e.lastChild;if(l&&(l===o||l.nextSibling))for(;e.insertBefore(l.cloneNode(!0),r),l!==o&&(l=l.nextSibling););else{_u.innerHTML=df(n==="svg"?`${t}`:n==="mathml"?`${t}`:t);const i=_u.content;if(n==="svg"||n==="mathml"){const a=i.firstChild;for(;a.firstChild;)i.appendChild(a.firstChild);i.removeChild(a)}e.insertBefore(i,r)}return[s?s.nextSibling:e.firstChild,r?r.previousSibling:e.lastChild]}},_r="transition",$n="animation",mi=Symbol("_vtc"),gf={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},nm=Xt({},Nh,gf),Zy=(t=>(t.displayName="Transition",t.props=nm,t))((t,{slots:e})=>Tl(Sg,function(r){const n={};for(const X in r)X in gf||(n[X]=r[X]);if(r.css===!1)return n;const{name:l="v",type:o,duration:s,enterFromClass:i=`${l}-enter-from`,enterActiveClass:a=`${l}-enter-active`,enterToClass:u=`${l}-enter-to`,appearFromClass:c=i,appearActiveClass:d=a,appearToClass:f=u,leaveFromClass:m=`${l}-leave-from`,leaveActiveClass:b=`${l}-leave-active`,leaveToClass:_=`${l}-leave-to`}=r,S=function(X){if(X==null)return null;if(Wt(X))return[Zo(X.enter),Zo(X.leave)];{const j=Zo(X);return[j,j]}}(s),U=S&&S[0],D=S&&S[1],{onBeforeEnter:K,onEnter:V,onEnterCancelled:Y,onLeave:P,onLeaveCancelled:I,onBeforeAppear:E=K,onAppear:w=V,onAppearCancelled:B=Y}=n,R=(X,j,N,$)=>{X._enterCancelled=$,Hr(X,j?f:u),Hr(X,j?d:a),N&&N()},rt=(X,j)=>{X._isLeaving=!1,Hr(X,m),Hr(X,_),Hr(X,b),j&&j()},st=X=>(j,N)=>{const $=X?w:V,nt=()=>R(j,X,N);qr($,[j,nt]),Su(()=>{Hr(j,X?c:i),Ze(j,X?f:u),Eu($)||Au(j,o,U,nt)})};return Xt(n,{onBeforeEnter(X){qr(K,[X]),Ze(X,i),Ze(X,a)},onBeforeAppear(X){qr(E,[X]),Ze(X,c),Ze(X,d)},onEnter:st(!1),onAppear:st(!0),onLeave(X,j){X._isLeaving=!0;const N=()=>rt(X,j);Ze(X,m),X._enterCancelled?(Ze(X,b),Tu()):(Tu(),Ze(X,b)),Su(()=>{X._isLeaving&&(Hr(X,m),Ze(X,_),Eu(P)||Au(X,o,D,N))}),qr(P,[X,N])},onEnterCancelled(X){R(X,!1,void 0,!0),qr(Y,[X])},onAppearCancelled(X){R(X,!0,void 0,!0),qr(B,[X])},onLeaveCancelled(X){rt(X),qr(I,[X])}})}(t),e)),qr=(t,e=[])=>{At(t)?t.forEach(r=>r(...e)):t&&t(...e)},Eu=t=>!!t&&(At(t)?t.some(e=>e.length>1):t.length>1);function Zo(t){return(r=>{const n=qt(r)?Number(r):NaN;return isNaN(n)?r:n})(t)}function Ze(t,e){e.split(/\s+/).forEach(r=>r&&t.classList.add(r)),(t[mi]||(t[mi]=new Set)).add(e)}function Hr(t,e){e.split(/\s+/).forEach(n=>n&&t.classList.remove(n));const r=t[mi];r&&(r.delete(e),r.size||(t[mi]=void 0))}function Su(t){requestAnimationFrame(()=>{requestAnimationFrame(t)})}let im=0;function Au(t,e,r,n){const l=t._endId=++im,o=()=>{l===t._endId&&n()};if(r!=null)return setTimeout(o,r);const{type:s,timeout:i,propCount:a}=function(m,b){const _=window.getComputedStyle(m),S=R=>(_[R]||"").split(", "),U=S(`${_r}Delay`),D=S(`${_r}Duration`),K=ku(U,D),V=S(`${$n}Delay`),Y=S(`${$n}Duration`),P=ku(V,Y);let I=null,E=0,w=0;b===_r?K>0&&(I=_r,E=K,w=D.length):b===$n?P>0&&(I=$n,E=P,w=Y.length):(E=Math.max(K,P),I=E>0?K>P?_r:$n:null,w=I?I===_r?D.length:Y.length:0);const B=I===_r&&/\b(transform|all)(,|$)/.test(S(`${_r}Property`).toString());return{type:I,timeout:E,propCount:w,hasTransform:B}}(t,e);if(!s)return n();const u=s+"end";let c=0;const d=()=>{t.removeEventListener(u,f),o()},f=m=>{m.target===t&&++c>=a&&d()};setTimeout(()=>{cIu(r)+Iu(t[n])))}function Iu(t){return t==="auto"?0:1e3*Number(t.slice(0,-1).replace(",","."))}function Tu(){return document.body.offsetHeight}const uo=Symbol("_vod"),mf=Symbol("_vsh"),tb={beforeMount(t,{value:e},{transition:r}){t[uo]=t.style.display==="none"?"":t.style.display,r&&e?r.beforeEnter(t):Vn(t,e)},mounted(t,{value:e},{transition:r}){r&&e&&r.enter(t)},updated(t,{value:e,oldValue:r},{transition:n}){!e!=!r&&(n?e?(n.beforeEnter(t),Vn(t,!0),n.enter(t)):n.leave(t,()=>{Vn(t,!1)}):Vn(t,e))},beforeUnmount(t,{value:e}){Vn(t,e)}};function Vn(t,e){t.style.display=e?t[uo]:"none",t[mf]=!e}const yf=Symbol("");function eb(t){const e=hf();if(!e)return;const r=e.ut=(l=t(e.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${e.uid}"]`)).forEach(o=>co(o,l))},n=()=>{const l=t(e.proxy);e.ce?co(e.ce,l):Fs(e.subTree,l),r(l)};zh(()=>{Rh(n)}),vl(()=>{xn(n,Ge,{flush:"post"});const l=new MutationObserver(n);l.observe(e.subTree.el.parentNode,{childList:!0}),wl(()=>l.disconnect())})}function Fs(t,e){if(128&t.shapeFlag){const r=t.suspense;t=r.activeBranch,r.pendingBranch&&!r.isHydrating&&r.effects.push(()=>{Fs(r.activeBranch,e)})}for(;t.component;)t=t.component.subTree;if(1&t.shapeFlag&&t.el)co(t.el,e);else if(t.type===ge)t.children.forEach(r=>Fs(r,e));else if(t.type===Vi){let{el:r,anchor:n}=t;for(;r&&(co(r,e),r!==n);)r=r.nextSibling}}function co(t,e){if(t.nodeType===1){const r=t.style;let n="";for(const l in e)r.setProperty(`--${l}`,e[l]),n+=`--${l}: ${e[l]};`;r[yf]=n}}const om=/(^|;)\s*display\s*:/,Ou=/\s*!important$/;function Hi(t,e,r){if(At(r))r.forEach(n=>Hi(t,e,n));else if(r==null&&(r=""),e.startsWith("--"))t.setProperty(e,r);else{const n=function(l,o){const s=ts[o];if(s)return s;let i=Ce(o);if(i!=="filter"&&i in l)return ts[o]=i;i=_o(i);for(let a=0;a{if(m._vts){if(m._vts<=f.attached)return}else m._vts=Date.now();Ue(function(b,_){if(At(_)){const S=b.stopImmediatePropagation;return b.stopImmediatePropagation=()=>{S.call(b),b._stopped=!0},_.map(U=>D=>!D._stopped&&U&&U(D))}return _}(m,f.value),d,5,[m])};return f.value=c,f.attached=lm(),f}(n,l);(function(c,d,f,m){c.addEventListener(d,f,m)})(t,i,u,a)}else s&&(function(u,c,d,f){u.removeEventListener(c,d,f)}(t,i,s,a),o[e]=void 0)}}const Mu=/(?:Once|Passive|Capture)$/;let es=0;const am=Promise.resolve(),lm=()=>es||(am.then(()=>es=0),es=Date.now()),Lu=t=>t.charCodeAt(0)===111&&t.charCodeAt(1)===110&&t.charCodeAt(2)>96&&t.charCodeAt(2)<123,um=["ctrl","shift","alt","meta"],cm={stop:t=>t.stopPropagation(),prevent:t=>t.preventDefault(),self:t=>t.target!==t.currentTarget,ctrl:t=>!t.ctrlKey,shift:t=>!t.shiftKey,alt:t=>!t.altKey,meta:t=>!t.metaKey,left:t=>"button"in t&&t.button!==0,middle:t=>"button"in t&&t.button!==1,right:t=>"button"in t&&t.button!==2,exact:(t,e)=>um.some(r=>t[`${r}Key`]&&!e.includes(r))},rb=(t,e)=>{const r=t._withMods||(t._withMods={}),n=e.join(".");return r[n]||(r[n]=(l,...o)=>{for(let s=0;s{const r=t._withKeys||(t._withKeys={}),n=e.join(".");return r[n]||(r[n]=l=>{if(!("key"in l))return;const o=Dr(l.key);return e.some(s=>s===o||hm[s]===o)?t(l):void 0})},fm=Xt({patchProp:(t,e,r,n,l,o)=>{const s=l==="svg";e==="class"?function(i,a,u){const c=i[mi];c&&(a=(a?[a,...c]:[...c]).join(" ")),a==null?i.removeAttribute("class"):u?i.setAttribute("class",a):i.className=a}(t,n,s):e==="style"?function(i,a,u){const c=i.style,d=qt(u);let f=!1;if(u&&!d){if(a)if(qt(a))for(const m of a.split(";")){const b=m.slice(0,m.indexOf(":")).trim();u[b]==null&&Hi(c,b,"")}else for(const m in a)u[m]==null&&Hi(c,m,"");for(const m in u)m==="display"&&(f=!0),Hi(c,m,u[m])}else if(d){if(a!==u){const m=c[yf];m&&(u+=";"+m),c.cssText=u,f=om.test(u)}}else a&&i.removeAttribute("style");uo in i&&(i[uo]=f?c.display:"",i[mf]&&(c.display="none"))}(t,r,n):bo(e)?ol(e)||sm(t,e,0,n,o):(e[0]==="."?(e=e.slice(1),1):e[0]==="^"?(e=e.slice(1),0):function(i,a,u,c){if(c)return a==="innerHTML"||a==="textContent"||!!(a in i&&Lu(a)&&Tt(u));if(a==="spellcheck"||a==="draggable"||a==="translate"||a==="form"||a==="list"&&i.tagName==="INPUT"||a==="type"&&i.tagName==="TEXTAREA")return!1;if(a==="width"||a==="height"){const d=i.tagName;if(d==="IMG"||d==="VIDEO"||d==="CANVAS"||d==="SOURCE")return!1}return Lu(a)&&qt(u)?!1:a in i}(t,e,n,s))?(Pu(t,e,n),t.tagName.includes("-")||e!=="value"&&e!=="checked"&&e!=="selected"||Ru(t,e,n,s,0,e!=="value")):!t._isVueCE||!/[A-Z]/.test(e)&&qt(n)?(e==="true-value"?t._trueValue=n:e==="false-value"&&(t._falseValue=n),Ru(t,e,n,s)):Pu(t,Ce(e),n,0,e)}},rm);let ju;const ib=(...t)=>{const e=(ju||(ju=Fg(fm))).createApp(...t),{mount:r}=e;return e.mount=n=>{const l=function(i){return qt(i)?document.querySelector(i):i}(n);if(!l)return;const o=e._component;Tt(o)||o.render||o.template||(o.template=l.innerHTML),l.nodeType===1&&(l.textContent="");const s=r(l,!1,function(i){if(i instanceof SVGElement)return"svg";if(typeof MathMLElement=="function"&&i instanceof MathMLElement)return"mathml"}(l));return l instanceof Element&&(l.removeAttribute("v-cloak"),l.setAttribute("data-v-app","")),s},e};let bf;const xo=t=>bf=t,vf=Symbol();function Ws(t){return t&&typeof t=="object"&&Object.prototype.toString.call(t)==="[object Object]"&&typeof t.toJSON!="function"}var ii,rs;function ob(){const t=uh(!0),e=t.run(()=>ml({}));let r=[],n=[];const l=gl({install(o){xo(l),l._a=o,o.provide(vf,l),o.config.globalProperties.$pinia=l,n.forEach(s=>r.push(s)),n=[]},use(o){return this._a?r.push(o):n.push(o),this},_p:r,_a:null,_e:t,_s:new Map,state:e});return l}(rs=ii||(ii={})).direct="direct",rs.patchObject="patch object",rs.patchFunction="patch function";const wf=()=>{};function Uu(t,e,r,n=wf){t.push(e);const l=()=>{const o=t.indexOf(e);o>-1&&(t.splice(o,1),n())};return!r&&ch()&&function(o){he&&he.cleanups.push(o)}(l),l}function bn(t,...e){t.slice().forEach(r=>{r(...e)})}const pm=t=>t(),Nu=Symbol(),ns=Symbol();function $s(t,e){t instanceof Map&&e instanceof Map?e.forEach((r,n)=>t.set(n,r)):t instanceof Set&&e instanceof Set&&e.forEach(t.add,t);for(const r in e){if(!e.hasOwnProperty(r))continue;const n=e[r],l=t[r];Ws(l)&&Ws(n)&&t.hasOwnProperty(r)&&!Yt(n)&&!Mr(n)?t[r]=$s(l,n):t[r]=n}return t}const dm=Symbol(),{assign:Sr}=Object;function gm(t,e,r,n){const{state:l,actions:o,getters:s}=e,i=r.state.value[t];let a;return a=_f(t,function(){i||(r.state.value[t]=l?l():{});const u=function(c){const d=At(c)?new Array(c.length):{};for(const f in c)d[f]=bg(c,f);return d}(r.state.value[t]);return Sr(u,o,Object.keys(s||{}).reduce((c,d)=>(c[d]=gl(Ie(()=>{xo(r);const f=r._s.get(t);return s[d].call(f,f)})),c),{}))},e,r,n,!0),a}function _f(t,e,r={},n,l,o){let s;const i=Sr({actions:{}},r),a={deep:!0};let u,c,d,f=[],m=[];const b=n.state.value[t];let _;function S(I){let E;u=c=!1,typeof I=="function"?(I(n.state.value[t]),E={type:ii.patchFunction,storeId:t,events:d}):($s(n.state.value[t],I),E={type:ii.patchObject,payload:I,storeId:t,events:d});const w=_=Symbol();yl().then(()=>{_===w&&(u=!0)}),c=!0,bn(f,E,n.state.value[t])}o||b||(n.state.value[t]={}),ml({});const U=o?function(){const{state:I}=r,E=I?I():{};this.$patch(w=>{Sr(w,E)})}:wf,D=(I,E="")=>{if(Nu in I)return I[ns]=E,I;const w=function(){xo(n);const B=Array.from(arguments),R=[],rt=[];let st;bn(m,{args:B,name:w[ns],store:K,after:function(X){R.push(X)},onError:function(X){rt.push(X)}});try{st=I.apply(this&&this.$id===t?this:K,B)}catch(X){throw bn(rt,X),X}return st instanceof Promise?st.then(X=>(bn(R,X),X)).catch(X=>(bn(rt,X),Promise.reject(X))):(bn(R,st),st)};return w[Nu]=!0,w[ns]=E,w},K=_i({_p:n,$id:t,$onAction:Uu.bind(null,m),$patch:S,$reset:U,$subscribe(I,E={}){const w=Uu(f,I,E.detached,()=>B()),B=s.run(()=>xn(()=>n.state.value[t],R=>{(E.flush==="sync"?c:u)&&I({storeId:t,type:ii.direct,events:d},R)},Sr({},a,E)));return w},$dispose:function(){s.stop(),f=[],m=[],n._s.delete(t)}});n._s.set(t,K);const V=(n._a&&n._a.runWithContext||pm)(()=>n._e.run(()=>(s=uh()).run(()=>e({action:D}))));for(const I in V){const E=V[I];if(Yt(E)&&(!Yt(P=E)||!P.effect)||Mr(E))o||(!b||Ws(Y=E)&&Y.hasOwnProperty(dm)||(Yt(E)?E.value=b[I]:$s(E,b[I])),n.state.value[t][I]=E);else if(typeof E=="function"){const w=D(E,I);V[I]=w,i.actions[I]=E}}var Y,P;return Sr(K,V),Sr(xt(K),V),Object.defineProperty(K,"$state",{get:()=>n.state.value[t],set:I=>{S(E=>{Sr(E,I)})}}),n._p.forEach(I=>{Sr(K,s.run(()=>I({store:K,app:n._a,pinia:n,options:i})))}),b&&o&&r.hydrate&&r.hydrate(K.$state,b),u=!0,c=!0,K}/*! #__NO_SIDE_EFFECTS__ */function sb(t,e,r){let n,l;const o=typeof e=="function";function s(i,a){return(i=i||(re||Zt||sn?Qe(vf,null):null))&&xo(i),(i=bf)._s.has(n)||(o?_f(n,e,l,i):gm(n,l,i)),i._s.get(n)}return n=t,l=o?r:e,s.$id=n,s}/*! + * vue-router v4.5.0 + * (c) 2024 Eduardo San Martin Morote + * @license MIT + */const En=typeof document<"u";function Du(t){return typeof t=="object"||"displayName"in t||"props"in t||"__vccOpts"in t}const Pt=Object.assign;function is(t,e){const r={};for(const n in e){const l=e[n];r[n]=Ne(l)?l.map(t):t(l)}return r}const oi=()=>{},Ne=Array.isArray,Ef=/#/g,mm=/&/g,ym=/\//g,bm=/=/g,vm=/\?/g,Sf=/\+/g,wm=/%5B/g,_m=/%5D/g,Af=/%5E/g,Em=/%60/g,kf=/%7B/g,Sm=/%7C/g,If=/%7D/g,Am=/%20/g;function Ol(t){return encodeURI(""+t).replace(Sm,"|").replace(wm,"[").replace(_m,"]")}function os(t){return Ol(t).replace(Sf,"%2B").replace(Am,"+").replace(Ef,"%23").replace(mm,"%26").replace(Em,"`").replace(kf,"{").replace(If,"}").replace(Af,"^")}function km(t){return t==null?"":function(e){return Ol(e).replace(Ef,"%23").replace(vm,"%3F")}(t).replace(ym,"%2F")}function yi(t){try{return decodeURIComponent(""+t)}catch{}return""+t}const Im=/\/$/;function ss(t,e,r="/"){let n,l={},o="",s="";const i=e.indexOf("#");let a=e.indexOf("?");return i=0&&(a=-1),a>-1&&(n=e.slice(0,a),o=e.slice(a+1,i>-1?i:e.length),l=t(o)),i>-1&&(n=n||e.slice(0,i),s=e.slice(i,e.length)),n=function(u,c){if(u.startsWith("/"))return u;if(!u)return c;const d=c.split("/"),f=u.split("/"),m=f[f.length-1];m!==".."&&m!=="."||f.push("");let b,_,S=d.length-1;for(b=0;b1&&S--}return d.slice(0,S).join("/")+"/"+f.slice(b).join("/")}(n??e,r),{fullPath:n+(o&&"?")+o+s,path:n,query:l,hash:yi(s)}}function Fu(t,e){return e&&t.toLowerCase().startsWith(e.toLowerCase())?t.slice(e.length)||"/":t}function Rn(t,e){return(t.aliasOf||t)===(e.aliasOf||e)}function Tf(t,e){if(Object.keys(t).length!==Object.keys(e).length)return!1;for(const r in t)if(!Tm(t[r],e[r]))return!1;return!0}function Tm(t,e){return Ne(t)?Wu(t,e):Ne(e)?Wu(e,t):t===e}function Wu(t,e){return Ne(e)?t.length===e.length&&t.every((r,n)=>r===e[n]):t.length===1&&t[0]===e}const Er={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0};var bi,$u,si,as;function Om(t){if(!t)if(En){const e=document.querySelector("base");t=(t=e&&e.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else t="/";return t[0]!=="/"&&t[0]!=="#"&&(t="/"+t),t.replace(Im,"")}($u=bi||(bi={})).pop="pop",$u.push="push",(as=si||(si={})).back="back",as.forward="forward",as.unknown="";const Cm=/^[^#]+#/;function xm(t,e){return t.replace(Cm,"#")+e}const Ro=()=>({left:window.scrollX,top:window.scrollY});function Rm(t){let e;if("el"in t){const r=t.el,n=typeof r=="string"&&r.startsWith("#"),l=typeof r=="string"?n?document.getElementById(r.slice(1)):document.querySelector(r):r;if(!l)return;e=function(o,s){const i=document.documentElement.getBoundingClientRect(),a=o.getBoundingClientRect();return{behavior:s.behavior,left:a.left-i.left-(s.left||0),top:a.top-i.top-(s.top||0)}}(l,t)}else e=t;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(e.left!=null?e.left:window.scrollX,e.top!=null?e.top:window.scrollY)}function Vu(t,e){return(history.state?history.state.position-e:-1)+t}const ls=new Map;function Of(t,e){const{pathname:r,search:n,hash:l}=e,o=t.indexOf("#");if(o>-1){let s=l.includes(t.slice(o))?t.slice(o).length:1,i=l.slice(s);return i[0]!=="/"&&(i="/"+i),Fu(i,"")}return Fu(r,t)+n+l}function qu(t,e,r,n=!1,l=!1){return{back:t,current:e,forward:r,replaced:n,position:window.history.length,scroll:l?Ro():null}}function Pm(t){const{history:e,location:r}=window,n={value:Of(t,r)},l={value:e.state};function o(s,i,a){const u=t.indexOf("#"),c=u>-1?(r.host&&document.querySelector("base")?t:t.slice(u))+s:location.protocol+"//"+location.host+t+s;try{e[a?"replaceState":"pushState"](i,"",c),l.value=i}catch{r[a?"replace":"assign"](c)}}return l.value||o(n.value,{back:null,current:n.value,forward:null,position:e.length-1,replaced:!0,scroll:null},!0),{location:n,state:l,push:function(s,i){const a=Pt({},l.value,e.state,{forward:s,scroll:Ro()});o(a.current,a,!0),o(s,Pt({},qu(n.value,s,null),{position:a.position+1},i),!1),n.value=s},replace:function(s,i){o(s,Pt({},e.state,qu(l.value.back,s,l.value.forward,!0),i,{position:l.value.position}),!0),n.value=s}}}function Bm(t){const e=Pm(t=Om(t)),r=function(l,o,s,i){let a=[],u=[],c=null;const d=({state:m})=>{const b=Of(l,location),_=s.value,S=o.value;let U=0;if(m){if(s.value=b,o.value=m,c&&c===_)return void(c=null);U=S?m.position-S.position:0}else i(b);a.forEach(D=>{D(s.value,_,{delta:U,type:bi.pop,direction:U?U>0?si.forward:si.back:si.unknown})})};function f(){const{history:m}=window;m.state&&m.replaceState(Pt({},m.state,{scroll:Ro()}),"")}return window.addEventListener("popstate",d),window.addEventListener("beforeunload",f,{passive:!0}),{pauseListeners:function(){c=s.value},listen:function(m){a.push(m);const b=()=>{const _=a.indexOf(m);_>-1&&a.splice(_,1)};return u.push(b),b},destroy:function(){for(const m of u)m();u=[],window.removeEventListener("popstate",d),window.removeEventListener("beforeunload",f)}}}(t,e.state,e.location,e.replace),n=Pt({location:"",base:t,go:function(l,o=!0){o||r.pauseListeners(),history.go(l)},createHref:xm.bind(null,t)},e,r);return Object.defineProperty(n,"location",{enumerable:!0,get:()=>e.location.value}),Object.defineProperty(n,"state",{enumerable:!0,get:()=>e.state.value}),n}function ab(t){return(t=location.host?t||location.pathname+location.search:"").includes("#")||(t+="#"),Bm(t)}function Cf(t){return typeof t=="string"||typeof t=="symbol"}const xf=Symbol("");var Hu,vn;function Pn(t,e){return Pt(new Error,{type:t,[xf]:!0},e)}function tr(t,e){return t instanceof Error&&xf in t&&(e==null||!!(t.type&e))}(vn=Hu||(Hu={}))[vn.aborted=4]="aborted",vn[vn.cancelled=8]="cancelled",vn[vn.duplicated=16]="duplicated";const zu="[^/]+?",Mm={sensitive:!1,strict:!1,start:!0,end:!0},Lm=/[.+*?^${}()[\]/\\]/g;function jm(t,e){let r=0;for(;re.length?e.length===1&&e[0]===80?1:-1:0}function Ku(t,e){let r=0;const n=t.score,l=e.score;for(;r0&&e[e.length-1]<0}const Um={type:0,value:""},Nm=/[a-zA-Z0-9_]/;function Dm(t,e,r){const n=function(o,s){const i=Pt({},Mm,s),a=[];let u=i.start?"^":"";const c=[];for(const f of o){const m=f.length?[]:[90];i.strict&&!f.length&&(u+="/");for(let b=0;b1&&(f==="*"||f==="+")&&s(`A repeatable param (${b}) must be alone in its segment. eg: '/:ids+.`),c.push({type:1,value:b,regexp:_,repeatable:f==="*"||f==="+",optional:f==="*"||f==="?"})):s("Invalid state to consume buffer"),b="")}function U(){b+=f}for(;m{o(_)}:oi}function o(i){if(Cf(i)){const a=n.get(i);a&&(n.delete(i),r.splice(r.indexOf(a),1),a.children.forEach(o),a.alias.forEach(o))}else{const a=r.indexOf(i);a>-1&&(r.splice(a,1),i.record.name&&n.delete(i.record.name),i.children.forEach(o),i.alias.forEach(o))}}function s(i){const a=function(u,c){let d=0,f=c.length;for(;d!==f;){const b=d+f>>1;Ku(u,c[b])<0?f=b:d=b+1}const m=function(b){let _=b;for(;_=_.parent;)if(Zu(_)&&Ku(b,_)===0)return _}(u);return m&&(f=c.lastIndexOf(m,f-1)),f}(i,r);r.splice(a,0,i),i.record.name&&!Ju(i)&&n.set(i.record.name,i)}return e=Xu({strict:!1,end:!0,sensitive:!1},e),t.forEach(i=>l(i)),{addRoute:l,resolve:function(i,a){let u,c,d,f={};if("name"in i&&i.name){if(u=n.get(i.name),!u)throw Pn(1,{location:i});d=u.record.name,f=Pt(Qu(a.params,u.keys.filter(_=>!_.optional).concat(u.parent?u.parent.keys.filter(_=>_.optional):[]).map(_=>_.name)),i.params&&Qu(i.params,u.keys.map(_=>_.name))),c=u.stringify(f)}else if(i.path!=null)c=i.path,u=r.find(_=>_.re.test(c)),u&&(f=u.parse(c),d=u.record.name);else{if(u=a.name?n.get(a.name):r.find(_=>_.re.test(a.path)),!u)throw Pn(1,{location:i,currentLocation:a});d=u.record.name,f=Pt({},a.params,i.params),c=u.stringify(f)}const m=[];let b=u;for(;b;)m.unshift(b.record),b=b.parent;return{name:d,path:c,params:f,matched:m,meta:$m(m)}},removeRoute:o,clearRoutes:function(){r.length=0,n.clear()},getRoutes:function(){return r},getRecordMatcher:function(i){return n.get(i)}}}function Qu(t,e){const r={};for(const n of e)n in t&&(r[n]=t[n]);return r}function Yu(t){const e={path:t.path,redirect:t.redirect,name:t.name,meta:t.meta||{},aliasOf:t.aliasOf,beforeEnter:t.beforeEnter,props:Wm(t),children:t.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:"components"in t?t.components||null:t.component&&{default:t.component}};return Object.defineProperty(e,"mods",{value:{}}),e}function Wm(t){const e={},r=t.props||!1;if("component"in t)e.default=r;else for(const n in t.components)e[n]=typeof r=="object"?r[n]:r;return e}function Ju(t){for(;t;){if(t.record.aliasOf)return!0;t=t.parent}return!1}function $m(t){return t.reduce((e,r)=>Pt(e,r.meta),{})}function Xu(t,e){const r={};for(const n in t)r[n]=n in e?e[n]:t[n];return r}function Zu({record:t}){return!!(t.name||t.components&&Object.keys(t.components).length||t.redirect)}function Vm(t){const e={};if(t===""||t==="?")return e;const r=(t[0]==="?"?t.slice(1):t).split("&");for(let n=0;no&&os(o)):[n&&os(n)]).forEach(o=>{o!==void 0&&(e+=(e.length?"&":"")+r,o!=null&&(e+="="+o))})}return e}function qm(t){const e={};for(const r in t){const n=t[r];n!==void 0&&(e[r]=Ne(n)?n.map(l=>l==null?null:""+l):n==null?n:""+n)}return e}const Hm=Symbol(""),ec=Symbol(""),Cl=Symbol(""),Rf=Symbol(""),Vs=Symbol("");function qn(){let t=[];return{add:function(e){return t.push(e),()=>{const r=t.indexOf(e);r>-1&&t.splice(r,1)}},list:()=>t.slice(),reset:function(){t=[]}}}function Rr(t,e,r,n,l,o=s=>s()){const s=n&&(n.enterCallbacks[l]=n.enterCallbacks[l]||[]);return()=>new Promise((i,a)=>{const u=f=>{var m;f===!1?a(Pn(4,{from:r,to:e})):f instanceof Error?a(f):typeof(m=f)=="string"||m&&typeof m=="object"?a(Pn(2,{from:e,to:f})):(s&&n.enterCallbacks[l]===s&&typeof f=="function"&&s.push(f),i())},c=o(()=>t.call(n&&n.instances[l],e,r,u));let d=Promise.resolve(c);t.length<3&&(d=d.then(u)),d.catch(f=>a(f))})}function us(t,e,r,n,l=o=>o()){const o=[];for(const s of t)for(const i in s.components){let a=s.components[i];if(e==="beforeRouteEnter"||s.instances[i])if(Du(a)){const u=(a.__vccOpts||a)[e];u&&o.push(Rr(u,r,n,s,i,l))}else{let u=a();o.push(()=>u.then(c=>{if(!c)throw new Error(`Couldn't resolve component "${i}" at "${s.path}"`);const d=(f=c).__esModule||f[Symbol.toStringTag]==="Module"||f.default&&Du(f.default)?c.default:c;var f;s.mods[i]=c,s.components[i]=d;const m=(d.__vccOpts||d)[e];return m&&Rr(m,r,n,s,i,l)()}))}}return o}function rc(t){const e=Qe(Cl),r=Qe(Rf),n=Ie(()=>{const i=On(t.to);return e.resolve(i)}),l=Ie(()=>{const{matched:i}=n.value,{length:a}=i,u=i[a-1],c=r.matched;if(!u||!c.length)return-1;const d=c.findIndex(Rn.bind(null,u));if(d>-1)return d;const f=nc(i[a-2]);return a>1&&nc(u)===f&&c[c.length-1].path!==f?c.findIndex(Rn.bind(null,i[a-2])):d}),o=Ie(()=>l.value>-1&&function(i,a){for(const u in a){const c=a[u],d=i[u];if(typeof c=="string"){if(c!==d)return!1}else if(!Ne(d)||d.length!==c.length||c.some((f,m)=>f!==d[m]))return!1}return!0}(r.params,n.value.params)),s=Ie(()=>l.value>-1&&l.value===r.matched.length-1&&Tf(r.params,n.value.params));return{route:n,href:Ie(()=>n.value.href),isActive:o,isExactActive:s,navigate:function(i={}){if(function(a){if(!(a.metaKey||a.altKey||a.ctrlKey||a.shiftKey)&&!a.defaultPrevented&&!(a.button!==void 0&&a.button!==0)){if(a.currentTarget&&a.currentTarget.getAttribute){const u=a.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(u))return}return a.preventDefault&&a.preventDefault(),!0}}(i)){const a=e[On(t.replace)?"replace":"push"](On(t.to)).catch(oi);return t.viewTransition&&typeof document<"u"&&"startViewTransition"in document&&document.startViewTransition(()=>a),a}return Promise.resolve()}}}const zm=Vh({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:rc,setup(t,{slots:e}){const r=_i(rc(t)),{options:n}=Qe(Cl),l=Ie(()=>({[ic(t.activeClass,n.linkActiveClass,"router-link-active")]:r.isActive,[ic(t.exactActiveClass,n.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{const o=e.default&&((s=e.default(r)).length===1?s[0]:s);var s;return t.custom?o:Tl("a",{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:l.value},o)}}});function nc(t){return t?t.aliasOf?t.aliasOf.path:t.path:""}const ic=(t,e,r)=>t??e??r;function oc(t,e){if(!t)return null;const r=t(e);return r.length===1?r[0]:r}const Km=Vh({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(t,{attrs:e,slots:r}){const n=Qe(Vs),l=Ie(()=>t.route||n.value),o=Qe(ec,0),s=Ie(()=>{let u=On(o);const{matched:c}=l.value;let d;for(;(d=c[u])&&!d.components;)u++;return u}),i=Ie(()=>l.value.matched[s.value]);$i(ec,Ie(()=>s.value+1)),$i(Hm,i),$i(Vs,l);const a=ml();return xn(()=>[a.value,i.value,t.name],([u,c,d],[f,m,b])=>{c&&(c.instances[d]=u,m&&m!==c&&u&&u===f&&(c.leaveGuards.size||(c.leaveGuards=m.leaveGuards),c.updateGuards.size||(c.updateGuards=m.updateGuards))),!u||!c||m&&Rn(c,m)&&f||(c.enterCallbacks[d]||[]).forEach(_=>_(u))},{flush:"post"}),()=>{const u=l.value,c=t.name,d=i.value,f=d&&d.components[c];if(!f)return oc(r.default,{Component:f,route:u});const m=d.props[c],b=m?m===!0?u.params:typeof m=="function"?m(u):m:null,_=Tl(f,Pt({},b,e,{onVnodeUnmounted:S=>{S.component.isUnmounted&&(d.instances[c]=null)},ref:a}));return oc(r.default,{Component:_,route:u})||_}}});function lb(t){const e=Fm(t.routes,t),r=t.parseQuery||Vm,n=t.stringifyQuery||tc,l=t.history,o=qn(),s=qn(),i=qn(),a=Th(Er,!0);let u=Er;En&&t.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const c=is.bind(null,T=>""+T),d=is.bind(null,km),f=is.bind(null,yi);function m(T,q){if(q=Pt({},q||a.value),typeof T=="string"){const et=ss(r,T,q.path),Z=e.resolve({path:et.path},q),dt=l.createHref(et.fullPath);return Pt(et,Z,{params:f(Z.params),hash:yi(et.hash),redirectedFrom:void 0,href:dt})}let tt;if(T.path!=null)tt=Pt({},T,{path:ss(r,T.path,q.path).path});else{const et=Pt({},T.params);for(const Z in et)et[Z]==null&&delete et[Z];tt=Pt({},T,{params:d(et)}),q.params=d(q.params)}const it=e.resolve(tt,q),lt=T.hash||"";it.params=c(f(it.params));const ut=function(et,Z){const dt=Z.query?et(Z.query):"";return Z.path+(dt&&"?")+dt+(Z.hash||"")}(n,Pt({},T,{hash:(pt=lt,Ol(pt).replace(kf,"{").replace(If,"}").replace(Af,"^")),path:it.path}));var pt;const H=l.createHref(ut);return Pt({fullPath:ut,hash:lt,query:n===tc?qm(T.query):T.query||{}},it,{redirectedFrom:void 0,href:H})}function b(T){return typeof T=="string"?ss(r,T,a.value.path):Pt({},T)}function _(T,q){if(u!==T)return Pn(8,{from:q,to:T})}function S(T){return D(T)}function U(T){const q=T.matched[T.matched.length-1];if(q&&q.redirect){const{redirect:tt}=q;let it=typeof tt=="function"?tt(T):tt;return typeof it=="string"&&(it=it.includes("?")||it.includes("#")?it=b(it):{path:it},it.params={}),Pt({query:T.query,hash:T.hash,params:it.path!=null?{}:T.params},it)}}function D(T,q){const tt=u=m(T),it=a.value,lt=T.state,ut=T.force,pt=T.replace===!0,H=U(tt);if(H)return D(Pt(b(H),{state:typeof H=="object"?Pt({},lt,H.state):lt,force:ut,replace:pt}),q||tt);const et=tt;let Z;return et.redirectedFrom=q,!ut&&function(dt,L,A){const F=L.matched.length-1,h=A.matched.length-1;return F>-1&&F===h&&Rn(L.matched[F],A.matched[h])&&Tf(L.params,A.params)&&dt(L.query)===dt(A.query)&&L.hash===A.hash}(n,it,tt)&&(Z=Pn(16,{to:et,from:it}),j(it,it,!0,!1)),(Z?Promise.resolve(Z):Y(et,it)).catch(dt=>tr(dt)?tr(dt,2)?dt:X(dt):st(dt,et,it)).then(dt=>{if(dt){if(tr(dt,2))return D(Pt({replace:pt},b(dt.to),{state:typeof dt.to=="object"?Pt({},lt,dt.to.state):lt,force:ut}),q||et)}else dt=I(et,it,!0,pt,lt);return P(et,it,dt),dt})}function K(T,q){const tt=_(T,q);return tt?Promise.reject(tt):Promise.resolve()}function V(T){const q=nt.values().next().value;return q&&typeof q.runWithContext=="function"?q.runWithContext(T):T()}function Y(T,q){let tt;const[it,lt,ut]=function(H,et){const Z=[],dt=[],L=[],A=Math.max(et.matched.length,H.matched.length);for(let F=0;FRn(y,h))?dt.push(h):Z.push(h));const p=H.matched[F];p&&(et.matched.find(y=>Rn(y,p))||L.push(p))}return[Z,dt,L]}(T,q);tt=us(it.reverse(),"beforeRouteLeave",T,q);for(const H of it)H.leaveGuards.forEach(et=>{tt.push(Rr(et,T,q))});const pt=K.bind(null,T,q);return tt.push(pt),G(tt).then(()=>{tt=[];for(const H of o.list())tt.push(Rr(H,T,q));return tt.push(pt),G(tt)}).then(()=>{tt=us(lt,"beforeRouteUpdate",T,q);for(const H of lt)H.updateGuards.forEach(et=>{tt.push(Rr(et,T,q))});return tt.push(pt),G(tt)}).then(()=>{tt=[];for(const H of ut)if(H.beforeEnter)if(Ne(H.beforeEnter))for(const et of H.beforeEnter)tt.push(Rr(et,T,q));else tt.push(Rr(H.beforeEnter,T,q));return tt.push(pt),G(tt)}).then(()=>(T.matched.forEach(H=>H.enterCallbacks={}),tt=us(ut,"beforeRouteEnter",T,q,V),tt.push(pt),G(tt))).then(()=>{tt=[];for(const H of s.list())tt.push(Rr(H,T,q));return tt.push(pt),G(tt)}).catch(H=>tr(H,8)?H:Promise.reject(H))}function P(T,q,tt){i.list().forEach(it=>V(()=>it(T,q,tt)))}function I(T,q,tt,it,lt){const ut=_(T,q);if(ut)return ut;const pt=q===Er,H=En?history.state:{};tt&&(it||pt?l.replace(T.fullPath,Pt({scroll:pt&&H&&H.scroll},lt)):l.push(T.fullPath,lt)),a.value=T,j(T,q,tt,pt),X()}let E;function w(){E||(E=l.listen((T,q,tt)=>{if(!Q.listening)return;const it=m(T),lt=U(it);if(lt)return void D(Pt(lt,{replace:!0,force:!0}),it).catch(oi);u=it;const ut=a.value;var pt,H;En&&(pt=Vu(ut.fullPath,tt.delta),H=Ro(),ls.set(pt,H)),Y(it,ut).catch(et=>tr(et,12)?et:tr(et,2)?(D(Pt(b(et.to),{force:!0}),it).then(Z=>{tr(Z,20)&&!tt.delta&&tt.type===bi.pop&&l.go(-1,!1)}).catch(oi),Promise.reject()):(tt.delta&&l.go(-tt.delta,!1),st(et,it,ut))).then(et=>{(et=et||I(it,ut,!1))&&(tt.delta&&!tr(et,8)?l.go(-tt.delta,!1):tt.type===bi.pop&&tr(et,20)&&l.go(-1,!1)),P(it,ut,et)}).catch(oi)}))}let B,R=qn(),rt=qn();function st(T,q,tt){X(T);const it=rt.list();return it.length&&it.forEach(lt=>lt(T,q,tt)),Promise.reject(T)}function X(T){return B||(B=!T,w(),R.list().forEach(([q,tt])=>T?tt(T):q()),R.reset()),T}function j(T,q,tt,it){const{scrollBehavior:lt}=t;if(!En||!lt)return Promise.resolve();const ut=!tt&&function(pt){const H=ls.get(pt);return ls.delete(pt),H}(Vu(T.fullPath,0))||(it||!tt)&&history.state&&history.state.scroll||null;return yl().then(()=>lt(T,q,ut)).then(pt=>pt&&Rm(pt)).catch(pt=>st(pt,T,q))}const N=T=>l.go(T);let $;const nt=new Set,Q={currentRoute:a,listening:!0,addRoute:function(T,q){let tt,it;return Cf(T)?(tt=e.getRecordMatcher(T),it=q):it=T,e.addRoute(it,tt)},removeRoute:function(T){const q=e.getRecordMatcher(T);q&&e.removeRoute(q)},clearRoutes:e.clearRoutes,hasRoute:function(T){return!!e.getRecordMatcher(T)},getRoutes:function(){return e.getRoutes().map(T=>T.record)},resolve:m,options:t,push:S,replace:function(T){return S(Pt(b(T),{replace:!0}))},go:N,back:()=>N(-1),forward:()=>N(1),beforeEach:o.add,beforeResolve:s.add,afterEach:i.add,onError:rt.add,isReady:function(){return B&&a.value!==Er?Promise.resolve():new Promise((T,q)=>{R.add([T,q])})},install(T){T.component("RouterLink",zm),T.component("RouterView",Km),T.config.globalProperties.$router=this,Object.defineProperty(T.config.globalProperties,"$route",{enumerable:!0,get:()=>On(a)}),En&&!$&&a.value===Er&&($=!0,S(l.location).catch(it=>{}));const q={};for(const it in Er)Object.defineProperty(q,it,{get:()=>a.value[it],enumerable:!0});T.provide(Cl,this),T.provide(Rf,kh(q)),T.provide(Vs,a);const tt=T.unmount;nt.add(T),T.unmount=function(){nt.delete(T),nt.size<1&&(u=Er,E&&E(),E=null,a.value=Er,$=!1,B=!1),tt()}}};function G(T){return T.reduce((q,tt)=>q.then(()=>V(tt)),Promise.resolve())}return Q}var qs=Object.defineProperty,Gm=Object.getOwnPropertyDescriptor,Qm=Object.getOwnPropertyNames,Ym=Object.prototype.hasOwnProperty,ne=(t,e)=>()=>(t&&(e=t(t=0)),e),mt=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),pn=(t,e)=>{for(var r in e)qs(t,r,{get:e[r],enumerable:!0})},Dt=t=>((e,r,n,l)=>{if(r&&typeof r=="object"||typeof r=="function")for(let o of Qm(r))!Ym.call(e,o)&&o!==n&&qs(e,o,{get:()=>r[o],enumerable:!(l=Gm(r,o))||l.enumerable});return e})(qs({},"__esModule",{value:!0}),t),ct=ne(()=>{}),Nt={};function xl(t){throw new Error("Node.js process "+t+" is not supported by JSPM core outside of Node.js")}function Jm(){!an||!rn||(an=!1,rn.length?He=rn.concat(He):ai=-1,He.length&&Pf())}function Pf(){if(!an){var t=setTimeout(Jm,0);an=!0;for(var e=He.length;e;){for(rn=He,He=[];++ai1)for(var r=1;rSa,_debugProcess:()=>Ea,_events:()=>qf,_eventsCount:()=>Hf,_exiting:()=>la,_fatalExceptions:()=>va,_getActiveHandles:()=>Nf,_getActiveRequests:()=>Uf,_kill:()=>ha,_linkedBinding:()=>Lf,_maxListeners:()=>Vf,_preload_modules:()=>La,_rawDebug:()=>oa,_startProfilerIdleNotifier:()=>Aa,_stopProfilerIdleNotifier:()=>ka,_tickCallback:()=>_a,abort:()=>Ca,addListener:()=>zf,allowedNodeEnvironmentFlags:()=>ya,arch:()=>zs,argv:()=>Qs,argv0:()=>Ma,assert:()=>Df,binding:()=>ta,chdir:()=>na,config:()=>ua,cpuUsage:()=>Ki,cwd:()=>ra,debugPort:()=>Ba,default:()=>Rl,dlopen:()=>jf,domain:()=>aa,emit:()=>Jf,emitWarning:()=>Zs,env:()=>Gs,execArgv:()=>Ys,execPath:()=>Pa,exit:()=>ga,features:()=>ba,hasUncaughtExceptionCaptureCallback:()=>Ff,hrtime:()=>zi,kill:()=>da,listeners:()=>$f,memoryUsage:()=>pa,moduleLoadList:()=>sa,nextTick:()=>Bf,off:()=>Gf,on:()=>rr,once:()=>Kf,openStdin:()=>ma,pid:()=>xa,platform:()=>Ks,ppid:()=>Ra,prependListener:()=>Xf,prependOnceListener:()=>Zf,reallyExit:()=>ca,release:()=>ia,removeAllListeners:()=>Yf,removeListener:()=>Qf,resourceUsage:()=>fa,setSourceMapsEnabled:()=>ja,setUncaughtExceptionCaptureCallback:()=>wa,stderr:()=>Ta,stdin:()=>Oa,stdout:()=>Ia,title:()=>Hs,umask:()=>ea,uptime:()=>Wf,version:()=>Js,versions:()=>Xs});var He,an,rn,ai,Hs,zs,Ks,Gs,Qs,Ys,Js,Xs,Zs,ta,ea,ra,na,ia,oa,sa,aa,la,ua,ca,ha,Ki,fa,pa,da,ga,ma,ya,ba,va,wa,_a,Ea,Sa,Aa,ka,Ia,Ta,Oa,Ca,xa,Ra,Pa,Ba,Ma,La,ja,Pr,cs,Gi,Vf,qf,Hf,zf,Kf,Gf,Qf,Yf,Jf,Xf,Zf,Rl,Xm=ne(()=>{ct(),ft(),ht(),He=[],an=!1,ai=-1,Mf.prototype.run=function(){this.fun.apply(null,this.array)},Hs="browser",zs="x64",Ks="browser",Gs={PATH:"/usr/bin",LANG:navigator.language+".UTF-8",PWD:"/",HOME:"/home",TMP:"/tmp"},Qs=["/usr/bin/node"],Ys=[],Js="v16.8.0",Xs={},Zs=function(t,e){},ta=function(t){xl("binding")},ea=function(t){return 0},ra=function(){return"/"},na=function(t){},ia={name:"node",sourceUrl:"",headersUrl:"",libUrl:""},oa=se,sa=[],aa={},la=!1,ua={},ca=se,ha=se,fa=Ki=function(){return{}},pa=Ki,da=se,ga=se,ma=se,ya={},ba={inspector:!1,debug:!1,uv:!1,ipv6:!1,tls_alpn:!1,tls_sni:!1,tls_ocsp:!1,tls:!1,cached_builtins:!0},va=se,wa=se,_a=se,Ea=se,Sa=se,Aa=se,ka=se,Ia=void 0,Ta=void 0,Oa=void 0,Ca=se,xa=2,Ra=1,Pa="/bin/usr/node",Ba=9229,Ma="node",La=[],ja=se,(Pr={now:typeof performance<"u"?performance.now.bind(performance):void 0,timing:typeof performance<"u"?performance.timing:void 0}).now===void 0&&(cs=Date.now(),Pr.timing&&Pr.timing.navigationStart&&(cs=Pr.timing.navigationStart),Pr.now=()=>Date.now()-cs),Gi=1e9,zi.bigint=function(t){var e=zi(t);return typeof BigInt>"u"?e[0]*Gi+e[1]:BigInt(e[0]*Gi)+BigInt(e[1])},Rl={version:Js,versions:Xs,arch:zs,platform:Ks,release:ia,_rawDebug:oa,moduleLoadList:sa,binding:ta,_linkedBinding:Lf,_events:qf={},_eventsCount:Hf=0,_maxListeners:Vf=10,on:rr,addListener:zf=rr,once:Kf=rr,off:Gf=rr,removeListener:Qf=rr,removeAllListeners:Yf=rr,emit:Jf=se,prependListener:Xf=rr,prependOnceListener:Zf=rr,listeners:$f,domain:aa,_exiting:la,config:ua,dlopen:jf,uptime:Wf,_getActiveRequests:Uf,_getActiveHandles:Nf,reallyExit:ca,_kill:ha,cpuUsage:Ki,resourceUsage:fa,memoryUsage:pa,kill:da,exit:ga,openStdin:ma,allowedNodeEnvironmentFlags:ya,assert:Df,features:ba,_fatalExceptions:va,setUncaughtExceptionCaptureCallback:wa,hasUncaughtExceptionCaptureCallback:Ff,emitWarning:Zs,nextTick:Bf,_tickCallback:_a,_debugProcess:Ea,_debugEnd:Sa,_startProfilerIdleNotifier:Aa,_stopProfilerIdleNotifier:ka,stdout:Ia,stdin:Oa,stderr:Ta,abort:Ca,umask:ea,chdir:na,cwd:ra,env:Gs,title:Hs,argv:Qs,execArgv:Ys,pid:xa,ppid:Ra,execPath:Pa,debugPort:Ba,hrtime:zi,argv0:Ma,_preload_modules:La,setSourceMapsEnabled:ja}}),ht=ne(()=>{Xm()}),ie={};function Zm(){if(Da)return Ar;Da=!0;let t=function(){if(Ua)return Sn;Ua=!0,Sn.byteLength=function(k){var M=C(k),W=M[0],J=M[1];return 3*(W+J)/4-J},Sn.toByteArray=function(k){var M,W,J=C(k),at=J[0],ot=J[1],vt=new y(function(Ot,kt,Mt){return 3*(kt+Mt)/4-Mt}(0,at,ot)),bt=0,wt=ot>0?at-4:at;for(W=0;W>16&255,vt[bt++]=M>>8&255,vt[bt++]=255&M;return ot===2&&(M=p[k.charCodeAt(W)]<<2|p[k.charCodeAt(W+1)]>>4,vt[bt++]=255&M),ot===1&&(M=p[k.charCodeAt(W)]<<10|p[k.charCodeAt(W+1)]<<4|p[k.charCodeAt(W+2)]>>2,vt[bt++]=M>>8&255,vt[bt++]=255&M),vt},Sn.fromByteArray=function(k){for(var M,W=k.length,J=W%3,at=[],ot=16383,vt=0,bt=W-J;vtbt?bt:vt+ot));return J===1?(M=k[W-1],at.push(h[M>>2]+h[M<<4&63]+"==")):J===2&&(M=(k[W-2]<<8)+k[W-1],at.push(h[M>>10]+h[M>>4&63]+h[M<<2&63]+"=")),at.join("")};for(var h=[],p=[],y=typeof Uint8Array<"u"?Uint8Array:Array,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",x=0;x<64;++x)h[x]=O[x],p[O.charCodeAt(x)]=x;function C(k){var M=k.length;if(M%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var W=k.indexOf("=");return W===-1&&(W=M),[W,W===M?0:4-W%4]}function g(k){return h[k>>18&63]+h[k>>12&63]+h[k>>6&63]+h[63&k]}function v(k,M,W){for(var J,at=[],ot=M;ot>1,W=-7,J=y?x-1:0,at=y?-1:1,ot=h[p+J];for(J+=at,C=ot&(1<<-W)-1,ot>>=-W,W+=v;W>0;C=256*C+h[p+J],J+=at,W-=8);for(g=C&(1<<-W)-1,C>>=-W,W+=O;W>0;g=256*g+h[p+J],J+=at,W-=8);if(C===0)C=1-M;else{if(C===k)return g?NaN:1/0*(ot?-1:1);g+=Math.pow(2,O),C-=M}return(ot?-1:1)*g*Math.pow(2,C-O)},Qi.write=function(h,p,y,O,x,C){var g,v,k,M=8*C-x-1,W=(1<>1,at=x===23?Math.pow(2,-24)-Math.pow(2,-77):0,ot=O?0:C-1,vt=O?1:-1,bt=p<0||p===0&&1/p<0?1:0;for(p=Math.abs(p),isNaN(p)||p===1/0?(v=isNaN(p)?1:0,g=W):(g=Math.floor(Math.log(p)/Math.LN2),p*(k=Math.pow(2,-g))<1&&(g--,k*=2),(p+=g+J>=1?at/k:at*Math.pow(2,1-J))*k>=2&&(g++,k/=2),g+J>=W?(v=0,g=W):g+J>=1?(v=(p*k-1)*Math.pow(2,x),g+=J):(v=p*Math.pow(2,J-1)*Math.pow(2,x),g=0));x>=8;h[y+ot]=255&v,ot+=vt,v/=256,x-=8);for(g=g<0;h[y+ot]=255&g,ot+=vt,g/=256,M-=8);h[y+ot-vt]|=128*bt}),Qi),r=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ar.Buffer=o,Ar.SlowBuffer=function(h){return+h!=h&&(h=0),o.alloc(+h)},Ar.INSPECT_MAX_BYTES=50;let n=2147483647;function l(h){if(h>n)throw new RangeError('The value "'+h+'" is invalid for option "size"');let p=new Uint8Array(h);return Object.setPrototypeOf(p,o.prototype),p}function o(h,p,y){if(typeof h=="number"){if(typeof p=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return a(h)}return s(h,p,y)}function s(h,p,y){if(typeof h=="string")return function(C,g){if((typeof g!="string"||g==="")&&(g="utf8"),!o.isEncoding(g))throw new TypeError("Unknown encoding: "+g);let v=0|f(C,g),k=l(v),M=k.write(C,g);return M!==v&&(k=k.slice(0,M)),k}(h,p);if(ArrayBuffer.isView(h))return function(C){if(Z(C,Uint8Array)){let g=new Uint8Array(C);return c(g.buffer,g.byteOffset,g.byteLength)}return u(C)}(h);if(h==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h);if(Z(h,ArrayBuffer)||h&&Z(h.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Z(h,SharedArrayBuffer)||h&&Z(h.buffer,SharedArrayBuffer)))return c(h,p,y);if(typeof h=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let O=h.valueOf&&h.valueOf();if(O!=null&&O!==h)return o.from(O,p,y);let x=function(C){if(o.isBuffer(C)){let g=0|d(C.length),v=l(g);return v.length===0||C.copy(v,0,0,g),v}if(C.length!==void 0)return typeof C.length!="number"||dt(C.length)?l(0):u(C);if(C.type==="Buffer"&&Array.isArray(C.data))return u(C.data)}(h);if(x)return x;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof h[Symbol.toPrimitive]=="function")return o.from(h[Symbol.toPrimitive]("string"),p,y);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h)}function i(h){if(typeof h!="number")throw new TypeError('"size" argument must be of type number');if(h<0)throw new RangeError('The value "'+h+'" is invalid for option "size"')}function a(h){return i(h),l(h<0?0:0|d(h))}function u(h){let p=h.length<0?0:0|d(h.length),y=l(p);for(let O=0;O=n)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+n.toString(16)+" bytes");return 0|h}function f(h,p){if(o.isBuffer(h))return h.length;if(ArrayBuffer.isView(h)||Z(h,ArrayBuffer))return h.byteLength;if(typeof h!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof h);let y=h.length,O=arguments.length>2&&arguments[2]===!0;if(!O&&y===0)return 0;let x=!1;for(;;)switch(p){case"ascii":case"latin1":case"binary":return y;case"utf8":case"utf-8":return pt(h).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*y;case"hex":return y>>>1;case"base64":return H(h).length;default:if(x)return O?-1:pt(h).length;p=(""+p).toLowerCase(),x=!0}}function m(h,p,y){let O=!1;if((p===void 0||p<0)&&(p=0),p>this.length||((y===void 0||y>this.length)&&(y=this.length),y<=0)||(y>>>=0)<=(p>>>=0))return"";for(h||(h="utf8");;)switch(h){case"hex":return R(this,p,y);case"utf8":case"utf-8":return I(this,p,y);case"ascii":return w(this,p,y);case"latin1":case"binary":return B(this,p,y);case"base64":return P(this,p,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return rt(this,p,y);default:if(O)throw new TypeError("Unknown encoding: "+h);h=(h+"").toLowerCase(),O=!0}}function b(h,p,y){let O=h[p];h[p]=h[y],h[y]=O}function _(h,p,y,O,x){if(h.length===0)return-1;if(typeof y=="string"?(O=y,y=0):y>2147483647?y=2147483647:y<-2147483648&&(y=-2147483648),dt(y=+y)&&(y=x?0:h.length-1),y<0&&(y=h.length+y),y>=h.length){if(x)return-1;y=h.length-1}else if(y<0){if(!x)return-1;y=0}if(typeof p=="string"&&(p=o.from(p,O)),o.isBuffer(p))return p.length===0?-1:S(h,p,y,O,x);if(typeof p=="number")return p&=255,typeof Uint8Array.prototype.indexOf=="function"?x?Uint8Array.prototype.indexOf.call(h,p,y):Uint8Array.prototype.lastIndexOf.call(h,p,y):S(h,[p],y,O,x);throw new TypeError("val must be string, number or Buffer")}function S(h,p,y,O,x){let C,g=1,v=h.length,k=p.length;if(O!==void 0&&((O=String(O).toLowerCase())==="ucs2"||O==="ucs-2"||O==="utf16le"||O==="utf-16le")){if(h.length<2||p.length<2)return-1;g=2,v/=2,k/=2,y/=2}function M(W,J){return g===1?W[J]:W.readUInt16BE(J*g)}if(x){let W=-1;for(C=y;Cv&&(y=v-k),C=y;C>=0;C--){let W=!0;for(let J=0;Jx&&(O=x):O=x;let C,g=p.length;for(O>g/2&&(O=g/2),C=0;C>8,k=g%256,M.push(k),M.push(v);return M}(p,h.length-y),h,y,O)}function P(h,p,y){return p===0&&y===h.length?t.fromByteArray(h):t.fromByteArray(h.slice(p,y))}function I(h,p,y){y=Math.min(h.length,y);let O=[],x=p;for(;x239?4:C>223?3:C>191?2:1;if(x+v<=y){let k,M,W,J;switch(v){case 1:C<128&&(g=C);break;case 2:k=h[x+1],(192&k)==128&&(J=(31&C)<<6|63&k,J>127&&(g=J));break;case 3:k=h[x+1],M=h[x+2],(192&k)==128&&(192&M)==128&&(J=(15&C)<<12|(63&k)<<6|63&M,J>2047&&(J<55296||J>57343)&&(g=J));break;case 4:k=h[x+1],M=h[x+2],W=h[x+3],(192&k)==128&&(192&M)==128&&(192&W)==128&&(J=(15&C)<<18|(63&k)<<12|(63&M)<<6|63&W,J>65535&&J<1114112&&(g=J))}}g===null?(g=65533,v=1):g>65535&&(g-=65536,O.push(g>>>10&1023|55296),g=56320|1023&g),O.push(g),x+=v}return function(C){let g=C.length;if(g<=E)return String.fromCharCode.apply(String,C);let v="",k=0;for(;kO.length?(o.isBuffer(C)||(C=o.from(C)),C.copy(O,x)):Uint8Array.prototype.set.call(O,C,x);else{if(!o.isBuffer(C))throw new TypeError('"list" argument must be an Array of Buffers');C.copy(O,x)}x+=C.length}return O},o.byteLength=f,o.prototype._isBuffer=!0,o.prototype.swap16=function(){let h=this.length;if(h%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let p=0;pp&&(h+=" ... "),""},r&&(o.prototype[r]=o.prototype.inspect),o.prototype.compare=function(h,p,y,O,x){if(Z(h,Uint8Array)&&(h=o.from(h,h.offset,h.byteLength)),!o.isBuffer(h))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof h);if(p===void 0&&(p=0),y===void 0&&(y=h?h.length:0),O===void 0&&(O=0),x===void 0&&(x=this.length),p<0||y>h.length||O<0||x>this.length)throw new RangeError("out of range index");if(O>=x&&p>=y)return 0;if(O>=x)return-1;if(p>=y)return 1;if(this===h)return 0;let C=(x>>>=0)-(O>>>=0),g=(y>>>=0)-(p>>>=0),v=Math.min(C,g),k=this.slice(O,x),M=h.slice(p,y);for(let W=0;W>>=0,isFinite(y)?(y>>>=0,O===void 0&&(O="utf8")):(O=y,y=void 0)}let x=this.length-p;if((y===void 0||y>x)&&(y=x),h.length>0&&(y<0||p<0)||p>this.length)throw new RangeError("Attempt to write outside buffer bounds");O||(O="utf8");let C=!1;for(;;)switch(O){case"hex":return U(this,h,p,y);case"utf8":case"utf-8":return D(this,h,p,y);case"ascii":case"latin1":case"binary":return K(this,h,p,y);case"base64":return V(this,h,p,y);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y(this,h,p,y);default:if(C)throw new TypeError("Unknown encoding: "+O);O=(""+O).toLowerCase(),C=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};let E=4096;function w(h,p,y){let O="";y=Math.min(h.length,y);for(let x=p;xO)&&(y=O);let x="";for(let C=p;Cy)throw new RangeError("Trying to access beyond buffer length")}function X(h,p,y,O,x,C){if(!o.isBuffer(h))throw new TypeError('"buffer" argument must be a Buffer instance');if(p>x||ph.length)throw new RangeError("Index out of range")}function j(h,p,y,O,x){tt(p,O,x,h,y,7);let C=Number(p&BigInt(4294967295));h[y++]=C,C>>=8,h[y++]=C,C>>=8,h[y++]=C,C>>=8,h[y++]=C;let g=Number(p>>BigInt(32)&BigInt(4294967295));return h[y++]=g,g>>=8,h[y++]=g,g>>=8,h[y++]=g,g>>=8,h[y++]=g,y}function N(h,p,y,O,x){tt(p,O,x,h,y,7);let C=Number(p&BigInt(4294967295));h[y+7]=C,C>>=8,h[y+6]=C,C>>=8,h[y+5]=C,C>>=8,h[y+4]=C;let g=Number(p>>BigInt(32)&BigInt(4294967295));return h[y+3]=g,g>>=8,h[y+2]=g,g>>=8,h[y+1]=g,g>>=8,h[y]=g,y+8}function $(h,p,y,O,x,C){if(y+O>h.length)throw new RangeError("Index out of range");if(y<0)throw new RangeError("Index out of range")}function nt(h,p,y,O,x){return p=+p,y>>>=0,x||$(h,0,y,4),e.write(h,p,y,O,23,4),y+4}function Q(h,p,y,O,x){return p=+p,y>>>=0,x||$(h,0,y,8),e.write(h,p,y,O,52,8),y+8}o.prototype.slice=function(h,p){let y=this.length;(h=~~h)<0?(h+=y)<0&&(h=0):h>y&&(h=y),(p=p===void 0?y:~~p)<0?(p+=y)<0&&(p=0):p>y&&(p=y),p>>=0,p>>>=0,y||st(h,p,this.length);let O=this[h],x=1,C=0;for(;++C>>=0,p>>>=0,y||st(h,p,this.length);let O=this[h+--p],x=1;for(;p>0&&(x*=256);)O+=this[h+--p]*x;return O},o.prototype.readUint8=o.prototype.readUInt8=function(h,p){return h>>>=0,p||st(h,1,this.length),this[h]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(h,p){return h>>>=0,p||st(h,2,this.length),this[h]|this[h+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(h,p){return h>>>=0,p||st(h,2,this.length),this[h]<<8|this[h+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(h,p){return h>>>=0,p||st(h,4,this.length),(this[h]|this[h+1]<<8|this[h+2]<<16)+16777216*this[h+3]},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(h,p){return h>>>=0,p||st(h,4,this.length),16777216*this[h]+(this[h+1]<<16|this[h+2]<<8|this[h+3])},o.prototype.readBigUInt64LE=A(function(h){it(h>>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=p+256*this[++h]+65536*this[++h]+this[++h]*2**24,x=this[++h]+256*this[++h]+65536*this[++h]+y*2**24;return BigInt(O)+(BigInt(x)<>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=p*2**24+65536*this[++h]+256*this[++h]+this[++h],x=this[++h]*2**24+65536*this[++h]+256*this[++h]+y;return(BigInt(O)<>>=0,p>>>=0,y||st(h,p,this.length);let O=this[h],x=1,C=0;for(;++C=x&&(O-=Math.pow(2,8*p)),O},o.prototype.readIntBE=function(h,p,y){h>>>=0,p>>>=0,y||st(h,p,this.length);let O=p,x=1,C=this[h+--O];for(;O>0&&(x*=256);)C+=this[h+--O]*x;return x*=128,C>=x&&(C-=Math.pow(2,8*p)),C},o.prototype.readInt8=function(h,p){return h>>>=0,p||st(h,1,this.length),128&this[h]?-1*(255-this[h]+1):this[h]},o.prototype.readInt16LE=function(h,p){h>>>=0,p||st(h,2,this.length);let y=this[h]|this[h+1]<<8;return 32768&y?4294901760|y:y},o.prototype.readInt16BE=function(h,p){h>>>=0,p||st(h,2,this.length);let y=this[h+1]|this[h]<<8;return 32768&y?4294901760|y:y},o.prototype.readInt32LE=function(h,p){return h>>>=0,p||st(h,4,this.length),this[h]|this[h+1]<<8|this[h+2]<<16|this[h+3]<<24},o.prototype.readInt32BE=function(h,p){return h>>>=0,p||st(h,4,this.length),this[h]<<24|this[h+1]<<16|this[h+2]<<8|this[h+3]},o.prototype.readBigInt64LE=A(function(h){it(h>>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=this[h+4]+256*this[h+5]+65536*this[h+6]+(y<<24);return(BigInt(O)<>>=0,"offset");let p=this[h],y=this[h+7];(p===void 0||y===void 0)&<(h,this.length-8);let O=(p<<24)+65536*this[++h]+256*this[++h]+this[++h];return(BigInt(O)<>>=0,p||st(h,4,this.length),e.read(this,h,!0,23,4)},o.prototype.readFloatBE=function(h,p){return h>>>=0,p||st(h,4,this.length),e.read(this,h,!1,23,4)},o.prototype.readDoubleLE=function(h,p){return h>>>=0,p||st(h,8,this.length),e.read(this,h,!0,52,8)},o.prototype.readDoubleBE=function(h,p){return h>>>=0,p||st(h,8,this.length),e.read(this,h,!1,52,8)},o.prototype.writeUintLE=o.prototype.writeUIntLE=function(h,p,y,O){h=+h,p>>>=0,y>>>=0,!O&&X(this,h,p,y,Math.pow(2,8*y)-1,0);let x=1,C=0;for(this[p]=255&h;++C>>=0,y>>>=0,!O&&X(this,h,p,y,Math.pow(2,8*y)-1,0);let x=y-1,C=1;for(this[p+x]=255&h;--x>=0&&(C*=256);)this[p+x]=h/C&255;return p+y},o.prototype.writeUint8=o.prototype.writeUInt8=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,1,255,0),this[p]=255&h,p+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,65535,0),this[p]=255&h,this[p+1]=h>>>8,p+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,65535,0),this[p]=h>>>8,this[p+1]=255&h,p+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,4294967295,0),this[p+3]=h>>>24,this[p+2]=h>>>16,this[p+1]=h>>>8,this[p]=255&h,p+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,4294967295,0),this[p]=h>>>24,this[p+1]=h>>>16,this[p+2]=h>>>8,this[p+3]=255&h,p+4},o.prototype.writeBigUInt64LE=A(function(h,p=0){return j(this,h,p,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=A(function(h,p=0){return N(this,h,p,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(h,p,y,O){if(h=+h,p>>>=0,!O){let v=Math.pow(2,8*y-1);X(this,h,p,y,v-1,-v)}let x=0,C=1,g=0;for(this[p]=255&h;++x>>=0,!O){let v=Math.pow(2,8*y-1);X(this,h,p,y,v-1,-v)}let x=y-1,C=1,g=0;for(this[p+x]=255&h;--x>=0&&(C*=256);)h<0&&g===0&&this[p+x+1]!==0&&(g=1),this[p+x]=(h/C|0)-g&255;return p+y},o.prototype.writeInt8=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,1,127,-128),h<0&&(h=255+h+1),this[p]=255&h,p+1},o.prototype.writeInt16LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,32767,-32768),this[p]=255&h,this[p+1]=h>>>8,p+2},o.prototype.writeInt16BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,2,32767,-32768),this[p]=h>>>8,this[p+1]=255&h,p+2},o.prototype.writeInt32LE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,2147483647,-2147483648),this[p]=255&h,this[p+1]=h>>>8,this[p+2]=h>>>16,this[p+3]=h>>>24,p+4},o.prototype.writeInt32BE=function(h,p,y){return h=+h,p>>>=0,y||X(this,h,p,4,2147483647,-2147483648),h<0&&(h=4294967295+h+1),this[p]=h>>>24,this[p+1]=h>>>16,this[p+2]=h>>>8,this[p+3]=255&h,p+4},o.prototype.writeBigInt64LE=A(function(h,p=0){return j(this,h,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=A(function(h,p=0){return N(this,h,p,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeFloatLE=function(h,p,y){return nt(this,h,p,!0,y)},o.prototype.writeFloatBE=function(h,p,y){return nt(this,h,p,!1,y)},o.prototype.writeDoubleLE=function(h,p,y){return Q(this,h,p,!0,y)},o.prototype.writeDoubleBE=function(h,p,y){return Q(this,h,p,!1,y)},o.prototype.copy=function(h,p,y,O){if(!o.isBuffer(h))throw new TypeError("argument should be a Buffer");if(y||(y=0),!O&&O!==0&&(O=this.length),p>=h.length&&(p=h.length),p||(p=0),O>0&&O=this.length)throw new RangeError("Index out of range");if(O<0)throw new RangeError("sourceEnd out of bounds");O>this.length&&(O=this.length),h.length-p>>=0,y=y===void 0?this.length:y>>>0,h||(h=0),typeof h=="number")for(x=p;x=O+4;y-=3)p=`_${h.slice(y-3,y)}${p}`;return`${h.slice(0,y)}${p}`}function tt(h,p,y,O,x,C){if(h>y||h= 0${v} and < 2${v} ** ${8*(C+1)}${v}`:`>= -(2${v} ** ${8*(C+1)-1}${v}) and < 2 ** ${8*(C+1)-1}${v}`,new G.ERR_OUT_OF_RANGE("value",g,h)}(function(g,v,k){it(v,"offset"),(g[v]===void 0||g[v+k]===void 0)&<(v,g.length-(k+1))})(O,x,C)}function it(h,p){if(typeof h!="number")throw new G.ERR_INVALID_ARG_TYPE(p,"number",h)}function lt(h,p,y){throw Math.floor(h)!==h?(it(h,y),new G.ERR_OUT_OF_RANGE("offset","an integer",h)):p<0?new G.ERR_BUFFER_OUT_OF_BOUNDS:new G.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${p}`,h)}T("ERR_BUFFER_OUT_OF_BOUNDS",function(h){return h?`${h} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),T("ERR_INVALID_ARG_TYPE",function(h,p){return`The "${h}" argument must be of type number. Received type ${typeof p}`},TypeError),T("ERR_OUT_OF_RANGE",function(h,p,y){let O=`The value of "${h}" is out of range.`,x=y;return Number.isInteger(y)&&Math.abs(y)>2**32?x=q(String(y)):typeof y=="bigint"&&(x=String(y),(y>BigInt(2)**BigInt(32)||y<-(BigInt(2)**BigInt(32)))&&(x=q(x)),x+="n"),O+=` It must be ${p}. Received ${x}`,O},RangeError);let ut=/[^+/0-9A-Za-z-_]/g;function pt(h,p){p=p||1/0;let y,O=h.length,x=null,C=[];for(let g=0;g55295&&y<57344){if(!x){if(y>56319){(p-=3)>-1&&C.push(239,191,189);continue}if(g+1===O){(p-=3)>-1&&C.push(239,191,189);continue}x=y;continue}if(y<56320){(p-=3)>-1&&C.push(239,191,189),x=y;continue}y=65536+(x-55296<<10|y-56320)}else x&&(p-=3)>-1&&C.push(239,191,189);if(x=null,y<128){if((p-=1)<0)break;C.push(y)}else if(y<2048){if((p-=2)<0)break;C.push(y>>6|192,63&y|128)}else if(y<65536){if((p-=3)<0)break;C.push(y>>12|224,y>>6&63|128,63&y|128)}else{if(!(y<1114112))throw new Error("Invalid code point");if((p-=4)<0)break;C.push(y>>18|240,y>>12&63|128,y>>6&63|128,63&y|128)}}return C}function H(h){return t.toByteArray(function(p){if((p=(p=p.split("=")[0]).trim().replace(ut,"")).length<2)return"";for(;p.length%4!=0;)p+="=";return p}(h))}function et(h,p,y,O){let x;for(x=0;x=p.length||x>=h.length);++x)p[x+y]=h[x];return x}function Z(h,p){return h instanceof p||h!=null&&h.constructor!=null&&h.constructor.name!=null&&h.constructor.name===p.name}function dt(h){return h!=h}let L=function(){let h="0123456789abcdef",p=new Array(256);for(let y=0;y<16;++y){let O=16*y;for(let x=0;x<16;++x)p[O+x]=h[y]+h[x]}return p}();function A(h){return typeof BigInt>"u"?F:h}function F(){throw new Error("BigInt not supported")}return Ar}pn(ie,{Buffer:()=>ho,INSPECT_MAX_BYTES:()=>tp,default:()=>kr,kMaxLength:()=>ep});var Sn,Ua,Qi,Na,Ar,Da,kr,ho,tp,ep,oe=ne(()=>{ct(),ft(),ht(),Sn={},Ua=!1,Qi={},Na=!1,Ar={},Da=!1,(kr=Zm()).Buffer,kr.SlowBuffer,kr.INSPECT_MAX_BYTES,kr.kMaxLength,ho=kr.Buffer,tp=kr.INSPECT_MAX_BYTES,ep=kr.kMaxLength}),ft=ne(()=>{oe()}),t0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(e){this.aliasToTopic={},this.max=e}put(e,r){return!(r===0||r>this.max)&&(this.aliasToTopic[r]=e,this.length=Object.keys(this.aliasToTopic).length,!0)}getTopicByAlias(e){return this.aliasToTopic[e]}clear(){this.aliasToTopic={}}}}),te=mt((t,e)=>{ct(),ft(),ht(),e.exports={ArrayIsArray:r=>Array.isArray(r),ArrayPrototypeIncludes:(r,n)=>r.includes(n),ArrayPrototypeIndexOf:(r,n)=>r.indexOf(n),ArrayPrototypeJoin:(r,n)=>r.join(n),ArrayPrototypeMap:(r,n)=>r.map(n),ArrayPrototypePop:(r,n)=>r.pop(n),ArrayPrototypePush:(r,n)=>r.push(n),ArrayPrototypeSlice:(r,n,l)=>r.slice(n,l),Error,FunctionPrototypeCall:(r,n,...l)=>r.call(n,...l),FunctionPrototypeSymbolHasInstance:(r,n)=>Function.prototype[Symbol.hasInstance].call(r,n),MathFloor:Math.floor,Number,NumberIsInteger:Number.isInteger,NumberIsNaN:Number.isNaN,NumberMAX_SAFE_INTEGER:Number.MAX_SAFE_INTEGER,NumberMIN_SAFE_INTEGER:Number.MIN_SAFE_INTEGER,NumberParseInt:Number.parseInt,ObjectDefineProperties:(r,n)=>Object.defineProperties(r,n),ObjectDefineProperty:(r,n,l)=>Object.defineProperty(r,n,l),ObjectGetOwnPropertyDescriptor:(r,n)=>Object.getOwnPropertyDescriptor(r,n),ObjectKeys:r=>Object.keys(r),ObjectSetPrototypeOf:(r,n)=>Object.setPrototypeOf(r,n),Promise,PromisePrototypeCatch:(r,n)=>r.catch(n),PromisePrototypeThen:(r,n,l)=>r.then(n,l),PromiseReject:r=>Promise.reject(r),ReflectApply:Reflect.apply,RegExpPrototypeTest:(r,n)=>r.test(n),SafeSet:Set,String,StringPrototypeSlice:(r,n,l)=>r.slice(n,l),StringPrototypeToLowerCase:r=>r.toLowerCase(),StringPrototypeToUpperCase:r=>r.toUpperCase(),StringPrototypeTrim:r=>r.trim(),Symbol,SymbolFor:Symbol.for,SymbolAsyncIterator:Symbol.asyncIterator,SymbolHasInstance:Symbol.hasInstance,SymbolIterator:Symbol.iterator,TypedArrayPrototypeSet:(r,n,l)=>r.set(n,l),Uint8Array}}),fr=mt((t,e)=>{ct(),ft(),ht();var r=(oe(),Dt(ie)),n=Object.getPrototypeOf(async function(){}).constructor,l=globalThis.Blob||r.Blob,o=typeof l<"u"?function(i){return i instanceof l}:function(i){return!1},s=class extends Error{constructor(i){if(!Array.isArray(i))throw new TypeError("Expected input to be an Array, got "+typeof i);let a="";for(let u=0;u{i=u,a=c}),resolve:i,reject:a}},promisify:i=>new Promise((a,u)=>{i((c,...d)=>c?u(c):a(...d))}),debuglog:()=>function(){},format:(i,...a)=>i.replace(/%([sdifj])/g,function(...[u,c]){let d=a.shift();return c==="f"?d.toFixed(6):c==="j"?JSON.stringify(d):c==="s"&&typeof d=="object"?`${d.constructor!==Object?d.constructor.name:""} {}`.trim():d.toString()}),inspect(i){switch(typeof i){case"string":if(i.includes("'")){if(!i.includes('"'))return`"${i}"`;if(!i.includes("`")&&!i.includes("${"))return`\`${i}\``}return`'${i}'`;case"number":return isNaN(i)?"NaN":Object.is(i,-0)?String(i):i;case"bigint":return`${String(i)}n`;case"boolean":case"undefined":return String(i);case"object":return"{}"}},types:{isAsyncFunction:i=>i instanceof n,isArrayBufferView:i=>ArrayBuffer.isView(i)},isBlob:o},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}),Pl=mt((t,e)=>{ct(),ft(),ht();var{AbortController:r,AbortSignal:n}=typeof self<"u"?self:typeof window<"u"?window:void 0;e.exports=r,e.exports.AbortSignal=n,e.exports.default=r}),ve=mt((t,e)=>{ct(),ft(),ht();var{format:r,inspect:n,AggregateError:l}=fr(),o=globalThis.AggregateError||l,s=Symbol("kIsNodeError"),i=["string","function","number","object","Function","Object","boolean","bigint","symbol"],a=/^([A-Z][a-z0-9]*)+$/,u={};function c(_,S){if(!_)throw new u.ERR_INTERNAL_ASSERTION(S)}function d(_){let S="",U=_.length,D=_[0]==="-"?1:0;for(;U>=D+4;U-=3)S=`_${_.slice(U-3,U)}${S}`;return`${_.slice(0,U)}${S}`}function f(_,S,U){U||(U=Error);class D extends U{constructor(...V){super(function(Y,P,I){if(typeof P=="function")return c(P.length<=I.length,`Code: ${Y}; The provided arguments length (${I.length}) does not match the required ones (${P.length}).`),P(...I);let E=(P.match(/%[dfijoOs]/g)||[]).length;return c(E===I.length,`Code: ${Y}; The provided arguments length (${I.length}) does not match the required ones (${E}).`),I.length===0?P:r(P,...I)}(_,S,V))}toString(){return`${this.name} [${_}]: ${this.message}`}}Object.defineProperties(D.prototype,{name:{value:U.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${_}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),D.prototype.code=_,D.prototype[s]=!0,u[_]=D}function m(_){let S="__node_internal_"+_.name;return Object.defineProperty(_,"name",{value:S}),_}var b=class extends Error{constructor(_="The operation was aborted",S=void 0){if(S!==void 0&&typeof S!="object")throw new u.ERR_INVALID_ARG_TYPE("options","Object",S);super(_,S),this.code="ABORT_ERR",this.name="AbortError"}};f("ERR_ASSERTION","%s",Error),f("ERR_INVALID_ARG_TYPE",(_,S,U)=>{c(typeof _=="string","'name' must be a string"),Array.isArray(S)||(S=[S]);let D="The ";_.endsWith(" argument")?D+=`${_} `:D+=`"${_}" ${_.includes(".")?"property":"argument"} `,D+="must be ";let K=[],V=[],Y=[];for(let I of S)c(typeof I=="string","All expected entries have to be of type string"),i.includes(I)?K.push(I.toLowerCase()):a.test(I)?V.push(I):(c(I!=="object",'The value "object" should be written as "Object"'),Y.push(I));if(V.length>0){let I=K.indexOf("object");I!==-1&&(K.splice(K,I,1),V.push("Object"))}if(K.length>0){switch(K.length){case 1:D+=`of type ${K[0]}`;break;case 2:D+=`one of type ${K[0]} or ${K[1]}`;break;default:{let I=K.pop();D+=`one of type ${K.join(", ")}, or ${I}`}}(V.length>0||Y.length>0)&&(D+=" or ")}if(V.length>0){switch(V.length){case 1:D+=`an instance of ${V[0]}`;break;case 2:D+=`an instance of ${V[0]} or ${V[1]}`;break;default:{let I=V.pop();D+=`an instance of ${V.join(", ")}, or ${I}`}}Y.length>0&&(D+=" or ")}switch(Y.length){case 0:break;case 1:Y[0].toLowerCase()!==Y[0]&&(D+="an "),D+=`${Y[0]}`;break;case 2:D+=`one of ${Y[0]} or ${Y[1]}`;break;default:{let I=Y.pop();D+=`one of ${Y.join(", ")}, or ${I}`}}if(U==null)D+=`. Received ${U}`;else if(typeof U=="function"&&U.name)D+=`. Received function ${U.name}`;else if(typeof U=="object"){var P;(P=U.constructor)!==null&&P!==void 0&&P.name?D+=`. Received an instance of ${U.constructor.name}`:D+=`. Received ${n(U,{depth:-1})}`}else{let I=n(U,{colors:!1});I.length>25&&(I=`${I.slice(0,25)}...`),D+=`. Received type ${typeof U} (${I})`}return D},TypeError),f("ERR_INVALID_ARG_VALUE",(_,S,U="is invalid")=>{let D=n(S);return D.length>128&&(D=D.slice(0,128)+"..."),`The ${_.includes(".")?"property":"argument"} '${_}' ${U}. Received ${D}`},TypeError),f("ERR_INVALID_RETURN_VALUE",(_,S,U)=>{var D;return`Expected ${_} to be returned from the "${S}" function but got ${U!=null&&(D=U.constructor)!==null&&D!==void 0&&D.name?`instance of ${U.constructor.name}`:"type "+typeof U}.`},TypeError),f("ERR_MISSING_ARGS",(..._)=>{c(_.length>0,"At least one arg needs to be specified");let S,U=_.length;switch(_=(Array.isArray(_)?_:[_]).map(D=>`"${D}"`).join(" or "),U){case 1:S+=`The ${_[0]} argument`;break;case 2:S+=`The ${_[0]} and ${_[1]} arguments`;break;default:{let D=_.pop();S+=`The ${_.join(", ")}, and ${D} arguments`}}return`${S} must be specified`},TypeError),f("ERR_OUT_OF_RANGE",(_,S,U)=>{let D;return c(S,'Missing "range" argument'),Number.isInteger(U)&&Math.abs(U)>2**32?D=d(String(U)):typeof U=="bigint"?(D=String(U),(U>2n**32n||U<-(2n**32n))&&(D=d(D)),D+="n"):D=n(U),`The value of "${_}" is out of range. It must be ${S}. Received ${D}`},RangeError),f("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),f("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),f("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),f("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),f("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),f("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),f("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),f("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),f("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),f("ERR_STREAM_WRITE_AFTER_END","write after end",Error),f("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),e.exports={AbortError:b,aggregateTwoErrors:m(function(_,S){if(_&&S&&_!==S){if(Array.isArray(S.errors))return S.errors.push(_),S;let U=new o([S,_],S.message);return U.code=S.code,U}return _||S}),hideStackFrames:m,codes:u}}),Po=mt((t,e)=>{ct(),ft(),ht();var{ArrayIsArray:r,ArrayPrototypeIncludes:n,ArrayPrototypeJoin:l,ArrayPrototypeMap:o,NumberIsInteger:s,NumberIsNaN:i,NumberMAX_SAFE_INTEGER:a,NumberMIN_SAFE_INTEGER:u,NumberParseInt:c,ObjectPrototypeHasOwnProperty:d,RegExpPrototypeExec:f,String:m,StringPrototypeToUpperCase:b,StringPrototypeTrim:_}=te(),{hideStackFrames:S,codes:{ERR_SOCKET_BAD_PORT:U,ERR_INVALID_ARG_TYPE:D,ERR_INVALID_ARG_VALUE:K,ERR_OUT_OF_RANGE:V,ERR_UNKNOWN_SIGNAL:Y}}=ve(),{normalizeEncoding:P}=fr(),{isAsyncFunction:I,isArrayBufferView:E}=fr().types,w={},B=/^[0-7]+$/,R=S((H,et,Z=u,dt=a)=>{if(typeof H!="number")throw new D(et,"number",H);if(!s(H))throw new V(et,"an integer",H);if(Hdt)throw new V(et,`>= ${Z} && <= ${dt}`,H)}),rt=S((H,et,Z=-2147483648,dt=2147483647)=>{if(typeof H!="number")throw new D(et,"number",H);if(!s(H))throw new V(et,"an integer",H);if(Hdt)throw new V(et,`>= ${Z} && <= ${dt}`,H)}),st=S((H,et,Z=!1)=>{if(typeof H!="number")throw new D(et,"number",H);if(!s(H))throw new V(et,"an integer",H);let dt=Z?1:0,L=4294967295;if(HL)throw new V(et,`>= ${dt} && <= ${L}`,H)});function X(H,et){if(typeof H!="string")throw new D(et,"string",H)}var j=S((H,et,Z)=>{if(!n(Z,H)){let dt="must be one of: "+l(o(Z,L=>typeof L=="string"?`'${L}'`:m(L)),", ");throw new K(et,H,dt)}});function N(H,et){if(typeof H!="boolean")throw new D(et,"boolean",H)}function $(H,et,Z){return H!=null&&d(H,et)?H[et]:Z}var nt=S((H,et,Z=null)=>{let dt=$(Z,"allowArray",!1),L=$(Z,"allowFunction",!1);if(!$(Z,"nullable",!1)&&H===null||!dt&&r(H)||typeof H!="object"&&(!L||typeof H!="function"))throw new D(et,"Object",H)}),Q=S((H,et)=>{if(H!=null&&typeof H!="object"&&typeof H!="function")throw new D(et,"a dictionary",H)}),G=S((H,et,Z=0)=>{if(!r(H))throw new D(et,"Array",H);if(H.length{if(!E(H))throw new D(et,["Buffer","TypedArray","DataView"],H)}),q=S((H,et)=>{if(H!==void 0&&(H===null||typeof H!="object"||!("aborted"in H)))throw new D(et,"AbortSignal",H)}),tt=S((H,et)=>{if(typeof H!="function")throw new D(et,"Function",H)}),it=S((H,et)=>{if(typeof H!="function"||I(H))throw new D(et,"Function",H)}),lt=S((H,et)=>{if(H!==void 0)throw new D(et,"undefined",H)}),ut=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function pt(H,et){if(typeof H>"u"||!f(ut,H))throw new K(et,H,'must be an array or string of format "; rel=preload; as=style"')}e.exports={isInt32:function(H){return H===(0|H)},isUint32:function(H){return H===H>>>0},parseFileMode:function(H,et,Z){if(typeof H>"u"&&(H=Z),typeof H=="string"){if(f(B,H)===null)throw new K(et,H,"must be a 32-bit unsigned integer or an octal string");H=c(H,8)}return st(H,et),H},validateArray:G,validateStringArray:function(H,et){G(H,et);for(let Z=0;Zdt||(Z!=null||dt!=null)&&i(H))throw new V(et,`${Z!=null?`>= ${Z}`:""}${Z!=null&&dt!=null?" && ":""}${dt!=null?`<= ${dt}`:""}`,H)},validateObject:nt,validateOneOf:j,validatePlainFunction:it,validatePort:function(H,et="Port",Z=!0){if(typeof H!="number"&&typeof H!="string"||typeof H=="string"&&_(H).length===0||+H!=+H>>>0||H>65535||H===0&&!Z)throw new U(et,H,Z);return 0|H},validateSignalName:function(H,et="signal"){if(X(H,et),w[H]===void 0)throw w[b(H)]!==void 0?new Y(H+" (signals must use all capital letters)"):new Y(H)},validateString:X,validateUint32:st,validateUndefined:lt,validateUnion:function(H,et,Z){if(!n(Z,H))throw new D(et,`('${l(Z,"|")}')`,H)},validateAbortSignal:q,validateLinkHeaderValue:function(H){if(typeof H=="string")return pt(H,"hints"),H;if(r(H)){let et=H.length,Z="";if(et===0)return Z;for(let dt=0;dt; rel=preload; as=style"')}}}),dn=mt((t,e)=>{ct(),ft(),ht();var r,n,l=e.exports={};function o(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function i(S){if(r===setTimeout)return setTimeout(S,0);if((r===o||!r)&&setTimeout)return r=setTimeout,setTimeout(S,0);try{return r(S,0)}catch{try{return r.call(null,S,0)}catch{return r.call(this,S,0)}}}(function(){try{r=typeof setTimeout=="function"?setTimeout:o}catch{r=o}try{n=typeof clearTimeout=="function"?clearTimeout:s}catch{n=s}})();var a,u=[],c=!1,d=-1;function f(){!c||!a||(c=!1,a.length?u=a.concat(u):d=-1,u.length&&m())}function m(){if(!c){var S=i(f);c=!0;for(var U=u.length;U;){for(a=u,u=[];++d1)for(var D=1;D{ct(),ft(),ht();var{Symbol:r,SymbolAsyncIterator:n,SymbolIterator:l,SymbolFor:o}=te(),s=r("kDestroyed"),i=r("kIsErrored"),a=r("kIsReadable"),u=r("kIsDisturbed"),c=o("nodejs.webstream.isClosedPromise"),d=o("nodejs.webstream.controllerErrorFunction");function f(w,B=!1){var R;return!(!w||typeof w.pipe!="function"||typeof w.on!="function"||B&&(typeof w.pause!="function"||typeof w.resume!="function")||w._writableState&&((R=w._readableState)===null||R===void 0?void 0:R.readable)===!1||w._writableState&&!w._readableState)}function m(w){var B;return!(!w||typeof w.write!="function"||typeof w.on!="function"||w._readableState&&((B=w._writableState)===null||B===void 0?void 0:B.writable)===!1)}function b(w){return w&&(w._readableState||w._writableState||typeof w.write=="function"&&typeof w.on=="function"||typeof w.pipe=="function"&&typeof w.on=="function")}function _(w){return!(!w||b(w)||typeof w.pipeThrough!="function"||typeof w.getReader!="function"||typeof w.cancel!="function")}function S(w){return!(!w||b(w)||typeof w.getWriter!="function"||typeof w.abort!="function")}function U(w){return!(!w||b(w)||typeof w.readable!="object"||typeof w.writable!="object")}function D(w){if(!b(w))return null;let B=w._writableState,R=w._readableState,rt=B||R;return!!(w.destroyed||w[s]||rt!=null&&rt.destroyed)}function K(w){if(!m(w))return null;if(w.writableEnded===!0)return!0;let B=w._writableState;return(B==null||!B.errored)&&(typeof(B==null?void 0:B.ended)!="boolean"?null:B.ended)}function V(w,B){if(!f(w))return null;let R=w._readableState;return(R==null||!R.errored)&&(typeof(R==null?void 0:R.endEmitted)!="boolean"?null:!!(R.endEmitted||B===!1&&R.ended===!0&&R.length===0))}function Y(w){return w&&w[a]!=null?w[a]:typeof(w==null?void 0:w.readable)!="boolean"?null:!D(w)&&f(w)&&w.readable&&!V(w)}function P(w){return typeof(w==null?void 0:w.writable)!="boolean"?null:!D(w)&&m(w)&&w.writable&&!K(w)}function I(w){return typeof w._closed=="boolean"&&typeof w._defaultKeepAlive=="boolean"&&typeof w._removedConnection=="boolean"&&typeof w._removedContLen=="boolean"}function E(w){return typeof w._sent100=="boolean"&&I(w)}e.exports={kDestroyed:s,isDisturbed:function(w){var B;return!(!w||!((B=w[u])!==null&&B!==void 0?B:w.readableDidRead||w.readableAborted))},kIsDisturbed:u,isErrored:function(w){var B,R,rt,st,X,j,N,$,nt,Q;return!(!w||!((B=(R=(rt=(st=(X=(j=w[i])!==null&&j!==void 0?j:w.readableErrored)!==null&&X!==void 0?X:w.writableErrored)!==null&&st!==void 0?st:(N=w._readableState)===null||N===void 0?void 0:N.errorEmitted)!==null&&rt!==void 0?rt:($=w._writableState)===null||$===void 0?void 0:$.errorEmitted)!==null&&R!==void 0?R:(nt=w._readableState)===null||nt===void 0?void 0:nt.errored)!==null&&B!==void 0?B:(Q=w._writableState)!==null&&Q!==void 0&&Q.errored))},kIsErrored:i,isReadable:Y,kIsReadable:a,kIsClosedPromise:c,kControllerErrorFunction:d,isClosed:function(w){if(!b(w))return null;if(typeof w.closed=="boolean")return w.closed;let B=w._writableState,R=w._readableState;return typeof(B==null?void 0:B.closed)=="boolean"||typeof(R==null?void 0:R.closed)=="boolean"?(B==null?void 0:B.closed)||(R==null?void 0:R.closed):typeof w._closed=="boolean"&&I(w)?w._closed:null},isDestroyed:D,isDuplexNodeStream:function(w){return!(!w||typeof w.pipe!="function"||!w._readableState||typeof w.on!="function"||typeof w.write!="function")},isFinished:function(w,B){return b(w)?!!D(w)||!((B==null?void 0:B.readable)!==!1&&Y(w)||(B==null?void 0:B.writable)!==!1&&P(w)):null},isIterable:function(w,B){return w!=null&&(B===!0?typeof w[n]=="function":B===!1?typeof w[l]=="function":typeof w[n]=="function"||typeof w[l]=="function")},isReadableNodeStream:f,isReadableStream:_,isReadableEnded:function(w){if(!f(w))return null;if(w.readableEnded===!0)return!0;let B=w._readableState;return!(!B||B.errored)&&(typeof(B==null?void 0:B.ended)!="boolean"?null:B.ended)},isReadableFinished:V,isReadableErrored:function(w){var B,R;return b(w)?w.readableErrored?w.readableErrored:(B=(R=w._readableState)===null||R===void 0?void 0:R.errored)!==null&&B!==void 0?B:null:null},isNodeStream:b,isWebStream:function(w){return _(w)||S(w)||U(w)},isWritable:P,isWritableNodeStream:m,isWritableStream:S,isWritableEnded:K,isWritableFinished:function(w,B){if(!m(w))return null;if(w.writableFinished===!0)return!0;let R=w._writableState;return(R==null||!R.errored)&&(typeof(R==null?void 0:R.finished)!="boolean"?null:!!(R.finished||B===!1&&R.ended===!0&&R.length===0))},isWritableErrored:function(w){var B,R;return b(w)?w.writableErrored?w.writableErrored:(B=(R=w._writableState)===null||R===void 0?void 0:R.errored)!==null&&B!==void 0?B:null:null},isServerRequest:function(w){var B;return typeof w._consuming=="boolean"&&typeof w._dumped=="boolean"&&((B=w.req)===null||B===void 0?void 0:B.upgradeOrConnect)===void 0},isServerResponse:E,willEmitClose:function(w){if(!b(w))return null;let B=w._writableState,R=w._readableState,rt=B||R;return!rt&&E(w)||!!(rt&&rt.autoDestroy&&rt.emitClose&&rt.closed===!1)},isTransformStream:U}}),Fr=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{AbortError:n,codes:l}=ve(),{ERR_INVALID_ARG_TYPE:o,ERR_STREAM_PREMATURE_CLOSE:s}=l,{kEmptyObject:i,once:a}=fr(),{validateAbortSignal:u,validateFunction:c,validateObject:d,validateBoolean:f}=Po(),{Promise:m,PromisePrototypeThen:b}=te(),{isClosed:_,isReadable:S,isReadableNodeStream:U,isReadableStream:D,isReadableFinished:K,isReadableErrored:V,isWritable:Y,isWritableNodeStream:P,isWritableStream:I,isWritableFinished:E,isWritableErrored:w,isNodeStream:B,willEmitClose:R,kIsClosedPromise:rt}=yr(),st=()=>{};function X(j,N,$){var nt,Q;if(arguments.length===2?($=N,N=i):N==null?N=i:d(N,"options"),c($,"callback"),u(N.signal,"options.signal"),$=a($),D(j)||I(j))return function(p,y,O){let x=!1,C=st;if(y.signal)if(C=()=>{x=!0,O.call(p,new n(void 0,{cause:y.signal.reason}))},y.signal.aborted)r.nextTick(C);else{let v=O;O=a((...k)=>{y.signal.removeEventListener("abort",C),v.apply(p,k)}),y.signal.addEventListener("abort",C)}let g=(...v)=>{x||r.nextTick(()=>O.apply(p,v))};return b(p[rt].promise,g,g),st}(j,N,$);if(!B(j))throw new o("stream",["ReadableStream","WritableStream","Stream"],j);let G=(nt=N.readable)!==null&&nt!==void 0?nt:U(j),T=(Q=N.writable)!==null&&Q!==void 0?Q:P(j),q=j._writableState,tt=j._readableState,it=()=>{j.writable||pt()},lt=R(j)&&U(j)===G&&P(j)===T,ut=E(j,!1),pt=()=>{ut=!0,j.destroyed&&(lt=!1),(!lt||j.readable&&!G)&&(!G||H)&&$.call(j)},H=K(j,!1),et=()=>{H=!0,j.destroyed&&(lt=!1),(!lt||j.writable&&!T)&&(!T||ut)&&$.call(j)},Z=p=>{$.call(j,p)},dt=_(j),L=()=>{dt=!0;let p=w(j)||V(j);return p&&typeof p!="boolean"?$.call(j,p):G&&!H&&U(j,!0)&&!K(j,!1)?$.call(j,new s):!T||ut||E(j,!1)?void $.call(j):$.call(j,new s)},A=()=>{dt=!0;let p=w(j)||V(j);if(p&&typeof p!="boolean")return $.call(j,p);$.call(j)},F=()=>{j.req.on("finish",pt)};(function(p){return p.setHeader&&typeof p.abort=="function"})(j)?(j.on("complete",pt),lt||j.on("abort",L),j.req?F():j.on("request",F)):T&&!q&&(j.on("end",it),j.on("close",it)),!lt&&typeof j.aborted=="boolean"&&j.on("aborted",L),j.on("end",et),j.on("finish",pt),N.error!==!1&&j.on("error",Z),j.on("close",L),dt?r.nextTick(L):q!=null&&q.errorEmitted||tt!=null&&tt.errorEmitted?lt||r.nextTick(A):(!G&&(!lt||S(j))&&(ut||Y(j)===!1)||!T&&(!lt||Y(j))&&(H||S(j)===!1)||tt&&j.req&&j.aborted)&&r.nextTick(A);let h=()=>{$=st,j.removeListener("aborted",L),j.removeListener("complete",pt),j.removeListener("abort",L),j.removeListener("request",F),j.req&&j.req.removeListener("finish",pt),j.removeListener("end",it),j.removeListener("close",it),j.removeListener("finish",pt),j.removeListener("end",et),j.removeListener("error",Z),j.removeListener("close",L)};if(N.signal&&!dt){let p=()=>{let y=$;h(),y.call(j,new n(void 0,{cause:N.signal.reason}))};if(N.signal.aborted)r.nextTick(p);else{let y=$;$=a((...O)=>{N.signal.removeEventListener("abort",p),y.apply(j,O)}),N.signal.addEventListener("abort",p)}}return h}e.exports=X,e.exports.finished=function(j,N){var $;let nt=!1;return N===null&&(N=i),($=N)!==null&&$!==void 0&&$.cleanup&&(f(N.cleanup,"cleanup"),nt=N.cleanup),new m((Q,G)=>{let T=X(j,N,q=>{nt&&T(),q?G(q):Q()})})}}),Un=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{aggregateTwoErrors:n,codes:{ERR_MULTIPLE_CALLBACK:l},AbortError:o}=ve(),{Symbol:s}=te(),{kDestroyed:i,isDestroyed:a,isFinished:u,isServerRequest:c}=yr(),d=s("kDestroy"),f=s("kConstruct");function m(E,w,B){E&&(E.stack,w&&!w.errored&&(w.errored=E),B&&!B.errored&&(B.errored=E))}function b(E,w,B){let R=!1;function rt(st){if(R)return;R=!0;let X=E._readableState,j=E._writableState;m(st,j,X),j&&(j.closed=!0),X&&(X.closed=!0),typeof B=="function"&&B(st),st?r.nextTick(_,E,st):r.nextTick(S,E)}try{E._destroy(w||null,rt)}catch(st){rt(st)}}function _(E,w){U(E,w),S(E)}function S(E){let w=E._readableState,B=E._writableState;B&&(B.closeEmitted=!0),w&&(w.closeEmitted=!0),(B!=null&&B.emitClose||w!=null&&w.emitClose)&&E.emit("close")}function U(E,w){let B=E._readableState,R=E._writableState;R!=null&&R.errorEmitted||B!=null&&B.errorEmitted||(R&&(R.errorEmitted=!0),B&&(B.errorEmitted=!0),E.emit("error",w))}function D(E,w,B){let R=E._readableState,rt=E._writableState;if(rt!=null&&rt.destroyed||R!=null&&R.destroyed)return this;R!=null&&R.autoDestroy||rt!=null&&rt.autoDestroy?E.destroy(w):w&&(w.stack,rt&&!rt.errored&&(rt.errored=w),R&&!R.errored&&(R.errored=w),B?r.nextTick(U,E,w):U(E,w))}function K(E){let w=!1;function B(R){if(w)return void D(E,R??new l);w=!0;let rt=E._readableState,st=E._writableState,X=st||rt;rt&&(rt.constructed=!0),st&&(st.constructed=!0),X.destroyed?E.emit(d,R):R?D(E,R,!0):r.nextTick(V,E)}try{E._construct(R=>{r.nextTick(B,R)})}catch(R){r.nextTick(B,R)}}function V(E){E.emit(f)}function Y(E){return(E==null?void 0:E.setHeader)&&typeof E.abort=="function"}function P(E){E.emit("close")}function I(E,w){E.emit("error",w),r.nextTick(P,E)}e.exports={construct:function(E,w){if(typeof E._construct!="function")return;let B=E._readableState,R=E._writableState;B&&(B.constructed=!1),R&&(R.constructed=!1),E.once(f,w),!(E.listenerCount(f)>1)&&r.nextTick(K,E)},destroyer:function(E,w){!E||a(E)||(!w&&!u(E)&&(w=new o),c(E)?(E.socket=null,E.destroy(w)):Y(E)?E.abort():Y(E.req)?E.req.abort():typeof E.destroy=="function"?E.destroy(w):typeof E.close=="function"?E.close():w?r.nextTick(I,E,w):r.nextTick(P,E),E.destroyed||(E[i]=!0))},destroy:function(E,w){let B=this._readableState,R=this._writableState,rt=R||B;return R!=null&&R.destroyed||B!=null&&B.destroyed?(typeof w=="function"&&w(),this):(m(E,R,B),R&&(R.destroyed=!0),B&&(B.destroyed=!0),rt.constructed?b(this,E,w):this.once(d,function(st){b(this,n(st,E),w)}),this)},undestroy:function(){let E=this._readableState,w=this._writableState;E&&(E.constructed=!0,E.closed=!1,E.closeEmitted=!1,E.destroyed=!1,E.errored=null,E.errorEmitted=!1,E.reading=!1,E.ended=E.readable===!1,E.endEmitted=E.readable===!1),w&&(w.constructed=!0,w.destroyed=!1,w.closed=!1,w.closeEmitted=!1,w.errored=null,w.errorEmitted=!1,w.finalCalled=!1,w.prefinished=!1,w.ended=w.writable===!1,w.ending=w.writable===!1,w.finished=w.writable===!1)},errorOrDestroy:D}});function Lt(){Lt.init.call(this)}function Yi(t){if(typeof t!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function rp(t){return t._maxListeners===void 0?Lt.defaultMaxListeners:t._maxListeners}function sc(t,e,r,n){var l,o,s;if(Yi(r),(o=t._events)===void 0?(o=t._events=Object.create(null),t._eventsCount=0):(o.newListener!==void 0&&(t.emit("newListener",e,r.listener?r.listener:r),o=t._events),s=o[e]),s===void 0)s=o[e]=r,++t._eventsCount;else if(typeof s=="function"?s=o[e]=n?[r,s]:[s,r]:n?s.unshift(r):s.push(r),(l=rp(t))>0&&s.length>l&&!s.warned){s.warned=!0;var i=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");i.name="MaxListenersExceededWarning",i.emitter=t,i.type=e,i.count=s.length}return t}function e0(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function ac(t,e,r){var n={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},l=e0.bind(n);return l.listener=r,n.wrapFn=l,l}function lc(t,e,r){var n=t._events;if(n===void 0)return[];var l=n[e];return l===void 0?[]:typeof l=="function"?r?[l.listener||l]:[l]:r?function(o){for(var s=new Array(o.length),i=0;i{ct(),ft(),ht(),zr=typeof Reflect=="object"?Reflect:null,hs=zr&&typeof zr.apply=="function"?zr.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)},hc=zr&&typeof zr.ownKeys=="function"?zr.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)},fs=Number.isNaN||function(t){return t!=t},cc=Lt,Lt.EventEmitter=Lt,Lt.prototype._events=void 0,Lt.prototype._eventsCount=0,Lt.prototype._maxListeners=void 0,ps=10,Object.defineProperty(Lt,"defaultMaxListeners",{enumerable:!0,get:function(){return ps},set:function(t){if(typeof t!="number"||t<0||fs(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");ps=t}}),Lt.init=function(){this._events!==void 0&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Lt.prototype.setMaxListeners=function(t){if(typeof t!="number"||t<0||fs(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},Lt.prototype.getMaxListeners=function(){return rp(this)},Lt.prototype.emit=function(t){for(var e=[],r=1;r0&&(o=e[0]),o instanceof Error)throw o;var s=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw s.context=o,s}var i=l[t];if(i===void 0)return!1;if(typeof i=="function")hs(i,this,e);else{var a=i.length,u=np(i,a);for(r=0;r=0;o--)if(r[o]===e||r[o].listener===e){s=r[o].listener,l=o;break}if(l<0)return this;l===0?r.shift():function(i,a){for(;a+1=0;n--)this.removeListener(t,e[n]);return this},Lt.prototype.listeners=function(t){return lc(this,t,!0)},Lt.prototype.rawListeners=function(t){return lc(this,t,!1)},Lt.listenerCount=function(t,e){return typeof t.listenerCount=="function"?t.listenerCount(e):uc.call(t,e)},Lt.prototype.listenerCount=uc,Lt.prototype.eventNames=function(){return this._eventsCount>0?hc(this._events):[]},(ke=cc).EventEmitter,ke.defaultMaxListeners,ke.init,ke.listenerCount,ke.EventEmitter,ke.defaultMaxListeners,ke.init,ke.listenerCount}),gn={};pn(gn,{EventEmitter:()=>ip,default:()=>ke,defaultMaxListeners:()=>op,init:()=>sp,listenerCount:()=>ap,on:()=>lp,once:()=>up});var ip,op,sp,ap,lp,up,Nn=ne(()=>{ct(),ft(),ht(),fc(),fc(),ke.once=function(t,e){return new Promise((r,n)=>{function l(...s){o!==void 0&&t.removeListener("error",o),r(s)}let o;e!=="error"&&(o=s=>{t.removeListener(name,l),n(s)},t.once("error",o)),t.once(e,l)})},ke.on=function(t,e){let r=[],n=[],l=null,o=!1,s={async next(){let u=r.shift();if(u)return createIterResult(u,!1);if(l){let c=Promise.reject(l);return l=null,c}return o?createIterResult(void 0,!0):new Promise((c,d)=>n.push({resolve:c,reject:d}))},async return(){t.removeListener(e,i),t.removeListener("error",a),o=!0;for(let u of n)u.resolve(createIterResult(void 0,!0));return createIterResult(void 0,!0)},throw(u){l=u,t.removeListener(e,i),t.removeListener("error",a)},[Symbol.asyncIterator](){return this}};return t.on(e,i),t.on("error",a),s;function i(...u){let c=n.shift();c?c.resolve(createIterResult(u,!1)):r.push(u)}function a(u){o=!0;let c=n.shift();c?c.reject(u):l=u,s.return()}},{EventEmitter:ip,defaultMaxListeners:op,init:sp,listenerCount:ap,on:lp,once:up}=ke}),Bl=mt((t,e)=>{ct(),ft(),ht();var{ArrayIsArray:r,ObjectSetPrototypeOf:n}=te(),{EventEmitter:l}=(Nn(),Dt(gn));function o(i){l.call(this,i)}function s(i,a,u){if(typeof i.prependListener=="function")return i.prependListener(a,u);i._events&&i._events[a]?r(i._events[a])?i._events[a].unshift(u):i._events[a]=[u,i._events[a]]:i.on(a,u)}n(o.prototype,l.prototype),n(o,l),o.prototype.pipe=function(i,a){let u=this;function c(U){i.writable&&i.write(U)===!1&&u.pause&&u.pause()}function d(){u.readable&&u.resume&&u.resume()}u.on("data",c),i.on("drain",d),!i._isStdio&&(!a||a.end!==!1)&&(u.on("end",m),u.on("close",b));let f=!1;function m(){f||(f=!0,i.end())}function b(){f||(f=!0,typeof i.destroy=="function"&&i.destroy())}function _(U){S(),l.listenerCount(this,"error")===0&&this.emit("error",U)}function S(){u.removeListener("data",c),i.removeListener("drain",d),u.removeListener("end",m),u.removeListener("close",b),u.removeListener("error",_),i.removeListener("error",_),u.removeListener("end",S),u.removeListener("close",S),i.removeListener("close",S)}return s(u,"error",_),s(i,"error",_),u.on("end",S),u.on("close",S),i.on("close",S),i.emit("pipe",u),i},e.exports={Stream:o,prependListener:s}}),Bo=mt((t,e)=>{ct(),ft(),ht();var{AbortError:r,codes:n}=ve(),{isNodeStream:l,isWebStream:o,kControllerErrorFunction:s}=yr(),i=Fr(),{ERR_INVALID_ARG_TYPE:a}=n;e.exports.addAbortSignal=function(u,c){if(((d,f)=>{if(typeof d!="object"||!("aborted"in d))throw new a(f,"AbortSignal",d)})(u,"signal"),!l(c)&&!o(c))throw new a("stream",["ReadableStream","WritableStream","Stream"],c);return e.exports.addAbortSignalNoValidate(u,c)},e.exports.addAbortSignalNoValidate=function(u,c){if(typeof u!="object"||!("aborted"in u))return c;let d=l(c)?()=>{c.destroy(new r(void 0,{cause:u.reason}))}:()=>{c[s](new r(void 0,{cause:u.reason}))};return u.aborted?d():(u.addEventListener("abort",d),i(c,()=>u.removeEventListener("abort",d))),c}}),r0=mt((t,e)=>{ct(),ft(),ht();var{StringPrototypeSlice:r,SymbolIterator:n,TypedArrayPrototypeSet:l,Uint8Array:o}=te(),{Buffer:s}=(oe(),Dt(ie)),{inspect:i}=fr();e.exports=class{constructor(){this.head=null,this.tail=null,this.length=0}push(a){let u={data:a,next:null};this.length>0?this.tail.next=u:this.head=u,this.tail=u,++this.length}unshift(a){let u={data:a,next:this.head};this.length===0&&(this.tail=u),this.head=u,++this.length}shift(){if(this.length===0)return;let a=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,a}clear(){this.head=this.tail=null,this.length=0}join(a){if(this.length===0)return"";let u=this.head,c=""+u.data;for(;(u=u.next)!==null;)c+=a+u.data;return c}concat(a){if(this.length===0)return s.alloc(0);let u=s.allocUnsafe(a>>>0),c=this.head,d=0;for(;c;)l(u,c.data,d),d+=c.data.length,c=c.next;return u}consume(a,u){let c=this.head.data;if(af.length)){a===f.length?(u+=f,++d,c.next?this.head=c.next:this.head=this.tail=null):(u+=r(f,0,a),this.head=c,c.data=r(f,a));break}u+=f,a-=f.length,++d}while((c=c.next)!==null);return this.length-=d,u}_getBuffer(a){let u=s.allocUnsafe(a),c=a,d=this.head,f=0;do{let m=d.data;if(!(a>m.length)){a===m.length?(l(u,m,c-a),++f,d.next?this.head=d.next:this.head=this.tail=null):(l(u,new o(m.buffer,m.byteOffset,a),c-a),this.head=d,d.data=m.slice(a));break}l(u,m,c-a),a-=m.length,++f}while((d=d.next)!==null);return this.length-=f,u}[Symbol.for("nodejs.util.inspect.custom")](a,u){return i(this,{...u,depth:0,customInspect:!1})}}}),Ml=mt((t,e)=>{ct(),ft(),ht();var{MathFloor:r,NumberIsInteger:n}=te(),{ERR_INVALID_ARG_VALUE:l}=ve().codes;function o(s){return s?16:16384}e.exports={getHighWaterMark:function(s,i,a,u){let c=function(d,f,m){return d.highWaterMark!=null?d.highWaterMark:f?d[m]:null}(i,u,a);if(c!=null){if(!n(c)||c<0)throw new l(u?`options.${a}`:"options.highWaterMark",c);return r(c)}return o(s.objectMode)},getDefaultHighWaterMark:o}});function pc(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return r===-1&&(r=e),[r,r===e?0:4-r%4]}function n0(t,e,r){for(var n,l,o=[],s=e;s>18&63]+Le[l>>12&63]+Le[l>>6&63]+Le[63&l]);return o.join("")}function ur(t){if(t>2147483647)throw new RangeError('The value "'+t+'" is invalid for option "size"');var e=new Uint8Array(t);return Object.setPrototypeOf(e,gt.prototype),e}function gt(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Fa(t)}return cp(t,e,r)}function cp(t,e,r){if(typeof t=="string")return function(o,s){if(typeof s=="string"&&s!==""||(s="utf8"),!gt.isEncoding(s))throw new TypeError("Unknown encoding: "+s);var i=0|fp(o,s),a=ur(i),u=a.write(o,s);return u!==i&&(a=a.slice(0,u)),a}(t,e);if(ArrayBuffer.isView(t))return ds(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(cr(t,ArrayBuffer)||t&&cr(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(cr(t,SharedArrayBuffer)||t&&cr(t.buffer,SharedArrayBuffer)))return function(o,s,i){if(s<0||o.byteLength=2147483647)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x7fffffff bytes");return 0|t}function fp(t,e){if(gt.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||cr(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);var r=t.length,n=arguments.length>2&&arguments[2]===!0;if(!n&&r===0)return 0;for(var l=!1;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Wa(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return mp(t).length;default:if(l)return n?-1:Wa(t).length;e=(""+e).toLowerCase(),l=!0}}function i0(t,e,r){var n=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return p0(this,e,r);case"utf8":case"utf-8":return dp(this,e,r);case"ascii":return h0(this,e,r);case"latin1":case"binary":return f0(this,e,r);case"base64":return c0(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return d0(this,e,r);default:if(n)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),n=!0}}function Kr(t,e,r){var n=t[e];t[e]=t[r],t[r]=n}function dc(t,e,r,n,l){if(t.length===0)return-1;if(typeof r=="string"?(n=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),jl(r=+r)&&(r=l?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(l)return-1;r=t.length-1}else if(r<0){if(!l)return-1;r=0}if(typeof e=="string"&&(e=gt.from(e,n)),gt.isBuffer(e))return e.length===0?-1:gc(t,e,r,n,l);if(typeof e=="number")return e&=255,typeof Uint8Array.prototype.indexOf=="function"?l?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):gc(t,[e],r,n,l);throw new TypeError("val must be string, number or Buffer")}function gc(t,e,r,n,l){var o,s=1,i=t.length,a=e.length;if(n!==void 0&&((n=String(n).toLowerCase())==="ucs2"||n==="ucs-2"||n==="utf16le"||n==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,i/=2,a/=2,r/=2}function u(m,b){return s===1?m[b]:m.readUInt16BE(b*s)}if(l){var c=-1;for(o=r;oi&&(r=i-a),o=r;o>=0;o--){for(var d=!0,f=0;fl&&(n=l):n=l;var o=e.length;n>o/2&&(n=o/2);for(var s=0;s>8,a=s%256,u.push(a),u.push(i);return u}(e,t.length-r),t,r,n)}function c0(t,e,r){return e===0&&r===t.length?fo.fromByteArray(t):fo.fromByteArray(t.slice(e,r))}function dp(t,e,r){r=Math.min(t.length,r);for(var n=[],l=e;l239?4:u>223?3:u>191?2:1;if(l+d<=r)switch(d){case 1:u<128&&(c=u);break;case 2:(192&(o=t[l+1]))==128&&(a=(31&u)<<6|63&o)>127&&(c=a);break;case 3:o=t[l+1],s=t[l+2],(192&o)==128&&(192&s)==128&&(a=(15&u)<<12|(63&o)<<6|63&s)>2047&&(a<55296||a>57343)&&(c=a);break;case 4:o=t[l+1],s=t[l+2],i=t[l+3],(192&o)==128&&(192&s)==128&&(192&i)==128&&(a=(15&u)<<18|(63&o)<<12|(63&s)<<6|63&i)>65535&&a<1114112&&(c=a)}c===null?(c=65533,d=1):c>65535&&(c-=65536,n.push(c>>>10&1023|55296),c=56320|1023&c),n.push(c),l+=d}return function(f){var m=f.length;if(m<=4096)return String.fromCharCode.apply(String,f);for(var b="",_=0;_n)&&(r=n);for(var l="",o=e;or)throw new RangeError("Trying to access beyond buffer length")}function de(t,e,r,n,l,o){if(!gt.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>l||et.length)throw new RangeError("Index out of range")}function gp(t,e,r,n,l,o){if(r+n>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function mc(t,e,r,n,l){return e=+e,r>>>=0,l||gp(t,0,r,4),en.write(t,e,r,n,23,4),r+4}function yc(t,e,r,n,l){return e=+e,r>>>=0,l||gp(t,0,r,8),en.write(t,e,r,n,52,8),r+8}function Wa(t,e){var r;e=e||1/0;for(var n=t.length,l=null,o=[],s=0;s55295&&r<57344){if(!l){if(r>56319){(e-=3)>-1&&o.push(239,191,189);continue}if(s+1===n){(e-=3)>-1&&o.push(239,191,189);continue}l=r;continue}if(r<56320){(e-=3)>-1&&o.push(239,191,189),l=r;continue}r=65536+(l-55296<<10|r-56320)}else l&&(e-=3)>-1&&o.push(239,191,189);if(l=null,r<128){if((e-=1)<0)break;o.push(r)}else if(r<2048){if((e-=2)<0)break;o.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;o.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;o.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return o}function mp(t){return fo.toByteArray(function(e){if((e=(e=e.split("=")[0]).trim().replace(yp,"")).length<2)return"";for(;e.length%4!=0;)e+="=";return e}(t))}function Mo(t,e,r,n){for(var l=0;l=e.length||l>=t.length);++l)e[l+r]=t[l];return l}function cr(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function jl(t){return t!=t}function bc(t,e){for(var r in t)e[r]=t[r]}function Gr(t,e,r){return $e(t,e,r)}function Hn(t){var e;switch(this.encoding=function(r){var n=function(l){if(!l)return"utf8";for(var o;;)switch(l){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return l;default:if(o)return;l=(""+l).toLowerCase(),o=!0}}(r);if(typeof n!="string"&&(po.isEncoding===$a||!$a(r)))throw new Error("Unknown encoding: "+r);return n||r}(t),this.encoding){case"utf16le":this.text=m0,this.end=y0,e=4;break;case"utf8":this.fillLast=g0,e=4;break;case"base64":this.text=b0,this.end=v0,e=3;break;default:return this.write=w0,void(this.end=_0)}this.lastNeed=0,this.lastTotal=0,this.lastChar=po.allocUnsafe(e)}function gs(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function g0(t){var e=this.lastTotal-this.lastNeed,r=function(n,l){if((192&l[0])!=128)return n.lastNeed=0,"�";if(n.lastNeed>1&&l.length>1){if((192&l[1])!=128)return n.lastNeed=1,"�";if(n.lastNeed>2&&l.length>2&&(192&l[2])!=128)return n.lastNeed=2,"�"}}(this,t);return r!==void 0?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function m0(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var n=r.charCodeAt(r.length-1);if(n>=55296&&n<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function y0(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function b0(t,e){var r=(t.length-e)%3;return r===0?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,r===1?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function v0(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function w0(t){return t.toString(this.encoding)}function _0(t){return t&&t.length?this.write(t):""}var vc,Le,we,wc,ms,Qr,_c,We,fo,en,ys,yp,bp,zn,Mi,$e,kn,po,$a,Ec=ne(()=>{for(ct(),ft(),ht(),vc={byteLength:function(t){var e=pc(t),r=e[0],n=e[1];return 3*(r+n)/4-n},toByteArray:function(t){var e,r,n=pc(t),l=n[0],o=n[1],s=new wc(function(u,c,d){return 3*(c+d)/4-d}(0,l,o)),i=0,a=o>0?l-4:l;for(r=0;r>16&255,s[i++]=e>>8&255,s[i++]=255&e;return o===2&&(e=we[t.charCodeAt(r)]<<2|we[t.charCodeAt(r+1)]>>4,s[i++]=255&e),o===1&&(e=we[t.charCodeAt(r)]<<10|we[t.charCodeAt(r+1)]<<4|we[t.charCodeAt(r+2)]>>2,s[i++]=e>>8&255,s[i++]=255&e),s},fromByteArray:function(t){for(var e,r=t.length,n=r%3,l=[],o=0,s=r-n;os?s:o+16383));return n===1?(e=t[r-1],l.push(Le[e>>2]+Le[e<<4&63]+"==")):n===2&&(e=(t[r-2]<<8)+t[r-1],l.push(Le[e>>10]+Le[e>>4&63]+Le[e<<2&63]+"=")),l.join("")}},Le=[],we=[],wc=typeof Uint8Array<"u"?Uint8Array:Array,ms="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",Qr=0,64;Qr<64;++Qr)Le[Qr]=ms[Qr],we[ms.charCodeAt(Qr)]=Qr;we[45]=62,we[95]=63,_c={read:function(t,e,r,n,l){var o,s,i=8*l-n-1,a=(1<>1,c=-7,d=r?l-1:0,f=r?-1:1,m=t[e+d];for(d+=f,o=m&(1<<-c)-1,m>>=-c,c+=i;c>0;o=256*o+t[e+d],d+=f,c-=8);for(s=o&(1<<-c)-1,o>>=-c,c+=n;c>0;s=256*s+t[e+d],d+=f,c-=8);if(o===0)o=1-u;else{if(o===a)return s?NaN:1/0*(m?-1:1);s+=Math.pow(2,n),o-=u}return(m?-1:1)*s*Math.pow(2,o-n)},write:function(t,e,r,n,l,o){var s,i,a,u=8*o-l-1,c=(1<>1,f=l===23?Math.pow(2,-24)-Math.pow(2,-77):0,m=n?0:o-1,b=n?1:-1,_=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(i=isNaN(e)?1:0,s=c):(s=Math.floor(Math.log(e)/Math.LN2),e*(a=Math.pow(2,-s))<1&&(s--,a*=2),(e+=s+d>=1?f/a:f*Math.pow(2,1-d))*a>=2&&(s++,a/=2),s+d>=c?(i=0,s=c):s+d>=1?(i=(e*a-1)*Math.pow(2,l),s+=d):(i=e*Math.pow(2,d-1)*Math.pow(2,l),s=0));l>=8;t[r+m]=255&i,m+=b,i/=256,l-=8);for(s=s<0;t[r+m]=255&s,m+=b,s/=256,u-=8);t[r+m-b]|=128*_}},We={},fo=vc,en=_c,ys=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null,We.Buffer=gt,We.SlowBuffer=function(t){return+t!=t&&(t=0),gt.alloc(+t)},We.INSPECT_MAX_BYTES=50,We.kMaxLength=2147483647,gt.TYPED_ARRAY_SUPPORT=function(){try{var t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch{return!1}}(),gt.TYPED_ARRAY_SUPPORT||typeof console>"u",Object.defineProperty(gt.prototype,"parent",{enumerable:!0,get:function(){if(gt.isBuffer(this))return this.buffer}}),Object.defineProperty(gt.prototype,"offset",{enumerable:!0,get:function(){if(gt.isBuffer(this))return this.byteOffset}}),gt.poolSize=8192,gt.from=function(t,e,r){return cp(t,e,r)},Object.setPrototypeOf(gt.prototype,Uint8Array.prototype),Object.setPrototypeOf(gt,Uint8Array),gt.alloc=function(t,e,r){return l=e,o=r,hp(n=t),n<=0?ur(n):l!==void 0?typeof o=="string"?ur(n).fill(l,o):ur(n).fill(l):ur(n);var n,l,o},gt.allocUnsafe=function(t){return Fa(t)},gt.allocUnsafeSlow=function(t){return Fa(t)},gt.isBuffer=function(t){return t!=null&&t._isBuffer===!0&&t!==gt.prototype},gt.compare=function(t,e){if(cr(t,Uint8Array)&&(t=gt.from(t,t.offset,t.byteLength)),cr(e,Uint8Array)&&(e=gt.from(e,e.offset,e.byteLength)),!gt.isBuffer(t)||!gt.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;for(var r=t.length,n=e.length,l=0,o=Math.min(r,n);le&&(t+=" ... "),""},ys&&(gt.prototype[ys]=gt.prototype.inspect),gt.prototype.compare=function(t,e,r,n,l){if(cr(t,Uint8Array)&&(t=gt.from(t,t.offset,t.byteLength)),!gt.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(e===void 0&&(e=0),r===void 0&&(r=t?t.length:0),n===void 0&&(n=0),l===void 0&&(l=this.length),e<0||r>t.length||n<0||l>this.length)throw new RangeError("out of range index");if(n>=l&&e>=r)return 0;if(n>=l)return-1;if(e>=r)return 1;if(this===t)return 0;for(var o=(l>>>=0)-(n>>>=0),s=(r>>>=0)-(e>>>=0),i=Math.min(o,s),a=this.slice(n,l),u=t.slice(e,r),c=0;c>>=0,isFinite(r)?(r>>>=0,n===void 0&&(n="utf8")):(n=r,r=void 0)}var l=this.length-e;if((r===void 0||r>l)&&(r=l),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");for(var o=!1;;)switch(n){case"hex":return o0(this,t,e,r);case"utf8":case"utf-8":return s0(this,t,e,r);case"ascii":return pp(this,t,e,r);case"latin1":case"binary":return a0(this,t,e,r);case"base64":return l0(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return u0(this,t,e,r);default:if(o)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),o=!0}},gt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}},gt.prototype.slice=function(t,e){var r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=e===void 0?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=this[t],l=1,o=0;++o>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=this[t+--e],l=1;e>0&&(l*=256);)n+=this[t+--e]*l;return n},gt.prototype.readUInt8=function(t,e){return t>>>=0,e||ee(t,1,this.length),this[t]},gt.prototype.readUInt16LE=function(t,e){return t>>>=0,e||ee(t,2,this.length),this[t]|this[t+1]<<8},gt.prototype.readUInt16BE=function(t,e){return t>>>=0,e||ee(t,2,this.length),this[t]<<8|this[t+1]},gt.prototype.readUInt32LE=function(t,e){return t>>>=0,e||ee(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},gt.prototype.readUInt32BE=function(t,e){return t>>>=0,e||ee(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},gt.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=this[t],l=1,o=0;++o=(l*=128)&&(n-=Math.pow(2,8*e)),n},gt.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||ee(t,e,this.length);for(var n=e,l=1,o=this[t+--n];n>0&&(l*=256);)o+=this[t+--n]*l;return o>=(l*=128)&&(o-=Math.pow(2,8*e)),o},gt.prototype.readInt8=function(t,e){return t>>>=0,e||ee(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},gt.prototype.readInt16LE=function(t,e){t>>>=0,e||ee(t,2,this.length);var r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},gt.prototype.readInt16BE=function(t,e){t>>>=0,e||ee(t,2,this.length);var r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},gt.prototype.readInt32LE=function(t,e){return t>>>=0,e||ee(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},gt.prototype.readInt32BE=function(t,e){return t>>>=0,e||ee(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},gt.prototype.readFloatLE=function(t,e){return t>>>=0,e||ee(t,4,this.length),en.read(this,t,!0,23,4)},gt.prototype.readFloatBE=function(t,e){return t>>>=0,e||ee(t,4,this.length),en.read(this,t,!1,23,4)},gt.prototype.readDoubleLE=function(t,e){return t>>>=0,e||ee(t,8,this.length),en.read(this,t,!0,52,8)},gt.prototype.readDoubleBE=function(t,e){return t>>>=0,e||ee(t,8,this.length),en.read(this,t,!1,52,8)},gt.prototype.writeUIntLE=function(t,e,r,n){t=+t,e>>>=0,r>>>=0,n||de(this,t,e,r,Math.pow(2,8*r)-1,0);var l=1,o=0;for(this[e]=255&t;++o>>=0,r>>>=0,n||de(this,t,e,r,Math.pow(2,8*r)-1,0);var l=r-1,o=1;for(this[e+l]=255&t;--l>=0&&(o*=256);)this[e+l]=t/o&255;return e+r},gt.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,1,255,0),this[e]=255&t,e+1},gt.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},gt.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},gt.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},gt.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},gt.prototype.writeIntLE=function(t,e,r,n){if(t=+t,e>>>=0,!n){var l=Math.pow(2,8*r-1);de(this,t,e,r,l-1,-l)}var o=0,s=1,i=0;for(this[e]=255&t;++o>>=0,!n){var l=Math.pow(2,8*r-1);de(this,t,e,r,l-1,-l)}var o=r-1,s=1,i=0;for(this[e+o]=255&t;--o>=0&&(s*=256);)t<0&&i===0&&this[e+o+1]!==0&&(i=1),this[e+o]=(t/s|0)-i&255;return e+r},gt.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},gt.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},gt.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},gt.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},gt.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||de(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},gt.prototype.writeFloatLE=function(t,e,r){return mc(this,t,e,!0,r)},gt.prototype.writeFloatBE=function(t,e,r){return mc(this,t,e,!1,r)},gt.prototype.writeDoubleLE=function(t,e,r){return yc(this,t,e,!0,r)},gt.prototype.writeDoubleBE=function(t,e,r){return yc(this,t,e,!1,r)},gt.prototype.copy=function(t,e,r,n){if(!gt.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),n||n===0||(n=this.length),e>=t.length&&(e=t.length),e||(e=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),t.length-e=0;--o)t[o+e]=this[o+r];else Uint8Array.prototype.set.call(t,this.subarray(r,n),e);return l},gt.prototype.fill=function(t,e,r,n){if(typeof t=="string"){if(typeof e=="string"?(n=e,e=0,r=this.length):typeof r=="string"&&(n=r,r=this.length),n!==void 0&&typeof n!="string")throw new TypeError("encoding must be a string");if(typeof n=="string"&&!gt.isEncoding(n))throw new TypeError("Unknown encoding: "+n);if(t.length===1){var l=t.charCodeAt(0);(n==="utf8"&&l<128||n==="latin1")&&(t=l)}}else typeof t=="number"?t&=255:typeof t=="boolean"&&(t=Number(t));if(e<0||this.length>>=0,r=r===void 0?this.length:r>>>0,t||(t=0),typeof t=="number")for(o=e;o=0?(a>0&&(l.lastNeed=a-1),a):--i=0?(a>0&&(l.lastNeed=a-2),a):--i=0?(a>0&&(a===2?a=0:l.lastNeed=a-3),a):0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var n=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,n),t.toString("utf8",e,n)},Hn.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length},kn.StringDecoder,kn.StringDecoder}),vp={};pn(vp,{StringDecoder:()=>wp,default:()=>kn});var wp,E0=ne(()=>{ct(),ft(),ht(),Ec(),Ec(),wp=kn.StringDecoder}),_p=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{PromisePrototypeThen:n,SymbolAsyncIterator:l,SymbolIterator:o}=te(),{Buffer:s}=(oe(),Dt(ie)),{ERR_INVALID_ARG_TYPE:i,ERR_STREAM_NULL_VALUES:a}=ve().codes;e.exports=function(u,c,d){let f,m;if(typeof c=="string"||c instanceof s)return new u({objectMode:!0,...d,read(){this.push(c),this.push(null)}});if(c&&c[l])m=!0,f=c[l]();else{if(!c||!c[o])throw new i("iterable",["Iterable"],c);m=!1,f=c[o]()}let b=new u({objectMode:!0,highWaterMark:1,...d}),_=!1;return b._read=function(){_||(_=!0,async function(){for(;;){try{let{value:S,done:U}=m?await f.next():f.next();if(U)b.push(null);else{let D=S&&typeof S.then=="function"?await S:S;if(D===null)throw _=!1,new a;if(b.push(D))continue;_=!1}}catch(S){b.destroy(S)}break}}())},b._destroy=function(S,U){n(async function(D){let K=D!=null,V=typeof f.throw=="function";if(K&&V){let{value:Y,done:P}=await f.throw(D);if(await Y,P)return}if(typeof f.return=="function"){let{value:Y}=await f.return();await Y}}(S),()=>r.nextTick(U,S),D=>r.nextTick(U,D||S))},b}}),Lo=mt((t,e)=>{ct(),ft(),ht();var r=dn(),{ArrayPrototypeIndexOf:n,NumberIsInteger:l,NumberIsNaN:o,NumberParseInt:s,ObjectDefineProperties:i,ObjectKeys:a,ObjectSetPrototypeOf:u,Promise:c,SafeSet:d,SymbolAsyncIterator:f,Symbol:m}=te();e.exports=q,q.ReadableState=T;var{EventEmitter:b}=(Nn(),Dt(gn)),{Stream:_,prependListener:S}=Bl(),{Buffer:U}=(oe(),Dt(ie)),{addAbortSignal:D}=Bo(),K=Fr(),V=fr().debuglog("stream",g=>{V=g}),Y=r0(),P=Un(),{getHighWaterMark:I,getDefaultHighWaterMark:E}=Ml(),{aggregateTwoErrors:w,codes:{ERR_INVALID_ARG_TYPE:B,ERR_METHOD_NOT_IMPLEMENTED:R,ERR_OUT_OF_RANGE:rt,ERR_STREAM_PUSH_AFTER_EOF:st,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:X}}=ve(),{validateObject:j}=Po(),N=m("kPaused"),{StringDecoder:$}=(E0(),Dt(vp)),nt=_p();u(q.prototype,_.prototype),u(q,_);var Q=()=>{},{errorOrDestroy:G}=P;function T(g,v,k){typeof k!="boolean"&&(k=v instanceof pr()),this.objectMode=!(!g||!g.objectMode),k&&(this.objectMode=this.objectMode||!(!g||!g.readableObjectMode)),this.highWaterMark=g?I(this,g,"readableHighWaterMark",k):E(!1),this.buffer=new Y,this.length=0,this.pipes=[],this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.constructed=!0,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this[N]=null,this.errorEmitted=!1,this.emitClose=!g||g.emitClose!==!1,this.autoDestroy=!g||g.autoDestroy!==!1,this.destroyed=!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this.defaultEncoding=g&&g.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.multiAwaitDrain=!1,this.readingMore=!1,this.dataEmitted=!1,this.decoder=null,this.encoding=null,g&&g.encoding&&(this.decoder=new $(g.encoding),this.encoding=g.encoding)}function q(g){if(!(this instanceof q))return new q(g);let v=this instanceof pr();this._readableState=new T(g,this,v),g&&(typeof g.read=="function"&&(this._read=g.read),typeof g.destroy=="function"&&(this._destroy=g.destroy),typeof g.construct=="function"&&(this._construct=g.construct),g.signal&&!v&&D(g.signal,this)),_.call(this,g),P.construct(this,()=>{this._readableState.needReadable&&et(this,this._readableState)})}function tt(g,v,k,M){V("readableAddChunk",v);let W,J=g._readableState;if(J.objectMode||(typeof v=="string"?(k=k||J.defaultEncoding,J.encoding!==k&&(M&&J.encoding?v=U.from(v,k).toString(J.encoding):(v=U.from(v,k),k=""))):v instanceof U?k="":_._isUint8Array(v)?(v=_._uint8ArrayToBuffer(v),k=""):v!=null&&(W=new B("chunk",["string","Buffer","Uint8Array"],v))),W)G(g,W);else if(v===null)J.reading=!1,function(at,ot){if(V("onEofChunk"),!ot.ended){if(ot.decoder){let vt=ot.decoder.end();vt&&vt.length&&(ot.buffer.push(vt),ot.length+=ot.objectMode?1:vt.length)}ot.ended=!0,ot.sync?pt(at):(ot.needReadable=!1,ot.emittedReadable=!0,H(at))}}(g,J);else if(J.objectMode||v&&v.length>0)if(M)if(J.endEmitted)G(g,new X);else{if(J.destroyed||J.errored)return!1;it(g,J,v,!0)}else if(J.ended)G(g,new st);else{if(J.destroyed||J.errored)return!1;J.reading=!1,J.decoder&&!k?(v=J.decoder.write(v),J.objectMode||v.length!==0?it(g,J,v,!1):et(g,J)):it(g,J,v,!1)}else M||(J.reading=!1,et(g,J));return!J.ended&&(J.length0?(v.multiAwaitDrain?v.awaitDrainWriters.clear():v.awaitDrainWriters=null,v.dataEmitted=!0,g.emit("data",k)):(v.length+=v.objectMode?1:k.length,M?v.buffer.unshift(k):v.buffer.push(k),v.needReadable&&pt(g)),et(g,v)}q.prototype.destroy=P.destroy,q.prototype._undestroy=P.undestroy,q.prototype._destroy=function(g,v){v(g)},q.prototype[b.captureRejectionSymbol]=function(g){this.destroy(g)},q.prototype.push=function(g,v){return tt(this,g,v,!1)},q.prototype.unshift=function(g,v){return tt(this,g,v,!0)},q.prototype.isPaused=function(){let g=this._readableState;return g[N]===!0||g.flowing===!1},q.prototype.setEncoding=function(g){let v=new $(g);this._readableState.decoder=v,this._readableState.encoding=this._readableState.decoder.encoding;let k=this._readableState.buffer,M="";for(let W of k)M+=v.write(W);return k.clear(),M!==""&&k.push(M),this._readableState.length=M.length,this};var lt;function ut(g,v){return g<=0||v.length===0&&v.ended?0:v.objectMode?1:o(g)?v.flowing&&v.length?v.buffer.first().length:v.length:g<=v.length?g:v.ended?v.length:0}function pt(g){let v=g._readableState;V("emitReadable",v.needReadable,v.emittedReadable),v.needReadable=!1,v.emittedReadable||(V("emitReadable",v.flowing),v.emittedReadable=!0,r.nextTick(H,g))}function H(g){let v=g._readableState;V("emitReadable_",v.destroyed,v.length,v.ended),!v.destroyed&&!v.errored&&(v.length||v.ended)&&(g.emit("readable"),v.emittedReadable=!1),v.needReadable=!v.flowing&&!v.ended&&v.length<=v.highWaterMark,F(g)}function et(g,v){!v.readingMore&&v.constructed&&(v.readingMore=!0,r.nextTick(Z,g,v))}function Z(g,v){for(;!v.reading&&!v.ended&&(v.length0,v.resumeScheduled&&v[N]===!1?v.flowing=!0:g.listenerCount("data")>0?g.resume():v.readableListening||(v.flowing=null)}function L(g){V("readable nexttick read 0"),g.read(0)}function A(g,v){V("resume",v.reading),v.reading||g.read(0),v.resumeScheduled=!1,g.emit("resume"),F(g),v.flowing&&!v.reading&&g.read(0)}function F(g){let v=g._readableState;for(V("flow",v.flowing);v.flowing&&g.read()!==null;);}function h(g,v){typeof g.read!="function"&&(g=q.wrap(g,{objectMode:!0}));let k=async function*(M,W){let J=Q;function at(bt){this===M?(J(),J=Q):J=bt}M.on("readable",at);let ot,vt=K(M,{writable:!1},bt=>{ot=bt?w(ot,bt):null,J(),J=Q});try{for(;;){let bt=M.destroyed?null:M.read();if(bt!==null)yield bt;else{if(ot)throw ot;if(ot===null)return;await new c(at)}}}catch(bt){throw ot=w(ot,bt),ot}finally{!ot&&(W==null?void 0:W.destroyOnReturn)===!1||ot!==void 0&&!M._readableState.autoDestroy?(M.off("readable",at),vt()):P.destroyer(M,null)}}(g,v);return k.stream=g,k}function p(g,v){if(v.length===0)return null;let k;return v.objectMode?k=v.buffer.shift():!g||g>=v.length?(k=v.decoder?v.buffer.join(""):v.buffer.length===1?v.buffer.first():v.buffer.concat(v.length),v.buffer.clear()):k=v.buffer.consume(g,v.decoder),k}function y(g){let v=g._readableState;V("endReadable",v.endEmitted),v.endEmitted||(v.ended=!0,r.nextTick(O,v,g))}function O(g,v){if(V("endReadableNT",g.endEmitted,g.length),!g.errored&&!g.closeEmitted&&!g.endEmitted&&g.length===0){if(g.endEmitted=!0,v.emit("end"),v.writable&&v.allowHalfOpen===!1)r.nextTick(x,v);else if(g.autoDestroy){let k=v._writableState;(!k||k.autoDestroy&&(k.finished||k.writable===!1))&&v.destroy()}}}function x(g){g.writable&&!g.writableEnded&&!g.destroyed&&g.end()}function C(){return lt===void 0&&(lt={}),lt}q.prototype.read=function(g){V("read",g),g===void 0?g=NaN:l(g)||(g=s(g,10));let v=this._readableState,k=g;if(g>v.highWaterMark&&(v.highWaterMark=function(J){if(J>1073741824)throw new rt("size","<= 1GiB",J);return J--,J|=J>>>1,J|=J>>>2,J|=J>>>4,J|=J>>>8,J|=J>>>16,++J}(g)),g!==0&&(v.emittedReadable=!1),g===0&&v.needReadable&&((v.highWaterMark!==0?v.length>=v.highWaterMark:v.length>0)||v.ended))return V("read: emitReadable",v.length,v.ended),v.length===0&&v.ended?y(this):pt(this),null;if((g=ut(g,v))===0&&v.ended)return v.length===0&&y(this),null;let M,W=v.needReadable;if(V("need readable",W),(v.length===0||v.length-g0?p(g,v):null,M===null?(v.needReadable=v.length<=v.highWaterMark,g=0):(v.length-=g,v.multiAwaitDrain?v.awaitDrainWriters.clear():v.awaitDrainWriters=null),v.length===0&&(v.ended||(v.needReadable=!0),k!==g&&v.ended&&y(this)),M!==null&&!v.errorEmitted&&!v.closeEmitted&&(v.dataEmitted=!0,this.emit("data",M)),M},q.prototype._read=function(g){throw new R("_read()")},q.prototype.pipe=function(g,v){let k=this,M=this._readableState;M.pipes.length===1&&(M.multiAwaitDrain||(M.multiAwaitDrain=!0,M.awaitDrainWriters=new d(M.awaitDrainWriters?[M.awaitDrainWriters]:[]))),M.pipes.push(g),V("pipe count=%d opts=%j",M.pipes.length,v);let W=v&&v.end===!1||g===r.stdout||g===r.stderr?_t:at;function J(It,yt){V("onunpipe"),It===k&&yt&&yt.hasUnpiped===!1&&(yt.hasUnpiped=!0,V("cleanup"),g.removeListener("close",kt),g.removeListener("finish",Mt),ot&&g.removeListener("drain",ot),g.removeListener("error",Ot),g.removeListener("unpipe",J),k.removeListener("end",at),k.removeListener("end",_t),k.removeListener("data",wt),vt=!0,ot&&M.awaitDrainWriters&&(!g._writableState||g._writableState.needDrain)&&ot())}function at(){V("onend"),g.end()}M.endEmitted?r.nextTick(W):k.once("end",W),g.on("unpipe",J);let ot,vt=!1;function bt(){vt||(M.pipes.length===1&&M.pipes[0]===g?(V("false write response, pause",0),M.awaitDrainWriters=g,M.multiAwaitDrain=!1):M.pipes.length>1&&M.pipes.includes(g)&&(V("false write response, pause",M.awaitDrainWriters.size),M.awaitDrainWriters.add(g)),k.pause()),ot||(ot=function(It,yt){return function(){let Ct=It._readableState;Ct.awaitDrainWriters===yt?(V("pipeOnDrain",1),Ct.awaitDrainWriters=null):Ct.multiAwaitDrain&&(V("pipeOnDrain",Ct.awaitDrainWriters.size),Ct.awaitDrainWriters.delete(yt)),(!Ct.awaitDrainWriters||Ct.awaitDrainWriters.size===0)&&It.listenerCount("data")&&It.resume()}}(k,g),g.on("drain",ot))}function wt(It){V("ondata");let yt=g.write(It);V("dest.write",yt),yt===!1&&bt()}function Ot(It){if(V("onerror",It),_t(),g.removeListener("error",Ot),g.listenerCount("error")===0){let yt=g._writableState||g._readableState;yt&&!yt.errorEmitted?G(g,It):g.emit("error",It)}}function kt(){g.removeListener("finish",Mt),_t()}function Mt(){V("onfinish"),g.removeListener("close",kt),_t()}function _t(){V("unpipe"),k.unpipe(g)}return k.on("data",wt),S(g,"error",Ot),g.once("close",kt),g.once("finish",Mt),g.emit("pipe",k),g.writableNeedDrain===!0?M.flowing&&bt():M.flowing||(V("pipe resume"),k.resume()),g},q.prototype.unpipe=function(g){let v=this._readableState;if(v.pipes.length===0)return this;if(!g){let M=v.pipes;v.pipes=[],this.pause();for(let W=0;W0,M.flowing!==!1&&this.resume()):g==="readable"&&!M.endEmitted&&!M.readableListening&&(M.readableListening=M.needReadable=!0,M.flowing=!1,M.emittedReadable=!1,V("on readable",M.length,M.reading),M.length?pt(this):M.reading||r.nextTick(L,this)),k},q.prototype.addListener=q.prototype.on,q.prototype.removeListener=function(g,v){let k=_.prototype.removeListener.call(this,g,v);return g==="readable"&&r.nextTick(dt,this),k},q.prototype.off=q.prototype.removeListener,q.prototype.removeAllListeners=function(g){let v=_.prototype.removeAllListeners.apply(this,arguments);return(g==="readable"||g===void 0)&&r.nextTick(dt,this),v},q.prototype.resume=function(){let g=this._readableState;return g.flowing||(V("resume"),g.flowing=!g.readableListening,function(v,k){k.resumeScheduled||(k.resumeScheduled=!0,r.nextTick(A,v,k))}(this,g)),g[N]=!1,this},q.prototype.pause=function(){return V("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(V("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[N]=!0,this},q.prototype.wrap=function(g){let v=!1;g.on("data",M=>{!this.push(M)&&g.pause&&(v=!0,g.pause())}),g.on("end",()=>{this.push(null)}),g.on("error",M=>{G(this,M)}),g.on("close",()=>{this.destroy()}),g.on("destroy",()=>{this.destroy()}),this._read=()=>{v&&g.resume&&(v=!1,g.resume())};let k=a(g);for(let M=1;M{ct(),ft(),ht();var r=dn(),{ArrayPrototypeSlice:n,Error:l,FunctionPrototypeSymbolHasInstance:o,ObjectDefineProperty:s,ObjectDefineProperties:i,ObjectSetPrototypeOf:a,StringPrototypeToLowerCase:u,Symbol:c,SymbolHasInstance:d}=te();e.exports=$,$.WritableState=j;var{EventEmitter:f}=(Nn(),Dt(gn)),m=Bl().Stream,{Buffer:b}=(oe(),Dt(ie)),_=Un(),{addAbortSignal:S}=Bo(),{getHighWaterMark:U,getDefaultHighWaterMark:D}=Ml(),{ERR_INVALID_ARG_TYPE:K,ERR_METHOD_NOT_IMPLEMENTED:V,ERR_MULTIPLE_CALLBACK:Y,ERR_STREAM_CANNOT_PIPE:P,ERR_STREAM_DESTROYED:I,ERR_STREAM_ALREADY_FINISHED:E,ERR_STREAM_NULL_VALUES:w,ERR_STREAM_WRITE_AFTER_END:B,ERR_UNKNOWN_ENCODING:R}=ve().codes,{errorOrDestroy:rt}=_;function st(){}a($.prototype,m.prototype),a($,m);var X=c("kOnFinished");function j(A,F,h){typeof h!="boolean"&&(h=F instanceof pr()),this.objectMode=!(!A||!A.objectMode),h&&(this.objectMode=this.objectMode||!(!A||!A.writableObjectMode)),this.highWaterMark=A?U(this,A,"writableHighWaterMark",h):D(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;let p=!(!A||A.decodeStrings!==!1);this.decodeStrings=!p,this.defaultEncoding=A&&A.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=T.bind(void 0,F),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,N(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!A||A.emitClose!==!1,this.autoDestroy=!A||A.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[X]=[]}function N(A){A.buffered=[],A.bufferedIndex=0,A.allBuffers=!0,A.allNoop=!0}function $(A){let F=this instanceof pr();if(!F&&!o($,this))return new $(A);this._writableState=new j(A,this,F),A&&(typeof A.write=="function"&&(this._write=A.write),typeof A.writev=="function"&&(this._writev=A.writev),typeof A.destroy=="function"&&(this._destroy=A.destroy),typeof A.final=="function"&&(this._final=A.final),typeof A.construct=="function"&&(this._construct=A.construct),A.signal&&S(A.signal,this)),m.call(this,A),_.construct(this,()=>{let h=this._writableState;h.writing||lt(this,h),H(this,h)})}function nt(A,F,h,p){let y,O=A._writableState;if(typeof h=="function")p=h,h=O.defaultEncoding;else{if(h){if(h!=="buffer"&&!b.isEncoding(h))throw new R(h)}else h=O.defaultEncoding;typeof p!="function"&&(p=st)}if(F===null)throw new w;if(!O.objectMode)if(typeof F=="string")O.decodeStrings!==!1&&(F=b.from(F,h),h="buffer");else if(F instanceof b)h="buffer";else{if(!m._isUint8Array(F))throw new K("chunk",["string","Buffer","Uint8Array"],F);F=m._uint8ArrayToBuffer(F),h="buffer"}return O.ending?y=new B:O.destroyed&&(y=new I("write")),y?(r.nextTick(p,y),rt(A,y,!0),y):(O.pendingcb++,function(x,C,g,v,k){let M=C.objectMode?1:g.length;C.length+=M;let W=C.lengthh.bufferedIndex&<(A,h),p?h.afterWriteTickInfo!==null&&h.afterWriteTickInfo.cb===y?h.afterWriteTickInfo.count++:(h.afterWriteTickInfo={count:1,cb:y,stream:A,state:h},r.nextTick(q,h.afterWriteTickInfo)):tt(A,h,1,y))):rt(A,new Y)}function q({stream:A,state:F,count:h,cb:p}){return F.afterWriteTickInfo=null,tt(A,F,h,p)}function tt(A,F,h,p){for(!F.ending&&!A.destroyed&&F.length===0&&F.needDrain&&(F.needDrain=!1,A.emit("drain"));h-- >0;)F.pendingcb--,p();F.destroyed&&it(F),H(A,F)}function it(A){if(A.writing)return;for(let y=A.bufferedIndex;y1&&A._writev){F.pendingcb-=O-1;let C=F.allNoop?st:v=>{for(let k=x;k256?(h.splice(0,x),F.bufferedIndex=0):F.bufferedIndex=x}F.bufferProcessing=!1}function ut(A){return A.ending&&!A.destroyed&&A.constructed&&A.length===0&&!A.errored&&A.buffered.length===0&&!A.finished&&!A.writing&&!A.errorEmitted&&!A.closeEmitted}function pt(A,F){!F.prefinished&&!F.finalCalled&&(typeof A._final!="function"||F.destroyed?(F.prefinished=!0,A.emit("prefinish")):(F.finalCalled=!0,function(h,p){let y=!1;function O(x){if(y)rt(h,x??Y());else if(y=!0,p.pendingcb--,x){let C=p[X].splice(0);for(let g=0;g{ut(y)?et(p,y):y.pendingcb--},A,F)):ut(F)&&(F.pendingcb++,et(A,F))))}function et(A,F){F.pendingcb--,F.finished=!0;let h=F[X].splice(0);for(let p=0;p{ct(),ft(),ht();var r=dn(),n=(oe(),Dt(ie)),{isReadable:l,isWritable:o,isIterable:s,isNodeStream:i,isReadableNodeStream:a,isWritableNodeStream:u,isDuplexNodeStream:c}=yr(),d=Fr(),{AbortError:f,codes:{ERR_INVALID_ARG_TYPE:m,ERR_INVALID_RETURN_VALUE:b}}=ve(),{destroyer:_}=Un(),S=pr(),U=Lo(),{createDeferredPromise:D}=fr(),K=_p(),V=globalThis.Blob||n.Blob,Y=typeof V<"u"?function(B){return B instanceof V}:function(B){return!1},P=globalThis.AbortController||Pl().AbortController,{FunctionPrototypeCall:I}=te(),E=class extends S{constructor(B){super(B),(B==null?void 0:B.readable)===!1&&(this._readableState.readable=!1,this._readableState.ended=!0,this._readableState.endEmitted=!0),(B==null?void 0:B.writable)===!1&&(this._writableState.writable=!1,this._writableState.ending=!0,this._writableState.ended=!0,this._writableState.finished=!0)}};function w(B){let R,rt,st,X,j,N=B.readable&&typeof B.readable.read!="function"?U.wrap(B.readable):B.readable,$=B.writable,nt=!!l(N),Q=!!o($);function G(T){let q=X;X=null,q?q(T):T&&j.destroy(T)}return j=new E({readableObjectMode:!(N==null||!N.readableObjectMode),writableObjectMode:!($==null||!$.writableObjectMode),readable:nt,writable:Q}),Q&&(d($,T=>{Q=!1,T&&_(N,T),G(T)}),j._write=function(T,q,tt){$.write(T,q)?tt():R=tt},j._final=function(T){$.end(),rt=T},$.on("drain",function(){if(R){let T=R;R=null,T()}}),$.on("finish",function(){if(rt){let T=rt;rt=null,T()}})),nt&&(d(N,T=>{nt=!1,T&&_(N,T),G(T)}),N.on("readable",function(){if(st){let T=st;st=null,T()}}),N.on("end",function(){j.push(null)}),j._read=function(){for(;;){let T=N.read();if(T===null)return void(st=j._read);if(!j.push(T))return}}),j._destroy=function(T,q){!T&&X!==null&&(T=new f),st=null,R=null,rt=null,X===null?q(T):(X=q,_($,T),_(N,T))},j}e.exports=function B(R,rt){if(c(R))return R;if(a(R))return w({readable:R});if(u(R))return w({writable:R});if(i(R))return w({writable:!1,readable:!1});if(typeof R=="function"){let{value:X,write:j,final:N,destroy:$}=function(Q){let{promise:G,resolve:T}=D(),q=new P,tt=q.signal;return{value:Q(async function*(){for(;;){let it=G;G=null;let{chunk:lt,done:ut,cb:pt}=await it;if(r.nextTick(pt),ut)return;if(tt.aborted)throw new f(void 0,{cause:tt.reason});({promise:G,resolve:T}=D()),yield lt}}(),{signal:tt}),write(it,lt,ut){let pt=T;T=null,pt({chunk:it,done:!1,cb:ut})},final(it){let lt=T;T=null,lt({done:!0,cb:it})},destroy(it,lt){q.abort(),lt(it)}}}(R);if(s(X))return K(E,X,{objectMode:!0,write:j,final:N,destroy:$});let nt=X==null?void 0:X.then;if(typeof nt=="function"){let Q,G=I(nt,X,T=>{if(T!=null)throw new b("nully","body",T)},T=>{_(Q,T)});return Q=new E({objectMode:!0,readable:!1,write:j,final(T){N(async()=>{try{await G,r.nextTick(T,null)}catch(q){r.nextTick(T,q)}})},destroy:$})}throw new b("Iterable, AsyncIterable or AsyncFunction",rt,X)}if(Y(R))return B(R.arrayBuffer());if(s(R))return K(E,R,{objectMode:!0,writable:!1});if(typeof(R==null?void 0:R.writable)=="object"||typeof(R==null?void 0:R.readable)=="object")return w({readable:R!=null&&R.readable?a(R==null?void 0:R.readable)?R==null?void 0:R.readable:B(R.readable):void 0,writable:R!=null&&R.writable?u(R==null?void 0:R.writable)?R==null?void 0:R.writable:B(R.writable):void 0});let st=R==null?void 0:R.then;if(typeof st=="function"){let X;return I(st,R,j=>{j!=null&&X.push(j),X.push(null)},j=>{_(X,j)}),X=new E({objectMode:!0,writable:!1,read(){}})}throw new m(rt,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],R)}}),pr=mt((t,e)=>{ct(),ft(),ht();var{ObjectDefineProperties:r,ObjectGetOwnPropertyDescriptor:n,ObjectKeys:l,ObjectSetPrototypeOf:o}=te();e.exports=c;var s,i,a=Lo(),u=Ep();o(c.prototype,a.prototype),o(c,a);{let f=l(u.prototype);for(let m=0;m{ct(),ft(),ht();var{ObjectSetPrototypeOf:r,Symbol:n}=te();e.exports=a;var{ERR_METHOD_NOT_IMPLEMENTED:l}=ve().codes,o=pr(),{getHighWaterMark:s}=Ml();r(a.prototype,o.prototype),r(a,o);var i=n("kCallback");function a(d){if(!(this instanceof a))return new a(d);let f=d?s(this,d,"readableHighWaterMark",!0):null;f===0&&(d={...d,highWaterMark:null,readableHighWaterMark:f,writableHighWaterMark:d.writableHighWaterMark||0}),o.call(this,d),this._readableState.sync=!1,this[i]=null,d&&(typeof d.transform=="function"&&(this._transform=d.transform),typeof d.flush=="function"&&(this._flush=d.flush)),this.on("prefinish",c)}function u(d){typeof this._flush!="function"||this.destroyed?(this.push(null),d&&d()):this._flush((f,m)=>{f?d?d(f):this.destroy(f):(m!=null&&this.push(m),this.push(null),d&&d())})}function c(){this._final!==u&&u.call(this)}a.prototype._final=u,a.prototype._transform=function(d,f,m){throw new l("_transform()")},a.prototype._write=function(d,f,m){let b=this._readableState,_=this._writableState,S=b.length;this._transform(d,f,(U,D)=>{U?m(U):(D!=null&&this.push(D),_.ended||S===b.length||b.length{ct(),ft(),ht();var{ObjectSetPrototypeOf:r}=te();e.exports=l;var n=Sp();function l(o){if(!(this instanceof l))return new l(o);n.call(this,o)}r(l.prototype,n.prototype),r(l,n),l.prototype._transform=function(o,s,i){i(null,o)}}),Ul=mt((t,e)=>{ct(),ft(),ht();var r,n,l=dn(),{ArrayIsArray:o,Promise:s,SymbolAsyncIterator:i}=te(),a=Fr(),{once:u}=fr(),c=Un(),d=pr(),{aggregateTwoErrors:f,codes:{ERR_INVALID_ARG_TYPE:m,ERR_INVALID_RETURN_VALUE:b,ERR_MISSING_ARGS:_,ERR_STREAM_DESTROYED:S,ERR_STREAM_PREMATURE_CLOSE:U},AbortError:D}=ve(),{validateFunction:K,validateAbortSignal:V}=Po(),{isIterable:Y,isReadable:P,isReadableNodeStream:I,isNodeStream:E,isTransformStream:w,isWebStream:B,isReadableStream:R,isReadableEnded:rt}=yr(),st=globalThis.AbortController||Pl().AbortController;function X(G,T,q){let tt=!1;return G.on("close",()=>{tt=!0}),{destroy:it=>{tt||(tt=!0,c.destroyer(G,it||new S("pipe")))},cleanup:a(G,{readable:T,writable:q},it=>{tt=!it})}}function j(G){if(Y(G))return G;if(I(G))return async function*(T){n||(n=Lo()),yield*n.prototype[i].call(T)}(G);throw new m("val",["Readable","Iterable","AsyncIterable"],G)}async function N(G,T,q,{end:tt}){let it,lt=null,ut=et=>{if(et&&(it=et),lt){let Z=lt;lt=null,Z()}},pt=()=>new s((et,Z)=>{it?Z(it):lt=()=>{it?Z(it):et()}});T.on("drain",ut);let H=a(T,{readable:!1},ut);try{T.writableNeedDrain&&await pt();for await(let et of G)T.write(et)||await pt();tt&&T.end(),await pt(),q()}catch(et){q(it!==et?f(it,et):et)}finally{H(),T.off("drain",ut)}}async function $(G,T,q,{end:tt}){w(T)&&(T=T.writable);let it=T.getWriter();try{for await(let lt of G)await it.ready,it.write(lt).catch(()=>{});await it.ready,tt&&await it.close(),q()}catch(lt){try{await it.abort(lt),q(lt)}catch(ut){q(ut)}}}function nt(G,T,q){if(G.length===1&&o(G[0])&&(G=G[0]),G.length<2)throw new _("streams");let tt=new st,it=tt.signal,lt=q==null?void 0:q.signal,ut=[];function pt(){F(new D)}V(lt,"options.signal"),lt==null||lt.addEventListener("abort",pt);let H,et,Z,dt=[],L=0;function A(y){F(y,--L==0)}function F(y,O){if(y&&(!H||H.code==="ERR_STREAM_PREMATURE_CLOSE")&&(H=y),H||O){for(;dt.length;)dt.shift()(H);lt==null||lt.removeEventListener("abort",pt),tt.abort(),O&&(H||ut.forEach(x=>x()),l.nextTick(T,H,et))}}for(let y=0;y0,g=x||(q==null?void 0:q.end)!==!1,v=y===G.length-1;if(E(O)){let k=function(M){M&&M.name!=="AbortError"&&M.code!=="ERR_STREAM_PREMATURE_CLOSE"&&A(M)};if(g){let{destroy:M,cleanup:W}=X(O,x,C);dt.push(M),P(O)&&v&&ut.push(W)}O.on("error",k),P(O)&&v&&ut.push(()=>{O.removeListener("error",k)})}if(y===0)if(typeof O=="function"){if(Z=O({signal:it}),!Y(Z))throw new b("Iterable, AsyncIterable or Stream","source",Z)}else Z=Y(O)||I(O)||w(O)?O:d.from(O);else if(typeof O=="function"){var h;if(w(Z)?Z=j((h=Z)===null||h===void 0?void 0:h.readable):Z=j(Z),Z=O(Z,{signal:it}),x){if(!Y(Z,!0))throw new b("AsyncIterable",`transform[${y-1}]`,Z)}else{var p;r||(r=Ap());let k=new r({objectMode:!0}),M=(p=Z)===null||p===void 0?void 0:p.then;if(typeof M=="function")L++,M.call(Z,at=>{et=at,at!=null&&k.write(at),g&&k.end(),l.nextTick(A)},at=>{k.destroy(at),l.nextTick(A,at)});else if(Y(Z,!0))L++,N(Z,k,A,{end:g});else{if(!R(Z)&&!w(Z))throw new b("AsyncIterable or Promise","destination",Z);{let at=Z.readable||Z;L++,N(at,k,A,{end:g})}}Z=k;let{destroy:W,cleanup:J}=X(Z,!1,!0);dt.push(W),v&&ut.push(J)}}else if(E(O)){if(I(Z)){L+=2;let k=Q(Z,O,A,{end:g});P(O)&&v&&ut.push(k)}else if(w(Z)||R(Z)){let k=Z.readable||Z;L++,N(k,O,A,{end:g})}else{if(!Y(Z))throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);L++,N(Z,O,A,{end:g})}Z=O}else if(B(O)){if(I(Z))L++,$(j(Z),O,A,{end:g});else if(R(Z)||Y(Z))L++,$(Z,O,A,{end:g});else{if(!w(Z))throw new m("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);L++,$(Z.readable,O,A,{end:g})}Z=O}else Z=d.from(O)}return(it!=null&&it.aborted||lt!=null&<.aborted)&&l.nextTick(pt),Z}function Q(G,T,q,{end:tt}){let it=!1;if(T.on("close",()=>{it||q(new U)}),G.pipe(T,{end:!1}),tt){let lt=function(){it=!0,T.end()};rt(G)?l.nextTick(lt):G.once("end",lt)}else q();return a(G,{readable:!0,writable:!1},lt=>{let ut=G._readableState;lt&<.code==="ERR_STREAM_PREMATURE_CLOSE"&&ut&&ut.ended&&!ut.errored&&!ut.errorEmitted?G.once("end",q).once("error",q):q(lt)}),a(T,{readable:!1,writable:!0},q)}e.exports={pipelineImpl:nt,pipeline:function(...G){return nt(G,u(function(T){return K(T[T.length-1],"streams[stream.length - 1]"),T.pop()}(G)))}}}),kp=mt((t,e)=>{ct(),ft(),ht();var{pipeline:r}=Ul(),n=pr(),{destroyer:l}=Un(),{isNodeStream:o,isReadable:s,isWritable:i,isWebStream:a,isTransformStream:u,isWritableStream:c,isReadableStream:d}=yr(),{AbortError:f,codes:{ERR_INVALID_ARG_VALUE:m,ERR_MISSING_ARGS:b}}=ve(),_=Fr();e.exports=function(...S){if(S.length===0)throw new b("streams");if(S.length===1)return n.from(S[0]);let U,D,K,V,Y,P=[...S];if(typeof S[0]=="function"&&(S[0]=n.from(S[0])),typeof S[S.length-1]=="function"){let R=S.length-1;S[R]=n.from(S[R])}for(let R=0;R0&&!(i(S[R])||c(S[R])||u(S[R])))throw new m(`streams[${R}]`,P[R],"must be writable")}let I=S[0],E=r(S,function(R){let rt=V;V=null,rt?rt(R):R?Y.destroy(R):!B&&!w&&Y.destroy()}),w=!!(i(I)||c(I)||u(I)),B=!!(s(E)||d(E)||u(E));if(Y=new n({writableObjectMode:!(I==null||!I.writableObjectMode),readableObjectMode:!(E==null||!E.writableObjectMode),writable:w,readable:B}),w){if(o(I))Y._write=function(rt,st,X){I.write(rt,st)?X():U=X},Y._final=function(rt){I.end(),D=rt},I.on("drain",function(){if(U){let rt=U;U=null,rt()}});else if(a(I)){let rt=(u(I)?I.writable:I).getWriter();Y._write=async function(st,X,j){try{await rt.ready,rt.write(st).catch(()=>{}),j()}catch(N){j(N)}},Y._final=async function(st){try{await rt.ready,rt.close().catch(()=>{}),D=st}catch(X){st(X)}}}let R=u(E)?E.readable:E;_(R,()=>{if(D){let rt=D;D=null,rt()}})}if(B){if(o(E))E.on("readable",function(){if(K){let R=K;K=null,R()}}),E.on("end",function(){Y.push(null)}),Y._read=function(){for(;;){let R=E.read();if(R===null)return void(K=Y._read);if(!Y.push(R))return}};else if(a(E)){let R=(u(E)?E.readable:E).getReader();Y._read=async function(){for(;;)try{let{value:rt,done:st}=await R.read();if(!Y.push(rt))return;if(st)return void Y.push(null)}catch{return}}}}return Y._destroy=function(R,rt){!R&&V!==null&&(R=new f),K=null,U=null,D=null,V===null?rt(R):(V=rt,o(E)&&l(E,R))},Y}}),A0=mt((t,e)=>{ct(),ft(),ht();var r=globalThis.AbortController||Pl().AbortController,{codes:{ERR_INVALID_ARG_VALUE:n,ERR_INVALID_ARG_TYPE:l,ERR_MISSING_ARGS:o,ERR_OUT_OF_RANGE:s},AbortError:i}=ve(),{validateAbortSignal:a,validateInteger:u,validateObject:c}=Po(),d=te().Symbol("kWeak"),{finished:f}=Fr(),m=kp(),{addAbortSignalNoValidate:b}=Bo(),{isWritable:_,isNodeStream:S}=yr(),{ArrayPrototypePush:U,MathFloor:D,Number:K,NumberIsNaN:V,Promise:Y,PromiseReject:P,PromisePrototypeThen:I,Symbol:E}=te(),w=E("kEmpty"),B=E("kEof");function R(N,$){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);$!=null&&c($,"options"),($==null?void 0:$.signal)!=null&&a($.signal,"options.signal");let nt=1;return($==null?void 0:$.concurrency)!=null&&(nt=D($.concurrency)),u(nt,"concurrency",1),(async function*(){var Q,G;let T=new r,q=this,tt=[],it=T.signal,lt={signal:it},ut=()=>T.abort();$!=null&&(Q=$.signal)!==null&&Q!==void 0&&Q.aborted&&ut(),$==null||(G=$.signal)===null||G===void 0||G.addEventListener("abort",ut);let pt,H,et=!1;function Z(){et=!0}(async function(){try{for await(let A of q){var dt;if(et)return;if(it.aborted)throw new i;try{A=N(A,lt)}catch(F){A=P(F)}A!==w&&(typeof((dt=A)===null||dt===void 0?void 0:dt.catch)=="function"&&A.catch(Z),tt.push(A),pt&&(pt(),pt=null),!et&&tt.length&&tt.length>=nt&&await new Y(F=>{H=F}))}tt.push(B)}catch(A){let F=P(A);I(F,void 0,Z),tt.push(F)}finally{var L;et=!0,pt&&(pt(),pt=null),$==null||(L=$.signal)===null||L===void 0||L.removeEventListener("abort",ut)}})();try{for(;;){for(;tt.length>0;){let dt=await tt[0];if(dt===B)return;if(it.aborted)throw new i;dt!==w&&(yield dt),tt.shift(),H&&(H(),H=null)}await new Y(dt=>{pt=dt})}}finally{T.abort(),et=!0,H&&(H(),H=null)}}).call(this)}async function rt(N,$=void 0){for await(let nt of st.call(this,N,$))return!0;return!1}function st(N,$){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);return R.call(this,async function(nt,Q){return await N(nt,Q)?nt:w},$)}var X=class extends o{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}};function j(N){if(N=K(N),V(N))return 0;if(N<0)throw new s("number",">= 0",N);return N}e.exports.streamReturningOperators={asIndexedPairs:function(N=void 0){return N!=null&&c(N,"options"),(N==null?void 0:N.signal)!=null&&a(N.signal,"options.signal"),(async function*(){let $=0;for await(let Q of this){var nt;if(N!=null&&(nt=N.signal)!==null&&nt!==void 0&&nt.aborted)throw new i({cause:N.signal.reason});yield[$++,Q]}}).call(this)},drop:function(N,$=void 0){return $!=null&&c($,"options"),($==null?void 0:$.signal)!=null&&a($.signal,"options.signal"),N=j(N),(async function*(){var nt;if($!=null&&(nt=$.signal)!==null&&nt!==void 0&&nt.aborted)throw new i;for await(let G of this){var Q;if($!=null&&(Q=$.signal)!==null&&Q!==void 0&&Q.aborted)throw new i;N--<=0&&(yield G)}}).call(this)},filter:st,flatMap:function(N,$){let nt=R.call(this,N,$);return(async function*(){for await(let Q of nt)yield*Q}).call(this)},map:R,take:function(N,$=void 0){return $!=null&&c($,"options"),($==null?void 0:$.signal)!=null&&a($.signal,"options.signal"),N=j(N),(async function*(){var nt;if($!=null&&(nt=$.signal)!==null&&nt!==void 0&&nt.aborted)throw new i;for await(let G of this){var Q;if($!=null&&(Q=$.signal)!==null&&Q!==void 0&&Q.aborted)throw new i;if(!(N-- >0))return;yield G}}).call(this)},compose:function(N,$){if($!=null&&c($,"options"),($==null?void 0:$.signal)!=null&&a($.signal,"options.signal"),S(N)&&!_(N))throw new n("stream",N,"must be writable");let nt=m(this,N);return $!=null&&$.signal&&b($.signal,nt),nt}},e.exports.promiseReturningOperators={every:async function(N,$=void 0){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);return!await rt.call(this,async(...nt)=>!await N(...nt),$)},forEach:async function(N,$){if(typeof N!="function")throw new l("fn",["Function","AsyncFunction"],N);for await(let nt of R.call(this,async function(Q,G){return await N(Q,G),w},$));},reduce:async function(N,$,nt){var Q;if(typeof N!="function")throw new l("reducer",["Function","AsyncFunction"],N);nt!=null&&c(nt,"options"),(nt==null?void 0:nt.signal)!=null&&a(nt.signal,"options.signal");let G=arguments.length>1;if(nt!=null&&(Q=nt.signal)!==null&&Q!==void 0&&Q.aborted){let lt=new i(void 0,{cause:nt.signal.reason});throw this.once("error",()=>{}),await f(this.destroy(lt)),lt}let T=new r,q=T.signal;if(nt!=null&&nt.signal){let lt={once:!0,[d]:this};nt.signal.addEventListener("abort",()=>T.abort(),lt)}let tt=!1;try{for await(let lt of this){var it;if(tt=!0,nt!=null&&(it=nt.signal)!==null&&it!==void 0&&it.aborted)throw new i;G?$=await N($,lt,{signal:q}):($=lt,G=!0)}if(!tt&&!G)throw new X}finally{T.abort()}return $},toArray:async function(N){N!=null&&c(N,"options"),(N==null?void 0:N.signal)!=null&&a(N.signal,"options.signal");let $=[];for await(let Q of this){var nt;if(N!=null&&(nt=N.signal)!==null&&nt!==void 0&&nt.aborted)throw new i(void 0,{cause:N.signal.reason});U($,Q)}return $},some:rt,find:async function(N,$){for await(let nt of st.call(this,N,$))return nt}}}),Ip=mt((t,e)=>{ct(),ft(),ht();var{ArrayPrototypePop:r,Promise:n}=te(),{isIterable:l,isNodeStream:o,isWebStream:s}=yr(),{pipelineImpl:i}=Ul(),{finished:a}=Fr();Tp(),e.exports={finished:a,pipeline:function(...u){return new n((c,d)=>{let f,m,b=u[u.length-1];if(b&&typeof b=="object"&&!o(b)&&!l(b)&&!s(b)){let _=r(u);f=_.signal,m=_.end}i(u,(_,S)=>{_?d(_):c(S)},{signal:f,end:m})})}}}),Tp=mt((t,e)=>{ct(),ft(),ht();var{Buffer:r}=(oe(),Dt(ie)),{ObjectDefineProperty:n,ObjectKeys:l,ReflectApply:o}=te(),{promisify:{custom:s}}=fr(),{streamReturningOperators:i,promiseReturningOperators:a}=A0(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:u}}=ve(),c=kp(),{pipeline:d}=Ul(),{destroyer:f}=Un(),m=Fr(),b=Ip(),_=yr(),S=e.exports=Bl().Stream;S.isDisturbed=_.isDisturbed,S.isErrored=_.isErrored,S.isReadable=_.isReadable,S.Readable=Lo();for(let D of l(i)){let K=function(...Y){if(new.target)throw u();return S.Readable.from(o(V,this,Y))},V=i[D];n(K,"name",{__proto__:null,value:V.name}),n(K,"length",{__proto__:null,value:V.length}),n(S.Readable.prototype,D,{__proto__:null,value:K,enumerable:!1,configurable:!0,writable:!0})}for(let D of l(a)){let K=function(...Y){if(new.target)throw u();return o(V,this,Y)},V=a[D];n(K,"name",{__proto__:null,value:V.name}),n(K,"length",{__proto__:null,value:V.length}),n(S.Readable.prototype,D,{__proto__:null,value:K,enumerable:!1,configurable:!0,writable:!0})}S.Writable=Ep(),S.Duplex=pr(),S.Transform=Sp(),S.PassThrough=Ap(),S.pipeline=d;var{addAbortSignal:U}=Bo();S.addAbortSignal=U,S.finished=m,S.destroy=f,S.compose=c,n(S,"promises",{__proto__:null,configurable:!0,enumerable:!0,get:()=>b}),n(d,s,{__proto__:null,enumerable:!0,get:()=>b.pipeline}),n(m,s,{__proto__:null,enumerable:!0,get:()=>b.finished}),S.Stream=S,S._isUint8Array=function(D){return D instanceof Uint8Array},S._uint8ArrayToBuffer=function(D){return r.from(D.buffer,D.byteOffset,D.byteLength)}}),mn=mt((t,e)=>{ct(),ft(),ht();var r=Tp(),n=Ip(),l=r.Readable.destroy;e.exports=r.Readable,e.exports._uint8ArrayToBuffer=r._uint8ArrayToBuffer,e.exports._isUint8Array=r._isUint8Array,e.exports.isDisturbed=r.isDisturbed,e.exports.isErrored=r.isErrored,e.exports.isReadable=r.isReadable,e.exports.Readable=r.Readable,e.exports.Writable=r.Writable,e.exports.Duplex=r.Duplex,e.exports.Transform=r.Transform,e.exports.PassThrough=r.PassThrough,e.exports.addAbortSignal=r.addAbortSignal,e.exports.finished=r.finished,e.exports.destroy=r.destroy,e.exports.destroy=l,e.exports.pipeline=r.pipeline,e.exports.compose=r.compose,Object.defineProperty(r,"promises",{configurable:!0,enumerable:!0,get:()=>n}),e.exports.Stream=r.Stream,e.exports.default=e.exports}),k0=mt((t,e)=>{ct(),ft(),ht(),typeof Object.create=="function"?e.exports=function(r,n){n&&(r.super_=n,r.prototype=Object.create(n.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}))}:e.exports=function(r,n){if(n){r.super_=n;var l=function(){};l.prototype=n.prototype,r.prototype=new l,r.prototype.constructor=r}}}),I0=mt((t,e)=>{ct(),ft(),ht();var{Buffer:r}=(oe(),Dt(ie)),n=Symbol.for("BufferList");function l(o){if(!(this instanceof l))return new l(o);l._init.call(this,o)}l._init=function(o){Object.defineProperty(this,n,{value:!0}),this._bufs=[],this.length=0,o&&this.append(o)},l.prototype._new=function(o){return new l(o)},l.prototype._offset=function(o){if(o===0)return[0,0];let s=0;for(let i=0;ithis.length||o<0)return;let s=this._offset(o);return this._bufs[s[0]][s[1]]},l.prototype.slice=function(o,s){return typeof o=="number"&&o<0&&(o+=this.length),typeof s=="number"&&s<0&&(s+=this.length),this.copy(null,0,o,s)},l.prototype.copy=function(o,s,i,a){if((typeof i!="number"||i<0)&&(i=0),(typeof a!="number"||a>this.length)&&(a=this.length),i>=this.length||a<=0)return o||r.alloc(0);let u=!!o,c=this._offset(i),d=a-i,f=d,m=u&&s||0,b=c[1];if(i===0&&a===this.length){if(!u)return this._bufs.length===1?this._bufs[0]:r.concat(this._bufs,this.length);for(let _=0;_S)){this._bufs[_].copy(o,m,b,b+f),m+=S;break}this._bufs[_].copy(o,m,b),m+=S,f-=S,b&&(b=0)}return o.length>m?o.slice(0,m):o},l.prototype.shallowSlice=function(o,s){if(o=o||0,s=typeof s!="number"?this.length:s,o<0&&(o+=this.length),s<0&&(s+=this.length),o===s)return this._new();let i=this._offset(o),a=this._offset(s),u=this._bufs.slice(i[0],a[0]+1);return a[1]===0?u.pop():u[u.length-1]=u[u.length-1].slice(0,a[1]),i[1]!==0&&(u[0]=u[0].slice(i[1])),this._new(u)},l.prototype.toString=function(o,s,i){return this.slice(s,i).toString(o)},l.prototype.consume=function(o){if(o=Math.trunc(o),Number.isNaN(o)||o<=0)return this;for(;this._bufs.length;){if(!(o>=this._bufs[0].length)){this._bufs[0]=this._bufs[0].slice(o),this.length-=o;break}o-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift()}return this},l.prototype.duplicate=function(){let o=this._new();for(let s=0;sthis.length?this.length:s;let a=this._offset(s),u=a[0],c=a[1];for(;u=o.length){let f=d.indexOf(o,c);if(f!==-1)return this._reverseOffset([u,f]);c=d.length-o.length+1}else{let f=this._reverseOffset([u,c]);if(this._match(f,o))return f;c++}c=0}return-1},l.prototype._match=function(o,s){if(this.length-o{ct(),ft(),ht();var r=mn().Duplex,n=k0(),l=I0();function o(s){if(!(this instanceof o))return new o(s);if(typeof s=="function"){this._callback=s;let i=(function(a){this._callback&&(this._callback(a),this._callback=null)}).bind(this);this.on("pipe",function(a){a.on("error",i)}),this.on("unpipe",function(a){a.removeListener("error",i)}),s=null}l._init.call(this,s),r.call(this)}n(o,r),Object.assign(o.prototype,l.prototype),o.prototype._new=function(s){return new o(s)},o.prototype._write=function(s,i,a){this._appendBuffer(s),typeof a=="function"&&a()},o.prototype._read=function(s){if(!this.length)return this.push(null);s=Math.min(s,this.length),this.push(this.slice(0,s)),this.consume(s)},o.prototype.end=function(s){r.prototype.end.call(this,s),this._callback&&(this._callback(null,this.slice()),this._callback=null)},o.prototype._destroy=function(s,i){this._bufs.length=0,this.length=0,i(s)},o.prototype._isBufferList=function(s){return s instanceof o||s instanceof l||o.isBufferList(s)},o.isBufferList=l.isBufferList,e.exports=o,e.exports.BufferListStream=o,e.exports.BufferList=l}),O0=mt((t,e)=>{ct(),ft(),ht(),e.exports=class{constructor(){this.cmd=null,this.retain=!1,this.qos=0,this.dup=!1,this.length=-1,this.topic=null,this.payload=null}}}),Op=mt((t,e)=>{ct(),ft(),ht();var r=e.exports,{Buffer:n}=(oe(),Dt(ie));r.types={0:"reserved",1:"connect",2:"connack",3:"publish",4:"puback",5:"pubrec",6:"pubrel",7:"pubcomp",8:"subscribe",9:"suback",10:"unsubscribe",11:"unsuback",12:"pingreq",13:"pingresp",14:"disconnect",15:"auth"},r.requiredHeaderFlags={1:0,2:0,4:0,5:0,6:2,7:0,8:2,9:0,10:2,11:0,12:0,13:0,14:0,15:0},r.requiredHeaderFlagsErrors={};for(let o in r.requiredHeaderFlags){let s=r.requiredHeaderFlags[o];r.requiredHeaderFlagsErrors[o]="Invalid header flag bits, must be 0x"+s.toString(16)+" for "+r.types[o]+" packet"}r.codes={};for(let o in r.types){let s=r.types[o];r.codes[s]=o}r.CMD_SHIFT=4,r.CMD_MASK=240,r.DUP_MASK=8,r.QOS_MASK=3,r.QOS_SHIFT=1,r.RETAIN_MASK=1,r.VARBYTEINT_MASK=127,r.VARBYTEINT_FIN_MASK=128,r.VARBYTEINT_MAX=268435455,r.SESSIONPRESENT_MASK=1,r.SESSIONPRESENT_HEADER=n.from([r.SESSIONPRESENT_MASK]),r.CONNACK_HEADER=n.from([r.codes.connack<[0,1].map(i=>[0,1].map(a=>{let u=n.alloc(1);return u.writeUInt8(r.codes[o]<n.from([o])),r.EMPTY={pingreq:n.from([r.codes.pingreq<<4,0]),pingresp:n.from([r.codes.pingresp<<4,0]),disconnect:n.from([r.codes.disconnect<<4,0])},r.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},r.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},r.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},r.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},r.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}),C0=mt((t,e)=>{ct(),ft(),ht();var r=1e3,n=6e4,l=60*n,o=24*l,s=7*o,i=365.25*o;function a(u,c,d,f){var m=c>=1.5*d;return Math.round(u/d)+" "+f+(m?"s":"")}e.exports=function(u,c){c=c||{};var d=typeof u;if(d==="string"&&u.length>0)return function(f){if(f=String(f),!(f.length>100)){var m=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(f);if(m){var b=parseFloat(m[1]);switch((m[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return b*i;case"weeks":case"week":case"w":return b*s;case"days":case"day":case"d":return b*o;case"hours":case"hour":case"hrs":case"hr":case"h":return b*l;case"minutes":case"minute":case"mins":case"min":case"m":return b*n;case"seconds":case"second":case"secs":case"sec":case"s":return b*r;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return b;default:return}}}}(u);if(d==="number"&&isFinite(u))return c.long?function(f){var m=Math.abs(f);return m>=o?a(f,m,o,"day"):m>=l?a(f,m,l,"hour"):m>=n?a(f,m,n,"minute"):m>=r?a(f,m,r,"second"):f+" ms"}(u):function(f){var m=Math.abs(f);return m>=o?Math.round(f/o)+"d":m>=l?Math.round(f/l)+"h":m>=n?Math.round(f/n)+"m":m>=r?Math.round(f/r)+"s":f+"ms"}(u);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(u))}}),x0=mt((t,e)=>{ct(),ft(),ht(),e.exports=function(r){function n(s){let i,a,u,c=null;function d(...f){if(!d.enabled)return;let m=d,b=Number(new Date),_=b-(i||b);m.diff=_,m.prev=i,m.curr=b,i=b,f[0]=n.coerce(f[0]),typeof f[0]!="string"&&f.unshift("%O");let S=0;f[0]=f[0].replace(/%([a-zA-Z%])/g,(U,D)=>{if(U==="%%")return"%";S++;let K=n.formatters[D];if(typeof K=="function"){let V=f[S];U=K.call(m,V),f.splice(S,1),S--}return U}),n.formatArgs.call(m,f),(m.log||n.log).apply(m,f)}return d.namespace=s,d.useColors=n.useColors(),d.color=n.selectColor(s),d.extend=l,d.destroy=n.destroy,Object.defineProperty(d,"enabled",{enumerable:!0,configurable:!1,get:()=>c!==null?c:(a!==n.namespaces&&(a=n.namespaces,u=n.enabled(s)),u),set:f=>{c=f}}),typeof n.init=="function"&&n.init(d),d}function l(s,i){let a=n(this.namespace+(typeof i>"u"?":":i)+s);return a.log=this.log,a}function o(s){return s.toString().substring(2,s.toString().length-2).replace(/\.\*\?$/,"*")}return n.debug=n,n.default=n,n.coerce=function(s){return s instanceof Error?s.stack||s.message:s},n.disable=function(){let s=[...n.names.map(o),...n.skips.map(o).map(i=>"-"+i)].join(",");return n.enable(""),s},n.enable=function(s){n.save(s),n.namespaces=s,n.names=[],n.skips=[];let i,a=(typeof s=="string"?s:"").split(/[\s,]+/),u=a.length;for(i=0;i{n[s]=r[s]}),n.names=[],n.skips=[],n.formatters={},n.selectColor=function(s){let i=0;for(let a=0;a{ct(),ft(),ht(),t.formatArgs=function(n){if(n[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+n[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;let l="color: "+this.color;n.splice(1,0,l,"color: inherit");let o=0,s=0;n[0].replace(/%[a-zA-Z%]/g,i=>{i!=="%%"&&(o++,i==="%c"&&(s=o))}),n.splice(s,0,l)},t.save=function(n){try{n?t.storage.setItem("debug",n):t.storage.removeItem("debug")}catch{}},t.load=function(){let n;try{n=t.storage.getItem("debug")}catch{}return!n&&typeof Nt<"u"&&"env"in Nt&&(n=Nt.env.DEBUG),n},t.useColors=function(){return!(!(typeof window<"u"&&window.process)||window.process.type!=="renderer"&&!window.process.__nwjs)||!(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))&&(typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/)&&parseInt(RegExp.$1,10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/))},t.storage=function(){try{return localStorage}catch{}}(),t.destroy=(()=>{let n=!1;return()=>{n||(n=!0)}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=x0()(t);var{formatters:r}=e.exports;r.j=function(n){try{return JSON.stringify(n)}catch(l){return"[UnexpectedJSONParseError]: "+l.message}}}),R0=mt((t,e)=>{ct(),ft(),ht();var r=T0(),{EventEmitter:n}=(Nn(),Dt(gn)),l=O0(),o=Op(),s=dr()("mqtt-packet:parser");e.exports=class Va extends n{constructor(){super(),this.parser=this.constructor.parser}static parser(a){return this instanceof Va?(this.settings=a||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new Va().parser(a)}_resetState(){s("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new l,this.error=null,this._list=r(),this._stateCounter=0}parse(a){for(this.error&&this._resetState(),this._list.append(a),s("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,s("parse: state complete. _stateCounter is now: %d",this._stateCounter),s("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return s("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){let a=this._list.readUInt8(0),u=a>>o.CMD_SHIFT;this.packet.cmd=o.types[u];let c=15&a,d=o.requiredHeaderFlags[u];return d!=null&&c!==d?this._emitError(new Error(o.requiredHeaderFlagsErrors[u])):(this.packet.retain=!!(a&o.RETAIN_MASK),this.packet.qos=a>>o.QOS_SHIFT&o.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=!!(a&o.DUP_MASK),s("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){let a=this._parseVarByteNum(!0);return a&&(this.packet.length=a.value,this._list.consume(a.bytes)),s("_parseLength %d",a.value),!!a}_parsePayload(){s("_parsePayload: payload %O",this._list);let a=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}a=!0}return s("_parsePayload complete result: %s",a),a}_parseConnect(){s("_parseConnect");let a,u,c,d,f={},m=this.packet,b=this._parseString();if(b===null)return this._emitError(new Error("Cannot parse protocolId"));if(b!=="MQTT"&&b!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(m.protocolId=b,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(m.protocolVersion=this._list.readUInt8(this._pos),m.protocolVersion>=128&&(m.bridgeMode=!0,m.protocolVersion=m.protocolVersion-128),m.protocolVersion!==3&&m.protocolVersion!==4&&m.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(1&this._list.readUInt8(this._pos))return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));f.username=this._list.readUInt8(this._pos)&o.USERNAME_MASK,f.password=this._list.readUInt8(this._pos)&o.PASSWORD_MASK,f.will=this._list.readUInt8(this._pos)&o.WILL_FLAG_MASK;let _=!!(this._list.readUInt8(this._pos)&o.WILL_RETAIN_MASK),S=(this._list.readUInt8(this._pos)&o.WILL_QOS_MASK)>>o.WILL_QOS_SHIFT;if(f.will)m.will={},m.will.retain=_,m.will.qos=S;else{if(_)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(S)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(m.clean=!!(this._list.readUInt8(this._pos)&o.CLEAN_SESSION_MASK),this._pos++,m.keepalive=this._parseNum(),m.keepalive===-1)return this._emitError(new Error("Packet too short"));if(m.protocolVersion===5){let D=this._parseProperties();Object.getOwnPropertyNames(D).length&&(m.properties=D)}let U=this._parseString();if(U===null)return this._emitError(new Error("Packet too short"));if(m.clientId=U,s("_parseConnect: packet.clientId: %s",m.clientId),f.will){if(m.protocolVersion===5){let D=this._parseProperties();Object.getOwnPropertyNames(D).length&&(m.will.properties=D)}if(a=this._parseString(),a===null)return this._emitError(new Error("Cannot parse will topic"));if(m.will.topic=a,s("_parseConnect: packet.will.topic: %s",m.will.topic),u=this._parseBuffer(),u===null)return this._emitError(new Error("Cannot parse will payload"));m.will.payload=u,s("_parseConnect: packet.will.paylaod: %s",m.will.payload)}if(f.username){if(d=this._parseString(),d===null)return this._emitError(new Error("Cannot parse username"));m.username=d,s("_parseConnect: packet.username: %s",m.username)}if(f.password){if(c=this._parseBuffer(),c===null)return this._emitError(new Error("Cannot parse password"));m.password=c}return this.settings=m,s("_parseConnect: complete"),m}_parseConnack(){s("_parseConnack");let a=this.packet;if(this._list.length<1)return null;let u=this._list.readUInt8(this._pos++);if(u>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(a.sessionPresent=!!(u&o.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?a.reasonCode=this._list.readUInt8(this._pos++):a.reasonCode=0;else{if(this._list.length<2)return null;a.returnCode=this._list.readUInt8(this._pos++)}if(a.returnCode===-1||a.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){let c=this._parseProperties();Object.getOwnPropertyNames(c).length&&(a.properties=c)}s("_parseConnack: complete")}_parsePublish(){s("_parsePublish");let a=this.packet;if(a.topic=this._parseString(),a.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(a.qos>0)||this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}a.payload=this._list.slice(this._pos,a.length),s("_parsePublish: payload from buffer list: %o",a.payload)}}_parseSubscribe(){s("_parseSubscribe");let a,u,c,d,f,m,b,_=this.packet;if(_.subscriptions=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let S=this._parseProperties();Object.getOwnPropertyNames(S).length&&(_.properties=S)}if(_.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos<_.length;){if(a=this._parseString(),a===null)return this._emitError(new Error("Cannot parse topic"));if(this._pos>=_.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(u=this._parseByte(),this.settings.protocolVersion===5){if(192&u)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(252&u)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(c=u&o.SUBSCRIBE_OPTIONS_QOS_MASK,c>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(m=!!(u>>o.SUBSCRIBE_OPTIONS_NL_SHIFT&o.SUBSCRIBE_OPTIONS_NL_MASK),f=!!(u>>o.SUBSCRIBE_OPTIONS_RAP_SHIFT&o.SUBSCRIBE_OPTIONS_RAP_MASK),d=u>>o.SUBSCRIBE_OPTIONS_RH_SHIFT&o.SUBSCRIBE_OPTIONS_RH_MASK,d>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));b={topic:a,qos:c},this.settings.protocolVersion===5?(b.nl=m,b.rap=f,b.rh=d):this.settings.bridgeMode&&(b.rh=0,b.rap=!0,b.nl=!0),s("_parseSubscribe: push subscription `%s` to subscription",b),_.subscriptions.push(b)}}}_parseSuback(){s("_parseSuback");let a=this.packet;if(this.packet.granted=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}if(a.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos2&&u!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(u)}}}_parseUnsubscribe(){s("_parseUnsubscribe");let a=this.packet;if(a.unsubscriptions=[],this._parseMessageId()){if(this.settings.protocolVersion===5){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}if(a.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos2){switch(a.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!o.MQTT5_PUBACK_PUBREC_CODES[a.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!o.MQTT5_PUBREL_PUBCOMP_CODES[a.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"))}s("_parseConfirmation: packet.reasonCode `%d`",a.reasonCode)}else a.reasonCode=0;if(a.length>3){let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}}return!0}_parseDisconnect(){let a=this.packet;if(s("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(a.reasonCode=this._parseByte(),o.MQTT5_DISCONNECT_CODES[a.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):a.reasonCode=0;let u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(a.properties=u)}return s("_parseDisconnect result: true"),!0}_parseAuth(){s("_parseAuth");let a=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(a.reasonCode=this._parseByte(),!o.MQTT5_AUTH_CODES[a.reasonCode])return this._emitError(new Error("Invalid auth reason code"));let u=this._parseProperties();return Object.getOwnPropertyNames(u).length&&(a.properties=u),s("_parseAuth: result: true"),!0}_parseMessageId(){let a=this.packet;return a.messageId=this._parseNum(),a.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(s("_parseMessageId: packet.messageId %d",a.messageId),!0)}_parseString(a){let u=this._parseNum(),c=u+this._pos;if(u===-1||c>this._list.length||c>this.packet.length)return null;let d=this._list.toString("utf8",this._pos,c);return this._pos+=u,s("_parseString: result: %s",d),d}_parseStringPair(){return s("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){let a=this._parseNum(),u=a+this._pos;if(a===-1||u>this._list.length||u>this.packet.length)return null;let c=this._list.slice(this._pos,u);return this._pos+=a,s("_parseBuffer: result: %o",c),c}_parseNum(){if(this._list.length-this._pos<2)return-1;let a=this._list.readUInt16BE(this._pos);return this._pos+=2,s("_parseNum: result: %s",a),a}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;let a=this._list.readUInt32BE(this._pos);return this._pos+=4,s("_parse4ByteNum: result: %s",a),a}_parseVarByteNum(a){s("_parseVarByteNum");let u,c=0,d=1,f=0,m=!1,b=this._pos?this._pos:0;for(;c<4&&b+c=c&&this._emitError(new Error("Invalid variable byte integer")),b&&(this._pos+=c),m=!!m&&(a?{bytes:c,value:f}:f),s("_parseVarByteNum: result: %o",m),m}_parseByte(){let a;return this._pos{ct(),ft(),ht();var{Buffer:r}=(oe(),Dt(ie)),n={},l=r.isBuffer(r.from([1,2]).subarray(0,1));function o(s){let i=r.allocUnsafe(2);return i.writeUInt8(s>>8,0),i.writeUInt8(255&s,1),i}e.exports={cache:n,generateCache:function(){for(let s=0;s<65536;s++)n[s]=o(s)},generateNumber:o,genBufVariableByteInt:function(s){let i=0,a=0,u=r.allocUnsafe(4);do i=s%128|0,(s=s/128|0)>0&&(i|=128),u.writeUInt8(i,a++);while(s>0&&a<4);return s>0&&(a=0),l?u.subarray(0,a):u.slice(0,a)},generate4ByteBuffer:function(s){let i=r.allocUnsafe(4);return i.writeUInt32BE(s,0),i}}}),B0=mt((t,e)=>{ct(),ft(),ht(),typeof Nt>"u"||!Nt.version||Nt.version.indexOf("v0.")===0||Nt.version.indexOf("v1.")===0&&Nt.version.indexOf("v1.8.")!==0?e.exports={nextTick:function(r,n,l,o){if(typeof r!="function")throw new TypeError('"callback" argument must be a function');var s,i,a=arguments.length;switch(a){case 0:case 1:return Nt.nextTick(r);case 2:return Nt.nextTick(function(){r.call(null,n)});case 3:return Nt.nextTick(function(){r.call(null,n,l)});case 4:return Nt.nextTick(function(){r.call(null,n,l,o)});default:for(s=new Array(a-1),i=0;i{ct(),ft(),ht();var r=Op(),{Buffer:n}=(oe(),Dt(ie)),l=n.allocUnsafe(0),o=n.from([0]),s=P0(),i=B0().nextTick,a=dr()("mqtt-packet:writeToStream"),u=s.cache,c=s.generateNumber,d=s.generateCache,f=s.genBufVariableByteInt,m=s.generate4ByteBuffer,b=P,_=!0;function S(j,N,$){switch(a("generate called"),N.cork&&(N.cork(),i(U,N)),_&&(_=!1,d()),a("generate: packet.cmd: %s",j.cmd),j.cmd){case"connect":return function(nt,Q){let G=nt||{},T=G.protocolId||"MQTT",q=G.protocolVersion||4,tt=G.will,it=G.clean,lt=G.keepalive||0,ut=G.clientId||"",pt=G.username,H=G.password,et=G.properties;it===void 0&&(it=!0);let Z,dt,L=0;if(!T||typeof T!="string"&&!n.isBuffer(T))return Q.destroy(new Error("Invalid protocolId")),!1;if(L+=T.length+2,q!==3&&q!==4&&q!==5)return Q.destroy(new Error("Invalid protocol version")),!1;if(L+=1,(typeof ut=="string"||n.isBuffer(ut))&&(ut||q>=4)&&(ut||it))L+=n.byteLength(ut)+2;else{if(q<4)return Q.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(1*it==0)return Q.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof lt!="number"||lt<0||lt>65535||lt%1!=0)return Q.destroy(new Error("Invalid keepalive")),!1;if(L+=2,L+=1,q===5){if(Z=w(Q,et),!Z)return!1;L+=Z.length}if(tt){if(typeof tt!="object")return Q.destroy(new Error("Invalid will")),!1;if(!tt.topic||typeof tt.topic!="string")return Q.destroy(new Error("Invalid will topic")),!1;if(L+=n.byteLength(tt.topic)+2,L+=2,tt.payload){if(!(tt.payload.length>=0))return Q.destroy(new Error("Invalid will payload")),!1;typeof tt.payload=="string"?L+=n.byteLength(tt.payload):L+=tt.payload.length}if(dt={},q===5){if(dt=w(Q,tt.properties),!dt)return!1;L+=dt.length}}let A=!1;if(pt!=null){if(!X(pt))return Q.destroy(new Error("Invalid username")),!1;A=!0,L+=n.byteLength(pt)+2}if(H!=null){if(!A)return Q.destroy(new Error("Username is required to use password")),!1;if(!X(H))return Q.destroy(new Error("Invalid password")),!1;L+=st(H)+2}Q.write(r.CONNECT_HEADER),K(Q,L),E(Q,T),G.bridgeMode&&(q+=128),Q.write(q===131?r.VERSION131:q===132?r.VERSION132:q===4?r.VERSION4:q===5?r.VERSION5:r.VERSION3);let F=0;return F|=pt!=null?r.USERNAME_MASK:0,F|=H!=null?r.PASSWORD_MASK:0,F|=tt&&tt.retain?r.WILL_RETAIN_MASK:0,F|=tt&&tt.qos?tt.qos<0&&b(Q,pt),Z==null||Z.write(),a("publish: payload: %o",ut),Q.write(ut)}(j,N,$);case"puback":case"pubrec":case"pubrel":case"pubcomp":return function(nt,Q,G){let T=G?G.protocolVersion:4,q=nt||{},tt=q.cmd||"puback",it=q.messageId,lt=q.dup&&tt==="pubrel"?r.DUP_MASK:0,ut=0,pt=q.reasonCode,H=q.properties,et=T===5?3:2;if(tt==="pubrel"&&(ut=1),typeof it!="number")return Q.destroy(new Error("Invalid messageId")),!1;let Z=null;if(T===5&&typeof H=="object"){if(Z=B(Q,H,G,et),!Z)return!1;et+=Z.length}return Q.write(r.ACKS[tt][ut][lt][0]),et===3&&(et+=pt!==0?1:-1),K(Q,et),b(Q,it),T===5&&et!==2&&Q.write(n.from([pt])),Z!==null?Z.write():et===4&&Q.write(n.from([0])),!0}(j,N,$);case"subscribe":return function(nt,Q,G){a("subscribe: packet: ");let T=G?G.protocolVersion:4,q=nt||{},tt=q.dup?r.DUP_MASK:0,it=q.messageId,lt=q.subscriptions,ut=q.properties,pt=0;if(typeof it!="number")return Q.destroy(new Error("Invalid messageId")),!1;pt+=2;let H=null;if(T===5){if(H=w(Q,ut),!H)return!1;pt+=H.length}if(typeof lt!="object"||!lt.length)return Q.destroy(new Error("Invalid subscriptions")),!1;for(let Z=0;Z2)return Q.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}pt+=n.byteLength(dt)+2+1}a("subscribe: writing to stream: %o",r.SUBSCRIBE_HEADER),Q.write(r.SUBSCRIBE_HEADER[1][tt?1:0][0]),K(Q,pt),b(Q,it),H!==null&&H.write();let et=!0;for(let Z of lt){let dt,L=Z.topic,A=Z.qos,F=+Z.nl,h=+Z.rap,p=Z.rh;V(Q,L),dt=r.SUBSCRIBE_OPTIONS_QOS[A],T===5&&(dt|=F?r.SUBSCRIBE_OPTIONS_NL:0,dt|=h?r.SUBSCRIBE_OPTIONS_RAP:0,dt|=p?r.SUBSCRIBE_OPTIONS_RH[p]:0),et=Q.write(n.from([dt]))}return et}(j,N,$);case"suback":return function(nt,Q,G){let T=G?G.protocolVersion:4,q=nt||{},tt=q.messageId,it=q.granted,lt=q.properties,ut=0;if(typeof tt!="number")return Q.destroy(new Error("Invalid messageId")),!1;if(ut+=2,typeof it!="object"||!it.length)return Q.destroy(new Error("Invalid qos vector")),!1;for(let H=0;Hb===P,set(j){j?((!u||Object.keys(u).length===0)&&(_=!0),b=P):(_=!1,b=I)}});var D={};function K(j,N){if(N>r.VARBYTEINT_MAX)return j.destroy(new Error(`Invalid variable byte integer: ${N}`)),!1;let $=D[N];return $||($=f(N),N<16384&&(D[N]=$)),a("writeVarByteInt: writing to stream: %o",$),j.write($)}function V(j,N){let $=n.byteLength(N);return b(j,$),a("writeString: %s",N),j.write(N,"utf8")}function Y(j,N,$){V(j,N),V(j,$)}function P(j,N){return a("writeNumberCached: number: %d",N),a("writeNumberCached: %o",u[N]),j.write(u[N])}function I(j,N){let $=c(N);return a("writeNumberGenerated: %o",$),j.write($)}function E(j,N){typeof N=="string"?V(j,N):N?(b(j,N.length),j.write(N)):b(j,0)}function w(j,N){if(typeof N!="object"||N.length!=null)return{length:1,write(){rt(j,{},0)}};let $=0;function nt(Q,G){let T=0;switch(r.propertiesTypes[Q]){case"byte":if(typeof G!="boolean")return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=2;break;case"int8":if(typeof G!="number"||G<0||G>255)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=2;break;case"binary":if(G&&G===null)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=1+n.byteLength(G)+2;break;case"int16":if(typeof G!="number"||G<0||G>65535)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=3;break;case"int32":if(typeof G!="number"||G<0||G>4294967295)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=5;break;case"var":if(typeof G!="number"||G<0||G>268435455)return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=1+n.byteLength(f(G));break;case"string":if(typeof G!="string")return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=3+n.byteLength(G.toString());break;case"pair":if(typeof G!="object")return j.destroy(new Error(`Invalid ${Q}: ${G}`)),!1;T+=Object.getOwnPropertyNames(G).reduce((q,tt)=>{let it=G[tt];return Array.isArray(it)?q+=it.reduce((lt,ut)=>lt+=3+n.byteLength(tt.toString())+2+n.byteLength(ut.toString()),0):q+=3+n.byteLength(tt.toString())+2+n.byteLength(G[tt].toString()),q},0);break;default:return j.destroy(new Error(`Invalid property ${Q}: ${G}`)),!1}return T}if(N)for(let Q in N){let G=0,T=0,q=N[Q];if(Array.isArray(q))for(let tt=0;ttG;){let q=Q.shift();if(!q||!N[q])return!1;delete N[q],T=w(j,N)}return T}function R(j,N,$){switch(r.propertiesTypes[N]){case"byte":j.write(n.from([r.properties[N]])),j.write(n.from([+$]));break;case"int8":j.write(n.from([r.properties[N]])),j.write(n.from([$]));break;case"binary":j.write(n.from([r.properties[N]])),E(j,$);break;case"int16":j.write(n.from([r.properties[N]])),b(j,$);break;case"int32":j.write(n.from([r.properties[N]])),function(nt,Q){let G=m(Q);a("write4ByteNumber: %o",G),nt.write(G)}(j,$);break;case"var":j.write(n.from([r.properties[N]])),K(j,$);break;case"string":j.write(n.from([r.properties[N]])),V(j,$);break;case"pair":Object.getOwnPropertyNames($).forEach(nt=>{let Q=$[nt];Array.isArray(Q)?Q.forEach(G=>{j.write(n.from([r.properties[N]])),Y(j,nt.toString(),G.toString())}):(j.write(n.from([r.properties[N]])),Y(j,nt.toString(),Q.toString()))});break;default:return j.destroy(new Error(`Invalid property ${N} value: ${$}`)),!1}}function rt(j,N,$){K(j,$);for(let nt in N)if(Object.prototype.hasOwnProperty.call(N,nt)&&N[nt]!==null){let Q=N[nt];if(Array.isArray(Q))for(let G=0;G{ct(),ft(),ht();var r=Cp(),{EventEmitter:n}=(Nn(),Dt(gn)),{Buffer:l}=(oe(),Dt(ie)),o=class extends n{constructor(){super(),this._array=new Array(20),this._i=0}write(s){return this._array[this._i++]=s,!0}concat(){let s,i=0,a=new Array(this._array.length),u=this._array,c=0;for(s=0;s{ct(),ft(),ht(),t.parser=R0().parser,t.generate=M0(),t.writeToStream=Cp()}),xp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=class{constructor(){this.nextId=Math.max(1,Math.floor(65535*Math.random()))}allocate(){let e=this.nextId++;return this.nextId===65536&&(this.nextId=1),e}getLastAllocated(){return this.nextId===1?65535:this.nextId-1}register(e){return!0}deallocate(e){}clear(){}}}),j0=mt((t,e)=>{function r(n){return n instanceof ho?ho.from(n):new n.constructor(n.buffer.slice(),n.byteOffset,n.length)}ct(),ft(),ht(),e.exports=function(n){return(n=n||{}).circles?function(o){var s=[],i=[];return o.proto?function u(c){if(typeof c!="object"||c===null)return c;if(c instanceof Date)return new Date(c);if(Array.isArray(c))return a(c,u);if(c instanceof Map)return new Map(a(Array.from(c),u));if(c instanceof Set)return new Set(a(Array.from(c),u));var d={};for(var f in s.push(c),i.push(d),c){var m=c[f];if(typeof m!="object"||m===null)d[f]=m;else if(m instanceof Date)d[f]=new Date(m);else if(m instanceof Map)d[f]=new Map(a(Array.from(m),u));else if(m instanceof Set)d[f]=new Set(a(Array.from(m),u));else if(ArrayBuffer.isView(m))d[f]=r(m);else{var b=s.indexOf(m);d[f]=b!==-1?i[b]:u(m)}}return s.pop(),i.pop(),d}:function u(c){if(typeof c!="object"||c===null)return c;if(c instanceof Date)return new Date(c);if(Array.isArray(c))return a(c,u);if(c instanceof Map)return new Map(a(Array.from(c),u));if(c instanceof Set)return new Set(a(Array.from(c),u));var d={};for(var f in s.push(c),i.push(d),c)if(Object.hasOwnProperty.call(c,f)!==!1){var m=c[f];if(typeof m!="object"||m===null)d[f]=m;else if(m instanceof Date)d[f]=new Date(m);else if(m instanceof Map)d[f]=new Map(a(Array.from(m),u));else if(m instanceof Set)d[f]=new Set(a(Array.from(m),u));else if(ArrayBuffer.isView(m))d[f]=r(m);else{var b=s.indexOf(m);d[f]=b!==-1?i[b]:u(m)}}return s.pop(),i.pop(),d};function a(u,c){for(var d=Object.keys(u),f=new Array(d.length),m=0;m{ct(),ft(),ht(),e.exports=j0()()}),N0=mt(t=>{function e(r){let n=r.split("/");for(let l=0;l{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=mn(),r={objectMode:!0},n={clean:!0};t.default=class{constructor(l){this.options=l||{},this.options=Object.assign(Object.assign({},n),l),this._inflights=new Map}put(l,o){return this._inflights.set(l.messageId,l),o&&o(),this}createStream(){let l=new e.Readable(r),o=[],s=!1,i=0;return this._inflights.forEach((a,u)=>{o.push(a)}),l._read=()=>{!s&&i{if(!s)return s=!0,setTimeout(()=>{l.emit("close")},0),l},l}del(l,o){let s=this._inflights.get(l.messageId);return s?(this._inflights.delete(l.messageId),o(null,s)):o&&o(new Error("missing packet")),this}get(l,o){let s=this._inflights.get(l.messageId);return s?o(null,s):o&&o(new Error("missing packet")),this}close(l){this.options.clean&&(this._inflights=null),l&&l()}}}),D0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=[0,16,128,131,135,144,145,151,153];t.default=(r,n,l)=>{r.log("handlePublish: packet %o",n),l=typeof l<"u"?l:r.noop;let o=n.topic.toString(),s=n.payload,{qos:i}=n,{messageId:a}=n,{options:u}=r;if(r.options.protocolVersion===5){let c;if(n.properties&&(c=n.properties.topicAlias),typeof c<"u")if(o.length===0){if(!(c>0&&c<=65535))return r.log("handlePublish :: topic alias out of range. alias: %d",c),void r.emit("error",new Error("Received Topic Alias is out of range"));{let d=r.topicAliasRecv.getTopicByAlias(c);if(!d)return r.log("handlePublish :: unregistered topic alias. alias: %d",c),void r.emit("error",new Error("Received unregistered Topic Alias"));o=d,r.log("handlePublish :: topic complemented by alias. topic: %s - alias: %d",o,c)}}else{if(!r.topicAliasRecv.put(o,c))return r.log("handlePublish :: topic alias out of range. alias: %d",c),void r.emit("error",new Error("Received Topic Alias is out of range"));r.log("handlePublish :: registered topic: %s - alias: %d",o,c)}}switch(r.log("handlePublish: qos %d",i),i){case 2:u.customHandleAcks(o,s,n,(c,d)=>(typeof c=="number"&&(d=c,c=null),c?r.emit("error",c):e.indexOf(d)===-1?r.emit("error",new Error("Wrong reason code for pubrec")):void(d?r._sendPacket({cmd:"pubrec",messageId:a,reasonCode:d},l):r.incomingStore.put(n,()=>{r._sendPacket({cmd:"pubrec",messageId:a},l)}))));break;case 1:u.customHandleAcks(o,s,n,(c,d)=>(typeof c=="number"&&(d=c,c=null),c?r.emit("error",c):e.indexOf(d)===-1?r.emit("error",new Error("Wrong reason code for puback")):(d||r.emit("message",o,s,n),void r.handleMessage(n,f=>{if(f)return l&&l(f);r._sendPacket({cmd:"puback",messageId:a,reasonCode:d},l)}))));break;case 0:r.emit("message",o,s,n),r.handleMessage(n,l);break;default:r.log("handlePublish: unknown QoS. Doing nothing.")}}}),F0=mt((t,e)=>{e.exports={version:"5.10.3"}}),Dn=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.MQTTJS_VERSION=t.nextTick=t.applyMixin=t.ErrorWithReasonCode=void 0;var e=class Pp extends Error{constructor(n,l){super(n),this.code=l,Object.setPrototypeOf(this,Pp.prototype),Object.getPrototypeOf(this).name="ErrorWithReasonCode"}};t.ErrorWithReasonCode=e,t.applyMixin=function(r,n,l=!1){var o;let s=[n];for(;;){let i=s[0],a=Object.getPrototypeOf(i);if(!(a!=null&&a.prototype))break;s.unshift(a)}for(let i of s)for(let a of Object.getOwnPropertyNames(i.prototype))(l||a!=="constructor")&&Object.defineProperty(r.prototype,a,(o=Object.getOwnPropertyDescriptor(i.prototype,a))!==null&&o!==void 0?o:Object.create(null))},t.nextTick=typeof(Nt==null?void 0:Nt.nextTick)=="function"?Nt.nextTick:r=>{setTimeout(r,0)},t.MQTTJS_VERSION=F0().version}),jo=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.ReasonCodes=void 0;var e=Dn();t.ReasonCodes={0:"",1:"Unacceptable protocol version",2:"Identifier rejected",3:"Server unavailable",4:"Bad username or password",5:"Not authorized",16:"No matching subscribers",17:"No subscription existed",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",132:"Unsupported Protocol Version",133:"Client Identifier not valid",134:"Bad User Name or Password",135:"Not authorized",136:"Server unavailable",137:"Server busy",138:"Banned",139:"Server shutting down",140:"Bad authentication method",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",145:"Packet identifier in use",146:"Packet Identifier not found",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.default=(r,n)=>{let{messageId:l}=n,o=n.cmd,s=null,i=r.outgoing[l]?r.outgoing[l].cb:null,a=null;if(i){switch(r.log("_handleAck :: packet type",o),o){case"pubcomp":case"puback":{let u=n.reasonCode;u&&u>0&&u!==16?(a=new e.ErrorWithReasonCode(`Publish error: ${t.ReasonCodes[u]}`,u),r._removeOutgoingAndStoreMessage(l,()=>{i(a,n)})):r._removeOutgoingAndStoreMessage(l,i);break}case"pubrec":{s={cmd:"pubrel",qos:2,messageId:l};let u=n.reasonCode;u&&u>0&&u!==16?(a=new e.ErrorWithReasonCode(`Publish error: ${t.ReasonCodes[u]}`,u),r._removeOutgoingAndStoreMessage(l,()=>{i(a,n)})):r._sendPacket(s);break}case"suback":{delete r.outgoing[l],r.messageIdProvider.deallocate(l);let u=n.granted;for(let c=0;c{delete r._resubscribeTopics[m]})}}delete r.messageIdToTopic[l],r._invokeStoreProcessingQueue(),i(a,n);break}case"unsuback":delete r.outgoing[l],r.messageIdProvider.deallocate(l),r._invokeStoreProcessingQueue(),i(null,n);break;default:r.emit("error",new Error("unrecognized packet type"))}r.disconnecting&&Object.keys(r.outgoing).length===0&&r.emit("outgoingEmpty")}else r.log("_handleAck :: Server sent an ack in error. Ignoring.")}}),W0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=Dn(),r=jo();t.default=(n,l)=>{let{options:o}=n,s=o.protocolVersion,i=s===5?l.reasonCode:l.returnCode;if(s===5)n.handleAuth(l,(a,u)=>{if(a)n.emit("error",a);else if(i===24)n.reconnecting=!1,n._sendPacket(u);else{let c=new e.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[i]}`,i);n.emit("error",c)}});else{let a=new e.ErrorWithReasonCode(`Protocol error: Auth packets are only supported in MQTT 5. Your version:${s}`,i);n.emit("error",a)}}}),$0=mt(t=>{var f,m,b,_,S,U,D,K,V,Y,P,I,E,w,B,R,rt,st,X,j,N,$,nt,Q,G,T,qa,tt,it,lt,ut,Bp,H,et,Z,Ir,Tr,Ha,Ji,Xi,$t,za,Yn,x;ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=void 0;var e=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,r=new Set,n=typeof Nt=="object"&&Nt?Nt:{},l=(C,g,v,k)=>{typeof n.emitWarning=="function"&&n.emitWarning(C,g,v,k)},o=globalThis.AbortController,s=globalThis.AbortSignal;if(typeof o>"u"){s=class{constructor(){zt(this,"onabort");zt(this,"_onabort",[]);zt(this,"reason");zt(this,"aborted",!1)}addEventListener(v,k){this._onabort.push(k)}},o=class{constructor(){zt(this,"signal",new s);g()}abort(v){var k,M;if(!this.signal.aborted){this.signal.reason=v,this.signal.aborted=!0;for(let W of this.signal._onabort)W(v);(M=(k=this.signal).onabort)==null||M.call(k,v)}}};let C=((f=n.env)==null?void 0:f.LRU_CACHE_IGNORE_AC_WARNING)!=="1",g=()=>{C&&(C=!1,l("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",g))}}var i=C=>C&&C===Math.floor(C)&&C>0&&isFinite(C),a=C=>i(C)?C<=Math.pow(2,8)?Uint8Array:C<=Math.pow(2,16)?Uint16Array:C<=Math.pow(2,32)?Uint32Array:C<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(C){super(C),this.fill(0)}},c=(m=class{constructor(g,v){zt(this,"heap");zt(this,"length");if(!z(m,b))throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new v(g),this.length=0}static create(g){let v=a(g);if(!v)return[];St(m,b,!0);let k=new m(g,v);return St(m,b,!1),k}push(g){this.heap[this.length++]=g}pop(){return this.heap[--this.length]}},b=new WeakMap,Rt(m,b,!1),m),d=(x=class{constructor(g){Rt(this,T);Rt(this,_);Rt(this,S);Rt(this,U);Rt(this,D);Rt(this,K);zt(this,"ttl");zt(this,"ttlResolution");zt(this,"ttlAutopurge");zt(this,"updateAgeOnGet");zt(this,"updateAgeOnHas");zt(this,"allowStale");zt(this,"noDisposeOnSet");zt(this,"noUpdateTTL");zt(this,"maxEntrySize");zt(this,"sizeCalculation");zt(this,"noDeleteOnFetchRejection");zt(this,"noDeleteOnStaleGet");zt(this,"allowStaleOnFetchAbort");zt(this,"allowStaleOnFetchRejection");zt(this,"ignoreFetchAbort");Rt(this,V);Rt(this,Y);Rt(this,P);Rt(this,I);Rt(this,E);Rt(this,w);Rt(this,B);Rt(this,R);Rt(this,rt);Rt(this,st);Rt(this,X);Rt(this,j);Rt(this,N);Rt(this,$);Rt(this,nt);Rt(this,Q);Rt(this,G);Rt(this,tt,()=>{});Rt(this,it,()=>{});Rt(this,lt,()=>{});Rt(this,ut,()=>!1);Rt(this,H,g=>{});Rt(this,et,(g,v,k)=>{});Rt(this,Z,(g,v,k,M)=>{if(k||M)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache");return 0});let{max:v=0,ttl:k,ttlResolution:M=1,ttlAutopurge:W,updateAgeOnGet:J,updateAgeOnHas:at,allowStale:ot,dispose:vt,disposeAfter:bt,noDisposeOnSet:wt,noUpdateTTL:Ot,maxSize:kt=0,maxEntrySize:Mt=0,sizeCalculation:_t,fetchMethod:It,noDeleteOnFetchRejection:yt,noDeleteOnStaleGet:Ct,allowStaleOnFetchRejection:wr,allowStaleOnFetchAbort:Ht,ignoreFetchAbort:Jt}=g;if(v!==0&&!i(v))throw new TypeError("max option must be a nonnegative integer");let Ee=v?a(v):Array;if(!Ee)throw new Error("invalid max value: "+v);if(St(this,_,v),St(this,S,kt),this.maxEntrySize=Mt||z(this,S),this.sizeCalculation=_t,this.sizeCalculation){if(!z(this,S)&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(It!==void 0&&typeof It!="function")throw new TypeError("fetchMethod must be a function if specified");if(St(this,K,It),St(this,Q,!!It),St(this,P,new Map),St(this,I,new Array(v).fill(void 0)),St(this,E,new Array(v).fill(void 0)),St(this,w,new Ee(v)),St(this,B,new Ee(v)),St(this,R,0),St(this,rt,0),St(this,st,c.create(v)),St(this,V,0),St(this,Y,0),typeof vt=="function"&&St(this,U,vt),typeof bt=="function"?(St(this,D,bt),St(this,X,[])):(St(this,D,void 0),St(this,X,void 0)),St(this,nt,!!z(this,U)),St(this,G,!!z(this,D)),this.noDisposeOnSet=!!wt,this.noUpdateTTL=!!Ot,this.noDeleteOnFetchRejection=!!yt,this.allowStaleOnFetchRejection=!!wr,this.allowStaleOnFetchAbort=!!Ht,this.ignoreFetchAbort=!!Jt,this.maxEntrySize!==0){if(z(this,S)!==0&&!i(z(this,S)))throw new TypeError("maxSize must be a positive integer if specified");if(!i(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");Et(this,T,Bp).call(this)}if(this.allowStale=!!ot,this.noDeleteOnStaleGet=!!Ct,this.updateAgeOnGet=!!J,this.updateAgeOnHas=!!at,this.ttlResolution=i(M)||M===0?M:1,this.ttlAutopurge=!!W,this.ttl=k||0,this.ttl){if(!i(this.ttl))throw new TypeError("ttl must be a positive integer if specified");Et(this,T,qa).call(this)}if(z(this,_)===0&&this.ttl===0&&z(this,S)===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!z(this,_)&&!z(this,S)){let De="LRU_CACHE_UNBOUNDED";(Je=>!r.has(Je))(De)&&(r.add(De),l("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",De,x))}}static unsafeExposeInternals(g){return{starts:z(g,N),ttls:z(g,$),sizes:z(g,j),keyMap:z(g,P),keyList:z(g,I),valList:z(g,E),next:z(g,w),prev:z(g,B),get head(){return z(g,R)},get tail(){return z(g,rt)},free:z(g,st),isBackgroundFetch:v=>{var k;return Et(k=g,T,$t).call(k,v)},backgroundFetch:(v,k,M,W)=>{var J;return Et(J=g,T,Xi).call(J,v,k,M,W)},moveToTail:v=>{var k;return Et(k=g,T,Yn).call(k,v)},indexes:v=>{var k;return Et(k=g,T,Ir).call(k,v)},rindexes:v=>{var k;return Et(k=g,T,Tr).call(k,v)},isStale:v=>{var k;return z(k=g,ut).call(k,v)}}}get max(){return z(this,_)}get maxSize(){return z(this,S)}get calculatedSize(){return z(this,Y)}get size(){return z(this,V)}get fetchMethod(){return z(this,K)}get dispose(){return z(this,U)}get disposeAfter(){return z(this,D)}getRemainingTTL(g){return z(this,P).has(g)?1/0:0}*entries(){for(let g of Et(this,T,Ir).call(this))z(this,E)[g]!==void 0&&z(this,I)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield[z(this,I)[g],z(this,E)[g]])}*rentries(){for(let g of Et(this,T,Tr).call(this))z(this,E)[g]!==void 0&&z(this,I)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield[z(this,I)[g],z(this,E)[g]])}*keys(){for(let g of Et(this,T,Ir).call(this)){let v=z(this,I)[g];v!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield v)}}*rkeys(){for(let g of Et(this,T,Tr).call(this)){let v=z(this,I)[g];v!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield v)}}*values(){for(let g of Et(this,T,Ir).call(this))z(this,E)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield z(this,E)[g])}*rvalues(){for(let g of Et(this,T,Tr).call(this))z(this,E)[g]!==void 0&&!Et(this,T,$t).call(this,z(this,E)[g])&&(yield z(this,E)[g])}[Symbol.iterator](){return this.entries()}find(g,v={}){for(let k of Et(this,T,Ir).call(this)){let M=z(this,E)[k],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;if(W!==void 0&&g(W,z(this,I)[k],this))return this.get(z(this,I)[k],v)}}forEach(g,v=this){for(let k of Et(this,T,Ir).call(this)){let M=z(this,E)[k],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;W!==void 0&&g.call(v,W,z(this,I)[k],this)}}rforEach(g,v=this){for(let k of Et(this,T,Tr).call(this)){let M=z(this,E)[k],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;W!==void 0&&g.call(v,W,z(this,I)[k],this)}}purgeStale(){let g=!1;for(let v of Et(this,T,Tr).call(this,{allowStale:!0}))z(this,ut).call(this,v)&&(this.delete(z(this,I)[v]),g=!0);return g}dump(){let g=[];for(let v of Et(this,T,Ir).call(this,{allowStale:!0})){let k=z(this,I)[v],M=z(this,E)[v],W=Et(this,T,$t).call(this,M)?M.__staleWhileFetching:M;if(W===void 0||k===void 0)continue;let J={value:W};if(z(this,$)&&z(this,N)){J.ttl=z(this,$)[v];let at=e.now()-z(this,N)[v];J.start=Math.floor(Date.now()-at)}z(this,j)&&(J.size=z(this,j)[v]),g.unshift([k,J])}return g}load(g){this.clear();for(let[v,k]of g){if(k.start){let M=Date.now()-k.start;k.start=e.now()-M}this.set(v,k.value,k)}}set(g,v,k={}){var Ot,kt,Mt,_t,It;if(v===void 0)return this.delete(g),this;let{ttl:M=this.ttl,start:W,noDisposeOnSet:J=this.noDisposeOnSet,sizeCalculation:at=this.sizeCalculation,status:ot}=k,{noUpdateTTL:vt=this.noUpdateTTL}=k,bt=z(this,Z).call(this,g,v,k.size||0,at);if(this.maxEntrySize&&bt>this.maxEntrySize)return ot&&(ot.set="miss",ot.maxEntrySizeExceeded=!0),this.delete(g),this;let wt=z(this,V)===0?void 0:z(this,P).get(g);if(wt===void 0)wt=z(this,V)===0?z(this,rt):z(this,st).length!==0?z(this,st).pop():z(this,V)===z(this,_)?Et(this,T,Ji).call(this,!1):z(this,V),z(this,I)[wt]=g,z(this,E)[wt]=v,z(this,P).set(g,wt),z(this,w)[z(this,rt)]=wt,z(this,B)[wt]=z(this,rt),St(this,rt,wt),Ii(this,V)._++,z(this,et).call(this,wt,bt,ot),ot&&(ot.set="add"),vt=!1;else{Et(this,T,Yn).call(this,wt);let yt=z(this,E)[wt];if(v!==yt){if(z(this,Q)&&Et(this,T,$t).call(this,yt)){yt.__abortController.abort(new Error("replaced"));let{__staleWhileFetching:Ct}=yt;Ct!==void 0&&!J&&(z(this,nt)&&((Ot=z(this,U))==null||Ot.call(this,Ct,g,"set")),z(this,G)&&((kt=z(this,X))==null||kt.push([Ct,g,"set"])))}else J||(z(this,nt)&&((Mt=z(this,U))==null||Mt.call(this,yt,g,"set")),z(this,G)&&((_t=z(this,X))==null||_t.push([yt,g,"set"])));if(z(this,H).call(this,wt),z(this,et).call(this,wt,bt,ot),z(this,E)[wt]=v,ot){ot.set="replace";let Ct=yt&&Et(this,T,$t).call(this,yt)?yt.__staleWhileFetching:yt;Ct!==void 0&&(ot.oldValue=Ct)}}else ot&&(ot.set="update")}if(M!==0&&!z(this,$)&&Et(this,T,qa).call(this),z(this,$)&&(vt||z(this,lt).call(this,wt,M,W),ot&&z(this,it).call(this,ot,wt)),!J&&z(this,G)&&z(this,X)){let yt,Ct=z(this,X);for(;yt=Ct==null?void 0:Ct.shift();)(It=z(this,D))==null||It.call(this,...yt)}return this}pop(){var g;try{for(;z(this,V);){let v=z(this,E)[z(this,R)];if(Et(this,T,Ji).call(this,!0),Et(this,T,$t).call(this,v)){if(v.__staleWhileFetching)return v.__staleWhileFetching}else if(v!==void 0)return v}}finally{if(z(this,G)&&z(this,X)){let v,k=z(this,X);for(;v=k==null?void 0:k.shift();)(g=z(this,D))==null||g.call(this,...v)}}}has(g,v={}){let{updateAgeOnHas:k=this.updateAgeOnHas,status:M}=v,W=z(this,P).get(g);if(W!==void 0){let J=z(this,E)[W];if(Et(this,T,$t).call(this,J)&&J.__staleWhileFetching===void 0)return!1;if(!z(this,ut).call(this,W))return k&&z(this,tt).call(this,W),M&&(M.has="hit",z(this,it).call(this,M,W)),!0;M&&(M.has="stale",z(this,it).call(this,M,W))}else M&&(M.has="miss");return!1}peek(g,v={}){let{allowStale:k=this.allowStale}=v,M=z(this,P).get(g);if(M!==void 0&&(k||!z(this,ut).call(this,M))){let W=z(this,E)[M];return Et(this,T,$t).call(this,W)?W.__staleWhileFetching:W}}async fetch(g,v={}){let{allowStale:k=this.allowStale,updateAgeOnGet:M=this.updateAgeOnGet,noDeleteOnStaleGet:W=this.noDeleteOnStaleGet,ttl:J=this.ttl,noDisposeOnSet:at=this.noDisposeOnSet,size:ot=0,sizeCalculation:vt=this.sizeCalculation,noUpdateTTL:bt=this.noUpdateTTL,noDeleteOnFetchRejection:wt=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:Ot=this.allowStaleOnFetchRejection,ignoreFetchAbort:kt=this.ignoreFetchAbort,allowStaleOnFetchAbort:Mt=this.allowStaleOnFetchAbort,context:_t,forceRefresh:It=!1,status:yt,signal:Ct}=v;if(!z(this,Q))return yt&&(yt.fetch="get"),this.get(g,{allowStale:k,updateAgeOnGet:M,noDeleteOnStaleGet:W,status:yt});let wr={allowStale:k,updateAgeOnGet:M,noDeleteOnStaleGet:W,ttl:J,noDisposeOnSet:at,size:ot,sizeCalculation:vt,noUpdateTTL:bt,noDeleteOnFetchRejection:wt,allowStaleOnFetchRejection:Ot,allowStaleOnFetchAbort:Mt,ignoreFetchAbort:kt,status:yt,signal:Ct},Ht=z(this,P).get(g);if(Ht===void 0){yt&&(yt.fetch="miss");let Jt=Et(this,T,Xi).call(this,g,Ht,wr,_t);return Jt.__returned=Jt}{let Jt=z(this,E)[Ht];if(Et(this,T,$t).call(this,Jt)){let zl=k&&Jt.__staleWhileFetching!==void 0;return yt&&(yt.fetch="inflight",zl&&(yt.returnedStale=!0)),zl?Jt.__staleWhileFetching:Jt.__returned=Jt}let Ee=z(this,ut).call(this,Ht);if(!It&&!Ee)return yt&&(yt.fetch="hit"),Et(this,T,Yn).call(this,Ht),M&&z(this,tt).call(this,Ht),yt&&z(this,it).call(this,yt,Ht),Jt;let De=Et(this,T,Xi).call(this,g,Ht,wr,_t),Je=De.__staleWhileFetching!==void 0&&k;return yt&&(yt.fetch=Ee?"stale":"refresh",Je&&Ee&&(yt.returnedStale=!0)),Je?De.__staleWhileFetching:De.__returned=De}}get(g,v={}){let{allowStale:k=this.allowStale,updateAgeOnGet:M=this.updateAgeOnGet,noDeleteOnStaleGet:W=this.noDeleteOnStaleGet,status:J}=v,at=z(this,P).get(g);if(at!==void 0){let ot=z(this,E)[at],vt=Et(this,T,$t).call(this,ot);return J&&z(this,it).call(this,J,at),z(this,ut).call(this,at)?(J&&(J.get="stale"),vt?(J&&k&&ot.__staleWhileFetching!==void 0&&(J.returnedStale=!0),k?ot.__staleWhileFetching:void 0):(W||this.delete(g),J&&k&&(J.returnedStale=!0),k?ot:void 0)):(J&&(J.get="hit"),vt?ot.__staleWhileFetching:(Et(this,T,Yn).call(this,at),M&&z(this,tt).call(this,at),ot))}J&&(J.get="miss")}delete(g){var k,M,W,J;let v=!1;if(z(this,V)!==0){let at=z(this,P).get(g);if(at!==void 0)if(v=!0,z(this,V)===1)this.clear();else{z(this,H).call(this,at);let ot=z(this,E)[at];Et(this,T,$t).call(this,ot)?ot.__abortController.abort(new Error("deleted")):(z(this,nt)||z(this,G))&&(z(this,nt)&&((k=z(this,U))==null||k.call(this,ot,g,"delete")),z(this,G)&&((M=z(this,X))==null||M.push([ot,g,"delete"]))),z(this,P).delete(g),z(this,I)[at]=void 0,z(this,E)[at]=void 0,at===z(this,rt)?St(this,rt,z(this,B)[at]):at===z(this,R)?St(this,R,z(this,w)[at]):(z(this,w)[z(this,B)[at]]=z(this,w)[at],z(this,B)[z(this,w)[at]]=z(this,B)[at]),Ii(this,V)._--,z(this,st).push(at)}}if(z(this,G)&&((W=z(this,X))!=null&&W.length)){let at,ot=z(this,X);for(;at=ot==null?void 0:ot.shift();)(J=z(this,D))==null||J.call(this,...at)}return v}clear(){var g,v,k;for(let M of Et(this,T,Tr).call(this,{allowStale:!0})){let W=z(this,E)[M];if(Et(this,T,$t).call(this,W))W.__abortController.abort(new Error("deleted"));else{let J=z(this,I)[M];z(this,nt)&&((g=z(this,U))==null||g.call(this,W,J,"delete")),z(this,G)&&((v=z(this,X))==null||v.push([W,J,"delete"]))}}if(z(this,P).clear(),z(this,E).fill(void 0),z(this,I).fill(void 0),z(this,$)&&z(this,N)&&(z(this,$).fill(0),z(this,N).fill(0)),z(this,j)&&z(this,j).fill(0),St(this,R,0),St(this,rt,0),z(this,st).length=0,St(this,Y,0),St(this,V,0),z(this,G)&&z(this,X)){let M,W=z(this,X);for(;M=W==null?void 0:W.shift();)(k=z(this,D))==null||k.call(this,...M)}}},_=new WeakMap,S=new WeakMap,U=new WeakMap,D=new WeakMap,K=new WeakMap,V=new WeakMap,Y=new WeakMap,P=new WeakMap,I=new WeakMap,E=new WeakMap,w=new WeakMap,B=new WeakMap,R=new WeakMap,rt=new WeakMap,st=new WeakMap,X=new WeakMap,j=new WeakMap,N=new WeakMap,$=new WeakMap,nt=new WeakMap,Q=new WeakMap,G=new WeakMap,T=new WeakSet,qa=function(){let g=new u(z(this,_)),v=new u(z(this,_));St(this,$,g),St(this,N,v),St(this,lt,(W,J,at=e.now())=>{if(v[W]=J!==0?at:0,g[W]=J,J!==0&&this.ttlAutopurge){let ot=setTimeout(()=>{z(this,ut).call(this,W)&&this.delete(z(this,I)[W])},J+1);ot.unref&&ot.unref()}}),St(this,tt,W=>{v[W]=g[W]!==0?e.now():0}),St(this,it,(W,J)=>{if(g[J]){let at=g[J],ot=v[J];W.ttl=at,W.start=ot,W.now=k||M();let vt=W.now-ot;W.remainingTTL=at-vt}});let k=0,M=()=>{let W=e.now();if(this.ttlResolution>0){k=W;let J=setTimeout(()=>k=0,this.ttlResolution);J.unref&&J.unref()}return W};this.getRemainingTTL=W=>{let J=z(this,P).get(W);if(J===void 0)return 0;let at=g[J],ot=v[J];return at===0||ot===0?1/0:at-((k||M())-ot)},St(this,ut,W=>g[W]!==0&&v[W]!==0&&(k||M())-v[W]>g[W])},tt=new WeakMap,it=new WeakMap,lt=new WeakMap,ut=new WeakMap,Bp=function(){let g=new u(z(this,_));St(this,Y,0),St(this,j,g),St(this,H,v=>{St(this,Y,z(this,Y)-g[v]),g[v]=0}),St(this,Z,(v,k,M,W)=>{if(Et(this,T,$t).call(this,k))return 0;if(!i(M)){if(!W)throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");if(typeof W!="function")throw new TypeError("sizeCalculation must be a function");if(M=W(k,v),!i(M))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}return M}),St(this,et,(v,k,M)=>{if(g[v]=k,z(this,S)){let W=z(this,S)-g[v];for(;z(this,Y)>W;)Et(this,T,Ji).call(this,!0)}St(this,Y,z(this,Y)+g[v]),M&&(M.entrySize=k,M.totalCalculatedSize=z(this,Y))})},H=new WeakMap,et=new WeakMap,Z=new WeakMap,Ir=function*({allowStale:g=this.allowStale}={}){if(z(this,V))for(let v=z(this,rt);Et(this,T,Ha).call(this,v)&&((g||!z(this,ut).call(this,v))&&(yield v),v!==z(this,R));)v=z(this,B)[v]},Tr=function*({allowStale:g=this.allowStale}={}){if(z(this,V))for(let v=z(this,R);Et(this,T,Ha).call(this,v)&&((g||!z(this,ut).call(this,v))&&(yield v),v!==z(this,rt));)v=z(this,w)[v]},Ha=function(g){return g!==void 0&&z(this,P).get(z(this,I)[g])===g},Ji=function(g){var W,J;let v=z(this,R),k=z(this,I)[v],M=z(this,E)[v];return z(this,Q)&&Et(this,T,$t).call(this,M)?M.__abortController.abort(new Error("evicted")):(z(this,nt)||z(this,G))&&(z(this,nt)&&((W=z(this,U))==null||W.call(this,M,k,"evict")),z(this,G)&&((J=z(this,X))==null||J.push([M,k,"evict"]))),z(this,H).call(this,v),g&&(z(this,I)[v]=void 0,z(this,E)[v]=void 0,z(this,st).push(v)),z(this,V)===1?(St(this,R,St(this,rt,0)),z(this,st).length=0):St(this,R,z(this,w)[v]),z(this,P).delete(k),Ii(this,V)._--,v},Xi=function(g,v,k,M){let W=v===void 0?void 0:z(this,E)[v];if(Et(this,T,$t).call(this,W))return W;let J=new o,{signal:at}=k;at==null||at.addEventListener("abort",()=>J.abort(at.reason),{signal:J.signal});let ot={signal:J.signal,options:k,context:M},vt=(kt,Mt=!1)=>{let{aborted:_t}=J.signal,It=k.ignoreFetchAbort&&kt!==void 0;if(k.status&&(_t&&!Mt?(k.status.fetchAborted=!0,k.status.fetchError=J.signal.reason,It&&(k.status.fetchAbortIgnored=!0)):k.status.fetchResolved=!0),_t&&!It&&!Mt)return bt(J.signal.reason);let yt=wt;return z(this,E)[v]===wt&&(kt===void 0?yt.__staleWhileFetching?z(this,E)[v]=yt.__staleWhileFetching:this.delete(g):(k.status&&(k.status.fetchUpdated=!0),this.set(g,kt,ot.options))),kt},bt=kt=>{let{aborted:Mt}=J.signal,_t=Mt&&k.allowStaleOnFetchAbort,It=_t||k.allowStaleOnFetchRejection,yt=It||k.noDeleteOnFetchRejection,Ct=wt;if(z(this,E)[v]===wt&&(yt&&Ct.__staleWhileFetching!==void 0?_t||(z(this,E)[v]=Ct.__staleWhileFetching):this.delete(g)),It)return k.status&&Ct.__staleWhileFetching!==void 0&&(k.status.returnedStale=!0),Ct.__staleWhileFetching;if(Ct.__returned===Ct)throw kt};k.status&&(k.status.fetchDispatched=!0);let wt=new Promise((kt,Mt)=>{var It;let _t=(It=z(this,K))==null?void 0:It.call(this,g,W,ot);_t&&_t instanceof Promise&&_t.then(yt=>kt(yt===void 0?void 0:yt),Mt),J.signal.addEventListener("abort",()=>{(!k.ignoreFetchAbort||k.allowStaleOnFetchAbort)&&(kt(void 0),k.allowStaleOnFetchAbort&&(kt=yt=>vt(yt,!0)))})}).then(vt,kt=>(k.status&&(k.status.fetchRejected=!0,k.status.fetchError=kt),bt(kt))),Ot=Object.assign(wt,{__abortController:J,__staleWhileFetching:W,__returned:void 0});return v===void 0?(this.set(g,Ot,{...ot.options,status:void 0}),v=z(this,P).get(g)):z(this,E)[v]=Ot,Ot},$t=function(g){if(!z(this,Q))return!1;let v=g;return!!v&&v instanceof Promise&&v.hasOwnProperty("__staleWhileFetching")&&v.__abortController instanceof o},za=function(g,v){z(this,B)[v]=g,z(this,w)[g]=v},Yn=function(g){g!==z(this,rt)&&(g===z(this,R)?St(this,R,z(this,w)[g]):Et(this,T,za).call(this,z(this,B)[g],z(this,w)[g]),Et(this,T,za).call(this,z(this,rt),g),St(this,rt,g))},x);t.LRUCache=d}),br=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.ContainerIterator=t.Container=t.Base=void 0,t.ContainerIterator=class{constructor(r=0){this.iteratorType=r}equals(r){return this.o===r.o}};var e=class{constructor(){this.i=0}get length(){return this.i}size(){return this.i}empty(){return this.i===0}};t.Base=e,t.Container=class extends e{}}),V0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Base{constructor(n=[]){super(),this.S=[];let l=this;n.forEach(function(o){l.push(o)})}clear(){this.i=0,this.S=[]}push(n){return this.S.push(n),this.i+=1,this.i}pop(){if(this.i!==0)return this.i-=1,this.S.pop()}top(){return this.S[this.i-1]}};t.default=r}),q0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Base{constructor(n=[]){super(),this.j=0,this.q=[];let l=this;n.forEach(function(o){l.push(o)})}clear(){this.q=[],this.i=this.j=0}push(n){let l=this.q.length;if(this.j/l>.5&&this.j+this.i>=l&&l>4096){let o=this.i;for(let s=0;s{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Base{constructor(n=[],l=function(s,i){return s>i?-1:s>1;for(let i=this.i-1>>1;i>=0;--i)this.k(i,s)}m(n){let l=this.C[n];for(;n>0;){let o=n-1>>1,s=this.C[o];if(this.v(s,l)<=0)break;this.C[n]=s,n=o}this.C[n]=l}k(n,l){let o=this.C[n];for(;n0&&(s=i,a=this.C[i]),this.v(a,o)>=0)break;this.C[n]=a,n=s}this.C[n]=o}clear(){this.i=0,this.C.length=0}push(n){this.C.push(n),this.m(this.i),this.i+=1}pop(){if(this.i===0)return;let n=this.C[0],l=this.C.pop();return this.i-=1,this.i&&(this.C[0]=l,this.k(0,this.i>>1)),n}top(){return this.C[0]}find(n){return this.C.indexOf(n)>=0}remove(n){let l=this.C.indexOf(n);return!(l<0)&&(l===0?this.pop():l===this.i-1?(this.C.pop(),this.i-=1):(this.C.splice(l,1,this.C.pop()),this.i-=1,this.m(l),this.k(l,this.i>>1)),!0)}updateItem(n){let l=this.C.indexOf(n);return!(l<0)&&(this.m(l),this.k(l,this.i>>1),!0)}toArray(){return[...this.C]}};t.default=r}),Nl=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=class extends e.Container{};t.default=r}),vr=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.throwIteratorAccessError=function(){throw new RangeError("Iterator access denied!")}}),Mp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.RandomIterator=void 0;var e=br(),r=vr(),n=class extends e.ContainerIterator{constructor(l,o){super(o),this.o=l,this.iteratorType===0?(this.pre=function(){return this.o===0&&(0,r.throwIteratorAccessError)(),this.o-=1,this},this.next=function(){return this.o===this.container.size()&&(0,r.throwIteratorAccessError)(),this.o+=1,this}):(this.pre=function(){return this.o===this.container.size()-1&&(0,r.throwIteratorAccessError)(),this.o+=1,this},this.next=function(){return this.o===-1&&(0,r.throwIteratorAccessError)(),this.o-=1,this})}get pointer(){return this.container.getElementByPos(this.o)}set pointer(l){this.container.setElementByPos(this.o,l)}};t.RandomIterator=n}),z0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=Nl())&&e.t?e:{default:e},n=Mp(),l=class Lp extends n.RandomIterator{constructor(i,a,u){super(i,u),this.container=a}copy(){return new Lp(this.o,this.container,this.iteratorType)}},o=class extends r.default{constructor(s=[],i=!0){if(super(),Array.isArray(s))this.J=i?[...s]:s,this.i=s.length;else{this.J=[];let a=this;s.forEach(function(u){a.pushBack(u)})}}clear(){this.i=0,this.J.length=0}begin(){return new l(0,this)}end(){return new l(this.i,this)}rBegin(){return new l(this.i-1,this,1)}rEnd(){return new l(-1,this,1)}front(){return this.J[0]}back(){return this.J[this.i-1]}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;return this.J[s]}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;return this.J.splice(s,1),this.i-=1,this.i}eraseElementByValue(s){let i=0;for(let a=0;athis.i-1)throw new RangeError;this.J[s]=i}insert(s,i,a=1){if(s<0||s>this.i)throw new RangeError;return this.J.splice(s,0,...new Array(a).fill(i)),this.i+=a,this.i}find(s){for(let i=0;i{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=Nl())&&e.t?e:{default:e},n=br(),l=vr(),o=class jp extends n.ContainerIterator{constructor(a,u,c,d){super(d),this.o=a,this.h=u,this.container=c,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this})}get pointer(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.l}set pointer(a){this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o.l=a}copy(){return new jp(this.o,this.h,this.container,this.iteratorType)}},s=class extends r.default{constructor(i=[]){super(),this.h={},this.p=this._=this.h.L=this.h.B=this.h;let a=this;i.forEach(function(u){a.pushBack(u)})}V(i){let{L:a,B:u}=i;a.B=u,u.L=a,i===this.p&&(this.p=u),i===this._&&(this._=a),this.i-=1}G(i,a){let u=a.B,c={l:i,L:a,B:u};a.B=c,u.L=c,a===this.h&&(this.p=c),u===this.h&&(this._=c),this.i+=1}clear(){this.i=0,this.p=this._=this.h.L=this.h.B=this.h}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.p.l}back(){return this._.l}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return a.l}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return this.V(a),this.i}eraseElementByValue(i){let a=this.p;for(;a!==this.h;)a.l===i&&this.V(a),a=a.B;return this.i}eraseElementByIterator(i){let a=i.o;return a===this.h&&(0,l.throwIteratorAccessError)(),i=i.next(),this.V(a),i}pushBack(i){return this.G(i,this._),this.i}popBack(){if(this.i===0)return;let i=this._.l;return this.V(this._),i}pushFront(i){return this.G(i,this.h),this.i}popFront(){if(this.i===0)return;let i=this.p.l;return this.V(this.p),i}setElementByPos(i,a){if(i<0||i>this.i-1)throw new RangeError;let u=this.p;for(;i--;)u=u.B;u.l=a}insert(i,a,u=1){if(i<0||i>this.i)throw new RangeError;if(u<=0)return this.i;if(i===0)for(;u--;)this.pushFront(a);else if(i===this.i)for(;u--;)this.pushBack(a);else{let c=this.p;for(let f=1;f{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=(e=Nl())&&e.t?e:{default:e},n=Mp(),l=class Up extends n.RandomIterator{constructor(i,a,u){super(i,u),this.container=a}copy(){return new Up(this.o,this.container,this.iteratorType)}},o=class extends r.default{constructor(s=[],i=4096){super(),this.j=0,this.D=0,this.R=0,this.N=0,this.P=0,this.A=[];let a=(()=>{if(typeof s.length=="number")return s.length;if(typeof s.size=="number")return s.size;if(typeof s.size=="function")return s.size();throw new TypeError("Cannot get the length or size of the container")})();this.F=i,this.P=Math.max(Math.ceil(a/this.F),1);for(let d=0;d>1)-(u>>1),this.D=this.N=this.F-a%this.F>>1;let c=this;s.forEach(function(d){c.pushBack(d)})}T(){let s=[],i=Math.max(this.P>>1,1);for(let a=0;a>1}begin(){return new l(0,this)}end(){return new l(this.i,this)}rBegin(){return new l(this.i-1,this,1)}rEnd(){return new l(-1,this,1)}front(){if(this.i!==0)return this.A[this.j][this.D]}back(){if(this.i!==0)return this.A[this.R][this.N]}pushBack(s){return this.i&&(this.N0?this.N-=1:this.R>0?(this.R-=1,this.N=this.F-1):(this.R=this.P-1,this.N=this.F-1)),this.i-=1,s}pushFront(s){return this.i&&(this.D>0?this.D-=1:this.j>0?(this.j-=1,this.D=this.F-1):(this.j=this.P-1,this.D=this.F-1),this.j===this.R&&this.D===this.N&&this.T()),this.i+=1,this.A[this.j][this.D]=s,this.i}popFront(){if(this.i===0)return;let s=this.A[this.j][this.D];return this.i!==1&&(this.Dthis.i-1)throw new RangeError;let{curNodeBucketIndex:i,curNodePointerIndex:a}=this.O(s);return this.A[i][a]}setElementByPos(s,i){if(s<0||s>this.i-1)throw new RangeError;let{curNodeBucketIndex:a,curNodePointerIndex:u}=this.O(s);this.A[a][u]=i}insert(s,i,a=1){if(s<0||s>this.i)throw new RangeError;if(s===0)for(;a--;)this.pushFront(i);else if(s===this.i)for(;a--;)this.pushBack(i);else{let u=[];for(let c=s;cthis.i-1)throw new RangeError;if(s===0)this.popFront();else if(s===this.i-1)this.popBack();else{let i=[];for(let u=s+1;us;)this.popBack();return this.i}sort(s){let i=[];for(let a=0;a{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.TreeNodeEnableIndex=t.TreeNode=void 0;var e=class{constructor(r,n){this.ee=1,this.u=void 0,this.l=void 0,this.U=void 0,this.W=void 0,this.tt=void 0,this.u=r,this.l=n}L(){let r=this;if(r.ee===1&&r.tt.tt===r)r=r.W;else if(r.U)for(r=r.U;r.W;)r=r.W;else{let n=r.tt;for(;n.U===r;)r=n,n=r.tt;r=n}return r}B(){let r=this;if(r.W){for(r=r.W;r.U;)r=r.U;return r}{let n=r.tt;for(;n.W===r;)r=n,n=r.tt;return r.W!==n?n:r}}te(){let r=this.tt,n=this.W,l=n.U;return r.tt===this?r.tt=n:r.U===this?r.U=n:r.W=n,n.tt=r,n.U=this,this.tt=n,this.W=l,l&&(l.tt=this),n}se(){let r=this.tt,n=this.U,l=n.W;return r.tt===this?r.tt=n:r.U===this?r.U=n:r.W=n,n.tt=r,n.W=this,this.tt=n,this.U=l,l&&(l.tt=this),n}};t.TreeNode=e,t.TreeNodeEnableIndex=class extends e{constructor(){super(...arguments),this.rt=1}te(){let r=super.te();return this.ie(),r.ie(),r}se(){let r=super.se();return this.ie(),r.ie(),r}ie(){this.rt=1,this.U&&(this.rt+=this.U.rt),this.W&&(this.rt+=this.W.rt)}}}),Np=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=Q0(),r=br(),n=vr(),l=class extends r.Container{constructor(s=function(a,u){return au?1:0},i=!1){super(),this.Y=void 0,this.v=s,i?(this.re=e.TreeNodeEnableIndex,this.M=function(a,u,c){let d=this.ne(a,u,c);if(d){let f=d.tt;for(;f!==this.h;)f.rt+=1,f=f.tt;let m=this.he(d);if(m){let{parentNode:b,grandParent:_,curNode:S}=m;b.ie(),_.ie(),S.ie()}}return this.i},this.V=function(a){let u=this.fe(a);for(;u!==this.h;)u.rt-=1,u=u.tt}):(this.re=e.TreeNode,this.M=function(a,u,c){let d=this.ne(a,u,c);return d&&this.he(d),this.i},this.V=this.fe),this.h=new this.re}X(s,i){let a=this.h;for(;s;){let u=this.v(s.u,i);if(u<0)s=s.W;else{if(!(u>0))return s;a=s,s=s.U}}return a}Z(s,i){let a=this.h;for(;s;)this.v(s.u,i)<=0?s=s.W:(a=s,s=s.U);return a}$(s,i){let a=this.h;for(;s;){let u=this.v(s.u,i);if(u<0)a=s,s=s.W;else{if(!(u>0))return s;s=s.U}}return a}rr(s,i){let a=this.h;for(;s;)this.v(s.u,i)<0?(a=s,s=s.W):s=s.U;return a}ue(s){for(;;){let i=s.tt;if(i===this.h)return;if(s.ee===1)return void(s.ee=0);if(s===i.U){let a=i.W;if(a.ee===1)a.ee=0,i.ee=1,i===this.Y?this.Y=i.te():i.te();else{if(a.W&&a.W.ee===1)return a.ee=i.ee,i.ee=0,a.W.ee=0,void(i===this.Y?this.Y=i.te():i.te());a.U&&a.U.ee===1?(a.ee=1,a.U.ee=0,a.se()):(a.ee=1,s=i)}}else{let a=i.U;if(a.ee===1)a.ee=0,i.ee=1,i===this.Y?this.Y=i.se():i.se();else{if(a.U&&a.U.ee===1)return a.ee=i.ee,i.ee=0,a.U.ee=0,void(i===this.Y?this.Y=i.se():i.se());a.W&&a.W.ee===1?(a.ee=1,a.W.ee=0,a.te()):(a.ee=1,s=i)}}}}fe(s){if(this.i===1)return this.clear(),this.h;let i=s;for(;i.U||i.W;){if(i.W)for(i=i.W;i.U;)i=i.U;else i=i.U;[s.u,i.u]=[i.u,s.u],[s.l,i.l]=[i.l,s.l],s=i}this.h.U===i?this.h.U=i.tt:this.h.W===i&&(this.h.W=i.tt),this.ue(i);let a=i.tt;return i===a.U?a.U=void 0:a.W=void 0,this.i-=1,this.Y.ee=0,a}oe(s,i){return s!==void 0&&(!(!this.oe(s.U,i)&&!i(s))||this.oe(s.W,i))}he(s){for(;;){let i=s.tt;if(i.ee===0)return;let a=i.tt;if(i===a.U){let u=a.W;if(u&&u.ee===1){if(u.ee=i.ee=0,a===this.Y)return;a.ee=1,s=a;continue}if(s===i.W){if(s.ee=0,s.U&&(s.U.tt=i),s.W&&(s.W.tt=a),i.W=s.U,a.U=s.W,s.U=i,s.W=a,a===this.Y)this.Y=s,this.h.tt=s;else{let c=a.tt;c.U===a?c.U=s:c.W=s}return s.tt=a.tt,i.tt=s,a.tt=s,a.ee=1,{parentNode:i,grandParent:a,curNode:s}}i.ee=0,a===this.Y?this.Y=a.se():a.se(),a.ee=1}else{let u=a.U;if(u&&u.ee===1){if(u.ee=i.ee=0,a===this.Y)return;a.ee=1,s=a;continue}if(s===i.U){if(s.ee=0,s.U&&(s.U.tt=a),s.W&&(s.W.tt=i),a.W=s.U,i.U=s.W,s.U=a,s.W=i,a===this.Y)this.Y=s,this.h.tt=s;else{let c=a.tt;c.U===a?c.U=s:c.W=s}return s.tt=a.tt,i.tt=s,a.tt=s,a.ee=1,{parentNode:i,grandParent:a,curNode:s}}i.ee=0,a===this.Y?this.Y=a.te():a.te(),a.ee=1}return}}ne(s,i,a){if(this.Y===void 0)return this.i+=1,this.Y=new this.re(s,i),this.Y.ee=0,this.Y.tt=this.h,this.h.tt=this.Y,this.h.U=this.Y,void(this.h.W=this.Y);let u,c=this.h.U,d=this.v(c.u,s);if(d!==0){if(d>0)c.U=new this.re(s,i),c.U.tt=c,u=c.U,this.h.U=u;else{let f=this.h.W,m=this.v(f.u,s);if(m===0)return void(f.l=i);if(m<0)f.W=new this.re(s,i),f.W.tt=f,u=f.W,this.h.W=u;else{if(a!==void 0){let b=a.o;if(b!==this.h){let _=this.v(b.u,s);if(_===0)return void(b.l=i);if(_>0){let S=b.L(),U=this.v(S.u,s);if(U===0)return void(S.l=i);U<0&&(u=new this.re(s,i),S.W===void 0?(S.W=u,u.tt=S):(b.U=u,u.tt=b))}}}if(u===void 0)for(u=this.Y;;){let b=this.v(u.u,s);if(b>0){if(u.U===void 0){u.U=new this.re(s,i),u.U.tt=u,u=u.U;break}u=u.U}else{if(!(b<0))return void(u.l=i);if(u.W===void 0){u.W=new this.re(s,i),u.W.tt=u,u=u.W;break}u=u.W}}}}return this.i+=1,u}c.l=i}I(s,i){for(;s;){let a=this.v(s.u,i);if(a<0)s=s.W;else{if(!(a>0))return s;s=s.U}}return s||this.h}clear(){this.i=0,this.Y=void 0,this.h.tt=void 0,this.h.U=this.h.W=void 0}updateKeyByIterator(s,i){let a=s.o;if(a===this.h&&(0,n.throwIteratorAccessError)(),this.i===1)return a.u=i,!0;if(a===this.h.U)return this.v(a.B().u,i)>0&&(a.u=i,!0);if(a===this.h.W)return this.v(a.L().u,i)<0&&(a.u=i,!0);let u=a.L().u;if(this.v(u,i)>=0)return!1;let c=a.B().u;return!(this.v(c,i)<=0)&&(a.u=i,!0)}eraseElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let i=0,a=this;return this.oe(this.Y,function(u){return s===i?(a.V(u),!0):(i+=1,!1)}),this.i}eraseElementByKey(s){if(this.i===0)return!1;let i=this.I(this.Y,s);return i!==this.h&&(this.V(i),!0)}eraseElementByIterator(s){let i=s.o;i===this.h&&(0,n.throwIteratorAccessError)();let a=i.W===void 0;return s.iteratorType===0?a&&s.next():(!a||i.U===void 0)&&s.next(),this.V(i),s}forEach(s){let i=0;for(let a of this)s(a,i++,this)}getElementByPos(s){if(s<0||s>this.i-1)throw new RangeError;let i,a=0;for(let u of this){if(a===s){i=u;break}a+=1}return i}getHeight(){if(this.i===0)return 0;let s=function(i){return i?Math.max(s(i.U),s(i.W))+1:0};return s(this.Y)}},o=l;t.default=o}),Dp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=br(),r=vr(),n=class extends e.ContainerIterator{constructor(l,o,s){super(s),this.o=l,this.h=o,this.iteratorType===0?(this.pre=function(){return this.o===this.h.U&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this}):(this.pre=function(){return this.o===this.h.W&&(0,r.throwIteratorAccessError)(),this.o=this.o.B(),this},this.next=function(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o=this.o.L(),this})}get index(){let l=this.o,o=this.h.tt;if(l===this.h)return o?o.rt-1:0;let s=0;for(l.U&&(s+=l.U.rt);l!==o;){let i=l.tt;l===i.W&&(s+=1,i.U&&(s+=i.U.rt)),l=i}return s}};t.default=n}),Y0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=l(Np()),r=l(Dp()),n=vr();function l(i){return i&&i.t?i:{default:i}}var o=class Fp extends r.default{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){return this.o===this.h&&(0,n.throwIteratorAccessError)(),this.o.u}copy(){return new Fp(this.o,this.h,this.container,this.iteratorType)}},s=class extends e.default{constructor(i=[],a,u){super(a,u);let c=this;i.forEach(function(d){c.insert(d)})}*K(i){i!==void 0&&(yield*this.K(i.U),yield i.u,yield*this.K(i.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){return this.h.U?this.h.U.u:void 0}back(){return this.h.W?this.h.W.u:void 0}insert(i,a){return this.M(i,void 0,a)}find(i){let a=this.I(this.Y,i);return new o(a,this.h,this)}lowerBound(i){let a=this.X(this.Y,i);return new o(a,this.h,this)}upperBound(i){let a=this.Z(this.Y,i);return new o(a,this.h,this)}reverseLowerBound(i){let a=this.$(this.Y,i);return new o(a,this.h,this)}reverseUpperBound(i){let a=this.rr(this.Y,i);return new o(a,this.h,this)}union(i){let a=this;return i.forEach(function(u){a.insert(u)}),this.i}[Symbol.iterator](){return this.K(this.Y)}};t.default=s}),J0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=l(Np()),r=l(Dp()),n=vr();function l(i){return i&&i.t?i:{default:i}}var o=class Wp extends r.default{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){this.o===this.h&&(0,n.throwIteratorAccessError)();let a=this;return new Proxy([],{get:(u,c)=>c==="0"?a.o.u:c==="1"?a.o.l:void 0,set(u,c,d){if(c!=="1")throw new TypeError("props must be 1");return a.o.l=d,!0}})}copy(){return new Wp(this.o,this.h,this.container,this.iteratorType)}},s=class extends e.default{constructor(i=[],a,u){super(a,u);let c=this;i.forEach(function(d){c.setElement(d[0],d[1])})}*K(i){i!==void 0&&(yield*this.K(i.U),yield[i.u,i.l],yield*this.K(i.W))}begin(){return new o(this.h.U||this.h,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this.h.W||this.h,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i===0)return;let i=this.h.U;return[i.u,i.l]}back(){if(this.i===0)return;let i=this.h.W;return[i.u,i.l]}lowerBound(i){let a=this.X(this.Y,i);return new o(a,this.h,this)}upperBound(i){let a=this.Z(this.Y,i);return new o(a,this.h,this)}reverseLowerBound(i){let a=this.$(this.Y,i);return new o(a,this.h,this)}reverseUpperBound(i){let a=this.rr(this.Y,i);return new o(a,this.h,this)}setElement(i,a,u){return this.M(i,a,u)}find(i){let a=this.I(this.Y,i);return new o(a,this.h,this)}getElementByKey(i){return this.I(this.Y,i).l}union(i){let a=this;return i.forEach(function(u){a.setElement(u[0],u[1])}),this.i}[Symbol.iterator](){return this.K(this.Y)}};t.default=s}),$p=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=function(e){let r=typeof e;return r==="object"&&e!==null||r==="function"}}),Vp=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.HashContainerIterator=t.HashContainer=void 0;var e,r=br(),n=(e=$p())&&e.t?e:{default:e},l=vr(),o=class extends r.ContainerIterator{constructor(i,a,u){super(u),this.o=i,this.h=a,this.iteratorType===0?(this.pre=function(){return this.o.L===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this}):(this.pre=function(){return this.o.B===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.B,this},this.next=function(){return this.o===this.h&&(0,l.throwIteratorAccessError)(),this.o=this.o.L,this})}};t.HashContainerIterator=o;var s=class extends r.Container{constructor(){super(),this.H=[],this.g={},this.HASH_TAG=Symbol("@@HASH_TAG"),Object.setPrototypeOf(this.g,null),this.h={},this.h.L=this.h.B=this.p=this._=this.h}V(i){let{L:a,B:u}=i;a.B=u,u.L=a,i===this.p&&(this.p=u),i===this._&&(this._=a),this.i-=1}M(i,a,u){let c;if(u===void 0&&(u=(0,n.default)(i)),u){let d=i[this.HASH_TAG];if(d!==void 0)return this.H[d].l=a,this.i;Object.defineProperty(i,this.HASH_TAG,{value:this.H.length,configurable:!0}),c={u:i,l:a,L:this._,B:this.h},this.H.push(c)}else{let d=this.g[i];if(d)return d.l=a,this.i;c={u:i,l:a,L:this._,B:this.h},this.g[i]=c}return this.i===0?(this.p=c,this.h.B=c):this._.B=c,this._=c,this.h.L=c,++this.i}I(i,a){if(a===void 0&&(a=(0,n.default)(i)),a){let u=i[this.HASH_TAG];return u===void 0?this.h:this.H[u]}return this.g[i]||this.h}clear(){let i=this.HASH_TAG;this.H.forEach(function(a){delete a.u[i]}),this.H=[],this.g={},Object.setPrototypeOf(this.g,null),this.i=0,this.p=this._=this.h.L=this.h.B=this.h}eraseElementByKey(i,a){let u;if(a===void 0&&(a=(0,n.default)(i)),a){let c=i[this.HASH_TAG];if(c===void 0)return!1;delete i[this.HASH_TAG],u=this.H[c],delete this.H[c]}else{if(u=this.g[i],u===void 0)return!1;delete this.g[i]}return this.V(u),!0}eraseElementByIterator(i){let a=i.o;return a===this.h&&(0,l.throwIteratorAccessError)(),this.V(a),i.next()}eraseElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return this.V(a),this.i}};t.HashContainer=s}),X0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e=Vp(),r=vr(),n=class qp extends e.HashContainerIterator{constructor(s,i,a,u){super(s,i,u),this.container=a}get pointer(){return this.o===this.h&&(0,r.throwIteratorAccessError)(),this.o.u}copy(){return new qp(this.o,this.h,this.container,this.iteratorType)}},l=class extends e.HashContainer{constructor(o=[]){super();let s=this;o.forEach(function(i){s.insert(i)})}begin(){return new n(this.p,this.h,this)}end(){return new n(this.h,this.h,this)}rBegin(){return new n(this._,this.h,this,1)}rEnd(){return new n(this.h,this.h,this,1)}front(){return this.p.u}back(){return this._.u}insert(o,s){return this.M(o,void 0,s)}getElementByPos(o){if(o<0||o>this.i-1)throw new RangeError;let s=this.p;for(;o--;)s=s.B;return s.u}find(o,s){let i=this.I(o,s);return new n(i,this.h,this)}forEach(o){let s=0,i=this.p;for(;i!==this.h;)o(i.u,s++,this),i=i.B}[Symbol.iterator](){return(function*(){let o=this.p;for(;o!==this.h;)yield o.u,o=o.B}).bind(this)()}};t.default=l}),Z0=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),t.default=void 0;var e,r=Vp(),n=(e=$p())&&e.t?e:{default:e},l=vr(),o=class Hp extends r.HashContainerIterator{constructor(a,u,c,d){super(a,u,d),this.container=c}get pointer(){this.o===this.h&&(0,l.throwIteratorAccessError)();let a=this;return new Proxy([],{get:(u,c)=>c==="0"?a.o.u:c==="1"?a.o.l:void 0,set(u,c,d){if(c!=="1")throw new TypeError("props must be 1");return a.o.l=d,!0}})}copy(){return new Hp(this.o,this.h,this.container,this.iteratorType)}},s=class extends r.HashContainer{constructor(i=[]){super();let a=this;i.forEach(function(u){a.setElement(u[0],u[1])})}begin(){return new o(this.p,this.h,this)}end(){return new o(this.h,this.h,this)}rBegin(){return new o(this._,this.h,this,1)}rEnd(){return new o(this.h,this.h,this,1)}front(){if(this.i!==0)return[this.p.u,this.p.l]}back(){if(this.i!==0)return[this._.u,this._.l]}setElement(i,a,u){return this.M(i,a,u)}getElementByKey(i,a){if(a===void 0&&(a=(0,n.default)(i)),a){let c=i[this.HASH_TAG];return c!==void 0?this.H[c].l:void 0}let u=this.g[i];return u?u.l:void 0}getElementByPos(i){if(i<0||i>this.i-1)throw new RangeError;let a=this.p;for(;i--;)a=a.B;return[a.u,a.l]}find(i,a){let u=this.I(i,a);return new o(u,this.h,this)}forEach(i){let a=0,u=this.p;for(;u!==this.h;)i([u.u,u.l],a++,this),u=u.B}[Symbol.iterator](){return(function*(){let i=this.p;for(;i!==this.h;)yield[i.u,i.l],i=i.B}).bind(this)()}};t.default=s}),ty=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"t",{value:!0}),Object.defineProperty(t,"Deque",{enumerable:!0,get:function(){return s.default}}),Object.defineProperty(t,"HashMap",{enumerable:!0,get:function(){return c.default}}),Object.defineProperty(t,"HashSet",{enumerable:!0,get:function(){return u.default}}),Object.defineProperty(t,"LinkList",{enumerable:!0,get:function(){return o.default}}),Object.defineProperty(t,"OrderedMap",{enumerable:!0,get:function(){return a.default}}),Object.defineProperty(t,"OrderedSet",{enumerable:!0,get:function(){return i.default}}),Object.defineProperty(t,"PriorityQueue",{enumerable:!0,get:function(){return n.default}}),Object.defineProperty(t,"Queue",{enumerable:!0,get:function(){return r.default}}),Object.defineProperty(t,"Stack",{enumerable:!0,get:function(){return e.default}}),Object.defineProperty(t,"Vector",{enumerable:!0,get:function(){return l.default}});var e=d(V0()),r=d(q0()),n=d(H0()),l=d(z0()),o=d(K0()),s=d(G0()),i=d(Y0()),a=d(J0()),u=d(X0()),c=d(Z0());function d(f){return f&&f.t?f:{default:f}}}),ey=mt((t,e)=>{ct(),ft(),ht();var r=ty().OrderedSet,n=dr()("number-allocator:trace"),l=dr()("number-allocator:error");function o(i,a){this.low=i,this.high=a}function s(i,a){if(!(this instanceof s))return new s(i,a);this.min=i,this.max=a,this.ss=new r([],(u,c)=>u.compare(c)),n("Create"),this.clear()}o.prototype.equals=function(i){return this.low===i.low&&this.high===i.high},o.prototype.compare=function(i){return this.lowi)&&(c===i?(this.ss.updateKeyByIterator(u,new o(c+1,d)),n("use():"+i),!0):d===i?(this.ss.updateKeyByIterator(u,new o(c,d-1)),n("use():"+i),!0):(this.ss.updateKeyByIterator(u,new o(i+1,d)),this.ss.insert(new o(c,i-1)),n("use():"+i),!0))}return n("use():failed"),!1},s.prototype.free=function(i){if(ithis.max)return void l("free():"+i+" is out of range");let a=new o(i,i),u=this.ss.upperBound(a);if(u.equals(this.ss.end())){if(u.equals(this.ss.begin()))return void this.ss.insert(a);u.pre();let c=u.pointer.high;u.pointer.high+1===i?this.ss.updateKeyByIterator(u,new o(c,i)):this.ss.insert(a)}else if(u.equals(this.ss.begin()))if(i+1===u.pointer.low){let c=u.pointer.high;this.ss.updateKeyByIterator(u,new o(i,c))}else this.ss.insert(a);else{let c=u.pointer.low,d=u.pointer.high;u.pre();let f=u.pointer.low;u.pointer.high+1===i?i+1===c?(this.ss.eraseElementByIterator(u),this.ss.updateKeyByIterator(u,new o(f,d))):this.ss.updateKeyByIterator(u,new o(f,i)):i+1===c?(this.ss.eraseElementByIterator(u.next()),this.ss.insert(new o(i,d))):this.ss.insert(a)}n("free():"+i)},s.prototype.clear=function(){n("clear()"),this.ss.clear(),this.ss.insert(new o(this.min,this.max))},s.prototype.intervalCount=function(){return this.ss.size()},s.prototype.dump=function(){for(let i of this.ss);},e.exports=s}),zp=mt((t,e)=>{ct(),ft(),ht();var r=ey();e.exports.NumberAllocator=r}),ry=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=$0(),r=zp();t.default=class{constructor(n){n>0&&(this.aliasToTopic=new e.LRUCache({max:n}),this.topicToAlias={},this.numberAllocator=new r.NumberAllocator(1,n),this.max=n,this.length=0)}put(n,l){if(l===0||l>this.max)return!1;let o=this.aliasToTopic.get(l);return o&&delete this.topicToAlias[o],this.aliasToTopic.set(l,n),this.topicToAlias[n]=l,this.numberAllocator.use(l),this.length=this.aliasToTopic.size,!0}getTopicByAlias(n){return this.aliasToTopic.get(n)}getAliasByTopic(n){let l=this.topicToAlias[n];return typeof l<"u"&&this.aliasToTopic.get(l),l}clear(){this.aliasToTopic.clear(),this.topicToAlias={},this.numberAllocator.clear(),this.length=0}getLruAlias(){return this.numberAllocator.firstVacant()||[...this.aliasToTopic.keys()][this.aliasToTopic.size-1]}}}),ny=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0});var r=jo(),n=e(ry()),l=Dn();t.default=(o,s)=>{o.log("_handleConnack");let{options:i}=o,a=i.protocolVersion===5?s.reasonCode:s.returnCode;if(clearTimeout(o.connackTimer),delete o.topicAliasSend,s.properties){if(s.properties.topicAliasMaximum){if(s.properties.topicAliasMaximum>65535)return void o.emit("error",new Error("topicAliasMaximum from broker is out of range"));s.properties.topicAliasMaximum>0&&(o.topicAliasSend=new n.default(s.properties.topicAliasMaximum))}s.properties.serverKeepAlive&&i.keepalive&&(i.keepalive=s.properties.serverKeepAlive),s.properties.maximumPacketSize&&(i.properties||(i.properties={}),i.properties.maximumPacketSize=s.properties.maximumPacketSize)}if(a===0)o.reconnecting=!1,o._onConnect(s);else if(a>0){let u=new l.ErrorWithReasonCode(`Connection refused: ${r.ReasonCodes[a]}`,a);o.emit("error",u),o.options.reconnectOnConnackError&&o._cleanUp(!0)}}}),iy=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.default=(e,r,n)=>{e.log("handling pubrel packet");let l=typeof n<"u"?n:e.noop,{messageId:o}=r,s={cmd:"pubcomp",messageId:o};e.incomingStore.get(r,(i,a)=>{i?e._sendPacket(s,l):(e.emit("message",a.topic,a.payload,a),e.handleMessage(a,u=>{if(u)return l(u);e.incomingStore.del(a,e.noop),e._sendPacket(s,l)}))})}}),oy=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};Object.defineProperty(t,"__esModule",{value:!0});var r=e(D0()),n=e(W0()),l=e(ny()),o=e(jo()),s=e(iy());t.default=(i,a,u)=>{let{options:c}=i;if(c.protocolVersion===5&&c.properties&&c.properties.maximumPacketSize&&c.properties.maximumPacketSize{ct(),ft(),ht();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0}),t.TypedEventEmitter=void 0;var r=e((Nn(),Dt(gn))),n=Dn(),l=class{};t.TypedEventEmitter=l,(0,n.applyMixin)(l,r.default)}),Uo=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.isReactNativeBrowser=t.isWebWorker=void 0;var e,r=()=>{var o,s;return!(typeof self!="object"||(s=(o=self==null?void 0:self.constructor)===null||o===void 0?void 0:o.name)===null||s===void 0||!s.includes("WorkerGlobalScope"))},n=()=>typeof navigator<"u"&&navigator.product==="ReactNative",l=typeof window<"u"&&(typeof navigator<"u"&&((e=navigator.userAgent)===null||e===void 0?void 0:e.toLowerCase().indexOf(" electron/"))>-1&&Nt!=null&&Nt.versions?!Object.prototype.hasOwnProperty.call(Nt.versions,"electron"):typeof window.document<"u")||r()||n();t.isWebWorker=r(),t.isReactNativeBrowser=n(),t.default=l}),ay=mt((t,e)=>{var r,n;ct(),ft(),ht(),r=t,n=function(l){var o,s=Number.MAX_SAFE_INTEGER===void 0?9007199254740991:Number.MAX_SAFE_INTEGER,i=536870912,a=2*i,u=new WeakMap,c=function(f,m){return function(b){var _=m.get(b),S=_===void 0?b.size:_s)throw new Error("Congratulations, you created a collection of unique numbers which uses all available integers!");for(;b.has(S);)S=Math.floor(Math.random()*s);return f(b,S)}}((o=u,function(f,m){return o.set(f,m),m}),u),d=function(f){return function(m){var b=f(m);return m.add(b),b}}(c);l.addUniqueNumber=d,l.generateUniqueNumber=c},typeof t=="object"&&typeof e<"u"?n(t):typeof define=="function"&&define.amd?define(["exports"],n):n((r=typeof globalThis<"u"?globalThis:r||self).fastUniqueNumbers={})}),ly=mt((t,e)=>{var r,n;ct(),ft(),ht(),r=t,n=function(l,o){l.load=function(s){var i=new Map([[0,function(){}]]),a=new Map([[0,function(){}]]),u=new Map,c=new Worker(s);return c.addEventListener("message",function(d){var f=d.data;if(function(w){return w.method!==void 0&&w.method==="call"}(f)){var m=f.params,b=m.timerId,_=m.timerType;if(_==="interval"){var S=i.get(b);if(typeof S=="number"){var U=u.get(S);if(U===void 0||U.timerId!==b||U.timerType!==_)throw new Error("The timer is in an undefined state.")}else{if(!(typeof S<"u"))throw new Error("The timer is in an undefined state.");S()}}else if(_==="timeout"){var D=a.get(b);if(typeof D=="number"){var K=u.get(D);if(K===void 0||K.timerId!==b||K.timerType!==_)throw new Error("The timer is in an undefined state.")}else{if(!(typeof D<"u"))throw new Error("The timer is in an undefined state.");D(),a.delete(b)}}}else{if(!function(w){return w.error===null&&typeof w.id=="number"}(f)){var V=f.error.message;throw new Error(V)}var Y=f.id,P=u.get(Y);if(P===void 0)throw new Error("The timer is in an undefined state.");var I=P.timerId,E=P.timerType;u.delete(Y),E==="interval"?i.delete(I):a.delete(I)}}),{clearInterval:function(d){var f=o.generateUniqueNumber(u);u.set(f,{timerId:d,timerType:"interval"}),i.set(d,f),c.postMessage({id:f,method:"clear",params:{timerId:d,timerType:"interval"}})},clearTimeout:function(d){var f=o.generateUniqueNumber(u);u.set(f,{timerId:d,timerType:"timeout"}),a.set(d,f),c.postMessage({id:f,method:"clear",params:{timerId:d,timerType:"timeout"}})},setInterval:function(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,m=o.generateUniqueNumber(i);return i.set(m,function(){d(),typeof i.get(m)=="function"&&c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:m,timerType:"interval"}})}),c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:m,timerType:"interval"}}),m},setTimeout:function(d){var f=arguments.length>1&&arguments[1]!==void 0?arguments[1]:0,m=o.generateUniqueNumber(a);return a.set(m,d),c.postMessage({id:null,method:"set",params:{delay:f,now:performance.now(),timerId:m,timerType:"timeout"}}),m}}}},typeof t=="object"&&typeof e<"u"?n(t,ay()):typeof define=="function"&&define.amd?define(["exports","fast-unique-numbers"],n):n((r=typeof globalThis<"u"?globalThis:r||self).workerTimersBroker={},r.fastUniqueNumbers)}),uy=mt((t,e)=>{var r,n;ct(),ft(),ht(),r=t,n=function(l,o){var s=function(i,a){var u=null;return function(){if(u!==null)return u;var c=new Blob([a],{type:"application/javascript; charset=utf-8"}),d=URL.createObjectURL(c);return u=i(d),setTimeout(function(){return URL.revokeObjectURL(d)}),u}}(o.load,`(()=>{var e={472:(e,t,r)=>{var o,i;void 0===(i="function"==typeof(o=function(){"use strict";var e=new Map,t=new Map,r=function(t){var r=e.get(t);if(void 0===r)throw new Error('There is no interval scheduled with the given id "'.concat(t,'".'));clearTimeout(r),e.delete(t)},o=function(e){var r=t.get(e);if(void 0===r)throw new Error('There is no timeout scheduled with the given id "'.concat(e,'".'));clearTimeout(r),t.delete(e)},i=function(e,t){var r,o=performance.now();return{expected:o+(r=e-Math.max(0,o-t)),remainingDelay:r}},n=function e(t,r,o,i){var n=performance.now();n>o?postMessage({id:null,method:"call",params:{timerId:r,timerType:i}}):t.set(r,setTimeout(e,o-n,t,r,o,i))},a=function(t,r,o){var a=i(t,o),s=a.expected,d=a.remainingDelay;e.set(r,setTimeout(n,d,e,r,s,"interval"))},s=function(e,r,o){var a=i(e,o),s=a.expected,d=a.remainingDelay;t.set(r,setTimeout(n,d,t,r,s,"timeout"))};addEventListener("message",(function(e){var t=e.data;try{if("clear"===t.method){var i=t.id,n=t.params,d=n.timerId,c=n.timerType;if("interval"===c)r(d),postMessage({error:null,id:i});else{if("timeout"!==c)throw new Error('The given type "'.concat(c,'" is not supported'));o(d),postMessage({error:null,id:i})}}else{if("set"!==t.method)throw new Error('The given method "'.concat(t.method,'" is not supported'));var u=t.params,l=u.delay,p=u.now,m=u.timerId,v=u.timerType;if("interval"===v)a(l,m,p);else{if("timeout"!==v)throw new Error('The given type "'.concat(v,'" is not supported'));s(l,m,p)}}}catch(e){postMessage({error:{message:e.message},id:t.id,result:null})}}))})?o.call(t,r,t,e):o)||(e.exports=i)}},t={};function r(o){var i=t[o];if(void 0!==i)return i.exports;var n=t[o]={exports:{}};return e[o](n,n.exports,r),n.exports}r.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return r.d(t,{a:t}),t},r.d=(e,t)=>{for(var o in t)r.o(t,o)&&!r.o(e,o)&&Object.defineProperty(e,o,{enumerable:!0,get:t[o]})},r.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),(()=>{"use strict";r(472)})()})();`);l.clearInterval=function(i){return s().clearInterval(i)},l.clearTimeout=function(i){return s().clearTimeout(i)},l.setInterval=function(){var i;return(i=s()).setInterval.apply(i,arguments)},l.setTimeout=function(){var i;return(i=s()).setTimeout.apply(i,arguments)}},typeof t=="object"&&typeof e<"u"?n(t,ly()):typeof define=="function"&&define.amd?define(["exports","worker-timers-broker"],n):n((r=typeof globalThis<"u"?globalThis:r||self).workerTimers={},r.workerTimersBroker)}),cy=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(a,u,c,d){d===void 0&&(d=c);var f=Object.getOwnPropertyDescriptor(u,c);(!f||("get"in f?!u.__esModule:f.writable||f.configurable))&&(f={enumerable:!0,get:function(){return u[c]}}),Object.defineProperty(a,d,f)}:function(a,u,c,d){d===void 0&&(d=c),a[d]=u[c]}),r=t&&t.__setModuleDefault||(Object.create?function(a,u){Object.defineProperty(a,"default",{enumerable:!0,value:u})}:function(a,u){a.default=u}),n=t&&t.__importStar||function(a){if(a&&a.__esModule)return a;var u={};if(a!=null)for(var c in a)c!=="default"&&Object.prototype.hasOwnProperty.call(a,c)&&e(u,a,c);return r(u,a),u};Object.defineProperty(t,"__esModule",{value:!0});var l=n(Uo()),o=uy(),s={set:o.setInterval,clear:o.clearInterval},i={set:(a,u)=>setInterval(a,u),clear:a=>clearInterval(a)};t.default=a=>{switch(a){case"native":return i;case"worker":return s;default:return!l.default||l.isWebWorker||l.isReactNativeBrowser?i:s}}}),Kp=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(n){return n&&n.__esModule?n:{default:n}};Object.defineProperty(t,"__esModule",{value:!0});var r=e(cy());t.default=class{get keepaliveTimeoutTimestamp(){return this._keepaliveTimeoutTimestamp}get intervalEvery(){return this._intervalEvery}get keepalive(){return this._keepalive}constructor(n,l){this.destroyed=!1,this.client=n,this.timer=typeof l=="object"&&"set"in l&&"clear"in l?l:(0,r.default)(l),this.setKeepalive(n.options.keepalive)}clear(){this.timerId&&(this.timer.clear(this.timerId),this.timerId=null)}setKeepalive(n){if(n*=1e3,isNaN(n)||n<=0||n>2147483647)throw new Error(`Keepalive value must be an integer between 0 and 2147483647. Provided value is ${n}`);this._keepalive=n,this.reschedule(),this.client.log(`KeepaliveManager: set keepalive to ${n}ms`)}destroy(){this.clear(),this.destroyed=!0}reschedule(){if(this.destroyed)return;this.clear(),this.counter=0;let n=Math.ceil(1.5*this._keepalive);this._keepaliveTimeoutTimestamp=Date.now()+n,this._intervalEvery=Math.ceil(this._keepalive/2),this.timerId=this.timer.set(()=>{this.destroyed||(this.counter+=1,this.counter===2?this.client.sendPing():this.counter>2&&this.client.onKeepaliveTimeout())},this._intervalEvery)}}}),Ka=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(Y,P,I,E){E===void 0&&(E=I);var w=Object.getOwnPropertyDescriptor(P,I);(!w||("get"in w?!P.__esModule:w.writable||w.configurable))&&(w={enumerable:!0,get:function(){return P[I]}}),Object.defineProperty(Y,E,w)}:function(Y,P,I,E){E===void 0&&(E=I),Y[E]=P[I]}),r=t&&t.__setModuleDefault||(Object.create?function(Y,P){Object.defineProperty(Y,"default",{enumerable:!0,value:P})}:function(Y,P){Y.default=P}),n=t&&t.__importStar||function(Y){if(Y&&Y.__esModule)return Y;var P={};if(Y!=null)for(var I in Y)I!=="default"&&Object.prototype.hasOwnProperty.call(Y,I)&&e(P,Y,I);return r(P,Y),P},l=t&&t.__importDefault||function(Y){return Y&&Y.__esModule?Y:{default:Y}};Object.defineProperty(t,"__esModule",{value:!0});var o=l(t0()),s=l(L0()),i=l(xp()),a=mn(),u=l(U0()),c=n(N0()),d=l(dr()),f=l(Rp()),m=l(oy()),b=Dn(),_=sy(),S=l(Kp()),U=n(Uo()),D=globalThis.setImmediate||((...Y)=>{let P=Y.shift();(0,b.nextTick)(()=>{P(...Y)})}),K={keepalive:60,reschedulePings:!0,protocolId:"MQTT",protocolVersion:4,reconnectPeriod:1e3,connectTimeout:3e4,clean:!0,resubscribe:!0,writeCache:!0,timerVariant:"auto"},V=class Ga extends _.TypedEventEmitter{static defaultId(){return`mqttjs_${Math.random().toString(16).substr(2,8)}`}constructor(P,I){super(),this.options=I||{};for(let E in K)typeof this.options[E]>"u"?this.options[E]=K[E]:this.options[E]=I[E];this.log=this.options.log||(0,d.default)("mqttjs:client"),this.noop=this._noop.bind(this),this.log("MqttClient :: version:",Ga.VERSION),U.isWebWorker?this.log("MqttClient :: environment","webworker"):this.log("MqttClient :: environment",U.default?"browser":"node"),this.log("MqttClient :: options.protocol",I.protocol),this.log("MqttClient :: options.protocolVersion",I.protocolVersion),this.log("MqttClient :: options.username",I.username),this.log("MqttClient :: options.keepalive",I.keepalive),this.log("MqttClient :: options.reconnectPeriod",I.reconnectPeriod),this.log("MqttClient :: options.rejectUnauthorized",I.rejectUnauthorized),this.log("MqttClient :: options.properties.topicAliasMaximum",I.properties?I.properties.topicAliasMaximum:void 0),this.options.clientId=typeof I.clientId=="string"?I.clientId:Ga.defaultId(),this.log("MqttClient :: clientId",this.options.clientId),this.options.customHandleAcks=I.protocolVersion===5&&I.customHandleAcks?I.customHandleAcks:(...E)=>{E[3](null,0)},this.options.writeCache||(s.default.writeToStream.cacheNumbers=!1),this.streamBuilder=P,this.messageIdProvider=typeof this.options.messageIdProvider>"u"?new i.default:this.options.messageIdProvider,this.outgoingStore=I.outgoingStore||new f.default,this.incomingStore=I.incomingStore||new f.default,this.queueQoSZero=I.queueQoSZero===void 0||I.queueQoSZero,this._resubscribeTopics={},this.messageIdToTopic={},this.keepaliveManager=null,this.connected=!1,this.disconnecting=!1,this.reconnecting=!1,this.queue=[],this.connackTimer=null,this.reconnectTimer=null,this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={},this._storeProcessingQueue=[],this.outgoing={},this._firstConnection=!0,I.properties&&I.properties.topicAliasMaximum>0&&(I.properties.topicAliasMaximum>65535?this.log("MqttClient :: options.properties.topicAliasMaximum is out of range"):this.topicAliasRecv=new o.default(I.properties.topicAliasMaximum)),this.on("connect",()=>{let{queue:E}=this,w=()=>{let B=E.shift();this.log("deliver :: entry %o",B);let R=null;if(!B)return void this._resubscribe();R=B.packet,this.log("deliver :: call _sendPacket for %o",R);let rt=!0;R.messageId&&R.messageId!==0&&(this.messageIdProvider.register(R.messageId)||(rt=!1)),rt?this._sendPacket(R,st=>{B.cb&&B.cb(st),w()}):(this.log("messageId: %d has already used. The message is skipped and removed.",R.messageId),w())};this.log("connect :: sending queued packets"),w()}),this.on("close",()=>{this.log("close :: connected set to `false`"),this.connected=!1,this.log("close :: clearing connackTimer"),clearTimeout(this.connackTimer),this._destroyKeepaliveManager(),this.topicAliasRecv&&this.topicAliasRecv.clear(),this.log("close :: calling _setupReconnect"),this._setupReconnect()}),this.options.manualConnect||(this.log("MqttClient :: setting up stream"),this.connect())}handleAuth(P,I){I()}handleMessage(P,I){I()}_nextId(){return this.messageIdProvider.allocate()}getLastMessageId(){return this.messageIdProvider.getLastAllocated()}connect(){var P;let I=new a.Writable,E=s.default.parser(this.options),w=null,B=[];this.log("connect :: calling method to clear reconnect"),this._clearReconnect(),this.disconnected&&!this.reconnecting&&(this.incomingStore=this.options.incomingStore||new f.default,this.outgoingStore=this.options.outgoingStore||new f.default,this.disconnecting=!1,this.disconnected=!1),this.log("connect :: using streamBuilder provided to client to create stream"),this.stream=this.streamBuilder(this),E.on("packet",X=>{this.log("parser :: on packet push to packets array."),B.push(X)});let R=()=>{this.log("work :: getting next packet in queue");let X=B.shift();if(X)this.log("work :: packet pulled from queue"),(0,m.default)(this,X,rt);else{this.log("work :: no packets in queue");let j=w;w=null,this.log("work :: done flag is %s",!!j),j&&j()}},rt=()=>{if(B.length)(0,b.nextTick)(R);else{let X=w;w=null,X()}};I._write=(X,j,N)=>{w=N,this.log("writable stream :: parsing buffer"),E.parse(X),R()},this.log("connect :: pipe stream to writable stream"),this.stream.pipe(I),this.stream.on("error",X=>{this.log("streamErrorHandler :: error",X.message),X.code?(this.log("streamErrorHandler :: emitting error"),this.emit("error",X)):this.noop(X)}),this.stream.on("close",()=>{this.log("(%s)stream :: on close",this.options.clientId),this._flushVolatile(),this.log("stream: emit close to MqttClient"),this.emit("close")}),this.log("connect: sending packet `connect`");let st={cmd:"connect",protocolId:this.options.protocolId,protocolVersion:this.options.protocolVersion,clean:this.options.clean,clientId:this.options.clientId,keepalive:this.options.keepalive,username:this.options.username,password:this.options.password,properties:this.options.properties};if(this.options.will&&(st.will=Object.assign(Object.assign({},this.options.will),{payload:(P=this.options.will)===null||P===void 0?void 0:P.payload})),this.topicAliasRecv&&(st.properties||(st.properties={}),this.topicAliasRecv&&(st.properties.topicAliasMaximum=this.topicAliasRecv.max)),this._writePacket(st),E.on("error",this.emit.bind(this,"error")),this.options.properties){if(!this.options.properties.authenticationMethod&&this.options.properties.authenticationData)return this.end(()=>this.emit("error",new Error("Packet has no Authentication Method"))),this;if(this.options.properties.authenticationMethod&&this.options.authPacket&&typeof this.options.authPacket=="object"){let X=Object.assign({cmd:"auth",reasonCode:0},this.options.authPacket);this._writePacket(X)}}return this.stream.setMaxListeners(1e3),clearTimeout(this.connackTimer),this.connackTimer=setTimeout(()=>{this.log("!!connectTimeout hit!! Calling _cleanUp with force `true`"),this.emit("error",new Error("connack timeout")),this._cleanUp(!0)},this.options.connectTimeout),this}publish(P,I,E,w){this.log("publish :: message `%s` to topic `%s`",I,P);let{options:B}=this;typeof E=="function"&&(w=E,E=null),E=E||{},E=Object.assign(Object.assign({},{qos:0,retain:!1,dup:!1}),E);let{qos:R,retain:rt,dup:st,properties:X,cbStorePut:j}=E;if(this._checkDisconnecting(w))return this;let N=()=>{let $=0;if((R===1||R===2)&&($=this._nextId(),$===null))return this.log("No messageId left"),!1;let nt={cmd:"publish",topic:P,payload:I,qos:R,retain:rt,messageId:$,dup:st};switch(B.protocolVersion===5&&(nt.properties=X),this.log("publish :: qos",R),R){case 1:case 2:this.outgoing[nt.messageId]={volatile:!1,cb:w||this.noop},this.log("MqttClient:publish: packet cmd: %s",nt.cmd),this._sendPacket(nt,void 0,j);break;default:this.log("MqttClient:publish: packet cmd: %s",nt.cmd),this._sendPacket(nt,w,j)}return!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!N())&&this._storeProcessingQueue.push({invoke:N,cbStorePut:E.cbStorePut,callback:w}),this}publishAsync(P,I,E){return new Promise((w,B)=>{this.publish(P,I,E,(R,rt)=>{R?B(R):w(rt)})})}subscribe(P,I,E){let w=this.options.protocolVersion;typeof I=="function"&&(E=I),E=E||this.noop;let B=!1,R=[];typeof P=="string"?R=P=[P]:Array.isArray(P)?R=P:typeof P=="object"&&(B=P.resubscribe,delete P.resubscribe,R=Object.keys(P));let rt=c.validateTopics(R);if(rt!==null)return D(E,new Error(`Invalid topic ${rt}`)),this;if(this._checkDisconnecting(E))return this.log("subscribe: discconecting true"),this;let st={qos:0};w===5&&(st.nl=!1,st.rap=!1,st.rh=0);let X=(I=Object.assign(Object.assign({},st),I)).properties,j=[],N=(nt,Q)=>{if(Q=Q||I,!Object.prototype.hasOwnProperty.call(this._resubscribeTopics,nt)||this._resubscribeTopics[nt].qos{this.log("subscribe: array topic %s",nt),N(nt)}):Object.keys(P).forEach(nt=>{this.log("subscribe: object topic %s, %o",nt,P[nt]),N(nt,P[nt])}),!j.length)return E(null,[]),this;let $=()=>{let nt=this._nextId();if(nt===null)return this.log("No messageId left"),!1;let Q={cmd:"subscribe",subscriptions:j,messageId:nt};if(X&&(Q.properties=X),this.options.resubscribe){this.log("subscribe :: resubscribe true");let G=[];j.forEach(T=>{if(this.options.reconnectPeriod>0){let q={qos:T.qos};w===5&&(q.nl=T.nl||!1,q.rap=T.rap||!1,q.rh=T.rh||0,q.properties=T.properties),this._resubscribeTopics[T.topic]=q,G.push(T.topic)}}),this.messageIdToTopic[Q.messageId]=G}return this.outgoing[Q.messageId]={volatile:!0,cb(G,T){if(!G){let{granted:q}=T;for(let tt=0;tt0||!$())&&this._storeProcessingQueue.push({invoke:$,callback:E}),this}subscribeAsync(P,I){return new Promise((E,w)=>{this.subscribe(P,I,(B,R)=>{B?w(B):E(R)})})}unsubscribe(P,I,E){typeof P=="string"&&(P=[P]),typeof I=="function"&&(E=I),E=E||this.noop;let w=c.validateTopics(P);if(w!==null)return D(E,new Error(`Invalid topic ${w}`)),this;if(this._checkDisconnecting(E))return this;let B=()=>{let R=this._nextId();if(R===null)return this.log("No messageId left"),!1;let rt={cmd:"unsubscribe",messageId:R,unsubscriptions:[]};return typeof P=="string"?rt.unsubscriptions=[P]:Array.isArray(P)&&(rt.unsubscriptions=P),this.options.resubscribe&&rt.unsubscriptions.forEach(st=>{delete this._resubscribeTopics[st]}),typeof I=="object"&&I.properties&&(rt.properties=I.properties),this.outgoing[rt.messageId]={volatile:!0,cb:E},this.log("unsubscribe: call _sendPacket"),this._sendPacket(rt),!0};return(this._storeProcessing||this._storeProcessingQueue.length>0||!B())&&this._storeProcessingQueue.push({invoke:B,callback:E}),this}unsubscribeAsync(P,I){return new Promise((E,w)=>{this.unsubscribe(P,I,(B,R)=>{B?w(B):E(R)})})}end(P,I,E){this.log("end :: (%s)",this.options.clientId),(P==null||typeof P!="boolean")&&(E=E||I,I=P,P=!1),typeof I!="object"&&(E=E||I,I=null),this.log("end :: cb? %s",!!E),(!E||typeof E!="function")&&(E=this.noop);let w=()=>{this.log("end :: closeStores: closing incoming and outgoing stores"),this.disconnected=!0,this.incomingStore.close(R=>{this.outgoingStore.close(rt=>{if(this.log("end :: closeStores: emitting end"),this.emit("end"),E){let st=R||rt;this.log("end :: closeStores: invoking callback with args"),E(st)}})}),this._deferredReconnect?this._deferredReconnect():(this.options.reconnectPeriod===0||this.options.manualConnect)&&(this.disconnecting=!1)},B=()=>{this.log("end :: (%s) :: finish :: calling _cleanUp with force %s",this.options.clientId,P),this._cleanUp(P,()=>{this.log("end :: finish :: calling process.nextTick on closeStores"),(0,b.nextTick)(w)},I)};return this.disconnecting?(E(),this):(this._clearReconnect(),this.disconnecting=!0,!P&&Object.keys(this.outgoing).length>0?(this.log("end :: (%s) :: calling finish in 10ms once outgoing is empty",this.options.clientId),this.once("outgoingEmpty",setTimeout.bind(null,B,10))):(this.log("end :: (%s) :: immediately calling finish",this.options.clientId),B()),this)}endAsync(P,I){return new Promise((E,w)=>{this.end(P,I,B=>{B?w(B):E()})})}removeOutgoingMessage(P){if(this.outgoing[P]){let{cb:I}=this.outgoing[P];this._removeOutgoingAndStoreMessage(P,()=>{I(new Error("Message removed"))})}return this}reconnect(P){this.log("client reconnect");let I=()=>{P?(this.options.incomingStore=P.incomingStore,this.options.outgoingStore=P.outgoingStore):(this.options.incomingStore=null,this.options.outgoingStore=null),this.incomingStore=this.options.incomingStore||new f.default,this.outgoingStore=this.options.outgoingStore||new f.default,this.disconnecting=!1,this.disconnected=!1,this._deferredReconnect=null,this._reconnect()};return this.disconnecting&&!this.disconnected?this._deferredReconnect=I:I(),this}_flushVolatile(){this.outgoing&&(this.log("_flushVolatile :: deleting volatile messages from the queue and setting their callbacks as error function"),Object.keys(this.outgoing).forEach(P=>{this.outgoing[P].volatile&&typeof this.outgoing[P].cb=="function"&&(this.outgoing[P].cb(new Error("Connection closed")),delete this.outgoing[P])}))}_flush(){this.outgoing&&(this.log("_flush: queue exists? %b",!!this.outgoing),Object.keys(this.outgoing).forEach(P=>{typeof this.outgoing[P].cb=="function"&&(this.outgoing[P].cb(new Error("Connection closed")),delete this.outgoing[P])}))}_removeTopicAliasAndRecoverTopicName(P){let I;P.properties&&(I=P.properties.topicAlias);let E=P.topic.toString();if(this.log("_removeTopicAliasAndRecoverTopicName :: alias %d, topic %o",I,E),E.length===0){if(typeof I>"u")return new Error("Unregistered Topic Alias");if(E=this.topicAliasSend.getTopicByAlias(I),typeof E>"u")return new Error("Unregistered Topic Alias");P.topic=E}I&&delete P.properties.topicAlias}_checkDisconnecting(P){return this.disconnecting&&(P&&P!==this.noop?P(new Error("client disconnecting")):this.emit("error",new Error("client disconnecting"))),this.disconnecting}_reconnect(){this.log("_reconnect: emitting reconnect to client"),this.emit("reconnect"),this.connected?(this.end(()=>{this.connect()}),this.log("client already connected. disconnecting first.")):(this.log("_reconnect: calling connect"),this.connect())}_setupReconnect(){!this.disconnecting&&!this.reconnectTimer&&this.options.reconnectPeriod>0?(this.reconnecting||(this.log("_setupReconnect :: emit `offline` state"),this.emit("offline"),this.log("_setupReconnect :: set `reconnecting` to `true`"),this.reconnecting=!0),this.log("_setupReconnect :: setting reconnectTimer for %d ms",this.options.reconnectPeriod),this.reconnectTimer=setInterval(()=>{this.log("reconnectTimer :: reconnect triggered!"),this._reconnect()},this.options.reconnectPeriod)):this.log("_setupReconnect :: doing nothing...")}_clearReconnect(){this.log("_clearReconnect : clearing reconnect timer"),this.reconnectTimer&&(clearInterval(this.reconnectTimer),this.reconnectTimer=null)}_cleanUp(P,I,E={}){if(I&&(this.log("_cleanUp :: done callback provided for on stream close"),this.stream.on("close",I)),this.log("_cleanUp :: forced? %s",P),P)this.options.reconnectPeriod===0&&this.options.clean&&this._flush(),this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),this.stream.destroy();else{let w=Object.assign({cmd:"disconnect"},E);this.log("_cleanUp :: (%s) :: call _sendPacket with disconnect packet",this.options.clientId),this._sendPacket(w,()=>{this.log("_cleanUp :: (%s) :: destroying stream",this.options.clientId),D(()=>{this.stream.end(()=>{this.log("_cleanUp :: (%s) :: stream destroyed",this.options.clientId)})})})}!this.disconnecting&&!this.reconnecting&&(this.log("_cleanUp :: client not disconnecting/reconnecting. Clearing and resetting reconnect."),this._clearReconnect(),this._setupReconnect()),this._destroyKeepaliveManager(),I&&!this.connected&&(this.log("_cleanUp :: (%s) :: removing stream `done` callback `close` listener",this.options.clientId),this.stream.removeListener("close",I),I())}_storeAndSend(P,I,E){this.log("storeAndSend :: store packet with cmd %s to outgoingStore",P.cmd);let w,B=P;if(B.cmd==="publish"&&(B=(0,u.default)(P),w=this._removeTopicAliasAndRecoverTopicName(B),w))return I&&I(w);this.outgoingStore.put(B,R=>{if(R)return I&&I(R);E(),this._writePacket(P,I)})}_applyTopicAlias(P){if(this.options.protocolVersion===5&&P.cmd==="publish"){let I;P.properties&&(I=P.properties.topicAlias);let E=P.topic.toString();if(this.topicAliasSend)if(I){if(E.length!==0&&(this.log("applyTopicAlias :: register topic: %s - alias: %d",E,I),!this.topicAliasSend.put(E,I)))return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",E,I),new Error("Sending Topic Alias out of range")}else E.length!==0&&(this.options.autoAssignTopicAlias?(I=this.topicAliasSend.getAliasByTopic(E),I?(P.topic="",P.properties=Object.assign(Object.assign({},P.properties),{topicAlias:I}),this.log("applyTopicAlias :: auto assign(use) topic: %s - alias: %d",E,I)):(I=this.topicAliasSend.getLruAlias(),this.topicAliasSend.put(E,I),P.properties=Object.assign(Object.assign({},P.properties),{topicAlias:I}),this.log("applyTopicAlias :: auto assign topic: %s - alias: %d",E,I))):this.options.autoUseTopicAlias&&(I=this.topicAliasSend.getAliasByTopic(E),I&&(P.topic="",P.properties=Object.assign(Object.assign({},P.properties),{topicAlias:I}),this.log("applyTopicAlias :: auto use topic: %s - alias: %d",E,I))));else if(I)return this.log("applyTopicAlias :: error out of range. topic: %s - alias: %d",E,I),new Error("Sending Topic Alias out of range")}}_noop(P){this.log("noop ::",P)}_writePacket(P,I){this.log("_writePacket :: packet: %O",P),this.log("_writePacket :: emitting `packetsend`"),this.emit("packetsend",P),this.log("_writePacket :: writing to stream");let E=s.default.writeToStream(P,this.stream,this.options);this.log("_writePacket :: writeToStream result %s",E),!E&&I&&I!==this.noop?(this.log("_writePacket :: handle events on `drain` once through callback."),this.stream.once("drain",I)):I&&(this.log("_writePacket :: invoking cb"),I())}_sendPacket(P,I,E,w){this.log("_sendPacket :: (%s) :: start",this.options.clientId),E=E||this.noop,I=I||this.noop;let B=this._applyTopicAlias(P);if(B)I(B);else{if(!this.connected)return P.cmd==="auth"?void this._writePacket(P,I):(this.log("_sendPacket :: client not connected. Storing packet offline."),void this._storePacket(P,I,E));if(w)this._writePacket(P,I);else{switch(P.cmd){case"publish":break;case"pubrel":return void this._storeAndSend(P,I,E);default:return void this._writePacket(P,I)}switch(P.qos){case 2:case 1:this._storeAndSend(P,I,E);break;default:this._writePacket(P,I)}this.log("_sendPacket :: (%s) :: end",this.options.clientId)}}}_storePacket(P,I,E){this.log("_storePacket :: packet: %o",P),this.log("_storePacket :: cb? %s",!!I),E=E||this.noop;let w=P;if(w.cmd==="publish"){w=(0,u.default)(P);let R=this._removeTopicAliasAndRecoverTopicName(w);if(R)return I&&I(R)}let B=w.qos||0;B===0&&this.queueQoSZero||w.cmd!=="publish"?this.queue.push({packet:w,cb:I}):B>0?(I=this.outgoing[w.messageId]?this.outgoing[w.messageId].cb:null,this.outgoingStore.put(w,R=>{if(R)return I&&I(R);E()})):I&&I(new Error("No connection to broker"))}_setupKeepaliveManager(){this.log("_setupKeepaliveManager :: keepalive %d (seconds)",this.options.keepalive),!this.keepaliveManager&&this.options.keepalive&&(this.keepaliveManager=new S.default(this,this.options.timerVariant))}_destroyKeepaliveManager(){this.keepaliveManager&&(this.log("_destroyKeepaliveManager :: destroying keepalive manager"),this.keepaliveManager.destroy(),this.keepaliveManager=null)}reschedulePing(P=!1){this.keepaliveManager&&this.options.keepalive&&(P||this.options.reschedulePings)&&this._reschedulePing()}_reschedulePing(){this.log("_reschedulePing :: rescheduling ping"),this.keepaliveManager.reschedule()}sendPing(){this.log("_sendPing :: sending pingreq"),this._sendPacket({cmd:"pingreq"})}onKeepaliveTimeout(){this.emit("error",new Error("Keepalive timeout")),this.log("onKeepaliveTimeout :: calling _cleanUp with force true"),this._cleanUp(!0)}_resubscribe(){this.log("_resubscribe");let P=Object.keys(this._resubscribeTopics);if(!this._firstConnection&&(this.options.clean||this.options.protocolVersion>=4&&!this.connackPacket.sessionPresent)&&P.length>0)if(this.options.resubscribe)if(this.options.protocolVersion===5){this.log("_resubscribe: protocolVersion 5");for(let I=0;I{let E=this.outgoingStore.createStream(),w=()=>{E.destroy(),E=null,this._flushStoreProcessingQueue(),B()},B=()=>{this._storeProcessing=!1,this._packetIdsDuringStoreProcessing={}};this.once("close",w),E.on("error",rt=>{B(),this._flushStoreProcessingQueue(),this.removeListener("close",w),this.emit("error",rt)});let R=()=>{if(!E)return;let rt,st=E.read(1);st?(this._storeProcessing=!0,this._packetIdsDuringStoreProcessing[st.messageId]?R():this.disconnecting||this.reconnectTimer?E.destroy&&E.destroy():(rt=this.outgoing[st.messageId]?this.outgoing[st.messageId].cb:null,this.outgoing[st.messageId]={volatile:!1,cb(X,j){rt&&rt(X,j),R()}},this._packetIdsDuringStoreProcessing[st.messageId]=!0,this.messageIdProvider.register(st.messageId)?this._sendPacket(st,void 0,void 0,!0):this.log("messageId: %d has already used.",st.messageId))):E.once("readable",R)};E.on("end",()=>{let rt=!0;for(let st in this._packetIdsDuringStoreProcessing)if(!this._packetIdsDuringStoreProcessing[st]){rt=!1;break}this.removeListener("close",w),rt?(B(),this._invokeAllStoreProcessingQueue(),this.emit("connect",P)):I()}),R()};I()}_invokeStoreProcessingQueue(){if(!this._storeProcessing&&this._storeProcessingQueue.length>0){let P=this._storeProcessingQueue[0];if(P&&P.invoke())return this._storeProcessingQueue.shift(),!0}return!1}_invokeAllStoreProcessingQueue(){for(;this._invokeStoreProcessingQueue(););}_flushStoreProcessingQueue(){for(let P of this._storeProcessingQueue)P.cbStorePut&&P.cbStorePut(new Error("Connection closed")),P.callback&&P.callback(new Error("Connection closed"));this._storeProcessingQueue.splice(0)}_removeOutgoingAndStoreMessage(P,I){delete this.outgoing[P],this.outgoingStore.del({messageId:P},(E,w)=>{I(E,w),this.messageIdProvider.deallocate(P),this._invokeStoreProcessingQueue()})}};V.VERSION=b.MQTTJS_VERSION,t.default=V}),hy=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e=zp();t.default=class{constructor(){this.numberAllocator=new e.NumberAllocator(1,65535)}allocate(){return this.lastId=this.numberAllocator.alloc(),this.lastId}getLastAllocated(){return this.lastId}register(r){return this.numberAllocator.use(r)}deallocate(r){this.numberAllocator.free(r)}clear(){this.numberAllocator.clear()}}});function Yr(t){throw new RangeError(Qp[t])}function Sc(t,e){let r=t.split("@"),n="";return r.length>1&&(n=r[0]+"@",t=r[1]),n+function(l,o){let s=[],i=l.length;for(;i--;)s[i]=o(l[i]);return s}((t=t.replace(Gp,".")).split("."),e).join(".")}function Ac(t){let e=[],r=0,n=t.length;for(;r=55296&&l<=56319&&r{ct(),ft(),ht(),kc=/^xn--/,Ic=/[^\0-\x7E]/,Gp=/[\x2E\u3002\uFF0E\uFF61]/g,Qp={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},Be=Math.floor,Li=String.fromCharCode,bs=function(t,e){return t+22+75*(t<26)-((e!=0)<<5)},vs=function(t,e,r){let n=0;for(t=r?Be(t/700):t>>1,t+=Be(t/e);t>455;n+=36)t=Be(t/35);return Be(n+36*t/(t+38))},ws=function(t){let e=[],r=t.length,n=0,l=128,o=72,s=t.lastIndexOf("-");s<0&&(s=0);for(let a=0;a=128&&Yr("not-basic"),e.push(t.charCodeAt(a));for(let a=s>0?s+1:0;a=r&&Yr("invalid-input");let m=(i=t.charCodeAt(a++))-48<10?i-22:i-65<26?i-65:i-97<26?i-97:36;(m>=36||m>Be((2147483647-n)/d))&&Yr("overflow"),n+=m*d;let b=f<=o?1:f>=o+26?26:f-o;if(mBe(2147483647/_)&&Yr("overflow"),d*=_}let c=e.length+1;o=vs(n-u,c,u==0),Be(n/c)>2147483647-l&&Yr("overflow"),l+=Be(n/c),n%=c,e.splice(n++,0,l)}var i;return String.fromCodePoint(...e)},_s=function(t){let e=[],r=(t=Ac(t)).length,n=128,l=0,o=72;for(let a of t)a<128&&e.push(Li(a));let s=e.length,i=s;for(s&&e.push("-");i=n&&cBe((2147483647-l)/u)&&Yr("overflow"),l+=(a-n)*u,n=a;for(let c of t)if(c2147483647&&Yr("overflow"),c==n){let d=l;for(let f=36;;f+=36){let m=f<=o?1:f>=o+26?26:f-o;if(dString.fromCodePoint(...t)},decode:ws,encode:_s,toASCII:function(t){return Sc(t,function(e){return Ic.test(e)?"xn--"+_s(e):e})},toUnicode:function(t){return Sc(t,function(e){return kc.test(e)?ws(e.slice(4).toLowerCase()):e})}},Xr.encode,Xr.toASCII,Xr.toUnicode,Xr.ucs2,Xr.version});function py(t,e){return Object.prototype.hasOwnProperty.call(t,e)}var Tc,wn,Oc,nr,dy=ne(()=>{ct(),ft(),ht(),Tc=function(t,e,r,n){e=e||"&",r=r||"=";var l={};if(typeof t!="string"||t.length===0)return l;var o=/\+/g;t=t.split(e);var s=1e3;n&&typeof n.maxKeys=="number"&&(s=n.maxKeys);var i=t.length;s>0&&i>s&&(i=s);for(var a=0;a=0?(u=m.substr(0,b),c=m.substr(b+1)):(u=m,c=""),d=decodeURIComponent(u),f=decodeURIComponent(c),py(l,d)?Array.isArray(l[d])?l[d].push(f):l[d]=[l[d],f]:l[d]=f}return l},wn=function(t){switch(typeof t){case"string":return t;case"boolean":return t?"true":"false";case"number":return isFinite(t)?t:"";default:return""}},Oc=function(t,e,r,n){return e=e||"&",r=r||"=",t===null&&(t=void 0),typeof t=="object"?Object.keys(t).map(function(l){var o=encodeURIComponent(wn(l))+r;return Array.isArray(t[l])?t[l].map(function(s){return o+encodeURIComponent(wn(s))}).join(e):o+encodeURIComponent(wn(t[l]))}).join(e):n?encodeURIComponent(wn(n))+r+encodeURIComponent(wn(t)):""},(nr={}).decode=nr.parse=Tc,nr.encode=nr.stringify=Oc,nr.decode,nr.encode,nr.parse,nr.stringify});function Qa(){throw new Error("setTimeout has not been defined")}function Ya(){throw new Error("clearTimeout has not been defined")}function Yp(t){if(or===setTimeout)return setTimeout(t,0);if((or===Qa||!or)&&setTimeout)return or=setTimeout,setTimeout(t,0);try{return or(t,0)}catch{try{return or.call(null,t,0)}catch{return or.call(this||ln,t,0)}}}function gy(){un&&nn&&(un=!1,nn.length?ze=nn.concat(ze):li=-1,ze.length&&Jp())}function Jp(){if(!un){var t=Yp(gy);un=!0;for(var e=ze.length;e;){for(nn=ze,ze=[];++li{ct(),ft(),ht(),ln=typeof globalThis<"u"?globalThis:typeof self<"u"?self:to,Gt=xc={},function(){try{or=typeof setTimeout=="function"?setTimeout:Qa}catch{or=Qa}try{sr=typeof clearTimeout=="function"?clearTimeout:Ya}catch{sr=Ya}}(),ze=[],un=!1,li=-1,Gt.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r1)for(var S=1;S{ct(),ft(),ht(),Zi={},Ja=!1,Zr=typeof globalThis<"u"?globalThis:typeof self<"u"?self:to,(Kt=yy()).platform="browser",Kt.addListener,Kt.argv,Kt.binding,Kt.browser,Kt.chdir,Kt.cwd,Kt.emit,Kt.env,Kt.listeners,Kt.nextTick,Kt.off,Kt.on,Kt.once,Kt.prependListener,Kt.prependOnceListener,Kt.removeAllListeners,Kt.removeListener,Kt.title,Kt.umask,Kt.version,Kt.versions}),Es,Ss,Xa,by=ne(()=>{ct(),ft(),ht(),Xp(),Es={},Ss=!1,Xa=function(){if(Ss)return Es;Ss=!0;var t=Kt;function e(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function r(l,o){for(var s,i="",a=0,u=-1,c=0,d=0;d<=l.length;++d){if(d2){var f=i.lastIndexOf("/");if(f!==i.length-1){f===-1?(i="",a=0):a=(i=i.slice(0,f)).length-1-i.lastIndexOf("/"),u=d,c=0;continue}}else if(i.length===2||i.length===1){i="",a=0,u=d,c=0;continue}}o&&(i.length>0?i+="/..":i="..",a=2)}else i.length>0?i+="/"+l.slice(u+1,d):i=l.slice(u+1,d),a=d-u-1;u=d,c=0}else s===46&&c!==-1?++c:c=-1}return i}var n={resolve:function(){for(var l,o="",s=!1,i=arguments.length-1;i>=-1&&!s;i--){var a;i>=0?a=arguments[i]:(l===void 0&&(l=t.cwd()),a=l),e(a),a.length!==0&&(o=a+"/"+o,s=a.charCodeAt(0)===47)}return o=r(o,!s),s?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(l){if(e(l),l.length===0)return".";var o=l.charCodeAt(0)===47,s=l.charCodeAt(l.length-1)===47;return(l=r(l,!o)).length===0&&!o&&(l="."),l.length>0&&s&&(l+="/"),o?"/"+l:l},isAbsolute:function(l){return e(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,o=0;o0&&(l===void 0?l=s:l+="/"+s)}return l===void 0?".":n.normalize(l)},relative:function(l,o){if(e(l),e(o),l===o||(l=n.resolve(l))===(o=n.resolve(o)))return"";for(var s=1;sd){if(o.charCodeAt(u+m)===47)return o.slice(u+m+1);if(m===0)return o.slice(u+m)}else a>d&&(l.charCodeAt(s+m)===47?f=m:m===0&&(f=0));break}var b=l.charCodeAt(s+m);if(b!==o.charCodeAt(u+m))break;b===47&&(f=m)}var _="";for(m=s+f+1;m<=i;++m)(m===i||l.charCodeAt(m)===47)&&(_.length===0?_+="..":_+="/..");return _.length>0?_+o.slice(u+f):(u+=f,o.charCodeAt(u)===47&&++u,o.slice(u))},_makeLong:function(l){return l},dirname:function(l){if(e(l),l.length===0)return".";for(var o=l.charCodeAt(0),s=o===47,i=-1,a=!0,u=l.length-1;u>=1;--u)if((o=l.charCodeAt(u))===47){if(!a){i=u;break}}else a=!1;return i===-1?s?"/":".":s&&i===1?"//":l.slice(0,i)},basename:function(l,o){if(o!==void 0&&typeof o!="string")throw new TypeError('"ext" argument must be a string');e(l);var s,i=0,a=-1,u=!0;if(o!==void 0&&o.length>0&&o.length<=l.length){if(o.length===l.length&&o===l)return"";var c=o.length-1,d=-1;for(s=l.length-1;s>=0;--s){var f=l.charCodeAt(s);if(f===47){if(!u){i=s+1;break}}else d===-1&&(u=!1,d=s+1),c>=0&&(f===o.charCodeAt(c)?--c==-1&&(a=s):(c=-1,a=d))}return i===a?a=d:a===-1&&(a=l.length),l.slice(i,a)}for(s=l.length-1;s>=0;--s)if(l.charCodeAt(s)===47){if(!u){i=s+1;break}}else a===-1&&(u=!1,a=s+1);return a===-1?"":l.slice(i,a)},extname:function(l){e(l);for(var o=-1,s=0,i=-1,a=!0,u=0,c=l.length-1;c>=0;--c){var d=l.charCodeAt(c);if(d!==47)i===-1&&(a=!1,i=c+1),d===46?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1);else if(!a){s=c+1;break}}return o===-1||i===-1||u===0||u===1&&o===i-1&&o===s+1?"":l.slice(o,i)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(o,s){var i=s.dir||s.root,a=s.base||(s.name||"")+(s.ext||"");return i?i===s.root?i+a:i+o+a:a}("/",l)},parse:function(l){e(l);var o={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return o;var s,i=l.charCodeAt(0),a=i===47;a?(o.root="/",s=1):s=0;for(var u=-1,c=0,d=-1,f=!0,m=l.length-1,b=0;m>=s;--m)if((i=l.charCodeAt(m))!==47)d===-1&&(f=!1,d=m+1),i===46?u===-1?u=m:b!==1&&(b=1):u!==-1&&(b=-1);else if(!f){c=m+1;break}return u===-1||d===-1||b===0||b===1&&u===d-1&&u===c+1?d!==-1&&(o.base=o.name=c===0&&a?l.slice(1,d):l.slice(c,d)):(c===0&&a?(o.name=l.slice(1,u),o.base=l.slice(1,d)):(o.name=l.slice(c,u),o.base=l.slice(c,d)),o.ext=l.slice(u,d)),c>0?o.dir=l.slice(0,c-1):a&&(o.dir="/"),o},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,Es=n}()}),Zp={};function Ae(){this.protocol=null,this.slashes=null,this.auth=null,this.host=null,this.port=null,this.hostname=null,this.hash=null,this.search=null,this.query=null,this.pathname=null,this.path=null,this.href=null}function Kn(t,e,r){if(t&&Me.isObject(t)&&t instanceof Ae)return t;var n=new Ae;return n.parse(t,e,r),n}function vy(t){if(typeof t=="string")t=new URL(t);else if(!(t instanceof URL))throw new Deno.errors.InvalidData("invalid argument path , must be a string or URL");if(t.protocol!=="file:")throw new Deno.errors.InvalidData("invalid url scheme");return go?function(e){let r=e.hostname,n=e.pathname;for(let l=0;lod||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return n.slice(1)}}(t):function(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let r=e.pathname;for(let n=0;n_d||o!==":")throw new Deno.errors.InvalidData("file url path must be absolute");return n.slice(1)}}(t):function(e){if(e.hostname!=="")throw new Deno.errors.InvalidData("invalid file url hostname");let r=e.pathname;for(let n=0;nyd,Url:()=>fd,default:()=>jt,fileURLToPath:()=>td,format:()=>pd,parse:()=>md,pathToFileURL:()=>ed,resolve:()=>dd,resolveObject:()=>gd});var jt,Rc,Me,Pc,Bc,Mc,Lc,ji,As,ks,Is,jc,Uc,Ui,Jr,Ni,Ts,Os,Za,Nc,rd,nd,id,od,go,sd,ad,ld,ud,cd,hd,Dc,fd,pd,dd,gd,md,yd,bd,vd,wd,_d,mo,Ed,Sd,Ad,kd,Id,Td,_y=ne(()=>{ct(),ft(),ht(),fy(),dy(),my(),by(),Xp(),Rc=Xr,Me={isString:function(t){return typeof t=="string"},isObject:function(t){return typeof t=="object"&&t!==null},isNull:function(t){return t===null},isNullOrUndefined:function(t){return t==null}},(jt={}).parse=Kn,jt.resolve=function(t,e){return Kn(t,!1,!0).resolve(e)},jt.resolveObject=function(t,e){return t?Kn(t,!1,!0).resolveObject(e):e},jt.format=function(t){return Me.isString(t)&&(t=Kn(t)),t instanceof Ae?t.format():Ae.prototype.format.call(t)},jt.Url=Ae,Pc=/^([a-z0-9.+-]+:)/i,Bc=/:[0-9]*$/,Mc=/^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,Lc=["{","}","|","\\","^","`"].concat(["<",">",'"',"`"," ","\r",` +`," "]),ji=["'"].concat(Lc),As=["%","/","?",";","#"].concat(ji),ks=["/","?","#"],Is=/^[+a-z0-9A-Z_-]{0,63}$/,jc=/^([+a-z0-9A-Z_-]{0,63})(.*)$/,Uc={javascript:!0,"javascript:":!0},Ui={javascript:!0,"javascript:":!0},Jr={http:!0,https:!0,ftp:!0,gopher:!0,file:!0,"http:":!0,"https:":!0,"ftp:":!0,"gopher:":!0,"file:":!0},Ni=nr,Ae.prototype.parse=function(t,e,r){if(!Me.isString(t))throw new TypeError("Parameter 'url' must be a string, not "+typeof t);var n=t.indexOf("?"),l=n!==-1&&n127?V+="x":V+=K[Y];if(!V.match(Is)){var I=U.slice(0,b),E=U.slice(b+1),w=K.match(jc);w&&(I.push(w[1]),E.unshift(w[2])),E.length&&(s="/"+E.join(".")+s),this.hostname=I.join(".");break}}}this.hostname.length>255?this.hostname="":this.hostname=this.hostname.toLowerCase(),S||(this.hostname=Rc.toASCII(this.hostname));var B=this.port?":"+this.port:"",R=this.hostname||"";this.host=R+B,this.href+=this.host,S&&(this.hostname=this.hostname.substr(1,this.hostname.length-2),s[0]!=="/"&&(s="/"+s))}if(!Uc[u])for(b=0,D=ji.length;b0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift())),r.search=t.search,r.query=t.query,Me.isNull(r.pathname)&&Me.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.href=r.format(),r;if(!K.length)return r.pathname=null,r.search?r.path="/"+r.search:r.path=null,r.href=r.format(),r;for(var Y=K.slice(-1)[0],P=(r.host||t.host||K.length>1)&&(Y==="."||Y==="..")||Y==="",I=0,E=K.length;E>=0;E--)(Y=K[E])==="."?K.splice(E,1):Y===".."?(K.splice(E,1),I++):I&&(K.splice(E,1),I--);if(!U&&!D)for(;I--;I)K.unshift("..");!U||K[0]===""||K[0]&&K[0].charAt(0)==="/"||K.unshift(""),P&&K.join("/").substr(-1)!=="/"&&K.push("");var w,B=K[0]===""||K[0]&&K[0].charAt(0)==="/";return V&&(r.hostname=r.host=B?"":K.length?K.shift():"",(w=!!(r.host&&r.host.indexOf("@")>0)&&r.host.split("@"))&&(r.auth=w.shift(),r.host=r.hostname=w.shift())),(U=U||r.host&&K.length)&&!B&&K.unshift(""),K.length?r.pathname=K.join("/"):(r.pathname=null,r.path=null),Me.isNull(r.pathname)&&Me.isNull(r.search)||(r.path=(r.pathname?r.pathname:"")+(r.search?r.search:"")),r.auth=t.auth||r.auth,r.slashes=r.slashes||t.slashes,r.href=r.format(),r},Ae.prototype.parseHost=function(){var t=this.host,e=Bc.exec(t);e&&((e=e[0])!==":"&&(this.port=e.substr(1)),t=t.substr(0,t.length-e.length)),t&&(this.hostname=t)},jt.Url,jt.format,jt.resolve,jt.resolveObject,Ts={},Os=!1,Za=function(){if(Os)return Ts;Os=!0;var t=Qt;function e(l){if(typeof l!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(l))}function r(l,o){for(var s,i="",a=0,u=-1,c=0,d=0;d<=l.length;++d){if(d2){var f=i.lastIndexOf("/");if(f!==i.length-1){f===-1?(i="",a=0):a=(i=i.slice(0,f)).length-1-i.lastIndexOf("/"),u=d,c=0;continue}}else if(i.length===2||i.length===1){i="",a=0,u=d,c=0;continue}}o&&(i.length>0?i+="/..":i="..",a=2)}else i.length>0?i+="/"+l.slice(u+1,d):i=l.slice(u+1,d),a=d-u-1;u=d,c=0}else s===46&&c!==-1?++c:c=-1}return i}var n={resolve:function(){for(var l,o="",s=!1,i=arguments.length-1;i>=-1&&!s;i--){var a;i>=0?a=arguments[i]:(l===void 0&&(l=t.cwd()),a=l),e(a),a.length!==0&&(o=a+"/"+o,s=a.charCodeAt(0)===47)}return o=r(o,!s),s?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(l){if(e(l),l.length===0)return".";var o=l.charCodeAt(0)===47,s=l.charCodeAt(l.length-1)===47;return(l=r(l,!o)).length===0&&!o&&(l="."),l.length>0&&s&&(l+="/"),o?"/"+l:l},isAbsolute:function(l){return e(l),l.length>0&&l.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var l,o=0;o0&&(l===void 0?l=s:l+="/"+s)}return l===void 0?".":n.normalize(l)},relative:function(l,o){if(e(l),e(o),l===o||(l=n.resolve(l))===(o=n.resolve(o)))return"";for(var s=1;sd){if(o.charCodeAt(u+m)===47)return o.slice(u+m+1);if(m===0)return o.slice(u+m)}else a>d&&(l.charCodeAt(s+m)===47?f=m:m===0&&(f=0));break}var b=l.charCodeAt(s+m);if(b!==o.charCodeAt(u+m))break;b===47&&(f=m)}var _="";for(m=s+f+1;m<=i;++m)(m===i||l.charCodeAt(m)===47)&&(_.length===0?_+="..":_+="/..");return _.length>0?_+o.slice(u+f):(u+=f,o.charCodeAt(u)===47&&++u,o.slice(u))},_makeLong:function(l){return l},dirname:function(l){if(e(l),l.length===0)return".";for(var o=l.charCodeAt(0),s=o===47,i=-1,a=!0,u=l.length-1;u>=1;--u)if((o=l.charCodeAt(u))===47){if(!a){i=u;break}}else a=!1;return i===-1?s?"/":".":s&&i===1?"//":l.slice(0,i)},basename:function(l,o){if(o!==void 0&&typeof o!="string")throw new TypeError('"ext" argument must be a string');e(l);var s,i=0,a=-1,u=!0;if(o!==void 0&&o.length>0&&o.length<=l.length){if(o.length===l.length&&o===l)return"";var c=o.length-1,d=-1;for(s=l.length-1;s>=0;--s){var f=l.charCodeAt(s);if(f===47){if(!u){i=s+1;break}}else d===-1&&(u=!1,d=s+1),c>=0&&(f===o.charCodeAt(c)?--c==-1&&(a=s):(c=-1,a=d))}return i===a?a=d:a===-1&&(a=l.length),l.slice(i,a)}for(s=l.length-1;s>=0;--s)if(l.charCodeAt(s)===47){if(!u){i=s+1;break}}else a===-1&&(u=!1,a=s+1);return a===-1?"":l.slice(i,a)},extname:function(l){e(l);for(var o=-1,s=0,i=-1,a=!0,u=0,c=l.length-1;c>=0;--c){var d=l.charCodeAt(c);if(d!==47)i===-1&&(a=!1,i=c+1),d===46?o===-1?o=c:u!==1&&(u=1):o!==-1&&(u=-1);else if(!a){s=c+1;break}}return o===-1||i===-1||u===0||u===1&&o===i-1&&o===s+1?"":l.slice(o,i)},format:function(l){if(l===null||typeof l!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof l);return function(o,s){var i=s.dir||s.root,a=s.base||(s.name||"")+(s.ext||"");return i?i===s.root?i+a:i+o+a:a}("/",l)},parse:function(l){e(l);var o={root:"",dir:"",base:"",ext:"",name:""};if(l.length===0)return o;var s,i=l.charCodeAt(0),a=i===47;a?(o.root="/",s=1):s=0;for(var u=-1,c=0,d=-1,f=!0,m=l.length-1,b=0;m>=s;--m)if((i=l.charCodeAt(m))!==47)d===-1&&(f=!1,d=m+1),i===46?u===-1?u=m:b!==1&&(b=1):u!==-1&&(b=-1);else if(!f){c=m+1;break}return u===-1||d===-1||b===0||b===1&&u===d-1&&u===c+1?d!==-1&&(o.base=o.name=c===0&&a?l.slice(1,d):l.slice(c,d)):(c===0&&a?(o.name=l.slice(1,u),o.base=l.slice(1,d)):(o.name=l.slice(c,u),o.base=l.slice(c,d)),o.ext=l.slice(u,d)),c>0?o.dir=l.slice(0,c-1):a&&(o.dir="/"),o},sep:"/",delimiter:":",win32:null,posix:null};return n.posix=n,Ts=n}(),Nc=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,jt.URL=typeof URL<"u"?URL:null,jt.pathToFileURL=wy,jt.fileURLToPath=vy,jt.Url,jt.format,jt.resolve,jt.resolveObject,jt.URL,rd=92,nd=47,id=97,od=122,go=Nc==="win32",sd=/\//g,ad=/%/g,ld=/\\/g,ud=/\n/g,cd=/\r/g,hd=/\t/g,Dc=typeof Deno<"u"?Deno.build.os==="windows"?"win32":Deno.build.os:void 0,jt.URL=typeof URL<"u"?URL:null,jt.pathToFileURL=ed,jt.fileURLToPath=td,fd=jt.Url,pd=jt.format,dd=jt.resolve,gd=jt.resolveObject,md=jt.parse,yd=jt.URL,bd=92,vd=47,wd=97,_d=122,mo=Dc==="win32",Ed=/\//g,Sd=/%/g,Ad=/\\/g,kd=/\n/g,Id=/\r/g,Td=/\t/g}),Ey=mt((t,e)=>{ct(),ft(),ht(),e.exports=function(){throw new Error("ws does not work in the browser. Browser clients must use the native WebSocket object")}}),Dl=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0}),t.BufferedDuplex=t.writev=void 0;var e=mn(),r=(oe(),Dt(ie));function n(o,s){let i=new Array(o.length);for(let a=0;a{this.destroyed||this.push(a)})}_read(o){this.proxy.read(o)}_write(o,s,i){this.isSocketOpen?this.writeToProxy(o,s,i):this.writeQueue.push({chunk:o,encoding:s,cb:i})}_final(o){this.writeQueue=[],this.proxy.end(o)}_destroy(o,s){this.writeQueue=[],this.proxy.destroy(),s(o)}socketReady(){this.emit("connect"),this.isSocketOpen=!0,this.processWriteQueue()}writeToProxy(o,s,i){this.proxy.write(o,s)===!1?this.proxy.once("drain",i):i()}processWriteQueue(){for(;this.writeQueue.length>0;){let{chunk:o,encoding:s,cb:i}=this.writeQueue.shift();this.writeToProxy(o,s,i)}}};t.BufferedDuplex=l}),Di=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(f){return f&&f.__esModule?f:{default:f}};Object.defineProperty(t,"__esModule",{value:!0}),t.streamBuilder=t.browserStreamBuilder=void 0;var r=(oe(),Dt(ie)),n=e(Ey()),l=e(dr()),o=mn(),s=e(Uo()),i=Dl(),a=(0,l.default)("mqttjs:ws"),u=["rejectUnauthorized","ca","cert","key","pfx","passphrase"];function c(f,m){let b=`${f.protocol}://${f.hostname}:${f.port}${f.path}`;return typeof f.transformWsUrl=="function"&&(b=f.transformWsUrl(b,f,m)),b}function d(f){let m=f;return f.port||(f.protocol==="wss"?m.port=443:m.port=80),f.path||(m.path="/"),f.wsOptions||(m.wsOptions={}),!s.default&&!f.forceNativeWebSocket&&f.protocol==="wss"&&u.forEach(b=>{Object.prototype.hasOwnProperty.call(f,b)&&!Object.prototype.hasOwnProperty.call(f.wsOptions,b)&&(m.wsOptions[b]=f[b])}),m}t.streamBuilder=(f,m)=>{a("streamBuilder");let b=d(m);b.hostname=b.hostname||b.host||"localhost";let _=c(b,f),S=function(D,K,V){a("createWebSocket"),a(`protocol: ${V.protocolId} ${V.protocolVersion}`);let Y,P=V.protocolId==="MQIsdp"&&V.protocolVersion===3?"mqttv3.1":"mqtt";return a(`creating new Websocket for url: ${K} and protocol: ${P}`),Y=V.createWebsocket?V.createWebsocket(K,[P],V):new n.default(K,[P],V.wsOptions),Y}(0,_,b),U=n.default.createWebSocketStream(S,b.wsOptions);return U.url=_,S.on("close",()=>{U.destroy()}),U},t.browserStreamBuilder=(f,m)=>{a("browserStreamBuilder");let b,_=function(w){let B=d(w);if(B.hostname||(B.hostname=B.host),!B.hostname){if(typeof document>"u")throw new Error("Could not determine host. Specify host manually.");let R=new URL(document.URL);B.hostname=R.hostname,B.port||(B.port=Number(R.port))}return B.objectMode===void 0&&(B.objectMode=!(B.binary===!0||B.binary===void 0)),B}(m).browserBufferSize||524288,S=m.browserBufferTimeout||1e3,U=!m.objectMode,D=function(w,B){let R,rt=B.protocolId==="MQIsdp"&&B.protocolVersion===3?"mqttv3.1":"mqtt",st=c(B,w);return R=B.createWebsocket?B.createWebsocket(st,[rt],B):new WebSocket(st,[rt]),R.binaryType="arraybuffer",R}(f,m),K=function(w,B,R){let rt=new o.Transform({objectMode:w.objectMode});return rt._write=B,rt._flush=R,rt}(m,function w(B,R,rt){if(D.bufferedAmount>_)return void setTimeout(w,S,B,R,rt);U&&typeof B=="string"&&(B=r.Buffer.from(B,"utf8"));try{D.send(B)}catch(st){return rt(st)}rt()},function(w){D.close(),w()});m.objectMode||(K._writev=i.writev.bind(K)),K.on("close",()=>{D.close()});let V=typeof D.addEventListener<"u";function Y(){a("WebSocket onOpen"),b instanceof i.BufferedDuplex&&b.socketReady()}function P(w){a("WebSocket onClose",w),b.end(),b.destroy()}function I(w){a("WebSocket onError",w);let B=new Error("WebSocket error");B.event=w,b.destroy(B)}async function E(w){let{data:B}=w;B=B instanceof ArrayBuffer?r.Buffer.from(B):B instanceof Blob?r.Buffer.from(await new Response(B).arrayBuffer()):r.Buffer.from(B,"utf8"),K&&!K.destroyed&&K.push(B)}return D.readyState===D.OPEN?(b=K,b.socket=D):(b=new i.BufferedDuplex(m,K,D),V?D.addEventListener("open",Y):D.onopen=Y),V?(D.addEventListener("close",P),D.addEventListener("error",I),D.addEventListener("message",E)):(D.onclose=P,D.onerror=I,D.onmessage=E),b}}),Fl={};function Vt(){throw new Error("Node.js net module is not supported by JSPM core outside of Node.js")}pn(Fl,{Server:()=>Vt,Socket:()=>Vt,Stream:()=>Vt,_createServerHandle:()=>Vt,_normalizeArgs:()=>Vt,_setSimultaneousAccepts:()=>Vt,connect:()=>Vt,createConnection:()=>Vt,createServer:()=>Vt,default:()=>Od,isIP:()=>Vt,isIPv4:()=>Vt,isIPv6:()=>Vt});var Od,Cd=ne(()=>{ct(),ft(),ht(),Od={_createServerHandle:Vt,_normalizeArgs:Vt,_setSimultaneousAccepts:Vt,connect:Vt,createConnection:Vt,createServer:Vt,isIP:Vt,isIPv4:Vt,isIPv6:Vt,Server:Vt,Socket:Vt,Stream:Vt}}),Fc=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(t,"__esModule",{value:!0});var r=e((Cd(),Dt(Fl))),n=(0,e(dr()).default)("mqttjs:tcp");t.default=(l,o)=>{o.port=o.port||1883,o.hostname=o.hostname||o.host||"localhost";let{port:s,path:i}=o,a=o.hostname;return n("port %d and host %s",s,a),r.default.createConnection({port:s,host:a,path:i})}}),xd={};pn(xd,{default:()=>Rd});var Rd,Sy=ne(()=>{ct(),ft(),ht(),Rd={}}),Wc=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(t,"__esModule",{value:!0});var r=e((Sy(),Dt(xd))),n=e((Cd(),Dt(Fl))),l=(0,e(dr()).default)("mqttjs:tls");t.default=(o,s)=>{s.port=s.port||8883,s.host=s.hostname||s.host||"localhost",n.default.isIP(s.host)===0&&(s.servername=s.host),s.rejectUnauthorized=s.rejectUnauthorized!==!1,delete s.path,l("port %d host %s rejectUnauthorized %b",s.port,s.host,s.rejectUnauthorized);let i=r.default.connect(s);function a(u){s.rejectUnauthorized&&o.emit("error",u),i.end()}return i.on("secureConnect",()=>{s.rejectUnauthorized&&!i.authorized?i.emit("error",new Error("TLS not authorized")):i.removeListener("error",a)}),i.on("error",a),i}}),$c=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e,r,n,l=(oe(),Dt(ie)),o=mn(),s=Dl();t.default=(i,a)=>{if(a.hostname=a.hostname||a.host,!a.hostname)throw new Error("Could not determine host. Specify host manually.");let u=a.protocolId==="MQIsdp"&&a.protocolVersion===3?"mqttv3.1":"mqtt";(function(f){f.hostname||(f.hostname="localhost"),f.path||(f.path="/"),f.wsOptions||(f.wsOptions={})})(a);let c=function(f,m){let b=f.protocol==="wxs"?"wss":"ws",_=`${b}://${f.hostname}${f.path}`;return f.port&&f.port!==80&&f.port!==443&&(_=`${b}://${f.hostname}:${f.port}${f.path}`),typeof f.transformWsUrl=="function"&&(_=f.transformWsUrl(_,f,m)),_}(a,i);e=wx.connectSocket({url:c,protocols:[u]}),r=function(){let f=new o.Transform;return f._write=(m,b,_)=>{e.send({data:m.buffer,success(){_()},fail(S){_(new Error(S))}})},f._flush=m=>{e.close({success(){m()}})},f}(),(n=new s.BufferedDuplex(a,r,e))._destroy=(f,m)=>{e.close({success(){m&&m(f)}})};let d=n.destroy;return n.destroy=(f,m)=>(n.destroy=d,setTimeout(()=>{e.close({fail(){n._destroy(f,m)}})},0),n),e.onOpen(()=>{n.socketReady()}),e.onMessage(f=>{let{data:m}=f;m=m instanceof ArrayBuffer?l.Buffer.from(m):l.Buffer.from(m,"utf8"),r.push(m)}),e.onClose(()=>{n.emit("close"),n.end(),n.destroy()}),e.onError(f=>{let m=new Error(f.errMsg);n.destroy(m)}),n}}),Vc=mt(t=>{ct(),ft(),ht(),Object.defineProperty(t,"__esModule",{value:!0});var e,r,n,l=(oe(),Dt(ie)),o=mn(),s=Dl(),i=!1;t.default=(a,u)=>{if(u.hostname=u.hostname||u.host,!u.hostname)throw new Error("Could not determine host. Specify host manually.");let c=u.protocolId==="MQIsdp"&&u.protocolVersion===3?"mqttv3.1":"mqtt";(function(f){f.hostname||(f.hostname="localhost"),f.path||(f.path="/"),f.wsOptions||(f.wsOptions={})})(u);let d=function(f,m){let b=f.protocol==="alis"?"wss":"ws",_=`${b}://${f.hostname}${f.path}`;return f.port&&f.port!==80&&f.port!==443&&(_=`${b}://${f.hostname}:${f.port}${f.path}`),typeof f.transformWsUrl=="function"&&(_=f.transformWsUrl(_,f,m)),_}(u,a);return(e=u.my).connectSocket({url:d,protocols:c}),r=function(){let f=new o.Transform;return f._write=(m,b,_)=>{e.sendSocketMessage({data:m.buffer,success(){_()},fail(){_(new Error)}})},f._flush=m=>{e.closeSocket({success(){m()}})},f}(),n=new s.BufferedDuplex(u,r,e),i||(i=!0,e.onSocketOpen(()=>{n.socketReady()}),e.onSocketMessage(f=>{if(typeof f.data=="string"){let m=l.Buffer.from(f.data,"base64");r.push(m)}else{let m=new FileReader;m.addEventListener("load",()=>{let b=m.result;b=b instanceof ArrayBuffer?l.Buffer.from(b):l.Buffer.from(b,"utf8"),r.push(b)}),m.readAsArrayBuffer(f.data)}}),e.onSocketClose(()=>{n.end(),n.destroy()}),e.onSocketError(f=>{n.destroy(f)})),n}}),Ay=mt(t=>{ct(),ft(),ht();var e=t&&t.__importDefault||function(u){return u&&u.__esModule?u:{default:u}};Object.defineProperty(t,"__esModule",{value:!0}),t.connectAsync=void 0;var r=e(dr()),n=e((_y(),Dt(Zp))),l=e(Ka()),o=e(Uo());typeof(Nt==null?void 0:Nt.nextTick)!="function"&&(Nt.nextTick=setImmediate);var s=(0,r.default)("mqttjs"),i=null;function a(u,c){var d,f,m,b;if(s("connecting to an MQTT broker..."),typeof u=="object"&&!c&&(c=u,u=""),c=c||{},u&&typeof u=="string"){let S=n.default.parse(u,!0),U={};if(S.port!=null&&(U.port=Number(S.port)),U.host=S.hostname,U.query=S.query,U.auth=S.auth,U.protocol=S.protocol,U.path=S.path,U.protocol=(d=U.protocol)===null||d===void 0?void 0:d.replace(/:$/,""),!(c=Object.assign(Object.assign({},U),c)).protocol)throw new Error("Missing protocol")}if(c.unixSocket=c.unixSocket||((f=c.protocol)===null||f===void 0?void 0:f.includes("+unix")),c.unixSocket?c.protocol=c.protocol.replace("+unix",""):(m=c.protocol)!==null&&m!==void 0&&m.startsWith("ws")||(b=c.protocol)!==null&&b!==void 0&&b.startsWith("wx")||delete c.path,function(S){let U;S.auth&&(U=S.auth.match(/^(.+):(.+)$/),U?(S.username=U[1],S.password=U[2]):S.username=S.auth)}(c),c.query&&typeof c.query.clientId=="string"&&(c.clientId=c.query.clientId),c.cert&&c.key){if(!c.protocol)throw new Error("Missing secure protocol key");if(["mqtts","wss","wxs","alis"].indexOf(c.protocol)===-1)switch(c.protocol){case"mqtt":c.protocol="mqtts";break;case"ws":c.protocol="wss";break;case"wx":c.protocol="wxs";break;case"ali":c.protocol="alis";break;default:throw new Error(`Unknown protocol for secure connection: "${c.protocol}"!`)}}if(i||(i={},o.default||c.forceNativeWebSocket?(i.ws=Di().browserStreamBuilder,i.wss=Di().browserStreamBuilder,i.wx=$c().default,i.wxs=$c().default,i.ali=Vc().default,i.alis=Vc().default):(i.ws=Di().streamBuilder,i.wss=Di().streamBuilder,i.mqtt=Fc().default,i.tcp=Fc().default,i.ssl=Wc().default,i.tls=i.ssl,i.mqtts=Wc().default)),!i[c.protocol]){let S=["mqtts","wss"].indexOf(c.protocol)!==-1;c.protocol=["mqtt","mqtts","ws","wss","wx","wxs","ali","alis"].filter((U,D)=>(!S||D%2!=0)&&typeof i[U]=="function")[0]}if(c.clean===!1&&!c.clientId)throw new Error("Missing clientId for unclean clients");c.protocol&&(c.defaultProtocol=c.protocol);let _=new l.default(function(S){return c.servers&&((!S._reconnectCount||S._reconnectCount===c.servers.length)&&(S._reconnectCount=0),c.host=c.servers[S._reconnectCount].host,c.port=c.servers[S._reconnectCount].port,c.protocol=c.servers[S._reconnectCount].protocol?c.servers[S._reconnectCount].protocol:c.defaultProtocol,c.hostname=c.host,S._reconnectCount++),s("calling streambuilder for",c.protocol),i[c.protocol](S,c)},c);return _.on("error",()=>{}),_}t.connectAsync=function(u,c,d=!0){return new Promise((f,m)=>{let b=a(u,c),_={connect:U=>{S(),f(b)},end:()=>{S(),f(b)},error:U=>{S(),b.end(),m(U)}};function S(){Object.keys(_).forEach(U=>{b.off(U,_[U])})}d===!1&&(_.close=()=>{_.error(new Error("Couldn't connect to server"))}),Object.keys(_).forEach(U=>{b.on(U,_[U])})})},t.default=a}),qc=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(m,b,_,S){S===void 0&&(S=_);var U=Object.getOwnPropertyDescriptor(b,_);(!U||("get"in U?!b.__esModule:U.writable||U.configurable))&&(U={enumerable:!0,get:function(){return b[_]}}),Object.defineProperty(m,S,U)}:function(m,b,_,S){S===void 0&&(S=_),m[S]=b[_]}),r=t&&t.__setModuleDefault||(Object.create?function(m,b){Object.defineProperty(m,"default",{enumerable:!0,value:b})}:function(m,b){m.default=b}),n=t&&t.__importStar||function(m){if(m&&m.__esModule)return m;var b={};if(m!=null)for(var _ in m)_!=="default"&&Object.prototype.hasOwnProperty.call(m,_)&&e(b,m,_);return r(b,m),b},l=t&&t.__exportStar||function(m,b){for(var _ in m)_!=="default"&&!Object.prototype.hasOwnProperty.call(b,_)&&e(b,m,_)},o=t&&t.__importDefault||function(m){return m&&m.__esModule?m:{default:m}};Object.defineProperty(t,"__esModule",{value:!0}),t.ReasonCodes=t.KeepaliveManager=t.UniqueMessageIdProvider=t.DefaultMessageIdProvider=t.Store=t.MqttClient=t.connectAsync=t.connect=t.Client=void 0;var s=o(Ka());t.MqttClient=s.default;var i=o(xp());t.DefaultMessageIdProvider=i.default;var a=o(hy());t.UniqueMessageIdProvider=a.default;var u=o(Rp());t.Store=u.default;var c=n(Ay());t.connect=c.default,Object.defineProperty(t,"connectAsync",{enumerable:!0,get:function(){return c.connectAsync}});var d=o(Kp());t.KeepaliveManager=d.default,t.Client=s.default,l(Ka(),t),l(Dn(),t);var f=jo();Object.defineProperty(t,"ReasonCodes",{enumerable:!0,get:function(){return f.ReasonCodes}})});const ub=mt(t=>{ct(),ft(),ht();var e=t&&t.__createBinding||(Object.create?function(s,i,a,u){u===void 0&&(u=a);var c=Object.getOwnPropertyDescriptor(i,a);(!c||("get"in c?!i.__esModule:c.writable||c.configurable))&&(c={enumerable:!0,get:function(){return i[a]}}),Object.defineProperty(s,u,c)}:function(s,i,a,u){u===void 0&&(u=a),s[u]=i[a]}),r=t&&t.__setModuleDefault||(Object.create?function(s,i){Object.defineProperty(s,"default",{enumerable:!0,value:i})}:function(s,i){s.default=i}),n=t&&t.__importStar||function(s){if(s&&s.__esModule)return s;var i={};if(s!=null)for(var a in s)a!=="default"&&Object.prototype.hasOwnProperty.call(s,a)&&e(i,s,a);return r(i,s),i},l=t&&t.__exportStar||function(s,i){for(var a in s)a!=="default"&&!Object.prototype.hasOwnProperty.call(i,a)&&e(i,s,a)};Object.defineProperty(t,"__esModule",{value:!0});var o=n(qc());t.default=o,l(qc(),t)})();/*! Bundled license information: + +@jspm/core/nodelibs/browser/buffer.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) +*/var ye="top",xe="bottom",Re="right",be="left",tl="auto",Ai=[ye,xe,Re,be],Bn="start",vi="end",Pd="viewport",Gn="popper",Hc=Ai.reduce(function(t,e){return t.concat([e+"-"+Bn,e+"-"+vi])},[]),Bd=[].concat(Ai,[tl]).reduce(function(t,e){return t.concat([e,e+"-"+Bn,e+"-"+vi])},[]),ky=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function Ye(t){return t?(t.nodeName||"").toLowerCase():null}function Pe(t){if(t==null)return window;if(t.toString()!=="[object Window]"){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function fn(t){return t instanceof Pe(t).Element||t instanceof Element}function Te(t){return t instanceof Pe(t).HTMLElement||t instanceof HTMLElement}function Wl(t){return typeof ShadowRoot<"u"&&(t instanceof Pe(t).ShadowRoot||t instanceof ShadowRoot)}const Iy={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach(function(r){var n=e.styles[r]||{},l=e.attributes[r]||{},o=e.elements[r];Te(o)&&Ye(o)&&(Object.assign(o.style,n),Object.keys(l).forEach(function(s){var i=l[s];i===!1?o.removeAttribute(s):o.setAttribute(s,i===!0?"":i)}))})},effect:function(t){var e=t.state,r={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,r.popper),e.styles=r,e.elements.arrow&&Object.assign(e.elements.arrow.style,r.arrow),function(){Object.keys(e.elements).forEach(function(n){var l=e.elements[n],o=e.attributes[n]||{},s=Object.keys(e.styles.hasOwnProperty(n)?e.styles[n]:r[n]).reduce(function(i,a){return i[a]="",i},{});Te(l)&&Ye(l)&&(Object.assign(l.style,s),Object.keys(o).forEach(function(i){l.removeAttribute(i)}))})}},requires:["computeStyles"]};function Ke(t){return t.split("-")[0]}var cn=Math.max,yo=Math.min,Mn=Math.round;function el(){var t=navigator.userAgentData;return t!=null&&t.brands?t.brands.map(function(e){return e.brand+"/"+e.version}).join(" "):navigator.userAgent}function Md(){return!/^((?!chrome|android).)*safari/i.test(el())}function Ln(t,e,r){e===void 0&&(e=!1),r===void 0&&(r=!1);var n=t.getBoundingClientRect(),l=1,o=1;e&&Te(t)&&(l=t.offsetWidth>0&&Mn(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&Mn(n.height)/t.offsetHeight||1);var s=(fn(t)?Pe(t):window).visualViewport,i=!Md()&&r,a=(n.left+(i&&s?s.offsetLeft:0))/l,u=(n.top+(i&&s?s.offsetTop:0))/o,c=n.width/l,d=n.height/o;return{width:c,height:d,top:u,right:a+c,bottom:u+d,left:a,x:a,y:u}}function $l(t){var e=Ln(t),r=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-r)<=1&&(r=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:r,height:n}}function Ld(t,e){var r=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(r&&Wl(r)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function hr(t){return Pe(t).getComputedStyle(t)}function Ty(t){return["table","td","th"].indexOf(Ye(t))>=0}function Lr(t){return((fn(t)?t.ownerDocument:t.document)||window.document).documentElement}function No(t){return Ye(t)==="html"?t:t.assignedSlot||t.parentNode||(Wl(t)?t.host:null)||Lr(t)}function zc(t){return Te(t)&&hr(t).position!=="fixed"?t.offsetParent:null}function ki(t){for(var e=Pe(t),r=zc(t);r&&Ty(r)&&hr(r).position==="static";)r=zc(r);return r&&(Ye(r)==="html"||Ye(r)==="body"&&hr(r).position==="static")?e:r||function(n){var l=/firefox/i.test(el());if(/Trident/i.test(el())&&Te(n)&&hr(n).position==="fixed")return null;var o=No(n);for(Wl(o)&&(o=o.host);Te(o)&&["html","body"].indexOf(Ye(o))<0;){var s=hr(o);if(s.transform!=="none"||s.perspective!=="none"||s.contain==="paint"||["transform","perspective"].indexOf(s.willChange)!==-1||l&&s.willChange==="filter"||l&&s.filter&&s.filter!=="none")return o;o=o.parentNode}return null}(t)||e}function Vl(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Jn(t,e,r){return cn(t,yo(e,r))}function jd(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function Ud(t,e){return e.reduce(function(r,n){return r[n]=t,r},{})}const Oy={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,r=t.state,n=t.name,l=t.options,o=r.elements.arrow,s=r.modifiersData.popperOffsets,i=Ke(r.placement),a=Vl(i),u=[be,Re].indexOf(i)>=0?"height":"width";if(o&&s){var c=function(E,w){return jd(typeof(E=typeof E=="function"?E(Object.assign({},w.rects,{placement:w.placement})):E)!="number"?E:Ud(E,Ai))}(l.padding,r),d=$l(o),f=a==="y"?ye:be,m=a==="y"?xe:Re,b=r.rects.reference[u]+r.rects.reference[a]-s[a]-r.rects.popper[u],_=s[a]-r.rects.reference[a],S=ki(o),U=S?a==="y"?S.clientHeight||0:S.clientWidth||0:0,D=b/2-_/2,K=c[f],V=U-d[u]-c[m],Y=U/2-d[u]/2+D,P=Jn(K,Y,V),I=a;r.modifiersData[n]=((e={})[I]=P,e.centerOffset=P-Y,e)}},effect:function(t){var e=t.state,r=t.options.element,n=r===void 0?"[data-popper-arrow]":r;n!=null&&(typeof n!="string"||(n=e.elements.popper.querySelector(n)))&&Ld(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function jn(t){return t.split("-")[1]}var Cy={top:"auto",right:"auto",bottom:"auto",left:"auto"};function Kc(t){var e,r=t.popper,n=t.popperRect,l=t.placement,o=t.variation,s=t.offsets,i=t.position,a=t.gpuAcceleration,u=t.adaptive,c=t.roundOffsets,d=t.isFixed,f=s.x,m=f===void 0?0:f,b=s.y,_=b===void 0?0:b,S=typeof c=="function"?c({x:m,y:_}):{x:m,y:_};m=S.x,_=S.y;var U=s.hasOwnProperty("x"),D=s.hasOwnProperty("y"),K=be,V=ye,Y=window;if(u){var P=ki(r),I="clientHeight",E="clientWidth";P===Pe(r)&&hr(P=Lr(r)).position!=="static"&&i==="absolute"&&(I="scrollHeight",E="scrollWidth"),(l===ye||(l===be||l===Re)&&o===vi)&&(V=xe,_-=(d&&P===Y&&Y.visualViewport?Y.visualViewport.height:P[I])-n.height,_*=a?1:-1),(l===be||(l===ye||l===xe)&&o===vi)&&(K=Re,m-=(d&&P===Y&&Y.visualViewport?Y.visualViewport.width:P[E])-n.width,m*=a?1:-1)}var w,B=Object.assign({position:i},u&&Cy),R=c===!0?function(rt){var st=rt.x,X=rt.y,j=window.devicePixelRatio||1;return{x:Mn(st*j)/j||0,y:Mn(X*j)/j||0}}({x:m,y:_}):{x:m,y:_};return m=R.x,_=R.y,a?Object.assign({},B,((w={})[V]=D?"0":"",w[K]=U?"0":"",w.transform=(Y.devicePixelRatio||1)<=1?"translate("+m+"px, "+_+"px)":"translate3d("+m+"px, "+_+"px, 0)",w)):Object.assign({},B,((e={})[V]=D?_+"px":"",e[K]=U?m+"px":"",e.transform="",e))}var Fi={passive:!0},xy={left:"right",right:"left",bottom:"top",top:"bottom"};function Wi(t){return t.replace(/left|right|bottom|top/g,function(e){return xy[e]})}var Ry={start:"end",end:"start"};function Gc(t){return t.replace(/start|end/g,function(e){return Ry[e]})}function ql(t){var e=Pe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function rl(t){return Ln(Lr(t)).left+ql(t).scrollLeft}function Hl(t){var e=hr(t),r=e.overflow,n=e.overflowX,l=e.overflowY;return/auto|scroll|overlay|hidden/.test(r+l+n)}function Nd(t){return["html","body","#document"].indexOf(Ye(t))>=0?t.ownerDocument.body:Te(t)&&Hl(t)?t:Nd(No(t))}function ui(t,e){var r;e===void 0&&(e=[]);var n=Nd(t),l=n===((r=t.ownerDocument)==null?void 0:r.body),o=Pe(n),s=l?[o].concat(o.visualViewport||[],Hl(n)?n:[]):n,i=e.concat(s);return l?i:i.concat(ui(No(s)))}function nl(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function Qc(t,e,r){return e===Pd?nl(function(n,l){var o=Pe(n),s=Lr(n),i=o.visualViewport,a=s.clientWidth,u=s.clientHeight,c=0,d=0;if(i){a=i.width,u=i.height;var f=Md();(f||!f&&l==="fixed")&&(c=i.offsetLeft,d=i.offsetTop)}return{width:a,height:u,x:c+rl(n),y:d}}(t,r)):fn(e)?function(n,l){var o=Ln(n,!1,l==="fixed");return o.top=o.top+n.clientTop,o.left=o.left+n.clientLeft,o.bottom=o.top+n.clientHeight,o.right=o.left+n.clientWidth,o.width=n.clientWidth,o.height=n.clientHeight,o.x=o.left,o.y=o.top,o}(e,r):nl(function(n){var l,o=Lr(n),s=ql(n),i=(l=n.ownerDocument)==null?void 0:l.body,a=cn(o.scrollWidth,o.clientWidth,i?i.scrollWidth:0,i?i.clientWidth:0),u=cn(o.scrollHeight,o.clientHeight,i?i.scrollHeight:0,i?i.clientHeight:0),c=-s.scrollLeft+rl(n),d=-s.scrollTop;return hr(i||o).direction==="rtl"&&(c+=cn(o.clientWidth,i?i.clientWidth:0)-a),{width:a,height:u,x:c,y:d}}(Lr(t)))}function Py(t,e,r,n){var l=e==="clippingParents"?function(a){var u=ui(No(a)),c=["absolute","fixed"].indexOf(hr(a).position)>=0&&Te(a)?ki(a):a;return fn(c)?u.filter(function(d){return fn(d)&&Ld(d,c)&&Ye(d)!=="body"}):[]}(t):[].concat(e),o=[].concat(l,[r]),s=o[0],i=o.reduce(function(a,u){var c=Qc(t,u,n);return a.top=cn(c.top,a.top),a.right=yo(c.right,a.right),a.bottom=yo(c.bottom,a.bottom),a.left=cn(c.left,a.left),a},Qc(t,s,n));return i.width=i.right-i.left,i.height=i.bottom-i.top,i.x=i.left,i.y=i.top,i}function Dd(t){var e,r=t.reference,n=t.element,l=t.placement,o=l?Ke(l):null,s=l?jn(l):null,i=r.x+r.width/2-n.width/2,a=r.y+r.height/2-n.height/2;switch(o){case ye:e={x:i,y:r.y-n.height};break;case xe:e={x:i,y:r.y+r.height};break;case Re:e={x:r.x+r.width,y:a};break;case be:e={x:r.x-n.width,y:a};break;default:e={x:r.x,y:r.y}}var u=o?Vl(o):null;if(u!=null){var c=u==="y"?"height":"width";switch(s){case Bn:e[u]=e[u]-(r[c]/2-n[c]/2);break;case vi:e[u]=e[u]+(r[c]/2-n[c]/2)}}return e}function wi(t,e){e===void 0&&(e={});var r=e,n=r.placement,l=n===void 0?t.placement:n,o=r.strategy,s=o===void 0?t.strategy:o,i=r.boundary,a=i===void 0?"clippingParents":i,u=r.rootBoundary,c=u===void 0?Pd:u,d=r.elementContext,f=d===void 0?Gn:d,m=r.altBoundary,b=m!==void 0&&m,_=r.padding,S=_===void 0?0:_,U=jd(typeof S!="number"?S:Ud(S,Ai)),D=f===Gn?"reference":Gn,K=t.rects.popper,V=t.elements[b?D:f],Y=Py(fn(V)?V:V.contextElement||Lr(t.elements.popper),a,c,s),P=Ln(t.elements.reference),I=Dd({reference:P,element:K,strategy:"absolute",placement:l}),E=nl(Object.assign({},K,I)),w=f===Gn?E:P,B={top:Y.top-w.top+U.top,bottom:w.bottom-Y.bottom+U.bottom,left:Y.left-w.left+U.left,right:w.right-Y.right+U.right},R=t.modifiersData.offset;if(f===Gn&&R){var rt=R[l];Object.keys(B).forEach(function(st){var X=[Re,xe].indexOf(st)>=0?1:-1,j=[ye,xe].indexOf(st)>=0?"y":"x";B[st]+=rt[j]*X})}return B}function By(t,e){e===void 0&&(e={});var r=e,n=r.placement,l=r.boundary,o=r.rootBoundary,s=r.padding,i=r.flipVariations,a=r.allowedAutoPlacements,u=a===void 0?Bd:a,c=jn(n),d=c?i?Hc:Hc.filter(function(b){return jn(b)===c}):Ai,f=d.filter(function(b){return u.indexOf(b)>=0});f.length===0&&(f=d);var m=f.reduce(function(b,_){return b[_]=wi(t,{placement:_,boundary:l,rootBoundary:o,padding:s})[Ke(_)],b},{});return Object.keys(m).sort(function(b,_){return m[b]-m[_]})}const My={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var l=r.mainAxis,o=l===void 0||l,s=r.altAxis,i=s===void 0||s,a=r.fallbackPlacements,u=r.padding,c=r.boundary,d=r.rootBoundary,f=r.altBoundary,m=r.flipVariations,b=m===void 0||m,_=r.allowedAutoPlacements,S=e.options.placement,U=Ke(S),D=a||(U===S||!b?[Wi(S)]:function(T){if(Ke(T)===tl)return[];var q=Wi(T);return[Gc(T),q,Gc(q)]}(S)),K=[S].concat(D).reduce(function(T,q){return T.concat(Ke(q)===tl?By(e,{placement:q,boundary:c,rootBoundary:d,padding:u,flipVariations:b,allowedAutoPlacements:_}):q)},[]),V=e.rects.reference,Y=e.rects.popper,P=new Map,I=!0,E=K[0],w=0;w=0,X=st?"width":"height",j=wi(e,{placement:B,boundary:c,rootBoundary:d,altBoundary:f,padding:u}),N=st?rt?Re:be:rt?xe:ye;V[X]>Y[X]&&(N=Wi(N));var $=Wi(N),nt=[];if(o&&nt.push(j[R]<=0),i&&nt.push(j[N]<=0,j[$]<=0),nt.every(function(T){return T})){E=B,I=!1;break}P.set(B,nt)}if(I)for(var Q=function(T){var q=K.find(function(tt){var it=P.get(tt);if(it)return it.slice(0,T).every(function(lt){return lt})});if(q)return E=q,"break"},G=b?3:1;G>0&&Q(G)!=="break";G--);e.placement!==E&&(e.modifiersData[n]._skip=!0,e.placement=E,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Yc(t,e,r){return r===void 0&&(r={x:0,y:0}),{top:t.top-e.height-r.y,right:t.right-e.width+r.x,bottom:t.bottom-e.height+r.y,left:t.left-e.width-r.x}}function Jc(t){return[ye,Re,xe,be].some(function(e){return t[e]>=0})}const Ly={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,r=t.options,n=t.name,l=r.offset,o=l===void 0?[0,0]:l,s=Bd.reduce(function(c,d){return c[d]=function(f,m,b){var _=Ke(f),S=[be,ye].indexOf(_)>=0?-1:1,U=typeof b=="function"?b(Object.assign({},m,{placement:f})):b,D=U[0],K=U[1];return D=D||0,K=(K||0)*S,[be,Re].indexOf(_)>=0?{x:K,y:D}:{x:D,y:K}}(d,e.rects,o),c},{}),i=s[e.placement],a=i.x,u=i.y;e.modifiersData.popperOffsets!=null&&(e.modifiersData.popperOffsets.x+=a,e.modifiersData.popperOffsets.y+=u),e.modifiersData[n]=s}},jy={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,r=t.options,n=t.name,l=r.mainAxis,o=l===void 0||l,s=r.altAxis,i=s!==void 0&&s,a=r.boundary,u=r.rootBoundary,c=r.altBoundary,d=r.padding,f=r.tether,m=f===void 0||f,b=r.tetherOffset,_=b===void 0?0:b,S=wi(e,{boundary:a,rootBoundary:u,padding:d,altBoundary:c}),U=Ke(e.placement),D=jn(e.placement),K=!D,V=Vl(U),Y=V==="x"?"y":"x",P=e.modifiersData.popperOffsets,I=e.rects.reference,E=e.rects.popper,w=typeof _=="function"?_(Object.assign({},e.rects,{placement:e.placement})):_,B=typeof w=="number"?{mainAxis:w,altAxis:w}:Object.assign({mainAxis:0,altAxis:0},w),R=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,rt={x:0,y:0};if(P){if(o){var st,X=V==="y"?ye:be,j=V==="y"?xe:Re,N=V==="y"?"height":"width",$=P[V],nt=$+S[X],Q=$-S[j],G=m?-E[N]/2:0,T=D===Bn?I[N]:E[N],q=D===Bn?-E[N]:-I[N],tt=e.elements.arrow,it=m&&tt?$l(tt):{width:0,height:0},lt=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},ut=lt[X],pt=lt[j],H=Jn(0,I[N],it[N]),et=K?I[N]/2-G-H-ut-B.mainAxis:T-H-ut-B.mainAxis,Z=K?-I[N]/2+G+H+pt+B.mainAxis:q+H+pt+B.mainAxis,dt=e.elements.arrow&&ki(e.elements.arrow),L=dt?V==="y"?dt.clientTop||0:dt.clientLeft||0:0,A=(st=R==null?void 0:R[V])!=null?st:0,F=$+Z-A,h=Jn(m?yo(nt,$+et-A-L):nt,$,m?cn(Q,F):Q);P[V]=h,rt[V]=h-$}if(i){var p,y=V==="x"?ye:be,O=V==="x"?xe:Re,x=P[Y],C=Y==="y"?"height":"width",g=x+S[y],v=x-S[O],k=[ye,be].indexOf(U)!==-1,M=(p=R==null?void 0:R[Y])!=null?p:0,W=k?g:x-I[C]-E[C]-M+B.altAxis,J=k?x+I[C]+E[C]-M-B.altAxis:v,at=m&&k?function(ot,vt,bt){var wt=Jn(ot,vt,bt);return wt>bt?bt:wt}(W,x,J):Jn(m?W:g,x,m?J:v);P[Y]=at,rt[Y]=at-x}e.modifiersData[n]=rt}},requiresIfExists:["offset"]};function Uy(t,e,r){r===void 0&&(r=!1);var n,l,o=Te(e),s=Te(e)&&function(d){var f=d.getBoundingClientRect(),m=Mn(f.width)/d.offsetWidth||1,b=Mn(f.height)/d.offsetHeight||1;return m!==1||b!==1}(e),i=Lr(e),a=Ln(t,s,r),u={scrollLeft:0,scrollTop:0},c={x:0,y:0};return(o||!o&&!r)&&((Ye(e)!=="body"||Hl(i))&&(u=(n=e)!==Pe(n)&&Te(n)?{scrollLeft:(l=n).scrollLeft,scrollTop:l.scrollTop}:ql(n)),Te(e)?((c=Ln(e,!0)).x+=e.clientLeft,c.y+=e.clientTop):i&&(c.x=rl(i))),{x:a.left+u.scrollLeft-c.x,y:a.top+u.scrollTop-c.y,width:a.width,height:a.height}}function Ny(t){var e=new Map,r=new Set,n=[];function l(o){r.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach(function(s){if(!r.has(s)){var i=e.get(s);i&&l(i)}}),n.push(o)}return t.forEach(function(o){e.set(o.name,o)}),t.forEach(function(o){r.has(o.name)||l(o)}),n}function Dy(t){var e;return function(){return e||(e=new Promise(function(r){Promise.resolve().then(function(){e=void 0,r(t())})})),e}}var Xc={placement:"bottom",modifiers:[],strategy:"absolute"};function Zc(){for(var t=arguments.length,e=new Array(t),r=0;r{};let $n={},Ke={},Xe=null,Ve={mark:fe,measure:fe};try{typeof window<"u"&&($n=window),typeof document<"u"&&(Ke=document),typeof MutationObserver<"u"&&(Xe=MutationObserver),typeof performance<"u"&&(Ve=performance)}catch{}const{userAgent:ue=""}=$n.navigator||{},Y=$n,v=Ke,me=Xe,sn=Ve;Y.document;const R=!!v.documentElement&&!!v.head&&typeof v.addEventListener=="function"&&typeof v.createElement=="function",Ge=~ue.indexOf("MSIE")||~ue.indexOf("Trident/");var Ze={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fab:"brands","fa-brands":"brands"},duotone:{fa:"solid",fad:"solid","fa-solid":"solid","fa-duotone":"solid",fadr:"regular","fa-regular":"regular",fadl:"light","fa-light":"light",fadt:"thin","fa-thin":"thin"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid",fasdr:"regular","fa-regular":"regular",fasdl:"light","fa-light":"light",fasdt:"thin","fa-thin":"thin"}},Je=["fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone"],O="classic",hn="duotone",Qe=[O,hn,"sharp","sharp-duotone"],Pt=new Map([["classic",{defaultShortPrefixId:"fas",defaultStyleId:"solid",styleIds:["solid","regular","light","thin","brands"],futureStyleIds:[],defaultFontWeight:900}],["sharp",{defaultShortPrefixId:"fass",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["duotone",{defaultShortPrefixId:"fad",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}],["sharp-duotone",{defaultShortPrefixId:"fasds",defaultStyleId:"solid",styleIds:["solid","regular","light","thin"],futureStyleIds:[],defaultFontWeight:900}]]),St=["fak","fa-kit","fakd","fa-kit-duotone"],Ct={fak:"kit","fa-kit":"kit"},jt={fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"},Et=["fak","fakd"],It={kit:"fak"},Ft={"kit-duotone":"fakd"},cn={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Dt=["fak","fa-kit","fakd","fa-kit-duotone"],En={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},duotone:{fadr:"fa-regular",fadl:"fa-light",fadt:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid",fasdr:"fa-regular",fasdl:"fa-light",fasdt:"fa-thin"}},In=["fa","fas","far","fal","fat","fad","fadr","fadl","fadt","fab","fass","fasr","fasl","fast","fasds","fasdr","fasdl","fasdt","fa-classic","fa-duotone","fa-sharp","fa-sharp-duotone","fa-solid","fa-regular","fa-light","fa-thin","fa-duotone","fa-brands"],$e=[1,2,3,4,5,6,7,8,9,10],Rt=$e.concat([11,12,13,14,15,16,17,18,19,20]),Tt=[...Object.keys({classic:["fas","far","fal","fat","fad"],duotone:["fadr","fadl","fadt"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds","fasdr","fasdl","fasdt"]}),"solid","regular","light","thin","duotone","brands","2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",cn.GROUP,cn.SWAP_OPACITY,cn.PRIMARY,cn.SECONDARY].concat($e.map(n=>"".concat(n,"x"))).concat(Rt.map(n=>"w-".concat(n)));const I="___FONT_AWESOME___",Fn=16,nt="svg-inline--fa",U="data-fa-i2svg",Dn="data-fa-pseudo-element",Rn="data-prefix",Tn="data-icon",de="fontawesome-i2svg",Bt=["HTML","HEAD","STYLE","SCRIPT"],et=(()=>{try{return!0}catch{return!1}})();function an(n){return new Proxy(n,{get:(e,t)=>t in e?e[t]:e[O]})}const tt=s({},Ze);tt[O]=s(s(s(s({},{"fa-duotone":"duotone"}),Ze[O]),Ct),jt);const Yt=an(tt),Bn=s({},{classic:{solid:"fas",regular:"far",light:"fal",thin:"fat",brands:"fab"},duotone:{solid:"fad",regular:"fadr",light:"fadl",thin:"fadt"},sharp:{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"},"sharp-duotone":{solid:"fasds",regular:"fasdr",light:"fasdl",thin:"fasdt"}});Bn[O]=s(s(s(s({},{duotone:"fad"}),Bn[O]),It),Ft);const pe=an(Bn),Yn=s({},En);Yn[O]=s(s({},Yn[O]),{fak:"fa-kit"});const ne=an(Yn),zn=s({},{classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},duotone:{"fa-regular":"fadr","fa-light":"fadl","fa-thin":"fadt"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds","fa-regular":"fasdr","fa-light":"fasdl","fa-thin":"fasdt"}});zn[O]=s(s({},zn[O]),{"fa-kit":"fak"}),an(zn);const Wt=/fa(s|r|l|t|d|dr|dl|dt|b|k|kd|ss|sr|sl|st|sds|sdr|sdl|sdt)?[\-\ ]/,at="fa-layers-text",_t=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;an(s({},{classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},duotone:{900:"fad",400:"fadr",300:"fadl",100:"fadt"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds",400:"fasdr",300:"fasdl",100:"fasdt"}}));const Ht=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],An={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Ut=["kit",...Tt],nn=Y.FontAwesomeConfig||{};v&&typeof v.querySelector=="function"&&[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(n=>{let[e,t]=n;const a=function(r){return r===""||r!=="false"&&(r==="true"||r)}(function(r){var i=v.querySelector("script["+r+"]");if(i)return i.getAttribute(r)}(e));a!=null&&(nn[t]=a)});const rt={styleDefault:"solid",familyDefault:O,cssPrefix:"fa",replacementClass:nt,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};nn.familyPrefix&&(nn.cssPrefix=nn.familyPrefix);const V=s(s({},rt),nn);V.autoReplaceSvg||(V.observeMutations=!1);const p={};Object.keys(rt).forEach(n=>{Object.defineProperty(p,n,{enumerable:!0,set:function(e){V[n]=e,Wn.forEach(t=>t(p))},get:function(){return V[n]}})}),Object.defineProperty(p,"familyPrefix",{enumerable:!0,set:function(n){V.cssPrefix=n,Wn.forEach(e=>e(p))},get:function(){return V.cssPrefix}}),Y.FontAwesomeConfig=p;const Wn=[],B=Fn,C={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function tn(){let n=12,e="";for(;n-- >0;)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return e}function J(n){const e=[];for(let t=(n||[]).length>>>0;t--;)e[t]=n[t];return e}function ee(n){return n.classList?J(n.classList):(n.getAttribute("class")||"").split(" ").filter(e=>e)}function ge(n){return"".concat(n).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function bn(n){return Object.keys(n||{}).reduce((e,t)=>e+"".concat(t,": ").concat(n[t].trim(),";"),"")}function te(n){return n.size!==C.size||n.x!==C.x||n.y!==C.y||n.rotate!==C.rotate||n.flipX||n.flipY}function it(){const n="fa",e=nt,t=p.cssPrefix,a=p.replacementClass;let r=`:root, :host { + --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; + --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; + --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; + --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; + --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; + --fa-font-duotone-regular: normal 400 1em/1 "Font Awesome 6 Duotone"; + --fa-font-duotone-light: normal 300 1em/1 "Font Awesome 6 Duotone"; + --fa-font-duotone-thin: normal 100 1em/1 "Font Awesome 6 Duotone"; + --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; + --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; + --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; + --fa-font-sharp-duotone-regular: normal 400 1em/1 "Font Awesome 6 Sharp Duotone"; + --fa-font-sharp-duotone-light: normal 300 1em/1 "Font Awesome 6 Sharp Duotone"; + --fa-font-sharp-duotone-thin: normal 100 1em/1 "Font Awesome 6 Sharp Duotone"; +} + +svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { + overflow: visible; + box-sizing: content-box; +} + +.svg-inline--fa { + display: var(--fa-display, inline-block); + height: 1em; + overflow: visible; + vertical-align: -0.125em; +} +.svg-inline--fa.fa-2xs { + vertical-align: 0.1em; +} +.svg-inline--fa.fa-xs { + vertical-align: 0em; +} +.svg-inline--fa.fa-sm { + vertical-align: -0.0714285705em; +} +.svg-inline--fa.fa-lg { + vertical-align: -0.2em; +} +.svg-inline--fa.fa-xl { + vertical-align: -0.25em; +} +.svg-inline--fa.fa-2xl { + vertical-align: -0.3125em; +} +.svg-inline--fa.fa-pull-left { + margin-right: var(--fa-pull-margin, 0.3em); + width: auto; +} +.svg-inline--fa.fa-pull-right { + margin-left: var(--fa-pull-margin, 0.3em); + width: auto; +} +.svg-inline--fa.fa-li { + width: var(--fa-li-width, 2em); + top: 0.25em; +} +.svg-inline--fa.fa-fw { + width: var(--fa-fw-width, 1.25em); +} + +.fa-layers svg.svg-inline--fa { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; +} + +.fa-layers-counter, .fa-layers-text { + display: inline-block; + position: absolute; + text-align: center; +} + +.fa-layers { + display: inline-block; + height: 1em; + position: relative; + text-align: center; + vertical-align: -0.125em; + width: 1em; +} +.fa-layers svg.svg-inline--fa { + transform-origin: center center; +} + +.fa-layers-text { + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + transform-origin: center center; +} + +.fa-layers-counter { + background-color: var(--fa-counter-background-color, #ff253a); + border-radius: var(--fa-counter-border-radius, 1em); + box-sizing: border-box; + color: var(--fa-inverse, #fff); + line-height: var(--fa-counter-line-height, 1); + max-width: var(--fa-counter-max-width, 5em); + min-width: var(--fa-counter-min-width, 1.5em); + overflow: hidden; + padding: var(--fa-counter-padding, 0.25em 0.5em); + right: var(--fa-right, 0); + text-overflow: ellipsis; + top: var(--fa-top, 0); + transform: scale(var(--fa-counter-scale, 0.25)); + transform-origin: top right; +} + +.fa-layers-bottom-right { + bottom: var(--fa-bottom, 0); + right: var(--fa-right, 0); + top: auto; + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: bottom right; +} + +.fa-layers-bottom-left { + bottom: var(--fa-bottom, 0); + left: var(--fa-left, 0); + right: auto; + top: auto; + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: bottom left; +} + +.fa-layers-top-right { + top: var(--fa-top, 0); + right: var(--fa-right, 0); + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: top right; +} + +.fa-layers-top-left { + left: var(--fa-left, 0); + right: auto; + top: var(--fa-top, 0); + transform: scale(var(--fa-layers-scale, 0.25)); + transform-origin: top left; +} + +.fa-1x { + font-size: 1em; +} + +.fa-2x { + font-size: 2em; +} + +.fa-3x { + font-size: 3em; +} + +.fa-4x { + font-size: 4em; +} + +.fa-5x { + font-size: 5em; +} + +.fa-6x { + font-size: 6em; +} + +.fa-7x { + font-size: 7em; +} + +.fa-8x { + font-size: 8em; +} + +.fa-9x { + font-size: 9em; +} + +.fa-10x { + font-size: 10em; +} + +.fa-2xs { + font-size: 0.625em; + line-height: 0.1em; + vertical-align: 0.225em; +} + +.fa-xs { + font-size: 0.75em; + line-height: 0.0833333337em; + vertical-align: 0.125em; +} + +.fa-sm { + font-size: 0.875em; + line-height: 0.0714285718em; + vertical-align: 0.0535714295em; +} + +.fa-lg { + font-size: 1.25em; + line-height: 0.05em; + vertical-align: -0.075em; +} + +.fa-xl { + font-size: 1.5em; + line-height: 0.0416666682em; + vertical-align: -0.125em; +} + +.fa-2xl { + font-size: 2em; + line-height: 0.03125em; + vertical-align: -0.1875em; +} + +.fa-fw { + text-align: center; + width: 1.25em; +} + +.fa-ul { + list-style-type: none; + margin-left: var(--fa-li-margin, 2.5em); + padding-left: 0; +} +.fa-ul > li { + position: relative; +} + +.fa-li { + left: calc(-1 * var(--fa-li-width, 2em)); + position: absolute; + text-align: center; + width: var(--fa-li-width, 2em); + line-height: inherit; +} + +.fa-border { + border-color: var(--fa-border-color, #eee); + border-radius: var(--fa-border-radius, 0.1em); + border-style: var(--fa-border-style, solid); + border-width: var(--fa-border-width, 0.08em); + padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); +} + +.fa-pull-left { + float: left; + margin-right: var(--fa-pull-margin, 0.3em); +} + +.fa-pull-right { + float: right; + margin-left: var(--fa-pull-margin, 0.3em); +} + +.fa-beat { + animation-name: fa-beat; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-bounce { + animation-name: fa-bounce; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); +} + +.fa-fade { + animation-name: fa-fade; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-beat-fade { + animation-name: fa-beat-fade; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); +} + +.fa-flip { + animation-name: fa-flip; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, ease-in-out); +} + +.fa-shake { + animation-name: fa-shake; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin { + animation-name: fa-spin; + animation-delay: var(--fa-animation-delay, 0s); + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 2s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, linear); +} + +.fa-spin-reverse { + --fa-animation-direction: reverse; +} + +.fa-pulse, +.fa-spin-pulse { + animation-name: fa-spin; + animation-direction: var(--fa-animation-direction, normal); + animation-duration: var(--fa-animation-duration, 1s); + animation-iteration-count: var(--fa-animation-iteration-count, infinite); + animation-timing-function: var(--fa-animation-timing, steps(8)); +} + +@media (prefers-reduced-motion: reduce) { + .fa-beat, +.fa-bounce, +.fa-fade, +.fa-beat-fade, +.fa-flip, +.fa-pulse, +.fa-shake, +.fa-spin, +.fa-spin-pulse { + animation-delay: -1ms; + animation-duration: 1ms; + animation-iteration-count: 1; + transition-delay: 0s; + transition-duration: 0s; + } +} +@keyframes fa-beat { + 0%, 90% { + transform: scale(1); + } + 45% { + transform: scale(var(--fa-beat-scale, 1.25)); + } +} +@keyframes fa-bounce { + 0% { + transform: scale(1, 1) translateY(0); + } + 10% { + transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); + } + 30% { + transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); + } + 50% { + transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); + } + 57% { + transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); + } + 64% { + transform: scale(1, 1) translateY(0); + } + 100% { + transform: scale(1, 1) translateY(0); + } +} +@keyframes fa-fade { + 50% { + opacity: var(--fa-fade-opacity, 0.4); + } +} +@keyframes fa-beat-fade { + 0%, 100% { + opacity: var(--fa-beat-fade-opacity, 0.4); + transform: scale(1); + } + 50% { + opacity: 1; + transform: scale(var(--fa-beat-fade-scale, 1.125)); + } +} +@keyframes fa-flip { + 50% { + transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); + } +} +@keyframes fa-shake { + 0% { + transform: rotate(-15deg); + } + 4% { + transform: rotate(15deg); + } + 8%, 24% { + transform: rotate(-18deg); + } + 12%, 28% { + transform: rotate(18deg); + } + 16% { + transform: rotate(-22deg); + } + 20% { + transform: rotate(22deg); + } + 32% { + transform: rotate(-12deg); + } + 36% { + transform: rotate(12deg); + } + 40%, 100% { + transform: rotate(0deg); + } +} +@keyframes fa-spin { + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } +} +.fa-rotate-90 { + transform: rotate(90deg); +} + +.fa-rotate-180 { + transform: rotate(180deg); +} + +.fa-rotate-270 { + transform: rotate(270deg); +} + +.fa-flip-horizontal { + transform: scale(-1, 1); +} + +.fa-flip-vertical { + transform: scale(1, -1); +} + +.fa-flip-both, +.fa-flip-horizontal.fa-flip-vertical { + transform: scale(-1, -1); +} + +.fa-rotate-by { + transform: rotate(var(--fa-rotate-angle, 0)); +} + +.fa-stack { + display: inline-block; + vertical-align: middle; + height: 2em; + position: relative; + width: 2.5em; +} + +.fa-stack-1x, +.fa-stack-2x { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; + z-index: var(--fa-stack-z-index, auto); +} + +.svg-inline--fa.fa-stack-1x { + height: 1em; + width: 1.25em; +} +.svg-inline--fa.fa-stack-2x { + height: 2em; + width: 2.5em; +} + +.fa-inverse { + color: var(--fa-inverse, #fff); +} + +.sr-only, +.fa-sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.sr-only-focusable:not(:focus), +.fa-sr-only-focusable:not(:focus) { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + white-space: nowrap; + border-width: 0; +} + +.svg-inline--fa .fa-primary { + fill: var(--fa-primary-color, currentColor); + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa .fa-secondary { + fill: var(--fa-secondary-color, currentColor); + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-primary { + opacity: var(--fa-secondary-opacity, 0.4); +} + +.svg-inline--fa.fa-swap-opacity .fa-secondary { + opacity: var(--fa-primary-opacity, 1); +} + +.svg-inline--fa mask .fa-primary, +.svg-inline--fa mask .fa-secondary { + fill: black; +}`;if(t!==n||a!==e){const i=new RegExp("\\.".concat(n,"\\-"),"g"),o=new RegExp("\\--".concat(n,"\\-"),"g"),l=new RegExp("\\.".concat(e),"g");r=r.replace(i,".".concat(t,"-")).replace(o,"--".concat(t,"-")).replace(l,".".concat(a))}return r}let he=!1;function Ln(){p.autoAddCss&&!he&&(function(n){if(!n||!R)return;const e=v.createElement("style");e.setAttribute("type","text/css"),e.innerHTML=n;const t=v.head.childNodes;let a=null;for(let r=t.length-1;r>-1;r--){const i=t[r],o=(i.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(a=i)}v.head.insertBefore(e,a)}(it()),he=!0)}var qt={mixout:()=>({dom:{css:it,insertCss:Ln}}),hooks:()=>({beforeDOMElementCreation(){Ln()},beforeI2svg(){Ln()}})};const F=Y||{};F[I]||(F[I]={}),F[I].styles||(F[I].styles={}),F[I].hooks||(F[I].hooks={}),F[I].shims||(F[I].shims=[]);var j=F[I];const ot=[],st=function(){v.removeEventListener("DOMContentLoaded",st),pn=1,ot.map(n=>n())};let pn=!1;function rn(n){const{tag:e,attributes:t={},children:a=[]}=n;return typeof n=="string"?ge(n):"<".concat(e," ").concat(function(r){return Object.keys(r||{}).reduce((i,o)=>i+"".concat(o,'="').concat(ge(r[o]),'" '),"").trim()}(t),">").concat(a.map(rn).join(""),"")}function be(n,e,t){if(n&&n[e]&&n[e][t])return{prefix:e,iconName:t,icon:n[e][t]}}R&&(pn=(v.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(v.readyState),pn||v.addEventListener("DOMContentLoaded",st));var On=function(n,e,t,a){var r,i,o,l=Object.keys(n),f=l.length,c=e;for(t===void 0?(r=1,o=n[l[0]]):(r=0,o=t);r=55296&&o<=56319&&r{const a=n[t];return a.icon?e[a.iconName]=a.icon:e[t]=a,e},{})}function _n(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{skipHooks:a=!1}=t,r=ye(e);typeof j.hooks.addPack!="function"||a?j.styles[n]=s(s({},j.styles[n]||{}),r):j.hooks.addPack(n,ye(e)),n==="fas"&&_n("fa",e)}const{styles:en,shims:Kt}=j,lt=Object.keys(ne),Xt=lt.reduce((n,e)=>(n[e]=Object.keys(ne[e]),n),{});let ae=null,ft={},ut={},mt={},dt={},pt={};function Vt(n,e){const t=e.split("-"),a=t[0],r=t.slice(1).join("-");return a!==n||r===""||(i=r,~Ut.indexOf(i))?null:r;var i}const gt=()=>{const n=a=>On(en,(r,i,o)=>(r[o]=On(i,a,{}),r),{});ft=n((a,r,i)=>(r[3]&&(a[r[3]]=i),r[2]&&r[2].filter(o=>typeof o=="number").forEach(o=>{a[o.toString(16)]=i}),a)),ut=n((a,r,i)=>(a[i]=i,r[2]&&r[2].filter(o=>typeof o=="string").forEach(o=>{a[o]=i}),a)),pt=n((a,r,i)=>{const o=r[2];return a[i]=i,o.forEach(l=>{a[l]=i}),a});const e="far"in en||p.autoFetchSvg,t=On(Kt,(a,r)=>{const i=r[0];let o=r[1];const l=r[2];return o!=="far"||e||(o="fas"),typeof i=="string"&&(a.names[i]={prefix:o,iconName:l}),typeof i=="number"&&(a.unicodes[i.toString(16)]={prefix:o,iconName:l}),a},{names:{},unicodes:{}});mt=t.names,dt=t.unicodes,ae=yn(p.styleDefault,{family:p.familyDefault})};var ve;function Hn(n,e){return(ft[n]||{})[e]}function H(n,e){return(pt[n]||{})[e]}function ht(n){return mt[n]||{prefix:null,iconName:null}}function W(){return ae}ve=n=>{ae=yn(n.styleDefault,{family:p.familyDefault})},Wn.push(ve),gt();function yn(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{family:t=O}=e,a=Yt[t][n];if(t===hn&&!n)return"fad";const r=pe[t][n]||pe[t][a],i=n in j.styles?n:null;return r||i||null}function xe(n){return n.sort().filter((e,t,a)=>a.indexOf(e)===t)}function vn(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{skipLookups:t=!1}=e;let a=null;const r=In.concat(Dt),i=xe(n.filter(d=>r.includes(d))),o=xe(n.filter(d=>!In.includes(d))),l=i.filter(d=>(a=d,!Je.includes(d))),[f=null]=l,c=function(d){let u=O;const h=lt.reduce((g,b)=>(g[b]="".concat(p.cssPrefix,"-").concat(b),g),{});return Qe.forEach(g=>{(d.includes(h[g])||d.some(b=>Xt[g].includes(b)))&&(u=g)}),u}(i),m=s(s({},function(d){let u=[],h=null;return d.forEach(g=>{const b=Vt(p.cssPrefix,g);b?h=b:g&&u.push(g)}),{iconName:h,rest:u}}(o)),{},{prefix:yn(f,{family:c})});return s(s(s({},m),function(d){const{values:u,family:h,canonical:g,givenPrefix:b="",styles:w={},config:z={}}=d,x=h===hn,k=u.includes("fa-duotone")||u.includes("fad"),M=z.familyDefault==="duotone",y=g.prefix==="fad"||g.prefix==="fa-duotone";if(!x&&(k||M||y)&&(g.prefix="fad"),(u.includes("fa-brands")||u.includes("fab"))&&(g.prefix="fab"),!g.prefix&&Gt.includes(h)&&(Object.keys(w).find(A=>Zt.includes(A))||z.autoFetchSvg)){const A=Pt.get(h).defaultShortPrefixId;g.prefix=A,g.iconName=H(g.prefix,g.iconName)||g.iconName}return g.prefix!=="fa"&&b!=="fa"||(g.prefix=W()||"fas"),g}({values:n,family:c,styles:en,config:p,canonical:m,givenPrefix:a})),function(d,u,h){let{prefix:g,iconName:b}=h;if(d||!g||!b)return{prefix:g,iconName:b};const w=u==="fa"?ht(b):{},z=H(g,b);return b=w.iconName||z||b,g=w.prefix||g,g!=="far"||en.far||!en.fas||p.autoFetchSvg||(g="fas"),{prefix:g,iconName:b}}(t,a,m))}const Gt=Qe.filter(n=>n!==O||n!==hn),Zt=Object.keys(En).filter(n=>n!==O).map(n=>Object.keys(En[n])).flat();let we=[],G={};const Z={},Jt=Object.keys(Z);function Un(n,e){for(var t=arguments.length,a=new Array(t>2?t-2:0),r=2;r{e=i.apply(null,[e,...a])}),e}function q(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),a=1;a{r.apply(null,t)})}function _(){const n=arguments[0],e=Array.prototype.slice.call(arguments,1);return Z[n]?Z[n].apply(null,e):void 0}function qn(n){n.prefix==="fa"&&(n.prefix="fas");let{iconName:e}=n;const t=n.prefix||W();if(e)return e=H(t,e)||e,be(bt.definitions,t,e)||be(j.styles,t,e)}const bt=new class{constructor(){this.definitions={}}add(){for(var n=arguments.length,e=new Array(n),t=0;t{this.definitions[r]=s(s({},this.definitions[r]||{}),a[r]),_n(r,a[r]);const i=ne[O][r];i&&_n(i,a[r]),gt()})}reset(){this.definitions={}}_pullDefinitions(n,e){const t=e.prefix&&e.iconName&&e.icon?{0:e}:e;return Object.keys(t).map(a=>{const{prefix:r,iconName:i,icon:o}=t[a],l=o[2];n[r]||(n[r]={}),l.length>0&&l.forEach(f=>{typeof f=="string"&&(n[r][f]=o)}),n[r][i]=o}),n}},Qt={i2svg:function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return R?(q("beforeI2svg",n),_("pseudoElements2svg",n),_("i2svg",n)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e}=n;var t;p.autoReplaceSvg===!1&&(p.autoReplaceSvg=!0),p.observeMutations=!0,t=()=>{$t({autoReplaceSvgRoot:e}),q("watch",n)},R&&(pn?setTimeout(t,0):ot.push(t))}},on={noAuto:()=>{p.autoReplaceSvg=!1,p.observeMutations=!1,q("noAuto")},config:p,dom:Qt,parse:{icon:n=>{if(n===null)return null;if(typeof n=="object"&&n.prefix&&n.iconName)return{prefix:n.prefix,iconName:H(n.prefix,n.iconName)||n.iconName};if(Array.isArray(n)&&n.length===2){const e=n[1].indexOf("fa-")===0?n[1].slice(3):n[1],t=yn(n[0]);return{prefix:t,iconName:H(t,e)||e}}if(typeof n=="string"&&(n.indexOf("".concat(p.cssPrefix,"-"))>-1||n.match(Wt))){const e=vn(n.split(" "),{skipLookups:!0});return{prefix:e.prefix||W(),iconName:H(e.prefix,e.iconName)||e.iconName}}if(typeof n=="string"){const e=W();return{prefix:e,iconName:H(e,n)||n}}}},library:bt,findIconDefinition:qn,toHtml:rn},$t=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e=v}=n;(Object.keys(j.styles).length>0||p.autoFetchSvg)&&R&&p.autoReplaceSvg&&on.dom.i2svg({node:e})};function xn(n,e){return Object.defineProperty(n,"abstract",{get:e}),Object.defineProperty(n,"html",{get:function(){return n.abstract.map(t=>rn(t))}}),Object.defineProperty(n,"node",{get:function(){if(!R)return;const t=v.createElement("div");return t.innerHTML=n.html,t.children}}),n}function re(n){const{icons:{main:e,mask:t},prefix:a,iconName:r,transform:i,symbol:o,title:l,maskId:f,titleId:c,extra:m,watchable:d=!1}=n,{width:u,height:h}=t.found?t:e,g=Et.includes(a),b=[p.replacementClass,r?"".concat(p.cssPrefix,"-").concat(r):""].filter(y=>m.classes.indexOf(y)===-1).filter(y=>y!==""||!!y).concat(m.classes).join(" ");let w={children:[],attributes:s(s({},m.attributes),{},{"data-prefix":a,"data-icon":r,class:b,role:m.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(u," ").concat(h)})};const z=g&&!~m.classes.indexOf("fa-fw")?{width:"".concat(u/h*16*.0625,"em")}:{};d&&(w.attributes[U]=""),l&&(w.children.push({tag:"title",attributes:{id:w.attributes["aria-labelledby"]||"title-".concat(c||tn())},children:[l]}),delete w.attributes.title);const x=s(s({},w),{},{prefix:a,iconName:r,main:e,mask:t,maskId:f,transform:i,symbol:o,styles:s(s({},z),m.styles)}),{children:k,attributes:M}=t.found&&e.found?_("generateAbstractMask",x)||{children:[],attributes:{}}:_("generateAbstractIcon",x)||{children:[],attributes:{}};return x.children=k,x.attributes=M,o?function(y){let{prefix:A,iconName:L,children:E,attributes:T,symbol:S}=y;const P=S===!0?"".concat(A,"-").concat(p.cssPrefix,"-").concat(L):S;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:s(s({},T),{},{id:P}),children:E}]}]}(x):function(y){let{children:A,main:L,mask:E,attributes:T,styles:S,transform:P}=y;if(te(P)&&L.found&&!E.found){const{width:wn,height:kn}=L,se={x:wn/kn/2,y:.5};T.style=bn(s(s({},S),{},{"transform-origin":"".concat(se.x+P.x/16,"em ").concat(se.y+P.y/16,"em")}))}return[{tag:"svg",attributes:T,children:A}]}(x)}function ke(n){const{content:e,width:t,height:a,transform:r,title:i,extra:o,watchable:l=!1}=n,f=s(s(s({},o.attributes),i?{title:i}:{}),{},{class:o.classes.join(" ")});l&&(f[U]="");const c=s({},o.styles);te(r)&&(c.transform=function(u){let{transform:h,width:g=Fn,height:b=Fn,startCentered:w=!1}=u,z="";return z+=w&&Ge?"translate(".concat(h.x/B-g/2,"em, ").concat(h.y/B-b/2,"em) "):w?"translate(calc(-50% + ".concat(h.x/B,"em), calc(-50% + ").concat(h.y/B,"em)) "):"translate(".concat(h.x/B,"em, ").concat(h.y/B,"em) "),z+="scale(".concat(h.size/B*(h.flipX?-1:1),", ").concat(h.size/B*(h.flipY?-1:1),") "),z+="rotate(".concat(h.rotate,"deg) "),z}({transform:r,startCentered:!0,width:t,height:a}),c["-webkit-transform"]=c.transform);const m=bn(c);m.length>0&&(f.style=m);const d=[];return d.push({tag:"span",attributes:f,children:[e]}),i&&d.push({tag:"span",attributes:{class:"sr-only"},children:[i]}),d}const{styles:Mn}=j;function Kn(n){const e=n[0],t=n[1],[a]=n.slice(4);let r=null;return r=Array.isArray(a)?{tag:"g",attributes:{class:"".concat(p.cssPrefix,"-").concat(An.GROUP)},children:[{tag:"path",attributes:{class:"".concat(p.cssPrefix,"-").concat(An.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(p.cssPrefix,"-").concat(An.PRIMARY),fill:"currentColor",d:a[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:e,height:t,icon:r}}const na={found:!1,width:512,height:512};function Xn(n,e){let t=e;return e==="fa"&&p.styleDefault!==null&&(e=W()),new Promise((a,r)=>{if(t==="fa"){const i=ht(n)||{};n=i.iconName||n,e=i.prefix||e}if(n&&e&&Mn[e]&&Mn[e][n])return a(Kn(Mn[e][n]));!et&&p.showMissingIcons,a(s(s({},na),{},{icon:p.showMissingIcons&&n&&_("missingIconAbstract")||{}}))})}const ze=()=>{},Vn=p.measurePerformance&&sn&&sn.mark&&sn.measure?sn:{mark:ze,measure:ze},$='FA "6.7.2"',ea=n=>{Vn.mark("".concat($," ").concat(n," ends")),Vn.measure("".concat($," ").concat(n),"".concat($," ").concat(n," begins"),"".concat($," ").concat(n," ends"))};var ie=n=>(Vn.mark("".concat($," ").concat(n," begins")),()=>ea(n));const mn=()=>{};function Ae(n){return typeof(n.getAttribute?n.getAttribute(U):null)=="string"}function ta(n){return v.createElementNS("http://www.w3.org/2000/svg",n)}function aa(n){return v.createElement(n)}function yt(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{ceFn:t=n.tag==="svg"?ta:aa}=e;if(typeof n=="string")return v.createTextNode(n);const a=t(n.tag);return Object.keys(n.attributes||[]).forEach(function(r){a.setAttribute(r,n.attributes[r])}),(n.children||[]).forEach(function(r){a.appendChild(yt(r,{ceFn:t}))}),a}const dn={replace:function(n){const e=n[0];if(e.parentNode)if(n[1].forEach(t=>{e.parentNode.insertBefore(yt(t),e)}),e.getAttribute(U)===null&&p.keepOriginalSource){let t=v.createComment(function(a){let r=" ".concat(a.outerHTML," ");return r="".concat(r,"Font Awesome fontawesome.com "),r}(e));e.parentNode.replaceChild(t,e)}else e.remove()},nest:function(n){const e=n[0],t=n[1];if(~ee(e).indexOf(p.replacementClass))return dn.replace(n);const a=new RegExp("".concat(p.cssPrefix,"-.*"));if(delete t[0].attributes.id,t[0].attributes.class){const i=t[0].attributes.class.split(" ").reduce((o,l)=>(l===p.replacementClass||l.match(a)?o.toSvg.push(l):o.toNode.push(l),o),{toNode:[],toSvg:[]});t[0].attributes.class=i.toSvg.join(" "),i.toNode.length===0?e.removeAttribute("class"):e.setAttribute("class",i.toNode.join(" "))}const r=t.map(i=>rn(i)).join(` +`);e.setAttribute(U,""),e.innerHTML=r}};function Le(n){n()}function vt(n,e){const t=typeof e=="function"?e:mn;if(n.length===0)t();else{let a=Le;p.mutateApproach==="async"&&(a=Y.requestAnimationFrame||Le),a(()=>{const r=p.autoReplaceSvg===!0?dn.replace:dn[p.autoReplaceSvg]||dn.replace,i=ie("mutate");n.map(r),i(),t()})}}let oe=!1;function xt(){oe=!0}function Gn(){oe=!1}let gn=null;function Oe(n){if(!me||!p.observeMutations)return;const{treeCallback:e=mn,nodeCallback:t=mn,pseudoElementsCallback:a=mn,observeMutationsRoot:r=v}=n;gn=new me(i=>{if(oe)return;const o=W();J(i).forEach(l=>{if(l.type==="childList"&&l.addedNodes.length>0&&!Ae(l.addedNodes[0])&&(p.searchPseudoElements&&a(l.target),e(l.target)),l.type==="attributes"&&l.target.parentNode&&p.searchPseudoElements&&a(l.target.parentNode),l.type==="attributes"&&Ae(l.target)&&~Ht.indexOf(l.attributeName))if(l.attributeName==="class"&&function(c){const m=c.getAttribute?c.getAttribute(Rn):null,d=c.getAttribute?c.getAttribute(Tn):null;return m&&d}(l.target)){const{prefix:c,iconName:m}=vn(ee(l.target));l.target.setAttribute(Rn,c||o),m&&l.target.setAttribute(Tn,m)}else(f=l.target)&&f.classList&&f.classList.contains&&f.classList.contains(p.replacementClass)&&t(l.target);var f})}),R&&gn.observe(r,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function ra(n){const e=n.getAttribute("data-prefix"),t=n.getAttribute("data-icon"),a=n.innerText!==void 0?n.innerText.trim():"";let r=vn(ee(n));return r.prefix||(r.prefix=W()),e&&t&&(r.prefix=e,r.iconName=t),r.iconName&&r.prefix||(r.prefix&&a.length>0&&(r.iconName=(i=r.prefix,o=n.innerText,(ut[i]||{})[o]||Hn(r.prefix,ct(n.innerText)))),!r.iconName&&p.autoFetchSvg&&n.firstChild&&n.firstChild.nodeType===Node.TEXT_NODE&&(r.iconName=n.firstChild.data)),r;var i,o}function Me(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0};const{iconName:t,prefix:a,rest:r}=ra(n),i=function(f){const c=J(f.attributes).reduce((u,h)=>(u.name!=="class"&&u.name!=="style"&&(u[h.name]=h.value),u),{}),m=f.getAttribute("title"),d=f.getAttribute("data-fa-title-id");return p.autoA11y&&(m?c["aria-labelledby"]="".concat(p.replacementClass,"-title-").concat(d||tn()):(c["aria-hidden"]="true",c.focusable="false")),c}(n),o=Un("parseNodeAttributes",{},n);let l=e.styleParser?function(f){const c=f.getAttribute("style");let m=[];return c&&(m=c.split(";").reduce((d,u)=>{const h=u.split(":"),g=h[0],b=h.slice(1);return g&&b.length>0&&(d[g]=b.join(":").trim()),d},{})),m}(n):[];return s({iconName:t,title:n.getAttribute("title"),titleId:n.getAttribute("data-fa-title-id"),prefix:a,transform:C,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:r,styles:l,attributes:i}},o)}const{styles:ia}=j;function wt(n){const e=p.autoReplaceSvg==="nest"?Me(n,{styleParser:!1}):Me(n);return~e.extra.classes.indexOf(at)?_("generateLayersText",n,e):_("generateSvgReplacementMutation",n,e)}function Ne(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!R)return Promise.resolve();const t=v.documentElement.classList,a=m=>t.add("".concat(de,"-").concat(m)),r=m=>t.remove("".concat(de,"-").concat(m)),i=p.autoFetchSvg?[...St,...In]:Je.concat(Object.keys(ia));i.includes("fa")||i.push("fa");const o=[".".concat(at,":not([").concat(U,"])")].concat(i.map(m=>".".concat(m,":not([").concat(U,"])"))).join(", ");if(o.length===0)return Promise.resolve();let l=[];try{l=J(n.querySelectorAll(o))}catch{}if(!(l.length>0))return Promise.resolve();a("pending"),r("complete");const f=ie("onTree"),c=l.reduce((m,d)=>{try{const u=wt(d);u&&m.push(u)}catch(u){et||u.name}return m},[]);return new Promise((m,d)=>{Promise.all(c).then(u=>{vt(u,()=>{a("active"),a("complete"),r("pending"),typeof e=="function"&&e(),f(),m()})}).catch(u=>{f(),d(u)})})}function oa(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;wt(n).then(t=>{t&&vt([t],e)})}const sa=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:t=C,symbol:a=!1,mask:r=null,maskId:i=null,title:o=null,titleId:l=null,classes:f=[],attributes:c={},styles:m={}}=e;if(!n)return;const{prefix:d,iconName:u,icon:h}=n;return xn(s({type:"icon"},n),()=>(q("beforeDOMElementCreation",{iconDefinition:n,params:e}),p.autoA11y&&(o?c["aria-labelledby"]="".concat(p.replacementClass,"-title-").concat(l||tn()):(c["aria-hidden"]="true",c.focusable="false")),re({icons:{main:Kn(h),mask:r?Kn(r.icon):{found:!1,width:null,height:null,icon:{}}},prefix:d,iconName:u,transform:s(s({},C),t),symbol:a,title:o,maskId:i,titleId:l,extra:{attributes:c,styles:m,classes:f}})))};var ca={mixout(){return{icon:(n=sa,function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const a=(e||{}).icon?e:qn(e||{});let{mask:r}=t;return r&&(r=(r||{}).icon?r:qn(r||{})),n(a,s(s({},t),{},{mask:r}))})};var n},hooks:()=>({mutationObserverCallbacks:n=>(n.treeCallback=Ne,n.nodeCallback=oa,n)}),provides(n){n.i2svg=function(e){const{node:t=v,callback:a=()=>{}}=e;return Ne(t,a)},n.generateSvgReplacementMutation=function(e,t){const{iconName:a,title:r,titleId:i,prefix:o,transform:l,symbol:f,mask:c,maskId:m,extra:d}=t;return new Promise((u,h)=>{Promise.all([Xn(a,o),c.iconName?Xn(c.iconName,c.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(g=>{let[b,w]=g;u([e,re({icons:{main:b,mask:w},prefix:o,iconName:a,transform:l,symbol:f,maskId:m,title:r,titleId:i,extra:d,watchable:!0})])}).catch(h)})},n.generateAbstractIcon=function(e){let{children:t,attributes:a,main:r,transform:i,styles:o}=e;const l=bn(o);let f;return l.length>0&&(a.style=l),te(i)&&(f=_("generateAbstractTransformGrouping",{main:r,transform:i,containerWidth:r.width,iconWidth:r.width})),t.push(f||r.icon),{children:t,attributes:a}}}},la={mixout:()=>({layer(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{classes:t=[]}=e;return xn({type:"layer"},()=>{q("beforeDOMElementCreation",{assembler:n,params:e});let a=[];return n(r=>{Array.isArray(r)?r.map(i=>{a=a.concat(i.abstract)}):a=a.concat(r.abstract)}),[{tag:"span",attributes:{class:["".concat(p.cssPrefix,"-layers"),...t].join(" ")},children:a}]})}})},fa={mixout:()=>({counter(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{title:t=null,classes:a=[],attributes:r={},styles:i={}}=e;return xn({type:"counter",content:n},()=>(q("beforeDOMElementCreation",{content:n,params:e}),function(o){const{content:l,title:f,extra:c}=o,m=s(s(s({},c.attributes),f?{title:f}:{}),{},{class:c.classes.join(" ")}),d=bn(c.styles);d.length>0&&(m.style=d);const u=[];return u.push({tag:"span",attributes:m,children:[l]}),f&&u.push({tag:"span",attributes:{class:"sr-only"},children:[f]}),u}({content:n.toString(),title:t,extra:{attributes:r,styles:i,classes:["".concat(p.cssPrefix,"-layers-counter"),...a]}})))}})},ua={mixout:()=>({text(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:t=C,title:a=null,classes:r=[],attributes:i={},styles:o={}}=e;return xn({type:"text",content:n},()=>(q("beforeDOMElementCreation",{content:n,params:e}),ke({content:n,transform:s(s({},C),t),title:a,extra:{attributes:i,styles:o,classes:["".concat(p.cssPrefix,"-layers-text"),...r]}})))}}),provides(n){n.generateLayersText=function(e,t){const{title:a,transform:r,extra:i}=t;let o=null,l=null;if(Ge){const f=parseInt(getComputedStyle(e).fontSize,10),c=e.getBoundingClientRect();o=c.width/f,l=c.height/f}return p.autoA11y&&!a&&(i.attributes["aria-hidden"]="true"),Promise.resolve([e,ke({content:e.innerHTML,width:o,height:l,transform:r,title:a,extra:i,watchable:!0})])}}};const ma=new RegExp('"',"ug"),Pe=[1105920,1112319],Se=s(s(s(s({},{FontAwesome:{normal:"fas",400:"fas"}}),{"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad",400:"fadr",normal:"fadr",300:"fadl",100:"fadt"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds",400:"fasdr",normal:"fasdr",300:"fasdl",100:"fasdt"}}),{"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"}}),{"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}}),Zn=Object.keys(Se).reduce((n,e)=>(n[e.toLowerCase()]=Se[e],n),{}),da=Object.keys(Zn).reduce((n,e)=>{const t=Zn[e];return n[e]=t[900]||[...Object.entries(t)][0][1],n},{});function Ce(n,e){const t="".concat("data-fa-pseudo-element-pending").concat(e.replace(":","-"));return new Promise((a,r)=>{if(n.getAttribute(t)!==null)return a();const i=J(n.children).filter(d=>d.getAttribute(Dn)===e)[0],o=Y.getComputedStyle(n,e),l=o.getPropertyValue("font-family"),f=l.match(_t),c=o.getPropertyValue("font-weight"),m=o.getPropertyValue("content");if(i&&!f)return n.removeChild(i),a();if(f&&m!=="none"&&m!==""){const d=o.getPropertyValue("content");let u=function(x,k){const M=x.replace(/^['"]|['"]$/g,"").toLowerCase(),y=parseInt(k),A=isNaN(y)?"normal":y;return(Zn[M]||{})[A]||da[M]}(l,c);const{value:h,isSecondary:g}=function(x){const k=x.replace(ma,""),M=function(L,E){const T=L.length;let S,P=L.charCodeAt(E);return P>=55296&&P<=56319&&T>E+1&&(S=L.charCodeAt(E+1),S>=56320&&S<=57343)?1024*(P-55296)+S-56320+65536:P}(k,0),y=M>=Pe[0]&&M<=Pe[1],A=k.length===2&&k[0]===k[1];return{value:ct(A?k[0]:k),isSecondary:y||A}}(d),b=f[0].startsWith("FontAwesome");let w=Hn(u,h),z=w;if(b){const x=function(k){const M=dt[k],y=Hn("fas",k);return M||(y?{prefix:"fas",iconName:y}:null)||{prefix:null,iconName:null}}(h);x.iconName&&x.prefix&&(w=x.iconName,u=x.prefix)}if(!w||g||i&&i.getAttribute(Rn)===u&&i.getAttribute(Tn)===z)a();else{n.setAttribute(t,z),i&&n.removeChild(i);const x={iconName:null,title:null,titleId:null,prefix:null,transform:C,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}},{extra:k}=x;k.attributes[Dn]=e,Xn(w,u).then(M=>{const y=re(s(s({},x),{},{icons:{main:M,mask:{prefix:null,iconName:null,rest:[]}},prefix:u,iconName:z,extra:k,watchable:!0})),A=v.createElementNS("http://www.w3.org/2000/svg","svg");e==="::before"?n.insertBefore(A,n.firstChild):n.appendChild(A),A.outerHTML=y.map(L=>rn(L)).join(` +`),n.removeAttribute(t),a()}).catch(r)}}else a()})}function pa(n){return Promise.all([Ce(n,"::before"),Ce(n,"::after")])}function ga(n){return!(n.parentNode===document.head||~Bt.indexOf(n.tagName.toUpperCase())||n.getAttribute(Dn)||n.parentNode&&n.parentNode.tagName==="svg")}function je(n){if(R)return new Promise((e,t)=>{const a=J(n.querySelectorAll("*")).filter(ga).map(pa),r=ie("searchPseudoElements");xt(),Promise.all(a).then(()=>{r(),Gn(),e()}).catch(()=>{r(),Gn(),t()})})}let Ee=!1;const Ie=n=>n.toLowerCase().split(" ").reduce((e,t)=>{const a=t.toLowerCase().split("-"),r=a[0];let i=a.slice(1).join("-");if(r&&i==="h")return e.flipX=!0,e;if(r&&i==="v")return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0}),Nn={x:0,y:0,width:"100%",height:"100%"};function Fe(n){let e=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];return n.attributes&&(n.attributes.fill||e)&&(n.attributes.fill="black"),n}(function(n,e){let{mixoutsTo:t}=e;we=n,G={},Object.keys(Z).forEach(a=>{Jt.indexOf(a)===-1&&delete Z[a]}),we.forEach(a=>{const r=a.mixout?a.mixout():{};if(Object.keys(r).forEach(i=>{typeof r[i]=="function"&&(t[i]=r[i]),typeof r[i]=="object"&&Object.keys(r[i]).forEach(o=>{t[i]||(t[i]={}),t[i][o]=r[i][o]})}),a.hooks){const i=a.hooks();Object.keys(i).forEach(o=>{G[o]||(G[o]=[]),G[o].push(i[o])})}a.provides&&a.provides(Z)})})([qt,ca,la,fa,ua,{hooks:()=>({mutationObserverCallbacks:n=>(n.pseudoElementsCallback=je,n)}),provides(n){n.pseudoElements2svg=function(e){const{node:t=v}=e;p.searchPseudoElements&&je(t)}}},{mixout:()=>({dom:{unwatch(){xt(),Ee=!0}}}),hooks:()=>({bootstrap(){Oe(Un("mutationObserverCallbacks",{}))},noAuto(){gn&&gn.disconnect()},watch(n){const{observeMutationsRoot:e}=n;Ee?Gn():Oe(Un("mutationObserverCallbacks",{observeMutationsRoot:e}))}})},{mixout:()=>({parse:{transform:n=>Ie(n)}}),hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-transform");return t&&(n.transform=Ie(t)),n}}),provides(n){n.generateAbstractTransformGrouping=function(e){let{main:t,transform:a,containerWidth:r,iconWidth:i}=e;const o={transform:"translate(".concat(r/2," 256)")},l="translate(".concat(32*a.x,", ").concat(32*a.y,") "),f="scale(".concat(a.size/16*(a.flipX?-1:1),", ").concat(a.size/16*(a.flipY?-1:1),") "),c="rotate(".concat(a.rotate," 0 0)"),m={outer:o,inner:{transform:"".concat(l," ").concat(f," ").concat(c)},path:{transform:"translate(".concat(i/2*-1," -256)")}};return{tag:"g",attributes:s({},m.outer),children:[{tag:"g",attributes:s({},m.inner),children:[{tag:t.icon.tag,children:t.icon.children,attributes:s(s({},t.icon.attributes),m.path)}]}]}}}},{hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-mask"),a=t?vn(t.split(" ").map(r=>r.trim())):{prefix:null,iconName:null,rest:[]};return a.prefix||(a.prefix=W()),n.mask=a,n.maskId=e.getAttribute("data-fa-mask-id"),n}}),provides(n){n.generateAbstractMask=function(e){let{children:t,attributes:a,main:r,mask:i,maskId:o,transform:l}=e;const{width:f,icon:c}=r,{width:m,icon:d}=i,u=function(A){let{transform:L,containerWidth:E,iconWidth:T}=A;const S={transform:"translate(".concat(E/2," 256)")},P="translate(".concat(32*L.x,", ").concat(32*L.y,") "),wn="scale(".concat(L.size/16*(L.flipX?-1:1),", ").concat(L.size/16*(L.flipY?-1:1),") "),kn="rotate(".concat(L.rotate," 0 0)");return{outer:S,inner:{transform:"".concat(P," ").concat(wn," ").concat(kn)},path:{transform:"translate(".concat(T/2*-1," -256)")}}}({transform:l,containerWidth:m,iconWidth:f}),h={tag:"rect",attributes:s(s({},Nn),{},{fill:"white"})},g=c.children?{children:c.children.map(Fe)}:{},b={tag:"g",attributes:s({},u.inner),children:[Fe(s({tag:c.tag,attributes:s(s({},c.attributes),u.path)},g))]},w={tag:"g",attributes:s({},u.outer),children:[b]},z="mask-".concat(o||tn()),x="clip-".concat(o||tn()),k={tag:"mask",attributes:s(s({},Nn),{},{id:z,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"}),children:[h,w]},M={tag:"defs",children:[{tag:"clipPath",attributes:{id:x},children:(y=d,y.tag==="g"?y.children:[y])},k]};var y;return t.push(M,{tag:"rect",attributes:s({fill:"currentColor","clip-path":"url(#".concat(x,")"),mask:"url(#".concat(z,")")},Nn)}),{children:t,attributes:a}}}},{provides(n){let e=!1;Y.matchMedia&&(e=Y.matchMedia("(prefers-reduced-motion: reduce)").matches),n.missingIconAbstract=function(){const t=[],a={fill:"currentColor"},r={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};t.push({tag:"path",attributes:s(s({},a),{},{d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"})});const i=s(s({},r),{},{attributeName:"opacity"}),o={tag:"circle",attributes:s(s({},a),{},{cx:"256",cy:"364",r:"28"}),children:[]};return e||o.children.push({tag:"animate",attributes:s(s({},r),{},{attributeName:"r",values:"28;14;28;28;14;28;"})},{tag:"animate",attributes:s(s({},i),{},{values:"1;0;1;1;0;1;"})}),t.push(o),t.push({tag:"path",attributes:s(s({},a),{},{opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"}),children:e?[]:[{tag:"animate",attributes:s(s({},i),{},{values:"1;0;0;0;0;1;"})}]}),e||t.push({tag:"path",attributes:s(s({},a),{},{opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"}),children:[{tag:"animate",attributes:s(s({},i),{},{values:"0;0;1;1;0;0;"})}]}),{tag:"g",attributes:{class:"missing"},children:t}}}},{hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-symbol"),a=t!==null&&(t===""||t);return n.symbol=a,n}})}],{mixoutsTo:on});const za=on.library,Jn=on.parse,ha=on.icon;function De(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,a)}return t}function D(n){for(var e=1;e=0)continue;f[c]=o[c]}return f}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(n,t)&&(r[t]=n[t])}return r}var Pn,Re,X,ln,Sn,fn,Q,Te,Be,Ye,We,_e,He,Ue,un,Cn,va=typeof globalThis<"u"?globalThis:typeof window<"u"?window:ce!==void 0?ce:typeof self<"u"?self:{},kt={exports:{}};Pn=kt,Re=va,X=function(n,e,t){if(!Be(e)||We(e)||_e(e)||He(e)||Te(e))return e;var a,r=0,i=0;if(Ye(e))for(a=[],i=e.length;r1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof n=="string")return n;var a=(n.children||[]).map(function(f){return zt(f)}),r=Object.keys(n.attributes||{}).reduce(function(f,c){var m=n.attributes[c];switch(c){case"class":f.class=m.split(/\s+/).reduce(function(d,u){return d[u]=!0,d},{});break;case"style":f.style=m.split(";").map(function(d){return d.trim()}).filter(function(d){return d}).reduce(function(d,u){var h=u.indexOf(":"),g=xa.camelize(u.slice(0,h)),b=u.slice(h+1).trim();return d[g]=b,d},{});break;default:f.attrs[c]=m}return f},{attrs:{},class:{},style:{}});t.class;var i=t.style,o=i===void 0?{}:i,l=ya(t,wa);return Mt(n.tag,D(D(D({},e),{},{class:r.class,style:D(D({},r.style),o)},r.attrs),l),a)}var At=!1;try{At=!0}catch{}function jn(n,e){return Array.isArray(e)&&e.length>0||!Array.isArray(e)&&e?N({},n,e):{}}function qe(n){return n&&Qn(n)==="object"&&n.prefix&&n.iconName&&n.icon?n:Jn.icon?Jn.icon(n):n===null?null:Qn(n)==="object"&&n.prefix&&n.iconName?n:Array.isArray(n)&&n.length===2?{prefix:n[0],iconName:n[1]}:typeof n=="string"?{prefix:"fas",iconName:n}:void 0}var Aa=Lt({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(n){return[!0,!1,"horizontal","vertical","both"].indexOf(n)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(n){return["right","left"].indexOf(n)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(n){return[90,180,270].indexOf(Number.parseInt(n,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(n){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(n)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1}},setup:function(n,e){var t=e.attrs,a=K(function(){return qe(n.icon)}),r=K(function(){return jn("classes",function(c){var m,d=(N(N(N(N(N(N(N(N(N(N(m={"fa-spin":c.spin,"fa-pulse":c.pulse,"fa-fw":c.fixedWidth,"fa-border":c.border,"fa-li":c.listItem,"fa-inverse":c.inverse,"fa-flip":c.flip===!0,"fa-flip-horizontal":c.flip==="horizontal"||c.flip==="both","fa-flip-vertical":c.flip==="vertical"||c.flip==="both"},"fa-".concat(c.size),c.size!==null),"fa-rotate-".concat(c.rotation),c.rotation!==null),"fa-pull-".concat(c.pull),c.pull!==null),"fa-swap-opacity",c.swapOpacity),"fa-bounce",c.bounce),"fa-shake",c.shake),"fa-beat",c.beat),"fa-fade",c.fade),"fa-beat-fade",c.beatFade),"fa-flash",c.flash),N(N(m,"fa-spin-pulse",c.spinPulse),"fa-spin-reverse",c.spinReverse));return Object.keys(d).map(function(u){return d[u]?u:null}).filter(function(u){return u})}(n))}),i=K(function(){return jn("transform",typeof n.transform=="string"?Jn.transform(n.transform):n.transform)}),o=K(function(){return jn("mask",qe(n.mask))}),l=K(function(){return ha(a.value,D(D(D(D({},r.value),i.value),o.value),{},{symbol:n.symbol,title:n.title,titleId:n.titleId,maskId:n.maskId}))});Ot(l,function(c){if(!c)return function(){var m;!At&&console&&typeof console.error=="function"&&(m=console).error.apply(m,arguments)}("Could not find one or more icon(s)",a.value,o.value)},{immediate:!0});var f=K(function(){return l.value?zt(l.value.abstract[0],{},t):null});return function(){return f.value}}});/*! + * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2024 Fonticons, Inc. + */const La={prefix:"fas",iconName:"calendar-days",icon:[448,512,["calendar-alt"],"f073","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm64 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm128 0l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 400l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z"]},Oa={prefix:"fas",iconName:"lock",icon:[448,512,[128274],"f023","M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z"]},Ma={prefix:"fas",iconName:"pen-to-square",icon:[512,512,["edit"],"f044","M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"]},Na={prefix:"fas",iconName:"star",icon:[576,512,[11088,61446],"f005","M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"]},Pa={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"]},Sa={prefix:"fas",iconName:"car-battery",icon:[512,512,["battery-car"],"f5df","M80 96c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l16 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0-32zM80 240c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-8.8 0-16 7.2-16 16z"]},Ca={prefix:"fas",iconName:"plug-circle-bolt",icon:[576,512,[],"e55b","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356l35.6 0c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380 376 380c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z"]},ja={prefix:"fas",iconName:"solar-panel",icon:[640,512,[],"f5ba","M122.2 0C91.7 0 65.5 21.5 59.5 51.4L8.3 307.4C.4 347 30.6 384 71 384l217 0 0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64 217 0c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0L122.2 0zM260.9 64l118.2 0 10.4 104-139 0L260.9 64zM202.3 168l-100.8 0L122.2 64l90.4 0L202.3 168zM91.8 216l105.6 0L187.1 320 71 320 91.8 216zm153.9 0l148.6 0 10.4 104-169.4 0 10.4-104zm196.8 0l105.6 0L569 320l-116 0L442.5 216zm96-48l-100.8 0L427.3 64l90.4 0 31.4-6.3L517.8 64l20.8 104z"]},Ea={prefix:"fas",iconName:"lock-open",icon:[576,512,[],"f3c1","M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48C576 64.5 511.5 0 432 0S288 64.5 288 144l0 48L64 192c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-32 0 0-48z"]},Ia={prefix:"fas",iconName:"wrench",icon:[512,512,[128295],"f0ad","M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"]},Fa={prefix:"fas",iconName:"circle-info",icon:[512,512,["info-circle"],"f05a","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},Da={prefix:"fas",iconName:"arrow-rotate-left",icon:[512,512,[8634,"arrow-left-rotate","arrow-rotate-back","arrow-rotate-backward","undo"],"f0e2","M125.7 160l50.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L48 224c-17.7 0-32-14.3-32-32L16 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z"]},Ra={prefix:"fas",iconName:"plug-circle-check",icon:[576,512,[],"e55c","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z"]},Ta={prefix:"fas",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]},Ba={prefix:"fas",iconName:"power-off",icon:[512,512,[9211],"f011","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 224c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z"]},Ya={prefix:"fas",iconName:"calculator",icon:[384,512,[128425],"f1ec","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zM96 64l192 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L96 160c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z"]},Wa={prefix:"fas",iconName:"delete-left",icon:[576,512,[9003,"backspace"],"f55a","M576 128c0-35.3-28.7-64-64-64L205.3 64c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7L512 448c35.3 0 64-28.7 64-64l0-256zM271 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]},_a={prefix:"fas",iconName:"house",icon:[576,512,[127968,63498,63500,"home","home-alt","home-lg-alt"],"f015","M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"]},Ha={prefix:"fas",iconName:"calendar-week",icon:[448,512,[],"f784","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l288 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16L80 256z"]},Ua={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z"]},qa={prefix:"fas",iconName:"car",icon:[512,512,[128664,"automobile"],"f1b9","M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"]},Ka={prefix:"fas",iconName:"plug-circle-xmark",icon:[576,512,[],"e560","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"]},Xa={prefix:"fas",iconName:"eraser",icon:[576,512,[],"f12d","M290.7 57.4L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7L288 480l9.4 0L512 480c17.7 0 32-14.3 32-32s-14.3-32-32-32l-124.1 0L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0zM297.4 416l-9.4 0-105.4 0-80-80L227.3 211.3 364.7 348.7 297.4 416z"]},Va={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},Ga={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},Za={prefix:"fas",iconName:"calendar-day",icon:[448,512,[],"f783","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16l-96 0z"]},Ja={prefix:"fas",iconName:"circle-xmark",icon:[512,512,[61532,"times-circle","xmark-circle"],"f057","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]},Qa={prefix:"far",iconName:"star",icon:[576,512,[11088,61446],"f005","M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z"]},$a={prefix:"far",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]};export{Ra as A,Ca as B,Da as C,Ba as D,Aa as F,Xa as a,Oa as b,Ea as c,Va as d,Sa as e,Wa as f,ja as g,_a as h,Pa as i,Ya as j,Ia as k,za as l,qa as m,Ma as n,Ja as o,Ga as p,Fa as q,Na as r,Qa as s,Ta as t,$a as u,Ua as v,Za as w,Ha as x,La as y,Ka as z}; diff --git a/packages/modules/display_themes/cards/web/assets/vendor-fortawesome-DhL64LM6.js b/packages/modules/display_themes/cards/web/assets/vendor-fortawesome-DhL64LM6.js deleted file mode 100644 index 29a29263dc..0000000000 --- a/packages/modules/display_themes/cards/web/assets/vendor-fortawesome-DhL64LM6.js +++ /dev/null @@ -1,555 +0,0 @@ -import{g as fe,d as zt,c as J,w as Lt,h as At}from"./vendor-CFVb6_YQ.js";const ue=()=>{};let te={},qe={},Ke=null,Xe={mark:ue,measure:ue};try{typeof window<"u"&&(te=window),typeof document<"u"&&(qe=document),typeof MutationObserver<"u"&&(Ke=MutationObserver),typeof performance<"u"&&(Xe=performance)}catch{}const{userAgent:me=""}=te.navigator||{},_=te,g=qe,de=Ke,pn=Xe;_.document;const B=!!g.documentElement&&!!g.head&&typeof g.addEventListener=="function"&&typeof g.createElement=="function",Ve=~me.indexOf("MSIE")||~me.indexOf("Trident/");var h="classic",Ge="duotone",O="sharp",C="sharp-duotone",Nt=[h,Ge,O,C],Mt={fak:"kit","fa-kit":"kit"},Ot={fakd:"kit-duotone","fa-kit-duotone":"kit-duotone"},Ze={classic:{fa:"solid",fas:"solid","fa-solid":"solid",far:"regular","fa-regular":"regular",fal:"light","fa-light":"light",fat:"thin","fa-thin":"thin",fad:"duotone","fa-duotone":"duotone",fab:"brands","fa-brands":"brands"},sharp:{fa:"solid",fass:"solid","fa-solid":"solid",fasr:"regular","fa-regular":"regular",fasl:"light","fa-light":"light",fast:"thin","fa-thin":"thin"},"sharp-duotone":{fa:"solid",fasds:"solid","fa-solid":"solid"}},Je=[1,2,3,4,5,6,7,8,9,10],Ct=Je.concat([11,12,13,14,15,16,17,18,19,20]),on={GROUP:"duotone-group",SWAP_OPACITY:"swap-opacity",PRIMARY:"primary",SECONDARY:"secondary"},Pt=[...Object.keys({classic:["fas","far","fal","fat"],sharp:["fass","fasr","fasl","fast"],"sharp-duotone":["fasds"]}),"solid","regular","light","thin","duotone","brands","2xs","xs","sm","lg","xl","2xl","beat","border","fade","beat-fade","bounce","flip-both","flip-horizontal","flip-vertical","flip","fw","inverse","layers-counter","layers-text","layers","li","pull-left","pull-right","pulse","rotate-180","rotate-270","rotate-90","rotate-by","shake","spin-pulse","spin-reverse","spin","stack-1x","stack-2x","stack","ul",on.GROUP,on.SWAP_OPACITY,on.PRIMARY,on.SECONDARY].concat(Je.map(n=>"".concat(n,"x"))).concat(Ct.map(n=>"w-".concat(n))),St={kit:"fak"},jt={"kit-duotone":"fakd"};const R="___FONT_AWESOME___",Dn=16,Qe="svg-inline--fa",G="data-fa-i2svg",Tn="data-fa-pseudo-element",Bn="data-prefix",Yn="data-icon",pe="fontawesome-i2svg",Et=["HTML","HEAD","STYLE","SCRIPT"],$e=(()=>{try{return!0}catch{return!1}})(),nt=[h,O,C];function un(n){return new Proxy(n,{get:(e,t)=>t in e?e[t]:e[h]})}const et={...Ze};et[h]={...Ze[h],...Mt,...Ot};const X=un(et),Wn={classic:{solid:"fas",regular:"far",light:"fal",thin:"fat",duotone:"fad",brands:"fab"},sharp:{solid:"fass",regular:"fasr",light:"fasl",thin:"fast"},"sharp-duotone":{solid:"fasds"}};Wn[h]={...Wn[h],...St,...jt};const cn=un(Wn),Hn={classic:{fab:"fa-brands",fad:"fa-duotone",fal:"fa-light",far:"fa-regular",fas:"fa-solid",fat:"fa-thin"},sharp:{fass:"fa-solid",fasr:"fa-regular",fasl:"fa-light",fast:"fa-thin"},"sharp-duotone":{fasds:"fa-solid"}};Hn[h]={...Hn[h],fak:"fa-kit"};const V=un(Hn),_n={classic:{"fa-brands":"fab","fa-duotone":"fad","fa-light":"fal","fa-regular":"far","fa-solid":"fas","fa-thin":"fat"},sharp:{"fa-solid":"fass","fa-regular":"fasr","fa-light":"fasl","fa-thin":"fast"},"sharp-duotone":{"fa-solid":"fasds"}};_n[h]={..._n[h],"fa-kit":"fak"};const Ft=un(_n),It=/fa(s|r|l|t|d|b|k|kd|ss|sr|sl|st|sds)?[\-\ ]/,tt="fa-layers-text",Rt=/Font ?Awesome ?([56 ]*)(Solid|Regular|Light|Thin|Duotone|Brands|Free|Pro|Sharp Duotone|Sharp|Kit)?.*/i;un({classic:{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},sharp:{900:"fass",400:"fasr",300:"fasl",100:"fast"},"sharp-duotone":{900:"fasds"}});const Dt=["class","data-prefix","data-icon","data-fa-transform","data-fa-mask"],On=on,Q=new Set;Object.keys(cn[h]).map(Q.add.bind(Q)),Object.keys(cn[O]).map(Q.add.bind(Q)),Object.keys(cn[C]).map(Q.add.bind(Q));const Tt=["kit",...Pt],ln=_.FontAwesomeConfig||{};g&&typeof g.querySelector=="function"&&[["data-family-prefix","familyPrefix"],["data-css-prefix","cssPrefix"],["data-family-default","familyDefault"],["data-style-default","styleDefault"],["data-replacement-class","replacementClass"],["data-auto-replace-svg","autoReplaceSvg"],["data-auto-add-css","autoAddCss"],["data-auto-a11y","autoA11y"],["data-search-pseudo-elements","searchPseudoElements"],["data-observe-mutations","observeMutations"],["data-mutate-approach","mutateApproach"],["data-keep-original-source","keepOriginalSource"],["data-measure-performance","measurePerformance"],["data-show-missing-icons","showMissingIcons"]].forEach(n=>{let[e,t]=n;const a=function(r){return r===""||r!=="false"&&(r==="true"||r)}(function(r){var i=g.querySelector("script["+r+"]");if(i)return i.getAttribute(r)}(e));a!=null&&(ln[t]=a)});const at={styleDefault:"solid",familyDefault:"classic",cssPrefix:"fa",replacementClass:Qe,autoReplaceSvg:!0,autoAddCss:!0,autoA11y:!0,searchPseudoElements:!1,observeMutations:!0,mutateApproach:"async",keepOriginalSource:!0,measurePerformance:!1,showMissingIcons:!0};ln.familyPrefix&&(ln.cssPrefix=ln.familyPrefix);const nn={...at,...ln};nn.autoReplaceSvg||(nn.observeMutations=!1);const f={};Object.keys(at).forEach(n=>{Object.defineProperty(f,n,{enumerable:!0,set:function(e){nn[n]=e,Un.forEach(t=>t(f))},get:function(){return nn[n]}})}),Object.defineProperty(f,"familyPrefix",{enumerable:!0,set:function(n){nn.cssPrefix=n,Un.forEach(e=>e(f))},get:function(){return nn.cssPrefix}}),_.FontAwesomeConfig=f;const Un=[],W=Dn,E={size:16,x:0,y:0,rotate:0,flipX:!1,flipY:!1};function fn(){let n=12,e="";for(;n-- >0;)e+="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"[62*Math.random()|0];return e}function an(n){const e=[];for(let t=(n||[]).length>>>0;t--;)e[t]=n[t];return e}function ae(n){return n.classList?an(n.classList):(n.getAttribute("class")||"").split(" ").filter(e=>e)}function ge(n){return"".concat(n).replace(/&/g,"&").replace(/"/g,""").replace(/'/g,"'").replace(//g,">")}function wn(n){return Object.keys(n||{}).reduce((e,t)=>e+"".concat(t,": ").concat(n[t].trim(),";"),"")}function re(n){return n.size!==E.size||n.x!==E.x||n.y!==E.y||n.rotate!==E.rotate||n.flipX||n.flipY}function rt(){const n="fa",e=Qe,t=f.cssPrefix,a=f.replacementClass;let r=`:root, :host { - --fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"; - --fa-font-regular: normal 400 1em/1 "Font Awesome 6 Free"; - --fa-font-light: normal 300 1em/1 "Font Awesome 6 Pro"; - --fa-font-thin: normal 100 1em/1 "Font Awesome 6 Pro"; - --fa-font-duotone: normal 900 1em/1 "Font Awesome 6 Duotone"; - --fa-font-brands: normal 400 1em/1 "Font Awesome 6 Brands"; - --fa-font-sharp-solid: normal 900 1em/1 "Font Awesome 6 Sharp"; - --fa-font-sharp-regular: normal 400 1em/1 "Font Awesome 6 Sharp"; - --fa-font-sharp-light: normal 300 1em/1 "Font Awesome 6 Sharp"; - --fa-font-sharp-thin: normal 100 1em/1 "Font Awesome 6 Sharp"; - --fa-font-sharp-duotone-solid: normal 900 1em/1 "Font Awesome 6 Sharp Duotone"; -} - -svg:not(:root).svg-inline--fa, svg:not(:host).svg-inline--fa { - overflow: visible; - box-sizing: content-box; -} - -.svg-inline--fa { - display: var(--fa-display, inline-block); - height: 1em; - overflow: visible; - vertical-align: -0.125em; -} -.svg-inline--fa.fa-2xs { - vertical-align: 0.1em; -} -.svg-inline--fa.fa-xs { - vertical-align: 0em; -} -.svg-inline--fa.fa-sm { - vertical-align: -0.0714285705em; -} -.svg-inline--fa.fa-lg { - vertical-align: -0.2em; -} -.svg-inline--fa.fa-xl { - vertical-align: -0.25em; -} -.svg-inline--fa.fa-2xl { - vertical-align: -0.3125em; -} -.svg-inline--fa.fa-pull-left { - margin-right: var(--fa-pull-margin, 0.3em); - width: auto; -} -.svg-inline--fa.fa-pull-right { - margin-left: var(--fa-pull-margin, 0.3em); - width: auto; -} -.svg-inline--fa.fa-li { - width: var(--fa-li-width, 2em); - top: 0.25em; -} -.svg-inline--fa.fa-fw { - width: var(--fa-fw-width, 1.25em); -} - -.fa-layers svg.svg-inline--fa { - bottom: 0; - left: 0; - margin: auto; - position: absolute; - right: 0; - top: 0; -} - -.fa-layers-counter, .fa-layers-text { - display: inline-block; - position: absolute; - text-align: center; -} - -.fa-layers { - display: inline-block; - height: 1em; - position: relative; - text-align: center; - vertical-align: -0.125em; - width: 1em; -} -.fa-layers svg.svg-inline--fa { - transform-origin: center center; -} - -.fa-layers-text { - left: 50%; - top: 50%; - transform: translate(-50%, -50%); - transform-origin: center center; -} - -.fa-layers-counter { - background-color: var(--fa-counter-background-color, #ff253a); - border-radius: var(--fa-counter-border-radius, 1em); - box-sizing: border-box; - color: var(--fa-inverse, #fff); - line-height: var(--fa-counter-line-height, 1); - max-width: var(--fa-counter-max-width, 5em); - min-width: var(--fa-counter-min-width, 1.5em); - overflow: hidden; - padding: var(--fa-counter-padding, 0.25em 0.5em); - right: var(--fa-right, 0); - text-overflow: ellipsis; - top: var(--fa-top, 0); - transform: scale(var(--fa-counter-scale, 0.25)); - transform-origin: top right; -} - -.fa-layers-bottom-right { - bottom: var(--fa-bottom, 0); - right: var(--fa-right, 0); - top: auto; - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: bottom right; -} - -.fa-layers-bottom-left { - bottom: var(--fa-bottom, 0); - left: var(--fa-left, 0); - right: auto; - top: auto; - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: bottom left; -} - -.fa-layers-top-right { - top: var(--fa-top, 0); - right: var(--fa-right, 0); - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: top right; -} - -.fa-layers-top-left { - left: var(--fa-left, 0); - right: auto; - top: var(--fa-top, 0); - transform: scale(var(--fa-layers-scale, 0.25)); - transform-origin: top left; -} - -.fa-1x { - font-size: 1em; -} - -.fa-2x { - font-size: 2em; -} - -.fa-3x { - font-size: 3em; -} - -.fa-4x { - font-size: 4em; -} - -.fa-5x { - font-size: 5em; -} - -.fa-6x { - font-size: 6em; -} - -.fa-7x { - font-size: 7em; -} - -.fa-8x { - font-size: 8em; -} - -.fa-9x { - font-size: 9em; -} - -.fa-10x { - font-size: 10em; -} - -.fa-2xs { - font-size: 0.625em; - line-height: 0.1em; - vertical-align: 0.225em; -} - -.fa-xs { - font-size: 0.75em; - line-height: 0.0833333337em; - vertical-align: 0.125em; -} - -.fa-sm { - font-size: 0.875em; - line-height: 0.0714285718em; - vertical-align: 0.0535714295em; -} - -.fa-lg { - font-size: 1.25em; - line-height: 0.05em; - vertical-align: -0.075em; -} - -.fa-xl { - font-size: 1.5em; - line-height: 0.0416666682em; - vertical-align: -0.125em; -} - -.fa-2xl { - font-size: 2em; - line-height: 0.03125em; - vertical-align: -0.1875em; -} - -.fa-fw { - text-align: center; - width: 1.25em; -} - -.fa-ul { - list-style-type: none; - margin-left: var(--fa-li-margin, 2.5em); - padding-left: 0; -} -.fa-ul > li { - position: relative; -} - -.fa-li { - left: calc(-1 * var(--fa-li-width, 2em)); - position: absolute; - text-align: center; - width: var(--fa-li-width, 2em); - line-height: inherit; -} - -.fa-border { - border-color: var(--fa-border-color, #eee); - border-radius: var(--fa-border-radius, 0.1em); - border-style: var(--fa-border-style, solid); - border-width: var(--fa-border-width, 0.08em); - padding: var(--fa-border-padding, 0.2em 0.25em 0.15em); -} - -.fa-pull-left { - float: left; - margin-right: var(--fa-pull-margin, 0.3em); -} - -.fa-pull-right { - float: right; - margin-left: var(--fa-pull-margin, 0.3em); -} - -.fa-beat { - animation-name: fa-beat; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-bounce { - animation-name: fa-bounce; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.28, 0.84, 0.42, 1)); -} - -.fa-fade { - animation-name: fa-fade; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); -} - -.fa-beat-fade { - animation-name: fa-beat-fade; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, cubic-bezier(0.4, 0, 0.6, 1)); -} - -.fa-flip { - animation-name: fa-flip; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, ease-in-out); -} - -.fa-shake { - animation-name: fa-shake; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin { - animation-name: fa-spin; - animation-delay: var(--fa-animation-delay, 0s); - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 2s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, linear); -} - -.fa-spin-reverse { - --fa-animation-direction: reverse; -} - -.fa-pulse, -.fa-spin-pulse { - animation-name: fa-spin; - animation-direction: var(--fa-animation-direction, normal); - animation-duration: var(--fa-animation-duration, 1s); - animation-iteration-count: var(--fa-animation-iteration-count, infinite); - animation-timing-function: var(--fa-animation-timing, steps(8)); -} - -@media (prefers-reduced-motion: reduce) { - .fa-beat, -.fa-bounce, -.fa-fade, -.fa-beat-fade, -.fa-flip, -.fa-pulse, -.fa-shake, -.fa-spin, -.fa-spin-pulse { - animation-delay: -1ms; - animation-duration: 1ms; - animation-iteration-count: 1; - transition-delay: 0s; - transition-duration: 0s; - } -} -@keyframes fa-beat { - 0%, 90% { - transform: scale(1); - } - 45% { - transform: scale(var(--fa-beat-scale, 1.25)); - } -} -@keyframes fa-bounce { - 0% { - transform: scale(1, 1) translateY(0); - } - 10% { - transform: scale(var(--fa-bounce-start-scale-x, 1.1), var(--fa-bounce-start-scale-y, 0.9)) translateY(0); - } - 30% { - transform: scale(var(--fa-bounce-jump-scale-x, 0.9), var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -0.5em)); - } - 50% { - transform: scale(var(--fa-bounce-land-scale-x, 1.05), var(--fa-bounce-land-scale-y, 0.95)) translateY(0); - } - 57% { - transform: scale(1, 1) translateY(var(--fa-bounce-rebound, -0.125em)); - } - 64% { - transform: scale(1, 1) translateY(0); - } - 100% { - transform: scale(1, 1) translateY(0); - } -} -@keyframes fa-fade { - 50% { - opacity: var(--fa-fade-opacity, 0.4); - } -} -@keyframes fa-beat-fade { - 0%, 100% { - opacity: var(--fa-beat-fade-opacity, 0.4); - transform: scale(1); - } - 50% { - opacity: 1; - transform: scale(var(--fa-beat-fade-scale, 1.125)); - } -} -@keyframes fa-flip { - 50% { - transform: rotate3d(var(--fa-flip-x, 0), var(--fa-flip-y, 1), var(--fa-flip-z, 0), var(--fa-flip-angle, -180deg)); - } -} -@keyframes fa-shake { - 0% { - transform: rotate(-15deg); - } - 4% { - transform: rotate(15deg); - } - 8%, 24% { - transform: rotate(-18deg); - } - 12%, 28% { - transform: rotate(18deg); - } - 16% { - transform: rotate(-22deg); - } - 20% { - transform: rotate(22deg); - } - 32% { - transform: rotate(-12deg); - } - 36% { - transform: rotate(12deg); - } - 40%, 100% { - transform: rotate(0deg); - } -} -@keyframes fa-spin { - 0% { - transform: rotate(0deg); - } - 100% { - transform: rotate(360deg); - } -} -.fa-rotate-90 { - transform: rotate(90deg); -} - -.fa-rotate-180 { - transform: rotate(180deg); -} - -.fa-rotate-270 { - transform: rotate(270deg); -} - -.fa-flip-horizontal { - transform: scale(-1, 1); -} - -.fa-flip-vertical { - transform: scale(1, -1); -} - -.fa-flip-both, -.fa-flip-horizontal.fa-flip-vertical { - transform: scale(-1, -1); -} - -.fa-rotate-by { - transform: rotate(var(--fa-rotate-angle, 0)); -} - -.fa-stack { - display: inline-block; - vertical-align: middle; - height: 2em; - position: relative; - width: 2.5em; -} - -.fa-stack-1x, -.fa-stack-2x { - bottom: 0; - left: 0; - margin: auto; - position: absolute; - right: 0; - top: 0; - z-index: var(--fa-stack-z-index, auto); -} - -.svg-inline--fa.fa-stack-1x { - height: 1em; - width: 1.25em; -} -.svg-inline--fa.fa-stack-2x { - height: 2em; - width: 2.5em; -} - -.fa-inverse { - color: var(--fa-inverse, #fff); -} - -.sr-only, -.fa-sr-only { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.sr-only-focusable:not(:focus), -.fa-sr-only-focusable:not(:focus) { - position: absolute; - width: 1px; - height: 1px; - padding: 0; - margin: -1px; - overflow: hidden; - clip: rect(0, 0, 0, 0); - white-space: nowrap; - border-width: 0; -} - -.svg-inline--fa .fa-primary { - fill: var(--fa-primary-color, currentColor); - opacity: var(--fa-primary-opacity, 1); -} - -.svg-inline--fa .fa-secondary { - fill: var(--fa-secondary-color, currentColor); - opacity: var(--fa-secondary-opacity, 0.4); -} - -.svg-inline--fa.fa-swap-opacity .fa-primary { - opacity: var(--fa-secondary-opacity, 0.4); -} - -.svg-inline--fa.fa-swap-opacity .fa-secondary { - opacity: var(--fa-primary-opacity, 1); -} - -.svg-inline--fa mask .fa-primary, -.svg-inline--fa mask .fa-secondary { - fill: black; -} - -.fad.fa-inverse, -.fa-duotone.fa-inverse { - color: var(--fa-inverse, #fff); -}`;if(t!==n||a!==e){const i=new RegExp("\\.".concat(n,"\\-"),"g"),o=new RegExp("\\--".concat(n,"\\-"),"g"),c=new RegExp("\\.".concat(e),"g");r=r.replace(i,".".concat(t,"-")).replace(o,"--".concat(t,"-")).replace(c,".".concat(a))}return r}let he=!1;function Cn(){f.autoAddCss&&!he&&(function(n){if(!n||!B)return;const e=g.createElement("style");e.setAttribute("type","text/css"),e.innerHTML=n;const t=g.head.childNodes;let a=null;for(let r=t.length-1;r>-1;r--){const i=t[r],o=(i.tagName||"").toUpperCase();["STYLE","LINK"].indexOf(o)>-1&&(a=i)}g.head.insertBefore(e,a)}(rt()),he=!0)}var Bt={mixout:()=>({dom:{css:rt,insertCss:Cn}}),hooks:()=>({beforeDOMElementCreation(){Cn()},beforeI2svg(){Cn()}})};const D=_||{};D[R]||(D[R]={}),D[R].styles||(D[R].styles={}),D[R].hooks||(D[R].hooks={}),D[R].shims||(D[R].shims=[]);var F=D[R];const it=[],ot=function(){g.removeEventListener("DOMContentLoaded",ot),xn=1,it.map(n=>n())};let xn=!1;function mn(n){const{tag:e,attributes:t={},children:a=[]}=n;return typeof n=="string"?ge(n):"<".concat(e," ").concat(function(r){return Object.keys(r||{}).reduce((i,o)=>i+"".concat(o,'="').concat(ge(r[o]),'" '),"").trim()}(t),">").concat(a.map(mn).join(""),"")}function be(n,e,t){if(n&&n[e]&&n[e][t])return{prefix:e,iconName:t,icon:n[e][t]}}B&&(xn=(g.documentElement.doScroll?/^loaded|^c/:/^loaded|^i|^c/).test(g.readyState),xn||g.addEventListener("DOMContentLoaded",ot));var Pn=function(n,e,t,a){var r,i,o,c=Object.keys(n),l=c.length,s=e;for(t===void 0?(r=1,o=n[c[0]]):(r=0,o=t);r=55296&&o<=56319&&r{const a=n[t];return a.icon?e[a.iconName]=a.icon:e[t]=a,e},{})}function qn(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};const{skipHooks:a=!1}=t,r=ye(e);typeof F.hooks.addPack!="function"||a?F.styles[n]={...F.styles[n]||{},...r}:F.hooks.addPack(n,ye(e)),n==="fas"&&qn("fa",e)}const{styles:K,shims:Yt}=F,Wt={[h]:Object.values(V[h]),[O]:Object.values(V[O]),[C]:Object.values(V[C])};let ie=null,ct={},lt={},ft={},ut={},mt={};const Ht={[h]:Object.keys(X[h]),[O]:Object.keys(X[O]),[C]:Object.keys(X[C])};function _t(n,e){const t=e.split("-"),a=t[0],r=t.slice(1).join("-");return a!==n||r===""||(i=r,~Tt.indexOf(i))?null:r;var i}const dt=()=>{const n=a=>Pn(K,(r,i,o)=>(r[o]=Pn(i,a,{}),r),{});ct=n((a,r,i)=>(r[3]&&(a[r[3]]=i),r[2]&&r[2].filter(o=>typeof o=="number").forEach(o=>{a[o.toString(16)]=i}),a)),lt=n((a,r,i)=>(a[i]=i,r[2]&&r[2].filter(o=>typeof o=="string").forEach(o=>{a[o]=i}),a)),mt=n((a,r,i)=>{const o=r[2];return a[i]=i,o.forEach(c=>{a[c]=i}),a});const e="far"in K||f.autoFetchSvg,t=Pn(Yt,(a,r)=>{const i=r[0];let o=r[1];const c=r[2];return o!=="far"||e||(o="fas"),typeof i=="string"&&(a.names[i]={prefix:o,iconName:c}),typeof i=="number"&&(a.unicodes[i.toString(16)]={prefix:o,iconName:c}),a},{names:{},unicodes:{}});ft=t.names,ut=t.unicodes,ie=zn(f.styleDefault,{family:f.familyDefault})};var ve;function Kn(n,e){return(ct[n]||{})[e]}function H(n,e){return(mt[n]||{})[e]}function pt(n){return ft[n]||{prefix:null,iconName:null}}function U(){return ie}ve=n=>{ie=zn(n.styleDefault,{family:f.familyDefault})},Un.push(ve),dt();function zn(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{family:t=h}=e,a=X[t][n],r=cn[t][n]||cn[t][a],i=n in F.styles?n:null;return r||i||null}const Ut={[h]:Object.keys(V[h]),[O]:Object.keys(V[O]),[C]:Object.keys(V[C])};function Ln(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{skipLookups:t=!1}=e,a={[h]:"".concat(f.cssPrefix,"-").concat(h),[O]:"".concat(f.cssPrefix,"-").concat(O),[C]:"".concat(f.cssPrefix,"-").concat(C)};let r=null,i=h;const o=Nt.filter(l=>l!==Ge);o.forEach(l=>{(n.includes(a[l])||n.some(s=>Ut[l].includes(s)))&&(i=l)});const c=n.reduce((l,s)=>{const u=_t(f.cssPrefix,s);if(K[s]?(s=Wt[i].includes(s)?Ft[i][s]:s,r=s,l.prefix=s):Ht[i].indexOf(s)>-1?(r=s,l.prefix=zn(s,{family:i})):u?l.iconName=u:s===f.replacementClass||o.some(d=>s===a[d])||l.rest.push(s),!t&&l.prefix&&l.iconName){const d=r==="fa"?pt(l.iconName):{},m=H(l.prefix,l.iconName);d.prefix&&(r=null),l.iconName=d.iconName||m||l.iconName,l.prefix=d.prefix||l.prefix,l.prefix!=="far"||K.far||!K.fas||f.autoFetchSvg||(l.prefix="fas")}return l},{prefix:null,iconName:null,rest:[]});return(n.includes("fa-brands")||n.includes("fab"))&&(c.prefix="fab"),(n.includes("fa-duotone")||n.includes("fad"))&&(c.prefix="fad"),c.prefix||i!==O||!K.fass&&!f.autoFetchSvg||(c.prefix="fass",c.iconName=H(c.prefix,c.iconName)||c.iconName),c.prefix||i!==C||!K.fasds&&!f.autoFetchSvg||(c.prefix="fasds",c.iconName=H(c.prefix,c.iconName)||c.iconName),c.prefix!=="fa"&&r!=="fa"||(c.prefix=U()||"fas"),c}let xe=[],en={};const tn={},qt=Object.keys(tn);function Xn(n,e){for(var t=arguments.length,a=new Array(t>2?t-2:0),r=2;r{e=i.apply(null,[e,...a])}),e}function Z(n){for(var e=arguments.length,t=new Array(e>1?e-1:0),a=1;a{r.apply(null,t)})}function q(){const n=arguments[0],e=Array.prototype.slice.call(arguments,1);return tn[n]?tn[n].apply(null,e):void 0}function Vn(n){n.prefix==="fa"&&(n.prefix="fas");let{iconName:e}=n;const t=n.prefix||U();if(e)return e=H(t,e)||e,be(gt.definitions,t,e)||be(F.styles,t,e)}const gt=new class{constructor(){this.definitions={}}add(){for(var n=arguments.length,e=new Array(n),t=0;t{this.definitions[r]={...this.definitions[r]||{},...a[r]},qn(r,a[r]);const i=V[h][r];i&&qn(i,a[r]),dt()})}reset(){this.definitions={}}_pullDefinitions(n,e){const t=e.prefix&&e.iconName&&e.icon?{0:e}:e;return Object.keys(t).map(a=>{const{prefix:r,iconName:i,icon:o}=t[a],c=o[2];n[r]||(n[r]={}),c.length>0&&c.forEach(l=>{typeof l=="string"&&(n[r][l]=o)}),n[r][i]=o}),n}},Kt={i2svg:function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};return B?(Z("beforeI2svg",n),q("pseudoElements2svg",n),q("i2svg",n)):Promise.reject(new Error("Operation requires a DOM of some kind."))},watch:function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e}=n;var t;f.autoReplaceSvg===!1&&(f.autoReplaceSvg=!0),f.observeMutations=!0,t=()=>{Xt({autoReplaceSvgRoot:e}),Z("watch",n)},B&&(xn?setTimeout(t,0):it.push(t))}},dn={noAuto:()=>{f.autoReplaceSvg=!1,f.observeMutations=!1,Z("noAuto")},config:f,dom:Kt,parse:{icon:n=>{if(n===null)return null;if(typeof n=="object"&&n.prefix&&n.iconName)return{prefix:n.prefix,iconName:H(n.prefix,n.iconName)||n.iconName};if(Array.isArray(n)&&n.length===2){const e=n[1].indexOf("fa-")===0?n[1].slice(3):n[1],t=zn(n[0]);return{prefix:t,iconName:H(t,e)||e}}if(typeof n=="string"&&(n.indexOf("".concat(f.cssPrefix,"-"))>-1||n.match(It))){const e=Ln(n.split(" "),{skipLookups:!0});return{prefix:e.prefix||U(),iconName:H(e.prefix,e.iconName)||e.iconName}}if(typeof n=="string"){const e=U();return{prefix:e,iconName:H(e,n)||n}}}},library:gt,findIconDefinition:Vn,toHtml:mn},Xt=function(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const{autoReplaceSvgRoot:e=g}=n;(Object.keys(F.styles).length>0||f.autoFetchSvg)&&B&&f.autoReplaceSvg&&dn.dom.i2svg({node:e})};function An(n,e){return Object.defineProperty(n,"abstract",{get:e}),Object.defineProperty(n,"html",{get:function(){return n.abstract.map(t=>mn(t))}}),Object.defineProperty(n,"node",{get:function(){if(!B)return;const t=g.createElement("div");return t.innerHTML=n.html,t.children}}),n}function oe(n){const{icons:{main:e,mask:t},prefix:a,iconName:r,transform:i,symbol:o,title:c,maskId:l,titleId:s,extra:u,watchable:d=!1}=n,{width:m,height:p}=t.found?t:e,w=a==="fak",z=[f.replacementClass,r?"".concat(f.cssPrefix,"-").concat(r):""].filter(b=>u.classes.indexOf(b)===-1).filter(b=>b!==""||!!b).concat(u.classes).join(" ");let k={children:[],attributes:{...u.attributes,"data-prefix":a,"data-icon":r,class:z,role:u.attributes.role||"img",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 ".concat(m," ").concat(p)}};const N=w&&!~u.classes.indexOf("fa-fw")?{width:"".concat(m/p*16*.0625,"em")}:{};d&&(k.attributes[G]=""),c&&(k.children.push({tag:"title",attributes:{id:k.attributes["aria-labelledby"]||"title-".concat(s||fn())},children:[c]}),delete k.attributes.title);const y={...k,prefix:a,iconName:r,main:e,mask:t,maskId:l,transform:i,symbol:o,styles:{...N,...u.styles}},{children:v,attributes:M}=t.found&&e.found?q("generateAbstractMask",y)||{children:[],attributes:{}}:q("generateAbstractIcon",y)||{children:[],attributes:{}};return y.children=v,y.attributes=M,o?function(b){let{prefix:L,iconName:x,children:I,attributes:Y,symbol:P}=b;return[{tag:"svg",attributes:{style:"display: none;"},children:[{tag:"symbol",attributes:{...Y,id:P===!0?"".concat(L,"-").concat(f.cssPrefix,"-").concat(x):P},children:I}]}]}(y):function(b){let{children:L,main:x,mask:I,attributes:Y,styles:P,transform:S}=b;if(re(S)&&x.found&&!I.found){const{width:Nn,height:Mn}=x,le={x:Nn/Mn/2,y:.5};Y.style=wn({...P,"transform-origin":"".concat(le.x+S.x/16,"em ").concat(le.y+S.y/16,"em")})}return[{tag:"svg",attributes:Y,children:L}]}(y)}function ke(n){const{content:e,width:t,height:a,transform:r,title:i,extra:o,watchable:c=!1}=n,l={...o.attributes,...i?{title:i}:{},class:o.classes.join(" ")};c&&(l[G]="");const s={...o.styles};re(r)&&(s.transform=function(m){let{transform:p,width:w=Dn,height:z=Dn,startCentered:k=!1}=m,N="";return N+=k&&Ve?"translate(".concat(p.x/W-w/2,"em, ").concat(p.y/W-z/2,"em) "):k?"translate(calc(-50% + ".concat(p.x/W,"em), calc(-50% + ").concat(p.y/W,"em)) "):"translate(".concat(p.x/W,"em, ").concat(p.y/W,"em) "),N+="scale(".concat(p.size/W*(p.flipX?-1:1),", ").concat(p.size/W*(p.flipY?-1:1),") "),N+="rotate(".concat(p.rotate,"deg) "),N}({transform:r,startCentered:!0,width:t,height:a}),s["-webkit-transform"]=s.transform);const u=wn(s);u.length>0&&(l.style=u);const d=[];return d.push({tag:"span",attributes:l,children:[e]}),i&&d.push({tag:"span",attributes:{class:"sr-only"},children:[i]}),d}const{styles:Sn}=F;function Gn(n){const e=n[0],t=n[1],[a]=n.slice(4);let r=null;return r=Array.isArray(a)?{tag:"g",attributes:{class:"".concat(f.cssPrefix,"-").concat(On.GROUP)},children:[{tag:"path",attributes:{class:"".concat(f.cssPrefix,"-").concat(On.SECONDARY),fill:"currentColor",d:a[0]}},{tag:"path",attributes:{class:"".concat(f.cssPrefix,"-").concat(On.PRIMARY),fill:"currentColor",d:a[1]}}]}:{tag:"path",attributes:{fill:"currentColor",d:a}},{found:!0,width:e,height:t,icon:r}}const Vt={found:!1,width:512,height:512};function Zn(n,e){let t=e;return e==="fa"&&f.styleDefault!==null&&(e=U()),new Promise((a,r)=>{if(t==="fa"){const i=pt(n)||{};n=i.iconName||n,e=i.prefix||e}if(n&&e&&Sn[e]&&Sn[e][n])return a(Gn(Sn[e][n]));!$e&&f.showMissingIcons,a({...Vt,icon:f.showMissingIcons&&n&&q("missingIconAbstract")||{}})})}const we=()=>{},Jn=f.measurePerformance&&pn&&pn.mark&&pn.measure?pn:{mark:we,measure:we},sn='FA "6.6.0"',Gt=n=>{Jn.mark("".concat(sn," ").concat(n," ends")),Jn.measure("".concat(sn," ").concat(n),"".concat(sn," ").concat(n," begins"),"".concat(sn," ").concat(n," ends"))};var se=n=>(Jn.mark("".concat(sn," ").concat(n," begins")),()=>Gt(n));const yn=()=>{};function ze(n){return typeof(n.getAttribute?n.getAttribute(G):null)=="string"}function Zt(n){return g.createElementNS("http://www.w3.org/2000/svg",n)}function Jt(n){return g.createElement(n)}function ht(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{ceFn:t=n.tag==="svg"?Zt:Jt}=e;if(typeof n=="string")return g.createTextNode(n);const a=t(n.tag);return Object.keys(n.attributes||[]).forEach(function(r){a.setAttribute(r,n.attributes[r])}),(n.children||[]).forEach(function(r){a.appendChild(ht(r,{ceFn:t}))}),a}const vn={replace:function(n){const e=n[0];if(e.parentNode)if(n[1].forEach(t=>{e.parentNode.insertBefore(ht(t),e)}),e.getAttribute(G)===null&&f.keepOriginalSource){let t=g.createComment(function(a){let r=" ".concat(a.outerHTML," ");return r="".concat(r,"Font Awesome fontawesome.com "),r}(e));e.parentNode.replaceChild(t,e)}else e.remove()},nest:function(n){const e=n[0],t=n[1];if(~ae(e).indexOf(f.replacementClass))return vn.replace(n);const a=new RegExp("".concat(f.cssPrefix,"-.*"));if(delete t[0].attributes.id,t[0].attributes.class){const i=t[0].attributes.class.split(" ").reduce((o,c)=>(c===f.replacementClass||c.match(a)?o.toSvg.push(c):o.toNode.push(c),o),{toNode:[],toSvg:[]});t[0].attributes.class=i.toSvg.join(" "),i.toNode.length===0?e.removeAttribute("class"):e.setAttribute("class",i.toNode.join(" "))}const r=t.map(i=>mn(i)).join(` -`);e.setAttribute(G,""),e.innerHTML=r}};function Le(n){n()}function bt(n,e){const t=typeof e=="function"?e:yn;if(n.length===0)t();else{let a=Le;f.mutateApproach==="async"&&(a=_.requestAnimationFrame||Le),a(()=>{const r=f.autoReplaceSvg===!0?vn.replace:vn[f.autoReplaceSvg]||vn.replace,i=se("mutate");n.map(r),i(),t()})}}let ce=!1;function yt(){ce=!0}function Qn(){ce=!1}let kn=null;function Ae(n){if(!de||!f.observeMutations)return;const{treeCallback:e=yn,nodeCallback:t=yn,pseudoElementsCallback:a=yn,observeMutationsRoot:r=g}=n;kn=new de(i=>{if(ce)return;const o=U();an(i).forEach(c=>{if(c.type==="childList"&&c.addedNodes.length>0&&!ze(c.addedNodes[0])&&(f.searchPseudoElements&&a(c.target),e(c.target)),c.type==="attributes"&&c.target.parentNode&&f.searchPseudoElements&&a(c.target.parentNode),c.type==="attributes"&&ze(c.target)&&~Dt.indexOf(c.attributeName))if(c.attributeName==="class"&&function(s){const u=s.getAttribute?s.getAttribute(Bn):null,d=s.getAttribute?s.getAttribute(Yn):null;return u&&d}(c.target)){const{prefix:s,iconName:u}=Ln(ae(c.target));c.target.setAttribute(Bn,s||o),u&&c.target.setAttribute(Yn,u)}else(l=c.target)&&l.classList&&l.classList.contains&&l.classList.contains(f.replacementClass)&&t(c.target);var l})}),B&&kn.observe(r,{childList:!0,attributes:!0,characterData:!0,subtree:!0})}function Qt(n){const e=n.getAttribute("data-prefix"),t=n.getAttribute("data-icon"),a=n.innerText!==void 0?n.innerText.trim():"";let r=Ln(ae(n));return r.prefix||(r.prefix=U()),e&&t&&(r.prefix=e,r.iconName=t),r.iconName&&r.prefix||(r.prefix&&a.length>0&&(r.iconName=(i=r.prefix,o=n.innerText,(lt[i]||{})[o]||Kn(r.prefix,st(n.innerText)))),!r.iconName&&f.autoFetchSvg&&n.firstChild&&n.firstChild.nodeType===Node.TEXT_NODE&&(r.iconName=n.firstChild.data)),r;var i,o}function Ne(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{styleParser:!0};const{iconName:t,prefix:a,rest:r}=Qt(n),i=function(l){const s=an(l.attributes).reduce((m,p)=>(m.name!=="class"&&m.name!=="style"&&(m[p.name]=p.value),m),{}),u=l.getAttribute("title"),d=l.getAttribute("data-fa-title-id");return f.autoA11y&&(u?s["aria-labelledby"]="".concat(f.replacementClass,"-title-").concat(d||fn()):(s["aria-hidden"]="true",s.focusable="false")),s}(n),o=Xn("parseNodeAttributes",{},n);let c=e.styleParser?function(l){const s=l.getAttribute("style");let u=[];return s&&(u=s.split(";").reduce((d,m)=>{const p=m.split(":"),w=p[0],z=p.slice(1);return w&&z.length>0&&(d[w]=z.join(":").trim()),d},{})),u}(n):[];return{iconName:t,title:n.getAttribute("title"),titleId:n.getAttribute("data-fa-title-id"),prefix:a,transform:E,mask:{iconName:null,prefix:null,rest:[]},maskId:null,symbol:!1,extra:{classes:r,styles:c,attributes:i},...o}}const{styles:$t}=F;function vt(n){const e=f.autoReplaceSvg==="nest"?Ne(n,{styleParser:!1}):Ne(n);return~e.extra.classes.indexOf(tt)?q("generateLayersText",n,e):q("generateSvgReplacementMutation",n,e)}let j=new Set;function Me(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;if(!B)return Promise.resolve();const t=g.documentElement.classList,a=u=>t.add("".concat(pe,"-").concat(u)),r=u=>t.remove("".concat(pe,"-").concat(u)),i=f.autoFetchSvg?j:nt.map(u=>"fa-".concat(u)).concat(Object.keys($t));i.includes("fa")||i.push("fa");const o=[".".concat(tt,":not([").concat(G,"])")].concat(i.map(u=>".".concat(u,":not([").concat(G,"])"))).join(", ");if(o.length===0)return Promise.resolve();let c=[];try{c=an(n.querySelectorAll(o))}catch{}if(!(c.length>0))return Promise.resolve();a("pending"),r("complete");const l=se("onTree"),s=c.reduce((u,d)=>{try{const m=vt(d);m&&u.push(m)}catch(m){$e||m.name}return u},[]);return new Promise((u,d)=>{Promise.all(s).then(m=>{bt(m,()=>{a("active"),a("complete"),r("pending"),typeof e=="function"&&e(),l(),u()})}).catch(m=>{l(),d(m)})})}function na(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:null;vt(n).then(t=>{t&&bt([t],e)})}nt.map(n=>{j.add("fa-".concat(n))}),Object.keys(X[h]).map(j.add.bind(j)),Object.keys(X[O]).map(j.add.bind(j)),Object.keys(X[C]).map(j.add.bind(j)),j=[...j];const ea=function(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:t=E,symbol:a=!1,mask:r=null,maskId:i=null,title:o=null,titleId:c=null,classes:l=[],attributes:s={},styles:u={}}=e;if(!n)return;const{prefix:d,iconName:m,icon:p}=n;return An({type:"icon",...n},()=>(Z("beforeDOMElementCreation",{iconDefinition:n,params:e}),f.autoA11y&&(o?s["aria-labelledby"]="".concat(f.replacementClass,"-title-").concat(c||fn()):(s["aria-hidden"]="true",s.focusable="false")),oe({icons:{main:Gn(p),mask:r?Gn(r.icon):{found:!1,width:null,height:null,icon:{}}},prefix:d,iconName:m,transform:{...E,...t},symbol:a,title:o,maskId:i,titleId:c,extra:{attributes:s,styles:u,classes:l}})))};var ta={mixout(){return{icon:(n=ea,function(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const a=(e||{}).icon?e:Vn(e||{});let{mask:r}=t;return r&&(r=(r||{}).icon?r:Vn(r||{})),n(a,{...t,mask:r})})};var n},hooks:()=>({mutationObserverCallbacks:n=>(n.treeCallback=Me,n.nodeCallback=na,n)}),provides(n){n.i2svg=function(e){const{node:t=g,callback:a=()=>{}}=e;return Me(t,a)},n.generateSvgReplacementMutation=function(e,t){const{iconName:a,title:r,titleId:i,prefix:o,transform:c,symbol:l,mask:s,maskId:u,extra:d}=t;return new Promise((m,p)=>{Promise.all([Zn(a,o),s.iconName?Zn(s.iconName,s.prefix):Promise.resolve({found:!1,width:512,height:512,icon:{}})]).then(w=>{let[z,k]=w;m([e,oe({icons:{main:z,mask:k},prefix:o,iconName:a,transform:c,symbol:l,maskId:u,title:r,titleId:i,extra:d,watchable:!0})])}).catch(p)})},n.generateAbstractIcon=function(e){let{children:t,attributes:a,main:r,transform:i,styles:o}=e;const c=wn(o);let l;return c.length>0&&(a.style=c),re(i)&&(l=q("generateAbstractTransformGrouping",{main:r,transform:i,containerWidth:r.width,iconWidth:r.width})),t.push(l||r.icon),{children:t,attributes:a}}}},aa={mixout:()=>({layer(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{classes:t=[]}=e;return An({type:"layer"},()=>{Z("beforeDOMElementCreation",{assembler:n,params:e});let a=[];return n(r=>{Array.isArray(r)?r.map(i=>{a=a.concat(i.abstract)}):a=a.concat(r.abstract)}),[{tag:"span",attributes:{class:["".concat(f.cssPrefix,"-layers"),...t].join(" ")},children:a}]})}})},ra={mixout:()=>({counter(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{title:t=null,classes:a=[],attributes:r={},styles:i={}}=e;return An({type:"counter",content:n},()=>(Z("beforeDOMElementCreation",{content:n,params:e}),function(o){const{content:c,title:l,extra:s}=o,u={...s.attributes,...l?{title:l}:{},class:s.classes.join(" ")},d=wn(s.styles);d.length>0&&(u.style=d);const m=[];return m.push({tag:"span",attributes:u,children:[c]}),l&&m.push({tag:"span",attributes:{class:"sr-only"},children:[l]}),m}({content:n.toString(),title:t,extra:{attributes:r,styles:i,classes:["".concat(f.cssPrefix,"-layers-counter"),...a]}})))}})},ia={mixout:()=>({text(n){let e=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{};const{transform:t=E,title:a=null,classes:r=[],attributes:i={},styles:o={}}=e;return An({type:"text",content:n},()=>(Z("beforeDOMElementCreation",{content:n,params:e}),ke({content:n,transform:{...E,...t},title:a,extra:{attributes:i,styles:o,classes:["".concat(f.cssPrefix,"-layers-text"),...r]}})))}}),provides(n){n.generateLayersText=function(e,t){const{title:a,transform:r,extra:i}=t;let o=null,c=null;if(Ve){const l=parseInt(getComputedStyle(e).fontSize,10),s=e.getBoundingClientRect();o=s.width/l,c=s.height/l}return f.autoA11y&&!a&&(i.attributes["aria-hidden"]="true"),Promise.resolve([e,ke({content:e.innerHTML,width:o,height:c,transform:r,title:a,extra:i,watchable:!0})])}}};const oa=new RegExp('"',"ug"),Oe=[1105920,1112319],Ce={FontAwesome:{normal:"fas",400:"fas"},"Font Awesome 6 Free":{900:"fas",400:"far"},"Font Awesome 6 Pro":{900:"fas",400:"far",normal:"far",300:"fal",100:"fat"},"Font Awesome 6 Brands":{400:"fab",normal:"fab"},"Font Awesome 6 Duotone":{900:"fad"},"Font Awesome 6 Sharp":{900:"fass",400:"fasr",normal:"fasr",300:"fasl",100:"fast"},"Font Awesome 6 Sharp Duotone":{900:"fasds"},"Font Awesome 5 Free":{900:"fas",400:"far"},"Font Awesome 5 Pro":{900:"fas",400:"far",normal:"far",300:"fal"},"Font Awesome 5 Brands":{400:"fab",normal:"fab"},"Font Awesome 5 Duotone":{900:"fad"},"Font Awesome Kit":{400:"fak",normal:"fak"},"Font Awesome Kit Duotone":{400:"fakd",normal:"fakd"}},$n=Object.keys(Ce).reduce((n,e)=>(n[e.toLowerCase()]=Ce[e],n),{}),sa=Object.keys($n).reduce((n,e)=>{const t=$n[e];return n[e]=t[900]||[...Object.entries(t)][0][1],n},{});function Pe(n,e){const t="".concat("data-fa-pseudo-element-pending").concat(e.replace(":","-"));return new Promise((a,r)=>{if(n.getAttribute(t)!==null)return a();const i=an(n.children).filter(d=>d.getAttribute(Tn)===e)[0],o=_.getComputedStyle(n,e),c=o.getPropertyValue("font-family"),l=c.match(Rt),s=o.getPropertyValue("font-weight"),u=o.getPropertyValue("content");if(i&&!l)return n.removeChild(i),a();if(l&&u!=="none"&&u!==""){const d=o.getPropertyValue("content");let m=function(y,v){const M=y.replace(/^['"]|['"]$/g,"").toLowerCase(),b=parseInt(v),L=isNaN(b)?"normal":b;return($n[M]||{})[L]||sa[M]}(c,s);const{value:p,isSecondary:w}=function(y){const v=y.replace(oa,""),M=function(x,I){const Y=x.length;let P,S=x.charCodeAt(I);return S>=55296&&S<=56319&&Y>I+1&&(P=x.charCodeAt(I+1),P>=56320&&P<=57343)?1024*(S-55296)+P-56320+65536:S}(v,0),b=M>=Oe[0]&&M<=Oe[1],L=v.length===2&&v[0]===v[1];return{value:st(L?v[0]:v),isSecondary:b||L}}(d),z=l[0].startsWith("FontAwesome");let k=Kn(m,p),N=k;if(z){const y=function(v){const M=ut[v],b=Kn("fas",v);return M||(b?{prefix:"fas",iconName:b}:null)||{prefix:null,iconName:null}}(p);y.iconName&&y.prefix&&(k=y.iconName,m=y.prefix)}if(!k||w||i&&i.getAttribute(Bn)===m&&i.getAttribute(Yn)===N)a();else{n.setAttribute(t,N),i&&n.removeChild(i);const y={iconName:null,title:null,titleId:null,prefix:null,transform:E,symbol:!1,mask:{iconName:null,prefix:null,rest:[]},maskId:null,extra:{classes:[],styles:{},attributes:{}}},{extra:v}=y;v.attributes[Tn]=e,Zn(k,m).then(M=>{const b=oe({...y,icons:{main:M,mask:{prefix:null,iconName:null,rest:[]}},prefix:m,iconName:N,extra:v,watchable:!0}),L=g.createElementNS("http://www.w3.org/2000/svg","svg");e==="::before"?n.insertBefore(L,n.firstChild):n.appendChild(L),L.outerHTML=b.map(x=>mn(x)).join(` -`),n.removeAttribute(t),a()}).catch(r)}}else a()})}function ca(n){return Promise.all([Pe(n,"::before"),Pe(n,"::after")])}function la(n){return!(n.parentNode===document.head||~Et.indexOf(n.tagName.toUpperCase())||n.getAttribute(Tn)||n.parentNode&&n.parentNode.tagName==="svg")}function Se(n){if(B)return new Promise((e,t)=>{const a=an(n.querySelectorAll("*")).filter(la).map(ca),r=se("searchPseudoElements");yt(),Promise.all(a).then(()=>{r(),Qn(),e()}).catch(()=>{r(),Qn(),t()})})}let je=!1;const Ee=n=>n.toLowerCase().split(" ").reduce((e,t)=>{const a=t.toLowerCase().split("-"),r=a[0];let i=a.slice(1).join("-");if(r&&i==="h")return e.flipX=!0,e;if(r&&i==="v")return e.flipY=!0,e;if(i=parseFloat(i),isNaN(i))return e;switch(r){case"grow":e.size=e.size+i;break;case"shrink":e.size=e.size-i;break;case"left":e.x=e.x-i;break;case"right":e.x=e.x+i;break;case"up":e.y=e.y-i;break;case"down":e.y=e.y+i;break;case"rotate":e.rotate=e.rotate+i}return e},{size:16,x:0,y:0,flipX:!1,flipY:!1,rotate:0}),jn={x:0,y:0,width:"100%",height:"100%"};function Fe(n){let e=!(arguments.length>1&&arguments[1]!==void 0)||arguments[1];return n.attributes&&(n.attributes.fill||e)&&(n.attributes.fill="black"),n}(function(n,e){let{mixoutsTo:t}=e;xe=n,en={},Object.keys(tn).forEach(a=>{qt.indexOf(a)===-1&&delete tn[a]}),xe.forEach(a=>{const r=a.mixout?a.mixout():{};if(Object.keys(r).forEach(i=>{typeof r[i]=="function"&&(t[i]=r[i]),typeof r[i]=="object"&&Object.keys(r[i]).forEach(o=>{t[i]||(t[i]={}),t[i][o]=r[i][o]})}),a.hooks){const i=a.hooks();Object.keys(i).forEach(o=>{en[o]||(en[o]=[]),en[o].push(i[o])})}a.provides&&a.provides(tn)})})([Bt,ta,aa,ra,ia,{hooks:()=>({mutationObserverCallbacks:n=>(n.pseudoElementsCallback=Se,n)}),provides(n){n.pseudoElements2svg=function(e){const{node:t=g}=e;f.searchPseudoElements&&Se(t)}}},{mixout:()=>({dom:{unwatch(){yt(),je=!0}}}),hooks:()=>({bootstrap(){Ae(Xn("mutationObserverCallbacks",{}))},noAuto(){kn&&kn.disconnect()},watch(n){const{observeMutationsRoot:e}=n;je?Qn():Ae(Xn("mutationObserverCallbacks",{observeMutationsRoot:e}))}})},{mixout:()=>({parse:{transform:n=>Ee(n)}}),hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-transform");return t&&(n.transform=Ee(t)),n}}),provides(n){n.generateAbstractTransformGrouping=function(e){let{main:t,transform:a,containerWidth:r,iconWidth:i}=e;const o={transform:"translate(".concat(r/2," 256)")},c="translate(".concat(32*a.x,", ").concat(32*a.y,") "),l="scale(".concat(a.size/16*(a.flipX?-1:1),", ").concat(a.size/16*(a.flipY?-1:1),") "),s="rotate(".concat(a.rotate," 0 0)"),u={transform:"".concat(c," ").concat(l," ").concat(s)},d={transform:"translate(".concat(i/2*-1," -256)")};return{tag:"g",attributes:{...o},children:[{tag:"g",attributes:{...u},children:[{tag:t.icon.tag,children:t.icon.children,attributes:{...t.icon.attributes,...d}}]}]}}}},{hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-mask"),a=t?Ln(t.split(" ").map(r=>r.trim())):{prefix:null,iconName:null,rest:[]};return a.prefix||(a.prefix=U()),n.mask=a,n.maskId=e.getAttribute("data-fa-mask-id"),n}}),provides(n){n.generateAbstractMask=function(e){let{children:t,attributes:a,main:r,mask:i,maskId:o,transform:c}=e;const{width:l,icon:s}=r,{width:u,icon:d}=i,m=function(L){let{transform:x,containerWidth:I,iconWidth:Y}=L;const P={transform:"translate(".concat(I/2," 256)")},S="translate(".concat(32*x.x,", ").concat(32*x.y,") "),Nn="scale(".concat(x.size/16*(x.flipX?-1:1),", ").concat(x.size/16*(x.flipY?-1:1),") "),Mn="rotate(".concat(x.rotate," 0 0)");return{outer:P,inner:{transform:"".concat(S," ").concat(Nn," ").concat(Mn)},path:{transform:"translate(".concat(Y/2*-1," -256)")}}}({transform:c,containerWidth:u,iconWidth:l}),p={tag:"rect",attributes:{...jn,fill:"white"}},w=s.children?{children:s.children.map(Fe)}:{},z={tag:"g",attributes:{...m.inner},children:[Fe({tag:s.tag,attributes:{...s.attributes,...m.path},...w})]},k={tag:"g",attributes:{...m.outer},children:[z]},N="mask-".concat(o||fn()),y="clip-".concat(o||fn()),v={tag:"mask",attributes:{...jn,id:N,maskUnits:"userSpaceOnUse",maskContentUnits:"userSpaceOnUse"},children:[p,k]},M={tag:"defs",children:[{tag:"clipPath",attributes:{id:y},children:(b=d,b.tag==="g"?b.children:[b])},v]};var b;return t.push(M,{tag:"rect",attributes:{fill:"currentColor","clip-path":"url(#".concat(y,")"),mask:"url(#".concat(N,")"),...jn}}),{children:t,attributes:a}}}},{provides(n){let e=!1;_.matchMedia&&(e=_.matchMedia("(prefers-reduced-motion: reduce)").matches),n.missingIconAbstract=function(){const t=[],a={fill:"currentColor"},r={attributeType:"XML",repeatCount:"indefinite",dur:"2s"};t.push({tag:"path",attributes:{...a,d:"M156.5,447.7l-12.6,29.5c-18.7-9.5-35.9-21.2-51.5-34.9l22.7-22.7C127.6,430.5,141.5,440,156.5,447.7z M40.6,272H8.5 c1.4,21.2,5.4,41.7,11.7,61.1L50,321.2C45.1,305.5,41.8,289,40.6,272z M40.6,240c1.4-18.8,5.2-37,11.1-54.1l-29.5-12.6 C14.7,194.3,10,216.7,8.5,240H40.6z M64.3,156.5c7.8-14.9,17.2-28.8,28.1-41.5L69.7,92.3c-13.7,15.6-25.5,32.8-34.9,51.5 L64.3,156.5z M397,419.6c-13.9,12-29.4,22.3-46.1,30.4l11.9,29.8c20.7-9.9,39.8-22.6,56.9-37.6L397,419.6z M115,92.4 c13.9-12,29.4-22.3,46.1-30.4l-11.9-29.8c-20.7,9.9-39.8,22.6-56.8,37.6L115,92.4z M447.7,355.5c-7.8,14.9-17.2,28.8-28.1,41.5 l22.7,22.7c13.7-15.6,25.5-32.9,34.9-51.5L447.7,355.5z M471.4,272c-1.4,18.8-5.2,37-11.1,54.1l29.5,12.6 c7.5-21.1,12.2-43.5,13.6-66.8H471.4z M321.2,462c-15.7,5-32.2,8.2-49.2,9.4v32.1c21.2-1.4,41.7-5.4,61.1-11.7L321.2,462z M240,471.4c-18.8-1.4-37-5.2-54.1-11.1l-12.6,29.5c21.1,7.5,43.5,12.2,66.8,13.6V471.4z M462,190.8c5,15.7,8.2,32.2,9.4,49.2h32.1 c-1.4-21.2-5.4-41.7-11.7-61.1L462,190.8z M92.4,397c-12-13.9-22.3-29.4-30.4-46.1l-29.8,11.9c9.9,20.7,22.6,39.8,37.6,56.9 L92.4,397z M272,40.6c18.8,1.4,36.9,5.2,54.1,11.1l12.6-29.5C317.7,14.7,295.3,10,272,8.5V40.6z M190.8,50 c15.7-5,32.2-8.2,49.2-9.4V8.5c-21.2,1.4-41.7,5.4-61.1,11.7L190.8,50z M442.3,92.3L419.6,115c12,13.9,22.3,29.4,30.5,46.1 l29.8-11.9C470,128.5,457.3,109.4,442.3,92.3z M397,92.4l22.7-22.7c-15.6-13.7-32.8-25.5-51.5-34.9l-12.6,29.5 C370.4,72.1,384.4,81.5,397,92.4z"}});const i={...r,attributeName:"opacity"},o={tag:"circle",attributes:{...a,cx:"256",cy:"364",r:"28"},children:[]};return e||o.children.push({tag:"animate",attributes:{...r,attributeName:"r",values:"28;14;28;28;14;28;"}},{tag:"animate",attributes:{...i,values:"1;0;1;1;0;1;"}}),t.push(o),t.push({tag:"path",attributes:{...a,opacity:"1",d:"M263.7,312h-16c-6.6,0-12-5.4-12-12c0-71,77.4-63.9,77.4-107.8c0-20-17.8-40.2-57.4-40.2c-29.1,0-44.3,9.6-59.2,28.7 c-3.9,5-11.1,6-16.2,2.4l-13.1-9.2c-5.6-3.9-6.9-11.8-2.6-17.2c21.2-27.2,46.4-44.7,91.2-44.7c52.3,0,97.4,29.8,97.4,80.2 c0,67.6-77.4,63.5-77.4,107.8C275.7,306.6,270.3,312,263.7,312z"},children:e?[]:[{tag:"animate",attributes:{...i,values:"1;0;0;0;0;1;"}}]}),e||t.push({tag:"path",attributes:{...a,opacity:"0",d:"M232.5,134.5l7,168c0.3,6.4,5.6,11.5,12,11.5h9c6.4,0,11.7-5.1,12-11.5l7-168c0.3-6.8-5.2-12.5-12-12.5h-23 C237.7,122,232.2,127.7,232.5,134.5z"},children:[{tag:"animate",attributes:{...i,values:"0;0;1;1;0;0;"}}]}),{tag:"g",attributes:{class:"missing"},children:t}}}},{hooks:()=>({parseNodeAttributes(n,e){const t=e.getAttribute("data-fa-symbol"),a=t!==null&&(t===""||t);return n.symbol=a,n}})}],{mixoutsTo:dn});const ba=dn.library,ne=dn.parse,fa=dn.icon;function Ie(n,e){var t=Object.keys(n);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(n);e&&(a=a.filter(function(r){return Object.getOwnPropertyDescriptor(n,r).enumerable})),t.push.apply(t,a)}return t}function T(n){for(var e=1;e=0)continue;l[s]=o[s]}return l}(n,e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(n);for(a=0;a=0||Object.prototype.propertyIsEnumerable.call(n,t)&&(r[t]=n[t])}return r}var En,Re,$,gn,Fn,hn,rn,De,Te,Be,Ye,We,He,_e,bn,In,da=typeof globalThis<"u"?globalThis:typeof window<"u"?window:fe!==void 0?fe:typeof self<"u"?self:{},xt={exports:{}};En=xt,Re=da,$=function(n,e,t){if(!Te(e)||Ye(e)||We(e)||He(e)||De(e))return e;var a,r=0,i=0;if(Be(e))for(a=[],i=e.length;r1&&arguments[1]!==void 0?arguments[1]:{},t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{};if(typeof n=="string")return n;var a=(n.children||[]).map(function(l){return kt(l)}),r=Object.keys(n.attributes||{}).reduce(function(l,s){var u=n.attributes[s];switch(s){case"class":l.class=u.split(/\s+/).reduce(function(d,m){return d[m]=!0,d},{});break;case"style":l.style=u.split(";").map(function(d){return d.trim()}).filter(function(d){return d}).reduce(function(d,m){var p=m.indexOf(":"),w=pa.camelize(m.slice(0,p)),z=m.slice(p+1).trim();return d[w]=z,d},{});break;default:l.attrs[s]=u}return l},{attrs:{},class:{},style:{}});t.class;var i=t.style,o=i===void 0?{}:i,c=ma(t,ga);return At(n.tag,T(T(T({},e),{},{class:r.class,style:T(T({},r.style),o)},r.attrs),c),a)}var wt=!1;try{wt=!0}catch{}function Rn(n,e){return Array.isArray(e)&&e.length>0||!Array.isArray(e)&&e?A({},n,e):{}}function Ue(n){return n&&ee(n)==="object"&&n.prefix&&n.iconName&&n.icon?n:ne.icon?ne.icon(n):n===null?null:ee(n)==="object"&&n.prefix&&n.iconName?n:Array.isArray(n)&&n.length===2?{prefix:n[0],iconName:n[1]}:typeof n=="string"?{prefix:"fas",iconName:n}:void 0}var ya=zt({name:"FontAwesomeIcon",props:{border:{type:Boolean,default:!1},fixedWidth:{type:Boolean,default:!1},flip:{type:[Boolean,String],default:!1,validator:function(n){return[!0,!1,"horizontal","vertical","both"].indexOf(n)>-1}},icon:{type:[Object,Array,String],required:!0},mask:{type:[Object,Array,String],default:null},maskId:{type:String,default:null},listItem:{type:Boolean,default:!1},pull:{type:String,default:null,validator:function(n){return["right","left"].indexOf(n)>-1}},pulse:{type:Boolean,default:!1},rotation:{type:[String,Number],default:null,validator:function(n){return[90,180,270].indexOf(Number.parseInt(n,10))>-1}},swapOpacity:{type:Boolean,default:!1},size:{type:String,default:null,validator:function(n){return["2xs","xs","sm","lg","xl","2xl","1x","2x","3x","4x","5x","6x","7x","8x","9x","10x"].indexOf(n)>-1}},spin:{type:Boolean,default:!1},transform:{type:[String,Object],default:null},symbol:{type:[Boolean,String],default:!1},title:{type:String,default:null},titleId:{type:String,default:null},inverse:{type:Boolean,default:!1},bounce:{type:Boolean,default:!1},shake:{type:Boolean,default:!1},beat:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},beatFade:{type:Boolean,default:!1},flash:{type:Boolean,default:!1},spinPulse:{type:Boolean,default:!1},spinReverse:{type:Boolean,default:!1}},setup:function(n,e){var t=e.attrs,a=J(function(){return Ue(n.icon)}),r=J(function(){return Rn("classes",function(s){var u,d=(A(A(A(A(A(A(A(A(A(A(u={"fa-spin":s.spin,"fa-pulse":s.pulse,"fa-fw":s.fixedWidth,"fa-border":s.border,"fa-li":s.listItem,"fa-inverse":s.inverse,"fa-flip":s.flip===!0,"fa-flip-horizontal":s.flip==="horizontal"||s.flip==="both","fa-flip-vertical":s.flip==="vertical"||s.flip==="both"},"fa-".concat(s.size),s.size!==null),"fa-rotate-".concat(s.rotation),s.rotation!==null),"fa-pull-".concat(s.pull),s.pull!==null),"fa-swap-opacity",s.swapOpacity),"fa-bounce",s.bounce),"fa-shake",s.shake),"fa-beat",s.beat),"fa-fade",s.fade),"fa-beat-fade",s.beatFade),"fa-flash",s.flash),A(A(u,"fa-spin-pulse",s.spinPulse),"fa-spin-reverse",s.spinReverse));return Object.keys(d).map(function(m){return d[m]?m:null}).filter(function(m){return m})}(n))}),i=J(function(){return Rn("transform",typeof n.transform=="string"?ne.transform(n.transform):n.transform)}),o=J(function(){return Rn("mask",Ue(n.mask))}),c=J(function(){return fa(a.value,T(T(T(T({},r.value),i.value),o.value),{},{symbol:n.symbol,title:n.title,titleId:n.titleId,maskId:n.maskId}))});Lt(c,function(s){if(!s)return function(){var u;!wt&&console&&typeof console.error=="function"&&(u=console).error.apply(u,arguments)}("Could not find one or more icon(s)",a.value,o.value)},{immediate:!0});var l=J(function(){return c.value?kt(c.value.abstract[0],{},t):null});return function(){return l.value}}});const va={prefix:"fas",iconName:"calendar-days",icon:[448,512,["calendar-alt"],"f073","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm64 80l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm128 0l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM64 400l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm144-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zm112 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16z"]},xa={prefix:"fas",iconName:"lock",icon:[448,512,[128274],"f023","M144 144l0 48 160 0 0-48c0-44.2-35.8-80-80-80s-80 35.8-80 80zM80 192l0-48C80 64.5 144.5 0 224 0s144 64.5 144 144l0 48 16 0c35.3 0 64 28.7 64 64l0 192c0 35.3-28.7 64-64 64L64 512c-35.3 0-64-28.7-64-64L0 256c0-35.3 28.7-64 64-64l16 0z"]},ka={prefix:"fas",iconName:"pen-to-square",icon:[512,512,["edit"],"f044","M471.6 21.7c-21.9-21.9-57.3-21.9-79.2 0L362.3 51.7l97.9 97.9 30.1-30.1c21.9-21.9 21.9-57.3 0-79.2L471.6 21.7zm-299.2 220c-6.1 6.1-10.8 13.6-13.5 21.9l-29.6 88.8c-2.9 8.6-.6 18.1 5.8 24.6s15.9 8.7 24.6 5.8l88.8-29.6c8.2-2.7 15.7-7.4 21.9-13.5L437.7 172.3 339.7 74.3 172.4 241.7zM96 64C43 64 0 107 0 160L0 416c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-96c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 96c0 17.7-14.3 32-32 32L96 448c-17.7 0-32-14.3-32-32l0-256c0-17.7 14.3-32 32-32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L96 64z"]},wa={prefix:"fas",iconName:"star",icon:[576,512,[11088,61446],"f005","M316.9 18C311.6 7 300.4 0 288.1 0s-23.4 7-28.8 18L195 150.3 51.4 171.5c-12 1.8-22 10.2-25.7 21.7s-.7 24.2 7.9 32.7L137.8 329 113.2 474.7c-2 12 3 24.2 12.9 31.3s23 8 33.8 2.3l128.3-68.5 128.3 68.5c10.8 5.7 23.9 4.9 33.8-2.3s14.9-19.3 12.9-31.3L438.5 329 542.7 225.9c8.6-8.5 11.7-21.2 7.9-32.7s-13.7-19.9-25.7-21.7L381.2 150.3 316.9 18z"]},za={prefix:"fas",iconName:"charging-station",icon:[576,512,[],"f5e7","M96 0C60.7 0 32 28.7 32 64l0 384c-17.7 0-32 14.3-32 32s14.3 32 32 32l288 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l0-144 16 0c22.1 0 40 17.9 40 40l0 32c0 39.8 32.2 72 72 72s72-32.2 72-72l0-123.7c32.5-10.2 56-40.5 56-76.3l0-32c0-8.8-7.2-16-16-16l-16 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-32 0 0-48c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 48-16 0c-8.8 0-16 7.2-16 16l0 32c0 35.8 23.5 66.1 56 76.3L472 376c0 13.3-10.7 24-24 24s-24-10.7-24-24l0-32c0-48.6-39.4-88-88-88l-16 0 0-192c0-35.3-28.7-64-64-64L96 0zM216.9 82.7c6 4 8.5 11.5 6.3 18.3l-25 74.9 57.8 0c6.7 0 12.7 4.2 15 10.4s.5 13.3-4.6 17.7l-112 96c-5.5 4.7-13.4 5.1-19.3 1.1s-8.5-11.5-6.3-18.3l25-74.9L96 208c-6.7 0-12.7-4.2-15-10.4s-.5-13.3 4.6-17.7l112-96c5.5-4.7 13.4-5.1 19.3-1.1z"]},La={prefix:"fas",iconName:"car-battery",icon:[512,512,["battery-car"],"f5df","M80 96c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l96 0c0-17.7 14.3-32 32-32l64 0c17.7 0 32 14.3 32 32l16 0c35.3 0 64 28.7 64 64l0 224c0 35.3-28.7 64-64 64L64 448c-35.3 0-64-28.7-64-64L0 160c0-35.3 28.7-64 64-64l16 0zm304 96c0-8.8-7.2-16-16-16s-16 7.2-16 16l0 32-32 0c-8.8 0-16 7.2-16 16s7.2 16 16 16l32 0 0 32c0 8.8 7.2 16 16 16s16-7.2 16-16l0-32 32 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-32 0 0-32zM80 240c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16s-7.2-16-16-16l-96 0c-8.8 0-16 7.2-16 16z"]},Aa={prefix:"fas",iconName:"plug-circle-bolt",icon:[576,512,[],"e55b","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm47.9-225c4.3 3.7 5.4 9.9 2.6 14.9L452.4 356l35.6 0c5.2 0 9.8 3.3 11.4 8.2s-.1 10.3-4.2 13.4l-96 72c-4.5 3.4-10.8 3.2-15.1-.6s-5.4-9.9-2.6-14.9L411.6 380 376 380c-5.2 0-9.8-3.3-11.4-8.2s.1-10.3 4.2-13.4l96-72c4.5-3.4 10.8-3.2 15.1 .6z"]},Na={prefix:"fas",iconName:"solar-panel",icon:[640,512,[],"f5ba","M122.2 0C91.7 0 65.5 21.5 59.5 51.4L8.3 307.4C.4 347 30.6 384 71 384l217 0 0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l192 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64 217 0c40.4 0 70.7-36.9 62.8-76.6l-51.2-256C574.5 21.5 548.3 0 517.8 0L122.2 0zM260.9 64l118.2 0 10.4 104-139 0L260.9 64zM202.3 168l-100.8 0L122.2 64l90.4 0L202.3 168zM91.8 216l105.6 0L187.1 320 71 320 91.8 216zm153.9 0l148.6 0 10.4 104-169.4 0 10.4-104zm196.8 0l105.6 0L569 320l-116 0L442.5 216zm96-48l-100.8 0L427.3 64l90.4 0 31.4-6.3L517.8 64l20.8 104z"]},Ma={prefix:"fas",iconName:"lock-open",icon:[576,512,[],"f3c1","M352 144c0-44.2 35.8-80 80-80s80 35.8 80 80l0 48c0 17.7 14.3 32 32 32s32-14.3 32-32l0-48C576 64.5 511.5 0 432 0S288 64.5 288 144l0 48L64 192c-35.3 0-64 28.7-64 64L0 448c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64l-32 0 0-48z"]},Oa={prefix:"fas",iconName:"wrench",icon:[512,512,[128295],"f0ad","M352 320c88.4 0 160-71.6 160-160c0-15.3-2.2-30.1-6.2-44.2c-3.1-10.8-16.4-13.2-24.3-5.3l-76.8 76.8c-3 3-7.1 4.7-11.3 4.7L336 192c-8.8 0-16-7.2-16-16l0-57.4c0-4.2 1.7-8.3 4.7-11.3l76.8-76.8c7.9-7.9 5.4-21.2-5.3-24.3C382.1 2.2 367.3 0 352 0C263.6 0 192 71.6 192 160c0 19.1 3.4 37.5 9.5 54.5L19.9 396.1C7.2 408.8 0 426.1 0 444.1C0 481.6 30.4 512 67.9 512c18 0 35.3-7.2 48-19.9L297.5 310.5c17 6.2 35.4 9.5 54.5 9.5zM80 408a24 24 0 1 1 0 48 24 24 0 1 1 0-48z"]},Ca={prefix:"fas",iconName:"circle-info",icon:[512,512,["info-circle"],"f05a","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336l24 0 0-64-24 0c-13.3 0-24-10.7-24-24s10.7-24 24-24l48 0c13.3 0 24 10.7 24 24l0 88 8 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-13.3 0-24-10.7-24-24s10.7-24 24-24zm40-208a32 32 0 1 1 0 64 32 32 0 1 1 0-64z"]},Pa={prefix:"fas",iconName:"arrow-rotate-left",icon:[512,512,[8634,"arrow-left-rotate","arrow-rotate-back","arrow-rotate-backward","undo"],"f0e2","M125.7 160l50.3 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L48 224c-17.7 0-32-14.3-32-32L16 64c0-17.7 14.3-32 32-32s32 14.3 32 32l0 51.2L97.6 97.6c87.5-87.5 229.3-87.5 316.8 0s87.5 229.3 0 316.8s-229.3 87.5-316.8 0c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0c62.5 62.5 163.8 62.5 226.3 0s62.5-163.8 0-226.3s-163.8-62.5-226.3 0L125.7 160z"]},Sa={prefix:"fas",iconName:"plug-circle-check",icon:[576,512,[],"e55c","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM576 368a144 144 0 1 0 -288 0 144 144 0 1 0 288 0zm-76.7-43.3c6.2 6.2 6.2 16.4 0 22.6l-72 72c-6.2 6.2-16.4 6.2-22.6 0l-40-40c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L416 385.4l60.7-60.7c6.2-6.2 16.4-6.2 22.6 0z"]},ja={prefix:"fas",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M256 0a256 256 0 1 1 0 512A256 256 0 1 1 256 0zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]},Ea={prefix:"fas",iconName:"power-off",icon:[512,512,[9211],"f011","M288 32c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 224c0 17.7 14.3 32 32 32s32-14.3 32-32l0-224zM143.5 120.6c13.6-11.3 15.4-31.5 4.1-45.1s-31.5-15.4-45.1-4.1C49.7 115.4 16 181.8 16 256c0 132.5 107.5 240 240 240s240-107.5 240-240c0-74.2-33.8-140.6-86.6-184.6c-13.6-11.3-33.8-9.4-45.1 4.1s-9.4 33.8 4.1 45.1c38.9 32.3 63.5 81 63.5 135.4c0 97.2-78.8 176-176 176s-176-78.8-176-176c0-54.4 24.7-103.1 63.5-135.4z"]},Fa={prefix:"fas",iconName:"calculator",icon:[384,512,[128425],"f1ec","M64 0C28.7 0 0 28.7 0 64L0 448c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-384c0-35.3-28.7-64-64-64L64 0zM96 64l192 0c17.7 0 32 14.3 32 32l0 32c0 17.7-14.3 32-32 32L96 160c-17.7 0-32-14.3-32-32l0-32c0-17.7 14.3-32 32-32zm32 160a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM96 352a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM64 416c0-17.7 14.3-32 32-32l96 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0c-17.7 0-32-14.3-32-32zM192 256a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zm64-64a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm32 64a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM288 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64z"]},Ia={prefix:"fas",iconName:"delete-left",icon:[576,512,[9003,"backspace"],"f55a","M576 128c0-35.3-28.7-64-64-64L205.3 64c-17 0-33.3 6.7-45.3 18.7L9.4 233.4c-6 6-9.4 14.1-9.4 22.6s3.4 16.6 9.4 22.6L160 429.3c12 12 28.3 18.7 45.3 18.7L512 448c35.3 0 64-28.7 64-64l0-256zM271 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]},Ra={prefix:"fas",iconName:"house",icon:[576,512,[127968,63498,63500,"home","home-alt","home-lg-alt"],"f015","M575.8 255.5c0 18-15 32.1-32 32.1l-32 0 .7 160.2c0 2.7-.2 5.4-.5 8.1l0 16.2c0 22.1-17.9 40-40 40l-16 0c-1.1 0-2.2 0-3.3-.1c-1.4 .1-2.8 .1-4.2 .1L416 512l-24 0c-22.1 0-40-17.9-40-40l0-24 0-64c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32 14.3-32 32l0 64 0 24c0 22.1-17.9 40-40 40l-24 0-31.9 0c-1.5 0-3-.1-4.5-.2c-1.2 .1-2.4 .2-3.6 .2l-16 0c-22.1 0-40-17.9-40-40l0-112c0-.9 0-1.9 .1-2.8l0-69.7-32 0c-18 0-32-14-32-32.1c0-9 3-17 10-24L266.4 8c7-7 15-8 22-8s15 2 21 7L564.8 231.5c8 7 12 15 11 24z"]},Da={prefix:"fas",iconName:"calendar-week",icon:[448,512,[],"f784","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 64c0 8.8 7.2 16 16 16l288 0c8.8 0 16-7.2 16-16l0-64c0-8.8-7.2-16-16-16L80 256z"]},Ta={prefix:"fas",iconName:"bolt",icon:[448,512,[9889,"zap"],"f0e7","M349.4 44.6c5.9-13.7 1.5-29.7-10.6-38.5s-28.6-8-39.9 1.8l-256 224c-10 8.8-13.6 22.9-8.9 35.3S50.7 288 64 288l111.5 0L98.6 467.4c-5.9 13.7-1.5 29.7 10.6 38.5s28.6 8 39.9-1.8l256-224c10-8.8 13.6-22.9 8.9-35.3s-16.6-20.7-30-20.7l-111.5 0L349.4 44.6z"]},Ba={prefix:"fas",iconName:"car",icon:[512,512,[128664,"automobile"],"f1b9","M135.2 117.4L109.1 192l293.8 0-26.1-74.6C372.3 104.6 360.2 96 346.6 96L165.4 96c-13.6 0-25.7 8.6-30.2 21.4zM39.6 196.8L74.8 96.3C88.3 57.8 124.6 32 165.4 32l181.2 0c40.8 0 77.1 25.8 90.6 64.3l35.2 100.5c23.2 9.6 39.6 32.5 39.6 59.2l0 144 0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L96 400l0 48c0 17.7-14.3 32-32 32l-32 0c-17.7 0-32-14.3-32-32l0-48L0 256c0-26.7 16.4-49.6 39.6-59.2zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm288 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"]},Ya={prefix:"fas",iconName:"plug-circle-xmark",icon:[576,512,[],"e560","M96 0C78.3 0 64 14.3 64 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM288 0c-17.7 0-32 14.3-32 32l0 96 64 0 0-96c0-17.7-14.3-32-32-32zM32 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l0 32c0 77.4 55 142 128 156.8l0 67.2c0 17.7 14.3 32 32 32s32-14.3 32-32l0-67.2c12.3-2.5 24.1-6.4 35.1-11.5c-2.1-10.8-3.1-21.9-3.1-33.3c0-80.3 53.8-148 127.3-169.2c.5-2.2 .7-4.5 .7-6.8c0-17.7-14.3-32-32-32L32 160zM432 512a144 144 0 1 0 0-288 144 144 0 1 0 0 288zm59.3-180.7L454.6 368l36.7 36.7c6.2 6.2 6.2 16.4 0 22.6s-16.4 6.2-22.6 0L432 390.6l-36.7 36.7c-6.2 6.2-16.4 6.2-22.6 0s-6.2-16.4 0-22.6L409.4 368l-36.7-36.7c-6.2-6.2-6.2-16.4 0-22.6s16.4-6.2 22.6 0L432 345.4l36.7-36.7c6.2-6.2 16.4-6.2 22.6 0s6.2 16.4 0 22.6z"]},Wa={prefix:"fas",iconName:"eraser",icon:[576,512,[],"f12d","M290.7 57.4L57.4 290.7c-25 25-25 65.5 0 90.5l80 80c12 12 28.3 18.7 45.3 18.7L288 480l9.4 0L512 480c17.7 0 32-14.3 32-32s-14.3-32-32-32l-124.1 0L518.6 285.3c25-25 25-65.5 0-90.5L381.3 57.4c-25-25-65.5-25-90.5 0zM297.4 416l-9.4 0-105.4 0-80-80L227.3 211.3 364.7 348.7 297.4 416z"]},Ha={prefix:"fas",iconName:"gauge-high",icon:[512,512,[62461,"tachometer-alt","tachometer-alt-fast"],"f625","M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM256 416c35.3 0 64-28.7 64-64c0-17.4-6.9-33.1-18.1-44.6L366 161.7c5.3-12.1-.2-26.3-12.3-31.6s-26.3 .2-31.6 12.3L257.9 288c-.6 0-1.3 0-1.9 0c-35.3 0-64 28.7-64 64s28.7 64 64 64zM176 144a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM96 288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm352-32a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},_a={prefix:"fas",iconName:"triangle-exclamation",icon:[512,512,[9888,"exclamation-triangle","warning"],"f071","M256 32c14.2 0 27.3 7.5 34.5 19.8l216 368c7.3 12.4 7.3 27.7 .2 40.1S486.3 480 472 480L40 480c-14.3 0-27.6-7.7-34.7-20.1s-7-27.8 .2-40.1l216-368C228.7 39.5 241.8 32 256 32zm0 128c-13.3 0-24 10.7-24 24l0 112c0 13.3 10.7 24 24 24s24-10.7 24-24l0-112c0-13.3-10.7-24-24-24zm32 224a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"]},Ua={prefix:"fas",iconName:"calendar-day",icon:[448,512,[],"f783","M128 0c17.7 0 32 14.3 32 32l0 32 128 0 0-32c0-17.7 14.3-32 32-32s32 14.3 32 32l0 32 48 0c26.5 0 48 21.5 48 48l0 48L0 160l0-48C0 85.5 21.5 64 48 64l48 0 0-32c0-17.7 14.3-32 32-32zM0 192l448 0 0 272c0 26.5-21.5 48-48 48L48 512c-26.5 0-48-21.5-48-48L0 192zm80 64c-8.8 0-16 7.2-16 16l0 96c0 8.8 7.2 16 16 16l96 0c8.8 0 16-7.2 16-16l0-96c0-8.8-7.2-16-16-16l-96 0z"]},qa={prefix:"fas",iconName:"circle-xmark",icon:[512,512,[61532,"times-circle","xmark-circle"],"f057","M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"]},Ka={prefix:"far",iconName:"star",icon:[576,512,[11088,61446],"f005","M287.9 0c9.2 0 17.6 5.2 21.6 13.5l68.6 141.3 153.2 22.6c9 1.3 16.5 7.6 19.3 16.3s.5 18.1-5.9 24.5L433.6 328.4l26.2 155.6c1.5 9-2.2 18.1-9.7 23.5s-17.3 6-25.3 1.7l-137-73.2L151 509.1c-8.1 4.3-17.9 3.7-25.3-1.7s-11.2-14.5-9.7-23.5l26.2-155.6L31.1 218.2c-6.5-6.4-8.7-15.9-5.9-24.5s10.3-14.9 19.3-16.3l153.2-22.6L266.3 13.5C270.4 5.2 278.7 0 287.9 0zm0 79L235.4 187.2c-3.5 7.1-10.2 12.1-18.1 13.3L99 217.9 184.9 303c5.5 5.5 8.1 13.3 6.8 21L171.4 443.7l105.2-56.2c7.1-3.8 15.6-3.8 22.6 0l105.2 56.2L384.2 324.1c-1.3-7.7 1.2-15.5 6.8-21l85.9-85.1L358.6 200.5c-7.8-1.2-14.6-6.1-18.1-13.3L287.9 79z"]},Xa={prefix:"far",iconName:"clock",icon:[512,512,[128339,"clock-four"],"f017","M464 256A208 208 0 1 1 48 256a208 208 0 1 1 416 0zM0 256a256 256 0 1 0 512 0A256 256 0 1 0 0 256zM232 120l0 136c0 8 4 15.5 10.7 20l96 64c11 7.4 25.9 4.4 33.3-6.7s4.4-25.9-6.7-33.3L280 243.2 280 120c0-13.3-10.7-24-24-24s-24 10.7-24 24z"]};export{Sa as A,Aa as B,Pa as C,Ea as D,ya as F,Wa as a,xa as b,Ma as c,Ha as d,La as e,Ia as f,Na as g,Ra as h,za as i,Fa as j,Oa as k,ba as l,Ba as m,ka as n,qa as o,_a as p,Ca as q,wa as r,Ka as s,ja as t,Xa as u,Ta as v,Ua as w,Da as x,va as y,Ya as z}; diff --git a/packages/modules/display_themes/cards/web/assets/vendor-inkline-CqnuQ_Go.js b/packages/modules/display_themes/cards/web/assets/vendor-inkline-CWAydWlY.js similarity index 99% rename from packages/modules/display_themes/cards/web/assets/vendor-inkline-CqnuQ_Go.js rename to packages/modules/display_themes/cards/web/assets/vendor-inkline-CWAydWlY.js index cd9bc38499..8ee1d48b9b 100644 --- a/packages/modules/display_themes/cards/web/assets/vendor-inkline-CqnuQ_Go.js +++ b/packages/modules/display_themes/cards/web/assets/vendor-inkline-CWAydWlY.js @@ -1 +1 @@ -import{h as nt,w as Bt,r as zt,d as c,a as At,b as $,v as x,o as l,e as o,f as d,i as f,j as m,m as h,k as P,l as V,n as y,p as Y,q as A,s as I,t as E,u as Q,T as L,x as _,y as z,z as G,F as j,A as X,c as se,B as Vt,C as Ot,D as Lt,E as Dt,G as Nt}from"./vendor-CFVb6_YQ.js";const p=(e,t)=>{const i=e.__vccOpts||e;for(const[a,s]of t)i[a]=s;return i};function g(e){let t=e.color;return t||(t=e.$inkline.options.colorMode==="system"?typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e.$inkline.options.colorMode),{[`-${t}`]:!0}}function lt(e,t){if(!e||!t)return!1;if(t.indexOf(" ")!==-1)throw new Error("Class name should not contain spaces.");return e.classList?e.classList.contains(t):(" "+e.className+" ").indexOf(" "+t+" ")>-1}function _e(e,t){if(!e)return;let i=e.className;const a=(t||"").split(" ");for(let s=0,r=a.length;s"-"+s.toLowerCase())}function rt(e,t){return["string","number"].indexOf(typeof t)>-1&&t!==""?`${He(e)}-${t}`:He(e)}function Re(e){return e.charAt(0).toUpperCase()+e.slice(1)}function U(e){if(Array.isArray(e)){const t=e.slice().map(U),i=Object.keys(t);return Object.keys(e).filter(a=>!i.includes(a)).forEach(a=>{t[a]=e[a]}),t}return typeof e=="object"?Object.keys(e).reduce((t,i)=>(t[i]=U(e[i]),t),{}):e}function Fe(e){if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return e.type!=="hidden"&&e.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}}function Tt(e){if(!Fe(e))return!1;try{e.focus()}catch{}return typeof window<"u"&&document.activeElement===e}function ot(e){for(let t=0;t"u")return;if(e.currentStyle)return e.currentStyle[t];const i=window.getComputedStyle(e,null);return i.getPropertyValue?i.getPropertyValue(t):i[t]}const dt=e=>e instanceof Function,J={xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1/0]},je=["","xs","sm","md","lg","xl","xxl"],Pt={tab:["Tab",9],enter:["Enter",13],esc:["Escape",27],space:[" ","Space",32],left:["ArrowLeft","Left",37],up:["ArrowUp","Up",38],right:["ArrowRight","Right",39],down:["ArrowDown","Down",40]},Qe={pristine:!0,dirty:!1,untouched:!0,touched:!1,valid:!0,invalid:!1,errors:[]},Rt={value:"",validators:[]},ut=["value","validators","pristine","dirty","untouched","touched","valid","invalid","errors"],k=(e,t)=>{const i=t.key||t.keyIdentifier||t.keyCode;return Pt[e].indexOf(i)!==-1};function Et(e,t,i){e&&t&&e.removeEventListener(t,i,!1)}function Mt(e,t,i){e&&t&&e.detachEvent("on"+t,i)}const T=typeof window>"u"?()=>{}:window.document.removeEventListener?Et:Mt;function _t(e,t,i){e&&t&&i&&e.addEventListener(t,i,!1)}function Ft(e,t,i){e&&t&&i&&e.attachEvent("on"+t,i)}const O=typeof window>"u"?()=>{}:window.document.addEventListener?_t:Ft,ct=e=>e.map(t=>t.type==="element"?nt(t.name,t.attributes,ct(t.children)):t.value);function pt(e,t){if(!e||!t)return;const i=t.split(" ");let a=" "+e.className+" ";for(let s=0,r=i.length;si&&i[a],e)}function ne(e,t,i){return t&&t.split(".").reduce((a,s)=>(Object.keys(i).forEach(r=>{a[s][r]=i[r]}),a&&a[s]),e),Object.keys(i).forEach(a=>{e[a]=i[a]}),e}function S(e){return`${e?`${e}-`:""}${Math.random().toString(36).substr(2,9)}`}const D={"en-US":/^[A-Z]+$/i,"bg-BG":/^[А-Я]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ω]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sl-SI":/^[A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},N={"en-US":/^[0-9A-Z]+$/i,"bg-BG":/^[0-9А-Я]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sl-SI":/^[0-9A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/};["AU","GB","HK","IN","NZ","ZA","ZM"].forEach(e=>{D[`en-${e}`]=D["en-US"],N[`en-${e}`]=N["en-US"]}),["AE","BH","DZ","EG","IQ","JO","KW","LB","LY","MA","QM","QA","SA","SD","SY","TN","YE"].forEach(e=>{D[`ar-${e}`]=D.ar,N[`ar-${e}`]=N.ar}),D["pt-BR"]=D["pt-PT"],N["pt-BR"]=N["pt-PT"],D["pl-Pl"]=D["pl-PL"],N["pl-Pl"]=N["pl-PL"];const Ye=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,jt={alpha:function(e,t={}){const i=t.locale||"en-US",a=s=>{let r=String(s);return t.allowDashes&&(r=r.replace(/-/g,"")),t.allowSpaces&&(r=r.replace(/ /g,"")),r};return e.constructor===Array?e.every(s=>D[i].test(a(s))):D[i].test(a(e))},alphanumeric:function(e,t={}){const i=t.locale||"en-US",a=s=>{let r=String(s);return t.allowDashes&&(r=r.replace(/-/g,"")),t.allowSpaces&&(r=r.replace(/ /g,"")),r};return e.constructor===Array?e.every(s=>N[i].test(a(s))):N[i].test(a(e))},custom:function(e,t={validator:()=>!0}){return e.constructor===Array?e.every(i=>t.validator(i)):t.validator(e)},number:function(e,t={allowNegative:!1,allowDecimal:!1}){let i="\\d+";t.allowNegative&&(i="[-]?"+i),t.allowDecimal&&(i+="([\\.\\,]\\d+)?");const a=new RegExp(`^${i}$`);return e.constructor===Array?e.every(s=>a.test(s)):a.test(e)},email:function(e){return e.constructor===Array?e.every(t=>!t||Ye.test(String(t))):!e||Ye.test(String(e))},max:function(e,t={value:0}){if(e==null)return!1;const i=a=>Number(a);return Array.isArray(e)?e.every(a=>i(a)<=t.value):i(e)<=t.value},maxLength:function(e,t={value:0}){return e!=null&&(e.constructor===Array?e.length<=t.value:typeof e=="object"?Object.keys(e).length<=t.value:String(e).length<=t.value)},min:function(e,t={value:0}){if(e==null)return!1;const i=a=>Number(a);return Array.isArray(e)?e.every(a=>i(a)>=t.value):i(e)>=t.value},minLength:function(e,t={value:0}){return e!=null&&(e.constructor===Array?e.length>=t.value:typeof e=="object"?Object.keys(e).length>=t.value:String(e).length>=t.value)},required:function(e,t={invalidateFalse:!1}){return e!=null&&(e.constructor===Array?!!e.length:typeof e=="boolean"?!t.invalidateFalse||e:!!String(e).trim().length)},sameAs:function(e,t={}){if(!t.target)return!1;const i=M(t.schema(),t.target);if(!i)throw new Error(`Could not find target with name '${t.target}' in 'sameAs' validator.`);return e===i.value}};function ht(e){const t=Object.keys(e).length===0||Array.isArray(e.validators)||e.hasOwnProperty("value")?{...Qe,...Rt}:Qe;return Object.entries(t).forEach(([i,a])=>{e.hasOwnProperty(i)||(e[i]=a)}),Object.keys(e).filter(i=>!ut.includes(i)).forEach(i=>{(typeof e[i]=="object"||Array.isArray(e[i]))&&(e[i]=ht(e[i]))}),e}const Ee={locale:"en",messages:{en:{validation:{alpha:e=>{let t;switch(!0){case(e.allowSpaces&&e.allowDashes):t="letters, spaces, and dashes";break;case e.allowSpaces:t="letters and spaces";break;case e.allowDashes:t="letters and dashes";break;default:t="letters"}return`Please enter ${t} only.`},alphanumeric:e=>{let t;switch(!0){case(e.allowSpaces&&e.allowDashes):t="letters, numbers, spaces, and dashes";break;case e.allowSpaces:t="letters, numbers, and spaces";break;case e.allowDashes:t="letters, numbers, and dashes";break;default:t="letters and numbers"}return`Please enter ${t} only.`},number:e=>{let t;switch(!0){case(e.allowNegative&&e.allowDecimal):t="positive or negative decimal numbers";break;case e.allowNegative:t="positive or negative numbers";break;case e.allowDecimal:t="decimal numbers";break;default:t="numbers"}return`Please enter ${t} only.`},email:()=>"Please enter a valid email address.",max:()=>"Please enter a maximum value of {value}.",maxLength:()=>"Please enter up to {value} characters.",min:()=>"Please enter a minimum value of {value}.",minLength:()=>"Please enter at least {value} characters.",required:()=>"Please enter a value for this field.",sameAs:()=>"Please make sure that the two values match.",custom:()=>"Please enter a correct value for this field."}}}};function Gt(e,t=""){const i=[];return e.valid=(e.validators||[]).reduce((a,s)=>{const r=typeof s=="string"?{name:s}:s,n=jt[r.name](e.value,r);if(!n){const{name:b,message:B,...F}=r,w={name:t.split(".").pop(),value:e.value,...F},xt=(B instanceof Function?B():B)||function(We,ie={}){const ae=M(Ee.messages[Ee.locale],We),Ct=dt(ae)?ae(ie):ae||We;return Object.keys(ie).reduce((St,Ue)=>St.replace(new RegExp(`{${Ue}}`,"g"),`${ie[Ue]}`),Ct)}(`validation.${b}`,w);i.push({name:b,message:xt,path:t})}return a&&n},!0),e.invalid=!e.valid,e.errors=i,e}function mt(e,t=""){return e.valid=Object.keys(e).filter(i=>!ut.includes(i)).reduce((i,a)=>(Object.keys(e[a]).length===0||e[a].validators||e[a].value?e[a]=Gt(e[a],`${t}`?`${t}.${a}`:a):e[a]=mt(e[a],`${t}`?`${t}.${a}`:a),i&&e[a].valid),!0),e.invalid=!e.valid,e}function le(e){return mt(e,"")}const Zt=Object.freeze(Object.defineProperty({__proto__:null,inkCaretDown:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"caret-down",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 11c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1z"},children:[]}]},inkCheck:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"check",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M23.625 3.5l-13.125 13.125-6.125-6.125-4.375 4.375 10.5 10.5 17.5-17.5z"},children:[]}]},inkChevronDown:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"chevron-down",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M26.297 12.625l-11.594 11.578c-0.391 0.391-1.016 0.391-1.406 0l-11.594-11.578c-0.391-0.391-0.391-1.031 0-1.422l2.594-2.578c0.391-0.391 1.016-0.391 1.406 0l8.297 8.297 8.297-8.297c0.391-0.391 1.016-0.391 1.406 0l2.594 2.578c0.391 0.391 0.391 1.031 0 1.422z"},children:[]}]},inkCircle:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"circle",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z"},children:[]}]},inkDanger:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"danger",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M14 2.625c-3.038 0-5.895 1.183-8.043 3.332s-3.332 5.005-3.332 8.043c0 3.038 1.183 5.895 3.332 8.043s5.005 3.332 8.043 3.332c3.038 0 5.895-1.183 8.043-3.332s3.332-5.005 3.332-8.043c0-3.038-1.183-5.895-3.332-8.043s-5.005-3.332-8.043-3.332zM14 0v0c7.732 0 14 6.268 14 14s-6.268 14-14 14c-7.732 0-14-6.268-14-14s6.268-14 14-14zM12.25 19.25h3.5v3.5h-3.5zM12.25 5.25h3.5v10.5h-3.5z"},children:[]}]},inkInfo:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"info",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M12.25 8.313c0-0.722 0.591-1.313 1.313-1.313h0.875c0.722 0 1.313 0.591 1.313 1.313v0.875c0 0.722-0.591 1.313-1.313 1.313h-0.875c-0.722 0-1.313-0.591-1.313-1.313v-0.875z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M17.5 21h-7v-1.75h1.75v-5.25h-1.75v-1.75h5.25v7h1.75z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M14 0c-7.732 0-14 6.268-14 14s6.268 14 14 14 14-6.268 14-14-6.268-14-14-14zM14 25.375c-6.282 0-11.375-5.093-11.375-11.375s5.093-11.375 11.375-11.375 11.375 5.093 11.375 11.375-5.093 11.375-11.375 11.375z"},children:[]}]},inkMinus:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"minus",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M0 11.375v5.25c0 0.483 0.392 0.875 0.875 0.875h26.25c0.483 0 0.875-0.392 0.875-0.875v-5.25c0-0.483-0.392-0.875-0.875-0.875h-26.25c-0.483 0-0.875 0.392-0.875 0.875z"},children:[]}]},inkPlus:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"plus",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.125 10.5h-9.625v-9.625c0-0.483-0.392-0.875-0.875-0.875h-5.25c-0.483 0-0.875 0.392-0.875 0.875v9.625h-9.625c-0.483 0-0.875 0.392-0.875 0.875v5.25c0 0.483 0.392 0.875 0.875 0.875h9.625v9.625c0 0.483 0.392 0.875 0.875 0.875h5.25c0.483 0 0.875-0.392 0.875-0.875v-9.625h9.625c0.483 0 0.875-0.392 0.875-0.875v-5.25c0-0.483-0.392-0.875-0.875-0.875z"},children:[]}]},inkSearch:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"search",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.132 23.827l-6.632-5.641c-0.686-0.617-1.419-0.9-2.011-0.873 1.566-1.834 2.511-4.213 2.511-6.813 0-5.799-4.701-10.5-10.5-10.5s-10.5 4.701-10.5 10.5 4.701 10.5 10.5 10.5c2.6 0 4.98-0.946 6.813-2.511-0.027 0.592 0.256 1.326 0.873 2.011l5.641 6.632c0.966 1.073 2.544 1.164 3.506 0.201s0.872-2.54-0.201-3.506zM10.5 17.5c-3.866 0-7-3.134-7-7s3.134-7 7-7 7 3.134 7 7-3.134 7-7 7z"},children:[]}]},inkSort:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 17c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1zM16 11c0 0.547-0.453 1-1 1h-14c-0.547 0-1-0.453-1-1 0-0.266 0.109-0.516 0.297-0.703l7-7c0.187-0.187 0.438-0.297 0.703-0.297s0.516 0.109 0.703 0.297l7 7c0.187 0.187 0.297 0.438 0.297 0.703z"},children:[]}]},inkSortAsc:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort-asc",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 11c0 0.547-0.453 1-1 1h-14c-0.547 0-1-0.453-1-1 0-0.266 0.109-0.516 0.297-0.703l7-7c0.187-0.187 0.438-0.297 0.703-0.297s0.516 0.109 0.703 0.297l7 7c0.187 0.187 0.297 0.438 0.297 0.703z"},children:[]}]},inkSortDesc:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort-desc",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 17c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1z"},children:[]}]},inkTimes:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"times",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.745 22.495c-0-0-0-0-0-0l-8.494-8.494 8.494-8.494c0-0 0-0 0-0 0.091-0.091 0.158-0.198 0.2-0.312 0.116-0.311 0.050-0.675-0.2-0.925l-4.013-4.013c-0.25-0.25-0.614-0.316-0.925-0.2-0.114 0.042-0.221 0.109-0.312 0.2 0 0-0 0-0 0l-8.494 8.494-8.494-8.494c-0-0-0-0-0-0-0.091-0.091-0.198-0.158-0.312-0.2-0.311-0.116-0.675-0.050-0.925 0.2l-4.013 4.013c-0.25 0.25-0.316 0.614-0.2 0.925 0.042 0.114 0.109 0.221 0.2 0.312 0 0 0 0 0 0l8.494 8.494-8.494 8.494c-0 0-0 0-0 0-0.091 0.091-0.157 0.198-0.2 0.312-0.116 0.311-0.050 0.675 0.2 0.925l4.013 4.013c0.25 0.25 0.614 0.316 0.925 0.2 0.114-0.042 0.221-0.109 0.312-0.2 0-0 0-0 0-0l8.494-8.494 8.494 8.494c0 0 0 0 0 0 0.092 0.091 0.198 0.158 0.312 0.2 0.311 0.116 0.675 0.050 0.925-0.2l4.013-4.013c0.25-0.25 0.316-0.614 0.2-0.925-0.042-0.114-0.109-0.221-0.2-0.312z"},children:[]}]},inkWarning:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"warning",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M14 2.537l11.733 23.385h-23.467l11.733-23.385zM14 0c-0.603 0-1.207 0.407-1.665 1.221l-11.951 23.819c-0.916 1.628-0.137 2.96 1.731 2.96h23.77c1.868 0 2.647-1.332 1.731-2.96h0l-11.951-23.819c-0.458-0.814-1.061-1.221-1.665-1.221v0z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M15.75 22.75c0 0.966-0.784 1.75-1.75 1.75s-1.75-0.784-1.75-1.75c0-0.966 0.784-1.75 1.75-1.75s1.75 0.784 1.75 1.75z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M14 19.25c-0.966 0-1.75-0.784-1.75-1.75v-5.25c0-0.966 0.784-1.75 1.75-1.75s1.75 0.784 1.75 1.75v5.25c0 0.966-0.784 1.75-1.75 1.75z"},children:[]}]}},Symbol.toStringTag,{value:"Module"})),Je="inkline-color-mode",re=e=>{let t;t=e==="system"?matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e,pt(document.body,"-light -dark"),_e(document.body,`-${t}`)},Kt={components:{},icons:{},colorMode:"system",locale:"en",validateOn:["input","blur"],color:"",size:"",routerComponent:"router-link",componentOptions:{}};function qt({icons:e,components:t,...i}){return{form:a=>ht(a),setLocale(a){(function(s){Ee.locale=s})(a)},options:zt(i)}}const W={prototype:void 0,icons:void 0},yn={install(e,t={}){const i={...Kt,...t};for(const r in i.components)e.component(i.components[r].name,i.components[r]);if(typeof window<"u"){const r=localStorage.getItem(Je);r&&(i.colorMode=r)}const a=qt(i);W.prototype=a,e.config.globalProperties.$inkline=a,e.provide("inkline",a);const s={...Zt,...i.icons};if(e.provide("inklineIcons",s),typeof window<"u"){Bt(()=>a.options.colorMode,b=>{re(b),localStorage.setItem(Je,b)});const r=()=>{a.options.colorMode==="system"&&re(a.options.colorMode)},n=matchMedia("(prefers-color-scheme: dark)");n.addEventListener?n.addEventListener("change",r):n.addListener(r),_e(document.body,"inkline"),re(i.colorMode)}}};function u(e,t,i=""){return()=>{var a;return W.prototype?(a=W.prototype.options.componentOptions[e])!=null&&a[t]?W.prototype.options.componentOptions[e][t]:W.prototype.options[t]:i}}function v(e){return["","xs","sm","md","lg","xl","xxl"].includes(e)}const ft=c({props:{collapse:{type:[String,Boolean],default:"md"},modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{open:this.modelValue,windowWidth:typeof window<"u"?window.innerWidth:0}},computed:{collapsibleClasses(){return{"-open":this.open,"-collapsible":this.collapsible,[`-collapse-${this.collapse}`]:!!this.collapse}},collapsible(){return this.collapse===!0||this.collapse===!1?this.collapse:this.windowWidth<=J[this.collapse][1]}},watch:{modelValue(e){this.open=e}},created(){typeof window<"u"&&(O(window,"resize",this.onWindowResize),this.onWindowResize())},beforeUnmount(){typeof window<"u"&&T(window,"resize",this.onWindowResize)},methods:{setOpen(e){this.open=e,this.$emit("update:modelValue",this.open)},toggleOpen(){this.open=!this.open,this.$emit("update:modelValue",this.open)},onWindowResize(){if(this.collapse===!0||this.collapse===!1||typeof window>"u")return;const e=window.innerWidth;this.windowWidth<=J[this.collapse][1]&&e>J[this.collapse][1]&&this.setOpen(!1),this.windowWidth=window.innerWidth}}}),R=c({inject:{formGroup:{default:()=>({})},form:{default:()=>({})}},computed:{isDisabled(){return this.disabled||this.form.isDisabled||this.formGroup.isDisabled},isReadonly(){return this.readonly||this.form.isReadonly||this.formGroup.isReadonly},parent(){return this.formGroup.$?this.formGroup:this.form},schema(){const e=this.parent.schema||{};return this.name!==""?M(e,`${this.name}`):e}}}),Z=c({props:{tag:{type:String,default:"a"}},computed:{isTag(){return this.$attrs.to?this.routerComponent:this.$attrs.href?"a":this.tag},isComponent(){return this.isTag===this.routerComponent},routerComponent(){return this.$inkline.options.routerComponent}}}),Wt=e=>({name:"offset",options:{offset:[0,e]}}),bt=({offset:e})=>[Wt(e),{name:"arrow",options:{padding:6}},{name:"preventOverflow",options:{padding:8}},{name:"computeStyles",options:{gpuAcceleration:!1,adaptive:!1}}],ee=c({props:{placement:{type:String,default:"auto"},offset:{type:Number,default:6},popperOptions:{type:Object,default:()=>({})}},data:()=>({popperInstance:void 0}),watch:{placement(e){this.popperInstance&&this.popperInstance.setOptions({placement:e})}},beforeUnmount(){this.destroyPopper()},methods:{createPopper(){if(typeof window>"u")return;const e=bt({offset:this.offset});this.popperInstance=At(this.$refs.wrapper,this.$refs.popup,{strategy:"fixed",placement:this.placement,modifiers:e,...this.popperOptions})},destroyPopper(){this.popperInstance&&(this.popperInstance.destroy(),this.popperInstance=void 0)}}}),Ge=c({props:{disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:void 0},trigger:{type:Array,default:()=>["hover","click","focus"]},interactable:{type:Boolean,default:!0},hoverHideDelay:{type:Number,default:300}},emits:["update:modelValue","click-outside"],data(){return{visible:this.modelValue,triggerStack:0,hoverHideTransition:!1}},watch:{modelValue(e){e?this.show():this.hide()}},mounted(){if(!this.$slots.default)throw new Error("Popup components require one child element to be used as trigger.");this.addEventListeners()},beforeUnmount(){this.removeEventListeners()},methods:{show(){this.disabled||this.visible||(this.triggerStack+=1,this.visible=!0,this.createPopper(),this.$emit("update:modelValue",!0))},hide(){!this.disabled&&this.visible&&(this.triggerStack-=1,this.triggerStack<=0&&(this.triggerStack=0,this.visible=!1,this.$emit("update:modelValue",!1)))},hoverShow(){this.hoverHideTransition=!1,this.show()},hoverHide(){this.hoverHideTransition=!0,setTimeout(()=>{this.hoverHideTransition&&this.hide()},this.hoverHideDelay)},onClick(){this.visible?this.hide():this.show()},onClickOutside(e){this.visible&&this.$emit("click-outside",e),this.modelValue||this.hide()},addEventListeners(){[].concat(this.trigger).forEach(e=>{switch(e){case"hover":O(this.$refs.trigger,"mouseenter",this.interactable?this.hoverShow:this.show),O(this.$refs.trigger,"mouseleave",this.interactable?this.hoverHide:this.hide),this.interactable&&(O(this.$refs.popup,"mouseenter",this.hoverShow),O(this.$refs.popup,"mouseleave",this.hoverHide));break;case"click":O(this.$refs.trigger,"click",this.onClick);break;case"focus":for(const t of this.$refs.trigger.children)O(t,"focus",this.show),O(t,"blur",this.hide)}})},removeEventListeners(){[].concat(this.trigger).forEach(e=>{switch(e){case"hover":T(this.$refs.trigger,"mouseenter",this.interactable?this.hoverShow:this.show),T(this.$refs.trigger,"mouseleave",this.interactable?this.hoverHide:this.hide),this.interactable&&(T(this.$refs.popup,"mouseenter",this.hoverShow),T(this.$refs.popup,"mouseleave",this.hoverHide));break;case"click":T(this.$refs.trigger,"click",this.onClick);break;case"focus":for(const t of this.$refs.trigger.children)T(t,"focus",this.show),T(t,"blur",this.hide)}})},focusTrigger(){for(const e of this.$refs.trigger.children)if(ot(e)){e.focus();break}}}}),oe="IAlert",Ut=c({name:oe,inheritAttrs:!1,props:{size:{type:String,default:u(oe,"size"),validator:v},color:{type:String,default:u(oe,"color")},modelValue:{type:Boolean,default:!0},dismissible:{type:Boolean,default:!1},dismissAriaLabel:{type:String,default:"Dismiss"}},emits:["update:modelValue"],data:()=>({dismissed:!1}),computed:{classes(){return{[`-${this.color}`]:!!this.color,[`-${this.size}`]:!!this.size,"-dismissible":this.dismissible,"-with-icon":!!this.$slots.icon}}},watch:{modelValue(e){this.dismissed=!e}},methods:{dismiss(){this.dismissed=!0,this.$emit("update:modelValue",!1)}}}),Ht={key:0,class:"icon",role:"img","aria-hidden":"true"},Qt={class:"content"},Yt=["aria-label"],Jt=p(Ut,[["render",function(e,t,i,a,s,r){return $((l(),o("div",h({class:["alert",e.classes],role:"alert"},e.$attrs),[e.$slots.icon?(l(),o("span",Ht,[d(e.$slots,"icon")])):f("",!0),m("div",Qt,[d(e.$slots,"default")]),e.dismissible?(l(),o("span",{key:1,class:"dismiss",role:"button","aria-label":e.dismissAriaLabel,onClick:t[0]||(t[0]=(...n)=>e.dismiss&&e.dismiss(...n))},[d(e.$slots,"dismiss",{},()=>[t[1]||(t[1]=P("×"))])],8,Yt)):f("",!0)],16)),[[x,!e.dismissed]])}]]),de="IBadge",Xt=p(c({name:de,inheritAttrs:!1,props:{color:{type:String,default:u(de,"color")},size:{type:String,default:u(de,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["badge",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),ue="IBreadcrumb",ei=c({name:ue,inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Breadcrumbs"},color:{type:String,default:u(ue,"color")},size:{type:String,default:u(ue,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),ti=["aria-label"],ii=p(ei,[["render",function(e,t,i,a,s,r){return l(),o("nav",h({class:["breadcrumb",e.classes],"aria-label":e.ariaLabel},e.$attrs),[m("ol",null,[d(e.$slots,"default")])],16,ti)}]]),ai=c({name:"IBreadcrumbItem",mixins:[Z],inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},href:{type:String,default:""},to:{type:[String,Object],default:""},tabindex:{type:[Number,String],default:0}},computed:{classes(){return{"-active":this.active,"-disabled":this.disabled}},tabIndex(){return this.disabled||this.active?-1:this.tabindex}}}),si=["is","href","to","tabindex","aria-current"],ni=p(ai,[["render",function(e,t,i,a,s,r){return l(),o("li",h({class:["breadcrumb-item",e.classes]},e.$attrs),[m("a",{is:e.isTag,href:e.href,to:e.to,tabindex:e.tabIndex,"aria-current":e.active?"location":null},[d(e.$slots,"default",{},void 0,!0)],8,si)],16)}],["__scopeId","data-v-28fa6b16"]]),ce="ILoader",li=c({name:ce,inheritAttrs:!1,props:{color:{type:String,default:u(ce,"color")},size:{type:String,default:u(ce,"size")}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),ri={key:0,class:"loader-text"},yt=p(li,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["loader",e.classes],role:"img","aria-hidden":"true"}),[e.$slots.default?(l(),o("span",ri,[d(e.$slots,"default")])):f("",!0),t[0]||(t[0]=m("svg",{viewBox:"25 25 50 50"},[m("circle",{cx:"50",cy:"50",r:"20",fill:"none","stroke-width":"4","stroke-miterlimit":"10"})],-1))],16)}]]),pe="IButton",vt=p(c({name:pe,components:{ILoader:yt},mixins:[Z],inject:{buttonGroup:{default:()=>({})},form:{default:()=>({})},formGroup:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},block:{type:Boolean,default:!1},circle:{type:Boolean,default:!1},color:{type:String,default:u(pe,"color")},disabled:{type:Boolean,default:!1},link:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},tag:{type:String,default:"button"},tabindex:{type:[Number,String],default:0},size:{type:String,default:u(pe,"size"),validator:v}},computed:{ariaBusy(){return this.role!=="button"?null:this.loading?"true":"false"},ariaDisabled(){return this.role!=="button"?null:this.disabled?"true":"false"},ariaPressed(){return this.role!=="button"?null:this.active?"true":"false"},classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-active":this.active,"-block":this.block,"-circle":this.circle,"-disabled":this.isDisabled,"-link":this.link,"-outline":this.outline}},isDisabled(){return this.disabled||this.buttonGroup.disabled||this.form.disabled||this.formGroup.disabled},role(){return this.$attrs.to||this.$attrs.href?"link":"button"},tabIndex(){return this.isDisabled?-1:this.tabindex}}}),[["render",function(e,t,i,a,s,r){const n=A("i-loader");return l(),V(Y(e.isTag),h(e.$attrs,{class:["button",e.classes],tag:e.tag,role:e.role,tabindex:e.tabIndex,disabled:e.isDisabled||e.loading,"aria-disabled":e.ariaDisabled,"aria-pressed":e.ariaPressed,"aria-busy":e.ariaBusy,"aria-live":"polite"}),{default:y(()=>[e.loading?d(e.$slots,"loading",{key:0},()=>[I(n)]):f("",!0),e.loading?f("",!0):d(e.$slots,"default",{key:1})]),_:3},16,["tag","role","tabindex","class","disabled","aria-disabled","aria-pressed","aria-busy"])}]]),oi=c({name:"IButtonGroup",inject:{form:{default:()=>({})},buttonGroup:{default:()=>({})},formGroup:{default:()=>({})}},provide(){return{buttonGroup:this}},inheritAttrs:!1,props:{vertical:{type:Boolean,default:!1},block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},computed:{classes(){return{"-vertical":this.vertical,"-block":this.block,"-disabled":this.isDisabled}},isDisabled(){return this.disabled||this.buttonGroup.disabled||this.form.disabled||this.formGroup.disabled}}}),di=["aria-disabled"],ui=p(oi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["button-group",e.classes],role:"group","aria-disabled":e.isDisabled},e.$attrs),[d(e.$slots,"default")],16,di)}]]),H={};for(const e of je){e!==""&&(H[e]={type:[String,Boolean,Number],default:!1});for(const t of["first","last"])H[`${t}${Re(e)}`]={type:Boolean,default:!1};for(const t of["offset","push","pull"])H[`${t}${Re(e)}`]={type:[String,Number],default:""}}const Ze=p(c({name:"IColumn",inheritAttrs:!1,props:H,computed:{classes(){return Object.keys(H).reduce((e,t)=>(this[t]&&(e[rt(`-${t}`,this[t])]=!0),e),{})}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["column",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),Ke=p(c({name:"IContainer",inheritAttrs:!1,props:{fluid:{type:Boolean,default:!1}},computed:{classes(){return{"-fluid":this.fluid}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["container",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),he="ICard",ci=c({name:he,inheritAttrs:!1,props:{color:{type:String,default:u(he,"color")},size:{type:String,default:u(he,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),pi={key:0,class:"card-header"},hi={key:1,class:"card-body"},mi={key:2,class:"card-footer"},fi=p(ci,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["card",e.classes]},e.$attrs),[e.$slots.header?(l(),o("header",pi,[d(e.$slots,"header")])):f("",!0),d(e.$slots,"image"),e.$slots.default?(l(),o("div",hi,[d(e.$slots,"default")])):f("",!0),e.$slots.footer?(l(),o("footer",mi,[d(e.$slots,"footer")])):f("",!0)],16)}]]),me="ICheckbox",bi=c({name:me,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(me,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:!1},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("checkbox")},native:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(me,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-native":this.native}},checked(){return this.formGroup.checked?this.formGroup.checked.includes(this.value):this.schema?this.schema.value:this.modelValue},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i,a,s;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),(s=(a=this.formGroup).onChange)==null||s.call(a,this.value),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),yi=["aria-checked"],vi=["checked","name","disabled","readonly",".indeterminate"],gi=["aria-checked","aria-disabled","aria-readonly","tabindex"],ki=p(bi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["checkbox",e.classes],"aria-checked":e.checked?"true":"false",role:"checkbox"},e.$attrs),[m("input",{ref:"input",type:"checkbox",checked:e.checked,tabindex:"-1",name:e.name,disabled:e.isDisabled,readonly:e.isReadonly,".indeterminate":e.indeterminate,"aria-hidden":"true",onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,vi),m("label",{class:"checkbox-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n)),onClick:t[2]||(t[2]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,gi)],16,yi)}]]),fe="ICheckboxGroup",$i=c({name:fe,mixins:[R],provide(){return{formGroup:this}},inheritAttrs:!1,props:{color:{type:String,default:u(fe,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},modelValue:{default:()=>[]},name:{type:[String,Number],default:()=>S("checkbox-group")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(fe,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},checked(){return this.schema?this.schema.value:this.modelValue}},methods:{onChange(e){var a,s;const t=[...this.modelValue],i=t.findIndex(r=>r===e);i!==-1?t.splice(i,1):t.push(e),(s=(a=this.parent).onInput)==null||s.call(a,this.name,t),this.$emit("update:modelValue",t)}}}),wi=["name"],Ii=p($i,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["form-group checkbox-group",e.classes],name:e.name,role:"checkboxgroup"},e.$attrs),[d(e.$slots,"default",{},void 0,!0)],16,wi)}],["__scopeId","data-v-4043b2ce"]]),be="ICollapsible",xi=c({name:be,provide(){return{collapsible:this}},inheritAttrs:!1,props:{accordion:{type:Boolean,default:!1},color:{type:String,default:u(be,"color")},size:{type:String,default:u(be,"size"),validator:v},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data(){return{activeItems:[].concat(this.modelValue)}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},watch:{modelValue(e){this.activeItems=[].concat(e)}},methods:{onItemClick(e){if(this.accordion)return this.activeItems=this.activeItems.indexOf(e.name)>-1?[]:[e.name],this.activeItems;const t=this.activeItems.indexOf(e.name);t>-1?this.activeItems.splice(t,1):this.activeItems.push(e.name),this.$emit("update:modelValue",this.activeItems)}}}),Ci=p(xi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["collapsible",e.classes],role:"tablist","aria-multiselectable":"true"},e.$attrs),[d(e.$slots,"default")],16)}]]),gt=p(c({name:"IExpandTransition",methods:{onEnter(e){const t=q(e,"width");e.style.width=t,e.style.position="absolute",e.style.visibility="hidden",e.style.height="auto";const i=q(e,"height");e.style.width=null,e.style.position=null,e.style.visibility=null,e.style.height=0,q(e,"height"),setTimeout(()=>{e.style.height=i})},onAfterEnter(e){e.style.height="auto"},onLeave(e){e.style.height=q(e,"height"),q(e,"height"),setTimeout(()=>{e.style.height=0})}}}),[["render",function(e,t,i,a,s,r){return l(),V(L,{name:"expand",onEnter:e.onEnter,onAfterEnter:e.onAfterEnter,onLeave:e.onLeave},{default:y(()=>[d(e.$slots,"default",{},void 0,!0)]),_:3},8,["onEnter","onAfterEnter","onLeave"])}],["__scopeId","data-v-1e395af5"]]),Si=c({name:"ICollapsibleItem",components:{IExpandTransition:gt},inject:{collapsible:{default:()=>({activeItems:[]})}},inheritAttrs:!1,props:{name:{type:String,default:()=>S("collapsible-item")},title:{type:String,default:""}},computed:{active(){return this.collapsible.activeItems.indexOf(this.name)>-1},classes(){return{"-active":this.active}}},methods:{onClick(){this.collapsible.onItemClick(this)}}}),Bi=["name"],zi=["id","aria-expanded","aria-controls","aria-describedby"],Ai=["id","aria-hidden","aria-labelledby"],Vi={class:"content"},Oi=p(Si,[["render",function(e,t,i,a,s,r){const n=A("i-expand-transition");return l(),o("div",h({class:["collapsible-item",e.classes],name:e.name},e.$attrs),[m("a",{class:"collapsible-header",role:"tab",id:`collapsible-item-heading-${e.name}`,"aria-expanded":e.active?"true":"false","aria-controls":`collapsible-item-content-${e.name}`,"aria-describedby":`collapsible-item-content-${e.name}`,tabindex:"0",onClick:t[0]||(t[0]=(...b)=>e.onClick&&e.onClick(...b)),onKeydown:[t[1]||(t[1]=E(Q((...b)=>e.onClick&&e.onClick(...b),["prevent"]),["space"])),t[2]||(t[2]=E(Q((...b)=>e.onClick&&e.onClick(...b),["prevent"]),["enter"]))]},[d(e.$slots,"header",{},()=>[P(_(e.title),1)]),t[3]||(t[3]=m("i",{class:"icon"},null,-1))],40,zi),I(n,null,{default:y(()=>[$(m("div",{class:"collapsible-body",role:"tabpanel",id:`collapsible-item-content-${e.name}`,"aria-hidden":e.active?"false":"true","aria-labelledby":`collapsible-item-heading-${e.name}`},[m("div",Vi,[d(e.$slots,"default")])],8,Ai),[[x,e.active]])]),_:3})],16,Bi)}]]),Li=(e,t)=>i=>{(function(a){return!!a&&!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)})(e)&&i.target&&(e===i.target||e.contains(i.target)||t.value(i))},K={beforeMount(e,t){typeof window<"u"&&O(window.document,"mousedown",Li(e,t))}},ye="IDropdown",Di=c({name:ye,directives:{ClickOutside:K},mixins:[ee,Ge],provide(){return{dropdown:this}},inject:{navbar:{default:()=>({onItemClick:()=>{}})},sidebar:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{animationDuration:{type:Number,default:300},color:{type:String,default:u(ye,"color")},disabled:{type:Boolean,default:!1},hideOnItemClick:{type:Boolean,default:!0},keydownTrigger:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},keydownItem:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},modelValue:{type:Boolean,default:!1},arrow:{type:Boolean,default:!0},placement:{type:String,default:"bottom"},trigger:{type:[String,Array],default:()=>["click"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!0},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(ye,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},mounted(){for(const e of this.$refs.trigger.children)O(e,"keydown",this.onTriggerKeyDown);O(this.$refs.popup,"keydown",this.onItemKeyDown)},beforeUnmount(){for(const e of this.$refs.trigger.children)T(e,"keydown",this.onTriggerKeyDown);T(this.$refs.popup,"keydown",this.onItemKeyDown)},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)},getFocusableItems(){const e=[];for(const t of this.$refs.body.children)Fe(t)&&e.push(t);return e},onTriggerKeyDown(e){if(this.keydownTrigger.length===0)return;const t=this.getFocusableItems(),i=t.findIndex(s=>s.active),a=t[i>-1?i:0];switch(!0){case(k("up",e)&&this.keydownTrigger.includes("up")):case(k("down",e)&&this.keydownTrigger.includes("down")):this.show(),setTimeout(()=>{a.focus()},this.visible?0:this.animationDuration),e.preventDefault(),e.stopPropagation();break;case(k("enter",e)&&this.keydownTrigger.includes("enter")):case(k("space",e)&&this.keydownTrigger.includes("space")):this.onClick(),this.visible||setTimeout(()=>{a.focus()},this.animationDuration),e.preventDefault();break;case(k("tab",e)&&this.keydownTrigger.includes("tab")):case(k("esc",e)&&this.keydownTrigger.includes("esc")):this.hide()}},onItemKeyDown(e){if(this.keydownItem.length!==0)switch(!0){case(k("up",e)&&this.keydownItem.includes("up")):case(k("down",e)&&this.keydownItem.includes("down")):const t=this.getFocusableItems(),i=t.findIndex(r=>r===e.target),a=t.length-1;let s;s=k("up",e)?i>0?i-1:0:i{e.onItemClick()})}}}),Ni={class:"dropdown-trigger",ref:"trigger"},Ti=["aria-hidden"],Pi={key:0,"data-popper-arrow":""},Ri={key:1,class:"dropdown-header"},Ei={key:2,class:"dropdown-body",ref:"body"},Mi={key:3,class:"dropdown-footer"},_i=p(Di,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h({class:"dropdown-wrapper",ref:"wrapper","aria-haspopup":"true",onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))},e.$attrs),[m("div",Ni,[d(e.$slots,"default")],512),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:z(["dropdown",e.classes]),role:"menu",ref:"popup","aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",Pi)):f("",!0),e.$slots.header?(l(),o("div",Ri,[d(e.$slots,"header")])):f("",!0),e.$slots.body?(l(),o("div",Ei,[d(e.$slots,"body")],512)):f("",!0),e.$slots.footer?(l(),o("div",Mi,[d(e.$slots,"footer")])):f("",!0)],10,Ti),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16)),[[n,e.onClickOutside]])}]]),Fi=p(c({name:"IDropdownDivider",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:"dropdown-divider",role:"separator"},e.$attrs),null,16)}]]),ji=p(c({name:"IDropdownItem",mixins:[Z],inject:{dropdown:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},plaintext:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{classes(){return{"-active":this.active,"-disabled":this.disabled,"-plaintext":this.plaintext}},role(){return this.$attrs.to||this.$attrs.href?"link":"menuitem"},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(e){var t,i;(i=(t=this.dropdown).onItemClick)==null||i.call(t,this,e)}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["dropdown-item",e.classes],role:e.role,tag:e.tag,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.disabled,"aria-pressed":e.active,onClick:e.onClick}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["class","role","tag","tabindex","disabled","aria-disabled","aria-pressed","onClick"])}]]),Xe="IForm",Gi=c({name:Xe,mixins:[R],provide(){return{form:this}},inheritAttrs:!1,props:{color:{type:String,default:""},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},name:{type:String,default:()=>S("form")},modelValue:{type:Object,default:()=>null},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Xe,"size"),validator:v}},emits:["update:modelValue","submit"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},schema(){return this.modelValue?this.modelValue:M(this.formGroup.schema||this.form.schema||{},this.name)}},methods:{onBlur(e,t){var i,a;if((a=(i=this.parent).onBlur)==null||a.call(i,this.name?`${this.name}.${e}`:e,t),this.modelValue){let s=U(this.modelValue);s=ne(s,e,{untouched:!1,touched:!0}),this.shouldValidate(e,"blur")&&(s=le(s)),this.$emit("update:modelValue",s)}},onInput(e,t){var i,a;if((a=(i=this.parent).onInput)==null||a.call(i,this.name?`${this.name}.${e}`:e,t),this.modelValue){let s=U(this.modelValue);s=function(r,n,b,B){return M(r,n)[b]=B,r}(s,e,"value",t),s=ne(s,e,{pristine:!1,dirty:!0}),this.shouldValidate(e,"input")&&(s=le(s)),this.$emit("update:modelValue",s)}},onSubmit(e){if(e.preventDefault(),this.modelValue){let t=U(this.modelValue);if(t=ne(le(t),"",{untouched:!1,touched:!0}),this.$emit("update:modelValue",t),t.invalid)return}this.$emit("submit",e)},shouldValidate(e,t){const i=M(this.modelValue,e);return(i.validateOn?[].concat(i.validateOn):this.$inkline.options.validateOn).includes(t)}}}),Zi=["name","readonly","disabled"],Ki=p(Gi,[["render",function(e,t,i,a,s,r){return l(),o("form",h(e.$attrs,{class:["form",e.classes],role:"form",name:e.name,readonly:e.isReadonly,disabled:e.isDisabled,onSubmit:t[0]||(t[0]=(...n)=>e.onSubmit&&e.onSubmit(...n))}),[d(e.$slots,"default",{},void 0,!0)],16,Zi)}],["__scopeId","data-v-575ccba7"]]),ve="IFormGroup",qi=c({name:ve,mixins:[R],provide(){return{formGroup:this}},props:{color:{type:String,default:u(ve,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},name:{type:String,default:""},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},size:{type:String,default:u(ve,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline,"-required":this.required}}},methods:{onBlur(e,t){var i,a;(a=(i=this.parent)==null?void 0:i.onBlur)==null||a.call(i,this.name?`${this.name}.${e}`:e,t)},onInput(e,t){var i,a;(a=(i=this.parent)==null?void 0:i.onInput)==null||a.call(i,this.name?`${this.name}.${e}`:e,t)}}}),Wi=["name"],Ui=p(qi,[["render",function(e,t,i,a,s,r){return l(),o("fieldset",{class:z(["form-group",e.classes]),name:e.name,role:"group"},[d(e.$slots,"default")],10,Wi)}]]),Hi=c({name:"IFormError",inject:{formGroup:{default:()=>({})},form:{default:()=>({})}},props:{for:{type:String,default:""},visible:{type:[Array,String],default:()=>["touched","dirty","invalid"]}},computed:{parent(){return this.formGroup.$?this.formGroup:this.form},schema(){return this.for!==""?M(this.parent.schema||{},`${this.for}`):this.parent.schema||{}},errors(){return this.schema.errors||[]},isVisible(){let e=!0;return this.schema&&this.visible&&[].concat(this.visible).forEach(t=>{e=e&&this.schema[t]}),e}}}),Qi={key:0,class:"form-error","aria-live":"polite"},Yi=p(Hi,[["render",function(e,t,i,a,s,r){return e.schema?$((l(),V(L,{key:0,name:"fade-in-transition"},{default:y(()=>[e.errors.length>0?(l(),o("ul",Qi,[(l(!0),o(j,null,X(e.errors,n=>(l(),o("li",null,_(n.message),1))),256))])):f("",!0)]),_:1},512)),[[x,e.isVisible]]):f("",!0)}]]),et="IFormLabel",Ji=c({name:et,mixins:[R],props:{for:{type:String,default:""},placement:{type:String,default:""},size:{type:String,default:u(et,"size"),validator:v}},computed:{classes(){return{[`-${this.size}`]:!!this.size,[`-${this.placement}`]:!!this.placement}},forAttr(){return this.for}},methods:{getNextSibling(){return this.$el.nextSibling.querySelector("input, textarea")},onClick(){var e;this.for||((e=this.getNextSibling())==null||e.focus())}}}),Xi=["for"],ea=p(Ji,[["render",function(e,t,i,a,s,r){return l(),o("label",h(e.$attrs,{class:["form-label",e.classes],for:e.forAttr,onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),[d(e.$slots,"default")],16,Xi)}]]),tt="IHamburgerMenu",kt=p(c({name:tt,inheritAttrs:!1,props:{animation:{type:String,default:"close"},color:{type:String,default:u(tt,"color")},modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],computed:{classes(){return{...g(this),"-active":this.modelValue,[`-${this.animation}`]:!0}}},methods:{onClick(){this.$emit("update:modelValue",!this.modelValue)}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["hamburger-menu",e.classes],onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),t[1]||(t[1]=[m("span",{class:"hamburger-menu-bars"},null,-1)]),16)}]]),Me={};for(const e of je)for(const t of["start","center","end","top","middle","bottom","around","between","reverse"])Me[`${t}${Re(e)}`]={type:Boolean,default:!1};const qe=p(c({name:"IRow",inheritAttrs:!1,props:{noGutter:{type:Boolean,default:!1},noCollapse:{type:Boolean,default:!1},...Me},computed:{classes(){const e=Object.keys(Me).reduce((t,i)=>(this[i]&&(t[rt(`-${i}`,this[i])]=!0),t),{});return{"-no-gutter":this.noGutter,"-no-collapse":this.noCollapse,...e}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["row",e.classes]}),[d(e.$slots,"default")],16)}]]),ge="IHeader",ta=p(c({name:ge,components:{IContainer:Ke,IRow:qe,IColumn:Ze},inheritAttrs:!1,props:{color:{type:String,default:u(ge,"color")},cover:{type:Boolean,default:!1},fluid:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},size:{type:String,default:u(ge,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-cover":this.cover,"-fullscreen":this.fullscreen}}}}),[["render",function(e,t,i,a,s,r){const n=A("i-column"),b=A("i-row"),B=A("i-container");return l(),o("header",h(e.$attrs,{class:["header",e.classes]}),[I(B,{fluid:e.fluid},{default:y(()=>[I(b,null,{default:y(()=>[I(n,null,{default:y(()=>[d(e.$slots,"default")]),_:3})]),_:3})]),_:3},8,["fluid"])],16)}]]),it="IIcon",$t=p(c({name:it,inheritAttrs:!1,props:{name:{type:String,default:""},size:{type:String,default:u(it,"size"),validator:v}},setup(e){const t=Ot("inklineIcons"),i=se(()=>function(r,n="dash"){const b=n==="dash"?/-([a-z0-9])/g:/_([a-z0-9])/g;return r.replace(b,(B,F)=>F.toUpperCase())}(e.name)),a=se(()=>t[i.value]),s=se(()=>({"inkline-icon":!0,[`-${e.size}`]:!!e.size}));return Vt(()=>{i.value&&t[i.value]}),()=>{var r,n;return nt("svg",{class:s.value,...(r=a.value)==null?void 0:r.attributes},ct(((n=a.value)==null?void 0:n.children)||[]))}}}),[["render",function(e,t,i,a,s,r){const n=A("icon");return l(),V(n,h(e.$attrs,{size:e.size}),null,16,["size"])}]]),ke="IInput",ia=c({name:ke,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(ke,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},error:{type:[Array,Boolean],default:()=>["touched","dirty","invalid"]},id:{type:String,default:void 0},modelValue:{type:[String,Number],default:""},name:{type:[String,Number],default:()=>S("input")},plaintext:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(ke,"size"),validator:v},tabindex:{type:[Number,String],default:0},type:{type:String,default:"text"},clearAriaLabel:{type:String,default:"Clear"}},emits:["update:modelValue","clear"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-error":this.hasError,"-readonly":this.isReadonly,"-prefixed":!!this.$slots.prefix,"-suffixed":!!this.$slots.suffix,"-prepended":!!this.$slots.prepend,"-appended":!!this.$slots.append}},hasError(){if(typeof this.error=="boolean")return this.error;if(this.schema&&this.error){let e=!0;return[].concat(this.error).forEach(t=>{e=e&&this.schema[t]}),e}return!1},tabIndex(){return this.isDisabled?-1:this.tabindex},isClearable(){return this.clearable&&!this.isDisabled&&!this.isReadonly&&this.value!==""},value(){return this.schema?this.schema.value:this.modelValue}},methods:{onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)},onInput(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.value),this.$emit("update:modelValue",e.target.value)},onClear(e){this.$emit("update:modelValue",""),this.$emit("clear",e)},focus(){this.$refs.input.focus()}}}),aa={key:0,class:"input-prepend"},sa={class:"input"},na={key:0,class:"input-prefix"},la=["value","name","id","type","tabindex","disabled","aria-disabled","readonly","aria-readonly"],ra={key:1,class:"input-suffix"},oa=["aria-label","aria-hidden"],da={key:1,class:"input-append"},te=p(ia,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["input-wrapper",e.classes])},[e.$slots.prepend?(l(),o("div",aa,[d(e.$slots,"prepend")])):f("",!0),m("div",sa,[e.$slots.prefix?(l(),o("span",na,[d(e.$slots,"prefix")])):f("",!0),m("input",h(e.$attrs,{value:e.value,ref:"input",name:e.name,id:e.id,type:e.type,tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly||e.plaintext,"aria-readonly":!(!e.isReadonly&&!e.plaintext)&&"true",onInput:t[0]||(t[0]=(...n)=>e.onInput&&e.onInput(...n)),onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n))}),null,16,la),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",ra,[d(e.$slots,"clearable",{clear:e.onClear},()=>[e.clearable?$((l(),o("i",{key:0,class:"input-clear",role:"button","aria-label":e.clearAriaLabel,"aria-hidden":e.isClearable?"false":"true",onClick:t[2]||(t[2]=(...n)=>e.onClear&&e.onClear(...n))},null,8,oa)),[[x,e.isClearable]]):f("",!0)]),d(e.$slots,"suffix")])):f("",!0)]),e.$slots.append?(l(),o("div",da,[d(e.$slots,"append")])):f("",!0)],2)}]]),$e="INumberInput",ua=c({name:$e,components:{IButton:vt},extends:te,inheritAttrs:!1,props:{color:{type:String,default:u($e,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{type:String,default:""},modelValue:{type:[String,Number],default:""},name:{type:[String,Number],default:()=>S("input")},readonly:{type:Boolean,default:!1},size:{type:String,default:u($e,"size"),validator:v},tabindex:{type:[Number,String],default:0},min:{type:[Number,String],default:-1/0},max:{type:[Number,String],default:1/0},precision:{type:Number,default:0},step:{type:Number,default:1}},emits:["update:modelValue"],watch:{modelValue:{immediate:!0,handler(e){var i,a;let t=(e||"").toString().replace(/^[^0-9-]/,"").replace(/^(-)[^0-9]/,"$1").replace(new RegExp(`^(-?[0-9]+)[^0-9${this.precision>0?".":""}]`),"$1");this.precision>0&&(t=t.replace(/^(-?[0-9]+\.)[^0-9]/,"$1").replace(new RegExp(`^(-?[0-9]+\\.[0-9]{0,${this.precision}}).*`),"$1")),parseFloat(t)>=parseFloat(this.max)&&(t=this.max.toString()),parseFloat(t)<=parseFloat(this.min)&&(t=this.min.toString()),(a=(i=this.parent).onInput)==null||a.call(i,this.name,t),this.$emit("update:modelValue",t)}}},methods:{decrease(){this.$emit("update:modelValue",this.formatPrecision((Number(this.modelValue)-this.step).toString()))},increase(){this.$emit("update:modelValue",this.formatPrecision((Number(this.modelValue)+this.step).toString()))},formatPrecision(e){const t=e.split(".");let i=t[1]||"";for(let a=i.length;a0?`${t[0]}.${i}`:t[0]},onBlurFormatPrecision(e){var t,i;this.$emit("update:modelValue",this.formatPrecision(Number(this.modelValue).toString())),(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),ca={class:"input-prepend"},pa={class:"input"},ha={key:0,class:"input-prefix"},ma=["value","name","id","tabindex","disabled","aria-disabled","readonly","aria-readonly"],fa={key:1,class:"input-suffix"},ba=["aria-label","aria-hidden"],ya={class:"input-append"},va=p(ua,[["render",function(e,t,i,a,s,r){const n=A("i-button");return l(),o("div",{class:z(["input-wrapper -prepended -appended",e.classes])},[m("div",ca,[d(e.$slots,"prepend"),I(n,{type:"button",color:e.color,size:e.size,disabled:e.disabled,class:"input-button-decrease",onClick:e.decrease},{default:y(()=>t[3]||(t[3]=[P(" - ")])),_:1},8,["color","size","disabled","onClick"])]),m("div",pa,[e.$slots.prefix?(l(),o("span",ha,[d(e.$slots,"prefix")])):f("",!0),m("input",h(e.$attrs,{value:e.value,ref:"input",name:e.name,id:e.id,type:"text",tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly,"aria-readonly":!!e.isReadonly&&"true",onInput:t[0]||(t[0]=(...b)=>e.onInput&&e.onInput(...b)),onBlur:t[1]||(t[1]=(...b)=>e.onBlur&&e.onBlur(...b))}),null,16,ma),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",fa,[d(e.$slots,"clearable",{clear:e.onClear},()=>[e.clearable?$((l(),o("i",{key:0,class:"input-clear",role:"button","aria-label":e.clearAriaLabel,"aria-hidden":e.isClearable?"false":"true",onClick:t[2]||(t[2]=(...b)=>e.onClear&&e.onClear(...b))},null,8,ba)),[[x,e.isClearable]]):f("",!0)]),d(e.$slots,"suffix")])):f("",!0)]),m("div",ya,[I(n,{type:"button",color:e.color,size:e.size,disabled:e.disabled,class:"input-button-increase",onClick:e.increase},{default:y(()=>t[4]||(t[4]=[P(" + ")])),_:1},8,["color","size","disabled","onClick"]),d(e.$slots,"append")])],2)}]]),we="ITextarea",ga=c({name:we,extends:te,inheritAttrs:!1,props:{color:{type:String,default:u(we,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{type:String,default:""},modelValue:{type:String,default:""},name:{type:[String,Number],default:()=>S("textarea")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(we,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"]}),ka={key:0,class:"input-prepend"},$a={class:"input"},wa={key:0,class:"input-prefix"},Ia=["value","name","id","tabindex","disabled","aria-disabled","readonly","aria-readonly"],xa={key:1,class:"input-suffix"},Ca={key:1,class:"input-append"},Sa=p(ga,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["input-wrapper",e.classes])},[e.$slots.prepend?(l(),o("div",ka,[d(e.$slots,"prepend")])):f("",!0),m("div",$a,[e.$slots.prefix?(l(),o("span",wa,[d(e.$slots,"prefix")])):f("",!0),m("textarea",h(e.$attrs,{value:e.value,ref:"input",role:"textbox",name:e.name,id:e.id,tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly,"aria-readonly":!!e.isReadonly&&"true","aria-multiline":"true",onInput:t[0]||(t[0]=(...n)=>e.onInput&&e.onInput(...n)),onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n))}),null,16,Ia),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",xa,[d(e.$slots,"clearable",{clear:e.onClear},()=>[$(m("i",{class:"input-clear","aria-label":"Clear",onClick:t[2]||(t[2]=(...n)=>e.onClear&&e.onClear(...n))},null,512),[[x,e.isClearable]])]),d(e.$slots,"suffix")])):f("",!0)]),e.$slots.append?(l(),o("div",Ca,[d(e.$slots,"append")])):f("",!0)],2)}]]),Ba=p(c({name:"ILayout",inheritAttrs:!1,props:{vertical:{type:Boolean,default:!1}},computed:{classes(){return{"-vertical":this.vertical}}}}),[["render",function(e,t,i,a,s,r){return l(),o("main",h(e.$attrs,{class:["layout",e.classes]}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-9a9f03c1"]]),za=c({name:"ILayoutAside",inheritAttrs:!1}),Aa={class:"layout-aside-children"},Va=p(za,[["render",function(e,t,i,a,s,r){return l(),o("aside",h(e.$attrs,{class:"layout-aside"}),[m("div",Aa,[d(e.$slots,"default",{},void 0,!0)])],16)}],["__scopeId","data-v-6e13c28d"]]),Oa=p(c({name:"ILayoutContent",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("section",h(e.$attrs,{class:"layout-content"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-5b197a5d"]]),La=p(c({name:"ILayoutFooter",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("footer",h(e.$attrs,{class:"layout-footer"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-31bd8dbc"]]),Da=p(c({name:"ILayoutHeader",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("header",h(e.$attrs,{class:"layout-header"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-ece9ef9b"]]),Ie="IListGroup",Na=p(c({name:Ie,inheritAttrs:!1,props:{border:{type:Boolean,default:!0},color:{type:String,default:u(Ie,"color")},size:{type:String,default:u(Ie,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-border":this.border}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["list-group",e.classes],role:"list"}),[d(e.$slots,"default")],16)}]]),Ta=p(c({name:"IListGroupItem",mixins:[Z],inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{ariaDisabled(){return this.role==="link"?null:this.disabled?"true":"false"},classes(){return{"-active":this.active,"-disabled":this.disabled}},role(){return this.$attrs.to||this.$attrs.href?"link":"listitem"},tabIndex(){return this.disabled?-1:this.tabindex}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["list-group-item",e.classes],tag:e.tag,role:e.role,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.ariaDisabled}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["tag","role","tabindex","class","disabled","aria-disabled"])}]]),Pa=function(e){const t={};return(...i)=>{const a=JSON.stringify(i);return a in t||(t[a]=e(...i)),t[a]}}(function(e,t){if(!t)return[{text:e}];const i=[],a=e.toLowerCase(),s=t.toLowerCase();let r=0,n=0;for(;n=0;n=B?b:e.length,n&&(i.push({text:e.substring(r,n)}),r=n),B&&(n+=t.length,i.push({text:e.substring(r,n),marked:!0}),r=n)}return i}),Ra=c({name:"IMark",inheritAttrs:!1,props:{text:{type:String,default:""},query:{type:String,default:""}},computed:{parts(){return Pa(this.text,this.query)}}}),Ea={key:0},wt=p(Ra,[["render",function(e,t,i,a,s,r){return l(),o("span",Lt(Dt(e.$attrs)),[(l(!0),o(j,null,X(e.parts,({text:n,marked:b})=>(l(),o(j,null,[b?(l(),o("mark",Ea,_(n),1)):(l(),o(j,{key:1},[P(_(n),1)],64))],64))),256))],16)}]]),Ma=c({name:"IMedia",inheritAttrs:!1}),_a={class:"media-body"},Fa=p(Ma,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:"media"}),[d(e.$slots,"image"),m("div",_a,[d(e.$slots,"default")])],16)}]]),C={instances:{},stack:[],zIndex:1050,register(e){e&&e.name&&(C.instances[e.name]=e)},unregister(e){e&&e.name&&(C.instances[e.name]=null,delete C.instances[e.name])},open(e){typeof window<"u"&&(C.stack.push(e),C.instances[e].$el.style.zIndex=C.zIndex++)},close(e){typeof window<"u"&&C.stack.splice(C.stack.indexOf(e),1)},getTopOverlay(){const e=C.stack.slice(-1)[0]||"";return C.instances[e]},onPressEscape(){const e=C.getTopOverlay();e&&e.closeOnPressEscape&&e.hide()}};typeof window<"u"&&window.addEventListener("keydown",e=>{k("esc",e)&&C.onPressEscape()});const xe="IModal",ja=c({name:xe,directives:{ClickOutside:K},inheritAttrs:!1,props:{closeOnPressEscape:{type:Boolean,default:!0},closeAriaLabel:{type:String,default:"Close"},color:{type:String,default:u(xe,"color")},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},name:{type:String,default:()=>S("modal")},showClose:{type:Boolean,default:!0},size:{type:String,default:u(xe,"size"),validator:v},modelValue:{type:Boolean,default:!1},transition:{type:String,default:"zoom-in-center-transition"}},emits:["update:modelValue"],data(){return{visible:this.modelValue}},computed:{classes(){return{"-disabled":this.disabled,...g(this),[`-${this.size}`]:!!this.size}}},watch:{modelValue(e){e?this.show():this.hide()}},mounted(){C.register(this)},unmounted(){C.unregister(this)},methods:{show(){this.disabled||(this.visible=!0,this.$emit("update:modelValue",!0),C.open(this.name),typeof window<"u"&&_e(window.document.body,"-modal"))},hide(){this.disabled||(this.visible=!1,this.$emit("update:modelValue",!1),C.close(this.name),typeof window<"u"&&pt(window.document.body,"-modal"))},onClickOutside(){this.hideOnClickOutside&&this.hide()}}}),Ga=["aria-hidden","id","name","aria-labelledby"],Za={class:"modal"},Ka=["id"],qa=["aria-label"],Wa={key:1,class:"modal-body"},Ua={key:2,class:"modal-footer"},Ha=p(ja,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return l(),V(L,{name:"fade-in-transition"},{default:y(()=>[$(m("div",h(e.$attrs,{class:["modal-wrapper",e.classes],role:"dialog","aria-modal":"true","aria-hidden":e.visible?"false":"true",id:e.name,name:e.name,"aria-labelledby":`${e.name}-header`}),[I(L,{name:e.transition},{default:y(()=>[$((l(),o("div",Za,[e.$slots.header?(l(),o("div",{key:0,class:"modal-header",id:`${e.name}-header`},[d(e.$slots,"header"),e.showClose?(l(),o("button",{key:0,class:"close","aria-hidden":"true","aria-label":e.closeAriaLabel,onClick:t[0]||(t[0]=(...b)=>e.hide&&e.hide(...b))},[d(e.$slots,"close",{},()=>[t[1]||(t[1]=m("i",{class:"icon"},null,-1))])],8,qa)):f("",!0)],8,Ka)):f("",!0),e.$slots.default?(l(),o("div",Wa,[d(e.$slots,"default")])):f("",!0),e.$slots.footer?(l(),o("div",Ua,[d(e.$slots,"footer")])):f("",!0)])),[[n,e.onClickOutside],[x,e.visible]])]),_:3},8,["name"])],16,Ga),[[x,e.visible]])]),_:3})}]]),Ce="INav",Qa=p(c({name:Ce,provide(){return{nav:this}},inject:{navbar:{default:()=>({onItemClick:()=>{}})},sidebar:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{color:{type:String,default:u(Ce,"color")},size:{type:String,default:u(Ce,"size"),validator:v},vertical:{type:Boolean,default:!1}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-vertical":this.vertical}}},methods:{onItemClick(){[this.navbar,this.sidebar].forEach(e=>{e.onItemClick()})}}}),[["render",function(e,t,i,a,s,r){return l(),o("nav",h(e.$attrs,{class:["nav",e.classes],role:"menubar"}),[d(e.$slots,"default")],16)}]]),Ya=p(c({name:"INavItem",mixins:[Z],inject:{nav:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},stopPropagation:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{ariaDisabled(){return this.role==="link"?null:this.disabled?"true":"false"},classes(){return{"-active":this.active,"-disabled":this.disabled}},role(){return this.$attrs.to||this.$attrs.href?"link":"menuitem"},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(e){this.stopPropagation||this.nav.onItemClick(this,e)}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["nav-item",e.classes],role:e.role,tag:e.tag,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.ariaDisabled,onClick:e.onClick}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["role","tag","tabindex","class","disabled","aria-disabled","onClick"])}]]),Se="INavbar",Ja=p(c({name:Se,components:{IContainer:Ke,IRow:qe,IColumn:Ze,IHamburgerMenu:kt},directives:{ClickOutside:K},mixins:[ft],provide(){return{navbar:this}},inheritAttrs:!1,props:{collapseOnItemClick:{type:Boolean,default:!0},collapseOnClickOutside:{type:Boolean,default:!0},color:{type:String,default:u(Se,"color")},fluid:{type:Boolean,default:!1},size:{type:String,default:u(Se,"size"),validator:v},menuAnimation:{type:String,default:"close"}},emits:["update:modelValue"],computed:{classes(){return{...this.collapsibleClasses,...g(this),[`-${this.size}`]:!!this.size}}},methods:{onItemClick(){this.collapseOnItemClick&&this.open&&this.setOpen(!1)},onClickOutside(){this.collapseOnClickOutside&&this.open&&this.setOpen(!1)}}}),[["render",function(e,t,i,a,s,r){const n=A("i-hamburger-menu"),b=A("i-column"),B=A("i-row"),F=A("i-container"),w=G("click-outside");return $((l(),o("nav",h(e.$attrs,{class:["navbar",e.classes]}),[I(F,{fluid:e.fluid},{default:y(()=>[I(B,null,{default:y(()=>[I(b,null,{default:y(()=>[I(n,{class:"collapse-toggle",animation:e.menuAnimation,color:e.color,modelValue:e.open,"onUpdate:modelValue":e.toggleOpen},null,8,["animation","color","modelValue","onUpdate:modelValue"]),d(e.$slots,"default")]),_:3})]),_:3})]),_:3},8,["fluid"])],16)),[[w,e.onClickOutside]])}]]),Xa=p(c({name:"INavbarBrand",mixins:[Z],inheritAttrs:!1,props:{tag:{type:String,default:"div"}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:"navbar-brand",tag:e.tag,translate:"no"}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["tag"])}]]),es=c({name:"INavbarCollapsible",components:{IExpandTransition:gt},inject:{navbar:{default:()=>({})}},inheritAttrs:!1,computed:{visible(){const e=typeof window>"u";return this.navbar.open||!this.navbar.collapsible||e}}}),ts=["aria-hidden","aria-expanded"],is=p(es,[["render",function(e,t,i,a,s,r){const n=A("i-expand-transition");return l(),V(n,null,{default:y(()=>[$(m("div",h(e.$attrs,{class:"navbar-collapsible","aria-hidden":e.visible?"false":"true","aria-expanded":e.visible?"true":"false"}),[d(e.$slots,"default")],16,ts),[[x,e.visible]])]),_:3})}]]),Be="IPagination",as=c({name:Be,inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Pagination"},color:{type:String,default:u(Be,"color")},itemsPerPage:{type:Number,default:20},itemsTotal:{type:Number,default:0},limit:{type:[Number,Object],default:()=>({xs:3,sm:5})},quickLink:{type:Boolean,default:!1},modelValue:{type:Number,default:1},size:{type:String,default:u(Be,"size"),validator:v}},emits:["update:modelValue"],data:()=>({pageLimit:5}),computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}},pageCount(){return Math.ceil(this.itemsTotal/this.itemsPerPage)},showQuickPrevious(){return this.pageCount>this.pageLimit&&this.modelValue>this.pageLimit-(this.pageLimit-1)/2},showQuickNext(){return this.pageCount>this.pageLimit&&this.modelValuee.apply(s,a),t)}}(this.onWindowResize,250),typeof window<"u"&&(window.addEventListener("resize",this.debouncedOnWindowResize),this.onWindowResize())},unmounted(){typeof window<"u"&&window.removeEventListener("resize",this.debouncedOnWindowResize)},methods:{next(){this.modelValue!==this.pageCount&&this.onClick(this.modelValue+1)},quickNext(){if(!this.quickLink)return;const e=this.modelValue+(this.pageLimit-2);this.onClick(e>this.pageCount?this.pageCount:e)},previous(){this.modelValue!==1&&this.onClick(this.modelValue-1)},quickPrevious(){if(!this.quickLink)return;const e=this.modelValue-(this.pageLimit-2);this.onClick(e<1?1:e)},onClick(e){this.$emit("update:modelValue",e)},onWindowResize(){if(typeof this.limit=="number")return this.pageLimit=this.limit,this.pageLimit;for(const e of je.slice().reverse())if(this.limit.hasOwnProperty(e)&&typeof window<"u"&&window.innerWidth>=J[e][0])return this.pageLimit=this.limit[e],this.pageLimit}}}),ss=["aria-label"],ns={class:"pagination-items"},ls={"aria-hidden":"true"},rs=["aria-current","onClick"],os={"aria-hidden":"true"},ds=p(as,[["render",function(e,t,i,a,s,r){return l(),o("nav",h(e.$attrs,{class:["pagination",e.classes],role:"navigation","aria-label":e.ariaLabel}),[m("ul",ns,[e.pageCount>0?(l(),o("li",{key:0,class:z(["pagination-item -previous",{"-disabled":e.modelValue===1}]),onClick:t[0]||(t[0]=(...n)=>e.previous&&e.previous(...n))},[m("span",ls,[d(e.$slots,"previous",{},()=>[t[6]||(t[6]=P("<"))])])],2)):f("",!0),e.pageCount>0?(l(),o("li",{key:1,class:z(["pagination-item -first",{"-active":e.modelValue===1}]),onClick:t[1]||(t[1]=n=>e.onClick(1))}," 1 ",2)):f("",!0),e.showQuickPrevious?(l(),o("li",{key:2,class:z(["pagination-item -quick-previous",{"-disabled":!e.quickLink}]),onClick:t[2]||(t[2]=(...n)=>e.quickPrevious&&e.quickPrevious(...n))}," … ",2)):f("",!0),(l(!0),o(j,null,X(e.pages,n=>(l(),o("li",{class:z(["pagination-item",{"-active":e.modelValue===n}]),"aria-current":e.modelValue===n&&"page",onClick:b=>e.onClick(n)},_(n),11,rs))),256)),e.showQuickNext?(l(),o("li",{key:3,class:z(["pagination-item -quick-next",{"-disabled":!e.quickLink}]),onClick:t[3]||(t[3]=(...n)=>e.quickNext&&e.quickNext(...n))}," … ",2)):f("",!0),e.pageCount>1?(l(),o("li",{key:4,class:z(["pagination-item -last",{"-active":e.modelValue===e.pageCount}]),onClick:t[4]||(t[4]=n=>e.onClick(e.pageCount))},_(e.pageCount),3)):f("",!0),e.pageCount>0?(l(),o("li",{key:5,class:z(["pagination-item -next",{"-disabled":e.modelValue===e.pageCount}]),onClick:t[5]||(t[5]=(...n)=>e.next&&e.next(...n))},[m("span",os,[d(e.$slots,"next",{},()=>[t[7]||(t[7]=P(">"))])])],2)):f("",!0)])],16,ss)}]]),ze="IPopover",us=c({name:ze,directives:{ClickOutside:K},mixins:[ee,Ge],inheritAttrs:!1,props:{color:{type:String,default:u(ze,"color")},disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},name:{type:String,default:()=>S("popover")},arrow:{type:Boolean,default:!0},placement:{type:String,default:"top"},trigger:{type:[String,Array],default:()=>["click"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!1},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(ze,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)}}}),cs=["id"],ps=["aria-describedby","aria-disabled","aria-expanded"],hs=["id","aria-hidden"],ms={key:0,"data-popper-arrow":""},fs={key:1,class:"popover-header"},bs={key:2,class:"popover-body"},ys={key:3,class:"popover-footer"},vs=p(us,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["popover-wrapper",e.classes],ref:"wrapper",id:e.name,onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))}),[m("div",{class:"popover-trigger",ref:"trigger","aria-describedby":`${e.name}-popup`,"aria-disabled":e.disabled?"true":"false","aria-expanded":e.visible?"true":"false"},[d(e.$slots,"default")],8,ps),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:"popover",ref:"popup",role:"tooltip","aria-live":"polite",id:`${e.name}-popup`,"aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",ms)):f("",!0),e.$slots.header?(l(),o("div",fs,[d(e.$slots,"header")])):f("",!0),e.$slots.body?(l(),o("div",bs,[d(e.$slots,"body")])):f("",!0),e.$slots.footer?(l(),o("div",ys,[d(e.$slots,"footer")])):f("",!0)],8,hs),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,cs)),[[n,e.onClickOutside]])}]]),Ae="IProgress",gs=p(c({name:Ae,provide(){return{progress:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Ae,"color")},min:{type:[String,Number],default:0},max:{type:[String,Number],default:100},size:{type:String,default:u(Ae,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["progress",e.classes]}),[d(e.$slots,"default")],16)}]]),at="IProgressBar",ks=c({name:at,inject:{progress:{default:()=>({min:0,max:100})}},inheritAttrs:!1,props:{color:{type:String,default:u(at,"color","primary")},value:{type:[String,Number],default:0}},computed:{computedValue(){const e=typeof this.min=="string"?parseFloat(this.min):this.min;return 100*((typeof this.value=="string"?parseFloat(this.value.replace("%","")):this.value)-e)/((typeof this.max=="string"?parseFloat(this.max):this.max)-e)},min(){return this.progress.min},max(){return this.progress.max},style(){return{width:`${this.computedValue}%`}},classes(){return{...g(this)}}}}),$s=["aria-valuemin","aria-valuemax","aria-valuenow"],ws=p(ks,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["progress-bar",e.classes],style:e.style,role:"progressbar","aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.computedValue}),[d(e.$slots,"default")],16,$s)}]]),Ve="IRadio",Is=c({name:Ve,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(Ve,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:""},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("radio")},native:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Ve,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-native":this.native}},checked(){return this.formGroup.checked===this.value},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i,a,s;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),(s=(a=this.formGroup).onChange)==null||s.call(a,this.value),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),xs=["checked","name","disabled","readonly",".indeterminate"],Cs=["aria-checked","aria-disabled","aria-readonly","tabindex"],Ss=p(Is,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["radio",e.classes],role:"radio"}),[m("input",{checked:e.checked,ref:"input",type:"radio",tabindex:"-1",name:e.name,disabled:e.isDisabled,readonly:e.isReadonly,".indeterminate":e.indeterminate,onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,xs),m("label",{class:"radio-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n)),onClick:t[2]||(t[2]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,Cs)],16)}]]),Oe="IRadioGroup",Bs=c({name:Oe,mixins:[R],provide(){return{formGroup:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Oe,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},modelValue:{default:""},name:{type:[String,Number],default:()=>S("radio-group")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Oe,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},checked(){return this.schema?this.schema.value:this.modelValue}},methods:{onChange(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e),this.$emit("update:modelValue",e)}}}),zs=["name"],As=p(Bs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["form-group radio-group",e.classes],name:e.name,role:"radiogroup"}),[d(e.$slots,"default",{},void 0,!0)],16,zs)}],["__scopeId","data-v-fa4fe77a"]]),Vs=c({name:"ISelectOption",inject:{select:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},label:{type:String,default:""},tabindex:{type:[Number,String],default:0},value:{type:[Object,String,Number],default:()=>({})}},computed:{ariaDisabled(){return this.disabled?"true":"false"},ariaSelected(){return this.active?"true":"false"},isActive(){return this.active||this.value===this.select.modelValue},classes(){return{"-active":this.isActive,"-disabled":this.disabled}},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(){this.disabled||this.select.onInput(this.value,this.label)}}}),Os=["tabindex","aria-disabled","aria-selected"],It=p(Vs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["select-option",e.classes],role:"option",tabindex:e.tabIndex,"aria-disabled":e.ariaDisabled,"aria-selected":e.ariaSelected,onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),[d(e.$slots,"default",{},()=>[P(_(e.label),1)])],16,Os)}]]),Le="ISelect",Ls=c({name:Le,directives:{ClickOutside:K},components:{IInput:te,IIcon:$t,ISelectOption:It,IMark:wt},mixins:[R,ee],provide(){return{select:this}},props:{animationDuration:{type:Number,default:300},autocomplete:{type:Boolean,default:!1},arrow:{type:Boolean,default:!0},color:{type:String,default:u(Le,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},idField:{type:String,default:"id"},keydownTrigger:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},keydownItem:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},label:{type:[String,Function],default:"label"},loading:{type:Boolean,default:!1},modelValue:{type:[Object,String,Number],default:null},minLength:{type:Number,default:0},name:{type:[String,Number],default:()=>S("select")},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},offset:{type:Number,default:6},placement:{type:String,default:"bottom"},popperOptions:{type:Object,default:()=>({modifiers:[...bt({offset:8}),{name:"sameWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect({state:e}){e.elements.popper.style.width=`${e.elements.reference.offsetWidth}px`}}]})},readonly:{type:Boolean,default:!1},scrollTolerance:{type:Number,default:160},selectFirstOptionOnEnter:{type:Boolean,default:!0},size:{type:String,default:u(Le,"size"),validator:v},tabindex:{type:[Number,String],default:0},type:{type:String,default:"text"},total:{type:Number,default:void 0}},emits:["update:modelValue","search","pagination"],data(){return{animating:!1,visible:!1,inputValue:this.computeLabel(this.modelValue)||""}},computed:{wrapperClasses(){return{...g(this),[`-${this.size}`]:!!this.size}},popupClasses(){return{"-disabled":this.isDisabled,"-readonly":this.isReadonly}},tabIndex(){return this.isDisabled?-1:this.tabindex},isClearable(){return this.value&&this.clearable&&!this.isDisabled&&!this.isReadonly},value(){return this.schema?this.schema.value:this.modelValue},inputPlaceholder(){return this.value?this.computeLabel(this.value):this.placeholder}},watch:{value(e){this.inputValue=this.computeLabel(e)},inputValue(e){const t=this.inputMatchesLength(e),i=this.inputMatchesLabel(e);!t||i||this.animating||this.show(),this.$emit("search",this.inputValue)},options(){this.visible&&this.createPopper()}},methods:{onInput(e,t){var i,a;e.disabled||(this.hide(),t&&(this.inputValue=t),(a=(i=this.parent).onInput)==null||a.call(i,this.name,e),this.$emit("update:modelValue",e))},onClear(){this.animating=!0,this.$emit("update:modelValue",null),this.$nextTick(()=>{this.animating=!1})},onFocus(e){!this.value&&this.options.length===0||(this.autocomplete&&(this.inputValue=""),(!e.relatedTarget||!this.$refs.wrapper.contains(e.relatedTarget))&&this.inputShouldShowSelect(this.inputValue)&&this.show())},onBlur(e){var t,i;(!e.relatedTarget||!this.$refs.wrapper.contains(e.relatedTarget))&&(this.hide(),this.inputValue=this.computeLabel(this.value)),(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)},onClick(){this.autocomplete&&(this.inputValue=""),this.inputShouldShowSelect(this.inputValue)&&this.show()},onClickOutside(){this.hide()},onClickCaret(e){this.visible?this.onBlur(e):(this.focus(),this.onFocus(e)),e.preventDefault(),e.stopPropagation()},onScroll(){if(isNaN(this.total))return;const e=this.$refs.body.scrollTop+parseInt(getComputedStyle(this.$refs.body).height,10)>parseInt(getComputedStyle(this.$refs.options).height,10)-this.scrollTolerance,t=this.options.length>=this.total;e&&!t&&this.options.length>0&&!this.loading&&this.$emit("pagination")},onWindowResize(){this.onScroll(),this.visible&&this.$nextTick().then(()=>this.createPopper())},onTriggerKeyDown(e){if(this.keydownTrigger.length===0)return;const t=this.getFocusableItems(),i=t.findIndex(s=>s.active),a=t[i>-1?i:0];switch(!0){case(k("up",e)&&this.keydownTrigger.includes("up")):case(k("down",e)&&this.keydownTrigger.includes("down")):this.show(),setTimeout(()=>{a.focus()},this.visible?0:this.animationDuration),e.preventDefault(),e.stopPropagation();break;case(k("enter",e)&&this.keydownTrigger.includes("enter")):if(!this.selectFirstOptionOnEnter||this.value&&this.inputMatchesLabel(this.inputValue))this.onClick();else{const s=this.options.find(r=>!r.disabled);s&&(this.onInput(s),this.focus())}this.visible||setTimeout(()=>{a.focus()},this.animationDuration),e.preventDefault();break;case(k("tab",e)&&this.keydownTrigger.includes("tab")):case(k("esc",e)&&this.keydownTrigger.includes("esc")):this.hide()}},onItemKeyDown(e){if(this.keydownItem.length!==0)switch(!0){case(k("up",e)&&this.keydownItem.includes("up")):case(k("down",e)&&this.keydownItem.includes("down")):const t=this.getFocusableItems(),i=t.findIndex(r=>r===e.target),a=t.length-1;let s;s=k("up",e)?i>0?i-1:0:i{this.animating=!1},this.animationDuration))},focus(){this.$refs.trigger.focus()},getFocusableItems(){const e=[];for(const t of this.$refs.options.children)Fe(t)&&e.push(t);return e},getElementHeight(e){const t=getComputedStyle(e);return t.height?Math.ceil(parseFloat(t.height)):NaN},inputMatchesLabel(e){return this.value&&e===this.computeLabel(this.value)},inputMatchesLength(e){return this.minLength===0||e&&e.length>=this.minLength},inputShouldShowSelect(e){return!this.autocomplete||this.inputMatchesLength(e)&&!this.inputMatchesLabel(e)},computeLabel(e){return typeof e!="object"?this.inputValue:dt(this.label)?this.label(e):M(e,this.label)}}}),Ds=["id","name","aria-owns","aria-expanded"],Ns=["id","aria-hidden"],Ts={key:0,"data-popper-arrow":""},Ps={key:1,class:"select-header"},Rs={key:0,class:"select-no-results"},Es={class:"select-options",ref:"options"},Ms={key:2,class:"select-footer"},_s=p(Ls,[["render",function(e,t,i,a,s,r){const n=A("i-input"),b=A("i-mark"),B=A("i-select-option"),F=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["select-wrapper",e.wrapperClasses],id:e.name,name:e.name,ref:"wrapper",role:"combobox","aria-haspopup":"listbox","aria-owns":`${e.name}-options`,"aria-expanded":e.visible?"true":"false",onKeyup:t[3]||(t[3]=E((...w)=>e.onEscape&&e.onEscape(...w),["esc"]))}),[I(n,{modelValue:e.inputValue,"onUpdate:modelValue":t[1]||(t[1]=w=>e.inputValue=w),ref:"trigger",autocomplete:"off","aria-autocomplete":"both","aria-controls":`${e.name}-options`,disabled:e.isDisabled,readonly:e.isReadonly,tabindex:e.tabIndex,plaintext:!e.autocomplete,placeholder:e.inputPlaceholder,clearable:e.isClearable,color:e.color,size:e.size,name:`${e.name}-input`,onClick:e.onClick,onFocus:e.onFocus,onBlur:e.onBlur,onClear:e.onClear,onKeydown:e.onTriggerKeyDown},Nt({suffix:y(()=>[d(e.$slots,"suffix"),m("button",{class:"select-caret","aria-hidden":"true",role:"button",onClick:t[0]||(t[0]=(...w)=>e.onClickCaret&&e.onClickCaret(...w))})]),_:2},[e.$slots.prepend?{name:"prepend",fn:y(()=>[d(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.prefix?{name:"prefix",fn:y(()=>[d(e.$slots,"prefix")]),key:"1"}:void 0,e.$slots.append?{name:"append",fn:y(()=>[d(e.$slots,"append")]),key:"2"}:void 0]),1032,["modelValue","aria-controls","disabled","readonly","tabindex","plaintext","placeholder","clearable","color","size","name","onClick","onFocus","onBlur","onClear","onKeydown"]),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:z(["select",e.popupClasses]),id:`${e.name}-options`,role:"listbox",ref:"popup","aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",Ts)):f("",!0),e.$slots.header?(l(),o("div",Ps,[d(e.$slots,"header")])):f("",!0),m("div",{class:"select-body",ref:"body",onScroll:t[2]||(t[2]=(...w)=>e.onScroll&&e.onScroll(...w))},[e.$slots.default||e.options.length!==0?f("",!0):(l(),o("div",Rs,[d(e.$slots,"no-results",{},()=>[t[4]||(t[4]=P(" There are no results for your query. "))])])),m("div",Es,[d(e.$slots,"default"),(l(!0),o(j,null,X(e.options,w=>(l(),V(B,{key:w[e.idField],active:e.value&&e.value[e.idField]===w[e.idField],disabled:w.disabled,value:w,onKeydown:e.onItemKeyDown},{default:y(()=>[d(e.$slots,"option",{option:w},()=>[e.autocomplete&&e.inputValue!==e.computeLabel(w)?(l(),V(b,{key:0,text:e.computeLabel(w),query:e.inputValue},null,8,["text","query"])):(l(),o(j,{key:1},[P(_(e.computeLabel(w)),1)],64))])]),_:2},1032,["active","disabled","value","onKeydown"]))),128))],512)],544),e.$slots.footer?(l(),o("div",Ms,[d(e.$slots,"footer")])):f("",!0)],10,Ns),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,Ds)),[[F,e.onClickOutside]])}]]),De="ISidebar",Fs=c({name:De,mixins:[ft],provide(){return{sidebar:this}},inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Sidebar"},collapseOnItemClick:{type:Boolean,default:!0},collapseOnClickOutside:{type:Boolean,default:!0},collapsePosition:{type:String,default:"absolute"},color:{type:String,default:u(De,"color")},placement:{type:String,default:"left"},size:{type:String,default:u(De,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...this.collapsibleClasses,...g(this),[`-${this.size}`]:!!this.size,[`-collapse-${this.collapsePosition}`]:!0,[`-placement-${this.placement}`]:!0}},sidebarWrapperTransition(){return this.collapsePosition!=="relative"?"sidebar-wrapper-none-transition":"sidebar-wrapper-transition"},sidebarTransition(){return this.collapsePosition!=="relative"?"sidebar-transition":"sidebar-none-transition"}},methods:{onItemClick(){this.collapseOnItemClick&&this.open&&this.setOpen(!1)},onOverlayClick(){this.collapseOnClickOutside&&this.open&&this.setOpen(!1)}}}),js=["aria-label"],Gs={class:"sidebar"},Zs={class:"sidebar-content"},Ks=p(Fs,[["render",function(e,t,i,a,s,r){return l(),V(L,{name:e.sidebarWrapperTransition},{default:y(()=>[$(m("aside",h(e.$attrs,{role:"complementary",class:["sidebar-wrapper",e.classes],"aria-label":e.ariaLabel,ref:"wrapper"}),[I(L,{name:e.sidebarTransition},{default:y(()=>[$(m("div",Gs,[m("div",Zs,[d(e.$slots,"default")])],512),[[x,e.collapsePosition==="relative"||e.open||!e.collapsible]])]),_:3},8,["name"]),I(L,{name:"sidebar-overlay-transition"},{default:y(()=>[e.collapsePosition!=="relative"?$((l(),o("div",{key:0,class:"sidebar-overlay",onClick:t[0]||(t[0]=(...n)=>e.onOverlayClick&&e.onOverlayClick(...n))},null,512)),[[x,e.open]]):f("",!0)]),_:1})],16,js),[[x,e.open||!e.collapsible]])]),_:3},8,["name"])}]]),st="ITable",qs=c({name:st,inheritAttrs:!1,props:{border:{type:Boolean,default:!1},condensed:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},hover:{type:Boolean,default:!1},responsive:{type:[Boolean,String],default:!0},nowrap:{type:Boolean,default:!1},color:{type:String,default:u(st,"color")}},computed:{classes(){return{...g(this),"-border":this.border,"-condensed":this.condensed,"-striped":this.striped,"-hover":this.hover,"-nowrap":this.nowrap,["-responsive"+(typeof this.responsive=="boolean"?"":`-${this.responsive}`)]:!!this.responsive}}}}),Ws={class:"table"},Us=p(qs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["table-wrapper",e.classes]}),[m("table",Ws,[d(e.$slots,"default")])],16)}]]),Ne="ITabs",Hs=c({name:Ne,provide(){return{tabs:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Ne,"color")},modelValue:{type:String,default:""},size:{type:String,default:u(Ne,"size"),validator:v},stretch:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{active:this.modelValue,tabs:[]}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-stretch":this.stretch}}},watch:{modelValue(e){this.active=e}},methods:{setActive(e){this.active=e,this.$emit("update:modelValue",this.active)}}}),Qs={class:"tabs-header"},Ys=p(Hs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["tabs",e.classes],role:"tablist","aria-multiselectable":"true"}),[m("div",Qs,[d(e.$slots,"header")]),d(e.$slots,"default")],16)}]]),Js=c({name:"ITab",inject:{tabs:{default:()=>({})}},props:{title:{type:String,default:""},name:{type:String,default:()=>S("tab")}},computed:{active(){return this.tabs.active===this.name},classes(){return{"-active":this.active}}}}),Xs=["name","aria-hidden","aria-labelledby"],en={class:"tab-body"},tn=p(Js,[["render",function(e,t,i,a,s,r){return $((l(),o("div",{class:z(["tab",e.classes]),role:"tabpanel",name:e.name,"aria-hidden":!e.active,"aria-labelledby":`tab-heading-${e.name}`},[m("div",en,[d(e.$slots,"default")])],10,Xs)),[[x,e.active]])}]]),an=c({name:"ITabTitle",inject:{tabs:{default:()=>({})}},props:{for:{type:String,default:()=>S("tab")}},computed:{active(){return this.tabs.active===this.for},classes(){return{"-active":this.active}},name(){return this.for}},methods:{onClick(){this.tabs.setActive(this.for)}}}),sn=["for","active","aria-expanded","aria-controls","aria-describedby"],nn=p(an,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["tab-title",e.classes]),role:"tab",for:e.name,active:e.active,"aria-expanded":e.active,"aria-controls":`tab-content-${e.name}`,"aria-describedby":`tab-content-${e.name}`,tabindex:"0",onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))},[d(e.$slots,"default")],10,sn)}]]),Te="IToggle",ln=c({name:Te,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(Te,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:!1},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("toggle")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Te,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly}},checked(){return this.schema?this.schema.value:this.modelValue},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),rn=["checked","disabled","readonly","aria-checked","aria-disabled","aria-readonly","name"],on=["aria-checked","aria-disabled","aria-readonly","tabindex"],dn=p(ln,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["toggle",e.classes]}),[m("input",{ref:"input",type:"checkbox",checked:e.checked,disabled:e.isDisabled,readonly:e.isReadonly,"aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,name:e.name,onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,rn),m("label",{class:"toggle-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onClick:t[1]||(t[1]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onBlur:t[2]||(t[2]=(...n)=>e.onBlur&&e.onBlur(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,on)],16)}]]),Pe="ITooltip",un=c({name:Pe,directives:{ClickOutside:K},mixins:[ee,Ge],inheritAttrs:!1,props:{color:{type:String,default:u(Pe,"color")},disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},name:{type:String,default:()=>S("tooltip")},arrow:{type:Boolean,default:!0},placement:{type:String,default:"top"},trigger:{type:[String,Array],default:()=>["hover","focus"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!1},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(Pe,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)}}}),cn=["id"],pn=["aria-describedby","aria-disabled","aria-expanded"],hn=["id","aria-hidden"],mn={key:0,"data-popper-arrow":""},fn=p(un,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["tooltip-wrapper",e.classes],ref:"wrapper",id:e.name,onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))}),[m("div",{class:"tooltip-trigger",ref:"trigger","aria-describedby":`${e.name}-popup`,"aria-disabled":e.disabled?"true":"false","aria-expanded":e.visible?"true":"false"},[d(e.$slots,"default")],8,pn),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:"tooltip",ref:"popup",role:"tooltip","aria-live":"polite",id:`${e.name}-popup`,"aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",mn)):f("",!0),d(e.$slots,"body")],8,hn),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,cn)),[[n,e.onClickOutside]])}]]),vn=Object.freeze(Object.defineProperty({__proto__:null,IAlert:Jt,IBadge:Xt,IBreadcrumb:ii,IBreadcrumbItem:ni,IButton:vt,IButtonGroup:ui,ICard:fi,ICheckbox:ki,ICheckboxGroup:Ii,ICollapsible:Ci,ICollapsibleItem:Oi,IColumn:Ze,IContainer:Ke,IDropdown:_i,IDropdownDivider:Fi,IDropdownItem:ji,IForm:Ki,IFormError:Yi,IFormGroup:Ui,IFormLabel:ea,IHamburgerMenu:kt,IHeader:ta,IIcon:$t,IInput:te,ILayout:Ba,ILayoutAside:Va,ILayoutContent:Oa,ILayoutFooter:La,ILayoutHeader:Da,IListGroup:Na,IListGroupItem:Ta,ILoader:yt,IMark:wt,IMedia:Fa,IModal:Ha,INav:Qa,INavItem:Ya,INavbar:Ja,INavbarBrand:Xa,INavbarCollapsible:is,INumberInput:va,IPagination:ds,IPopover:vs,IProgress:gs,IProgressBar:ws,IRadio:Ss,IRadioGroup:As,IRow:qe,ISelect:_s,ISelectOption:It,ISidebar:Ks,ITab:tn,ITabTitle:nn,ITable:Us,ITabs:Ys,ITextarea:Sa,IToggle:dn,ITooltip:fn},Symbol.toStringTag,{value:"Module"}));export{yn as I,p as _,vn as c}; +import{h as nt,w as Bt,r as zt,d as c,a as At,b as $,v as x,o as l,e as o,f as d,i as f,j as m,m as h,k as P,l as V,n as y,p as Y,q as A,s as I,t as E,u as Q,T as L,x as _,y as z,z as G,F as j,A as X,c as se,B as Vt,C as Ot,D as Lt,E as Dt,G as Nt}from"./vendor-DIlzVmqi.js";const p=(e,t)=>{const i=e.__vccOpts||e;for(const[a,s]of t)i[a]=s;return i};function g(e){let t=e.color;return t||(t=e.$inkline.options.colorMode==="system"?typeof window<"u"&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e.$inkline.options.colorMode),{[`-${t}`]:!0}}function lt(e,t){if(!e||!t)return!1;if(t.indexOf(" ")!==-1)throw new Error("Class name should not contain spaces.");return e.classList?e.classList.contains(t):(" "+e.className+" ").indexOf(" "+t+" ")>-1}function _e(e,t){if(!e)return;let i=e.className;const a=(t||"").split(" ");for(let s=0,r=a.length;s"-"+s.toLowerCase())}function rt(e,t){return["string","number"].indexOf(typeof t)>-1&&t!==""?`${He(e)}-${t}`:He(e)}function Re(e){return e.charAt(0).toUpperCase()+e.slice(1)}function U(e){if(Array.isArray(e)){const t=e.slice().map(U),i=Object.keys(t);return Object.keys(e).filter(a=>!i.includes(a)).forEach(a=>{t[a]=e[a]}),t}return typeof e=="object"?Object.keys(e).reduce((t,i)=>(t[i]=U(e[i]),t),{}):e}function Fe(e){if(e.tabIndex>0||e.tabIndex===0&&e.getAttribute("tabIndex")!==null)return!0;if(e.disabled)return!1;switch(e.nodeName){case"A":return!!e.href&&e.rel!=="ignore";case"INPUT":return e.type!=="hidden"&&e.type!=="file";case"BUTTON":case"SELECT":case"TEXTAREA":return!0;default:return!1}}function Tt(e){if(!Fe(e))return!1;try{e.focus()}catch{}return typeof window<"u"&&document.activeElement===e}function ot(e){for(let t=0;t"u")return;if(e.currentStyle)return e.currentStyle[t];const i=window.getComputedStyle(e,null);return i.getPropertyValue?i.getPropertyValue(t):i[t]}const dt=e=>e instanceof Function,J={xs:[0,575],sm:[576,767],md:[768,991],lg:[992,1199],xl:[1200,1399],xxl:[1400,1/0]},je=["","xs","sm","md","lg","xl","xxl"],Pt={tab:["Tab",9],enter:["Enter",13],esc:["Escape",27],space:[" ","Space",32],left:["ArrowLeft","Left",37],up:["ArrowUp","Up",38],right:["ArrowRight","Right",39],down:["ArrowDown","Down",40]},Qe={pristine:!0,dirty:!1,untouched:!0,touched:!1,valid:!0,invalid:!1,errors:[]},Rt={value:"",validators:[]},ut=["value","validators","pristine","dirty","untouched","touched","valid","invalid","errors"],k=(e,t)=>{const i=t.key||t.keyIdentifier||t.keyCode;return Pt[e].indexOf(i)!==-1};function Et(e,t,i){e&&t&&e.removeEventListener(t,i,!1)}function Mt(e,t,i){e&&t&&e.detachEvent("on"+t,i)}const T=typeof window>"u"?()=>{}:window.document.removeEventListener?Et:Mt;function _t(e,t,i){e&&t&&i&&e.addEventListener(t,i,!1)}function Ft(e,t,i){e&&t&&i&&e.attachEvent("on"+t,i)}const O=typeof window>"u"?()=>{}:window.document.addEventListener?_t:Ft,ct=e=>e.map(t=>t.type==="element"?nt(t.name,t.attributes,ct(t.children)):t.value);function pt(e,t){if(!e||!t)return;const i=t.split(" ");let a=" "+e.className+" ";for(let s=0,r=i.length;si&&i[a],e)}function ne(e,t,i){return t&&t.split(".").reduce((a,s)=>(Object.keys(i).forEach(r=>{a[s][r]=i[r]}),a&&a[s]),e),Object.keys(i).forEach(a=>{e[a]=i[a]}),e}function S(e){return`${e?`${e}-`:""}${Math.random().toString(36).substr(2,9)}`}const D={"en-US":/^[A-Z]+$/i,"bg-BG":/^[А-Я]+$/i,"cs-CZ":/^[A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[A-ZÆØÅ]+$/i,"de-DE":/^[A-ZÄÖÜß]+$/i,"el-GR":/^[Α-ω]+$/i,"es-ES":/^[A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[A-ZÀÉÈÌÎÓÒÙ]+$/i,"nb-NO":/^[A-ZÆØÅ]+$/i,"nl-NL":/^[A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[A-ZÆØÅ]+$/i,"hu-HU":/^[A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"pl-PL":/^[A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[А-ЯЁ]+$/i,"sl-SI":/^[A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[A-ZÅÄÖ]+$/i,"tr-TR":/^[A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/},N={"en-US":/^[0-9A-Z]+$/i,"bg-BG":/^[0-9А-Я]+$/i,"cs-CZ":/^[0-9A-ZÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ]+$/i,"da-DK":/^[0-9A-ZÆØÅ]+$/i,"de-DE":/^[0-9A-ZÄÖÜß]+$/i,"el-GR":/^[0-9Α-ω]+$/i,"es-ES":/^[0-9A-ZÁÉÍÑÓÚÜ]+$/i,"fr-FR":/^[0-9A-ZÀÂÆÇÉÈÊËÏÎÔŒÙÛÜŸ]+$/i,"it-IT":/^[0-9A-ZÀÉÈÌÎÓÒÙ]+$/i,"hu-HU":/^[0-9A-ZÁÉÍÓÖŐÚÜŰ]+$/i,"nb-NO":/^[0-9A-ZÆØÅ]+$/i,"nl-NL":/^[0-9A-ZÁÉËÏÓÖÜÚ]+$/i,"nn-NO":/^[0-9A-ZÆØÅ]+$/i,"pl-PL":/^[0-9A-ZĄĆĘŚŁŃÓŻŹ]+$/i,"pt-PT":/^[0-9A-ZÃÁÀÂÇÉÊÍÕÓÔÚÜ]+$/i,"ru-RU":/^[0-9А-ЯЁ]+$/i,"sl-SI":/^[0-9A-ZČĆĐŠŽ]+$/i,"sk-SK":/^[0-9A-ZÁČĎÉÍŇÓŠŤÚÝŽĹŔĽÄÔ]+$/i,"sr-RS@latin":/^[0-9A-ZČĆŽŠĐ]+$/i,"sr-RS":/^[0-9А-ЯЂЈЉЊЋЏ]+$/i,"sv-SE":/^[0-9A-ZÅÄÖ]+$/i,"tr-TR":/^[0-9A-ZÇĞİıÖŞÜ]+$/i,"uk-UA":/^[0-9А-ЩЬЮЯЄIЇҐі]+$/i,"ku-IQ":/^[٠١٢٣٤٥٦٧٨٩0-9ئابپتجچحخدرڕزژسشعغفڤقکگلڵمنوۆھەیێيطؤثآإأكضصةظذ]+$/i,ar:/^[٠١٢٣٤٥٦٧٨٩0-9ءآأؤإئابةتثجحخدذرزسشصضطظعغفقكلمنهوىيًٌٍَُِّْٰ]+$/};["AU","GB","HK","IN","NZ","ZA","ZM"].forEach(e=>{D[`en-${e}`]=D["en-US"],N[`en-${e}`]=N["en-US"]}),["AE","BH","DZ","EG","IQ","JO","KW","LB","LY","MA","QM","QA","SA","SD","SY","TN","YE"].forEach(e=>{D[`ar-${e}`]=D.ar,N[`ar-${e}`]=N.ar}),D["pt-BR"]=D["pt-PT"],N["pt-BR"]=N["pt-PT"],D["pl-Pl"]=D["pl-PL"],N["pl-Pl"]=N["pl-PL"];const Ye=/^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,jt={alpha:function(e,t={}){const i=t.locale||"en-US",a=s=>{let r=String(s);return t.allowDashes&&(r=r.replace(/-/g,"")),t.allowSpaces&&(r=r.replace(/ /g,"")),r};return e.constructor===Array?e.every(s=>D[i].test(a(s))):D[i].test(a(e))},alphanumeric:function(e,t={}){const i=t.locale||"en-US",a=s=>{let r=String(s);return t.allowDashes&&(r=r.replace(/-/g,"")),t.allowSpaces&&(r=r.replace(/ /g,"")),r};return e.constructor===Array?e.every(s=>N[i].test(a(s))):N[i].test(a(e))},custom:function(e,t={validator:()=>!0}){return e.constructor===Array?e.every(i=>t.validator(i)):t.validator(e)},number:function(e,t={allowNegative:!1,allowDecimal:!1}){let i="\\d+";t.allowNegative&&(i="[-]?"+i),t.allowDecimal&&(i+="([\\.\\,]\\d+)?");const a=new RegExp(`^${i}$`);return e.constructor===Array?e.every(s=>a.test(s)):a.test(e)},email:function(e){return e.constructor===Array?e.every(t=>!t||Ye.test(String(t))):!e||Ye.test(String(e))},max:function(e,t={value:0}){if(e==null)return!1;const i=a=>Number(a);return Array.isArray(e)?e.every(a=>i(a)<=t.value):i(e)<=t.value},maxLength:function(e,t={value:0}){return e!=null&&(e.constructor===Array?e.length<=t.value:typeof e=="object"?Object.keys(e).length<=t.value:String(e).length<=t.value)},min:function(e,t={value:0}){if(e==null)return!1;const i=a=>Number(a);return Array.isArray(e)?e.every(a=>i(a)>=t.value):i(e)>=t.value},minLength:function(e,t={value:0}){return e!=null&&(e.constructor===Array?e.length>=t.value:typeof e=="object"?Object.keys(e).length>=t.value:String(e).length>=t.value)},required:function(e,t={invalidateFalse:!1}){return e!=null&&(e.constructor===Array?!!e.length:typeof e=="boolean"?!t.invalidateFalse||e:!!String(e).trim().length)},sameAs:function(e,t={}){if(!t.target)return!1;const i=M(t.schema(),t.target);if(!i)throw new Error(`Could not find target with name '${t.target}' in 'sameAs' validator.`);return e===i.value}};function ht(e){const t=Object.keys(e).length===0||Array.isArray(e.validators)||e.hasOwnProperty("value")?{...Qe,...Rt}:Qe;return Object.entries(t).forEach(([i,a])=>{e.hasOwnProperty(i)||(e[i]=a)}),Object.keys(e).filter(i=>!ut.includes(i)).forEach(i=>{(typeof e[i]=="object"||Array.isArray(e[i]))&&(e[i]=ht(e[i]))}),e}const Ee={locale:"en",messages:{en:{validation:{alpha:e=>{let t;switch(!0){case(e.allowSpaces&&e.allowDashes):t="letters, spaces, and dashes";break;case e.allowSpaces:t="letters and spaces";break;case e.allowDashes:t="letters and dashes";break;default:t="letters"}return`Please enter ${t} only.`},alphanumeric:e=>{let t;switch(!0){case(e.allowSpaces&&e.allowDashes):t="letters, numbers, spaces, and dashes";break;case e.allowSpaces:t="letters, numbers, and spaces";break;case e.allowDashes:t="letters, numbers, and dashes";break;default:t="letters and numbers"}return`Please enter ${t} only.`},number:e=>{let t;switch(!0){case(e.allowNegative&&e.allowDecimal):t="positive or negative decimal numbers";break;case e.allowNegative:t="positive or negative numbers";break;case e.allowDecimal:t="decimal numbers";break;default:t="numbers"}return`Please enter ${t} only.`},email:()=>"Please enter a valid email address.",max:()=>"Please enter a maximum value of {value}.",maxLength:()=>"Please enter up to {value} characters.",min:()=>"Please enter a minimum value of {value}.",minLength:()=>"Please enter at least {value} characters.",required:()=>"Please enter a value for this field.",sameAs:()=>"Please make sure that the two values match.",custom:()=>"Please enter a correct value for this field."}}}};function Gt(e,t=""){const i=[];return e.valid=(e.validators||[]).reduce((a,s)=>{const r=typeof s=="string"?{name:s}:s,n=jt[r.name](e.value,r);if(!n){const{name:b,message:B,...F}=r,w={name:t.split(".").pop(),value:e.value,...F},xt=(B instanceof Function?B():B)||function(We,ie={}){const ae=M(Ee.messages[Ee.locale],We),Ct=dt(ae)?ae(ie):ae||We;return Object.keys(ie).reduce((St,Ue)=>St.replace(new RegExp(`{${Ue}}`,"g"),`${ie[Ue]}`),Ct)}(`validation.${b}`,w);i.push({name:b,message:xt,path:t})}return a&&n},!0),e.invalid=!e.valid,e.errors=i,e}function mt(e,t=""){return e.valid=Object.keys(e).filter(i=>!ut.includes(i)).reduce((i,a)=>(Object.keys(e[a]).length===0||e[a].validators||e[a].value?e[a]=Gt(e[a],`${t}`?`${t}.${a}`:a):e[a]=mt(e[a],`${t}`?`${t}.${a}`:a),i&&e[a].valid),!0),e.invalid=!e.valid,e}function le(e){return mt(e,"")}const Zt=Object.freeze(Object.defineProperty({__proto__:null,inkCaretDown:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"caret-down",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 11c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1z"},children:[]}]},inkCheck:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"check",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M23.625 3.5l-13.125 13.125-6.125-6.125-4.375 4.375 10.5 10.5 17.5-17.5z"},children:[]}]},inkChevronDown:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"chevron-down",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M26.297 12.625l-11.594 11.578c-0.391 0.391-1.016 0.391-1.406 0l-11.594-11.578c-0.391-0.391-0.391-1.031 0-1.422l2.594-2.578c0.391-0.391 1.016-0.391 1.406 0l8.297 8.297 8.297-8.297c0.391-0.391 1.016-0.391 1.406 0l2.594 2.578c0.391 0.391 0.391 1.031 0 1.422z"},children:[]}]},inkCircle:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"24",height:"28",viewBox:"0 0 24 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"circle",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M24 14c0 6.625-5.375 12-12 12s-12-5.375-12-12 5.375-12 12-12 12 5.375 12 12z"},children:[]}]},inkDanger:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"danger",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M14 2.625c-3.038 0-5.895 1.183-8.043 3.332s-3.332 5.005-3.332 8.043c0 3.038 1.183 5.895 3.332 8.043s5.005 3.332 8.043 3.332c3.038 0 5.895-1.183 8.043-3.332s3.332-5.005 3.332-8.043c0-3.038-1.183-5.895-3.332-8.043s-5.005-3.332-8.043-3.332zM14 0v0c7.732 0 14 6.268 14 14s-6.268 14-14 14c-7.732 0-14-6.268-14-14s6.268-14 14-14zM12.25 19.25h3.5v3.5h-3.5zM12.25 5.25h3.5v10.5h-3.5z"},children:[]}]},inkInfo:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"info",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M12.25 8.313c0-0.722 0.591-1.313 1.313-1.313h0.875c0.722 0 1.313 0.591 1.313 1.313v0.875c0 0.722-0.591 1.313-1.313 1.313h-0.875c-0.722 0-1.313-0.591-1.313-1.313v-0.875z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M17.5 21h-7v-1.75h1.75v-5.25h-1.75v-1.75h5.25v7h1.75z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M14 0c-7.732 0-14 6.268-14 14s6.268 14 14 14 14-6.268 14-14-6.268-14-14-14zM14 25.375c-6.282 0-11.375-5.093-11.375-11.375s5.093-11.375 11.375-11.375 11.375 5.093 11.375 11.375-5.093 11.375-11.375 11.375z"},children:[]}]},inkMinus:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"minus",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M0 11.375v5.25c0 0.483 0.392 0.875 0.875 0.875h26.25c0.483 0 0.875-0.392 0.875-0.875v-5.25c0-0.483-0.392-0.875-0.875-0.875h-26.25c-0.483 0-0.875 0.392-0.875 0.875z"},children:[]}]},inkPlus:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"plus",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.125 10.5h-9.625v-9.625c0-0.483-0.392-0.875-0.875-0.875h-5.25c-0.483 0-0.875 0.392-0.875 0.875v9.625h-9.625c-0.483 0-0.875 0.392-0.875 0.875v5.25c0 0.483 0.392 0.875 0.875 0.875h9.625v9.625c0 0.483 0.392 0.875 0.875 0.875h5.25c0.483 0 0.875-0.392 0.875-0.875v-9.625h9.625c0.483 0 0.875-0.392 0.875-0.875v-5.25c0-0.483-0.392-0.875-0.875-0.875z"},children:[]}]},inkSearch:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"search",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.132 23.827l-6.632-5.641c-0.686-0.617-1.419-0.9-2.011-0.873 1.566-1.834 2.511-4.213 2.511-6.813 0-5.799-4.701-10.5-10.5-10.5s-10.5 4.701-10.5 10.5 4.701 10.5 10.5 10.5c2.6 0 4.98-0.946 6.813-2.511-0.027 0.592 0.256 1.326 0.873 2.011l5.641 6.632c0.966 1.073 2.544 1.164 3.506 0.201s0.872-2.54-0.201-3.506zM10.5 17.5c-3.866 0-7-3.134-7-7s3.134-7 7-7 7 3.134 7 7-3.134 7-7 7z"},children:[]}]},inkSort:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 17c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1zM16 11c0 0.547-0.453 1-1 1h-14c-0.547 0-1-0.453-1-1 0-0.266 0.109-0.516 0.297-0.703l7-7c0.187-0.187 0.438-0.297 0.703-0.297s0.516 0.109 0.703 0.297l7 7c0.187 0.187 0.297 0.438 0.297 0.703z"},children:[]}]},inkSortAsc:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort-asc",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 11c0 0.547-0.453 1-1 1h-14c-0.547 0-1-0.453-1-1 0-0.266 0.109-0.516 0.297-0.703l7-7c0.187-0.187 0.438-0.297 0.703-0.297s0.516 0.109 0.703 0.297l7 7c0.187 0.187 0.297 0.438 0.297 0.703z"},children:[]}]},inkSortDesc:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"16",height:"28",viewBox:"0 0 16 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"sort-desc",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M16 17c0 0.266-0.109 0.516-0.297 0.703l-7 7c-0.187 0.187-0.438 0.297-0.703 0.297s-0.516-0.109-0.703-0.297l-7-7c-0.187-0.187-0.297-0.438-0.297-0.703 0-0.547 0.453-1 1-1h14c0.547 0 1 0.453 1 1z"},children:[]}]},inkTimes:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"times",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M27.745 22.495c-0-0-0-0-0-0l-8.494-8.494 8.494-8.494c0-0 0-0 0-0 0.091-0.091 0.158-0.198 0.2-0.312 0.116-0.311 0.050-0.675-0.2-0.925l-4.013-4.013c-0.25-0.25-0.614-0.316-0.925-0.2-0.114 0.042-0.221 0.109-0.312 0.2 0 0-0 0-0 0l-8.494 8.494-8.494-8.494c-0-0-0-0-0-0-0.091-0.091-0.198-0.158-0.312-0.2-0.311-0.116-0.675-0.050-0.925 0.2l-4.013 4.013c-0.25 0.25-0.316 0.614-0.2 0.925 0.042 0.114 0.109 0.221 0.2 0.312 0 0 0 0 0 0l8.494 8.494-8.494 8.494c-0 0-0 0-0 0-0.091 0.091-0.157 0.198-0.2 0.312-0.116 0.311-0.050 0.675 0.2 0.925l4.013 4.013c0.25 0.25 0.614 0.316 0.925 0.2 0.114-0.042 0.221-0.109 0.312-0.2 0-0 0-0 0-0l8.494-8.494 8.494 8.494c0 0 0 0 0 0 0.092 0.091 0.198 0.158 0.312 0.2 0.311 0.116 0.675 0.050 0.925-0.2l4.013-4.013c0.25-0.25 0.316-0.614 0.2-0.925-0.042-0.114-0.109-0.221-0.2-0.312z"},children:[]}]},inkWarning:{name:"svg",type:"element",value:"",attributes:{version:"1.1",xmlns:"http://www.w3.org/2000/svg",width:"28",height:"28",viewBox:"0 0 28 28",fill:"currentColor"},children:[{name:"title",type:"element",value:"",attributes:{},children:[{name:"",type:"text",value:"warning",attributes:{},children:[]}]},{name:"path",type:"element",value:"",attributes:{d:"M14 2.537l11.733 23.385h-23.467l11.733-23.385zM14 0c-0.603 0-1.207 0.407-1.665 1.221l-11.951 23.819c-0.916 1.628-0.137 2.96 1.731 2.96h23.77c1.868 0 2.647-1.332 1.731-2.96h0l-11.951-23.819c-0.458-0.814-1.061-1.221-1.665-1.221v0z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M15.75 22.75c0 0.966-0.784 1.75-1.75 1.75s-1.75-0.784-1.75-1.75c0-0.966 0.784-1.75 1.75-1.75s1.75 0.784 1.75 1.75z"},children:[]},{name:"path",type:"element",value:"",attributes:{d:"M14 19.25c-0.966 0-1.75-0.784-1.75-1.75v-5.25c0-0.966 0.784-1.75 1.75-1.75s1.75 0.784 1.75 1.75v5.25c0 0.966-0.784 1.75-1.75 1.75z"},children:[]}]}},Symbol.toStringTag,{value:"Module"})),Je="inkline-color-mode",re=e=>{let t;t=e==="system"?matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":e,pt(document.body,"-light -dark"),_e(document.body,`-${t}`)},Kt={components:{},icons:{},colorMode:"system",locale:"en",validateOn:["input","blur"],color:"",size:"",routerComponent:"router-link",componentOptions:{}};function qt({icons:e,components:t,...i}){return{form:a=>ht(a),setLocale(a){(function(s){Ee.locale=s})(a)},options:zt(i)}}const W={prototype:void 0,icons:void 0},yn={install(e,t={}){const i={...Kt,...t};for(const r in i.components)e.component(i.components[r].name,i.components[r]);if(typeof window<"u"){const r=localStorage.getItem(Je);r&&(i.colorMode=r)}const a=qt(i);W.prototype=a,e.config.globalProperties.$inkline=a,e.provide("inkline",a);const s={...Zt,...i.icons};if(e.provide("inklineIcons",s),typeof window<"u"){Bt(()=>a.options.colorMode,b=>{re(b),localStorage.setItem(Je,b)});const r=()=>{a.options.colorMode==="system"&&re(a.options.colorMode)},n=matchMedia("(prefers-color-scheme: dark)");n.addEventListener?n.addEventListener("change",r):n.addListener(r),_e(document.body,"inkline"),re(i.colorMode)}}};function u(e,t,i=""){return()=>{var a;return W.prototype?(a=W.prototype.options.componentOptions[e])!=null&&a[t]?W.prototype.options.componentOptions[e][t]:W.prototype.options[t]:i}}function v(e){return["","xs","sm","md","lg","xl","xxl"].includes(e)}const ft=c({props:{collapse:{type:[String,Boolean],default:"md"},modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{open:this.modelValue,windowWidth:typeof window<"u"?window.innerWidth:0}},computed:{collapsibleClasses(){return{"-open":this.open,"-collapsible":this.collapsible,[`-collapse-${this.collapse}`]:!!this.collapse}},collapsible(){return this.collapse===!0||this.collapse===!1?this.collapse:this.windowWidth<=J[this.collapse][1]}},watch:{modelValue(e){this.open=e}},created(){typeof window<"u"&&(O(window,"resize",this.onWindowResize),this.onWindowResize())},beforeUnmount(){typeof window<"u"&&T(window,"resize",this.onWindowResize)},methods:{setOpen(e){this.open=e,this.$emit("update:modelValue",this.open)},toggleOpen(){this.open=!this.open,this.$emit("update:modelValue",this.open)},onWindowResize(){if(this.collapse===!0||this.collapse===!1||typeof window>"u")return;const e=window.innerWidth;this.windowWidth<=J[this.collapse][1]&&e>J[this.collapse][1]&&this.setOpen(!1),this.windowWidth=window.innerWidth}}}),R=c({inject:{formGroup:{default:()=>({})},form:{default:()=>({})}},computed:{isDisabled(){return this.disabled||this.form.isDisabled||this.formGroup.isDisabled},isReadonly(){return this.readonly||this.form.isReadonly||this.formGroup.isReadonly},parent(){return this.formGroup.$?this.formGroup:this.form},schema(){const e=this.parent.schema||{};return this.name!==""?M(e,`${this.name}`):e}}}),Z=c({props:{tag:{type:String,default:"a"}},computed:{isTag(){return this.$attrs.to?this.routerComponent:this.$attrs.href?"a":this.tag},isComponent(){return this.isTag===this.routerComponent},routerComponent(){return this.$inkline.options.routerComponent}}}),Wt=e=>({name:"offset",options:{offset:[0,e]}}),bt=({offset:e})=>[Wt(e),{name:"arrow",options:{padding:6}},{name:"preventOverflow",options:{padding:8}},{name:"computeStyles",options:{gpuAcceleration:!1,adaptive:!1}}],ee=c({props:{placement:{type:String,default:"auto"},offset:{type:Number,default:6},popperOptions:{type:Object,default:()=>({})}},data:()=>({popperInstance:void 0}),watch:{placement(e){this.popperInstance&&this.popperInstance.setOptions({placement:e})}},beforeUnmount(){this.destroyPopper()},methods:{createPopper(){if(typeof window>"u")return;const e=bt({offset:this.offset});this.popperInstance=At(this.$refs.wrapper,this.$refs.popup,{strategy:"fixed",placement:this.placement,modifiers:e,...this.popperOptions})},destroyPopper(){this.popperInstance&&(this.popperInstance.destroy(),this.popperInstance=void 0)}}}),Ge=c({props:{disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:void 0},trigger:{type:Array,default:()=>["hover","click","focus"]},interactable:{type:Boolean,default:!0},hoverHideDelay:{type:Number,default:300}},emits:["update:modelValue","click-outside"],data(){return{visible:this.modelValue,triggerStack:0,hoverHideTransition:!1}},watch:{modelValue(e){e?this.show():this.hide()}},mounted(){if(!this.$slots.default)throw new Error("Popup components require one child element to be used as trigger.");this.addEventListeners()},beforeUnmount(){this.removeEventListeners()},methods:{show(){this.disabled||this.visible||(this.triggerStack+=1,this.visible=!0,this.createPopper(),this.$emit("update:modelValue",!0))},hide(){!this.disabled&&this.visible&&(this.triggerStack-=1,this.triggerStack<=0&&(this.triggerStack=0,this.visible=!1,this.$emit("update:modelValue",!1)))},hoverShow(){this.hoverHideTransition=!1,this.show()},hoverHide(){this.hoverHideTransition=!0,setTimeout(()=>{this.hoverHideTransition&&this.hide()},this.hoverHideDelay)},onClick(){this.visible?this.hide():this.show()},onClickOutside(e){this.visible&&this.$emit("click-outside",e),this.modelValue||this.hide()},addEventListeners(){[].concat(this.trigger).forEach(e=>{switch(e){case"hover":O(this.$refs.trigger,"mouseenter",this.interactable?this.hoverShow:this.show),O(this.$refs.trigger,"mouseleave",this.interactable?this.hoverHide:this.hide),this.interactable&&(O(this.$refs.popup,"mouseenter",this.hoverShow),O(this.$refs.popup,"mouseleave",this.hoverHide));break;case"click":O(this.$refs.trigger,"click",this.onClick);break;case"focus":for(const t of this.$refs.trigger.children)O(t,"focus",this.show),O(t,"blur",this.hide)}})},removeEventListeners(){[].concat(this.trigger).forEach(e=>{switch(e){case"hover":T(this.$refs.trigger,"mouseenter",this.interactable?this.hoverShow:this.show),T(this.$refs.trigger,"mouseleave",this.interactable?this.hoverHide:this.hide),this.interactable&&(T(this.$refs.popup,"mouseenter",this.hoverShow),T(this.$refs.popup,"mouseleave",this.hoverHide));break;case"click":T(this.$refs.trigger,"click",this.onClick);break;case"focus":for(const t of this.$refs.trigger.children)T(t,"focus",this.show),T(t,"blur",this.hide)}})},focusTrigger(){for(const e of this.$refs.trigger.children)if(ot(e)){e.focus();break}}}}),oe="IAlert",Ut=c({name:oe,inheritAttrs:!1,props:{size:{type:String,default:u(oe,"size"),validator:v},color:{type:String,default:u(oe,"color")},modelValue:{type:Boolean,default:!0},dismissible:{type:Boolean,default:!1},dismissAriaLabel:{type:String,default:"Dismiss"}},emits:["update:modelValue"],data:()=>({dismissed:!1}),computed:{classes(){return{[`-${this.color}`]:!!this.color,[`-${this.size}`]:!!this.size,"-dismissible":this.dismissible,"-with-icon":!!this.$slots.icon}}},watch:{modelValue(e){this.dismissed=!e}},methods:{dismiss(){this.dismissed=!0,this.$emit("update:modelValue",!1)}}}),Ht={key:0,class:"icon",role:"img","aria-hidden":"true"},Qt={class:"content"},Yt=["aria-label"],Jt=p(Ut,[["render",function(e,t,i,a,s,r){return $((l(),o("div",h({class:["alert",e.classes],role:"alert"},e.$attrs),[e.$slots.icon?(l(),o("span",Ht,[d(e.$slots,"icon")])):f("",!0),m("div",Qt,[d(e.$slots,"default")]),e.dismissible?(l(),o("span",{key:1,class:"dismiss",role:"button","aria-label":e.dismissAriaLabel,onClick:t[0]||(t[0]=(...n)=>e.dismiss&&e.dismiss(...n))},[d(e.$slots,"dismiss",{},()=>[t[1]||(t[1]=P("×"))])],8,Yt)):f("",!0)],16)),[[x,!e.dismissed]])}]]),de="IBadge",Xt=p(c({name:de,inheritAttrs:!1,props:{color:{type:String,default:u(de,"color")},size:{type:String,default:u(de,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["badge",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),ue="IBreadcrumb",ei=c({name:ue,inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Breadcrumbs"},color:{type:String,default:u(ue,"color")},size:{type:String,default:u(ue,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),ti=["aria-label"],ii=p(ei,[["render",function(e,t,i,a,s,r){return l(),o("nav",h({class:["breadcrumb",e.classes],"aria-label":e.ariaLabel},e.$attrs),[m("ol",null,[d(e.$slots,"default")])],16,ti)}]]),ai=c({name:"IBreadcrumbItem",mixins:[Z],inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},href:{type:String,default:""},to:{type:[String,Object],default:""},tabindex:{type:[Number,String],default:0}},computed:{classes(){return{"-active":this.active,"-disabled":this.disabled}},tabIndex(){return this.disabled||this.active?-1:this.tabindex}}}),si=["is","href","to","tabindex","aria-current"],ni=p(ai,[["render",function(e,t,i,a,s,r){return l(),o("li",h({class:["breadcrumb-item",e.classes]},e.$attrs),[m("a",{is:e.isTag,href:e.href,to:e.to,tabindex:e.tabIndex,"aria-current":e.active?"location":null},[d(e.$slots,"default",{},void 0,!0)],8,si)],16)}],["__scopeId","data-v-28fa6b16"]]),ce="ILoader",li=c({name:ce,inheritAttrs:!1,props:{color:{type:String,default:u(ce,"color")},size:{type:String,default:u(ce,"size")}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),ri={key:0,class:"loader-text"},yt=p(li,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["loader",e.classes],role:"img","aria-hidden":"true"}),[e.$slots.default?(l(),o("span",ri,[d(e.$slots,"default")])):f("",!0),t[0]||(t[0]=m("svg",{viewBox:"25 25 50 50"},[m("circle",{cx:"50",cy:"50",r:"20",fill:"none","stroke-width":"4","stroke-miterlimit":"10"})],-1))],16)}]]),pe="IButton",vt=p(c({name:pe,components:{ILoader:yt},mixins:[Z],inject:{buttonGroup:{default:()=>({})},form:{default:()=>({})},formGroup:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},block:{type:Boolean,default:!1},circle:{type:Boolean,default:!1},color:{type:String,default:u(pe,"color")},disabled:{type:Boolean,default:!1},link:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},outline:{type:Boolean,default:!1},tag:{type:String,default:"button"},tabindex:{type:[Number,String],default:0},size:{type:String,default:u(pe,"size"),validator:v}},computed:{ariaBusy(){return this.role!=="button"?null:this.loading?"true":"false"},ariaDisabled(){return this.role!=="button"?null:this.disabled?"true":"false"},ariaPressed(){return this.role!=="button"?null:this.active?"true":"false"},classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-active":this.active,"-block":this.block,"-circle":this.circle,"-disabled":this.isDisabled,"-link":this.link,"-outline":this.outline}},isDisabled(){return this.disabled||this.buttonGroup.disabled||this.form.disabled||this.formGroup.disabled},role(){return this.$attrs.to||this.$attrs.href?"link":"button"},tabIndex(){return this.isDisabled?-1:this.tabindex}}}),[["render",function(e,t,i,a,s,r){const n=A("i-loader");return l(),V(Y(e.isTag),h(e.$attrs,{class:["button",e.classes],tag:e.tag,role:e.role,tabindex:e.tabIndex,disabled:e.isDisabled||e.loading,"aria-disabled":e.ariaDisabled,"aria-pressed":e.ariaPressed,"aria-busy":e.ariaBusy,"aria-live":"polite"}),{default:y(()=>[e.loading?d(e.$slots,"loading",{key:0},()=>[I(n)]):f("",!0),e.loading?f("",!0):d(e.$slots,"default",{key:1})]),_:3},16,["tag","role","tabindex","class","disabled","aria-disabled","aria-pressed","aria-busy"])}]]),oi=c({name:"IButtonGroup",inject:{form:{default:()=>({})},buttonGroup:{default:()=>({})},formGroup:{default:()=>({})}},provide(){return{buttonGroup:this}},inheritAttrs:!1,props:{vertical:{type:Boolean,default:!1},block:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},computed:{classes(){return{"-vertical":this.vertical,"-block":this.block,"-disabled":this.isDisabled}},isDisabled(){return this.disabled||this.buttonGroup.disabled||this.form.disabled||this.formGroup.disabled}}}),di=["aria-disabled"],ui=p(oi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["button-group",e.classes],role:"group","aria-disabled":e.isDisabled},e.$attrs),[d(e.$slots,"default")],16,di)}]]),H={};for(const e of je){e!==""&&(H[e]={type:[String,Boolean,Number],default:!1});for(const t of["first","last"])H[`${t}${Re(e)}`]={type:Boolean,default:!1};for(const t of["offset","push","pull"])H[`${t}${Re(e)}`]={type:[String,Number],default:""}}const Ze=p(c({name:"IColumn",inheritAttrs:!1,props:H,computed:{classes(){return Object.keys(H).reduce((e,t)=>(this[t]&&(e[rt(`-${t}`,this[t])]=!0),e),{})}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["column",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),Ke=p(c({name:"IContainer",inheritAttrs:!1,props:{fluid:{type:Boolean,default:!1}},computed:{classes(){return{"-fluid":this.fluid}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["container",e.classes]},e.$attrs),[d(e.$slots,"default")],16)}]]),he="ICard",ci=c({name:he,inheritAttrs:!1,props:{color:{type:String,default:u(he,"color")},size:{type:String,default:u(he,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),pi={key:0,class:"card-header"},hi={key:1,class:"card-body"},mi={key:2,class:"card-footer"},fi=p(ci,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["card",e.classes]},e.$attrs),[e.$slots.header?(l(),o("header",pi,[d(e.$slots,"header")])):f("",!0),d(e.$slots,"image"),e.$slots.default?(l(),o("div",hi,[d(e.$slots,"default")])):f("",!0),e.$slots.footer?(l(),o("footer",mi,[d(e.$slots,"footer")])):f("",!0)],16)}]]),me="ICheckbox",bi=c({name:me,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(me,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:!1},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("checkbox")},native:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(me,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-native":this.native}},checked(){return this.formGroup.checked?this.formGroup.checked.includes(this.value):this.schema?this.schema.value:this.modelValue},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i,a,s;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),(s=(a=this.formGroup).onChange)==null||s.call(a,this.value),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),yi=["aria-checked"],vi=["checked","name","disabled","readonly",".indeterminate"],gi=["aria-checked","aria-disabled","aria-readonly","tabindex"],ki=p(bi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["checkbox",e.classes],"aria-checked":e.checked?"true":"false",role:"checkbox"},e.$attrs),[m("input",{ref:"input",type:"checkbox",checked:e.checked,tabindex:"-1",name:e.name,disabled:e.isDisabled,readonly:e.isReadonly,".indeterminate":e.indeterminate,"aria-hidden":"true",onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,vi),m("label",{class:"checkbox-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n)),onClick:t[2]||(t[2]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,gi)],16,yi)}]]),fe="ICheckboxGroup",$i=c({name:fe,mixins:[R],provide(){return{formGroup:this}},inheritAttrs:!1,props:{color:{type:String,default:u(fe,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},modelValue:{default:()=>[]},name:{type:[String,Number],default:()=>S("checkbox-group")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(fe,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},checked(){return this.schema?this.schema.value:this.modelValue}},methods:{onChange(e){var a,s;const t=[...this.modelValue],i=t.findIndex(r=>r===e);i!==-1?t.splice(i,1):t.push(e),(s=(a=this.parent).onInput)==null||s.call(a,this.name,t),this.$emit("update:modelValue",t)}}}),wi=["name"],Ii=p($i,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["form-group checkbox-group",e.classes],name:e.name,role:"checkboxgroup"},e.$attrs),[d(e.$slots,"default",{},void 0,!0)],16,wi)}],["__scopeId","data-v-4043b2ce"]]),be="ICollapsible",xi=c({name:be,provide(){return{collapsible:this}},inheritAttrs:!1,props:{accordion:{type:Boolean,default:!1},color:{type:String,default:u(be,"color")},size:{type:String,default:u(be,"size"),validator:v},modelValue:{type:Array,default:()=>[]}},emits:["update:modelValue"],data(){return{activeItems:[].concat(this.modelValue)}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},watch:{modelValue(e){this.activeItems=[].concat(e)}},methods:{onItemClick(e){if(this.accordion)return this.activeItems=this.activeItems.indexOf(e.name)>-1?[]:[e.name],this.activeItems;const t=this.activeItems.indexOf(e.name);t>-1?this.activeItems.splice(t,1):this.activeItems.push(e.name),this.$emit("update:modelValue",this.activeItems)}}}),Ci=p(xi,[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:["collapsible",e.classes],role:"tablist","aria-multiselectable":"true"},e.$attrs),[d(e.$slots,"default")],16)}]]),gt=p(c({name:"IExpandTransition",methods:{onEnter(e){const t=q(e,"width");e.style.width=t,e.style.position="absolute",e.style.visibility="hidden",e.style.height="auto";const i=q(e,"height");e.style.width=null,e.style.position=null,e.style.visibility=null,e.style.height=0,q(e,"height"),setTimeout(()=>{e.style.height=i})},onAfterEnter(e){e.style.height="auto"},onLeave(e){e.style.height=q(e,"height"),q(e,"height"),setTimeout(()=>{e.style.height=0})}}}),[["render",function(e,t,i,a,s,r){return l(),V(L,{name:"expand",onEnter:e.onEnter,onAfterEnter:e.onAfterEnter,onLeave:e.onLeave},{default:y(()=>[d(e.$slots,"default",{},void 0,!0)]),_:3},8,["onEnter","onAfterEnter","onLeave"])}],["__scopeId","data-v-1e395af5"]]),Si=c({name:"ICollapsibleItem",components:{IExpandTransition:gt},inject:{collapsible:{default:()=>({activeItems:[]})}},inheritAttrs:!1,props:{name:{type:String,default:()=>S("collapsible-item")},title:{type:String,default:""}},computed:{active(){return this.collapsible.activeItems.indexOf(this.name)>-1},classes(){return{"-active":this.active}}},methods:{onClick(){this.collapsible.onItemClick(this)}}}),Bi=["name"],zi=["id","aria-expanded","aria-controls","aria-describedby"],Ai=["id","aria-hidden","aria-labelledby"],Vi={class:"content"},Oi=p(Si,[["render",function(e,t,i,a,s,r){const n=A("i-expand-transition");return l(),o("div",h({class:["collapsible-item",e.classes],name:e.name},e.$attrs),[m("a",{class:"collapsible-header",role:"tab",id:`collapsible-item-heading-${e.name}`,"aria-expanded":e.active?"true":"false","aria-controls":`collapsible-item-content-${e.name}`,"aria-describedby":`collapsible-item-content-${e.name}`,tabindex:"0",onClick:t[0]||(t[0]=(...b)=>e.onClick&&e.onClick(...b)),onKeydown:[t[1]||(t[1]=E(Q((...b)=>e.onClick&&e.onClick(...b),["prevent"]),["space"])),t[2]||(t[2]=E(Q((...b)=>e.onClick&&e.onClick(...b),["prevent"]),["enter"]))]},[d(e.$slots,"header",{},()=>[P(_(e.title),1)]),t[3]||(t[3]=m("i",{class:"icon"},null,-1))],40,zi),I(n,null,{default:y(()=>[$(m("div",{class:"collapsible-body",role:"tabpanel",id:`collapsible-item-content-${e.name}`,"aria-hidden":e.active?"false":"true","aria-labelledby":`collapsible-item-heading-${e.name}`},[m("div",Vi,[d(e.$slots,"default")])],8,Ai),[[x,e.active]])]),_:3})],16,Bi)}]]),Li=(e,t)=>i=>{(function(a){return!!a&&!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)})(e)&&i.target&&(e===i.target||e.contains(i.target)||t.value(i))},K={beforeMount(e,t){typeof window<"u"&&O(window.document,"mousedown",Li(e,t))}},ye="IDropdown",Di=c({name:ye,directives:{ClickOutside:K},mixins:[ee,Ge],provide(){return{dropdown:this}},inject:{navbar:{default:()=>({onItemClick:()=>{}})},sidebar:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{animationDuration:{type:Number,default:300},color:{type:String,default:u(ye,"color")},disabled:{type:Boolean,default:!1},hideOnItemClick:{type:Boolean,default:!0},keydownTrigger:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},keydownItem:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},modelValue:{type:Boolean,default:!1},arrow:{type:Boolean,default:!0},placement:{type:String,default:"bottom"},trigger:{type:[String,Array],default:()=>["click"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!0},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(ye,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},mounted(){for(const e of this.$refs.trigger.children)O(e,"keydown",this.onTriggerKeyDown);O(this.$refs.popup,"keydown",this.onItemKeyDown)},beforeUnmount(){for(const e of this.$refs.trigger.children)T(e,"keydown",this.onTriggerKeyDown);T(this.$refs.popup,"keydown",this.onItemKeyDown)},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)},getFocusableItems(){const e=[];for(const t of this.$refs.body.children)Fe(t)&&e.push(t);return e},onTriggerKeyDown(e){if(this.keydownTrigger.length===0)return;const t=this.getFocusableItems(),i=t.findIndex(s=>s.active),a=t[i>-1?i:0];switch(!0){case(k("up",e)&&this.keydownTrigger.includes("up")):case(k("down",e)&&this.keydownTrigger.includes("down")):this.show(),setTimeout(()=>{a.focus()},this.visible?0:this.animationDuration),e.preventDefault(),e.stopPropagation();break;case(k("enter",e)&&this.keydownTrigger.includes("enter")):case(k("space",e)&&this.keydownTrigger.includes("space")):this.onClick(),this.visible||setTimeout(()=>{a.focus()},this.animationDuration),e.preventDefault();break;case(k("tab",e)&&this.keydownTrigger.includes("tab")):case(k("esc",e)&&this.keydownTrigger.includes("esc")):this.hide()}},onItemKeyDown(e){if(this.keydownItem.length!==0)switch(!0){case(k("up",e)&&this.keydownItem.includes("up")):case(k("down",e)&&this.keydownItem.includes("down")):const t=this.getFocusableItems(),i=t.findIndex(r=>r===e.target),a=t.length-1;let s;s=k("up",e)?i>0?i-1:0:i{e.onItemClick()})}}}),Ni={class:"dropdown-trigger",ref:"trigger"},Ti=["aria-hidden"],Pi={key:0,"data-popper-arrow":""},Ri={key:1,class:"dropdown-header"},Ei={key:2,class:"dropdown-body",ref:"body"},Mi={key:3,class:"dropdown-footer"},_i=p(Di,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h({class:"dropdown-wrapper",ref:"wrapper","aria-haspopup":"true",onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))},e.$attrs),[m("div",Ni,[d(e.$slots,"default")],512),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:z(["dropdown",e.classes]),role:"menu",ref:"popup","aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",Pi)):f("",!0),e.$slots.header?(l(),o("div",Ri,[d(e.$slots,"header")])):f("",!0),e.$slots.body?(l(),o("div",Ei,[d(e.$slots,"body")],512)):f("",!0),e.$slots.footer?(l(),o("div",Mi,[d(e.$slots,"footer")])):f("",!0)],10,Ti),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16)),[[n,e.onClickOutside]])}]]),Fi=p(c({name:"IDropdownDivider",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("div",h({class:"dropdown-divider",role:"separator"},e.$attrs),null,16)}]]),ji=p(c({name:"IDropdownItem",mixins:[Z],inject:{dropdown:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},plaintext:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{classes(){return{"-active":this.active,"-disabled":this.disabled,"-plaintext":this.plaintext}},role(){return this.$attrs.to||this.$attrs.href?"link":"menuitem"},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(e){var t,i;(i=(t=this.dropdown).onItemClick)==null||i.call(t,this,e)}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["dropdown-item",e.classes],role:e.role,tag:e.tag,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.disabled,"aria-pressed":e.active,onClick:e.onClick}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["class","role","tag","tabindex","disabled","aria-disabled","aria-pressed","onClick"])}]]),Xe="IForm",Gi=c({name:Xe,mixins:[R],provide(){return{form:this}},inheritAttrs:!1,props:{color:{type:String,default:""},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},loading:{type:Boolean,default:!1},name:{type:String,default:()=>S("form")},modelValue:{type:Object,default:()=>null},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Xe,"size"),validator:v}},emits:["update:modelValue","submit"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},schema(){return this.modelValue?this.modelValue:M(this.formGroup.schema||this.form.schema||{},this.name)}},methods:{onBlur(e,t){var i,a;if((a=(i=this.parent).onBlur)==null||a.call(i,this.name?`${this.name}.${e}`:e,t),this.modelValue){let s=U(this.modelValue);s=ne(s,e,{untouched:!1,touched:!0}),this.shouldValidate(e,"blur")&&(s=le(s)),this.$emit("update:modelValue",s)}},onInput(e,t){var i,a;if((a=(i=this.parent).onInput)==null||a.call(i,this.name?`${this.name}.${e}`:e,t),this.modelValue){let s=U(this.modelValue);s=function(r,n,b,B){return M(r,n)[b]=B,r}(s,e,"value",t),s=ne(s,e,{pristine:!1,dirty:!0}),this.shouldValidate(e,"input")&&(s=le(s)),this.$emit("update:modelValue",s)}},onSubmit(e){if(e.preventDefault(),this.modelValue){let t=U(this.modelValue);if(t=ne(le(t),"",{untouched:!1,touched:!0}),this.$emit("update:modelValue",t),t.invalid)return}this.$emit("submit",e)},shouldValidate(e,t){const i=M(this.modelValue,e);return(i.validateOn?[].concat(i.validateOn):this.$inkline.options.validateOn).includes(t)}}}),Zi=["name","readonly","disabled"],Ki=p(Gi,[["render",function(e,t,i,a,s,r){return l(),o("form",h(e.$attrs,{class:["form",e.classes],role:"form",name:e.name,readonly:e.isReadonly,disabled:e.isDisabled,onSubmit:t[0]||(t[0]=(...n)=>e.onSubmit&&e.onSubmit(...n))}),[d(e.$slots,"default",{},void 0,!0)],16,Zi)}],["__scopeId","data-v-575ccba7"]]),ve="IFormGroup",qi=c({name:ve,mixins:[R],provide(){return{formGroup:this}},props:{color:{type:String,default:u(ve,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},name:{type:String,default:""},readonly:{type:Boolean,default:!1},required:{type:Boolean,default:!1},size:{type:String,default:u(ve,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline,"-required":this.required}}},methods:{onBlur(e,t){var i,a;(a=(i=this.parent)==null?void 0:i.onBlur)==null||a.call(i,this.name?`${this.name}.${e}`:e,t)},onInput(e,t){var i,a;(a=(i=this.parent)==null?void 0:i.onInput)==null||a.call(i,this.name?`${this.name}.${e}`:e,t)}}}),Wi=["name"],Ui=p(qi,[["render",function(e,t,i,a,s,r){return l(),o("fieldset",{class:z(["form-group",e.classes]),name:e.name,role:"group"},[d(e.$slots,"default")],10,Wi)}]]),Hi=c({name:"IFormError",inject:{formGroup:{default:()=>({})},form:{default:()=>({})}},props:{for:{type:String,default:""},visible:{type:[Array,String],default:()=>["touched","dirty","invalid"]}},computed:{parent(){return this.formGroup.$?this.formGroup:this.form},schema(){return this.for!==""?M(this.parent.schema||{},`${this.for}`):this.parent.schema||{}},errors(){return this.schema.errors||[]},isVisible(){let e=!0;return this.schema&&this.visible&&[].concat(this.visible).forEach(t=>{e=e&&this.schema[t]}),e}}}),Qi={key:0,class:"form-error","aria-live":"polite"},Yi=p(Hi,[["render",function(e,t,i,a,s,r){return e.schema?$((l(),V(L,{key:0,name:"fade-in-transition"},{default:y(()=>[e.errors.length>0?(l(),o("ul",Qi,[(l(!0),o(j,null,X(e.errors,n=>(l(),o("li",null,_(n.message),1))),256))])):f("",!0)]),_:1},512)),[[x,e.isVisible]]):f("",!0)}]]),et="IFormLabel",Ji=c({name:et,mixins:[R],props:{for:{type:String,default:""},placement:{type:String,default:""},size:{type:String,default:u(et,"size"),validator:v}},computed:{classes(){return{[`-${this.size}`]:!!this.size,[`-${this.placement}`]:!!this.placement}},forAttr(){return this.for}},methods:{getNextSibling(){return this.$el.nextSibling.querySelector("input, textarea")},onClick(){var e;this.for||((e=this.getNextSibling())==null||e.focus())}}}),Xi=["for"],ea=p(Ji,[["render",function(e,t,i,a,s,r){return l(),o("label",h(e.$attrs,{class:["form-label",e.classes],for:e.forAttr,onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),[d(e.$slots,"default")],16,Xi)}]]),tt="IHamburgerMenu",kt=p(c({name:tt,inheritAttrs:!1,props:{animation:{type:String,default:"close"},color:{type:String,default:u(tt,"color")},modelValue:{type:Boolean,default:!1}},emits:["update:modelValue"],computed:{classes(){return{...g(this),"-active":this.modelValue,[`-${this.animation}`]:!0}}},methods:{onClick(){this.$emit("update:modelValue",!this.modelValue)}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["hamburger-menu",e.classes],onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),t[1]||(t[1]=[m("span",{class:"hamburger-menu-bars"},null,-1)]),16)}]]),Me={};for(const e of je)for(const t of["start","center","end","top","middle","bottom","around","between","reverse"])Me[`${t}${Re(e)}`]={type:Boolean,default:!1};const qe=p(c({name:"IRow",inheritAttrs:!1,props:{noGutter:{type:Boolean,default:!1},noCollapse:{type:Boolean,default:!1},...Me},computed:{classes(){const e=Object.keys(Me).reduce((t,i)=>(this[i]&&(t[rt(`-${i}`,this[i])]=!0),t),{});return{"-no-gutter":this.noGutter,"-no-collapse":this.noCollapse,...e}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["row",e.classes]}),[d(e.$slots,"default")],16)}]]),ge="IHeader",ta=p(c({name:ge,components:{IContainer:Ke,IRow:qe,IColumn:Ze},inheritAttrs:!1,props:{color:{type:String,default:u(ge,"color")},cover:{type:Boolean,default:!1},fluid:{type:Boolean,default:!1},fullscreen:{type:Boolean,default:!1},size:{type:String,default:u(ge,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-cover":this.cover,"-fullscreen":this.fullscreen}}}}),[["render",function(e,t,i,a,s,r){const n=A("i-column"),b=A("i-row"),B=A("i-container");return l(),o("header",h(e.$attrs,{class:["header",e.classes]}),[I(B,{fluid:e.fluid},{default:y(()=>[I(b,null,{default:y(()=>[I(n,null,{default:y(()=>[d(e.$slots,"default")]),_:3})]),_:3})]),_:3},8,["fluid"])],16)}]]),it="IIcon",$t=p(c({name:it,inheritAttrs:!1,props:{name:{type:String,default:""},size:{type:String,default:u(it,"size"),validator:v}},setup(e){const t=Ot("inklineIcons"),i=se(()=>function(r,n="dash"){const b=n==="dash"?/-([a-z0-9])/g:/_([a-z0-9])/g;return r.replace(b,(B,F)=>F.toUpperCase())}(e.name)),a=se(()=>t[i.value]),s=se(()=>({"inkline-icon":!0,[`-${e.size}`]:!!e.size}));return Vt(()=>{i.value&&t[i.value]}),()=>{var r,n;return nt("svg",{class:s.value,...(r=a.value)==null?void 0:r.attributes},ct(((n=a.value)==null?void 0:n.children)||[]))}}}),[["render",function(e,t,i,a,s,r){const n=A("icon");return l(),V(n,h(e.$attrs,{size:e.size}),null,16,["size"])}]]),ke="IInput",ia=c({name:ke,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(ke,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},error:{type:[Array,Boolean],default:()=>["touched","dirty","invalid"]},id:{type:String,default:void 0},modelValue:{type:[String,Number],default:""},name:{type:[String,Number],default:()=>S("input")},plaintext:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(ke,"size"),validator:v},tabindex:{type:[Number,String],default:0},type:{type:String,default:"text"},clearAriaLabel:{type:String,default:"Clear"}},emits:["update:modelValue","clear"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-error":this.hasError,"-readonly":this.isReadonly,"-prefixed":!!this.$slots.prefix,"-suffixed":!!this.$slots.suffix,"-prepended":!!this.$slots.prepend,"-appended":!!this.$slots.append}},hasError(){if(typeof this.error=="boolean")return this.error;if(this.schema&&this.error){let e=!0;return[].concat(this.error).forEach(t=>{e=e&&this.schema[t]}),e}return!1},tabIndex(){return this.isDisabled?-1:this.tabindex},isClearable(){return this.clearable&&!this.isDisabled&&!this.isReadonly&&this.value!==""},value(){return this.schema?this.schema.value:this.modelValue}},methods:{onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)},onInput(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.value),this.$emit("update:modelValue",e.target.value)},onClear(e){this.$emit("update:modelValue",""),this.$emit("clear",e)},focus(){this.$refs.input.focus()}}}),aa={key:0,class:"input-prepend"},sa={class:"input"},na={key:0,class:"input-prefix"},la=["value","name","id","type","tabindex","disabled","aria-disabled","readonly","aria-readonly"],ra={key:1,class:"input-suffix"},oa=["aria-label","aria-hidden"],da={key:1,class:"input-append"},te=p(ia,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["input-wrapper",e.classes])},[e.$slots.prepend?(l(),o("div",aa,[d(e.$slots,"prepend")])):f("",!0),m("div",sa,[e.$slots.prefix?(l(),o("span",na,[d(e.$slots,"prefix")])):f("",!0),m("input",h(e.$attrs,{value:e.value,ref:"input",name:e.name,id:e.id,type:e.type,tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly||e.plaintext,"aria-readonly":!(!e.isReadonly&&!e.plaintext)&&"true",onInput:t[0]||(t[0]=(...n)=>e.onInput&&e.onInput(...n)),onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n))}),null,16,la),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",ra,[d(e.$slots,"clearable",{clear:e.onClear},()=>[e.clearable?$((l(),o("i",{key:0,class:"input-clear",role:"button","aria-label":e.clearAriaLabel,"aria-hidden":e.isClearable?"false":"true",onClick:t[2]||(t[2]=(...n)=>e.onClear&&e.onClear(...n))},null,8,oa)),[[x,e.isClearable]]):f("",!0)]),d(e.$slots,"suffix")])):f("",!0)]),e.$slots.append?(l(),o("div",da,[d(e.$slots,"append")])):f("",!0)],2)}]]),$e="INumberInput",ua=c({name:$e,components:{IButton:vt},extends:te,inheritAttrs:!1,props:{color:{type:String,default:u($e,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{type:String,default:""},modelValue:{type:[String,Number],default:""},name:{type:[String,Number],default:()=>S("input")},readonly:{type:Boolean,default:!1},size:{type:String,default:u($e,"size"),validator:v},tabindex:{type:[Number,String],default:0},min:{type:[Number,String],default:-1/0},max:{type:[Number,String],default:1/0},precision:{type:Number,default:0},step:{type:Number,default:1}},emits:["update:modelValue"],watch:{modelValue:{immediate:!0,handler(e){var i,a;let t=(e||"").toString().replace(/^[^0-9-]/,"").replace(/^(-)[^0-9]/,"$1").replace(new RegExp(`^(-?[0-9]+)[^0-9${this.precision>0?".":""}]`),"$1");this.precision>0&&(t=t.replace(/^(-?[0-9]+\.)[^0-9]/,"$1").replace(new RegExp(`^(-?[0-9]+\\.[0-9]{0,${this.precision}}).*`),"$1")),parseFloat(t)>=parseFloat(this.max)&&(t=this.max.toString()),parseFloat(t)<=parseFloat(this.min)&&(t=this.min.toString()),(a=(i=this.parent).onInput)==null||a.call(i,this.name,t),this.$emit("update:modelValue",t)}}},methods:{decrease(){this.$emit("update:modelValue",this.formatPrecision((Number(this.modelValue)-this.step).toString()))},increase(){this.$emit("update:modelValue",this.formatPrecision((Number(this.modelValue)+this.step).toString()))},formatPrecision(e){const t=e.split(".");let i=t[1]||"";for(let a=i.length;a0?`${t[0]}.${i}`:t[0]},onBlurFormatPrecision(e){var t,i;this.$emit("update:modelValue",this.formatPrecision(Number(this.modelValue).toString())),(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),ca={class:"input-prepend"},pa={class:"input"},ha={key:0,class:"input-prefix"},ma=["value","name","id","tabindex","disabled","aria-disabled","readonly","aria-readonly"],fa={key:1,class:"input-suffix"},ba=["aria-label","aria-hidden"],ya={class:"input-append"},va=p(ua,[["render",function(e,t,i,a,s,r){const n=A("i-button");return l(),o("div",{class:z(["input-wrapper -prepended -appended",e.classes])},[m("div",ca,[d(e.$slots,"prepend"),I(n,{type:"button",color:e.color,size:e.size,disabled:e.disabled,class:"input-button-decrease",onClick:e.decrease},{default:y(()=>t[3]||(t[3]=[P(" - ")])),_:1},8,["color","size","disabled","onClick"])]),m("div",pa,[e.$slots.prefix?(l(),o("span",ha,[d(e.$slots,"prefix")])):f("",!0),m("input",h(e.$attrs,{value:e.value,ref:"input",name:e.name,id:e.id,type:"text",tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly,"aria-readonly":!!e.isReadonly&&"true",onInput:t[0]||(t[0]=(...b)=>e.onInput&&e.onInput(...b)),onBlur:t[1]||(t[1]=(...b)=>e.onBlur&&e.onBlur(...b))}),null,16,ma),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",fa,[d(e.$slots,"clearable",{clear:e.onClear},()=>[e.clearable?$((l(),o("i",{key:0,class:"input-clear",role:"button","aria-label":e.clearAriaLabel,"aria-hidden":e.isClearable?"false":"true",onClick:t[2]||(t[2]=(...b)=>e.onClear&&e.onClear(...b))},null,8,ba)),[[x,e.isClearable]]):f("",!0)]),d(e.$slots,"suffix")])):f("",!0)]),m("div",ya,[I(n,{type:"button",color:e.color,size:e.size,disabled:e.disabled,class:"input-button-increase",onClick:e.increase},{default:y(()=>t[4]||(t[4]=[P(" + ")])),_:1},8,["color","size","disabled","onClick"]),d(e.$slots,"append")])],2)}]]),we="ITextarea",ga=c({name:we,extends:te,inheritAttrs:!1,props:{color:{type:String,default:u(we,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},id:{type:String,default:""},modelValue:{type:String,default:""},name:{type:[String,Number],default:()=>S("textarea")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(we,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"]}),ka={key:0,class:"input-prepend"},$a={class:"input"},wa={key:0,class:"input-prefix"},Ia=["value","name","id","tabindex","disabled","aria-disabled","readonly","aria-readonly"],xa={key:1,class:"input-suffix"},Ca={key:1,class:"input-append"},Sa=p(ga,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["input-wrapper",e.classes])},[e.$slots.prepend?(l(),o("div",ka,[d(e.$slots,"prepend")])):f("",!0),m("div",$a,[e.$slots.prefix?(l(),o("span",wa,[d(e.$slots,"prefix")])):f("",!0),m("textarea",h(e.$attrs,{value:e.value,ref:"input",role:"textbox",name:e.name,id:e.id,tabindex:e.tabIndex,disabled:e.isDisabled,"aria-disabled":!!e.isDisabled&&"true",readonly:e.isReadonly,"aria-readonly":!!e.isReadonly&&"true","aria-multiline":"true",onInput:t[0]||(t[0]=(...n)=>e.onInput&&e.onInput(...n)),onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n))}),null,16,Ia),e.$slots.suffix||e.clearable&&e.isClearable?(l(),o("span",xa,[d(e.$slots,"clearable",{clear:e.onClear},()=>[$(m("i",{class:"input-clear","aria-label":"Clear",onClick:t[2]||(t[2]=(...n)=>e.onClear&&e.onClear(...n))},null,512),[[x,e.isClearable]])]),d(e.$slots,"suffix")])):f("",!0)]),e.$slots.append?(l(),o("div",Ca,[d(e.$slots,"append")])):f("",!0)],2)}]]),Ba=p(c({name:"ILayout",inheritAttrs:!1,props:{vertical:{type:Boolean,default:!1}},computed:{classes(){return{"-vertical":this.vertical}}}}),[["render",function(e,t,i,a,s,r){return l(),o("main",h(e.$attrs,{class:["layout",e.classes]}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-9a9f03c1"]]),za=c({name:"ILayoutAside",inheritAttrs:!1}),Aa={class:"layout-aside-children"},Va=p(za,[["render",function(e,t,i,a,s,r){return l(),o("aside",h(e.$attrs,{class:"layout-aside"}),[m("div",Aa,[d(e.$slots,"default",{},void 0,!0)])],16)}],["__scopeId","data-v-6e13c28d"]]),Oa=p(c({name:"ILayoutContent",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("section",h(e.$attrs,{class:"layout-content"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-5b197a5d"]]),La=p(c({name:"ILayoutFooter",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("footer",h(e.$attrs,{class:"layout-footer"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-31bd8dbc"]]),Da=p(c({name:"ILayoutHeader",inheritAttrs:!1}),[["render",function(e,t,i,a,s,r){return l(),o("header",h(e.$attrs,{class:"layout-header"}),[d(e.$slots,"default",{},void 0,!0)],16)}],["__scopeId","data-v-ece9ef9b"]]),Ie="IListGroup",Na=p(c({name:Ie,inheritAttrs:!1,props:{border:{type:Boolean,default:!0},color:{type:String,default:u(Ie,"color")},size:{type:String,default:u(Ie,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-border":this.border}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["list-group",e.classes],role:"list"}),[d(e.$slots,"default")],16)}]]),Ta=p(c({name:"IListGroupItem",mixins:[Z],inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{ariaDisabled(){return this.role==="link"?null:this.disabled?"true":"false"},classes(){return{"-active":this.active,"-disabled":this.disabled}},role(){return this.$attrs.to||this.$attrs.href?"link":"listitem"},tabIndex(){return this.disabled?-1:this.tabindex}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["list-group-item",e.classes],tag:e.tag,role:e.role,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.ariaDisabled}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["tag","role","tabindex","class","disabled","aria-disabled"])}]]),Pa=function(e){const t={};return(...i)=>{const a=JSON.stringify(i);return a in t||(t[a]=e(...i)),t[a]}}(function(e,t){if(!t)return[{text:e}];const i=[],a=e.toLowerCase(),s=t.toLowerCase();let r=0,n=0;for(;n=0;n=B?b:e.length,n&&(i.push({text:e.substring(r,n)}),r=n),B&&(n+=t.length,i.push({text:e.substring(r,n),marked:!0}),r=n)}return i}),Ra=c({name:"IMark",inheritAttrs:!1,props:{text:{type:String,default:""},query:{type:String,default:""}},computed:{parts(){return Pa(this.text,this.query)}}}),Ea={key:0},wt=p(Ra,[["render",function(e,t,i,a,s,r){return l(),o("span",Lt(Dt(e.$attrs)),[(l(!0),o(j,null,X(e.parts,({text:n,marked:b})=>(l(),o(j,null,[b?(l(),o("mark",Ea,_(n),1)):(l(),o(j,{key:1},[P(_(n),1)],64))],64))),256))],16)}]]),Ma=c({name:"IMedia",inheritAttrs:!1}),_a={class:"media-body"},Fa=p(Ma,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:"media"}),[d(e.$slots,"image"),m("div",_a,[d(e.$slots,"default")])],16)}]]),C={instances:{},stack:[],zIndex:1050,register(e){e&&e.name&&(C.instances[e.name]=e)},unregister(e){e&&e.name&&(C.instances[e.name]=null,delete C.instances[e.name])},open(e){typeof window<"u"&&(C.stack.push(e),C.instances[e].$el.style.zIndex=C.zIndex++)},close(e){typeof window<"u"&&C.stack.splice(C.stack.indexOf(e),1)},getTopOverlay(){const e=C.stack.slice(-1)[0]||"";return C.instances[e]},onPressEscape(){const e=C.getTopOverlay();e&&e.closeOnPressEscape&&e.hide()}};typeof window<"u"&&window.addEventListener("keydown",e=>{k("esc",e)&&C.onPressEscape()});const xe="IModal",ja=c({name:xe,directives:{ClickOutside:K},inheritAttrs:!1,props:{closeOnPressEscape:{type:Boolean,default:!0},closeAriaLabel:{type:String,default:"Close"},color:{type:String,default:u(xe,"color")},disabled:{type:Boolean,default:!1},hideOnClickOutside:{type:Boolean,default:!0},name:{type:String,default:()=>S("modal")},showClose:{type:Boolean,default:!0},size:{type:String,default:u(xe,"size"),validator:v},modelValue:{type:Boolean,default:!1},transition:{type:String,default:"zoom-in-center-transition"}},emits:["update:modelValue"],data(){return{visible:this.modelValue}},computed:{classes(){return{"-disabled":this.disabled,...g(this),[`-${this.size}`]:!!this.size}}},watch:{modelValue(e){e?this.show():this.hide()}},mounted(){C.register(this)},unmounted(){C.unregister(this)},methods:{show(){this.disabled||(this.visible=!0,this.$emit("update:modelValue",!0),C.open(this.name),typeof window<"u"&&_e(window.document.body,"-modal"))},hide(){this.disabled||(this.visible=!1,this.$emit("update:modelValue",!1),C.close(this.name),typeof window<"u"&&pt(window.document.body,"-modal"))},onClickOutside(){this.hideOnClickOutside&&this.hide()}}}),Ga=["aria-hidden","id","name","aria-labelledby"],Za={class:"modal"},Ka=["id"],qa=["aria-label"],Wa={key:1,class:"modal-body"},Ua={key:2,class:"modal-footer"},Ha=p(ja,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return l(),V(L,{name:"fade-in-transition"},{default:y(()=>[$(m("div",h(e.$attrs,{class:["modal-wrapper",e.classes],role:"dialog","aria-modal":"true","aria-hidden":e.visible?"false":"true",id:e.name,name:e.name,"aria-labelledby":`${e.name}-header`}),[I(L,{name:e.transition},{default:y(()=>[$((l(),o("div",Za,[e.$slots.header?(l(),o("div",{key:0,class:"modal-header",id:`${e.name}-header`},[d(e.$slots,"header"),e.showClose?(l(),o("button",{key:0,class:"close","aria-hidden":"true","aria-label":e.closeAriaLabel,onClick:t[0]||(t[0]=(...b)=>e.hide&&e.hide(...b))},[d(e.$slots,"close",{},()=>[t[1]||(t[1]=m("i",{class:"icon"},null,-1))])],8,qa)):f("",!0)],8,Ka)):f("",!0),e.$slots.default?(l(),o("div",Wa,[d(e.$slots,"default")])):f("",!0),e.$slots.footer?(l(),o("div",Ua,[d(e.$slots,"footer")])):f("",!0)])),[[n,e.onClickOutside],[x,e.visible]])]),_:3},8,["name"])],16,Ga),[[x,e.visible]])]),_:3})}]]),Ce="INav",Qa=p(c({name:Ce,provide(){return{nav:this}},inject:{navbar:{default:()=>({onItemClick:()=>{}})},sidebar:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{color:{type:String,default:u(Ce,"color")},size:{type:String,default:u(Ce,"size"),validator:v},vertical:{type:Boolean,default:!1}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-vertical":this.vertical}}},methods:{onItemClick(){[this.navbar,this.sidebar].forEach(e=>{e.onItemClick()})}}}),[["render",function(e,t,i,a,s,r){return l(),o("nav",h(e.$attrs,{class:["nav",e.classes],role:"menubar"}),[d(e.$slots,"default")],16)}]]),Ya=p(c({name:"INavItem",mixins:[Z],inject:{nav:{default:()=>({onItemClick:()=>{}})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},stopPropagation:{type:Boolean,default:!1},tag:{type:String,default:"div"},tabindex:{type:[Number,String],default:0}},computed:{ariaDisabled(){return this.role==="link"?null:this.disabled?"true":"false"},classes(){return{"-active":this.active,"-disabled":this.disabled}},role(){return this.$attrs.to||this.$attrs.href?"link":"menuitem"},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(e){this.stopPropagation||this.nav.onItemClick(this,e)}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:["nav-item",e.classes],role:e.role,tag:e.tag,tabindex:e.tabIndex,disabled:e.disabled,"aria-disabled":e.ariaDisabled,onClick:e.onClick}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["role","tag","tabindex","class","disabled","aria-disabled","onClick"])}]]),Se="INavbar",Ja=p(c({name:Se,components:{IContainer:Ke,IRow:qe,IColumn:Ze,IHamburgerMenu:kt},directives:{ClickOutside:K},mixins:[ft],provide(){return{navbar:this}},inheritAttrs:!1,props:{collapseOnItemClick:{type:Boolean,default:!0},collapseOnClickOutside:{type:Boolean,default:!0},color:{type:String,default:u(Se,"color")},fluid:{type:Boolean,default:!1},size:{type:String,default:u(Se,"size"),validator:v},menuAnimation:{type:String,default:"close"}},emits:["update:modelValue"],computed:{classes(){return{...this.collapsibleClasses,...g(this),[`-${this.size}`]:!!this.size}}},methods:{onItemClick(){this.collapseOnItemClick&&this.open&&this.setOpen(!1)},onClickOutside(){this.collapseOnClickOutside&&this.open&&this.setOpen(!1)}}}),[["render",function(e,t,i,a,s,r){const n=A("i-hamburger-menu"),b=A("i-column"),B=A("i-row"),F=A("i-container"),w=G("click-outside");return $((l(),o("nav",h(e.$attrs,{class:["navbar",e.classes]}),[I(F,{fluid:e.fluid},{default:y(()=>[I(B,null,{default:y(()=>[I(b,null,{default:y(()=>[I(n,{class:"collapse-toggle",animation:e.menuAnimation,color:e.color,modelValue:e.open,"onUpdate:modelValue":e.toggleOpen},null,8,["animation","color","modelValue","onUpdate:modelValue"]),d(e.$slots,"default")]),_:3})]),_:3})]),_:3},8,["fluid"])],16)),[[w,e.onClickOutside]])}]]),Xa=p(c({name:"INavbarBrand",mixins:[Z],inheritAttrs:!1,props:{tag:{type:String,default:"div"}}}),[["render",function(e,t,i,a,s,r){return l(),V(Y(e.isTag),h(e.$attrs,{class:"navbar-brand",tag:e.tag,translate:"no"}),{default:y(()=>[d(e.$slots,"default")]),_:3},16,["tag"])}]]),es=c({name:"INavbarCollapsible",components:{IExpandTransition:gt},inject:{navbar:{default:()=>({})}},inheritAttrs:!1,computed:{visible(){const e=typeof window>"u";return this.navbar.open||!this.navbar.collapsible||e}}}),ts=["aria-hidden","aria-expanded"],is=p(es,[["render",function(e,t,i,a,s,r){const n=A("i-expand-transition");return l(),V(n,null,{default:y(()=>[$(m("div",h(e.$attrs,{class:"navbar-collapsible","aria-hidden":e.visible?"false":"true","aria-expanded":e.visible?"true":"false"}),[d(e.$slots,"default")],16,ts),[[x,e.visible]])]),_:3})}]]),Be="IPagination",as=c({name:Be,inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Pagination"},color:{type:String,default:u(Be,"color")},itemsPerPage:{type:Number,default:20},itemsTotal:{type:Number,default:0},limit:{type:[Number,Object],default:()=>({xs:3,sm:5})},quickLink:{type:Boolean,default:!1},modelValue:{type:Number,default:1},size:{type:String,default:u(Be,"size"),validator:v}},emits:["update:modelValue"],data:()=>({pageLimit:5}),computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}},pageCount(){return Math.ceil(this.itemsTotal/this.itemsPerPage)},showQuickPrevious(){return this.pageCount>this.pageLimit&&this.modelValue>this.pageLimit-(this.pageLimit-1)/2},showQuickNext(){return this.pageCount>this.pageLimit&&this.modelValuee.apply(s,a),t)}}(this.onWindowResize,250),typeof window<"u"&&(window.addEventListener("resize",this.debouncedOnWindowResize),this.onWindowResize())},unmounted(){typeof window<"u"&&window.removeEventListener("resize",this.debouncedOnWindowResize)},methods:{next(){this.modelValue!==this.pageCount&&this.onClick(this.modelValue+1)},quickNext(){if(!this.quickLink)return;const e=this.modelValue+(this.pageLimit-2);this.onClick(e>this.pageCount?this.pageCount:e)},previous(){this.modelValue!==1&&this.onClick(this.modelValue-1)},quickPrevious(){if(!this.quickLink)return;const e=this.modelValue-(this.pageLimit-2);this.onClick(e<1?1:e)},onClick(e){this.$emit("update:modelValue",e)},onWindowResize(){if(typeof this.limit=="number")return this.pageLimit=this.limit,this.pageLimit;for(const e of je.slice().reverse())if(this.limit.hasOwnProperty(e)&&typeof window<"u"&&window.innerWidth>=J[e][0])return this.pageLimit=this.limit[e],this.pageLimit}}}),ss=["aria-label"],ns={class:"pagination-items"},ls={"aria-hidden":"true"},rs=["aria-current","onClick"],os={"aria-hidden":"true"},ds=p(as,[["render",function(e,t,i,a,s,r){return l(),o("nav",h(e.$attrs,{class:["pagination",e.classes],role:"navigation","aria-label":e.ariaLabel}),[m("ul",ns,[e.pageCount>0?(l(),o("li",{key:0,class:z(["pagination-item -previous",{"-disabled":e.modelValue===1}]),onClick:t[0]||(t[0]=(...n)=>e.previous&&e.previous(...n))},[m("span",ls,[d(e.$slots,"previous",{},()=>[t[6]||(t[6]=P("<"))])])],2)):f("",!0),e.pageCount>0?(l(),o("li",{key:1,class:z(["pagination-item -first",{"-active":e.modelValue===1}]),onClick:t[1]||(t[1]=n=>e.onClick(1))}," 1 ",2)):f("",!0),e.showQuickPrevious?(l(),o("li",{key:2,class:z(["pagination-item -quick-previous",{"-disabled":!e.quickLink}]),onClick:t[2]||(t[2]=(...n)=>e.quickPrevious&&e.quickPrevious(...n))}," … ",2)):f("",!0),(l(!0),o(j,null,X(e.pages,n=>(l(),o("li",{class:z(["pagination-item",{"-active":e.modelValue===n}]),"aria-current":e.modelValue===n&&"page",onClick:b=>e.onClick(n)},_(n),11,rs))),256)),e.showQuickNext?(l(),o("li",{key:3,class:z(["pagination-item -quick-next",{"-disabled":!e.quickLink}]),onClick:t[3]||(t[3]=(...n)=>e.quickNext&&e.quickNext(...n))}," … ",2)):f("",!0),e.pageCount>1?(l(),o("li",{key:4,class:z(["pagination-item -last",{"-active":e.modelValue===e.pageCount}]),onClick:t[4]||(t[4]=n=>e.onClick(e.pageCount))},_(e.pageCount),3)):f("",!0),e.pageCount>0?(l(),o("li",{key:5,class:z(["pagination-item -next",{"-disabled":e.modelValue===e.pageCount}]),onClick:t[5]||(t[5]=(...n)=>e.next&&e.next(...n))},[m("span",os,[d(e.$slots,"next",{},()=>[t[7]||(t[7]=P(">"))])])],2)):f("",!0)])],16,ss)}]]),ze="IPopover",us=c({name:ze,directives:{ClickOutside:K},mixins:[ee,Ge],inheritAttrs:!1,props:{color:{type:String,default:u(ze,"color")},disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},name:{type:String,default:()=>S("popover")},arrow:{type:Boolean,default:!0},placement:{type:String,default:"top"},trigger:{type:[String,Array],default:()=>["click"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!1},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(ze,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)}}}),cs=["id"],ps=["aria-describedby","aria-disabled","aria-expanded"],hs=["id","aria-hidden"],ms={key:0,"data-popper-arrow":""},fs={key:1,class:"popover-header"},bs={key:2,class:"popover-body"},ys={key:3,class:"popover-footer"},vs=p(us,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["popover-wrapper",e.classes],ref:"wrapper",id:e.name,onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))}),[m("div",{class:"popover-trigger",ref:"trigger","aria-describedby":`${e.name}-popup`,"aria-disabled":e.disabled?"true":"false","aria-expanded":e.visible?"true":"false"},[d(e.$slots,"default")],8,ps),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:"popover",ref:"popup",role:"tooltip","aria-live":"polite",id:`${e.name}-popup`,"aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",ms)):f("",!0),e.$slots.header?(l(),o("div",fs,[d(e.$slots,"header")])):f("",!0),e.$slots.body?(l(),o("div",bs,[d(e.$slots,"body")])):f("",!0),e.$slots.footer?(l(),o("div",ys,[d(e.$slots,"footer")])):f("",!0)],8,hs),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,cs)),[[n,e.onClickOutside]])}]]),Ae="IProgress",gs=p(c({name:Ae,provide(){return{progress:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Ae,"color")},min:{type:[String,Number],default:0},max:{type:[String,Number],default:100},size:{type:String,default:u(Ae,"size"),validator:v}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}}}),[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["progress",e.classes]}),[d(e.$slots,"default")],16)}]]),at="IProgressBar",ks=c({name:at,inject:{progress:{default:()=>({min:0,max:100})}},inheritAttrs:!1,props:{color:{type:String,default:u(at,"color","primary")},value:{type:[String,Number],default:0}},computed:{computedValue(){const e=typeof this.min=="string"?parseFloat(this.min):this.min;return 100*((typeof this.value=="string"?parseFloat(this.value.replace("%","")):this.value)-e)/((typeof this.max=="string"?parseFloat(this.max):this.max)-e)},min(){return this.progress.min},max(){return this.progress.max},style(){return{width:`${this.computedValue}%`}},classes(){return{...g(this)}}}}),$s=["aria-valuemin","aria-valuemax","aria-valuenow"],ws=p(ks,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["progress-bar",e.classes],style:e.style,role:"progressbar","aria-valuemin":e.min,"aria-valuemax":e.max,"aria-valuenow":e.computedValue}),[d(e.$slots,"default")],16,$s)}]]),Ve="IRadio",Is=c({name:Ve,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(Ve,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:""},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("radio")},native:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Ve,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-native":this.native}},checked(){return this.formGroup.checked===this.value},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i,a,s;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),(s=(a=this.formGroup).onChange)==null||s.call(a,this.value),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),xs=["checked","name","disabled","readonly",".indeterminate"],Cs=["aria-checked","aria-disabled","aria-readonly","tabindex"],Ss=p(Is,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["radio",e.classes],role:"radio"}),[m("input",{checked:e.checked,ref:"input",type:"radio",tabindex:"-1",name:e.name,disabled:e.isDisabled,readonly:e.isReadonly,".indeterminate":e.indeterminate,onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,xs),m("label",{class:"radio-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onBlur:t[1]||(t[1]=(...n)=>e.onBlur&&e.onBlur(...n)),onClick:t[2]||(t[2]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,Cs)],16)}]]),Oe="IRadioGroup",Bs=c({name:Oe,mixins:[R],provide(){return{formGroup:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Oe,"color")},disabled:{type:Boolean,default:!1},inline:{type:Boolean,default:!1},modelValue:{default:""},name:{type:[String,Number],default:()=>S("radio-group")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Oe,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly,"-inline":this.inline}},checked(){return this.schema?this.schema.value:this.modelValue}},methods:{onChange(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e),this.$emit("update:modelValue",e)}}}),zs=["name"],As=p(Bs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["form-group radio-group",e.classes],name:e.name,role:"radiogroup"}),[d(e.$slots,"default",{},void 0,!0)],16,zs)}],["__scopeId","data-v-fa4fe77a"]]),Vs=c({name:"ISelectOption",inject:{select:{default:()=>({})}},inheritAttrs:!1,props:{active:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},label:{type:String,default:""},tabindex:{type:[Number,String],default:0},value:{type:[Object,String,Number],default:()=>({})}},computed:{ariaDisabled(){return this.disabled?"true":"false"},ariaSelected(){return this.active?"true":"false"},isActive(){return this.active||this.value===this.select.modelValue},classes(){return{"-active":this.isActive,"-disabled":this.disabled}},tabIndex(){return this.disabled?-1:this.tabindex}},methods:{onClick(){this.disabled||this.select.onInput(this.value,this.label)}}}),Os=["tabindex","aria-disabled","aria-selected"],It=p(Vs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["select-option",e.classes],role:"option",tabindex:e.tabIndex,"aria-disabled":e.ariaDisabled,"aria-selected":e.ariaSelected,onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))}),[d(e.$slots,"default",{},()=>[P(_(e.label),1)])],16,Os)}]]),Le="ISelect",Ls=c({name:Le,directives:{ClickOutside:K},components:{IInput:te,IIcon:$t,ISelectOption:It,IMark:wt},mixins:[R,ee],provide(){return{select:this}},props:{animationDuration:{type:Number,default:300},autocomplete:{type:Boolean,default:!1},arrow:{type:Boolean,default:!0},color:{type:String,default:u(Le,"color")},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},idField:{type:String,default:"id"},keydownTrigger:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},keydownItem:{type:Array,default:()=>["up","down","enter","space","tab","esc"]},label:{type:[String,Function],default:"label"},loading:{type:Boolean,default:!1},modelValue:{type:[Object,String,Number],default:null},minLength:{type:Number,default:0},name:{type:[String,Number],default:()=>S("select")},options:{type:Array,default:()=>[]},placeholder:{type:String,default:""},offset:{type:Number,default:6},placement:{type:String,default:"bottom"},popperOptions:{type:Object,default:()=>({modifiers:[...bt({offset:8}),{name:"sameWidth",enabled:!0,phase:"beforeWrite",requires:["computeStyles"],fn:({state:e})=>{e.styles.popper.width=`${e.rects.reference.width}px`},effect({state:e}){e.elements.popper.style.width=`${e.elements.reference.offsetWidth}px`}}]})},readonly:{type:Boolean,default:!1},scrollTolerance:{type:Number,default:160},selectFirstOptionOnEnter:{type:Boolean,default:!0},size:{type:String,default:u(Le,"size"),validator:v},tabindex:{type:[Number,String],default:0},type:{type:String,default:"text"},total:{type:Number,default:void 0}},emits:["update:modelValue","search","pagination"],data(){return{animating:!1,visible:!1,inputValue:this.computeLabel(this.modelValue)||""}},computed:{wrapperClasses(){return{...g(this),[`-${this.size}`]:!!this.size}},popupClasses(){return{"-disabled":this.isDisabled,"-readonly":this.isReadonly}},tabIndex(){return this.isDisabled?-1:this.tabindex},isClearable(){return this.value&&this.clearable&&!this.isDisabled&&!this.isReadonly},value(){return this.schema?this.schema.value:this.modelValue},inputPlaceholder(){return this.value?this.computeLabel(this.value):this.placeholder}},watch:{value(e){this.inputValue=this.computeLabel(e)},inputValue(e){const t=this.inputMatchesLength(e),i=this.inputMatchesLabel(e);!t||i||this.animating||this.show(),this.$emit("search",this.inputValue)},options(){this.visible&&this.createPopper()}},methods:{onInput(e,t){var i,a;e.disabled||(this.hide(),t&&(this.inputValue=t),(a=(i=this.parent).onInput)==null||a.call(i,this.name,e),this.$emit("update:modelValue",e))},onClear(){this.animating=!0,this.$emit("update:modelValue",null),this.$nextTick(()=>{this.animating=!1})},onFocus(e){!this.value&&this.options.length===0||(this.autocomplete&&(this.inputValue=""),(!e.relatedTarget||!this.$refs.wrapper.contains(e.relatedTarget))&&this.inputShouldShowSelect(this.inputValue)&&this.show())},onBlur(e){var t,i;(!e.relatedTarget||!this.$refs.wrapper.contains(e.relatedTarget))&&(this.hide(),this.inputValue=this.computeLabel(this.value)),(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)},onClick(){this.autocomplete&&(this.inputValue=""),this.inputShouldShowSelect(this.inputValue)&&this.show()},onClickOutside(){this.hide()},onClickCaret(e){this.visible?this.onBlur(e):(this.focus(),this.onFocus(e)),e.preventDefault(),e.stopPropagation()},onScroll(){if(isNaN(this.total))return;const e=this.$refs.body.scrollTop+parseInt(getComputedStyle(this.$refs.body).height,10)>parseInt(getComputedStyle(this.$refs.options).height,10)-this.scrollTolerance,t=this.options.length>=this.total;e&&!t&&this.options.length>0&&!this.loading&&this.$emit("pagination")},onWindowResize(){this.onScroll(),this.visible&&this.$nextTick().then(()=>this.createPopper())},onTriggerKeyDown(e){if(this.keydownTrigger.length===0)return;const t=this.getFocusableItems(),i=t.findIndex(s=>s.active),a=t[i>-1?i:0];switch(!0){case(k("up",e)&&this.keydownTrigger.includes("up")):case(k("down",e)&&this.keydownTrigger.includes("down")):this.show(),setTimeout(()=>{a.focus()},this.visible?0:this.animationDuration),e.preventDefault(),e.stopPropagation();break;case(k("enter",e)&&this.keydownTrigger.includes("enter")):if(!this.selectFirstOptionOnEnter||this.value&&this.inputMatchesLabel(this.inputValue))this.onClick();else{const s=this.options.find(r=>!r.disabled);s&&(this.onInput(s),this.focus())}this.visible||setTimeout(()=>{a.focus()},this.animationDuration),e.preventDefault();break;case(k("tab",e)&&this.keydownTrigger.includes("tab")):case(k("esc",e)&&this.keydownTrigger.includes("esc")):this.hide()}},onItemKeyDown(e){if(this.keydownItem.length!==0)switch(!0){case(k("up",e)&&this.keydownItem.includes("up")):case(k("down",e)&&this.keydownItem.includes("down")):const t=this.getFocusableItems(),i=t.findIndex(r=>r===e.target),a=t.length-1;let s;s=k("up",e)?i>0?i-1:0:i{this.animating=!1},this.animationDuration))},focus(){this.$refs.trigger.focus()},getFocusableItems(){const e=[];for(const t of this.$refs.options.children)Fe(t)&&e.push(t);return e},getElementHeight(e){const t=getComputedStyle(e);return t.height?Math.ceil(parseFloat(t.height)):NaN},inputMatchesLabel(e){return this.value&&e===this.computeLabel(this.value)},inputMatchesLength(e){return this.minLength===0||e&&e.length>=this.minLength},inputShouldShowSelect(e){return!this.autocomplete||this.inputMatchesLength(e)&&!this.inputMatchesLabel(e)},computeLabel(e){return typeof e!="object"?this.inputValue:dt(this.label)?this.label(e):M(e,this.label)}}}),Ds=["id","name","aria-owns","aria-expanded"],Ns=["id","aria-hidden"],Ts={key:0,"data-popper-arrow":""},Ps={key:1,class:"select-header"},Rs={key:0,class:"select-no-results"},Es={class:"select-options",ref:"options"},Ms={key:2,class:"select-footer"},_s=p(Ls,[["render",function(e,t,i,a,s,r){const n=A("i-input"),b=A("i-mark"),B=A("i-select-option"),F=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["select-wrapper",e.wrapperClasses],id:e.name,name:e.name,ref:"wrapper",role:"combobox","aria-haspopup":"listbox","aria-owns":`${e.name}-options`,"aria-expanded":e.visible?"true":"false",onKeyup:t[3]||(t[3]=E((...w)=>e.onEscape&&e.onEscape(...w),["esc"]))}),[I(n,{modelValue:e.inputValue,"onUpdate:modelValue":t[1]||(t[1]=w=>e.inputValue=w),ref:"trigger",autocomplete:"off","aria-autocomplete":"both","aria-controls":`${e.name}-options`,disabled:e.isDisabled,readonly:e.isReadonly,tabindex:e.tabIndex,plaintext:!e.autocomplete,placeholder:e.inputPlaceholder,clearable:e.isClearable,color:e.color,size:e.size,name:`${e.name}-input`,onClick:e.onClick,onFocus:e.onFocus,onBlur:e.onBlur,onClear:e.onClear,onKeydown:e.onTriggerKeyDown},Nt({suffix:y(()=>[d(e.$slots,"suffix"),m("button",{class:"select-caret","aria-hidden":"true",role:"button",onClick:t[0]||(t[0]=(...w)=>e.onClickCaret&&e.onClickCaret(...w))})]),_:2},[e.$slots.prepend?{name:"prepend",fn:y(()=>[d(e.$slots,"prepend")]),key:"0"}:void 0,e.$slots.prefix?{name:"prefix",fn:y(()=>[d(e.$slots,"prefix")]),key:"1"}:void 0,e.$slots.append?{name:"append",fn:y(()=>[d(e.$slots,"append")]),key:"2"}:void 0]),1032,["modelValue","aria-controls","disabled","readonly","tabindex","plaintext","placeholder","clearable","color","size","name","onClick","onFocus","onBlur","onClear","onKeydown"]),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:z(["select",e.popupClasses]),id:`${e.name}-options`,role:"listbox",ref:"popup","aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",Ts)):f("",!0),e.$slots.header?(l(),o("div",Ps,[d(e.$slots,"header")])):f("",!0),m("div",{class:"select-body",ref:"body",onScroll:t[2]||(t[2]=(...w)=>e.onScroll&&e.onScroll(...w))},[e.$slots.default||e.options.length!==0?f("",!0):(l(),o("div",Rs,[d(e.$slots,"no-results",{},()=>[t[4]||(t[4]=P(" There are no results for your query. "))])])),m("div",Es,[d(e.$slots,"default"),(l(!0),o(j,null,X(e.options,w=>(l(),V(B,{key:w[e.idField],active:e.value&&e.value[e.idField]===w[e.idField],disabled:w.disabled,value:w,onKeydown:e.onItemKeyDown},{default:y(()=>[d(e.$slots,"option",{option:w},()=>[e.autocomplete&&e.inputValue!==e.computeLabel(w)?(l(),V(b,{key:0,text:e.computeLabel(w),query:e.inputValue},null,8,["text","query"])):(l(),o(j,{key:1},[P(_(e.computeLabel(w)),1)],64))])]),_:2},1032,["active","disabled","value","onKeydown"]))),128))],512)],544),e.$slots.footer?(l(),o("div",Ms,[d(e.$slots,"footer")])):f("",!0)],10,Ns),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,Ds)),[[F,e.onClickOutside]])}]]),De="ISidebar",Fs=c({name:De,mixins:[ft],provide(){return{sidebar:this}},inheritAttrs:!1,props:{ariaLabel:{type:String,default:"Sidebar"},collapseOnItemClick:{type:Boolean,default:!0},collapseOnClickOutside:{type:Boolean,default:!0},collapsePosition:{type:String,default:"absolute"},color:{type:String,default:u(De,"color")},placement:{type:String,default:"left"},size:{type:String,default:u(De,"size"),validator:v}},emits:["update:modelValue"],computed:{classes(){return{...this.collapsibleClasses,...g(this),[`-${this.size}`]:!!this.size,[`-collapse-${this.collapsePosition}`]:!0,[`-placement-${this.placement}`]:!0}},sidebarWrapperTransition(){return this.collapsePosition!=="relative"?"sidebar-wrapper-none-transition":"sidebar-wrapper-transition"},sidebarTransition(){return this.collapsePosition!=="relative"?"sidebar-transition":"sidebar-none-transition"}},methods:{onItemClick(){this.collapseOnItemClick&&this.open&&this.setOpen(!1)},onOverlayClick(){this.collapseOnClickOutside&&this.open&&this.setOpen(!1)}}}),js=["aria-label"],Gs={class:"sidebar"},Zs={class:"sidebar-content"},Ks=p(Fs,[["render",function(e,t,i,a,s,r){return l(),V(L,{name:e.sidebarWrapperTransition},{default:y(()=>[$(m("aside",h(e.$attrs,{role:"complementary",class:["sidebar-wrapper",e.classes],"aria-label":e.ariaLabel,ref:"wrapper"}),[I(L,{name:e.sidebarTransition},{default:y(()=>[$(m("div",Gs,[m("div",Zs,[d(e.$slots,"default")])],512),[[x,e.collapsePosition==="relative"||e.open||!e.collapsible]])]),_:3},8,["name"]),I(L,{name:"sidebar-overlay-transition"},{default:y(()=>[e.collapsePosition!=="relative"?$((l(),o("div",{key:0,class:"sidebar-overlay",onClick:t[0]||(t[0]=(...n)=>e.onOverlayClick&&e.onOverlayClick(...n))},null,512)),[[x,e.open]]):f("",!0)]),_:1})],16,js),[[x,e.open||!e.collapsible]])]),_:3},8,["name"])}]]),st="ITable",qs=c({name:st,inheritAttrs:!1,props:{border:{type:Boolean,default:!1},condensed:{type:Boolean,default:!1},striped:{type:Boolean,default:!1},hover:{type:Boolean,default:!1},responsive:{type:[Boolean,String],default:!0},nowrap:{type:Boolean,default:!1},color:{type:String,default:u(st,"color")}},computed:{classes(){return{...g(this),"-border":this.border,"-condensed":this.condensed,"-striped":this.striped,"-hover":this.hover,"-nowrap":this.nowrap,["-responsive"+(typeof this.responsive=="boolean"?"":`-${this.responsive}`)]:!!this.responsive}}}}),Ws={class:"table"},Us=p(qs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["table-wrapper",e.classes]}),[m("table",Ws,[d(e.$slots,"default")])],16)}]]),Ne="ITabs",Hs=c({name:Ne,provide(){return{tabs:this}},inheritAttrs:!1,props:{color:{type:String,default:u(Ne,"color")},modelValue:{type:String,default:""},size:{type:String,default:u(Ne,"size"),validator:v},stretch:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{active:this.modelValue,tabs:[]}},computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-stretch":this.stretch}}},watch:{modelValue(e){this.active=e}},methods:{setActive(e){this.active=e,this.$emit("update:modelValue",this.active)}}}),Qs={class:"tabs-header"},Ys=p(Hs,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["tabs",e.classes],role:"tablist","aria-multiselectable":"true"}),[m("div",Qs,[d(e.$slots,"header")]),d(e.$slots,"default")],16)}]]),Js=c({name:"ITab",inject:{tabs:{default:()=>({})}},props:{title:{type:String,default:""},name:{type:String,default:()=>S("tab")}},computed:{active(){return this.tabs.active===this.name},classes(){return{"-active":this.active}}}}),Xs=["name","aria-hidden","aria-labelledby"],en={class:"tab-body"},tn=p(Js,[["render",function(e,t,i,a,s,r){return $((l(),o("div",{class:z(["tab",e.classes]),role:"tabpanel",name:e.name,"aria-hidden":!e.active,"aria-labelledby":`tab-heading-${e.name}`},[m("div",en,[d(e.$slots,"default")])],10,Xs)),[[x,e.active]])}]]),an=c({name:"ITabTitle",inject:{tabs:{default:()=>({})}},props:{for:{type:String,default:()=>S("tab")}},computed:{active(){return this.tabs.active===this.for},classes(){return{"-active":this.active}},name(){return this.for}},methods:{onClick(){this.tabs.setActive(this.for)}}}),sn=["for","active","aria-expanded","aria-controls","aria-describedby"],nn=p(an,[["render",function(e,t,i,a,s,r){return l(),o("div",{class:z(["tab-title",e.classes]),role:"tab",for:e.name,active:e.active,"aria-expanded":e.active,"aria-controls":`tab-content-${e.name}`,"aria-describedby":`tab-content-${e.name}`,tabindex:"0",onClick:t[0]||(t[0]=(...n)=>e.onClick&&e.onClick(...n))},[d(e.$slots,"default")],10,sn)}]]),Te="IToggle",ln=c({name:Te,mixins:[R],inheritAttrs:!1,props:{color:{type:String,default:u(Te,"color")},disabled:{type:Boolean,default:!1},indeterminate:{type:Boolean,default:!1},value:{default:!1},modelValue:{default:!1},name:{type:[String,Number],default:()=>S("toggle")},readonly:{type:Boolean,default:!1},size:{type:String,default:u(Te,"size"),validator:v},tabindex:{type:[Number,String],default:0}},emits:["update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size,"-disabled":this.isDisabled,"-readonly":this.isReadonly}},checked(){return this.schema?this.schema.value:this.modelValue},tabIndex(){return this.isDisabled?-1:this.tabindex}},methods:{clickInputRef(){this.isReadonly||this.$refs.input.click()},onChange(e){var t,i;(i=(t=this.parent).onInput)==null||i.call(t,this.name,e.target.checked),this.$emit("update:modelValue",e.target.checked)},onBlur(e){var t,i;(i=(t=this.parent).onBlur)==null||i.call(t,this.name,e)}}}),rn=["checked","disabled","readonly","aria-checked","aria-disabled","aria-readonly","name"],on=["aria-checked","aria-disabled","aria-readonly","tabindex"],dn=p(ln,[["render",function(e,t,i,a,s,r){return l(),o("div",h(e.$attrs,{class:["toggle",e.classes]}),[m("input",{ref:"input",type:"checkbox",checked:e.checked,disabled:e.isDisabled,readonly:e.isReadonly,"aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,name:e.name,onChange:t[0]||(t[0]=(...n)=>e.onChange&&e.onChange(...n))},null,40,rn),m("label",{class:"toggle-label","aria-checked":e.checked,"aria-disabled":e.isDisabled,"aria-readonly":e.isReadonly,tabindex:e.tabIndex,onClick:t[1]||(t[1]=(...n)=>e.clickInputRef&&e.clickInputRef(...n)),onBlur:t[2]||(t[2]=(...n)=>e.onBlur&&e.onBlur(...n)),onKeydown:t[3]||(t[3]=E(Q((...n)=>e.clickInputRef&&e.clickInputRef(...n),["stop","prevent"]),["space"]))},[d(e.$slots,"default")],40,on)],16)}]]),Pe="ITooltip",un=c({name:Pe,directives:{ClickOutside:K},mixins:[ee,Ge],inheritAttrs:!1,props:{color:{type:String,default:u(Pe,"color")},disabled:{type:Boolean,default:!1},modelValue:{type:Boolean,default:!1},name:{type:String,default:()=>S("tooltip")},arrow:{type:Boolean,default:!0},placement:{type:String,default:"top"},trigger:{type:[String,Array],default:()=>["hover","focus"]},offset:{type:Number,default:6},interactable:{type:Boolean,default:!1},popperOptions:{type:Object,default:()=>({})},size:{type:String,default:u(Pe,"size"),validator:v}},emits:["click-outside","update:modelValue"],computed:{classes(){return{...g(this),[`-${this.size}`]:!!this.size}}},methods:{onEscape(){this.visible=!1,this.$emit("update:modelValue",!1)},handleClickOutside(e){this.visible=!1,this.$emit("update:modelValue",!1),this.onClickOutside(e)}}}),cn=["id"],pn=["aria-describedby","aria-disabled","aria-expanded"],hn=["id","aria-hidden"],mn={key:0,"data-popper-arrow":""},fn=p(un,[["render",function(e,t,i,a,s,r){const n=G("click-outside");return $((l(),o("div",h(e.$attrs,{class:["tooltip-wrapper",e.classes],ref:"wrapper",id:e.name,onKeyup:t[0]||(t[0]=E((...b)=>e.onEscape&&e.onEscape(...b),["esc"]))}),[m("div",{class:"tooltip-trigger",ref:"trigger","aria-describedby":`${e.name}-popup`,"aria-disabled":e.disabled?"true":"false","aria-expanded":e.visible?"true":"false"},[d(e.$slots,"default")],8,pn),I(L,{name:"zoom-in-top-transition",onAfterLeave:e.destroyPopper},{default:y(()=>[$(m("div",{class:"tooltip",ref:"popup",role:"tooltip","aria-live":"polite",id:`${e.name}-popup`,"aria-hidden":e.visible?"false":"true"},[e.arrow?(l(),o("span",mn)):f("",!0),d(e.$slots,"body")],8,hn),[[x,e.visible]])]),_:3},8,["onAfterLeave"])],16,cn)),[[n,e.onClickOutside]])}]]),vn=Object.freeze(Object.defineProperty({__proto__:null,IAlert:Jt,IBadge:Xt,IBreadcrumb:ii,IBreadcrumbItem:ni,IButton:vt,IButtonGroup:ui,ICard:fi,ICheckbox:ki,ICheckboxGroup:Ii,ICollapsible:Ci,ICollapsibleItem:Oi,IColumn:Ze,IContainer:Ke,IDropdown:_i,IDropdownDivider:Fi,IDropdownItem:ji,IForm:Ki,IFormError:Yi,IFormGroup:Ui,IFormLabel:ea,IHamburgerMenu:kt,IHeader:ta,IIcon:$t,IInput:te,ILayout:Ba,ILayoutAside:Va,ILayoutContent:Oa,ILayoutFooter:La,ILayoutHeader:Da,IListGroup:Na,IListGroupItem:Ta,ILoader:yt,IMark:wt,IMedia:Fa,IModal:Ha,INav:Qa,INavItem:Ya,INavbar:Ja,INavbarBrand:Xa,INavbarCollapsible:is,INumberInput:va,IPagination:ds,IPopover:vs,IProgress:gs,IProgressBar:ws,IRadio:Ss,IRadioGroup:As,IRow:qe,ISelect:_s,ISelectOption:It,ISidebar:Ks,ITab:tn,ITabTitle:nn,ITable:Us,ITabs:Ys,ITextarea:Sa,IToggle:dn,ITooltip:fn},Symbol.toStringTag,{value:"Module"}));export{yn as I,p as _,vn as c}; diff --git a/packages/modules/display_themes/cards/web/index.html b/packages/modules/display_themes/cards/web/index.html index ede1277345..5ce676590f 100644 --- a/packages/modules/display_themes/cards/web/index.html +++ b/packages/modules/display_themes/cards/web/index.html @@ -6,10 +6,10 @@ openWB Display - Cards - - - - + + + + diff --git a/packages/modules/display_themes/colors/source/package-lock.json b/packages/modules/display_themes/colors/source/package-lock.json index 9e81aac6b8..2a47deb3b6 100644 --- a/packages/modules/display_themes/colors/source/package-lock.json +++ b/packages/modules/display_themes/colors/source/package-lock.json @@ -26,17 +26,17 @@ "@tsconfig/node20": "^20.1.4", "@types/bootstrap": "^5.2.10", "@types/d3": "^7.4.3", - "@types/node": "^20.17.12", + "@types/node": "^20.17.14", "@vitejs/plugin-vue": "^5.2.1", - "@vue/eslint-config-prettier": "^10.1.0", - "@vue/eslint-config-typescript": "^14.2.0", + "@vue/eslint-config-prettier": "^10.2.0", + "@vue/eslint-config-typescript": "^14.3.0", "@vue/tsconfig": "^0.7.0", "esbuild": "^0.24.2", "eslint": "^9.18.0", "eslint-plugin-vue": "^9.32.0", "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", - "rollup": "^4.30.1", + "rollup": "^4.31.0", "typescript": "^5.7.3", "vite": "^6.0.7", "vue-tsc": "^2.2.0" @@ -575,28 +575,6 @@ "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@eslint/core": { "version": "0.10.0", "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.10.0.tgz", @@ -632,69 +610,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, "node_modules/@eslint/js": { "version": "9.18.0", "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.18.0.tgz", @@ -920,9 +835,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.30.1.tgz", - "integrity": "sha512-pSWY+EVt3rJ9fQ3IqlrEUtXh3cGqGtPDH1FQlNZehO2yYxCHEX1SPsz1M//NXwYfbTlcKr9WObLnJX9FsS9K1Q==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.31.0.tgz", + "integrity": "sha512-9NrR4033uCbUBRgvLcBrJofa2KY9DzxL2UKZ1/4xA/mnTNyhZCWBuD8X3tPm1n4KxcgaraOYgrFKSgwjASfmlA==", "cpu": [ "arm" ], @@ -932,9 +847,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.30.1.tgz", - "integrity": "sha512-/NA2qXxE3D/BRjOJM8wQblmArQq1YoBVJjrjoTSBS09jgUisq7bqxNHJ8kjCHeV21W/9WDGwJEWSN0KQ2mtD/w==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.31.0.tgz", + "integrity": "sha512-iBbODqT86YBFHajxxF8ebj2hwKm1k8PTBQSojSt3d1FFt1gN+xf4CowE47iN0vOSdnd+5ierMHBbu/rHc7nq5g==", "cpu": [ "arm64" ], @@ -944,9 +859,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.30.1.tgz", - "integrity": "sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.31.0.tgz", + "integrity": "sha512-WHIZfXgVBX30SWuTMhlHPXTyN20AXrLH4TEeH/D0Bolvx9PjgZnn4H677PlSGvU6MKNsjCQJYczkpvBbrBnG6g==", "cpu": [ "arm64" ], @@ -956,9 +871,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.30.1.tgz", - "integrity": "sha512-x78BavIwSH6sqfP2xeI1hd1GpHL8J4W2BXcVM/5KYKoAD3nNsfitQhvWSw+TFtQTLZ9OmlF+FEInEHyubut2OA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.31.0.tgz", + "integrity": "sha512-hrWL7uQacTEF8gdrQAqcDy9xllQ0w0zuL1wk1HV8wKGSGbKPVjVUv/DEwT2+Asabf8Dh/As+IvfdU+H8hhzrQQ==", "cpu": [ "x64" ], @@ -968,9 +883,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.30.1.tgz", - "integrity": "sha512-HYTlUAjbO1z8ywxsDFWADfTRfTIIy/oUlfIDmlHYmjUP2QRDTzBuWXc9O4CXM+bo9qfiCclmHk1x4ogBjOUpUQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.31.0.tgz", + "integrity": "sha512-S2oCsZ4hJviG1QjPY1h6sVJLBI6ekBeAEssYKad1soRFv3SocsQCzX6cwnk6fID6UQQACTjeIMB+hyYrFacRew==", "cpu": [ "arm64" ], @@ -980,9 +895,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.30.1.tgz", - "integrity": "sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.31.0.tgz", + "integrity": "sha512-pCANqpynRS4Jirn4IKZH4tnm2+2CqCNLKD7gAdEjzdLGbH1iO0zouHz4mxqg0uEMpO030ejJ0aA6e1PJo2xrPA==", "cpu": [ "x64" ], @@ -992,9 +907,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.30.1.tgz", - "integrity": "sha512-PaMRNBSqCx7K3Wc9QZkFx5+CX27WFpAMxJNiYGAXfmMIKC7jstlr32UhTgK6T07OtqR+wYlWm9IxzennjnvdJg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.31.0.tgz", + "integrity": "sha512-0O8ViX+QcBd3ZmGlcFTnYXZKGbFu09EhgD27tgTdGnkcYXLat4KIsBBQeKLR2xZDCXdIBAlWLkiXE1+rJpCxFw==", "cpu": [ "arm" ], @@ -1004,9 +919,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.30.1.tgz", - "integrity": "sha512-B8Rcyj9AV7ZlEFqvB5BubG5iO6ANDsRKlhIxySXcF1axXYUyqwBok+XZPgIYGBgs7LDXfWfifxhw0Ik57T0Yug==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.31.0.tgz", + "integrity": "sha512-w5IzG0wTVv7B0/SwDnMYmbr2uERQp999q8FMkKG1I+j8hpPX2BYFjWe69xbhbP6J9h2gId/7ogesl9hwblFwwg==", "cpu": [ "arm" ], @@ -1016,9 +931,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.30.1.tgz", - "integrity": "sha512-hqVyueGxAj3cBKrAI4aFHLV+h0Lv5VgWZs9CUGqr1z0fZtlADVV1YPOij6AhcK5An33EXaxnDLmJdQikcn5NEw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.31.0.tgz", + "integrity": "sha512-JyFFshbN5xwy6fulZ8B/8qOqENRmDdEkcIMF0Zz+RsfamEW+Zabl5jAb0IozP/8UKnJ7g2FtZZPEUIAlUSX8cA==", "cpu": [ "arm64" ], @@ -1028,9 +943,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.30.1.tgz", - "integrity": "sha512-i4Ab2vnvS1AE1PyOIGp2kXni69gU2DAUVt6FSXeIqUCPIR3ZlheMW3oP2JkukDfu3PsexYRbOiJrY+yVNSk9oA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.31.0.tgz", + "integrity": "sha512-kpQXQ0UPFeMPmPYksiBL9WS/BDiQEjRGMfklVIsA0Sng347H8W2iexch+IEwaR7OVSKtr2ZFxggt11zVIlZ25g==", "cpu": [ "arm64" ], @@ -1040,9 +955,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.30.1.tgz", - "integrity": "sha512-fARcF5g296snX0oLGkVxPmysetwUk2zmHcca+e9ObOovBR++9ZPOhqFUM61UUZ2EYpXVPN1redgqVoBB34nTpQ==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.31.0.tgz", + "integrity": "sha512-pMlxLjt60iQTzt9iBb3jZphFIl55a70wexvo8p+vVFK+7ifTRookdoXX3bOsRdmfD+OKnMozKO6XM4zR0sHRrQ==", "cpu": [ "loong64" ], @@ -1052,9 +967,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.30.1.tgz", - "integrity": "sha512-GLrZraoO3wVT4uFXh67ElpwQY0DIygxdv0BNW9Hkm3X34wu+BkqrDrkcsIapAY+N2ATEbvak0XQ9gxZtCIA5Rw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.31.0.tgz", + "integrity": "sha512-D7TXT7I/uKEuWiRkEFbed1UUYZwcJDU4vZQdPTcepK7ecPhzKOYk4Er2YR4uHKme4qDeIh6N3XrLfpuM7vzRWQ==", "cpu": [ "ppc64" ], @@ -1064,9 +979,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.30.1.tgz", - "integrity": "sha512-0WKLaAUUHKBtll0wvOmh6yh3S0wSU9+yas923JIChfxOaaBarmb/lBKPF0w/+jTVozFnOXJeRGZ8NvOxvk/jcw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.31.0.tgz", + "integrity": "sha512-wal2Tc8O5lMBtoePLBYRKj2CImUCJ4UNGJlLwspx7QApYny7K1cUYlzQ/4IGQBLmm+y0RS7dwc3TDO/pmcneTw==", "cpu": [ "riscv64" ], @@ -1076,9 +991,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.30.1.tgz", - "integrity": "sha512-GWFs97Ruxo5Bt+cvVTQkOJ6TIx0xJDD/bMAOXWJg8TCSTEK8RnFeOeiFTxKniTc4vMIaWvCplMAFBt9miGxgkA==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.31.0.tgz", + "integrity": "sha512-O1o5EUI0+RRMkK9wiTVpk2tyzXdXefHtRTIjBbmFREmNMy7pFeYXCFGbhKFwISA3UOExlo5GGUuuj3oMKdK6JQ==", "cpu": [ "s390x" ], @@ -1088,9 +1003,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.30.1.tgz", - "integrity": "sha512-UtgGb7QGgXDIO+tqqJ5oZRGHsDLO8SlpE4MhqpY9Llpzi5rJMvrK6ZGhsRCST2abZdBqIBeXW6WPD5fGK5SDwg==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.31.0.tgz", + "integrity": "sha512-zSoHl356vKnNxwOWnLd60ixHNPRBglxpv2g7q0Cd3Pmr561gf0HiAcUBRL3S1vPqRC17Zo2CX/9cPkqTIiai1g==", "cpu": [ "x64" ], @@ -1100,9 +1015,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.30.1.tgz", - "integrity": "sha512-V9U8Ey2UqmQsBT+xTOeMzPzwDzyXmnAoO4edZhL7INkwQcaW1Ckv3WJX3qrrp/VHaDkEWIBWhRwP47r8cdrOow==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.31.0.tgz", + "integrity": "sha512-ypB/HMtcSGhKUQNiFwqgdclWNRrAYDH8iMYH4etw/ZlGwiTVxBz2tDrGRrPlfZu6QjXwtd+C3Zib5pFqID97ZA==", "cpu": [ "x64" ], @@ -1112,9 +1027,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.30.1.tgz", - "integrity": "sha512-WabtHWiPaFF47W3PkHnjbmWawnX/aE57K47ZDT1BXTS5GgrBUEpvOzq0FI0V/UYzQJgdb8XlhVNH8/fwV8xDjw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.31.0.tgz", + "integrity": "sha512-JuhN2xdI/m8Hr+aVO3vspO7OQfUFO6bKLIRTAy0U15vmWjnZDLrEgCZ2s6+scAYaQVpYSh9tZtRijApw9IXyMw==", "cpu": [ "arm64" ], @@ -1124,9 +1039,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.30.1.tgz", - "integrity": "sha512-pxHAU+Zv39hLUTdQQHUVHf4P+0C47y/ZloorHpzs2SXMRqeAWmGghzAhfOlzFHHwjvgokdFAhC4V+6kC1lRRfw==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.31.0.tgz", + "integrity": "sha512-U1xZZXYkvdf5MIWmftU8wrM5PPXzyaY1nGCI4KI4BFfoZxHamsIe+BtnPLIvvPykvQWlVbqUXdLa4aJUuilwLQ==", "cpu": [ "ia32" ], @@ -1136,9 +1051,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.30.1.tgz", - "integrity": "sha512-D6qjsXGcvhTjv0kI4fU8tUuBDF/Ueee4SVX79VfNDXZa64TfCW1Slkb6Z7O1p7vflqZjcmOVdZlqf8gvJxc6og==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.31.0.tgz", + "integrity": "sha512-ul8rnCsUumNln5YWwz0ted2ZHFhzhRRnkpBZ+YRuHoRAlUji9KChpOUOndY7uykrPEPXVbHLlsdo6v5yXo/TXw==", "cpu": [ "x64" ], @@ -1439,9 +1354,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.17.12", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.12.tgz", - "integrity": "sha512-vo/wmBgMIiEA23A/knMfn/cf37VnuF52nZh5ZoW0GWt4e4sxNquibrMRJ7UQsA06+MBx9r/H1jsI9grYjQCQlw==", + "version": "20.17.14", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.17.14.tgz", + "integrity": "sha512-w6qdYetNL5KRBiSClK/KWai+2IMEJuAj+EujKCumalFOwXtvOXaEan9AuwcRID2IcOIAWSIfR495hBtgKlx2zg==", "dependencies": { "undici-types": "~6.19.2" } @@ -1464,16 +1379,16 @@ } }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.19.1.tgz", - "integrity": "sha512-tJzcVyvvb9h/PB96g30MpxACd9IrunT7GF9wfA9/0TJ1LxGOJx1TdPzSbBBnNED7K9Ka8ybJsnEpiXPktolTLg==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.20.0.tgz", + "integrity": "sha512-naduuphVw5StFfqp4Gq4WhIBE2gN1GEmMUExpJYknZJdRnc+2gDzB8Z3+5+/Kv33hPQRDGzQO/0opHE72lZZ6A==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.19.1", - "@typescript-eslint/type-utils": "8.19.1", - "@typescript-eslint/utils": "8.19.1", - "@typescript-eslint/visitor-keys": "8.19.1", + "@typescript-eslint/scope-manager": "8.20.0", + "@typescript-eslint/type-utils": "8.20.0", + "@typescript-eslint/utils": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1493,15 +1408,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "8.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.19.1.tgz", - "integrity": "sha512-67gbfv8rAwawjYx3fYArwldTQKoYfezNUT4D5ioWetr/xCrxXxvleo3uuiFuKfejipvq+og7mjz3b0G2bVyUCw==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.20.0.tgz", + "integrity": "sha512-gKXG7A5HMyjDIedBi6bUrDcun8GIjnI8qOwVLiY3rx6T/sHP/19XLJOnIq/FgQvWLHja5JN/LSE7eklNBr612g==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.19.1", - "@typescript-eslint/types": "8.19.1", - "@typescript-eslint/typescript-estree": "8.19.1", - "@typescript-eslint/visitor-keys": "8.19.1", + "@typescript-eslint/scope-manager": "8.20.0", + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/typescript-estree": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0", "debug": "^4.3.4" }, "engines": { @@ -1517,13 +1432,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.19.1.tgz", - "integrity": "sha512-60L9KIuN/xgmsINzonOcMDSB8p82h95hoBfSBtXuO4jlR1R9L1xSkmVZKgCPVfavDlXihh4ARNjXhh1gGnLC7Q==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.20.0.tgz", + "integrity": "sha512-J7+VkpeGzhOt3FeG1+SzhiMj9NzGD/M6KoGn9f4dbz3YzK9hvbhVTmLj/HiTp9DazIzJ8B4XcM80LrR9Dm1rJw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.19.1", - "@typescript-eslint/visitor-keys": "8.19.1" + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1534,13 +1449,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.19.1.tgz", - "integrity": "sha512-Rp7k9lhDKBMRJB/nM9Ksp1zs4796wVNyihG9/TU9R6KCJDNkQbc2EOKjrBtLYh3396ZdpXLtr/MkaSEmNMtykw==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.20.0.tgz", + "integrity": "sha512-bPC+j71GGvA7rVNAHAtOjbVXbLN5PkwqMvy1cwGeaxUoRQXVuKCebRoLzm+IPW/NtFFpstn1ummSIasD5t60GA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "8.19.1", - "@typescript-eslint/utils": "8.19.1", + "@typescript-eslint/typescript-estree": "8.20.0", + "@typescript-eslint/utils": "8.20.0", "debug": "^4.3.4", "ts-api-utils": "^2.0.0" }, @@ -1557,9 +1472,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "8.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.19.1.tgz", - "integrity": "sha512-JBVHMLj7B1K1v1051ZaMMgLW4Q/jre5qGK0Ew6UgXz1Rqh+/xPzV1aW581OM00X6iOfyr1be+QyW8LOUf19BbA==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.20.0.tgz", + "integrity": "sha512-cqaMiY72CkP+2xZRrFt3ExRBu0WmVitN/rYPZErA80mHjHx/Svgp8yfbzkJmDoQ/whcytOPO9/IZXnOc+wigRA==", "dev": true, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1570,13 +1485,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.19.1.tgz", - "integrity": "sha512-jk/TZwSMJlxlNnqhy0Eod1PNEvCkpY6MXOXE/WLlblZ6ibb32i2We4uByoKPv1d0OD2xebDv4hbs3fm11SMw8Q==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.20.0.tgz", + "integrity": "sha512-Y7ncuy78bJqHI35NwzWol8E0X7XkRVS4K4P4TCyzWkOJih5NDvtoRDW4Ba9YJJoB2igm9yXDdYI/+fkiiAxPzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.19.1", - "@typescript-eslint/visitor-keys": "8.19.1", + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/visitor-keys": "8.20.0", "debug": "^4.3.4", "fast-glob": "^3.3.2", "is-glob": "^4.0.3", @@ -1595,16 +1510,40 @@ "typescript": ">=4.8.4 <5.8.0" } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/utils": { - "version": "8.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.19.1.tgz", - "integrity": "sha512-IxG5gLO0Ne+KaUc8iW1A+XuKLd63o4wlbI1Zp692n1xojCl/THvgIKXJXBZixTh5dd5+yTJ/VXH7GJaaw21qXA==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.20.0.tgz", + "integrity": "sha512-dq70RUw6UK9ei7vxc4KQtBRk7qkHZv447OUZ6RPQMQl71I3NZxQJX/f32Smr+iqWrB02pHKn2yAdHBb0KNrRMA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.19.1", - "@typescript-eslint/types": "8.19.1", - "@typescript-eslint/typescript-estree": "8.19.1" + "@typescript-eslint/scope-manager": "8.20.0", + "@typescript-eslint/types": "8.20.0", + "@typescript-eslint/typescript-estree": "8.20.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -1619,12 +1558,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.19.1.tgz", - "integrity": "sha512-fzmjU8CHK853V/avYZAvuVut3ZTfwN5YtMaoi+X9Y9MA9keaWNHC3zEQ9zvyX/7Hj+5JkNyK1l7TOR2hevHB6Q==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.20.0.tgz", + "integrity": "sha512-v/BpkeeYAsPkKCkR8BDwcno0llhzWVqPOamQrAEMdpZav2Y9OVjd9dwJyBLJWwf335B5DmlifECIkZRJCaGaHA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.19.1", + "@typescript-eslint/types": "8.20.0", "eslint-visitor-keys": "^4.2.0" }, "engines": { @@ -1761,13 +1700,13 @@ } }, "node_modules/@vue/eslint-config-prettier": { - "version": "10.1.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.1.0.tgz", - "integrity": "sha512-J6wV91y2pXc0Phha01k0WOHBTPsoSTf4xlmMjoKaeSxBpAdsgTppGF5RZRdOHM7OA74zAXD+VLANrtYXpiPKkQ==", + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-prettier/-/eslint-config-prettier-10.2.0.tgz", + "integrity": "sha512-GL3YBLwv/+b86yHcNNfPJxOTtVFJ4Mbc9UU3zR+KVoG7SwGTjPT+32fXamscNumElhcpXW3mT0DgzS9w32S7Bw==", "dev": true, "dependencies": { - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.2.1" + "eslint-config-prettier": "^10.0.1", + "eslint-plugin-prettier": "^5.2.2" }, "peerDependencies": { "eslint": ">= 8.21.0", @@ -1775,13 +1714,14 @@ } }, "node_modules/@vue/eslint-config-typescript": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.2.0.tgz", - "integrity": "sha512-JJ4wHuTJa2faQsBOUeWzuHOSFizVS7RWG2eH2noABk2LcT4wVcTOMZKM/lFobKBcgwADIPAKVRGFHVKooXImoA==", + "version": "14.3.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-typescript/-/eslint-config-typescript-14.3.0.tgz", + "integrity": "sha512-bOreIxlSC/xsUdhDdKIHb1grwJah+IokNeJ50LqA1StdOHeSPUxSIPNxyKgRx4YdjhyzC6TKtrCf6yYK99x3Uw==", "dev": true, "dependencies": { - "fast-glob": "^3.3.2", - "typescript-eslint": "^8.18.1", + "@typescript-eslint/utils": "^8.20.0", + "fast-glob": "^3.3.3", + "typescript-eslint": "^8.20.0", "vue-eslint-parser": "^9.4.3" }, "engines": { @@ -1822,6 +1762,30 @@ } } }, + "node_modules/@vue/language-core/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@vue/language-core/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@vue/reactivity": { "version": "3.5.13", "resolved": "https://registry.npmjs.org/@vue/reactivity/-/reactivity-3.5.13.tgz", @@ -2021,12 +1985,13 @@ } }, "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, "node_modules/braces": { @@ -2718,21 +2683,21 @@ } }, "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-10.0.1.tgz", + "integrity": "sha512-lZBts941cyJyeaooiKxAtzoPHTN+GbQTJFAIdQbRhA4/8whaAraEh47Whw/ZFfrjNSnlAxqfm9i0XVAEkULjCw==", "dev": true, "bin": { - "eslint-config-prettier": "bin/cli.js" + "eslint-config-prettier": "build/bin/cli.js" }, "peerDependencies": { "eslint": ">=7.0.0" } }, "node_modules/eslint-plugin-prettier": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.1.tgz", - "integrity": "sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==", + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.2.3.tgz", + "integrity": "sha512-qJ+y0FfCp/mQYQ/vWQ3s7eUlFEL4PyKfAJxsnYTJ4YT73nsJBWqmEpFryxV9OeUiqmsTsYJ5Y+KDNaeP31wrRw==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0", @@ -2781,17 +2746,32 @@ "eslint": "^6.2.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" } }, + "node_modules/eslint-plugin-vue/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint-scope": { - "version": "7.2.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", - "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", + "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -2809,32 +2789,6 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.2.0.tgz", - "integrity": "sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/eslint/node_modules/eslint-visitor-keys": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", @@ -2847,7 +2801,7 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/espree": { + "node_modules/espree": { "version": "10.3.0", "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", @@ -2864,30 +2818,13 @@ "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", - "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", + "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" @@ -3115,15 +3052,12 @@ } }, "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3414,18 +3348,15 @@ } }, "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" + "brace-expansion": "^1.1.7" }, "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "node": "*" } }, "node_modules/minimist": { @@ -3558,6 +3489,15 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/npm-run-all2/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, "node_modules/npm-run-all2/node_modules/isexe": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", @@ -3567,6 +3507,21 @@ "node": ">=16" } }, + "node_modules/npm-run-all2/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/npm-run-all2/node_modules/which": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", @@ -3716,9 +3671,9 @@ } }, "node_modules/postcss": { - "version": "8.4.49", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.49.tgz", - "integrity": "sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==", + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz", + "integrity": "sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==", "funding": [ { "type": "opencollective", @@ -3734,7 +3689,7 @@ } ], "dependencies": { - "nanoid": "^3.3.7", + "nanoid": "^3.3.8", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -3901,9 +3856,9 @@ "integrity": "sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==" }, "node_modules/rollup": { - "version": "4.30.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.30.1.tgz", - "integrity": "sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==", + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.31.0.tgz", + "integrity": "sha512-9cCE8P4rZLx9+PjoyqHLs31V9a9Vpvfo4qNcs6JCiGWYhw2gijSetFbH6SSy1whnkgcefnUwr8sad7tgqsGvnw==", "dependencies": { "@types/estree": "1.0.6" }, @@ -3915,25 +3870,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.30.1", - "@rollup/rollup-android-arm64": "4.30.1", - "@rollup/rollup-darwin-arm64": "4.30.1", - "@rollup/rollup-darwin-x64": "4.30.1", - "@rollup/rollup-freebsd-arm64": "4.30.1", - "@rollup/rollup-freebsd-x64": "4.30.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.30.1", - "@rollup/rollup-linux-arm-musleabihf": "4.30.1", - "@rollup/rollup-linux-arm64-gnu": "4.30.1", - "@rollup/rollup-linux-arm64-musl": "4.30.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.30.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.30.1", - "@rollup/rollup-linux-riscv64-gnu": "4.30.1", - "@rollup/rollup-linux-s390x-gnu": "4.30.1", - "@rollup/rollup-linux-x64-gnu": "4.30.1", - "@rollup/rollup-linux-x64-musl": "4.30.1", - "@rollup/rollup-win32-arm64-msvc": "4.30.1", - "@rollup/rollup-win32-ia32-msvc": "4.30.1", - "@rollup/rollup-win32-x64-msvc": "4.30.1", + "@rollup/rollup-android-arm-eabi": "4.31.0", + "@rollup/rollup-android-arm64": "4.31.0", + "@rollup/rollup-darwin-arm64": "4.31.0", + "@rollup/rollup-darwin-x64": "4.31.0", + "@rollup/rollup-freebsd-arm64": "4.31.0", + "@rollup/rollup-freebsd-x64": "4.31.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.31.0", + "@rollup/rollup-linux-arm-musleabihf": "4.31.0", + "@rollup/rollup-linux-arm64-gnu": "4.31.0", + "@rollup/rollup-linux-arm64-musl": "4.31.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.31.0", + "@rollup/rollup-linux-powerpc64le-gnu": "4.31.0", + "@rollup/rollup-linux-riscv64-gnu": "4.31.0", + "@rollup/rollup-linux-s390x-gnu": "4.31.0", + "@rollup/rollup-linux-x64-gnu": "4.31.0", + "@rollup/rollup-linux-x64-musl": "4.31.0", + "@rollup/rollup-win32-arm64-msvc": "4.31.0", + "@rollup/rollup-win32-ia32-msvc": "4.31.0", + "@rollup/rollup-win32-x64-msvc": "4.31.0", "fsevents": "~2.3.2" } }, @@ -4223,14 +4178,14 @@ } }, "node_modules/typescript-eslint": { - "version": "8.19.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.19.1.tgz", - "integrity": "sha512-LKPUQpdEMVOeKluHi8md7rwLcoXHhwvWp3x+sJkMuq3gGm9yaYJtPo8sRZSblMFJ5pcOGCAak/scKf1mvZDlQw==", + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.20.0.tgz", + "integrity": "sha512-Kxz2QRFsgbWj6Xcftlw3Dd154b3cEPFqQC+qMZrMypSijPd4UanKKvoKDrJ4o8AIfZFKAF+7sMaEIR8mTElozA==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "8.19.1", - "@typescript-eslint/parser": "8.19.1", - "@typescript-eslint/utils": "8.19.1" + "@typescript-eslint/eslint-plugin": "8.20.0", + "@typescript-eslint/parser": "8.20.0", + "@typescript-eslint/utils": "8.20.0" }, "engines": { "node": "^18.18.0 || ^20.9.0 || >=21.1.0" @@ -4384,6 +4339,39 @@ "eslint": ">=6.0.0" } }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/vue-tsc": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/vue-tsc/-/vue-tsc-2.2.0.tgz", diff --git a/packages/modules/display_themes/colors/source/package.json b/packages/modules/display_themes/colors/source/package.json index 9d3e2b6167..a69143257c 100644 --- a/packages/modules/display_themes/colors/source/package.json +++ b/packages/modules/display_themes/colors/source/package.json @@ -30,17 +30,17 @@ "@tsconfig/node20": "^20.1.4", "@types/bootstrap": "^5.2.10", "@types/d3": "^7.4.3", - "@types/node": "^20.17.12", + "@types/node": "^20.17.14", "@vitejs/plugin-vue": "^5.2.1", - "@vue/eslint-config-prettier": "^10.1.0", - "@vue/eslint-config-typescript": "^14.2.0", + "@vue/eslint-config-prettier": "^10.2.0", + "@vue/eslint-config-typescript": "^14.3.0", "@vue/tsconfig": "^0.7.0", "esbuild": "^0.24.2", "eslint": "^9.18.0", "eslint-plugin-vue": "^9.32.0", "npm-run-all2": "^7.0.2", "prettier": "^3.4.2", - "rollup": "^4.30.1", + "rollup": "^4.31.0", "typescript": "^5.7.3", "vite": "^6.0.7", "vue-tsc": "^2.2.0" diff --git a/packages/modules/display_themes/colors/source/src/App.vue b/packages/modules/display_themes/colors/source/src/App.vue index 4c18711a70..598bac0d6d 100644 --- a/packages/modules/display_themes/colors/source/src/App.vue +++ b/packages/modules/display_themes/colors/source/src/App.vue @@ -6,8 +6,30 @@ diff --git a/packages/modules/display_themes/colors/source/src/components/energyMeter/EnergyMeter.vue b/packages/modules/display_themes/colors/source/src/components/energyMeter/EnergyMeter.vue index 8e7b581b7f..3a28c414a7 100755 --- a/packages/modules/display_themes/colors/source/src/components/energyMeter/EnergyMeter.vue +++ b/packages/modules/display_themes/colors/source/src/components/energyMeter/EnergyMeter.vue @@ -146,9 +146,7 @@ const heading = 'Energie' const usageDetails = computed(() => { const cpcount = Object.values(chargePoints).length - const shcount = Object.values(shDevices).filter( - (dev) => dev.configured, - ).length + const shcount = [...shDevices.values()].filter((dev) => dev.configured).length return [usageSummary.evuOut, usageSummary.devices, usageSummary.charging] .concat( cpcount > 1 @@ -157,7 +155,7 @@ const usageDetails = computed(() => { ) .concat( shcount > 1 - ? Object.values(shDevices).filter( + ? [...shDevices.values()].filter( (row) => row.configured && row.showInGraph, ) : [], diff --git a/packages/modules/display_themes/colors/source/src/components/powerGraph/model.ts b/packages/modules/display_themes/colors/source/src/components/powerGraph/model.ts index 61f7483d9a..5a1cef14e9 100755 --- a/packages/modules/display_themes/colors/source/src/components/powerGraph/model.ts +++ b/packages/modules/display_themes/colors/source/src/components/powerGraph/model.ts @@ -146,10 +146,8 @@ export const dayGraph = reactive({ (this.date.getMonth() + 1).toString().padStart(2, '0') + this.date.getDate().toString().padStart(2, '0') mqttSubscribe(this.topic) - sendCommand({ - command: 'getDailyLog', - data: { day: dateString }, - }) + sendCommand('getDailyLog',{ day: dateString }) + // graphData.data = [] } }, @@ -178,10 +176,7 @@ export const monthGraph = reactive({ this.year.toString() + this.month.toString().padStart(2, '0') graphData.data = [] mqttSubscribe(this.topic) - sendCommand({ - command: 'getMonthlyLog', - data: { month: dateString }, - }) + sendCommand('getMonthlyLog',{ month: dateString }) }, deactivate() { mqttUnsubscribe(this.topic) @@ -221,10 +216,7 @@ export const yearGraph = reactive({ const dateString = this.year.toString() graphData.data = [] mqttSubscribe(this.topic) - sendCommand({ - command: 'getYearlyLog', - data: { year: dateString }, - }) + sendCommand('getYearlyLog', { year: dateString }) }, deactivate() { mqttUnsubscribe(this.topic) @@ -342,7 +334,7 @@ export function updateEnergyValues( Object.entries(totals.sh).forEach(([id, values]) => { historicSummary.setEnergy(id, values.energy_imported) const idNumber = id.substring(2) - if (!shDevices[+idNumber].countAsHouse) { + if (!shDevices.get(+idNumber)!.countAsHouse) { historicSummary.items.devices.energy += values.energy_imported } }) @@ -380,7 +372,7 @@ export function updateEnergyValues( cp.pvPercentage = hcp.pvPercentage } }) - Object.values(shDevices).map((device) => { + shDevices.forEach((device) => { const hDevice = historicSummary.items['sh' + device.id] if (hDevice) { device.energy = hDevice.energy @@ -409,7 +401,7 @@ function resetPvValues() { cp.energyBat = 0 cp.pvPercentage = 0 }) - Object.values(shDevices).map((device) => { + shDevices.forEach((device) => { device.energyPv = 0 device.energyBat = 0 device.pvPercentage = 0 diff --git a/packages/modules/display_themes/colors/source/src/components/powerMeter/PMUsageArc.vue b/packages/modules/display_themes/colors/source/src/components/powerMeter/PMUsageArc.vue index 6839af419c..fea0dbc9d9 100755 --- a/packages/modules/display_themes/colors/source/src/components/powerMeter/PMUsageArc.vue +++ b/packages/modules/display_themes/colors/source/src/components/powerMeter/PMUsageArc.vue @@ -30,7 +30,7 @@ const draw = computed(() => { } const plotdata = [usageSummary.evuOut, usageSummary.charging] .concat( - Object.values(shDevices) + [...shDevices.values()] .filter((row) => row.configured && !row.countAsHouse) .sort((a, b) => { return b.power - a.power diff --git a/packages/modules/display_themes/colors/source/src/components/shared/WBWidget.vue b/packages/modules/display_themes/colors/source/src/components/shared/WBWidget.vue index 38dab427d9..9196a4ae2f 100755 --- a/packages/modules/display_themes/colors/source/src/components/shared/WBWidget.vue +++ b/packages/modules/display_themes/colors/source/src/components/shared/WBWidget.vue @@ -42,7 +42,6 @@ /* display: grid; grid-template-columns: repeat(12, auto); gap: 0.2em; */ - } .wb-subwidget { @@ -71,7 +70,6 @@ } .cont { - align-self: stretch; height: 100%; } diff --git a/packages/modules/display_themes/colors/source/src/components/smartHome/model.ts b/packages/modules/display_themes/colors/source/src/components/smartHome/model.ts index f3c7c80502..3a5ffa9b33 100755 --- a/packages/modules/display_themes/colors/source/src/components/smartHome/model.ts +++ b/packages/modules/display_themes/colors/source/src/components/smartHome/model.ts @@ -35,13 +35,12 @@ export class ShDevice { } } -export const shDevices: { [key: number]: ShDevice } = reactive({}) - +//export const shDevices: { [key: number]: ShDevice } = reactive({}) +export const shDevices = reactive(new Map()) export function addShDevice(shIndex: number) { if (!(shIndex in shDevices)) { - shDevices[shIndex] = new ShDevice(shIndex) - shDevices[shIndex].color = - 'var(--color-sh' + Object.values(shDevices).length + ')' + shDevices.set(shIndex, new ShDevice(shIndex)) + shDevices.get(shIndex)!.color = 'var(--color-sh' + shDevices.size + ')' // console.info('Added sh device ' + shIndex) } else { console.info('Duplicate sh device message: ' + shIndex) diff --git a/packages/modules/display_themes/colors/source/src/components/smartHome/processMessages.ts b/packages/modules/display_themes/colors/source/src/components/smartHome/processMessages.ts index fc4d7dae5c..78324dfecd 100755 --- a/packages/modules/display_themes/colors/source/src/components/smartHome/processMessages.ts +++ b/packages/modules/display_themes/colors/source/src/components/smartHome/processMessages.ts @@ -17,23 +17,24 @@ function processSmarthomeConfigMessages(topic: string, message: string) { // console.warn('Smarthome: Missing index in ' + topic) return } - if (!(index in shDevices)) { + if (!shDevices.has(index)) { // console.warn('Invalid sh device id received: ' + index) addShDevice(index) } + const dev = shDevices.get(index)! if ( topic.match( /^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i, ) ) { - shDevices[index].configured = message != '0' + dev.configured = message != '0' } else if ( topic.match( /^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i, ) ) { - shDevices[index].name = message.toString() - shDevices[index].icon = message.toString() + dev.name = message.toString() + dev.icon = message.toString() masterData['sh' + index].name = message.toString() masterData['sh' + index].icon = message.toString() @@ -42,25 +43,25 @@ function processSmarthomeConfigMessages(topic: string, message: string) { /^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i, ) ) { - shDevices[index].isAutomatic = message == '0' + dev.isAutomatic = message == '0' } else if ( topic.match( /^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i, ) ) { - shDevices[index].canSwitch = message == '1' + dev.canSwitch = message == '1' } else if ( topic.match( /^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i, ) ) { - shDevices[index].countAsHouse = message == '1' + dev.countAsHouse = message == '1' } else if ( topic.match( /^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i, ) ) { - shDevices[index].tempConfigured = +message + dev.tempConfigured = +message } else { // console.warn('Ignored Smarthome config message: ' + topic) } @@ -72,12 +73,13 @@ function processSmarthomeDeviceMessages(topic: string, message: string) { console.warn('Smarthome: Missing index in ' + topic) return } - if (!(index in shDevices)) { + if (!shDevices.has(index)) { // console.warn('Invalid sh device id received: ' + index) addShDevice(index) } + const dev = shDevices.get(index)! if (topic.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i)) { - shDevices[index].power = +message + dev.power = +message updateShSummary('power') } else if (topic.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)) { //shDevices[index].energy = +message @@ -85,43 +87,43 @@ function processSmarthomeDeviceMessages(topic: string, message: string) { } else if ( topic.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i) ) { - shDevices[index].runningTime = +message + dev.runningTime = +message } else if ( topic.match( /^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i, ) ) { - shDevices[index].temp[0] = +message + dev.temp[0] = +message } else if ( topic.match( /^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i, ) ) { - shDevices[index].temp[1] = +message + dev.temp[1] = +message } else if ( topic.match( /^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i, ) ) { - shDevices[index].temp[2] = +message + dev.temp[2] = +message } else if ( topic.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i) ) { switch (+message) { case 10: - shDevices[index].status = 'off' + dev.status = 'off' break case 11: - shDevices[index].status = 'on' + dev.status = 'on' break case 20: - shDevices[index].status = 'detection' + dev.status = 'detection' break case 30: - shDevices[index].status = 'timeout' + dev.status = 'timeout' break default: - shDevices[index].status = 'off' + dev.status = 'off' } } else { // console.warn('Ignored Smarthome device message: ' + topic) @@ -131,12 +133,12 @@ function processSmarthomeDeviceMessages(topic: string, message: string) { function updateShSummary(cat: string) { switch (cat) { case 'power': - usageSummary['devices'].power = Object.values(shDevices) + usageSummary['devices'].power = [...shDevices.values()] .filter((dev) => dev.configured && !dev.countAsHouse) .reduce((sum, consumer) => sum + consumer.power, 0) break case 'energy': - usageSummary['devices'].energy = Object.values(shDevices) + usageSummary['devices'].energy = [...shDevices.values()] .filter((dev) => dev.configured && !dev.countAsHouse) .reduce((sum, consumer) => sum + consumer.energy, 0) break diff --git a/packages/modules/display_themes/colors/source/src/views/DisplayTheme.vue b/packages/modules/display_themes/colors/source/src/views/DisplayTheme.vue index 3618a1184d..9aabc777b8 100644 --- a/packages/modules/display_themes/colors/source/src/views/DisplayTheme.vue +++ b/packages/modules/display_themes/colors/source/src/views/DisplayTheme.vue @@ -87,7 +87,6 @@ onMounted(() => { onBeforeUnmount(() => { window.removeEventListener('focus', haveFocus) window.removeEventListener('resize', updateDimensions) - }) function haveFocus() { if (document.hasFocus()) { diff --git a/packages/modules/display_themes/colors/source/src/views/NavigationBar.vue b/packages/modules/display_themes/colors/source/src/views/NavigationBar.vue index 8dd904ffea..2ef4e519a3 100755 --- a/packages/modules/display_themes/colors/source/src/views/NavigationBar.vue +++ b/packages/modules/display_themes/colors/source/src/views/NavigationBar.vue @@ -4,21 +4,40 @@ - - - + diff --git a/packages/modules/display_themes/colors/web/assets/index-dWRRbhgn.css b/packages/modules/display_themes/colors/web/assets/index-09qr54hn.css similarity index 99% rename from packages/modules/display_themes/colors/web/assets/index-dWRRbhgn.css rename to packages/modules/display_themes/colors/web/assets/index-09qr54hn.css index e7ad8ebb79..d39c6aced3 100644 --- a/packages/modules/display_themes/colors/web/assets/index-dWRRbhgn.css +++ b/packages/modules/display_themes/colors/web/assets/index-09qr54hn.css @@ -1,8 +1,8 @@ -@charset "UTF-8";.displaybutton[data-v-0f8aebee]{border:.1px solid var(--color-frame);padding:6px 8px;align-self:top;box-shadow:1px 3px #000;font-weight:700;font-size:var(--font-small)}.navigation[data-v-11cfd4d2]{display:flex;justify-content:space-between;padding:2px 10px;align-items:center;border-top:0px solid var(--color-menu);border-bottom:0px solid var(--color-menu)}.timedisplay[data-v-11cfd4d2]{font-size:var(--font-medium);font-weight:700;color:var(--color-input)}.navbar[data-v-11cfd4d2]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.graphbuttons[data-v-11cfd4d2],.cpbuttons[data-v-11cfd4d2]{display:flex;justify-content:left;align-items:center;gap:5px}.dropdown-menu[data-v-11cfd4d2]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-11cfd4d2]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-11cfd4d2]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-11cfd4d2]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-11cfd4d2]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-11cfd4d2]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-11cfd4d2]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.brand[data-v-11cfd4d2]{font-size:var(--font-medium);font-weight:700;color:var(--color-input)}.wb-widget[data-v-f8e8f91e]{background-color:var(--color-bg);border:.1px solid var(--color-frame);height:100%;align-self:stretch;width:100%;border-radius:30px}.wb-subwidget[data-v-f8e8f91e]{border:0px solid var(--color-subframe);padding:var(--padding-widget)}.header[data-v-f8e8f91e]{grid-column:span 12;display:flex;justify-content:space-between;align-items:center}.titles[data-v-f8e8f91e]{display:flex;flex-direction:column}.title[data-v-f8e8f91e]{font-size:var(--font-extralarge);color:var(--color-title);font-weight:700;transform:scaleX(.9294)}.cont[data-v-f8e8f91e]{align-self:stretch;height:100%}.subtitle[data-v-f8e8f91e]{font-size:var(--font-medium)}.buttons[data-v-f8e8f91e]{grid-column:span 6}.powermeter{width:100%}.radiobutton[data-v-270067ed]{border:0px solid var(--color-menu);opacity:1;font-size:var(--font-chargebutton);width:75px}.btn-outline-secondary.active[data-v-270067ed]{background-color:var(--color-bg);border:0px solid var(--color-fg);opacity:.8}.btn-group[data-v-270067ed]{border:.1px solid var(--color-menu);box-shadow:1px 3px #000}.rounded-pill[data-v-7fd067cd]{background-color:var(--color-menu)}.arrowButton[data-v-7fd067cd]{border:0}.datebadge[data-v-7fd067cd]{background-color:var(--color-bg);color:var(--color-menu);border:1px solid var(--color-menu);font-size:var(--font-small);font-weight:400}.arrowButton[data-v-7fd067cd],.fa-magnifying-glass[data-v-ba892fa4]{color:var(--color-menu)}.datebadge[data-v-ba892fa4]{background-color:var(--color-menu);color:var(--color-bg);font-size:var(--font-medium);font-weight:400}.energymeter[data-v-69785337]{width:100%}.modal-content[data-v-dff8d7c2]{background-color:var(--color-bg);border-color:var(--color-menu);box-shadow:3px 5px #000}.modal-footer[data-v-dff8d7c2],.modal-header[data-v-dff8d7c2],.modal-body[data-v-dff8d7c2]{background-color:var(--color-bg);color:var(--color-fg)}.modal-body[data-v-dff8d7c2]{border-color:var(--color-fg)}.modal-footer[data-v-dff8d7c2]{text-align:right}.modal-header .btn-close[data-v-dff8d7c2]{color:var(--color-fg);background-color:var(--color-bg);border:0px}.modal-title[data-v-dff8d7c2]{color:var(--color-fg)}.closebutton[data-v-dff8d7c2]{background:var(--color-fg)}.modal.fade .modal-dialog[data-v-dff8d7c2]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-dff8d7c2]{transition:transform .3s ease-in;transform:none;scale:1}.fa-circle-check[data-v-dff8d7c2]{color:var(--color-fg)}.padbutton[data-v-cc256a6f]{display:flex;align-items:center;justify-content:center;border-radius:50%;border:.1px dotted var(--color-menu);box-shadow:1px 3px #000}.digit[data-v-cc256a6f]{font-size:24px;font-weight:700;text-align:center;align-self:center;justify-self:center;display:flex}.numberpad[data-v-63c8fa5c]{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg)}.codedisplay[data-v-63c8fa5c]{display:flex;align-items:center;justify-content:center;font-size:24px;border:10px;color:var(--color-fg)}.numberentry[data-v-63c8fa5c]{display:grid;grid-template-columns:60px 60px 60px;grid-template-rows:65px 65px 65px 65px;grid-gap:5px}.statustable[data-v-8aa40fae]{display:grid;grid-template-columns:35% 65%;font-size:16px;color:#fff}.header[data-v-8aa40fae]{color:var(--color-fg)}.controlbuttons[data-v-8aa40fae]{font-size:var(--font-settings)}.controlbutton[data-v-8aa40fae]{background-color:var(--color-menu);color:var(--color-fg);font-size:var(--font-settings)}.confirmationBox[data-v-8aa40fae]{border:3px solid var(--color-evu);justify-self:stretch;font-size:var(--font-settings);background-color:var(--color-fg);color:var(--color-evu)}.confirmTitle[data-v-8aa40fae]{font-weight:700}.cancelButton[data-v-8aa40fae]{font-size:var(--font-settings);background-color:var(--color-battery)}.confirmButton[data-v-8aa40fae]{font-size:var(--font-settings);background-color:var(--color-evu);color:var(--color-fg)}.infotext[data-v-45020119]{font-size:var(--font-settings);color:var(--color-battery)}.item-icon[data-v-45020119]{color:var(--color-charging);font-size:var(--font-settings)}.titlecolumn[data-v-45020119]{color:var(--color-bg);font-size:var(--font-settings)}.selectors[data-v-45020119]{font-size:var(--font-settings)}.configitem[data-v-45020119]{font-size:var(--font-settings);align-items:baseline;justify-content:space-between}.rangewidget[data-v-0e01f92a],.rangeslider[data-v-0e01f92a]{width:100%}.minlabel[data-v-0e01f92a],.maxlabel[data-v-0e01f92a]{color:var(--color-menu);font-size:var(--font-settings)}.valuelabel[data-v-0e01f92a]{color:var(--color-fg);font-size:var(--font-settings)}.minusButton[data-v-0e01f92a],.plusButton[data-v-0e01f92a]{color:var(--color-menu);font-size:var(--font-extralarge)}.radiobutton[data-v-005a14a9]{border:.5px solid var(--color-fg);opacity:.5;font-size:14px}.btn-outline-secondary[data-v-005a14a9]{background-color:var(--color-bg)}.btn-outline-secondary.active[data-v-005a14a9]{background-color:var(--color-bg);border:1px solid var(--color-fg);box-shadow:0 .5rem 1rem #fff;font-weight:700;opacity:1}.instantsettings[data-v-6c87e539]{display:grid;justify-content:center;align-items:center;grid-template-columns:auto auto;grid-gap:20px}.chargeConfigSelect[data-v-6c87e539]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-6c87e539]{color:var(--color-fg);font-size:var(--font-settings);font-weight:700}.form-switch .form-check-input[data-v-547e6de4]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='var(--color-fg)'/%3e%3c/svg%3e");background-color:var(--color-evu)}.form-switch .form-check-input[data-v-547e6de4]:checked{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e");background-color:var(--color-pv)}.form-switch .form-check-input[data-v-547e6de4]{border:.1px dotted var(--color-fg);font-size:20px;box-shadow:2px 3px #000}.pvsettings[data-v-908e4b46]{display:grid;justify-content:center;align-items:center;grid-gap:20px;grid-template-columns:auto auto}.chargeConfigSelect[data-v-908e4b46]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-908e4b46]{color:var(--color-pv)}.subtitle[data-v-09a476b7]{font-size:var(--font-large);font-weight:700}.warning[data-v-09a476b7]{font-size:var(--font-large);font-weight:700;color:var(--color-evu)}td[data-v-09a476b7],th[data-v-09a476b7]{background-color:var(--color-bg)!important}.timeplantable[data-v-93a76758]{justify-content:center;gap:20px}.subtitle[data-v-93a76758]{font-size:var(--font-large);font-weight:700}.warning[data-v-93a76758]{font-size:var(--font-large);font-weight:700;color:var(--color-evu)}td[data-v-93a76758],th[data-v-93a76758]{background-color:var(--color-bg)!important}.chargesettings[data-v-1cad71ed]{display:grid;grid-template-columns:auto,auto;justify-content:center;align-items:center;grid-gap:1px}.status-string[data-v-1cad71ed]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-1cad71ed]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-1cad71ed]{background:green;color:#00f}.nav-tabs .nav-link[data-v-1cad71ed]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-1cad71ed]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-1cad71ed]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-1cad71ed]{color:var(--color-charging);font-size:16px;font-weight:700}hr[data-v-1cad71ed]{color:var(--color-menu)}.grapharea[data-v-ca62d6fe]{width:100%;grid-column:span 9}.controlarea[data-v-ca62d6fe]{width:100%;grid-column:span 3}.subtitle[data-v-ca62d6fe]{font-size:var(--font-settings);font-weight:regular}.priceinput[data-v-ca62d6fe]{width:100%}.color-charging[data-v-ca62d6fe]{color:var(--color-charging)}.fa-circle-check[data-v-ca62d6fe]{color:var(--color-menu)}.settingsheader[data-v-ca62d6fe]{color:var(--color-charging);font-size:16px;font-weight:700}.providername[data-v-ca62d6fe]{color:var(--color-axis);font-size:16px}.tab-pane[data-v-c9394349]{font-size:16px;color:var(--color-fg);background-color:var(--color-bg);align-items:center}.nav-link[data-v-c9394349]{font-size:14px;color:var(--color-fg)}.nav-tabs .nav-link.active[data-v-c9394349]{background-color:var(--color-fg)}.fa-bolt[data-v-c9394349],.fa-charging-station[data-v-c9394349]{color:var(--color-charging)}.fa-bullseye[data-v-c9394349]{color:var(--color-battery)}.fa-solar-panel[data-v-c9394349]{color:var(--color-pv)}.fa-lock[data-v-c9394349]{color:var(--color-evu)}.fa-coins[data-v-c9394349]{color:var(--color-charging)}.heading[data-v-9215fd9b]{color:var(--color-menu);font-weight:400;text-align:center}.content[data-v-9215fd9b]{color:var(--color-fg);font-weight:700}.batIcon[data-v-fc156cd3]{color:var(--color-menu)}.titleline[data-v-7cf43681]{display:flex;justify-content:left}.infoline[data-v-7cf43681]{display:flex;justify-content:space-between;flex-direction:row}.chargemodes[data-v-7cf43681]{grid-column:1 / 13;justify-self:center}.carname[data-v-7cf43681]{color:var(--color-fg);font-size:var(--font-medium)}.maxprice[data-v-7cf43681]{font-size:var(--font-medium);color:var(--color-fg)}.fa-star[data-v-7cf43681]{color:var(--color-evu)}.fa-circle-check[data-v-7cf43681]{font-size:20pt}.fa-edit[data-v-7cf43681]{font-size:8pt}.socEditor[data-v-7cf43681]{border:1px solid var(--color-menu);justify-self:stretch}.vehicleinfo[data-v-7cf43681]{display:flex;flex-direction:column}.fa-clock[data-v-795d5c8f]{color:var(--color-battery)}.fa-car[data-v-795d5c8f],.fa-ellipsis-vertical[data-v-795d5c8f],.fa-circle-check[data-v-795d5c8f]{color:var(--color-menu)}.fa-coins[data-v-795d5c8f]{color:var(--color-battery)}.fa-edit[data-v-795d5c8f],.targetCurrent[data-v-795d5c8f]{color:var(--color-menu)}.content[data-v-b1e42e41]{display:grid;grid-template-columns:380px 420px;grid-template-rows:430px;overflow:hidden;min-width:0px}.leftside[data-v-b1e42e41]{min-width:0px;overflow:hidden;height:100%;align-self:stretch}.rightside[data-v-b1e42e41]{min-width:0px;overflow:hidden;height:100%;align-self:stretch;align-items:stretch}.settingstitle[data-v-b1e42e41],.statustitle[data-v-b1e42e41]{color:var(--color-fg)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! +@charset "UTF-8";.displaybutton[data-v-0f8aebee]{border:.1px solid var(--color-frame);padding:6px 8px;align-self:top;box-shadow:1px 3px #000;font-weight:700;font-size:var(--font-small)}.navigation[data-v-6d0b9541]{display:flex;justify-content:space-between;padding:2px 10px;align-items:center;border-top:0px solid var(--color-menu);border-bottom:0px solid var(--color-menu)}.timedisplay[data-v-6d0b9541]{font-size:var(--font-medium);font-weight:700;color:var(--color-input)}.navbar[data-v-6d0b9541]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.graphbuttons[data-v-6d0b9541],.cpbuttons[data-v-6d0b9541]{display:flex;justify-content:left;align-items:center;gap:5px}.dropdown-menu[data-v-6d0b9541]{background-color:var(--color-bg);color:var(--color-fg)}.dropdown-item[data-v-6d0b9541]{background-color:var(--color-bg);color:var(--color-fg);font-size:var(--font-normal)}.btn[data-v-6d0b9541]{font-size:var(--font-medium);background-color:var(--color-bg);color:var(--color-fg)}.navbar-brand[data-v-6d0b9541]{font-weight:700;color:var(--color-fg);font-size:var(--font-normal)}.nav-link[data-v-6d0b9541]{color:var(--color-fg);border-color:red;font-size:var(--font-normal)}.navbar-toggler[data-v-6d0b9541]{color:var(--color-fg);border-color:var(--color-bg)}.navbar-time[data-v-6d0b9541]{font-weight:700;color:var(--color-menu);font-size:var(--font-normal)}.brand[data-v-6d0b9541]{font-size:var(--font-medium);font-weight:700;color:var(--color-input)}.wb-widget[data-v-e8292acd]{background-color:var(--color-bg);border:.1px solid var(--color-frame);height:100%;align-self:stretch;width:100%;border-radius:30px}.wb-subwidget[data-v-e8292acd]{border:0px solid var(--color-subframe);padding:var(--padding-widget)}.header[data-v-e8292acd]{grid-column:span 12;display:flex;justify-content:space-between;align-items:center}.titles[data-v-e8292acd]{display:flex;flex-direction:column}.title[data-v-e8292acd]{font-size:var(--font-extralarge);color:var(--color-title);font-weight:700;transform:scaleX(.9294)}.cont[data-v-e8292acd]{align-self:stretch;height:100%}.subtitle[data-v-e8292acd]{font-size:var(--font-medium)}.buttons[data-v-e8292acd]{grid-column:span 6}.powermeter{width:100%}.radiobutton[data-v-270067ed]{border:0px solid var(--color-menu);opacity:1;font-size:var(--font-chargebutton);width:75px}.btn-outline-secondary.active[data-v-270067ed]{background-color:var(--color-bg);border:0px solid var(--color-fg);opacity:.8}.btn-group[data-v-270067ed]{border:.1px solid var(--color-menu);box-shadow:1px 3px #000}.rounded-pill[data-v-7fd067cd]{background-color:var(--color-menu)}.arrowButton[data-v-7fd067cd]{border:0}.datebadge[data-v-7fd067cd]{background-color:var(--color-bg);color:var(--color-menu);border:1px solid var(--color-menu);font-size:var(--font-small);font-weight:400}.arrowButton[data-v-7fd067cd],.fa-magnifying-glass[data-v-ba892fa4]{color:var(--color-menu)}.datebadge[data-v-ba892fa4]{background-color:var(--color-menu);color:var(--color-bg);font-size:var(--font-medium);font-weight:400}.energymeter[data-v-35f92695]{width:100%}.modal-content[data-v-dff8d7c2]{background-color:var(--color-bg);border-color:var(--color-menu);box-shadow:3px 5px #000}.modal-footer[data-v-dff8d7c2],.modal-header[data-v-dff8d7c2],.modal-body[data-v-dff8d7c2]{background-color:var(--color-bg);color:var(--color-fg)}.modal-body[data-v-dff8d7c2]{border-color:var(--color-fg)}.modal-footer[data-v-dff8d7c2]{text-align:right}.modal-header .btn-close[data-v-dff8d7c2]{color:var(--color-fg);background-color:var(--color-bg);border:0px}.modal-title[data-v-dff8d7c2]{color:var(--color-fg)}.closebutton[data-v-dff8d7c2]{background:var(--color-fg)}.modal.fade .modal-dialog[data-v-dff8d7c2]{transition:transform 1s ease-out;transform:none;scale:.6}.modal.show .modal-dialog[data-v-dff8d7c2]{transition:transform .3s ease-in;transform:none;scale:1}.fa-circle-check[data-v-dff8d7c2]{color:var(--color-fg)}.padbutton[data-v-cc256a6f]{display:flex;align-items:center;justify-content:center;border-radius:50%;border:.1px dotted var(--color-menu);box-shadow:1px 3px #000}.digit[data-v-cc256a6f]{font-size:24px;font-weight:700;text-align:center;align-self:center;justify-self:center;display:flex}.numberpad[data-v-63c8fa5c]{display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--color-bg)}.codedisplay[data-v-63c8fa5c]{display:flex;align-items:center;justify-content:center;font-size:24px;border:10px;color:var(--color-fg)}.numberentry[data-v-63c8fa5c]{display:grid;grid-template-columns:60px 60px 60px;grid-template-rows:65px 65px 65px 65px;grid-gap:5px}.statustable[data-v-74ffcddc]{display:grid;grid-template-columns:35% 65%;font-size:16px;color:#fff}.header[data-v-74ffcddc]{color:var(--color-fg)}.controlbuttons[data-v-74ffcddc]{font-size:var(--font-settings)}.controlbutton[data-v-74ffcddc]{background-color:var(--color-menu);color:var(--color-fg);font-size:var(--font-settings)}.confirmationBox[data-v-74ffcddc]{border:3px solid var(--color-evu);justify-self:stretch;font-size:var(--font-settings);background-color:var(--color-fg);color:var(--color-evu)}.confirmTitle[data-v-74ffcddc]{font-weight:700}.cancelButton[data-v-74ffcddc]{font-size:var(--font-settings);background-color:var(--color-battery)}.confirmButton[data-v-74ffcddc]{font-size:var(--font-settings);background-color:var(--color-evu);color:var(--color-fg)}.infotext[data-v-45020119]{font-size:var(--font-settings);color:var(--color-battery)}.item-icon[data-v-45020119]{color:var(--color-charging);font-size:var(--font-settings)}.titlecolumn[data-v-45020119]{color:var(--color-bg);font-size:var(--font-settings)}.selectors[data-v-45020119]{font-size:var(--font-settings)}.configitem[data-v-45020119]{font-size:var(--font-settings);align-items:baseline;justify-content:space-between}.rangewidget[data-v-0e01f92a],.rangeslider[data-v-0e01f92a]{width:100%}.minlabel[data-v-0e01f92a],.maxlabel[data-v-0e01f92a]{color:var(--color-menu);font-size:var(--font-settings)}.valuelabel[data-v-0e01f92a]{color:var(--color-fg);font-size:var(--font-settings)}.minusButton[data-v-0e01f92a],.plusButton[data-v-0e01f92a]{color:var(--color-menu);font-size:var(--font-extralarge)}.radiobutton[data-v-005a14a9]{border:.5px solid var(--color-fg);opacity:.5;font-size:14px}.btn-outline-secondary[data-v-005a14a9]{background-color:var(--color-bg)}.btn-outline-secondary.active[data-v-005a14a9]{background-color:var(--color-bg);border:1px solid var(--color-fg);box-shadow:0 .5rem 1rem #fff;font-weight:700;opacity:1}.instantsettings[data-v-6c87e539]{display:grid;justify-content:center;align-items:center;grid-template-columns:auto auto;grid-gap:20px}.chargeConfigSelect[data-v-6c87e539]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-6c87e539]{color:var(--color-fg);font-size:var(--font-settings);font-weight:700}.form-switch .form-check-input[data-v-547e6de4]{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='var(--color-fg)'/%3e%3c/svg%3e");background-color:var(--color-evu)}.form-switch .form-check-input[data-v-547e6de4]:checked{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='white'/%3e%3c/svg%3e");background-color:var(--color-pv)}.form-switch .form-check-input[data-v-547e6de4]{border:.1px dotted var(--color-fg);font-size:20px;box-shadow:2px 3px #000}.pvsettings[data-v-908e4b46]{display:grid;justify-content:center;align-items:center;grid-gap:20px;grid-template-columns:auto auto}.chargeConfigSelect[data-v-908e4b46]{background:var(--color-bg);color:var(--color-fg)}.heading[data-v-908e4b46]{color:var(--color-pv)}.subtitle[data-v-09a476b7]{font-size:var(--font-large);font-weight:700}.warning[data-v-09a476b7]{font-size:var(--font-large);font-weight:700;color:var(--color-evu)}td[data-v-09a476b7],th[data-v-09a476b7]{background-color:var(--color-bg)!important}.timeplantable[data-v-93a76758]{justify-content:center;gap:20px}.subtitle[data-v-93a76758]{font-size:var(--font-large);font-weight:700}.warning[data-v-93a76758]{font-size:var(--font-large);font-weight:700;color:var(--color-evu)}td[data-v-93a76758],th[data-v-93a76758]{background-color:var(--color-bg)!important}.chargesettings[data-v-1cad71ed]{display:grid;grid-template-columns:auto,auto;justify-content:center;align-items:center;grid-gap:1px}.status-string[data-v-1cad71ed]{font-size:var(--font-normal);font-style:italic;color:var(--color-battery)}.chargeConfigSelect[data-v-1cad71ed]{background:var(--color-bg);color:var(--color-fg)}.chargeModeOption[data-v-1cad71ed]{background:green;color:#00f}.nav-tabs .nav-link[data-v-1cad71ed]{color:var(--color-menu);opacity:.5}.nav-tabs .nav-link.disabled[data-v-1cad71ed]{color:var(--color-axis);border:.5px solid var(--color-axis)}.nav-tabs .nav-link.active[data-v-1cad71ed]{color:var(--color-fg);background-color:var(--color-bg);opacity:1;border:1px solid var(--color-menu);border-bottom:1px solid var(--color-menu)}.settingsheader[data-v-1cad71ed]{color:var(--color-charging);font-size:16px;font-weight:700}hr[data-v-1cad71ed]{color:var(--color-menu)}.grapharea[data-v-ca62d6fe]{width:100%;grid-column:span 9}.controlarea[data-v-ca62d6fe]{width:100%;grid-column:span 3}.subtitle[data-v-ca62d6fe]{font-size:var(--font-settings);font-weight:regular}.priceinput[data-v-ca62d6fe]{width:100%}.color-charging[data-v-ca62d6fe]{color:var(--color-charging)}.fa-circle-check[data-v-ca62d6fe]{color:var(--color-menu)}.settingsheader[data-v-ca62d6fe]{color:var(--color-charging);font-size:16px;font-weight:700}.providername[data-v-ca62d6fe]{color:var(--color-axis);font-size:16px}.tab-pane[data-v-c9394349]{font-size:16px;color:var(--color-fg);background-color:var(--color-bg);align-items:center}.nav-link[data-v-c9394349]{font-size:14px;color:var(--color-fg)}.nav-tabs .nav-link.active[data-v-c9394349]{background-color:var(--color-fg)}.fa-bolt[data-v-c9394349],.fa-charging-station[data-v-c9394349]{color:var(--color-charging)}.fa-bullseye[data-v-c9394349]{color:var(--color-battery)}.fa-solar-panel[data-v-c9394349]{color:var(--color-pv)}.fa-lock[data-v-c9394349]{color:var(--color-evu)}.fa-coins[data-v-c9394349]{color:var(--color-charging)}.heading[data-v-9215fd9b]{color:var(--color-menu);font-weight:400;text-align:center}.content[data-v-9215fd9b]{color:var(--color-fg);font-weight:700}.batIcon[data-v-fc156cd3]{color:var(--color-menu)}.titleline[data-v-cd7c1021]{display:flex;justify-content:left}.infoline[data-v-cd7c1021]{display:flex;justify-content:space-between;flex-direction:row}.chargemodes[data-v-cd7c1021]{grid-column:1 / 13;justify-self:center}.carname[data-v-cd7c1021]{color:var(--color-fg);font-size:var(--font-medium)}.maxprice[data-v-cd7c1021]{font-size:var(--font-medium);color:var(--color-fg)}.fa-star[data-v-cd7c1021]{color:var(--color-evu)}.fa-circle-check[data-v-cd7c1021]{font-size:20pt}.fa-edit[data-v-cd7c1021]{font-size:8pt}.socEditor[data-v-cd7c1021]{border:1px solid var(--color-menu);justify-self:stretch}.vehicleinfo[data-v-cd7c1021]{display:flex;flex-direction:column}.fa-clock[data-v-795d5c8f]{color:var(--color-battery)}.fa-car[data-v-795d5c8f],.fa-ellipsis-vertical[data-v-795d5c8f],.fa-circle-check[data-v-795d5c8f]{color:var(--color-menu)}.fa-coins[data-v-795d5c8f]{color:var(--color-battery)}.fa-edit[data-v-795d5c8f],.targetCurrent[data-v-795d5c8f]{color:var(--color-menu)}.content[data-v-9b3643f1]{display:grid;grid-template-columns:380px 420px;grid-template-rows:430px;overflow:hidden;min-width:0px}.leftside[data-v-9b3643f1]{min-width:0px;overflow:hidden;height:100%;align-self:stretch}.rightside[data-v-9b3643f1]{min-width:0px;overflow:hidden;height:100%;align-self:stretch;align-items:stretch}.settingstitle[data-v-9b3643f1],.statustitle[data-v-9b3643f1]{color:var(--color-fg)}.fa{font-family:var(--fa-style-family, "Font Awesome 6 Free");font-weight:var(--fa-style, 900)}.fa,.fa-brands,.fa-duotone,.fa-light,.fa-regular,.fa-solid,.fa-thin,.fab,.fad,.fal,.far,.fas,.fat{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display, inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin, 2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em) * -1);position:absolute;text-align:center;width:var(--fa-li-width, 2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius, .1em);border:var(--fa-border-width, .08em) var(--fa-border-style, solid) var(--fa-border-color, #eee);padding:var(--fa-border-padding, .2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin, .3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin, .3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.28, .84, .42, 1) )}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) );animation-timing-function:var( --fa-animation-timing, cubic-bezier(.4, 0, .6, 1) )}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, ease-in-out);animation-timing-function:var(--fa-animation-timing, ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay, 0);animation-delay:var(--fa-animation-delay, 0);-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration, 2s);animation-duration:var(--fa-animation-duration, 2s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, linear);animation-timing-function:var(--fa-animation-timing, linear)}.fa-spin-reverse{--fa-animation-direction: reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction, normal);animation-direction:var(--fa-animation-direction, normal);-webkit-animation-duration:var(--fa-animation-duration, 1s);animation-duration:var(--fa-animation-duration, 1s);-webkit-animation-iteration-count:var( --fa-animation-iteration-count, infinite );animation-iteration-count:var(--fa-animation-iteration-count, infinite);-webkit-animation-timing-function:var(--fa-animation-timing, steps(8));animation-timing-function:var(--fa-animation-timing, steps(8))}@media (prefers-reduced-motion: reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale, 1.25));transform:scale(var(--fa-beat-scale, 1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x, 1.1),var(--fa-bounce-start-scale-y, .9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em));transform:scale(var(--fa-bounce-jump-scale-x, .9),var(--fa-bounce-jump-scale-y, 1.1)) translateY(var(--fa-bounce-height, -.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x, 1.05),var(--fa-bounce-land-scale-y, .95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em));transform:scale(1) translateY(var(--fa-bounce-rebound, -.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity, .4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity, .4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale, 1.125));transform:scale(var(--fa-beat-fade-scale, 1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg));transform:rotate3d(var(--fa-flip-x, 0),var(--fa-flip-y, 1),var(--fa-flip-z, 0),var(--fa-flip-angle, -180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle, none));transform:rotate(var(--fa-rotate-angle, none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index, auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse, #fff)}.fa-0:before{content:"0"}.fa-1:before{content:"1"}.fa-2:before{content:"2"}.fa-3:before{content:"3"}.fa-4:before{content:"4"}.fa-5:before{content:"5"}.fa-6:before{content:"6"}.fa-7:before{content:"7"}.fa-8:before{content:"8"}.fa-9:before{content:"9"}.fa-a:before{content:"A"}.fa-address-book:before,.fa-contact-book:before{content:""}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:""}.fa-align-center:before{content:""}.fa-align-justify:before{content:""}.fa-align-left:before{content:""}.fa-align-right:before{content:""}.fa-anchor:before{content:""}.fa-angle-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-double-down:before,.fa-angles-down:before{content:""}.fa-angle-double-left:before,.fa-angles-left:before{content:""}.fa-angle-double-right:before,.fa-angles-right:before{content:""}.fa-angle-double-up:before,.fa-angles-up:before{content:""}.fa-ankh:before{content:""}.fa-apple-alt:before,.fa-apple-whole:before{content:""}.fa-archway:before{content:""}.fa-arrow-down:before{content:""}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:""}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:""}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:""}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:""}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:""}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:""}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:""}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:""}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:""}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:""}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:""}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:""}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:""}.fa-arrow-trend-down:before{content:""}.fa-arrow-trend-up:before{content:""}.fa-arrow-turn-down:before,.fa-level-down:before{content:""}.fa-arrow-turn-up:before,.fa-level-up:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:""}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:""}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:""}.fa-arrow-up-from-bracket:before{content:""}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:""}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:""}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:""}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:""}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:""}.fa-arrows-h:before,.fa-arrows-left-right:before{content:""}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:""}.fa-arrows-up-down:before,.fa-arrows-v:before{content:""}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:""}.fa-asterisk:before{content:"*"}.fa-at:before{content:"@"}.fa-atom:before{content:""}.fa-audio-description:before{content:""}.fa-austral-sign:before{content:""}.fa-award:before{content:""}.fa-b:before{content:"B"}.fa-baby:before{content:""}.fa-baby-carriage:before,.fa-carriage-baby:before{content:""}.fa-backward:before{content:""}.fa-backward-fast:before,.fa-fast-backward:before{content:""}.fa-backward-step:before,.fa-step-backward:before{content:""}.fa-bacon:before{content:""}.fa-bacteria:before{content:""}.fa-bacterium:before{content:""}.fa-bag-shopping:before,.fa-shopping-bag:before{content:""}.fa-bahai:before{content:""}.fa-baht-sign:before{content:""}.fa-ban:before,.fa-cancel:before{content:""}.fa-ban-smoking:before,.fa-smoking-ban:before{content:""}.fa-band-aid:before,.fa-bandage:before{content:""}.fa-barcode:before{content:""}.fa-bars:before,.fa-navicon:before{content:""}.fa-bars-progress:before,.fa-tasks-alt:before{content:""}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:""}.fa-baseball-ball:before,.fa-baseball:before{content:""}.fa-baseball-bat-ball:before{content:""}.fa-basket-shopping:before,.fa-shopping-basket:before{content:""}.fa-basketball-ball:before,.fa-basketball:before{content:""}.fa-bath:before,.fa-bathtub:before{content:""}.fa-battery-0:before,.fa-battery-empty:before{content:""}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:""}.fa-battery-3:before,.fa-battery-half:before{content:""}.fa-battery-2:before,.fa-battery-quarter:before{content:""}.fa-battery-4:before,.fa-battery-three-quarters:before{content:""}.fa-bed:before{content:""}.fa-bed-pulse:before,.fa-procedures:before{content:""}.fa-beer-mug-empty:before,.fa-beer:before{content:""}.fa-bell:before{content:""}.fa-bell-concierge:before,.fa-concierge-bell:before{content:""}.fa-bell-slash:before{content:""}.fa-bezier-curve:before{content:""}.fa-bicycle:before{content:""}.fa-binoculars:before{content:""}.fa-biohazard:before{content:""}.fa-bitcoin-sign:before{content:""}.fa-blender:before{content:""}.fa-blender-phone:before{content:""}.fa-blog:before{content:""}.fa-bold:before{content:""}.fa-bolt:before,.fa-zap:before{content:""}.fa-bolt-lightning:before{content:""}.fa-bomb:before{content:""}.fa-bone:before{content:""}.fa-bong:before{content:""}.fa-book:before{content:""}.fa-atlas:before,.fa-book-atlas:before{content:""}.fa-bible:before,.fa-book-bible:before{content:""}.fa-book-journal-whills:before,.fa-journal-whills:before{content:""}.fa-book-medical:before{content:""}.fa-book-open:before{content:""}.fa-book-open-reader:before,.fa-book-reader:before{content:""}.fa-book-quran:before,.fa-quran:before{content:""}.fa-book-dead:before,.fa-book-skull:before{content:""}.fa-bookmark:before{content:""}.fa-border-all:before{content:""}.fa-border-none:before{content:""}.fa-border-style:before,.fa-border-top-left:before{content:""}.fa-bowling-ball:before{content:""}.fa-box:before{content:""}.fa-archive:before,.fa-box-archive:before{content:""}.fa-box-open:before{content:""}.fa-box-tissue:before{content:""}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:""}.fa-braille:before{content:""}.fa-brain:before{content:""}.fa-brazilian-real-sign:before{content:""}.fa-bread-slice:before{content:""}.fa-briefcase:before{content:""}.fa-briefcase-medical:before{content:""}.fa-broom:before{content:""}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:""}.fa-brush:before{content:""}.fa-bug:before{content:""}.fa-bug-slash:before{content:""}.fa-building:before{content:""}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:""}.fa-bullhorn:before{content:""}.fa-bullseye:before{content:""}.fa-burger:before,.fa-hamburger:before{content:""}.fa-bus:before{content:""}.fa-bus-alt:before,.fa-bus-simple:before{content:""}.fa-briefcase-clock:before,.fa-business-time:before{content:""}.fa-c:before{content:"C"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:""}.fa-calculator:before{content:""}.fa-calendar:before{content:""}.fa-calendar-check:before{content:""}.fa-calendar-day:before{content:""}.fa-calendar-alt:before,.fa-calendar-days:before{content:""}.fa-calendar-minus:before{content:""}.fa-calendar-plus:before{content:""}.fa-calendar-week:before{content:""}.fa-calendar-times:before,.fa-calendar-xmark:before{content:""}.fa-camera-alt:before,.fa-camera:before{content:""}.fa-camera-retro:before{content:""}.fa-camera-rotate:before{content:""}.fa-campground:before{content:""}.fa-candy-cane:before{content:""}.fa-cannabis:before{content:""}.fa-capsules:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-battery-car:before,.fa-car-battery:before{content:""}.fa-car-crash:before{content:""}.fa-car-alt:before,.fa-car-rear:before{content:""}.fa-car-side:before{content:""}.fa-caravan:before{content:""}.fa-caret-down:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-caret-up:before{content:""}.fa-carrot:before{content:""}.fa-cart-arrow-down:before{content:""}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:""}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:""}.fa-cart-plus:before{content:""}.fa-cart-shopping:before,.fa-shopping-cart:before{content:""}.fa-cash-register:before{content:""}.fa-cat:before{content:""}.fa-cedi-sign:before{content:""}.fa-cent-sign:before{content:""}.fa-certificate:before{content:""}.fa-chair:before{content:""}.fa-blackboard:before,.fa-chalkboard:before{content:""}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:""}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:""}.fa-charging-station:before{content:""}.fa-area-chart:before,.fa-chart-area:before{content:""}.fa-bar-chart:before,.fa-chart-bar:before{content:""}.fa-chart-column:before{content:""}.fa-chart-gantt:before{content:""}.fa-chart-line:before,.fa-line-chart:before{content:""}.fa-chart-pie:before,.fa-pie-chart:before{content:""}.fa-check:before{content:""}.fa-check-double:before{content:""}.fa-check-to-slot:before,.fa-vote-yea:before{content:""}.fa-cheese:before{content:""}.fa-chess:before{content:""}.fa-chess-bishop:before{content:""}.fa-chess-board:before{content:""}.fa-chess-king:before{content:""}.fa-chess-knight:before{content:""}.fa-chess-pawn:before{content:""}.fa-chess-queen:before{content:""}.fa-chess-rook:before{content:""}.fa-chevron-down:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-chevron-up:before{content:""}.fa-child:before{content:""}.fa-church:before{content:""}.fa-circle:before{content:""}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:""}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:""}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:""}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:""}.fa-check-circle:before,.fa-circle-check:before{content:""}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:""}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:""}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:""}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:""}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:""}.fa-circle-dot:before,.fa-dot-circle:before{content:""}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:""}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:""}.fa-circle-h:before,.fa-hospital-symbol:before{content:""}.fa-adjust:before,.fa-circle-half-stroke:before{content:""}.fa-circle-info:before,.fa-info-circle:before{content:""}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:""}.fa-circle-minus:before,.fa-minus-circle:before{content:""}.fa-circle-notch:before{content:""}.fa-circle-pause:before,.fa-pause-circle:before{content:""}.fa-circle-play:before,.fa-play-circle:before{content:""}.fa-circle-plus:before,.fa-plus-circle:before{content:""}.fa-circle-question:before,.fa-question-circle:before{content:""}.fa-circle-radiation:before,.fa-radiation-alt:before{content:""}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:""}.fa-circle-stop:before,.fa-stop-circle:before{content:""}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:""}.fa-circle-user:before,.fa-user-circle:before{content:""}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:""}.fa-city:before{content:""}.fa-clapperboard:before{content:""}.fa-clipboard:before{content:""}.fa-clipboard-check:before{content:""}.fa-clipboard-list:before{content:""}.fa-clock-four:before,.fa-clock:before{content:""}.fa-clock-rotate-left:before,.fa-history:before{content:""}.fa-clone:before{content:""}.fa-closed-captioning:before{content:""}.fa-cloud:before{content:""}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:""}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:""}.fa-cloud-meatball:before{content:""}.fa-cloud-moon:before{content:""}.fa-cloud-moon-rain:before{content:""}.fa-cloud-rain:before{content:""}.fa-cloud-showers-heavy:before{content:""}.fa-cloud-sun:before{content:""}.fa-cloud-sun-rain:before{content:""}.fa-clover:before{content:""}.fa-code:before{content:""}.fa-code-branch:before{content:""}.fa-code-commit:before{content:""}.fa-code-compare:before{content:""}.fa-code-fork:before{content:""}.fa-code-merge:before{content:""}.fa-code-pull-request:before{content:""}.fa-coins:before{content:""}.fa-colon-sign:before{content:""}.fa-comment:before{content:""}.fa-comment-dollar:before{content:""}.fa-comment-dots:before,.fa-commenting:before{content:""}.fa-comment-medical:before{content:""}.fa-comment-slash:before{content:""}.fa-comment-sms:before,.fa-sms:before{content:""}.fa-comments:before{content:""}.fa-comments-dollar:before{content:""}.fa-compact-disc:before{content:""}.fa-compass:before{content:""}.fa-compass-drafting:before,.fa-drafting-compass:before{content:""}.fa-compress:before{content:""}.fa-computer-mouse:before,.fa-mouse:before{content:""}.fa-cookie:before{content:""}.fa-cookie-bite:before{content:""}.fa-copy:before{content:""}.fa-copyright:before{content:""}.fa-couch:before{content:""}.fa-credit-card-alt:before,.fa-credit-card:before{content:""}.fa-crop:before{content:""}.fa-crop-alt:before,.fa-crop-simple:before{content:""}.fa-cross:before{content:""}.fa-crosshairs:before{content:""}.fa-crow:before{content:""}.fa-crown:before{content:""}.fa-crutch:before{content:""}.fa-cruzeiro-sign:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-d:before{content:"D"}.fa-database:before{content:""}.fa-backspace:before,.fa-delete-left:before{content:""}.fa-democrat:before{content:""}.fa-desktop-alt:before,.fa-desktop:before{content:""}.fa-dharmachakra:before{content:""}.fa-diagram-next:before{content:""}.fa-diagram-predecessor:before{content:""}.fa-diagram-project:before,.fa-project-diagram:before{content:""}.fa-diagram-successor:before{content:""}.fa-diamond:before{content:""}.fa-diamond-turn-right:before,.fa-directions:before{content:""}.fa-dice:before{content:""}.fa-dice-d20:before{content:""}.fa-dice-d6:before{content:""}.fa-dice-five:before{content:""}.fa-dice-four:before{content:""}.fa-dice-one:before{content:""}.fa-dice-six:before{content:""}.fa-dice-three:before{content:""}.fa-dice-two:before{content:""}.fa-disease:before{content:""}.fa-divide:before{content:""}.fa-dna:before{content:""}.fa-dog:before{content:""}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"$"}.fa-dolly-box:before,.fa-dolly:before{content:""}.fa-dong-sign:before{content:""}.fa-door-closed:before{content:""}.fa-door-open:before{content:""}.fa-dove:before{content:""}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:""}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:""}.fa-download:before{content:""}.fa-dragon:before{content:""}.fa-draw-polygon:before{content:""}.fa-droplet:before,.fa-tint:before{content:""}.fa-droplet-slash:before,.fa-tint-slash:before{content:""}.fa-drum:before{content:""}.fa-drum-steelpan:before{content:""}.fa-drumstick-bite:before{content:""}.fa-dumbbell:before{content:""}.fa-dumpster:before{content:""}.fa-dumpster-fire:before{content:""}.fa-dungeon:before{content:""}.fa-e:before{content:"E"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:""}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:""}.fa-earth-africa:before,.fa-globe-africa:before{content:""}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:""}.fa-earth-asia:before,.fa-globe-asia:before{content:""}.fa-earth-europe:before,.fa-globe-europe:before{content:""}.fa-earth-oceania:before,.fa-globe-oceania:before{content:""}.fa-egg:before{content:""}.fa-eject:before{content:""}.fa-elevator:before{content:""}.fa-ellipsis-h:before,.fa-ellipsis:before{content:""}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:""}.fa-envelope:before{content:""}.fa-envelope-open:before{content:""}.fa-envelope-open-text:before{content:""}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:""}.fa-equals:before{content:"="}.fa-eraser:before{content:""}.fa-ethernet:before{content:""}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:""}.fa-exclamation:before{content:"!"}.fa-expand:before{content:""}.fa-eye:before{content:""}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:""}.fa-eye-low-vision:before,.fa-low-vision:before{content:""}.fa-eye-slash:before{content:""}.fa-f:before{content:"F"}.fa-angry:before,.fa-face-angry:before{content:""}.fa-dizzy:before,.fa-face-dizzy:before{content:""}.fa-face-flushed:before,.fa-flushed:before{content:""}.fa-face-frown:before,.fa-frown:before{content:""}.fa-face-frown-open:before,.fa-frown-open:before{content:""}.fa-face-grimace:before,.fa-grimace:before{content:""}.fa-face-grin:before,.fa-grin:before{content:""}.fa-face-grin-beam:before,.fa-grin-beam:before{content:""}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:""}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:""}.fa-face-grin-squint:before,.fa-grin-squint:before{content:""}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:""}.fa-face-grin-stars:before,.fa-grin-stars:before{content:""}.fa-face-grin-tears:before,.fa-grin-tears:before{content:""}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:""}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:""}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:""}.fa-face-grin-wide:before,.fa-grin-alt:before{content:""}.fa-face-grin-wink:before,.fa-grin-wink:before{content:""}.fa-face-kiss:before,.fa-kiss:before{content:""}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:""}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:""}.fa-face-laugh:before,.fa-laugh:before{content:""}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:""}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:""}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:""}.fa-face-meh:before,.fa-meh:before{content:""}.fa-face-meh-blank:before,.fa-meh-blank:before{content:""}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:""}.fa-face-sad-cry:before,.fa-sad-cry:before{content:""}.fa-face-sad-tear:before,.fa-sad-tear:before{content:""}.fa-face-smile:before,.fa-smile:before{content:""}.fa-face-smile-beam:before,.fa-smile-beam:before{content:""}.fa-face-smile-wink:before,.fa-smile-wink:before{content:""}.fa-face-surprise:before,.fa-surprise:before{content:""}.fa-face-tired:before,.fa-tired:before{content:""}.fa-fan:before{content:""}.fa-faucet:before{content:""}.fa-fax:before{content:""}.fa-feather:before{content:""}.fa-feather-alt:before,.fa-feather-pointed:before{content:""}.fa-file:before{content:""}.fa-file-arrow-down:before,.fa-file-download:before{content:""}.fa-file-arrow-up:before,.fa-file-upload:before{content:""}.fa-file-audio:before{content:""}.fa-file-code:before{content:""}.fa-file-contract:before{content:""}.fa-file-csv:before{content:""}.fa-file-excel:before{content:""}.fa-arrow-right-from-file:before,.fa-file-export:before{content:""}.fa-file-image:before{content:""}.fa-arrow-right-to-file:before,.fa-file-import:before{content:""}.fa-file-invoice:before{content:""}.fa-file-invoice-dollar:before{content:""}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:""}.fa-file-medical:before{content:""}.fa-file-pdf:before{content:""}.fa-file-powerpoint:before{content:""}.fa-file-prescription:before{content:""}.fa-file-signature:before{content:""}.fa-file-video:before{content:""}.fa-file-medical-alt:before,.fa-file-waveform:before{content:""}.fa-file-word:before{content:""}.fa-file-archive:before,.fa-file-zipper:before{content:""}.fa-fill:before{content:""}.fa-fill-drip:before{content:""}.fa-film:before{content:""}.fa-filter:before{content:""}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:""}.fa-filter-circle-xmark:before{content:""}.fa-fingerprint:before{content:""}.fa-fire:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:""}.fa-burn:before,.fa-fire-flame-simple:before{content:""}.fa-fish:before{content:""}.fa-flag:before{content:""}.fa-flag-checkered:before{content:""}.fa-flag-usa:before{content:""}.fa-flask:before{content:""}.fa-floppy-disk:before,.fa-save:before{content:""}.fa-florin-sign:before{content:""}.fa-folder:before{content:""}.fa-folder-minus:before{content:""}.fa-folder-open:before{content:""}.fa-folder-plus:before{content:""}.fa-folder-tree:before{content:""}.fa-font:before{content:""}.fa-football-ball:before,.fa-football:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before,.fa-forward-fast:before{content:""}.fa-forward-step:before,.fa-step-forward:before{content:""}.fa-franc-sign:before{content:""}.fa-frog:before{content:""}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:""}.fa-g:before{content:"G"}.fa-gamepad:before{content:""}.fa-gas-pump:before{content:""}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:""}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:""}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:""}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-gem:before{content:""}.fa-genderless:before{content:""}.fa-ghost:before{content:""}.fa-gift:before{content:""}.fa-gifts:before{content:""}.fa-glasses:before{content:""}.fa-globe:before{content:""}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:""}.fa-gopuram:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-greater-than:before{content:">"}.fa-greater-than-equal:before{content:""}.fa-grip-horizontal:before,.fa-grip:before{content:""}.fa-grip-lines:before{content:""}.fa-grip-lines-vertical:before{content:""}.fa-grip-vertical:before{content:""}.fa-guarani-sign:before{content:""}.fa-guitar:before{content:""}.fa-gun:before{content:""}.fa-h:before{content:"H"}.fa-hammer:before{content:""}.fa-hamsa:before{content:""}.fa-hand-paper:before,.fa-hand:before{content:""}.fa-hand-back-fist:before,.fa-hand-rock:before{content:""}.fa-allergies:before,.fa-hand-dots:before{content:""}.fa-fist-raised:before,.fa-hand-fist:before{content:""}.fa-hand-holding:before{content:""}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:""}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:""}.fa-hand-holding-heart:before{content:""}.fa-hand-holding-medical:before{content:""}.fa-hand-lizard:before{content:""}.fa-hand-middle-finger:before{content:""}.fa-hand-peace:before{content:""}.fa-hand-point-down:before{content:""}.fa-hand-point-left:before{content:""}.fa-hand-point-right:before{content:""}.fa-hand-point-up:before{content:""}.fa-hand-pointer:before{content:""}.fa-hand-scissors:before{content:""}.fa-hand-sparkles:before{content:""}.fa-hand-spock:before{content:""}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:""}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:""}.fa-hands-bubbles:before,.fa-hands-wash:before{content:""}.fa-hands-clapping:before{content:""}.fa-hands-holding:before{content:""}.fa-hands-praying:before,.fa-praying-hands:before{content:""}.fa-handshake:before{content:""}.fa-hands-helping:before,.fa-handshake-angle:before{content:""}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:""}.fa-handshake-slash:before{content:""}.fa-hanukiah:before{content:""}.fa-hard-drive:before,.fa-hdd:before{content:""}.fa-hashtag:before{content:"#"}.fa-hat-cowboy:before{content:""}.fa-hat-cowboy-side:before{content:""}.fa-hat-wizard:before{content:""}.fa-head-side-cough:before{content:""}.fa-head-side-cough-slash:before{content:""}.fa-head-side-mask:before{content:""}.fa-head-side-virus:before{content:""}.fa-header:before,.fa-heading:before{content:""}.fa-headphones:before{content:""}.fa-headphones-alt:before,.fa-headphones-simple:before{content:""}.fa-headset:before{content:""}.fa-heart:before{content:""}.fa-heart-broken:before,.fa-heart-crack:before{content:""}.fa-heart-pulse:before,.fa-heartbeat:before{content:""}.fa-helicopter:before{content:""}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:""}.fa-highlighter:before{content:""}.fa-hippo:before{content:""}.fa-hockey-puck:before{content:""}.fa-holly-berry:before{content:""}.fa-horse:before{content:""}.fa-horse-head:before{content:""}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:""}.fa-hospital-user:before{content:""}.fa-hot-tub-person:before,.fa-hot-tub:before{content:""}.fa-hotdog:before{content:""}.fa-hotel:before{content:""}.fa-hourglass-2:before,.fa-hourglass-half:before,.fa-hourglass:before{content:""}.fa-hourglass-empty:before{content:""}.fa-hourglass-3:before,.fa-hourglass-end:before{content:""}.fa-hourglass-1:before,.fa-hourglass-start:before{content:""}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:""}.fa-home-lg:before,.fa-house-chimney:before{content:""}.fa-house-chimney-crack:before,.fa-house-damage:before{content:""}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:""}.fa-house-chimney-user:before{content:""}.fa-house-chimney-window:before{content:""}.fa-house-crack:before{content:""}.fa-house-laptop:before,.fa-laptop-house:before{content:""}.fa-house-medical:before{content:""}.fa-home-user:before,.fa-house-user:before{content:""}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:""}.fa-i:before{content:"I"}.fa-i-cursor:before{content:""}.fa-ice-cream:before{content:""}.fa-icicles:before{content:""}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:""}.fa-id-badge:before{content:""}.fa-drivers-license:before,.fa-id-card:before{content:""}.fa-id-card-alt:before,.fa-id-card-clip:before{content:""}.fa-igloo:before{content:""}.fa-image:before{content:""}.fa-image-portrait:before,.fa-portrait:before{content:""}.fa-images:before{content:""}.fa-inbox:before{content:""}.fa-indent:before{content:""}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:""}.fa-industry:before{content:""}.fa-infinity:before{content:""}.fa-info:before{content:""}.fa-italic:before{content:""}.fa-j:before{content:"J"}.fa-jedi:before{content:""}.fa-fighter-jet:before,.fa-jet-fighter:before{content:""}.fa-joint:before{content:""}.fa-k:before{content:"K"}.fa-kaaba:before{content:""}.fa-key:before{content:""}.fa-keyboard:before{content:""}.fa-khanda:before{content:""}.fa-kip-sign:before{content:""}.fa-first-aid:before,.fa-kit-medical:before{content:""}.fa-kiwi-bird:before{content:""}.fa-l:before{content:"L"}.fa-landmark:before{content:""}.fa-language:before{content:""}.fa-laptop:before{content:""}.fa-laptop-code:before{content:""}.fa-laptop-medical:before{content:""}.fa-lari-sign:before{content:""}.fa-layer-group:before{content:""}.fa-leaf:before{content:""}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:""}.fa-arrows-alt-h:before,.fa-left-right:before{content:""}.fa-lemon:before{content:""}.fa-less-than:before{content:"<"}.fa-less-than-equal:before{content:""}.fa-life-ring:before{content:""}.fa-lightbulb:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:""}.fa-lira-sign:before{content:""}.fa-list-squares:before,.fa-list:before{content:""}.fa-list-check:before,.fa-tasks:before{content:""}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:""}.fa-list-dots:before,.fa-list-ul:before{content:""}.fa-litecoin-sign:before{content:""}.fa-location-arrow:before{content:""}.fa-location-crosshairs:before,.fa-location:before{content:""}.fa-location-dot:before,.fa-map-marker-alt:before{content:""}.fa-location-pin:before,.fa-map-marker:before{content:""}.fa-lock:before{content:""}.fa-lock-open:before{content:""}.fa-lungs:before{content:""}.fa-lungs-virus:before{content:""}.fa-m:before{content:"M"}.fa-magnet:before{content:""}.fa-magnifying-glass:before,.fa-search:before{content:""}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:""}.fa-magnifying-glass-location:before,.fa-search-location:before{content:""}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:""}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:""}.fa-manat-sign:before{content:""}.fa-map:before{content:""}.fa-map-location:before,.fa-map-marked:before{content:""}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:""}.fa-map-pin:before{content:""}.fa-marker:before{content:""}.fa-mars:before{content:""}.fa-mars-and-venus:before{content:""}.fa-mars-double:before{content:""}.fa-mars-stroke:before{content:""}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:""}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:""}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:""}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:""}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:""}.fa-mask:before{content:""}.fa-mask-face:before{content:""}.fa-masks-theater:before,.fa-theater-masks:before{content:""}.fa-expand-arrows-alt:before,.fa-maximize:before{content:""}.fa-medal:before{content:""}.fa-memory:before{content:""}.fa-menorah:before{content:""}.fa-mercury:before{content:""}.fa-comment-alt:before,.fa-message:before{content:""}.fa-meteor:before{content:""}.fa-microchip:before{content:""}.fa-microphone:before{content:""}.fa-microphone-alt:before,.fa-microphone-lines:before{content:""}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:""}.fa-microphone-slash:before{content:""}.fa-microscope:before{content:""}.fa-mill-sign:before{content:""}.fa-compress-arrows-alt:before,.fa-minimize:before{content:""}.fa-minus:before,.fa-subtract:before{content:""}.fa-mitten:before{content:""}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-mobile-button:before{content:""}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:""}.fa-money-bill:before{content:""}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:""}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:""}.fa-money-bill-wave:before{content:""}.fa-money-check:before{content:""}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:""}.fa-monument:before{content:""}.fa-moon:before{content:""}.fa-mortar-pestle:before{content:""}.fa-mosque:before{content:""}.fa-motorcycle:before{content:""}.fa-mountain:before{content:""}.fa-mug-hot:before{content:""}.fa-coffee:before,.fa-mug-saucer:before{content:""}.fa-music:before{content:""}.fa-n:before{content:"N"}.fa-naira-sign:before{content:""}.fa-network-wired:before{content:""}.fa-neuter:before{content:""}.fa-newspaper:before{content:""}.fa-not-equal:before{content:""}.fa-note-sticky:before,.fa-sticky-note:before{content:""}.fa-notes-medical:before{content:""}.fa-o:before{content:"O"}.fa-object-group:before{content:""}.fa-object-ungroup:before{content:""}.fa-oil-can:before{content:""}.fa-om:before{content:""}.fa-otter:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-p:before{content:"P"}.fa-pager:before{content:""}.fa-paint-roller:before{content:""}.fa-paint-brush:before,.fa-paintbrush:before{content:""}.fa-palette:before{content:""}.fa-pallet:before{content:""}.fa-panorama:before{content:""}.fa-paper-plane:before{content:""}.fa-paperclip:before{content:""}.fa-parachute-box:before{content:""}.fa-paragraph:before{content:""}.fa-passport:before{content:""}.fa-file-clipboard:before,.fa-paste:before{content:""}.fa-pause:before{content:""}.fa-paw:before{content:""}.fa-peace:before{content:""}.fa-pen:before{content:""}.fa-pen-alt:before,.fa-pen-clip:before{content:""}.fa-pen-fancy:before{content:""}.fa-pen-nib:before{content:""}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:""}.fa-edit:before,.fa-pen-to-square:before{content:""}.fa-pencil-alt:before,.fa-pencil:before{content:""}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:""}.fa-people-carry-box:before,.fa-people-carry:before{content:""}.fa-pepper-hot:before{content:""}.fa-percent:before,.fa-percentage:before{content:"%"}.fa-male:before,.fa-person:before{content:""}.fa-biking:before,.fa-person-biking:before{content:""}.fa-person-booth:before{content:""}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:""}.fa-female:before,.fa-person-dress:before{content:""}.fa-hiking:before,.fa-person-hiking:before{content:""}.fa-person-praying:before,.fa-pray:before{content:""}.fa-person-running:before,.fa-running:before{content:""}.fa-person-skating:before,.fa-skating:before{content:""}.fa-person-skiing:before,.fa-skiing:before{content:""}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:""}.fa-person-snowboarding:before,.fa-snowboarding:before{content:""}.fa-person-swimming:before,.fa-swimmer:before{content:""}.fa-person-walking:before,.fa-walking:before{content:""}.fa-blind:before,.fa-person-walking-with-cane:before{content:""}.fa-peseta-sign:before{content:""}.fa-peso-sign:before{content:""}.fa-phone:before{content:""}.fa-phone-alt:before,.fa-phone-flip:before{content:""}.fa-phone-slash:before{content:""}.fa-phone-volume:before,.fa-volume-control-phone:before{content:""}.fa-photo-film:before,.fa-photo-video:before{content:""}.fa-piggy-bank:before{content:""}.fa-pills:before{content:""}.fa-pizza-slice:before{content:""}.fa-place-of-worship:before{content:""}.fa-plane:before{content:""}.fa-plane-arrival:before{content:""}.fa-plane-departure:before{content:""}.fa-plane-slash:before{content:""}.fa-play:before{content:""}.fa-plug:before{content:""}.fa-add:before,.fa-plus:before{content:"+"}.fa-plus-minus:before{content:""}.fa-podcast:before{content:""}.fa-poo:before{content:""}.fa-poo-bolt:before,.fa-poo-storm:before{content:""}.fa-poop:before{content:""}.fa-power-off:before{content:""}.fa-prescription:before{content:""}.fa-prescription-bottle:before{content:""}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:""}.fa-print:before{content:""}.fa-pump-medical:before{content:""}.fa-pump-soap:before{content:""}.fa-puzzle-piece:before{content:""}.fa-q:before{content:"Q"}.fa-qrcode:before{content:""}.fa-question:before{content:"?"}.fa-quote-left-alt:before,.fa-quote-left:before{content:""}.fa-quote-right-alt:before,.fa-quote-right:before{content:""}.fa-r:before{content:"R"}.fa-radiation:before{content:""}.fa-rainbow:before{content:""}.fa-receipt:before{content:""}.fa-record-vinyl:before{content:""}.fa-ad:before,.fa-rectangle-ad:before{content:""}.fa-list-alt:before,.fa-rectangle-list:before{content:""}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:""}.fa-recycle:before{content:""}.fa-registered:before{content:""}.fa-repeat:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-republican:before{content:""}.fa-restroom:before{content:""}.fa-retweet:before{content:""}.fa-ribbon:before{content:""}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:""}.fa-exchange-alt:before,.fa-right-left:before{content:""}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:""}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:""}.fa-ring:before{content:""}.fa-road:before{content:""}.fa-robot:before{content:""}.fa-rocket:before{content:""}.fa-rotate:before,.fa-sync-alt:before{content:""}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:""}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:""}.fa-route:before{content:""}.fa-feed:before,.fa-rss:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:""}.fa-ruler:before{content:""}.fa-ruler-combined:before{content:""}.fa-ruler-horizontal:before{content:""}.fa-ruler-vertical:before{content:""}.fa-rupee-sign:before,.fa-rupee:before{content:""}.fa-rupiah-sign:before{content:""}.fa-s:before{content:"S"}.fa-sailboat:before{content:""}.fa-satellite:before{content:""}.fa-satellite-dish:before{content:""}.fa-balance-scale:before,.fa-scale-balanced:before{content:""}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:""}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:""}.fa-school:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-screwdriver:before{content:""}.fa-screwdriver-wrench:before,.fa-tools:before{content:""}.fa-scroll:before{content:""}.fa-scroll-torah:before,.fa-torah:before{content:""}.fa-sd-card:before{content:""}.fa-section:before{content:""}.fa-seedling:before,.fa-sprout:before{content:""}.fa-server:before{content:""}.fa-shapes:before,.fa-triangle-circle-square:before{content:""}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:""}.fa-share-from-square:before,.fa-share-square:before{content:""}.fa-share-alt:before,.fa-share-nodes:before{content:""}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:""}.fa-shield:before{content:""}.fa-shield-alt:before,.fa-shield-blank:before{content:""}.fa-shield-virus:before{content:""}.fa-ship:before{content:""}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:""}.fa-shoe-prints:before{content:""}.fa-shop:before,.fa-store-alt:before{content:""}.fa-shop-slash:before,.fa-store-alt-slash:before{content:""}.fa-shower:before{content:""}.fa-shrimp:before{content:""}.fa-random:before,.fa-shuffle:before{content:""}.fa-shuttle-space:before,.fa-space-shuttle:before{content:""}.fa-sign-hanging:before,.fa-sign:before{content:""}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:""}.fa-signature:before{content:""}.fa-map-signs:before,.fa-signs-post:before{content:""}.fa-sim-card:before{content:""}.fa-sink:before{content:""}.fa-sitemap:before{content:""}.fa-skull:before{content:""}.fa-skull-crossbones:before{content:""}.fa-slash:before{content:""}.fa-sleigh:before{content:""}.fa-sliders-h:before,.fa-sliders:before{content:""}.fa-smog:before{content:""}.fa-smoking:before{content:""}.fa-snowflake:before{content:""}.fa-snowman:before{content:""}.fa-snowplow:before{content:""}.fa-soap:before{content:""}.fa-socks:before{content:""}.fa-solar-panel:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-spa:before{content:""}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:""}.fa-spell-check:before{content:""}.fa-spider:before{content:""}.fa-spinner:before{content:""}.fa-splotch:before{content:""}.fa-spoon:before,.fa-utensil-spoon:before{content:""}.fa-spray-can:before{content:""}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:""}.fa-square:before{content:""}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:""}.fa-caret-square-down:before,.fa-square-caret-down:before{content:""}.fa-caret-square-left:before,.fa-square-caret-left:before{content:""}.fa-caret-square-right:before,.fa-square-caret-right:before{content:""}.fa-caret-square-up:before,.fa-square-caret-up:before{content:""}.fa-check-square:before,.fa-square-check:before{content:""}.fa-envelope-square:before,.fa-square-envelope:before{content:""}.fa-square-full:before{content:""}.fa-h-square:before,.fa-square-h:before{content:""}.fa-minus-square:before,.fa-square-minus:before{content:""}.fa-parking:before,.fa-square-parking:before{content:""}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:""}.fa-phone-square:before,.fa-square-phone:before{content:""}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:""}.fa-plus-square:before,.fa-square-plus:before{content:""}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:""}.fa-poll:before,.fa-square-poll-vertical:before{content:""}.fa-square-root-alt:before,.fa-square-root-variable:before{content:""}.fa-rss-square:before,.fa-square-rss:before{content:""}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:""}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:""}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:""}.fa-stairs:before{content:""}.fa-stamp:before{content:""}.fa-star:before{content:""}.fa-star-and-crescent:before{content:""}.fa-star-half:before{content:""}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:""}.fa-star-of-david:before{content:""}.fa-star-of-life:before{content:""}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:""}.fa-stethoscope:before{content:""}.fa-stop:before{content:""}.fa-stopwatch:before{content:""}.fa-stopwatch-20:before{content:""}.fa-store:before{content:""}.fa-store-slash:before{content:""}.fa-street-view:before{content:""}.fa-strikethrough:before{content:""}.fa-stroopwafel:before{content:""}.fa-subscript:before{content:""}.fa-suitcase:before{content:""}.fa-medkit:before,.fa-suitcase-medical:before{content:""}.fa-suitcase-rolling:before{content:""}.fa-sun:before{content:""}.fa-superscript:before{content:""}.fa-swatchbook:before{content:""}.fa-synagogue:before{content:""}.fa-syringe:before{content:""}.fa-t:before{content:"T"}.fa-table:before{content:""}.fa-table-cells:before,.fa-th:before{content:""}.fa-table-cells-large:before,.fa-th-large:before{content:""}.fa-columns:before,.fa-table-columns:before{content:""}.fa-table-list:before,.fa-th-list:before{content:""}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:""}.fa-tablet-android:before,.fa-tablet:before{content:""}.fa-tablet-button:before{content:""}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:""}.fa-tablets:before{content:""}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-tape:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-teeth:before{content:""}.fa-teeth-open:before{content:""}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:""}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:""}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:""}.fa-temperature-high:before{content:""}.fa-temperature-low:before{content:""}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:""}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:""}.fa-tenge-sign:before,.fa-tenge:before{content:""}.fa-terminal:before{content:""}.fa-text-height:before{content:""}.fa-remove-format:before,.fa-text-slash:before{content:""}.fa-text-width:before{content:""}.fa-thermometer:before{content:""}.fa-thumbs-down:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumb-tack:before,.fa-thumbtack:before{content:""}.fa-ticket:before{content:""}.fa-ticket-alt:before,.fa-ticket-simple:before{content:""}.fa-timeline:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-toilet:before{content:""}.fa-toilet-paper:before{content:""}.fa-toilet-paper-slash:before{content:""}.fa-toolbox:before{content:""}.fa-tooth:before{content:""}.fa-torii-gate:before{content:""}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:""}.fa-tractor:before{content:""}.fa-trademark:before{content:""}.fa-traffic-light:before{content:""}.fa-trailer:before{content:""}.fa-train:before{content:""}.fa-subway:before,.fa-train-subway:before{content:""}.fa-train-tram:before,.fa-tram:before{content:""}.fa-transgender-alt:before,.fa-transgender:before{content:""}.fa-trash:before{content:""}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:""}.fa-trash-alt:before,.fa-trash-can:before{content:""}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:""}.fa-tree:before{content:""}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:""}.fa-trophy:before{content:""}.fa-truck:before{content:""}.fa-shipping-fast:before,.fa-truck-fast:before{content:""}.fa-ambulance:before,.fa-truck-medical:before{content:""}.fa-truck-monster:before{content:""}.fa-truck-moving:before{content:""}.fa-truck-pickup:before{content:""}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:""}.fa-teletype:before,.fa-tty:before{content:""}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:""}.fa-level-down-alt:before,.fa-turn-down:before{content:""}.fa-level-up-alt:before,.fa-turn-up:before{content:""}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:""}.fa-u:before{content:"U"}.fa-umbrella:before{content:""}.fa-umbrella-beach:before{content:""}.fa-underline:before{content:""}.fa-universal-access:before{content:""}.fa-unlock:before{content:""}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:""}.fa-arrows-alt-v:before,.fa-up-down:before{content:""}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:""}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:""}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:""}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:""}.fa-upload:before{content:""}.fa-user:before{content:""}.fa-user-astronaut:before{content:""}.fa-user-check:before{content:""}.fa-user-clock:before{content:""}.fa-user-doctor:before,.fa-user-md:before{content:""}.fa-user-cog:before,.fa-user-gear:before{content:""}.fa-user-graduate:before{content:""}.fa-user-friends:before,.fa-user-group:before{content:""}.fa-user-injured:before{content:""}.fa-user-alt:before,.fa-user-large:before{content:""}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:""}.fa-user-lock:before{content:""}.fa-user-minus:before{content:""}.fa-user-ninja:before{content:""}.fa-user-nurse:before{content:""}.fa-user-edit:before,.fa-user-pen:before{content:""}.fa-user-plus:before{content:""}.fa-user-secret:before{content:""}.fa-user-shield:before{content:""}.fa-user-slash:before{content:""}.fa-user-tag:before{content:""}.fa-user-tie:before{content:""}.fa-user-times:before,.fa-user-xmark:before{content:""}.fa-users:before{content:""}.fa-users-cog:before,.fa-users-gear:before{content:""}.fa-users-slash:before{content:""}.fa-cutlery:before,.fa-utensils:before{content:""}.fa-v:before{content:"V"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:""}.fa-vault:before{content:""}.fa-vector-square:before{content:""}.fa-venus:before{content:""}.fa-venus-double:before{content:""}.fa-venus-mars:before{content:""}.fa-vest:before{content:""}.fa-vest-patches:before{content:""}.fa-vial:before{content:""}.fa-vials:before{content:""}.fa-video-camera:before,.fa-video:before{content:""}.fa-video-slash:before{content:""}.fa-vihara:before{content:""}.fa-virus:before{content:""}.fa-virus-covid:before{content:""}.fa-virus-covid-slash:before{content:""}.fa-virus-slash:before{content:""}.fa-viruses:before{content:""}.fa-voicemail:before{content:""}.fa-volleyball-ball:before,.fa-volleyball:before{content:""}.fa-volume-high:before,.fa-volume-up:before{content:""}.fa-volume-down:before,.fa-volume-low:before{content:""}.fa-volume-off:before{content:""}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:""}.fa-vr-cardboard:before{content:""}.fa-w:before{content:"W"}.fa-wallet:before{content:""}.fa-magic:before,.fa-wand-magic:before{content:""}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:""}.fa-wand-sparkles:before{content:""}.fa-warehouse:before{content:""}.fa-water:before{content:""}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:""}.fa-wave-square:before{content:""}.fa-weight-hanging:before{content:""}.fa-weight-scale:before,.fa-weight:before{content:""}.fa-wheelchair:before{content:""}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:""}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:""}.fa-wind:before{content:""}.fa-window-maximize:before{content:""}.fa-window-minimize:before{content:""}.fa-window-restore:before{content:""}.fa-wine-bottle:before{content:""}.fa-wine-glass:before{content:""}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:""}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:""}.fa-wrench:before{content:""}.fa-x:before{content:"X"}.fa-x-ray:before{content:""}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:""}.fa-y:before{content:"Y"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:""}.fa-yin-yang:before{content:""}.fa-z:before{content:"Z"}.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}/*! * Font Awesome Free 6.0.0 by @fontawesome - https://fontawesome.com * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) * Copyright 2022 Fonticons, Inc. - */:host,:root{--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/openWB/web/display/themes/colors/assets/fa-solid-900-DByUvYfa.woff2) format("woff2"),url(/openWB/web/display/themes/colors/assets/fa-solid-900-CG7ny7S5.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}.fixeddisplay[data-v-d6670850]{display:grid;grid-template-rows:440px 40px;grid-template-columns:800px}/*! + */:host,:root{--fa-font-solid: normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/openWB/web/display/themes/colors/assets/fa-solid-900-DByUvYfa.woff2) format("woff2"),url(/openWB/web/display/themes/colors/assets/fa-solid-900-CG7ny7S5.ttf) format("truetype")}.fa-solid,.fas{font-family:"Font Awesome 6 Free";font-weight:900}.fixeddisplay[data-v-f43b9e47]{display:grid;grid-template-rows:440px 40px;grid-template-columns:800px}/*! * Bootstrap v5.3.3 (https://getbootstrap.com/) * Copyright 2011-2024 The Bootstrap Authors * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) diff --git a/packages/modules/display_themes/colors/web/assets/index-CE0f4TD-.js b/packages/modules/display_themes/colors/web/assets/index-CE0f4TD-.js deleted file mode 100644 index 67467c1494..0000000000 --- a/packages/modules/display_themes/colors/web/assets/index-CE0f4TD-.js +++ /dev/null @@ -1,6 +0,0 @@ -var ra=Object.defineProperty;var oa=(t,e,a)=>e in t?ra(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var c=(t,e,a)=>oa(t,typeof e!="symbol"?e+"":e,a);import{m as sa,r as H,a as he,M as at,d as T,o as g,c as w,n as ne,b as P,e as i,f as me,g as re,h as m,s as ve,i as nt,j as At,k as _,w as k,u as l,l as B,t as I,p as z,q as Lt,v as Dt,x as ia,F as ye,y as $e,z as Te,A as ht,B as Ie,C as Et,D as rt,E as Qe,G as Le,H as He,I as pt,J as la,K as ze,L as Gt,N as ca,O as ua,P as De,Q as da,R as ha,S as pa,T as Ze,U as Wt,V as st,W as ga}from"./vendor-BY7wY20x.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const d of s.addedNodes)d.tagName==="LINK"&&d.rel==="modulepreload"&&n(d)}).observe(document,{childList:!0,subtree:!0});function a(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(r){if(r.ep)return;r.ep=!0;const s=a(r);fetch(r.href,s)}})();function Ye(t,e=1){let a;if(t>=1e3&&e<4){switch(e){case 0:a=Math.round(t/1e3);break;case 1:a=Math.round(t/100)/10;break;case 2:a=Math.round(t/10)/100;break;case 3:a=Math.round(t)/1e3;break;default:a=Math.round(t/100)/10;break}return(a==null?void 0:a.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(t).toLocaleString(void 0)+" W"}function jt(t,e=1,a=!1){let n;if(t>1e6&&(a=!0,t=t/1e3),t>=1e3&&e<4){switch(e){case 0:n=Math.round(t/1e3);break;case 1:n=(Math.round(t/100)/10).toFixed(1);break;case 2:n=(Math.round(t/10)/100).toFixed(2);break;case 3:n=(Math.round(t)/1e3).toFixed(3);break;default:n=Math.round(t/100)/10;break}return n.toLocaleString(void 0,{minimumFractionDigits:e})+(a?" MWh":" kWh")}else return Math.round(t).toLocaleString(void 0)+(a?" kWh":" Wh")}function ma(t){return t.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}function fa(t,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][t]+" "+e}const va=0,zt={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},Xe={topic:"",qos:va};let ce;const{host:ya,port:ba,endpoint:_a,...Nt}=zt,wa=`${Nt.protocol}://${ya}:${ba}${_a}`;try{ce=sa.connect(wa,Nt),ce.on("connect",()=>{console.info("MQTT connection successful.")}),ce.on("disconnect",()=>{console.info("MQTT disconnected")}),ce.on("error",t=>{console.error("MQTT connection failed: ",t)})}catch(t){console.error("MQTT connect error: ",t)}async function Sa(t){await Ut(),ce?ce.on("message",t):console.error("MqttRegister: MQTT client not available")}async function Be(t){Xe.topic=t;const{topic:e,qos:a}=Xe;await Ut(),ce.subscribe(e,{qos:a},n=>{if(n){console.error("MQTT Subscription error: "+n);return}})}function Ve(t){Xe.topic=t;const{topic:e}=Xe;ce.unsubscribe(e,a=>{if(a){console.error("MQTT Unsubscribe from "+t+" failed: "+a);return}})}async function gt(t,e){let n=ce.connected,r=0;for(;!n&&r<10;)console.warn("MQTT not connected. Waiting 0.1 seconds"),await Ft(100),n=ce.connected,r+=1;if(r<10)try{ce.publish(t,e,{qos:0},s=>{s&&console.warn("MQTT publish error: ",s),console.info("MQTT publish: Message sent: ["+t+"]("+e+")")})}catch(s){console.warn("MQTT publish: caught error: "+s)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function ft(){return zt.clientId}const kt=20;async function Ut(){let t=ce.connected,e=0;for(;!t&&e{esetTimeout(e,t))}class ka{constructor(e){c(this,"id");c(this,"name","Ladepunkt");c(this,"icon","Ladepunkt");c(this,"type","");c(this,"ev",0);c(this,"template",0);c(this,"connectedPhases",0);c(this,"phase_1",0);c(this,"autoPhaseSwitchHw",!1);c(this,"controlPilotInterruptionHw",!1);c(this,"isEnabled",!0);c(this,"isPluggedIn",!1);c(this,"isCharging",!1);c(this,"_isLocked",!1);c(this,"_connectedVehicle",0);c(this,"chargeTemplate",0);c(this,"evTemplate",0);c(this,"_chargeMode","pv_charging");c(this,"_hasPriority",!1);c(this,"currentPlan","");c(this,"averageConsumption",0);c(this,"vehicleName","");c(this,"rangeCharged",0);c(this,"rangeUnit","");c(this,"counter",0);c(this,"dailyYield",0);c(this,"energyPv",0);c(this,"energyBat",0);c(this,"pvPercentage",0);c(this,"faultState",0);c(this,"faultStr","");c(this,"phasesInUse",0);c(this,"power",0);c(this,"chargedSincePlugged",0);c(this,"stateStr","");c(this,"current",0);c(this,"currents",[0,0,0]);c(this,"phasesToUse",0);c(this,"isSocConfigured",!0);c(this,"isSocManual",!1);c(this,"waitingForSoc",!1);c(this,"color","white");c(this,"_timedCharging",!1);c(this,"_instantChargeLimitMode","");c(this,"_instantTargetCurrent",0);c(this,"_instantTargetSoc",0);c(this,"_instantMaxEnergy",0);c(this,"_pvFeedInLimit",!1);c(this,"_pvMinCurrent",0);c(this,"_pvMaxSoc",101);c(this,"_pvMinSoc",0);c(this,"_pvMinSocCurrent",0);c(this,"_etActive",!1);c(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,Y("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,Y("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return N[this.connectedVehicle]?N[this.connectedVehicle].soc:0}set soc(e){N[this.connectedVehicle]&&(N[this.connectedVehicle].soc=e)}get chargeMode(){return this._chargeMode}set chargeMode(e){this._chargeMode=e,Y("chargeMode",e,this.id)}updateChargeMode(e){this._chargeMode=e}get hasPriority(){return this._hasPriority}set hasPriority(e){this._hasPriority=e,Y("cpPriority",e,this.id)}updateCpPriority(e){this._hasPriority=e}get timedCharging(){return se[this.chargeTemplate]?se[this.chargeTemplate].time_charging.active:!1}set timedCharging(e){se[this.chargeTemplate].time_charging.active=e,Y("cpTimedCharging",e,this.chargeTemplate)}get instantTargetCurrent(){return this._instantTargetCurrent}set instantTargetCurrent(e){this._instantTargetCurrent=e,Y("cpInstantTargetCurrent",e,this.id)}updateInstantTargetCurrent(e){this._instantTargetCurrent=e}get instantChargeLimitMode(){return this._instantChargeLimitMode}set instantChargeLimitMode(e){this._instantChargeLimitMode=e,Y("cpInstantChargeLimitMode",e,this.id)}updateInstantChargeLimitMode(e){this._instantChargeLimitMode=e}get instantTargetSoc(){return this._instantTargetSoc}set instantTargetSoc(e){this._instantTargetSoc=e,Y("cpInstantTargetSoc",e,this.id)}updateInstantTargetSoc(e){this._instantTargetSoc=e}get instantMaxEnergy(){return this._instantMaxEnergy}set instantMaxEnergy(e){this._instantMaxEnergy=e,Y("cpInstantMaxEnergy",e,this.id)}updateInstantMaxEnergy(e){this._instantMaxEnergy=e}get pvFeedInLimit(){return this._pvFeedInLimit}set pvFeedInLimit(e){this._pvFeedInLimit=e,Y("cpPvFeedInLimit",e,this.id)}updatePvFeedInLimit(e){this._pvFeedInLimit=e}get pvMinCurrent(){return this._pvMinCurrent}set pvMinCurrent(e){this._pvMinCurrent=e,Y("cpPvMinCurrent",e,this.id)}updatePvMinCurrent(e){this._pvMinCurrent=e}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,Y("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){return this._pvMinSoc}set pvMinSoc(e){this._pvMinSoc=e,Y("cpPvMinSoc",e,this.id)}updatePvMinSoc(e){this._pvMinSoc=e}get pvMinSocCurrent(){return this._pvMinSocCurrent}set pvMinSocCurrent(e){this._pvMinSocCurrent=e,Y("cpPvMinSocCurrent",e,this.id)}updatePvMinSocCurrent(e){this._pvMinSocCurrent=e}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}get etActive(){return N[this.connectedVehicle]?N[this.connectedVehicle].etActive:!1}set etActive(e){N[this.connectedVehicle]&&(N[this.connectedVehicle].etActive=e)}get etMaxPrice(){return N[this.connectedVehicle].etMaxPrice??0}set etMaxPrice(e){Y("cpEtMaxPrice",Math.round(e*10)/1e6,this.id)}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon}}}class xa{constructor(e){c(this,"id");c(this,"name","");c(this,"_chargeTemplateId",0);c(this,"_evTemplateId",0);c(this,"tags",[]);c(this,"config",{});c(this,"soc",0);c(this,"range",0);c(this,"_etActive",!1);c(this,"_etMaxPrice",20);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,Y("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,Y("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get etActive(){return se[this.chargeTemplateId]?se[this.chargeTemplateId].et.active:!1}set etActive(e){se[this.chargeTemplateId]&&Y("priceCharging",e,this.chargeTemplateId)}get etMaxPrice(){if(se[this.chargeTemplateId]&&se[this.chargeTemplateId].et.active)return se[this.chargeTemplateId].et.max_price*1e5}get chargepoint(){for(const e of Object.values(S))if(e.connectedVehicle==this.id)return e}}var fe=(t=>(t.instant_charging="instant_charging",t.pv_charging="pv_charging",t.scheduled_charging="scheduled_charging",t.standby="standby",t.stop="stop",t))(fe||{});const S=H({}),N=H({}),se=H({}),Ee=H({}),Ge=H({}),Ma=H({});function Pa(t){t in S||(S[t]=new ka(t),S[t].color="var(--color-cp"+(Object.values(S).length-1)+")")}function Ca(){Object.keys(S).forEach(t=>{delete S[parseInt(t)]})}const Ia={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",cpTimedPlanActive:"openWB/set/vehicle/template/charge_template/%/time_charging/plans/@/active",cpScheduledPlanActive:"openWB/set/vehicle/template/charge_template/%/chargemode/scheduled_charging/plans/@/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active"};function Y(t,e,a=0,n=void 0){if(isNaN(a)){console.warn("Invalid index");return}let r=Ia[t];if(!r){console.warn("No topic for update type "+t);return}switch(t){case"chargeMode":case"cpPriority":case"cpScheduledCharging":case"cpInstantTargetCurrent":case"cpInstantChargeLimitMode":case"cpInstantTargetSoc":case"cpInstantMaxEnergy":case"cpPvFeedInLimit":case"cpPvMinCurrent":case"cpPvMaxSoc":case"cpPvMinSoc":case"cpEtMaxPrice":case"cpPvMinSocCurrent":r=r.replace("%",S[a].chargeTemplate.toString());break;default:r=r.replace("%",String(a)),n!=null&&(r=r.replace("@",String(n)))}switch(typeof e){case"number":gt(r,JSON.stringify(+e));break;default:gt(r,JSON.stringify(e))}}function vt(t){gt("openWB/set/command/"+ft()+"/todo",JSON.stringify(t))}class $a{constructor(){c(this,"batterySoc",0);c(this,"isBatteryConfigured",!0);c(this,"chargeMode","0");c(this,"_pvBatteryPriority","ev_mode");c(this,"displayLiveGraph",!0);c(this,"isEtEnabled",!0);c(this,"etMaxPrice",0);c(this,"etCurrentPrice",0);c(this,"cpDailyExported",0);c(this,"evuId",0);c(this,"etProvider","");c(this,"ipAddress","");c(this,"systemTime",0);c(this,"version","");c(this,"versionDetails","");c(this,"devBranch","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,Y("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}const Oa=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]],oe=H({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"}});class Jt{constructor(){c(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e){this._items[e]=ke(e)}setEnergy(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energy=a}setEnergyPv(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=a}setEnergyBat(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=a}setPvPercentage(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=a}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let C=new Jt;function yt(){C=new Jt}const j=H({evuIn:ke("evuIn"),pv:ke("pv"),batOut:ke("batOut")}),O=H({evuOut:ke("evuOut"),charging:ke("charging"),devices:ke("devices"),batIn:ke("batIn"),house:ke("house")}),J=H(new $a);he("");const Ke=he(!1);function ke(t){return{name:oe[t]?oe[t].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:oe[t]?oe[t].color:"var(--color-charging)",icon:oe[t]?oe[t].icon:""}}const ee=H({active:!1,locked:!0,usePin:!1,code:"",timeout:60,localCpOnly:!1});function Ne(){ee.usePin&&ee.locked?new at("#numberpad").toggle():(ee.locked=!1,setTimeout(()=>{ee.locked=!0},ee.timeout*1e3))}function Ba(t){return t==ee.code}function Ta(){O.house.power=O.house.power-O.devices.power}const xt=he(new Date),Va={class:"scaled"},Aa=T({__name:"DisplayButton",props:{icon:{},bgcolor:{},color:{}},emits:["click"],setup(t,{emit:e}){const a=t,n=e;function r(){n("click",!0)}return(s,d)=>(g(),w("div",{style:re({"background-color":a.bgcolor?a.bgcolor:"var(--color-bg)",color:a.color?a.color:"var(--color-title)"}),class:"displaybutton rounded-pill",type:"button",onClick:r},[a.icon?(g(),w("span",{key:0,class:ne(["fas me-2 scaled",a.icon])},null,2)):P("",!0),i("span",Va,[me(s.$slots,"default",{},void 0)])],4))}}),U=(t,e)=>{const a=t.__vccOpts||t;for(const[n,r]of e)a[n]=r;return a},ge=U(Aa,[["__scopeId","data-v-0f8aebee"]]);class La{constructor(e){c(this,"id");c(this,"name","Gerät");c(this,"power",0);c(this,"status","off");c(this,"energy",0);c(this,"runningTime",0);c(this,"configured",!1);c(this,"_showInGraph",!0);c(this,"color","white");c(this,"canSwitch",!1);c(this,"countAsHouse",!1);c(this,"energyPv",0);c(this,"energyBat",0);c(this,"pvPercentage",0);c(this,"tempConfigured",0);c(this,"temp",[300,300,300]);c(this,"on",!1);c(this,"isAutomatic",!0);c(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,Z()}setShowInGraph(e){this._showInGraph=e}}const G=H({});function Rt(t){t in G?console.info("Duplicate sh device message: "+t):(G[t]=new La(t),G[t].color="var(--color-sh"+Object.values(G).length+")")}class Da{constructor(){c(this,"graphToShow","powermeter");c(this,"cpToShow",0);c(this,"displayLocked",!0);c(this,"_showRelativeArcs",!1);c(this,"showTodayGraph",!0);c(this,"_graphPreference","live");c(this,"_usageStackOrder",0);c(this,"_displayMode","dark");c(this,"_showGrid",!1);c(this,"_smartHomeColors","normal");c(this,"_decimalPlaces",1);c(this,"_showQuickAccess",!0);c(this,"_simpleCpList",!1);c(this,"_shortCpList","no");c(this,"_showAnimations",!0);c(this,"_preferWideBoxes",!1);c(this,"_maxPower",4e3);c(this,"_fluidDisplay",!1);c(this,"_showClock","no");c(this,"_showButtonBar",!0);c(this,"_showCounters",!1);c(this,"_showVehicles",!1);c(this,"_showPrices",!1);c(this,"_debug",!1);c(this,"isEtEnabled",!1);c(this,"etPrice",20.5);c(this,"showRightButton",!0);c(this,"showLeftButton",!0);c(this,"animationDuration",300);c(this,"animationDelay",100);c(this,"zoomGraph",!1)}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,Z()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,Z()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,Z()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,Ga(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,Z()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,Z()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,Pt(e),Z()}setSmartHomeColors(e){this._smartHomeColors=e,Pt(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,Z()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,Z()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,Z()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,Z()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,Z()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,Z()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,Z()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,Z()}setShowClock(e){this._showClock=e}get debug(){return this._debug}set debug(e){this._debug=e,Z()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,Z()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,Z()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,Z()}setShowVehicles(e){this._showVehicles=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,Z()}setShowPrices(e){this._showPrices=e}}const y=H(new Da),Ea=992,mt=H({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Mt(){mt.x=document.documentElement.clientWidth,mt.y=document.documentElement.clientHeight}m(()=>mt.x>=Ea);const Ae={pv_charging:{mode:fe.pv_charging,name:"PV",color:"var(--color-pv",icon:"fa-solar-panel"},instant_charging:{mode:fe.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},scheduled_charging:{mode:fe.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},standby:{mode:fe.standby,name:"Standby",color:"var(--color-axis)",icon:"fa-pause"},stop:{mode:fe.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};function Z(){Wa()}function Ga(t){const e=ve("html");e.classed("theme-dark",t=="dark"),e.classed("theme-light",t=="light"),e.classed("theme-blue",t=="blue"),Z()}function Pt(t){const e=ve("html");e.classed("shcolors-normal",t=="normal"),e.classed("shcolors-standard",t=="standard"),e.classed("shcolors-advanced",t=="advanced")}function Wa(){const t={};t.hideSH=Object.values(G).filter(e=>!e.showInGraph).map(e=>e.id),t.showLG=y.graphPreference=="live",t.displayM=y.displayMode,t.stackO=y.usageStackOrder,t.showGr=y.showGrid,t.decimalP=y.decimalPlaces,t.smartHomeC=y.smartHomeColors,t.relPM=y.showRelativeArcs,t.maxPow=y.maxPower,t.showQA=y.showQuickAccess,t.simpleCP=y.simpleCpList,t.shortCP=y.shortCpList,t.animation=y.showAnimations,t.wideB=y.preferWideBoxes,t.fluidD=y.fluidDisplay,t.clock=y.showClock,t.showButtonBar=y.showButtonBar,t.showCounters=y.showCounters,t.showVehicles=y.showVehicles,t.showPrices=y.showPrices,t.debug=y.debug,document.cookie="openWBColorTheme="+JSON.stringify(t)+";max-age=16000000;samesite=strict"}const ja={class:"navigation"},za={class:"graphbuttons"},Na={class:"cpbuttons"},Ua={class:"timedisplay ms-4"},Fa=T({__name:"NavigationBar",setup(t){let e;function a(){let o=Object.values(S).length;y.cpToShow=(y.cpToShow+1)%o}function n(){let o=Object.values(S).length;y.cpToShow=((y.cpToShow-1)%o+o)%o}function r(){y.graphToShow="powermeter"}function s(){y.graphToShow="powergraph"}function d(){y.graphToShow="energymeter"}function u(){ee.locked?Ne():new at("#statuspage").toggle()}return nt(()=>{e=setInterval(()=>{xt.value=new Date},1e3)}),At(()=>{clearInterval(e)}),(o,p)=>(g(),w("div",ja,[i("span",za,[p[3]||(p[3]=i("span",{class:"brand me-4"},"openWB",-1)),_(ge,{icon:"fa-chart-pie",onClick:r},{default:k(()=>p[0]||(p[0]=[z("Leistung")])),_:1}),_(ge,{icon:"fa-chart-line",onClick:s},{default:k(()=>p[1]||(p[1]=[z("Verlauf")])),_:1}),_(ge,{icon:"fa-chart-column",onClick:d},{default:k(()=>p[2]||(p[2]=[z("Energie")])),_:1})]),_(ge,{icon:"fa-rectangle-list",onClick:u},{default:k(()=>p[4]||(p[4]=[z("Status")])),_:1}),i("span",Na,[Object.values(l(S)).length>1?(g(),B(ge,{key:0,color:"var(--color-cp0)",onClick:n},{default:k(()=>p[5]||(p[5]=[i("span",{class:"fas fa-arrow-left px-2"},null,-1),i("span",{class:"fas fa-charging-station pe-2"},null,-1)])),_:1})):P("",!0),_(ge,{bgcolor:l(ee).locked?"var(--color-evu)":"var(--color-pv)",onClick:l(Ne)},{default:k(()=>p[6]||(p[6]=[i("span",{class:"fas fa-lock px-4"},null,-1)])),_:1},8,["bgcolor","onClick"]),Object.values(l(S)).length>1?(g(),B(ge,{key:1,color:"var(--color-cp0)",onClick:a},{default:k(()=>p[7]||(p[7]=[i("span",{class:"fas fa-charging-station px-2"},null,-1),i("span",{class:"fas fa-arrow-right pe-2"},null,-1)])),_:1})):P("",!0),i("span",Ua,I(l(ma)(l(xt))),1)])]))}}),Ja=U(Fa,[["__scopeId","data-v-11cfd4d2"]]),Ra=["origin"],Ha=T({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(t){const e=t,a=m(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:""},r=j;r["zz-empty"]=n;const s=Object.values(j).length-1,d=Lt().value(p=>p.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),u=Dt().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),o=ve("g#pmSourceArc");return o.selectAll("*").remove(),o.selectAll("sources").data(d(Object.values(r))).enter().append("path").attr("d",u).attr("fill",p=>p.data.color).attr("stroke",(p,v)=>v==s?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmSourceArc.vue"});return ia(()=>{let n=j.pv.power+j.evuIn.power+j.batOut.power;n>y.maxPower&&(y.maxPower=n)}),(n,r)=>(g(),w("g",{id:"pmSourceArc",origin:a.value},null,8,Ra))}}),Ya=["origin"],qa=T({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(t){const e=t,a=m(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:""};const r=[O.evuOut,O.charging].concat(Object.values(G).filter(p=>p.configured&&!p.countAsHouse).sort((p,v)=>v.power-p.power)).concat([O.batIn,O.house]).concat(n),s=r.length-1,d=Lt().value(p=>p.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),u=Dt().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),o=ve("g#pmUsageArc");return o.selectAll("*").remove(),o.selectAll("consumers").data(d(r)).enter().append("path").attr("d",u).attr("fill",p=>p.data.color).attr("stroke",(p,v)=>v==s?p.data.power>0?"var(--color-scale)":"null":p.data.color),"pmUsageArc.vue"});return(n,r)=>(g(),w("g",{id:"pmUsageArc",origin:a.value},null,8,Ya))}}),Ht=T({__name:"FormatWatt",props:{watt:{}},setup(t){const e=t,a=m(()=>Ye(e.watt,y.decimalPlaces));return(n,r)=>I(a.value)}}),Qa={key:0,id:"pmLabel"},Za=["x","y","fill","text-anchor"],Xa=22,be=T({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(t){const e=t,a=m(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),n=m(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),r=m(()=>!e.data||e.data.power>0),s=m(()=>e.labeltext?"":"fas");return(d,u)=>r.value?(g(),w("g",Qa,[i("text",{x:d.x,y:d.y,fill:n.value,"text-anchor":d.anchor,"font-size":Xa,class:"pmLabel"},[i("tspan",{class:ne(s.value)},I(a.value),3),i("tspan",null,[d.data!==void 0?(g(),B(Ht,{key:0,watt:d.data.power},null,8,["watt"])):P("",!0)])],8,Za)])):P("",!0)}}),Ka={},en={class:"p-2 m-0 cont"},tn={class:"wb-widget m-0 pb-2 shadow"},an={class:"header mt-4 mx-2"},nn={class:"titles"},rn={class:"title"},on={class:"subtitle"},sn={class:"buttons"},ln={class:"wb-subwidget mx-2"},cn={key:0},un={class:"wb-subwidget mx-2"};function dn(t,e){return g(),w("div",en,[i("div",tn,[i("div",an,[i("div",nn,[i("div",rn,[me(t.$slots,"title",{},()=>[e[0]||(e[0]=i("div",{class:"p-0"},"(title goes here)",-1))])]),i("div",on,[me(t.$slots,"subtitle",{},void 0)])]),i("div",sn,[me(t.$slots,"buttons",{},void 0)])]),i("div",ln,[me(t.$slots,"default",{},void 0)]),t.$slots.footer!=null?(g(),w("div",cn,[e[1]||(e[1]=i("hr",{class:"grid-col-12"},null,-1)),i("div",un,[me(t.$slots,"footer",{},void 0)])])):P("",!0)])])}const ot=U(Ka,[["render",dn],["__scopeId","data-v-f8e8f91e"]]);class hn{constructor(){c(this,"active",!1);c(this,"etPriceList",new Map);c(this,"etProvider","");c(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=te.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const te=H(new hn),pn={class:"grid-col-12"},gn={id:"powermeter",class:"powermeter p-0 m-0 align-self-stretch"},mn=["viewBox"],fn=["transform"],vn={transform:"scale(0.9294,1)"},yn=["x"],Oe=500,we=20,Ct=1,bn=T({__name:"PowerMeter",setup(t){const e=Oe,a=Math.PI/40,n=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],r=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],s=m(()=>Oe/2-we),d=m(()=>{let D="",W=Object.values(j).filter(Q=>Q.power>0);return W.length==1&&W[0].name=="PV"?D="Aktueller Verbrauch: ":D="Bezug/Verbrauch: ",D+Ye(O.house.power+O.charging.power+O.devices.power+O.batIn.power,y.decimalPlaces)}),u=m(()=>{let D=j.pv.power+j.evuIn.power+j.batOut.power;return y.maxPower>D?Ye(y.maxPower,y.decimalPlaces):Ye(D,y.decimalPlaces)}),o=m(()=>Object.values(S)),p=m(()=>{let D=0;return y.showRelativeArcs&&(D=y.maxPower-(j.pv.power+j.evuIn.power+j.batOut.power)),D<0?0:D}),v=m(()=>[O.evuOut,O.charging,O.devices,O.batIn,O.house].filter(D=>D.power>0)),M=m(()=>n[v.value.length-1]);function b(D){return r[M.value[D]]}function V(D){return Math.round(o.value[D].soc)}function F(D){return D.length>12?D.slice(0,11)+".":D}const pe=m(()=>{const[D]=te.etPriceList.values();return Math.round(D*10)/10});return(D,W)=>(g(),B(ot,null,{title:k(()=>W[0]||(W[0]=[z(" Aktuelle Leistung ")])),default:k(()=>[i("div",pn,[i("figure",gn,[(g(),w("svg",{viewBox:"0 0 "+Oe+" "+l(e)},[i("g",{transform:"translate("+Oe/2+","+l(e)/2+")"},[i("g",vn,[_(Ha,{radius:s.value,"corner-radius":Ct,"circle-gap-size":a,"empty-power":p.value},null,8,["radius","empty-power"]),_(qa,{"sh-device":l(G),radius:s.value,"corner-radius":Ct,"circle-gap-size":a,"empty-power":p.value},null,8,["sh-device","radius","empty-power"]),_(be,{x:0,y:-l(e)/10*2,data:l(j).pv,props:l(oe).pv,anchor:"middle",config:l(y)},null,8,["y","data","props","config"]),_(be,{x:0,y:-l(e)/10*3,data:l(j).evuIn,props:l(oe).evuIn,anchor:"middle",config:l(y)},null,8,["y","data","props","config"]),_(be,{x:0,y:-l(e)/10,data:l(j).batOut,props:l(oe).batOut,anchor:"middle",config:l(y)},null,8,["y","data","props","config"]),l(te).active?(g(),B(be,{key:0,x:0,y:-l(e)/10,data:l(j).batOut,props:l(oe).batOut,anchor:"middle",config:l(y)},null,8,["y","data","props","config"])):P("",!0),(g(!0),w(ye,null,$e(v.value,(Q,$)=>(g(),B(be,{key:$,x:b($).x,y:b($).y,data:Q,labelicon:Q.icon,labelcolor:Q.color,anchor:"middle",config:l(y)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),o.value.length>0&&l(N)[o.value[0].connectedVehicle]?(g(),B(be,{key:1,x:-500/2-we/4+10,y:-l(e)/2+we+5,labeltext:F(l(N)[o.value[0].connectedVehicle].name)+": "+V(0)+"%",labelcolor:o.value[0].color,anchor:"start",config:l(y)},null,8,["x","y","labeltext","labelcolor","config"])):P("",!0),o.value.length>1&&l(N)[o.value[1].connectedVehicle]?(g(),B(be,{key:2,x:Oe/2+we/4-10,y:-l(e)/2+we+5,labeltext:F(l(N)[o.value[1].connectedVehicle].name)+": "+V(1)+"%",labelcolor:o.value[1].color,anchor:"end",config:l(y)},null,8,["x","y","labeltext","labelcolor","config"])):P("",!0),l(J).batterySoc>0?(g(),B(be,{key:3,x:-500/2-we/4+10,y:l(e)/2-we+15,labeltext:"Speicher: "+l(J).batterySoc+"%",labelcolor:l(O).batIn.color,anchor:"start",config:l(y)},null,8,["x","y","labeltext","labelcolor","config"])):P("",!0),l(te).active?(g(),B(be,{key:4,x:Oe/2+we/4-10,y:l(e)/2-we+15,value:pe.value,labeltext:l(te).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:l(y)},null,8,["x","y","value","labeltext","config"])):P("",!0),_(be,{x:0,y:0,labeltext:d.value,labelcolor:"var(--color-fg)",anchor:"middle",config:l(y)},null,8,["labeltext","config"]),l(y).showRelativeArcs?(g(),w("text",{key:5,x:Oe/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+I(u.value),9,yn)):P("",!0)])],8,fn)],8,mn))])])]),_:1}))}}),Se=500,Pe=500,L={top:10,right:20,bottom:10,left:25},bt=["charging","house","batIn","devices"];class _n{constructor(){c(this,"data",[]);c(this,"_graphMode","")}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const h=H(new _n);let et=!0,Ue=!0;function It(){et=!1}function $t(){Ue=!1}function wn(t){Ue=t}function Fe(t){h.data=t}const K=H({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(){h.data=[],this.unsubscribeUpdates(),this.subscribeRefresh(),Be(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],Pn(),Ke.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),Ve(this.configTopic)},subscribeRefresh(){for(let t=1;t<17;t++)Be(this.refreshTopicPrefix+t)},unsubscribeRefresh(){for(let t=1;t<17;t++)Ve(this.refreshTopicPrefix+t)},subscribeUpdates(){Be(this.updateTopic)},unsubscribeUpdates(){Ve(this.updateTopic)}}),q=H({topic:"openWB/log/daily/#",date:new Date,activate(){if(h.graphMode=="day"||h.graphMode=="today"){h.graphMode=="today"&&(this.date=new Date);const t=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");Be(this.topic),vt({command:"getDailyLog",data:{day:t}})}},deactivate(){Ve(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(t){this.date=t},getDate(){return this.date}}),xe=H({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(){const t=this.year.toString()+this.month.toString().padStart(2,"0");h.data=[],Be(this.topic),vt({command:"getMonthlyLog",data:{month:t}})},deactivate(){Ve(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const t=new Date;t.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),Ce=H({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(){const t=this.year.toString();h.data=[],Be(this.topic),vt({command:"getYearlyLog",data:{year:t}})},deactivate(){Ve(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(C.items[t].energyPv+=1e3/12*(e[t]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),C.items[t].energyBat+=1e3/12*(e[t]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function xn(t,e){e[t]>0&&(C.items[t].energyPv+=1e3*(e[t]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),C.items[t].energyBat+=1e3*(e[t]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const Mn=["evuIn","pv","batIn","evuOut"],We=he(!1);function _t(t,e){Object.entries(t).length>0?(We.value=!1,Object.entries(t.counter).forEach(([a,n])=>{(e.length==0||e.includes(a))&&(C.items.evuIn.energy+=n.energy_imported,C.items.evuOut.energy+=n.energy_exported)}),C.items.pv.energy=t.pv.all.energy_exported,t.bat.all&&(C.items.batIn.energy=t.bat.all.energy_imported,C.items.batOut.energy=t.bat.all.energy_exported),Object.entries(t.cp).forEach(([a,n])=>{a=="all"?C.setEnergy("charging",n.energy_imported):C.setEnergy(a,n.energy_imported)}),C.setEnergy("devices",0),Object.entries(t.sh).forEach(([a,n])=>{C.setEnergy(a,n.energy_imported);const r=a.substring(2);G[+r].countAsHouse||(C.items.devices.energy+=n.energy_imported)}),t.hc&&t.hc.all?C.setEnergy("house",t.hc.all.energy_imported):C.calculateHouseEnergy(),C.keys().map(a=>{Mn.includes(a)||(C.setPvPercentage(a,Math.round((C.items[a].energyPv+C.items[a].energyBat)/C.items[a].energy*100)),bt.includes(a)&&(O[a].energy=C.items[a].energy,O[a].energyPv=C.items[a].energyPv,O[a].energyBat=C.items[a].energyBat,O[a].pvPercentage=C.items[a].pvPercentage))}),h.graphMode=="today"&&(Object.values(S).map(a=>{const n=C.items["cp"+a.id];n&&(a.energyPv=n.energyPv,a.energyBat=n.energyBat,a.pvPercentage=n.pvPercentage)}),Object.values(G).map(a=>{const n=C.items["sh"+a.id];n&&(a.energy=n.energy,a.energyPv=n.energyPv,a.energyBat=n.energyBat,a.pvPercentage=n.pvPercentage)}))):We.value=!0,Ke.value=!0}function Pn(){C.keys().map(t=>{bt.includes(t)&&(O[t].energy=C.items[t].energy,O[t].energyPv=0,O[t].energyBat=0,O[t].pvPercentage=0)}),Object.values(S).map(t=>{t.energyPv=0,t.energyBat=0,t.pvPercentage=0}),Object.values(G).map(t=>{t.energyPv=0,t.energyBat=0,t.pvPercentage=0})}const _e=m(()=>{const t=Te(h.data,e=>e.date);return t[1]?ht().domain(Array.from({length:t[1]},(e,a)=>a+1)).paddingInner(.4).range([0,Se-L.left-2]):ht().range([0,0])});function wt(){switch(h.graphMode){case"live":h.graphMode="today",y.showRightButton=!0,ae();break;case"today":h.graphMode="day",q.date=new Date,q.back(),ae();break;case"day":q.back(),ae();break;case"month":xe.back();break;case"year":Ce.back();break}}function Yt(){const t=new Date;switch(h.graphMode){case"live":break;case"today":h.graphMode="live",y.showRightButton=!1,ae();break;case"day":q.forward(),q.date.getDate()==t.getDate()&&q.date.getMonth()==t.getMonth()&&q.date.getFullYear()==t.getFullYear()&&(h.graphMode="today"),ae();break;case"month":xe.forward();break;case"year":Ce.forward();break}}function qt(){switch(h.graphMode){case"live":wt();break;case"day":case"today":h.graphMode="month",ae();break;case"month":h.graphMode="year",ae();break}}function Qt(){switch(h.graphMode){case"year":h.graphMode="month",ae();break;case"month":h.graphMode="today",ae();break;case"today":case"day":h.graphMode="live",ae();break}}function Cn(t){if(h.graphMode=="day"||h.graphMode=="today"){q.setDate(t);const e=new Date;q.date.getDate()==e.getDate()&&q.date.getMonth()==e.getMonth()&&q.date.getFullYear()==e.getFullYear()?h.graphMode="today":h.graphMode="day",ae()}}const In=["origin","transform"],$n=T({__name:"PGSourceGraph",props:{width:{},height:{},margin:{}},setup(t){const e=t,a={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var n,r;const s=y.showAnimations?y.animationDuration:0,d=y.showAnimations?y.animationDelay:0,u=m(()=>{const f=ve("g#pgSourceGraph");h.graphMode=="month"||h.graphMode=="year"?$(f):Q(f),f.selectAll(".axis").remove();const x=f.append("g").attr("class","axis");return x.call(pe.value),x.selectAll(".tick").attr("font-size",12),x.selectAll(".tick line").attr("stroke",W.value).attr("stroke-width",D.value),x.select(".domain").attr("stroke","var(--color-bg)"),"pgSourceGraph.vue"}),o=m(()=>h.graphMode=="month"||h.graphMode=="year"?["evuIn","batOut","selfUsage","evuOut"]:["selfUsage","evuOut","batOut","evuIn"]),p=m(()=>Ie().domain([0,h.data.length-1]).range([0,e.width])),v=m(()=>Et().keys(o.value)),M=m(()=>v.value(h.data)),b=m(()=>Ie().range([e.height-10,0]).domain(h.graphMode=="year"?[0,Math.ceil(V.value[1]*10)/10]:[0,Math.ceil(V.value[1])])),V=m(()=>{let f=Te(h.data,x=>Math.max(x.pv+x.evuIn+x.batOut,x.selfUsage+x.evuOut));return f[0]!=null&&f[1]!=null?(h.graphMode=="year"&&(f[0]=f[0]/1e3,f[1]=f[1]/1e3),f):[0,0]}),F=m(()=>h.graphMode=="month"||h.graphMode=="year"?-e.width-e.margin.right-22:-e.width),pe=m(()=>rt(b.value).tickSizeInner(F.value).ticks(4).tickFormat(f=>(f==0?"":Math.round(f*10)/10).toLocaleString(void 0))),D=m(()=>y.showGrid?"0.5":"1"),W=m(()=>y.showGrid?"var(--color-grid)":"var(--color-bg)");function Q(f){const x=Qe().x((E,R)=>p.value(R)).y(b.value(0)),A=Qe().x((E,R)=>p.value(R)).y0(E=>b.value(h.graphMode=="year"?E[0]/1e3:E[0])).y1(E=>b.value(h.graphMode=="year"?E[1]/1e3:E[1]));et?(f.selectAll("*").remove(),n=f.selectAll(".sourceareas").data(M.value).enter().append("path").attr("fill",(E,R)=>a[o.value[R]]).attr("d",E=>x(E)),n.transition().duration(s).delay(d).ease(Le).attr("d",E=>A(E)),It()):n.data(M.value).transition().duration(0).ease(Le).attr("d",E=>A(E))}function $(f){et?(f.selectAll("*").remove(),r=f.selectAll(".sourcebar").data(M.value).enter().append("g").attr("fill",(x,A)=>a[o.value[A]]).selectAll("rect").data(x=>x).enter().append("rect").attr("x",(x,A)=>_e.value(h.data[A].date)??0).attr("y",()=>b.value(0)).attr("height",0).attr("width",_e.value.bandwidth()),r.transition().duration(s).delay(d).ease(Le).attr("height",x=>h.graphMode=="year"?b.value(x[0]/1e3)-b.value(x[1]/1e3):b.value(x[0])-b.value(x[1])).attr("y",x=>h.graphMode=="year"?b.value(x[1]/1e3):b.value(x[1])),It()):(f.selectAll("*").remove(),r=f.selectAll(".sourcebar").data(M.value).enter().append("g").attr("fill",(x,A)=>a[o.value[A]]).selectAll("rect").data(x=>x).enter().append("rect").attr("x",(x,A)=>_e.value(h.data[A].date)??0).attr("y",x=>h.graphMode=="year"?b.value(x[1]/1e3):b.value(x[1])).attr("width",_e.value.bandwidth()).attr("height",x=>h.graphMode=="year"?b.value(x[0]/1e3)-b.value(x[1]/1e3):b.value(x[0])-b.value(x[1])))}return(f,x)=>(g(),w("g",{id:"pgSourceGraph",origin:u.value,transform:"translate("+f.margin.left+","+f.margin.top+")"},null,8,In))}}),On=["origin","transform"],Bn=T({__name:"PGUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(t){const e=t,a=[["house","charging","devices","batIn"],["charging","devices","house","batIn"],["devices","charging","house","batIn"]],n={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var r,s;const d=y.showAnimations?y.animationDuration:0,u=y.showAnimations?y.animationDelay:0,o=m(()=>{const $=ve("g#pgUsageGraph");h.graphMode=="month"||h.graphMode=="year"?Q($):W($),$.selectAll(".axis").remove();const f=$.append("g").attr("class","axis");return f.call(D.value),f.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),y.showGrid?f.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):f.selectAll(".tick line").attr("stroke","var(--color-bg)"),f.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),p=m(()=>Et().keys(V.value)),v=m(()=>p.value(h.data)),M=m(()=>Ie().domain([0,h.data.length-1]).range([0,e.width])),b=m(()=>Ie().range([e.height+10,2*e.height]).domain(h.graphMode=="year"?[0,Math.ceil(F.value[1]*10)/10]:[0,Math.ceil(F.value[1])])),V=m(()=>{if(h.graphMode!="today"&&h.graphMode!="day")return a[e.stackOrder];{const $=a[e.stackOrder].slice(),f=$.indexOf("charging");$.splice(f,1);const x=/cp\d+/;let A=[];return h.data.length>0&&(A=Object.keys(h.data[0]).reduce((E,R)=>(R.match(x)&&E.push(R),E),[])),A.map((E,R)=>{$.splice(f+R,0,E),n[E]="var(--color-cp"+R+")"}),$}}),F=m(()=>{let $=Te(h.data,f=>f.house+f.charging+f.batIn+f.devices);return $[0]!=null&&$[1]!=null?(h.graphMode=="year"&&($[0]=$[0]/1e3,$[1]=$[1]/1e3),$):[0,0]}),pe=m(()=>h.graphMode=="month"||h.graphMode=="year"?-e.width-e.margin.right-22:-e.width),D=m(()=>rt(b.value).tickSizeInner(pe.value).ticks(4).tickFormat($=>($==0?"":Math.round($*10)/10).toLocaleString(void 0)));function W($){const f=Qe().x((A,E)=>M.value(E)).y(b.value(0)),x=Qe().x((A,E)=>M.value(E)).y0(A=>b.value(A[0])).y1(A=>b.value(A[1]));y.showAnimations?Ue?($.selectAll("*").remove(),r=$.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",A=>f(A)).attr("fill",(A,E)=>n[V.value[E]]),r.transition().duration(300).delay(100).ease(Le).attr("d",A=>x(A)),$t()):($.selectAll("*").remove(),$.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",A=>x(A)).attr("fill",(A,E)=>n[V.value[E]])):($.selectAll("*").remove(),$.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",A=>x(A)).attr("fill",(A,E)=>n[V.value[E]]))}function Q($){Ue?($.selectAll("*").remove(),s=$.selectAll(".usagebar").data(v.value).enter().append("g").attr("fill",(f,x)=>n[a[e.stackOrder][x]]).selectAll("rect").data(f=>f).enter().append("rect").attr("x",(f,x)=>_e.value(h.data[x].date)??0).attr("y",()=>b.value(0)).attr("height",0).attr("width",_e.value.bandwidth()),s.transition().duration(d).delay(u).ease(Le).attr("y",f=>h.graphMode=="year"?b.value(f[0]/1e3):b.value(f[0])).attr("height",f=>h.graphMode=="year"?b.value(f[1]/1e3)-b.value(f[0]/1e3):b.value(f[1])-b.value(f[0])),$t()):($.selectAll("*").remove(),s=$.selectAll(".usagebar").data(v.value).enter().append("g").attr("fill",(f,x)=>n[a[e.stackOrder][x]]).selectAll("rect").data(f=>f).enter().append("rect").attr("x",(f,x)=>_e.value(h.data[x].date)??0).attr("y",f=>h.graphMode=="year"?b.value(f[0]/1e3):b.value(f[0])).attr("height",f=>h.graphMode=="year"?b.value(f[1]/1e3)-b.value(f[0]/1e3):b.value(f[1])-b.value(f[0])).attr("width",_e.value.bandwidth()))}return($,f)=>(g(),w("g",{id:"pgUsageGraph",origin:o.value,transform:"translate("+$.margin.left+","+$.margin.top+")"},null,8,On))}}),Tn=["transform"],Vn=["origin","transform"],An=["origin","transform"],Ln={key:0},Dn=["width","height"],En={key:1},Gn=["y","width","height"],it=12,Wn=T({__name:"PGXAxis",props:{width:{},height:{},margin:{}},setup(t){const e=t,a=m(()=>He(u.value).ticks(4).tickSizeInner(d.value).tickFormat(pt("%H:%M"))),n=m(()=>la(u.value).ticks(4).tickSizeInner(d.value+3).tickFormat(pt(""))),r=m(()=>He(_e.value).ticks(4).tickSizeInner(d.value).tickFormat(v=>v.toString())),s=m(()=>He(_e.value).ticks(4).tickSizeInner(d.value).tickFormat(()=>"")),d=m(()=>h.graphMode!=="month"&&h.graphMode!=="year"?y.showGrid?-(e.height/2-7):-10:0),u=m(()=>{let v=Te(h.data,M=>M.date);return v[0]&&v[1]?ze().domain(v).range([0,e.width]):ze().range([0,0])}),o=m(()=>{let v=ve("g#PGXAxis");return v.selectAll("*").remove(),h.graphMode=="month"||h.graphMode=="year"?v.call(r.value):v.call(a.value),v.selectAll(".tick > text").attr("fill",(M,b)=>b>0||h.graphMode=="month"||h.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",it),y.showGrid?v.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):v.selectAll(".tick line").attr("stroke","var(--color-bg)"),v.select(".domain").attr("stroke","var(--color-bg)"),v.append("text").attr("x",-e.margin.left).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",it).text(h.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),p=m(()=>{let v=ve("g#PGXAxis2");return v.selectAll("*").remove(),h.graphMode=="month"||h.graphMode=="year"?v.call(s.value):v.call(n.value),v.selectAll(".tick > text").attr("fill",(M,b)=>b>0||h.graphMode=="month"||h.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",it),y.showGrid?(v.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),v.select(".domain").attr("stroke","var(--color-bg)")):v.selectAll(".tick line").attr("stroke","var(--color-bg)"),v.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"});return(v,M)=>(g(),w("g",{transform:"translate("+v.margin.left+","+v.margin.top+")"},[i("g",{id:"PGXAxis",class:"axis",origin:o.value,transform:"translate(0,"+(v.height/2-6)+")"},null,8,Vn),i("g",{id:"PGXAxis2",class:"axis",origin:p.value,transform:"translate(0,"+(v.height/2+10)+")"},null,8,An),l(y).showGrid?(g(),w("g",Ln,[i("rect",{x:"0",y:"0",width:v.width,height:v.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Dn)])):P("",!0),l(y).showGrid?(g(),w("g",En,[i("rect",{x:"0",y:v.height/2+10,width:v.width,height:v.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Gn)])):P("",!0)],8,Tn))}}),jn=["d"],zn=["d","stroke"],Nn=["x","y","text-anchor"],lt=T({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(t){const e=t,a=m(()=>{let b=Te(h.data,V=>V.date);return b[0]&&b[1]?ze().domain(b).range([0,e.width]):ze().range([0,0])}),n=m(()=>Ie().range([e.height-10,0]).domain([0,100])),r=m(()=>Gt().x(F=>a.value(F.date)).y(F=>n.value(e.order==2?F.batSoc:F["soc"+p.value.connectedVehicle])??n.value(0))(h.data)??""),s=m(()=>e.order==2?"Speicher":p.value.connectedVehicle),d=m(()=>e.order==2?"Speicher":p.value.vehicleName),u=m(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),o=m(()=>{switch(e.order){case 0:return e.width-3;case 1:return 3;case 2:return e.width/2;default:return 0}}),p=m(()=>{const b=e.order==2?0:e.order;return Object.values(S)[b]}),v=m(()=>{if(h.data.length>0){let b;switch(e.order){case 0:return b=h.data.length-1,n.value(h.data[b]["soc"+s.value]+2);case 1:return b=0,n.value(h.data[b]["soc"+s.value]+2);case 2:return b=Math.round(h.data.length/2),n.value(h.data[b].batSoc+2);default:return 0}}else return 0}),M=m(()=>{switch(e.order){case 0:return"end";case 1:return"start";case 2:return"middle";default:return"middle"}});return(b,V)=>(g(),w(ye,null,[i("path",{class:"soc-baseline",d:r.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,8,jn),i("path",{class:"soc-dashes",d:r.value,stroke:u.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,zn),i("text",{class:"cpname",x:o.value,y:v.value,style:re({fill:u.value,fontSize:10}),"text-anchor":M.value},I(d.value),13,Nn)],64))}}),Un=["transform"],Fn=T({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(t){const e=t,a=m(()=>Ie().range([e.height-10,0]).domain([0,100])),n=m(()=>ca(a.value).ticks(5).tickFormat(s=>s.toString()+"%"));function r(){let s=ve("g#PGSocAxis");s.call(n.value),s.selectAll(".tick").attr("font-size",12),s.selectAll(".tick line").attr("stroke","var(--color-bg)"),s.select(".domain").attr("stroke","var(--color-bg)")}return nt(()=>{r()}),(s,d)=>(g(),w("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(s.width-20)+",0)"},null,8,Un))}}),Jn={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Rn=["id","value"],Hn=T({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,r=m({get(){return a.modelValue},set(u){n("update:modelValue",u)}});function s(u){let o=a.options[u].color?a.options[u].color:"var(--color-fg)";return a.options[u].active?{color:"var(--color-bg)",background:o}:{color:o}}function d(u){let o=u.target;for(;o&&!o.value&&o.parentElement;)o=o.parentElement;o.value&&(r.value=o.value)}return(u,o)=>(g(),w("div",null,[i("div",Jn,[(g(!0),w(ye,null,$e(u.options,(p,v)=>(g(),w("button",{id:"radio-"+p.value,key:v,class:ne(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",p.value==r.value?"active":""]),value:p.value,style:re(s(v)),onClick:d},[i("span",{style:re(s(v)),class:"scaled d-flex flex-column pt-2"},[p.icon?(g(),w("i",{key:0,class:ne(["fa-solid",p.icon])},null,2)):P("",!0),z(" "+I(p.text),1)],4)],14,Rn))),128))])]))}}),Zt=U(Hn,[["__scopeId","data-v-270067ed"]]),Yn={key:0,class:"fa-solid fa-xl fa-chevron-circle-down p-1",style:{color:"var(--color-bg)"}},qn=T({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(t){const e=t,a=he(0),n=m(()=>{switch(h.graphMode){case"live":return e.ignoreLive?"heute":`${K.duration} min`;case"today":return"heute";case"day":return q.date.getDate()+"."+(q.date.getMonth()+1)+".";case"month":return fa(xe.month-1,xe.year);case"year":return Ce.year.toString();default:return"???"}}),r=["live","today","day","month","year"],s=["Live","Heute","Tag","Monat","Jahr"],d=m({get(){return h.graphMode},set(D){switch(D){case"day":p();break;case"today":v();break;case"live":o();break;case"month":M();break;case"year":b()}}});function u(){a.value+=1,a.value>1&&(a.value=0)}function o(){h.graphMode!="live"&&(h.graphMode="live",ae())}function p(){h.graphMode!="day"&&h.graphMode!="today"&&(h.graphMode="day",ae())}function v(){h.graphMode!="today"&&(h.graphMode="today",Cn(new Date),ae())}function M(){h.graphMode!="month"&&(h.graphMode="month",ae())}function b(){h.graphMode!="year"&&(h.graphMode="year",ae())}const V=m(()=>a.value>0?{border:"1px solid var(--color-frame)"}:""),F=m(()=>a.value==1?"justify-content-between":"justify-content-end"),pe=m(()=>a.value==1?"justify-content-between":"justify-content-center");return(D,W)=>(g(),w("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:re(V.value)},[a.value==2?(g(),B(Zt,{key:0,id:"pgm2",modelValue:d.value,"onUpdate:modelValue":W[0]||(W[0]=Q=>d.value=Q),class:"m-2",options:r.map((Q,$)=>({text:s[$],value:Q,color:"var(--color-menu)",active:Q==l(h).graphMode}))},null,8,["modelValue","options"])):P("",!0),a.value==1?(g(),w("span",{key:1,type:"button",class:ne(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:W[1]||(W[1]=Q=>D.$emit("shiftUp"))},W[6]||(W[6]=[i("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):P("",!0),i("div",{class:ne(["d-flex align-items-center",pe.value])},[a.value==1?(g(),w("span",{key:0,type:"button",class:ne(["p-1",{disabled:!e.showLeftButton}]),onClick:W[2]||(W[2]=Q=>D.$emit("shiftLeft"))},W[7]||(W[7]=[i("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):P("",!0),a.value<2?(g(),w("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:u},I(n.value),1)):P("",!0),a.value==1?(g(),w("span",{key:2,id:"graphRightButton",type:"button",class:ne(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:W[3]||(W[3]=Q=>D.$emit("shiftRight"))},null,2)):P("",!0)],2),i("div",{class:ne(["d-flex align-items-center",F.value])},[a.value==1?(g(),w("span",Yn)):P("",!0),a.value==1?(g(),w("span",{key:1,id:"graphLeftButton",type:"button",class:ne(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:W[4]||(W[4]=Q=>D.$emit("shiftDown"))},null,2)):P("",!0),a.value>0?(g(),w("span",{key:2,type:"button",class:"p-1",onClick:W[5]||(W[5]=Q=>a.value=0)},W[8]||(W[8]=[i("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):P("",!0)],2)],4))}}),Xt=U(qn,[["__scopeId","data-v-7fd067cd"]]),Qn={class:"d-flex justify-content-end"},Zn={class:"grid-col-12"},Xn=["viewBox"],Kn=["transform"],er=2,tr="Leistung / Ladestand ",ar=T({__name:"PowerGraph",setup(t){function e(){let a=y.usageStackOrder+1;a>er&&(a=0),y.usageStackOrder=a,wn(!0)}return(a,n)=>(g(),B(ot,null,{title:k(()=>[z(I(tr))]),buttons:k(()=>[i("div",Qn,[_(Xt,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:l(wt),onShiftRight:l(Yt),onShiftUp:l(qt),onShiftDown:l(Qt)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"])])]),default:k(()=>[i("div",Zn,[i("figure",{id:"powergraph",class:"p-0 m-0 align-self-stretch",onClick:e},[(g(),w("svg",{viewBox:"0 0 "+l(Se)+" "+l(Pe)},[_($n,{width:l(Se)-l(L).left-2*l(L).right,height:(l(Pe)-l(L).top-l(L).bottom)/2,margin:l(L)},null,8,["width","height","margin"]),_(Bn,{width:l(Se)-l(L).left-2*l(L).right,height:(l(Pe)-l(L).top-l(L).bottom)/2,margin:l(L),"stack-order":l(y).usageStackOrder},null,8,["width","height","margin","stack-order"]),_(Wn,{width:l(Se)-l(L).left-2*l(L).right,height:l(Pe)-l(L).top-l(L).bottom,margin:l(L),"graph-data":l(h)},null,8,["width","height","margin","graph-data"]),i("g",{transform:"translate("+l(L).left+","+l(L).top+")"},[(l(h).graphMode=="day"||l(h).graphMode=="today"||l(h).graphMode=="live")&&Object.values(l(S)).length>0?(g(),B(lt,{key:0,width:l(Se)-l(L).left-2*l(L).right,height:(l(Pe)-l(L).top-l(L).bottom)/2,margin:l(L),order:0},null,8,["width","height","margin"])):P("",!0),(l(h).graphMode=="day"||l(h).graphMode=="today"||l(h).graphMode=="live")&&Object.values(l(S)).length>1?(g(),B(lt,{key:1,width:l(Se)-l(L).left-2*l(L).right,height:(l(Pe)-l(L).top-l(L).bottom)/2,margin:l(L),order:1},null,8,["width","height","margin"])):P("",!0),["day","today","live"].includes(l(h).graphMode)&&l(J).isBatteryConfigured?(g(),B(lt,{key:2,width:l(Se)-l(L).left-2*l(L).right,height:(l(Pe)-l(L).top-l(L).bottom)/2,margin:l(L),order:2},null,8,["width","height","margin"])):P("",!0),["day","today","live"].includes(l(h).graphMode)?(g(),B(Fn,{key:3,width:l(Se)-l(L).left-l(L).right,height:(l(Pe)-l(L).top-l(L).bottom)/2,margin:l(L)},null,8,["width","height","margin"])):P("",!0)],8,Kn)],8,Xn))])])]),_:1}))}}),nr=U(ar,[["__scopeId","data-v-ba892fa4"]]),rr=["id"],or=["x","width","height","fill"],sr=["x","width","height"],ir=["x","y","width","height"],lr=T({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(t){const e=t,a=m(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),n=m(()=>e.item.energyPv>0?e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom:0),r=m(()=>e.item.energyPv>0?e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom:0);return(s,d)=>(g(),w("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[i("rect",{class:"bar",x:e.xScale(s.item.name),y:"0",width:e.xScale.bandwidth(),height:a.value,fill:s.item.color},null,8,or),i("rect",{class:"bar",x:e.xScale(s.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:n.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,sr),i("rect",{class:"bar",x:e.xScale(s.item.name)+e.xScale.bandwidth()/6,y:n.value,width:e.xScale.bandwidth()*2/3,height:r.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,ir)],8,rr))}}),cr={id:"emBargraph"},ur=T({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(t){const e=t;function a(r){if(r.name=="PV"){const s=h.graphMode=="live"||h.graphMode=="day"?j:C.items,u=(h.graphMode=="live"||h.graphMode=="day"?O:C.items).evuOut.energy,o=s.pv.energy;return Math.round((o-u)/o*100)}else if(r.name=="Netz"){const s=h.graphMode=="live"||h.graphMode=="day"?j:C.items,d=h.graphMode=="live"||h.graphMode=="day"?O:C.items,u=d.evuOut.energy,o=s.evuIn.energy,p=s.pv.energy,v=s.batOut.energy,M=d.batIn.energy;return Math.round((p+v-u-M)/(p+v+o-u-M)*100)}else return r.pvPercentage}function n(r){return r.name=="PV"?"Eigen":"Aut"}return(r,s)=>(g(),w("g",cr,[(g(!0),w(ye,null,$e(e.plotdata,(d,u)=>(g(),w("g",{key:u},[_(lr,{item:d,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(d),autarchy:a(d)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),s[0]||(s[0]=i("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),dr=["origin"],hr=T({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(t){const e=t,a=m(()=>rt(e.yScale).tickFormat(r=>r>0?(r/1e3).toString():"").ticks(6).tickSizeInner(-e.width)),n=m(()=>{const r=ve("g#emYAxis");return r.attr("class","axis").call(a.value),r.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),r.selectAll(".tick").attr("font-size",e.fontsize),y.showGrid?r.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):r.selectAll(".tick line").attr("stroke","var(--color-bg)"),r.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});return(r,s)=>(g(),w("g",{id:"emYAxis",class:"axis",origin:n.value},null,8,dr))}}),pr=["id"],gr=["x","y","font-size"],mr=["x","y","font-size","fill"],fr=["x","y","font-size","fill"],vr=T({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(t){const e=t,a=m(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),n=m(()=>{let o=16,p=e.barcount;return p<=5?o=16:p==6?o=14:p>6&&p<=8?o=13:p==9?o=11:p==10?o=10:o=9,o}),r=m(()=>{let o=12,p=e.barcount;return p<=5?o=12:p==6?o=11:p>6&&p<=8||p==9?o=8:p==10?o=7:o=6,o});function s(o,p){return p.length>r.value?p.substring(0,r.value)+".":p}function d(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function u(){return"var(--color-pv)"}return(o,p)=>(g(),w("g",{id:"barlabel-"+e.item.name},[i("text",{x:e.xScale(o.item.name)+e.xScale.bandwidth()/2,y:a.value,"font-size":n.value,"text-anchor":"middle",fill:"var(--color-menu)"},I(l(jt)(o.item.energy,l(y).decimalPlaces,!1)),9,gr),i("text",{x:e.xScale(o.item.name)+e.xScale.bandwidth()/2,y:e.yScale(o.item.energy)-10,"font-size":n.value-2,"text-anchor":"middle",fill:u()},I(d()),9,mr),i("text",{x:e.xScale(o.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":n.value,"text-anchor":"middle",fill:o.item.color,class:ne(o.item.icon.length<=2?"fas":"")},I(s(o.item.name,o.item.icon)),11,fr)],8,pr))}}),yr={id:"emBarLabels"},br=T({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(t){const e=t;function a(r){if(r.name=="PV"){const s=h.graphMode=="live"||h.graphMode=="day"?j:C.items,u=(h.graphMode=="live"||h.graphMode=="day"?O:C.items).evuOut.energy,o=s.pv.energy;return Math.round((o-u)/o*100)}else if(r.name=="Netz"){const s=h.graphMode=="live"||h.graphMode=="day"?j:C.items,d=h.graphMode=="live"||h.graphMode=="day"?O:C.items,u=d.evuOut.energy,o=s.evuIn.energy,p=s.pv.energy,v=s.batOut.energy,M=d.batIn.energy;return p+v-u-M>0?Math.round((p+v-u-M)/(p+v+o-u-M)*100):0}else return r.pvPercentage}function n(r){return r.name=="PV"?"Eigen":"Aut"}return(r,s)=>(g(),w("g",yr,[(g(!0),w(ye,null,$e(e.plotdata,(d,u)=>(g(),w("g",{key:u},[_(vr,{item:d,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(d),autarchy:a(d)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),_r={class:"grid-col-12"},wr={id:"energymeter",class:"energymeter p-0 m-0 align-self-stretch"},Sr={viewBox:"0 0 500 500"},kr=["transform"],xr=["x"],Mr={key:0},Ot=500,ct=500,Bt=12,Pr="Energie",Cr=T({__name:"EnergyMeter",setup(t){const e={top:25,bottom:30,left:25,right:0},a=m(()=>{let d=Object.values(j),u=s.value,o=C.values(),p=[];switch(y.debug&&(console.debug("----------------------- source summary -----------------"),console.debug(j),console.debug("----------------------- usage details ------------------"),console.debug(s.value),console.debug("----------------------- historic summary ---------------"),console.debug(C),console.debug("--------------------------------------------------------")),Ke.value==!0&&(Ke.value=!1),h.graphMode){default:case"live":case"today":p=d.concat(u).filter(v=>v.energy>0);break;case"day":case"month":case"year":o.length==0?We.value=!0:(We.value=!1,p=o.filter(v=>v.energy>0))}return p}),n=m(()=>ht().range([0,Ot-e.left-e.right]).domain(a.value.map(d=>d.name)).padding(.4)),r=m(()=>Ie().range([ct-e.bottom-e.top,15]).domain([0,ua(a.value,d=>d.energy)])),s=m(()=>{const d=Object.values(S).length,u=Object.values(G).filter(o=>o.configured).length;return[O.evuOut,O.devices,O.charging].concat(d>1?Object.values(S).map(o=>o.toPowerItem()):[]).concat(u>1?Object.values(G).filter(o=>o.configured&&o.showInGraph):[]).concat([O.batIn,O.house])});return(d,u)=>(g(),B(ot,null,{title:k(()=>[z(I(Pr))]),buttons:k(()=>[_(Xt,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:l(wt),onShiftRight:l(Yt),onShiftUp:l(qt),onShiftDown:l(Qt)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"])]),default:k(()=>[i("div",_r,[i("figure",wr,[(g(),w("svg",Sr,[i("g",{transform:"translate("+e.left+","+e.top+")"},[_(ur,{plotdata:a.value,"x-scale":n.value,"y-scale":r.value,height:ct,margin:e},null,8,["plotdata","x-scale","y-scale"]),_(hr,{"y-scale":r.value,width:Ot,fontsize:Bt,config:l(y)},null,8,["y-scale","config"]),i("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":Bt},I(l(h).graphMode=="year"?"MWh":"kWh"),9,xr),_(br,{plotdata:a.value,"x-scale":n.value,"y-scale":r.value,height:ct,margin:e,config:l(y)},null,8,["plotdata","x-scale","y-scale","config"])],8,kr)]))])]),l(We)?(g(),w("p",Mr,"No data")):P("",!0)]),_:1}))}}),Ir=U(Cr,[["__scopeId","data-v-69785337"]]),$r=["id"],Or={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},Br={class:"modal-content"},Tr={class:"modal-header"},Vr={class:"modal-title scaled"},Ar={class:"modal-body"},Lr=T({__name:"ModalComponent",props:{modalId:{}},setup(t){const e=t;return(a,n)=>(g(),w("div",{id:e.modalId,class:"modal fade"},[i("div",Or,[i("div",Br,[i("div",Tr,[i("h3",Vr,[me(a.$slots,"title",{},void 0)]),n[0]||(n[0]=i("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[i("i",{class:"fa-solid fa-lg fa-circle-check m-0 p-0"})],-1))]),i("div",Ar,[me(a.$slots,"default",{},void 0)]),n[1]||(n[1]=i("div",{class:"modal-footer"},null,-1))])])],8,$r))}}),ut=U(Lr,[["__scopeId","data-v-dff8d7c2"]]),Dr={class:"digit scaled",type:"button"},Er=T({__name:"PadButton",props:{modelValue:{},color:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=he(!1);function r(){n.value=!0,d("update:modelValue",a.modelValue),setTimeout(()=>{n.value=!1},300)}const s=m(()=>n.value?{"background-color":"white",color:"black"}:{"background-color":a.color??"var(--color-axis)"}),d=e;return(u,o)=>(g(),w("div",{class:"padbutton",style:re(s.value),onClick:r},[i("span",Dr,[me(u.$slots,"default",{},void 0)])],4))}}),Je=U(Er,[["__scopeId","data-v-cc256a6f"]]),Gr={class:"numberpad"},Wr={class:"codedisplay scaled"},jr={class:"numberentry"},zr=T({__name:"NumberPad",props:{modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const n=he(t.modelValue),r=e,s=m(()=>n.value.length==0?"Bitte geben Sie die PIN ein":"*".repeat(n.value.length));function d(u){u==-1?n.value=n.value.slice(0,-1):u==-2?(r("update:modelValue",n.value),n.value=""):n.value=n.value+u.toString()}return(u,o)=>(g(),w("div",Gr,[i("p",Wr,I(s.value),1),i("div",jr,[(g(),w(ye,null,$e(9,p=>_(Je,{key:p,"model-value":p,"onUpdate:modelValue":d},{default:k(()=>[z(I(p),1)]),_:2},1032,["model-value"])),64)),_(Je,{"model-value":0,"onUpdate:modelValue":d},{default:k(()=>o[0]||(o[0]=[z("0")])),_:1}),_(Je,{"model-value":-1,color:"var(--color-devices)","onUpdate:modelValue":d},{default:k(()=>o[1]||(o[1]=[i("span",{class:"fas fa-delete-left"},null,-1)])),_:1}),_(Je,{"model-value":-2,color:"var(--color-devices)","data-bs-dismiss":"modal","onUpdate:modelValue":d},{default:k(()=>o[2]||(o[2]=[i("span",{class:"fas fa-circle-check"},null,-1)])),_:1})])]))}}),Nr=U(zr,[["__scopeId","data-v-63c8fa5c"]]),Ur={class:"statustable"},Fr=T({__name:"StatusPage",setup(t){return(e,a)=>(g(),w("div",Ur,[a[0]||(a[0]=i("span",{class:"header"},"IP-Adresse:",-1)),i("span",null,I(l(J).ipAddress),1),a[1]||(a[1]=i("span",{class:"header"},"Systemzeit:",-1)),i("span",null,I(new Date(l(J).systemTime*1e3).toLocaleString(void 0)),1),a[2]||(a[2]=i("span",{class:"header"},"Version:",-1)),i("span",null,I(l(J).version),1),a[3]||(a[3]=i("span",{class:"header"},"Version (Details):",-1)),i("span",null,I(l(J).versionDetails),1),a[4]||(a[4]=i("span",{class:"header"},"Entwicklungszweig:",-1)),i("span",null,I(l(J).devBranch),1)]))}}),Jr=U(Fr,[["__scopeId","data-v-8aa40fae"]]),Rr={class:"d-flex align-items-baseline m-0 p-0 scaled"},Hr={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center"},Yr={class:"justify-content-stretch d-flex"},qr=T({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},iconcolor:{},fullwidth:{type:Boolean}},setup(t){const e=t;return(a,n)=>(g(),w(ye,null,[i("span",Rr,[e.icon?(g(),w("i",{key:0,class:ne(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon]),style:re({color:e.iconcolor?e.iconcolor:"var(--color-charging)"})},null,6)):P("",!0),z(" "+I(a.title),1)]),i("div",Hr,[i("span",Yr,[me(a.$slots,"default",{},void 0)])])],64))}}),X=U(qr,[["__scopeId","data-v-45020119"]]),Qr={class:"rangewidget d-flex flex-column"},Zr={class:"rangeslider d-flex flex-fill justify-content-between align-items-center"},Xr=["id","min","max","step"],Kr={class:"d-flex justify-content-between align-items-center"},eo={class:"minlabel ps-4"},to={class:"valuelabel"},ao={class:"maxlabel pe-4"},no=T({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=a.decimals??0,r=e,s=m({get(){return Math.round(a.modelValue*Math.pow(10,n))/Math.pow(10,n)},set(o){r("update:modelValue",o)}});function d(){s.value>a.min&&(s.value=Math.round((s.value-a.step)*Math.pow(10,n))/Math.pow(10,n))}function u(){s.value(g(),w("span",Qr,[i("span",Zr,[i("span",{type:"button",class:"minusButton",onClick:d},p[1]||(p[1]=[i("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),De(i("input",{id:o.id,"onUpdate:modelValue":p[0]||(p[0]=v=>s.value=v),type:"range",class:"form-range flex-fill",min:o.min,max:o.max,step:o.step},null,8,Xr),[[da,s.value,void 0,{number:!0}]]),i("span",{type:"button",class:"plusButton",onClick:u},p[2]||(p[2]=[i("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),i("span",Kr,[i("span",eo,I(o.min),1),i("span",to,I(s.value)+" "+I(o.unit),1),i("span",ao,I(o.max),1)])]))}}),Me=U(no,[["__scopeId","data-v-0e01f92a"]]),ro=["id","value"],oo=T({__name:"RadioInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,r=m({get(){return a.modelValue},set(u){n("update:modelValue",u)}});function s(u){return a.options[u][2]?{color:a.options[u][2]}:{color:"var(--color-fg)"}}function d(u){let o=u.target;for(;o&&!o.value&&o.parentElement;)o=o.parentElement;o.value&&(r.value=o.value)}return(u,o)=>(g(),w("div",null,[(g(!0),w(ye,null,$e(u.options,(p,v)=>(g(),w("button",{id:"radio-"+p[1],key:v,class:ne(["btn btn-outline-secondary radiobutton me-2 mb-0 px-2",p[1]==r.value?"active":""]),value:p[1],style:re(s(v)),onClick:d},[i("span",{style:re(s(v)),class:"scaled"},[p[3]?(g(),w("i",{key:0,class:ne(["fa-solid",p[3]])},null,2)):P("",!0),z(" "+I(p[0]),1)],4)],14,ro))),128))]))}}),qe=U(oo,[["__scopeId","data-v-005a14a9"]]),so={class:"instantsettings"},io={key:0},lo=T({__name:"CPConfigInstant",props:{chargepointId:{}},setup(t){const e=t,a=m(()=>S[e.chargepointId]),n=[{name:"keine",id:"none"},{name:"EV-SoC",id:"soc"},{name:"Energiemenge",id:"amount"}],r=m({get(){return a.value.instantMaxEnergy/1e3},set(s){a.value.instantMaxEnergy=s*1e3}});return(s,d)=>(g(),w("div",so,[_(X,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:k(()=>[_(Me,{id:"targetCurrent",modelValue:a.value.instantTargetCurrent,"onUpdate:modelValue":d[0]||(d[0]=u=>a.value.instantTargetCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),a.value.instantChargeLimitMode!="none"?(g(),w("hr",io)):P("",!0),_(X,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:k(()=>[_(qe,{modelValue:a.value.instantChargeLimitMode,"onUpdate:modelValue":d[1]||(d[1]=u=>a.value.instantChargeLimitMode=u),options:n.map(u=>[u.name,u.id])},null,8,["modelValue","options"])]),_:1}),a.value.instantChargeLimitMode=="soc"?(g(),B(X,{key:1,title:"Maximaler SoC",icon:"fa-sliders",fullwidth:!0},{default:k(()=>[_(Me,{id:"maxSoc",modelValue:a.value.instantTargetSoc,"onUpdate:modelValue":d[2]||(d[2]=u=>a.value.instantTargetSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):P("",!0),a.value.instantChargeLimitMode=="amount"?(g(),B(X,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:k(()=>[_(Me,{id:"maxEnergy",modelValue:r.value,"onUpdate:modelValue":d[3]||(d[3]=u=>r.value=u),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):P("",!0)]))}}),co=U(lo,[["__scopeId","data-v-6c87e539"]]),uo={class:"form-check form-switch d-flex align-items-center justify-content-center"},ho=T({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,r=m({get(){return a.modelValue},set(s){n("update:modelValue",s)}});return(s,d)=>(g(),w("div",uo,[De(i("input",{"onUpdate:modelValue":d[0]||(d[0]=u=>r.value=u),class:"form-check-input",type:"checkbox",role:"switch"},null,512),[[ha,r.value]])]))}}),de=U(ho,[["__scopeId","data-v-547e6de4"]]),po={class:"pvsettings pt-2"},go=T({__name:"CPConfigPv",props:{chargepointId:{}},setup(t){const e=t,a=m(()=>S[e.chargepointId]),n=m({get(){return a.value.pvMinCurrent>5},set(d){d?a.value.pvMinCurrent=6:a.value.pvMinCurrent=0}}),r=m({get(){return a.value.pvMinSoc>0},set(d){d?a.value.pvMinSoc=50:a.value.pvMinSoc=0}}),s=m({get(){return a.value.pvMaxSoc<=100},set(d){d?a.value.pvMaxSoc=100:a.value.pvMaxSoc=101}});return(d,u)=>(g(),w("div",po,[_(X,{title:"Ladestand begrenzen",icon:"fa-battery-three-quarters",fullwidth:!0},{default:k(()=>[_(de,{id:"limitSoc",modelValue:s.value,"onUpdate:modelValue":u[0]||(u[0]=o=>s.value=o)},null,8,["modelValue"])]),_:1}),s.value?(g(),B(X,{key:0,title:"...auf maximal...",icon:"fa-battery-three-quarters",fullwidth:!0},{default:k(()=>[_(Me,{id:"maxSoc",modelValue:a.value.pvMaxSoc,"onUpdate:modelValue":u[1]||(u[1]=o=>a.value.pvMaxSoc=o),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):P("",!0),_(X,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{default:k(()=>[_(de,{modelValue:a.value.pvFeedInLimit,"onUpdate:modelValue":u[2]||(u[2]=o=>a.value.pvFeedInLimit=o)},null,8,["modelValue"])]),_:1}),_(X,{title:"Mindest-Ladestand",icon:"fa-battery-half",fullwidth:!0},{default:k(()=>[_(de,{modelValue:r.value,"onUpdate:modelValue":u[3]||(u[3]=o=>r.value=o)},null,8,["modelValue"])]),_:1}),r.value?(g(),B(X,{key:1,title:"...bis SoC",fullwidth:!0},{default:k(()=>[_(Me,{id:"minSoc",modelValue:a.value.pvMinSoc,"onUpdate:modelValue":u[4]||(u[4]=o=>a.value.pvMinSoc=o),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):P("",!0),r.value?(g(),B(X,{key:2,title:"...mit Ladestrom",fullwidth:!0},{default:k(()=>[_(Me,{id:"minSocCurrent",modelValue:a.value.pvMinSocCurrent,"onUpdate:modelValue":u[5]||(u[5]=o=>a.value.pvMinSocCurrent=o),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):P("",!0),_(X,{title:"Minimaler Ladestrom",icon:"fa-bolt",fullwidth:!0},{default:k(()=>[_(de,{modelValue:n.value,"onUpdate:modelValue":u[6]||(u[6]=o=>n.value=o)},null,8,["modelValue"])]),_:1}),n.value?(g(),B(X,{key:3,title:"...bei Ladestrom (minimal)",fullwidth:!0},{default:k(()=>[_(Me,{id:"minCurrent",modelValue:a.value.pvMinCurrent,"onUpdate:modelValue":u[7]||(u[7]=o=>a.value.pvMinCurrent=o),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):P("",!0)]))}}),mo=U(go,[["__scopeId","data-v-908e4b46"]]),fo={class:"d-flex flex-column p-3"},vo={key:0,class:"warning p-5"},yo={class:"table table-dark"},bo=T({__name:"CPConfigScheduled",props:{chargeTemplateId:{}},setup(t){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},a=t,n=m(()=>Ee[a.chargeTemplateId]?Object.values(Ee[a.chargeTemplateId]):[]);function r(u){console.log(`update ${u}`),Y("cpScheduledPlanActive",n.value[u].active,a.chargeTemplateId,u)}function s(u){return n.value[u].time}function d(u){return{"font-weight":n.value[u].active?"bold":"regular"}}return(u,o)=>(g(),w("div",fo,[o[1]||(o[1]=i("div",{class:"subtitle mb-4"},"Pläne für Zielladen:",-1)),n.value.length==0?(g(),w("div",vo," Es sind noch keine Pläne definiert. Pläne für das Zielladen können in der Web-App festgelegt werden. ")):P("",!0),i("table",yo,[o[0]||(o[0]=i("thead",null,[i("tr",null,[i("th"),i("th",null,"Startzeit"),i("th",null,"SoC-Ziel"),i("th",null,"SoC-Limit"),i("th",null,"Wiederholung")])],-1)),i("tbody",null,[(g(!0),w(ye,null,$e(n.value,(p,v)=>(g(),w("tr",{key:v,style:re(d(v))},[i("td",null,[_(de,{modelValue:p.active,"onUpdate:modelValue":[M=>p.active=M,M=>r(v)]},null,8,["modelValue","onUpdate:modelValue"])]),i("td",null,I(s(v)),1),i("td",null,I(p.limit.soc_scheduled)+"%",1),i("td",null,I(p.limit.soc_limit)+"%",1),i("td",null,I(e[p.frequency.selected]),1)],4))),128))])])]))}}),_o=U(bo,[["__scopeId","data-v-09a476b7"]]),wo={class:"d-flex flex-column p-3"},So={key:0,class:"warning p-5"},ko={class:"table table-dark"},xo=T({__name:"CPConfigTimed",props:{chargeTemplateId:{}},setup(t){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},a=t,n=m(()=>Ge[a.chargeTemplateId]?Object.values(Ge[a.chargeTemplateId])??[]:[]);function r(d){console.log(`update ${d}`),Y("cpTimedPlanActive",n.value[d].active,a.chargeTemplateId,d)}function s(d){return{"font-weight":n.value[d].active?"bold":"regular"}}return(d,u)=>(g(),w("div",wo,[u[1]||(u[1]=i("div",{class:"subtitle mb-4"},"Zeitpläne:",-1)),n.value.length==0?(g(),w("div",So," Es sind noch keine Pläne definiert. Zeitpläne können in der Web-App festgelegt werden. ")):P("",!0),i("table",ko,[u[0]||(u[0]=i("thead",null,[i("tr",null,[i("th"),i("th",null,"Von"),i("th",null,"Bis"),i("th",null,"Ladestrom"),i("th",null,"Wiederholung")])],-1)),i("tbody",null,[(g(!0),w(ye,null,$e(n.value,(o,p)=>(g(),w("tr",{key:p,style:re(s(p))},[i("td",null,[_(de,{modelValue:o.active,"onUpdate:modelValue":[v=>o.active=v,v=>r(p)]},null,8,["modelValue","onUpdate:modelValue"])]),i("td",null,I(o.time[0]),1),i("td",null,I(o.time[1]),1),i("td",null,I(o.current)+"A",1),i("td",null,I(e[o.frequency.selected]),1)],4))),128))])])]))}}),Mo=U(xo,[["__scopeId","data-v-93a76758"]]),Po={class:"chargesettings pt-2"},Co={key:2,class:"grid-col-2 my-2"},Io=T({__name:"CPChargeConfig",props:{chargepointId:{}},setup(t){const e=t,a=m(()=>S[e.chargepointId]),n=m({get:()=>a.value.connectedVehicle,set:d=>{S[a.value.id].connectedVehicle=d}}),r=m({get:()=>a.value.etActive,set:d=>{S[a.value.id].etActive=d}}),s=m({get:()=>a.value.timedCharging,set:d=>{S[a.value.id].timedCharging=d}});return(d,u)=>(g(),w("div",Po,[Object.keys(l(N)).length>1?(g(),B(X,{key:0,title:"Fahrzeug wechseln",icon:"fa-car",fullwidth:!0},{default:k(()=>[_(qe,{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=o=>n.value=o),modelModifiers:{number:!0},options:Object.values(l(N)).map(o=>[o.name,o.id])},null,8,["modelValue","options"])]),_:1})):P("",!0),Object.keys(l(se)).length>1?(g(),B(X,{key:1,title:"Ladeprofil",icon:"fa-sliders",iconcolor:"var(--color-pv)"},{default:k(()=>[l(N)[n.value]?(g(),B(qe,{key:0,modelValue:l(N)[n.value].chargeTemplateId,"onUpdate:modelValue":u[1]||(u[1]=o=>l(N)[n.value].chargeTemplateId=o),modelModifiers:{number:!0},options:Object.keys(l(se)).map(o=>[l(se)[+o].name,o])},null,8,["modelValue","options"])):P("",!0)]),_:1})):P("",!0),u[7]||(u[7]=i("hr",{class:"grid-col-2 my-2"},null,-1)),_(X,{title:"Priorität",icon:"fa-star",iconcolor:"var(--color-evu)",fullwidth:!0},{default:k(()=>[_(de,{modelValue:a.value.hasPriority,"onUpdate:modelValue":u[2]||(u[2]=o=>a.value.hasPriority=o)},null,8,["modelValue"])]),_:1}),_(X,{title:"Zeitplan aktivieren",icon:"fa-clock",iconcolor:"var(--color-battery)"},{default:k(()=>[_(de,{modelValue:s.value,"onUpdate:modelValue":u[3]||(u[3]=o=>s.value=o)},null,8,["modelValue"])]),_:1}),_(X,{title:"Sperren",icon:"fa-lock",iconcolor:"var(--color-evu)",fullwidth:!0},{default:k(()=>[_(de,{modelValue:a.value.isLocked,"onUpdate:modelValue":u[4]||(u[4]=o=>a.value.isLocked=o)},null,8,["modelValue"])]),_:1}),_(X,{title:"Strompreisbasiert laden",icon:"fa-coins",iconcolor:"var(--color-battery)"},{default:k(()=>[_(de,{modelValue:r.value,"onUpdate:modelValue":u[5]||(u[5]=o=>r.value=o)},null,8,["modelValue"])]),_:1}),l(J).isBatteryConfigured?(g(),w("hr",Co)):P("",!0),l(J).isBatteryConfigured?(g(),B(X,{key:3,title:"PV-Priorität (global)",icon:"fa-car-battery",iconcolor:"var(--color-battery)",fullwidth:!0},{default:k(()=>[_(qe,{modelValue:l(J).pvBatteryPriority,"onUpdate:modelValue":u[6]||(u[6]=o=>l(J).pvBatteryPriority=o),options:l(Oa)},null,8,["modelValue","options"])]),_:1})):P("",!0)]))}}),$o=U(Io,[["__scopeId","data-v-1cad71ed"]]),Oo={class:"pricesettings grid12"},Bo={class:"subtitle grid-col-12"},To={class:"grapharea"},Vo={id:"pricechart"},Ao={viewBox:"0 0 400 300"},Lo=["id","origin","transform"],Do={class:"controlarea d-flex align-items-center"},Eo={class:"priceinput d-flex flex-column justify-content-center align-items-center"},Go={class:"grid12 pb-5"},dt=400,Tt=250,Vt=12,Wo=T({__name:"PriceChart",props:{chargePointId:{},globalview:{type:Boolean}},setup(t){const e=t,a=m(()=>S[e.chargePointId]);let n=he(a.value.etMaxPrice);const r=he(!1),s=m({get:()=>a.value.etActive,set:f=>{a.value.etActive=f}});function d(){a.value&&(a.value.etMaxPrice=n.value),r.value=!1}const u=he(!1),o={top:0,bottom:15,left:20,right:15},p=m(()=>{let f=[];return te.etPriceList.size>0&&te.etPriceList.forEach((x,A)=>{f.push([A,x])}),f}),v=m(()=>p.value.length>1?(dt-o.left-o.right)/p.value.length-1:0),M=m(()=>({background:"var(--color-charging)"})),b=m(()=>{let f=Te(p.value,x=>x[0]);return f[1]&&(f[1]=new Date(f[1]),f[1].setTime(f[1].getTime()+36e5)),ze().range([o.left,dt-o.right]).domain(f)}),V=m(()=>{let f=Te(p.value,x=>x[1]);return f[0]=f[0]?Math.floor(f[0]-1):0,f[1]=f[1]?Math.floor(f[1]+1):0,f}),F=m(()=>Ie().range([Tt-o.bottom,0]).domain(V.value)),pe=m(()=>{const f=Gt(),x=[[o.left,F.value(n.value)],[dt-o.right-1,F.value(n.value)]];return f(x)}),D=m(()=>He(b.value).ticks(p.value.length).tickSize(5).tickSizeInner(-250).tickFormat(f=>f.getHours()%6==0?pt("%H:%M")(f):"")),W=m(()=>rt(F.value).ticks(6).tickSizeInner(-365).tickFormat(f=>f.toString())),Q=m(()=>{u.value==!0;const f=ve("g#"+$.value);f.selectAll("*").remove(),f.selectAll("bar").data(p.value).enter().append("g").append("rect").attr("class","bar").attr("x",R=>b.value(R[0])).attr("y",R=>F.value(R[1])).attr("width",v.value).attr("height",R=>F.value(V.value[0])-F.value(R[1])).attr("fill",R=>R[1]<=n.value?"var(--color-charging)":"var(--color-axis)");const A=f.append("g").attr("class","axis").call(D.value);A.attr("transform","translate(0,"+(Tt-o.bottom)+")"),A.selectAll(".tick").attr("font-size",Vt).attr("color","var(--color-bg)"),A.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",R=>R.getHours()%6==0?"2":"0.5"),A.select(".domain").attr("stroke","var(--color-bg");const E=f.append("g").attr("class","axis").call(W.value);return E.attr("transform","translate("+o.left+",0)"),E.selectAll(".tick").attr("font-size",Vt).attr("color","var(--color-bg)"),E.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",R=>R%5==0?"2":"0.5"),E.select(".domain").attr("stroke","var(--color-bg)"),f.append("path").attr("d",pe.value).attr("stroke","yellow"),"PriceChart.vue"}),$=m(()=>a.value?"priceChartCanvas"+a.value.id:"priceChartCanvasGlobal");return nt(()=>{u.value=!u.value}),(f,x)=>(g(),w("div",Oo,[i("div",Bo,"Anbieter: "+I(l(te).etProvider),1),i("div",To,[i("figure",Vo,[(g(),w("svg",Ao,[i("g",{id:$.value,origin:Q.value,transform:"translate("+o.top+","+o.right+")"},null,8,Lo)]))])]),i("div",Do,[i("div",Eo,[i("div",Go,[_(X,{title:"Strompreisbasiert laden",icon:"fa-coins",iconcolor:"var(--color-battery)"},{default:k(()=>[_(de,{modelValue:s.value,"onUpdate:modelValue":x[0]||(x[0]=A=>s.value=A)},null,8,["modelValue"])]),_:1})]),_(Me,{id:"etmaxprice",modelValue:l(n),"onUpdate:modelValue":x[1]||(x[1]=A=>pa(n)?n.value=A:n=A),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"]),i("span",{class:"pt-3",onClick:d},[i("button",{type:"button",class:"btn btn-lg btn-secondary",style:re(M.value)}," Bestätigen ",4)])])])]))}}),jo=U(Wo,[["__scopeId","data-v-ca62d6fe"]]),zo={class:"m-0 mt-1 p-0 grid-col-12 tabarea"},No={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},Uo=["id","data-bs-target"],Fo=["id","data-bs-target"],Jo=["id","data-bs-target"],Ro=["id","data-bs-target"],Ho=["id","data-bs-target"],Yo=["id","data-bs-target"],qo={id:"settingsPanes",class:"tab-content mt-2"},Qo=["id"],Zo=["id"],Xo=["id"],Ko=["id"],es=["id"],ts=["id"],as=T({__name:"SettingsPage",props:{chargepoint:{}},setup(t){const e=t,a=m(()=>se[e.chargepoint.chargeTemplate]),n=m(()=>e.chargepoint.id);return(r,s)=>(g(),w("div",zo,[i("nav",No,[i("a",{id:"chSettings"+n.value,class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+n.value},s[0]||(s[0]=[i("i",{class:"fa-solid fa-charging-station"},null,-1),z(" Allgemein ")]),8,Uo),i("a",{id:"inSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+n.value},s[1]||(s[1]=[i("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),z(" Sofort ")]),8,Fo),i("a",{id:"phvSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+n.value},s[2]||(s[2]=[i("i",{class:"fa-solid fa-solar-panel me-1"},null,-1),z(" PV ")]),8,Jo),i("a",{id:"scSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+n.value},s[3]||(s[3]=[i("i",{class:"fa-solid fa-bullseye me-1"},null,-1),z(" Zielladen ")]),8,Ro),i("a",{id:"tmSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timeSettings"+n.value},s[4]||(s[4]=[i("i",{class:"fa-solid fa-clock"},null,-1),z(" Zeitpläne ")]),8,Ho),i("a",{id:"prSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#priceSettings"+n.value},s[5]||(s[5]=[i("i",{class:"fa-solid fa-coins"},null,-1),z(" Strompreis ")]),8,Yo)]),i("div",qo,[i("div",{id:"chargeSettings"+n.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[_($o,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,Qo),i("div",{id:"instantSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[_(co,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,Zo),i("div",{id:"pvSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[_(mo,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,Xo),i("div",{id:"scheduledSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[a.value!=null?(g(),B(_o,{key:0,"charge-template-id":e.chargepoint.chargeTemplate},null,8,["charge-template-id"])):P("",!0)],8,Ko),i("div",{id:"timeSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"time-tab"},[a.value!=null?(g(),B(Mo,{key:0,"charge-template-id":e.chargepoint.chargeTemplate},null,8,["charge-template-id"])):P("",!0)],8,es),i("div",{id:"priceSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},[l(te).active?(g(),B(jo,{key:0,"charge-point-id":e.chargepoint.id},null,8,["charge-point-id"])):P("",!0)],8,ts)])]))}}),ns=U(as,[["__scopeId","data-v-c9394349"]]);function rs(t,e){t=="openWB/graph/boolDisplayLiveGraph"?J.displayLiveGraph=+e==1:t.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?os(t,e):t=="openWB/graph/lastlivevaluesJson"?ss(t,e):t=="openWB/graph/config/duration"&&(K.duration=JSON.parse(e))}function os(t,e){if(!K.initialized){let a=[];const n=e.toString().split(` -`);n.length>1?a=n.map(d=>JSON.parse(d)):a=[];const r=t.match(/(\d+)$/g),s=r?r[0]:"";s!=""&&typeof K.rawDataPacks[+s-1]>"u"&&(K.rawDataPacks[+s-1]=a,K.initCounter++)}if(K.initCounter==16){const a=[];K.unsubscribeRefresh(),K.initialized=!0,K.rawDataPacks.map(n=>{n.map(r=>{const s=Kt(r);a.push(s)})}),Fe(a),K.subscribeUpdates()}}function ss(t,e){const a=JSON.parse(e),n=Kt(a);K.graphRefreshCounter++,Fe(h.data.concat(n)),K.graphRefreshCounter>60&&K.activate()}function Kt(t){const e=Object.values(S).length>0?Object.values(S)[0].connectedVehicle:0,a=Object.values(S).length>1?Object.values(S)[1].connectedVehicle:1,n="ev"+e+"-soc",r="ev"+a+"-soc",s={};s.date=is(t.time).valueOf(),+t.grid>0?(s.evuIn=+t.grid,s.evuOut=0):+t.grid<=0?(s.evuIn=0,s.evuOut=-t.grid):(s.evuIn=0,s.evuOut=0),+t["pv-all"]>=0?(s.pv=+t["pv-all"],s.inverter=0):(s.pv=0,s.inverter=-t["pv-all"]),s.house=+t["house-power"],+t["bat-all-power"]>0?(s.batOut=0,s.batIn=+t["bat-all-power"]):+t["bat-all-power"]<0?(s.batOut=-t["bat-all-power"],s.batIn=0):(s.batOut=0,s.batIn=0),t["bat-all-soc"]?s.batSoc=+t["bat-all-soc"]:s.batSoc=0,t[n]&&(s["soc"+e]=+t[n]),t[r]&&(s["soc"+a]=+t[r]),s.charging=+t["charging-all"];for(let d=0;d<10;d++){const u="cp"+d;s[u]=+(t[u+"-power"]??0)}return s.selfUsage=s.pv-s.evuOut,s.selfUsage<0&&(s.selfUsage=0),s.devices=0,s}function is(t){const e=new Date(Date.now()),a=864e5;let n=new Date;const r=Ze("%H:%M:%S")(t);return r&&(n=r,n.setDate(e.getDate()),n.setMonth(e.getMonth()),n.setFullYear(e.getFullYear()),n.getHours()>e.getHours()&&(n=new Date(n.getTime()-a))),n}const ls=["evuIn","pv","batIn","evuOut"];let tt=[];function cs(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;yt(),tt=[],bt.map(s=>{C.setEnergyPv(s,0),C.setEnergyBat(s,0)});const r=us(a);Fe(r),_t(n,tt),y.debug&&(console.debug("---------------------------------------- Graph Data ---------------------------"),console.debug("--- Incoming graph data:"),console.debug(a),console.debug("data to be displayed:"),console.debug(r),console.debug("-------------------------------------------------------------------------------")),h.graphMode=="today"&&setTimeout(()=>q.activate(),3e5)}function us(t){const e=[];let a={};return t.map(n=>{a=ds(n);const r=a;e.push(r)}),e}function ds(t){const e={};if(h.graphMode=="day"||h.graphMode=="today")if(typeof t.date=="number")e.date=new Date(+t.date*1e3).getTime();else{const n=Ze("%H:%M")(t.date);n&&(n.setMonth(q.date.getMonth()),n.setDate(q.date.getDate()),n.setFullYear(q.date.getFullYear()),e.date=n.getTime())}else if(typeof t.date=="string"){const n=Ze("%Y%m%d")(t.date);n&&(e.date=n.getDate())}return e.evuOut=0,e.evuIn=0,Object.entries(t.counter).forEach(([n,r])=>{r.grid&&(e.evuOut+=r.power_exported,e.evuIn+=r.power_imported,tt.includes(n)||tt.push(n))}),e.evuOut==0&&e.evuIn==0&&Object.entries(t.counter).forEach(n=>{e.evuOut+=n[1].power_exported,e.evuIn+=n[1].power_imported}),e.pv=t.pv.all.power_exported,Object.entries(t.bat).length>0?(e.batIn=t.bat.all.power_imported,e.batOut=t.bat.all.power_exported,e.batSoc=t.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(t.cp).forEach(([n,r])=>{n!="all"?(e[n]=r.power_imported,C.keys().includes(n)||C.addItem(n)):e.charging=r.power_imported}),Object.entries(t.ev).forEach(([n,r])=>{n!="all"&&(e["soc"+n.substring(2)]=r.soc)}),e.devices=0,Object.entries(t.sh).forEach(([n,r])=>{n!="all"&&(e[n]=r.power_imported??0,e.devices+=r.power_imported??0,C.keys().includes(n)||C.addItem(n))}),e.selfUsage=e.pv-e.evuOut,t.hc&&t.hc.all?e.house=t.hc.all.power_imported:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?C.keys().filter(n=>!ls.includes(n)).map(n=>{kn(n,e)}):Object.keys(e).map(n=>{e[n+"Pv"]=0,e[n+"Bat"]=0}),e}let Re={};const St=["charging","house","batIn","devices"],hs=["evuIn","pv","batIn","evuOut"];let je=[];function ps(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;yt(),je=[],St.map(r=>{C.items[r].energyPv=0,C.items[r].energyBat=0}),a.length>0&&Fe(ea(a)),_t(n,[])}function gs(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;yt(),je=[],St.forEach(r=>{C.items[r].energyPv=0,C.items[r].energyBat=0}),Fe(ea(a)),_t(n,[])}function ea(t){const e=[];let a={};return Re={},t.map(n=>{a=ms(n),e.push(a),Object.keys(a).forEach(r=>{r!="date"&&(a[r]<0&&(console.warn(`Negative energy value for ${r} in row ${a.date}. Ignoring the value.`),a[r]=0),Re[r]?Re[r]+=a[r]:Re[r]=a[r])})}),e}function ms(t){const e={},a=Ze("%Y%m%d")(t.date);a&&(e.date=h.graphMode=="month"?a.getDate():a.getMonth()+1),e.evuOut=0,e.evuIn=0;let n=0,r=0;return Object.entries(t.counter).forEach(([d,u])=>{n+=u.energy_exported,r+=u.energy_imported,u.grid&&(e.evuOut+=u.energy_exported,e.evuIn+=u.energy_imported,je.includes(d)||je.push(d))}),je.length==0&&(e.evuOut=n,e.evuIn=r),e.pv=t.pv.all.energy_exported,Object.entries(t.bat).length>0?(t.bat.all.energy_imported>=0?e.batIn=t.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),t.bat.all.energy_exported>=0?e.batOut=t.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(t.cp).forEach(([d,u])=>{d!="all"?(C.keys().includes(d)||C.addItem(d),e[d]=u.energy_imported):e.charging=u.energy_imported}),Object.entries(t.ev).forEach(([d,u])=>{d!="all"&&(e["soc-"+d]=u.soc)}),e.devices=Object.entries(t.sh).reduce((d,u)=>(C.keys().includes(u[0])||C.addItem(u[0]),u[1].energy_imported>=0?d+=u[1].energy_imported:console.warn(`Negative energy value for device ${u[0]} in row ${e.date}. Ignoring this value`),d),0),e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?C.keys().filter(d=>!hs.includes(d)).map(d=>{xn(d,e)}):St.map(d=>{e[d+"Pv"]=0,e[d+"Bat"]=0}),e}class fs{constructor(e){c(this,"id");c(this,"dailyYieldExport",0);c(this,"dailyYieldImport",0);c(this,"exported",0);c(this,"faultState",0);c(this,"faultStr","");c(this,"imported",0);c(this,"power",0);c(this,"soc",0);this.id=e}}class vs{constructor(){c(this,"dailyExport",0);c(this,"dailyImport",0);c(this,"exported",0);c(this,"imported",0);c(this,"power",0);c(this,"soc",0)}}const ie=H({});H(new vs);function ys(t){t in ie?console.info("Duplicate battery message: "+t):ie[t]=new fs(t)}function bs(){Object.keys(ie).forEach(t=>{delete ie[parseInt(t)]})}function _s(t,e){const a=ws(t);if(a&&!(a in ie)){console.warn("Invalid battery index received: "+a);return}t=="openWB/bat/config/configured"?J.isBatteryConfigured=e=="true":t=="openWB/bat/get/power"?+e>0?(O.batIn.power=+e,j.batOut.power=0):(O.batIn.power=0,j.batOut.power=-e):t=="openWB/bat/get/soc"?J.batterySoc=+e:t=="openWB/bat/get/daily_exported"?j.batOut.energy=+e:t=="openWB/bat/get/daily_imported"?O.batIn.energy=+e:a&&(t.match(/^openwb\/bat\/[0-9]+\/get\/daily_yield_export$/i)?ie[a].dailyYieldExport=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/daily_yield_import$/i)?ie[a].dailyYieldImport=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?ie[a].exported=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?ie[a].faultState=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?ie[a].faultStr=e:t.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?ie[a].imported=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?ie[a].power=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(ie[a].soc=+e))}function ws(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}function Ss(t,e){if(t=="openWB/optional/et/provider")JSON.parse(e).type==null?te.active=!1:(te.active=!0,te.etProvider=JSON.parse(e).name);else if(t=="openWB/optional/et/get/prices"){const a=JSON.parse(e);te.etPriceList=new Map,Object.keys(a).map(n=>{te.etPriceList.set(new Date(+n*1e3),a[n]*1e5)})}}function ks(t,e){const a=ta(t);if(a&&!(a in S)){console.warn("Invalid chargepoint id received: "+a);return}if(t=="openWB/chargepoint/get/power"?O.charging.power=+e:t=="openWB/chargepoint/get/daily_imported"&&(O.charging.energy=+e),t=="openWB/chargepoint/get/daily_exported")J.cpDailyExported=+e;else if(a){if(t.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(S[a]){const n=JSON.parse(e);S[a].name=n.name,S[a].icon=n.name,oe["cp"+a]?(oe["cp"+a].name=n.name,oe["cp"+a].icon=n.name):oe["cp"+a]={name:n.name,icon:n.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+a);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))S[a].stateStr=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))S[a].faultStr=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))S[a].faultState=+e;else if(t.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))S[a].power=+e;else if(t.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))S[a].dailyYield=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))S[a].isPluggedIn=e=="true";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))S[a].isCharging=e=="true";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))S[a].updateIsLocked(e=="true");else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))S[a].isEnabled=e=="1";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))S[a].phasesInUse=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))S[a].current=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))S[a].currents=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const n=JSON.parse(e);S[a].chargedSincePlugged=n.imported_since_plugged}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const n=JSON.parse(e);S[a].soc=n.soc,S[a].waitingForSoc=!1,S[a].rangeCharged=n.range_charged,S[a].rangeUnit=n.range_unit}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const n=JSON.parse(e);S[a].vehicleName=String(n.name),S[a].updateConnectedVehicle(+n.id)}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const n=JSON.parse(e);switch(n.chargemode){case"instant_charging":S[a].updateChargeMode(fe.instant_charging);break;case"pv_charging":S[a].updateChargeMode(fe.pv_charging);break;case"scheduled_charging":S[a].updateChargeMode(fe.scheduled_charging);break;case"standby":S[a].updateChargeMode(fe.standby);break;case"stop":S[a].updateChargeMode(fe.stop);break}S[a].chargeTemplate=n.charge_template,S[a].averageConsumption=n.average_consumption}}}function xs(t,e){const a=ta(t);if(a!=null){if(!(a in N)){const n=new xa(a);N[a]=n}if(t.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(S).forEach(n=>{n.connectedVehicle==a&&(n.vehicleName=JSON.parse(e))}),N[a].name=JSON.parse(e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))N[a].soc=JSON.parse(e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?N[a].range=0:N[a].range=+e;else if(t.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))N[a].updateChargeTemplateId(+e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))N[a].updateEvTemplateId(+e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const n=JSON.parse(e);Object.values(S).forEach(r=>{r.connectedVehicle==a&&(r.isSocConfigured=n.type!==null,r.isSocManual=n.type=="manual")})}}}function Ms(t,e){if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const a=t.match(/[0-9]+$/i);if(a){const n=+a[0],r=JSON.parse(e);se[n]=r,Ps(n,r)}}else if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/time_charging\/plans\/[0-9]+$/i)){const a=t.match(/(?:\/)([0-9]+)(?:\/)/g),n=t.match(/[0-9]+$/i);if(a&&n){const r=+a[0].replace(/[^0-9]+/g,""),s=+n[0],d=JSON.parse(e);r in Ge||(Ge[r]=[]),Ge[r][s]=d}}else if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/chargemode\/scheduled_charging\/plans\/[0-9]+$/i)){const a=t.match(/(?:\/)([0-9]+)(?:\/)/g),n=t.match(/[0-9]+$/i);if(a&&n){const r=+a[0].replace(/[^0-9]+/g,""),s=+n[0],d=JSON.parse(e);r in Ee||(Ee[r]=[]),Ee[r][s]=d}}else if(t.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const a=t.match(/[0-9]+$/i);if(a){const n=+a[0],r=JSON.parse(e);Ma[n]=r}}}function Ps(t,e){Object.values(S).forEach(a=>{a.chargeTemplate==t&&(a.updateCpPriority(e.prio),a.updateInstantChargeLimitMode(e.chargemode.instant_charging.limit.selected),a.updateInstantTargetCurrent(e.chargemode.instant_charging.current),a.updateInstantTargetSoc(e.chargemode.instant_charging.limit.soc),a.updateInstantMaxEnergy(e.chargemode.instant_charging.limit.amount),a.updatePvFeedInLimit(e.chargemode.pv_charging.feed_in_limit),a.updatePvMinCurrent(e.chargemode.pv_charging.min_current),a.updatePvMaxSoc(e.chargemode.pv_charging.max_soc),a.updatePvMinSoc(e.chargemode.pv_charging.min_soc),a.updatePvMinSocCurrent(e.chargemode.pv_charging.min_soc_current))})}function ta(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}function Cs(t,e){t.match(/^openWB\/LegacySmarthome\/config\//i)?Is(t,e):t.match(/^openWB\/LegacySmarthome\/Devices\//i)&&$s(t,e)}function Is(t,e){const a=aa(t);a!=null&&(a in G||Rt(a),t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?G[a].configured=e!="0":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(G[a].name=e.toString(),G[a].icon=e.toString(),oe["sh"+a].name=e.toString(),oe["sh"+a].icon=e.toString()):t.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?G[a].isAutomatic=e=="0":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?G[a].canSwitch=e=="1":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?G[a].countAsHouse=e=="1":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(G[a].tempConfigured=+e))}function $s(t,e){const a=aa(t);if(a==null){console.warn("Smarthome: Missing index in "+t);return}if(a in G||Rt(a),t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))G[a].power=+e,Os("power");else if(!t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))G[a].runningTime=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))G[a].temp[0]=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))G[a].temp[1]=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))G[a].temp[2]=+e;else if(t.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:G[a].status="off";break;case 11:G[a].status="on";break;case 20:G[a].status="detection";break;case 30:G[a].status="timeout";break;default:G[a].status="off"}}}function Os(t){switch(t){case"power":O.devices.power=Object.values(G).filter(e=>e.configured&&!e.countAsHouse).reduce((e,a)=>e+a.power,0);break;case"energy":O.devices.energy=Object.values(G).filter(e=>e.configured&&!e.countAsHouse).reduce((e,a)=>e+a.energy,0);break;default:console.error("Unknown category")}}function aa(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}class Bs{constructor(e){c(this,"id");c(this,"name","Zähler");c(this,"power",0);c(this,"energy_imported",0);c(this,"energy_exported",0);c(this,"grid",!1);c(this,"type","counter");c(this,"color","var(--color-evu)");c(this,"energyPv",0);c(this,"energyBat",0);c(this,"pvPercentage",0);c(this,"icon","");this.id=e}}const ue=H({});function Ts(t,e){if(t in ue)console.info("Duplicate counter message: "+t);else switch(ue[t]=new Bs(t),ue[t].type=e,e){case"counter":ue[t].color="var(--color-evu)";break;case"inverter":ue[t].color="var(--color-pv)";break;case"cp":ue[t].color="var(--color-charging)";break;case"bat":ue[t].color="var(--color-bat)";break}}const Vs=["openWB/counter/#","openWB/bat/#","openWB/pv/get/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+ft()+"/#","openWB/optional/int_display/#"];function As(){Sa(Ls),Vs.forEach(t=>{Be(t)}),ae()}function Ls(t,e){const a=e.toString();t.match(/^openwb\/counter\/[0-9]+\//i)?Ds(t,a):t.match(/^openwb\/counter\//i)?Es(t,a):t.match(/^openwb\/bat\//i)?_s(t,a):t.match(/^openwb\/pv\//i)?Gs(t,a):t.match(/^openwb\/chargepoint\//i)?ks(t,a):t.match(/^openwb\/vehicle\/template\//i)?Ms(t,a):t.match(/^openwb\/vehicle\//i)?xs(t,a):t.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?Ws(t,a):t.match(/^openwb\/graph\//i)?rs(t,a):t.match(/^openwb\/log\/daily\//i)?cs(t,a):t.match(/^openwb\/log\/monthly\//i)?ps(t,a):t.match(/^openwb\/log\/yearly\//i)?gs(t,a):t.match(/^openwb\/optional\/et\//i)?Ss(t,a):t.match(/^openwb\/system\//i)?zs(t,a):t.match(/^openwb\/LegacySmartHome\//i)?Cs(t,a):t.match(/^openwb\/command\//i)?Ns(t,a):t.match(/^openwb\/optional\//i)&&Us(t,a)}function Ds(t,e){const a=t.split("/"),n=+a[2];if(n==J.evuId?js(t,e):a[3]=="config",a[3]=="get"&&n in ue)switch(a[4]){case"power":ue[n].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":ue[n].energy_imported=+e;break;case"daily_exported":ue[n].energy_exported=+e;break}}function Es(t,e){if(t.match(/^openwb\/counter\/get\/hierarchy$/i)){const a=JSON.parse(e);if(a.length){Ca(),bs();for(const n of a)n.type=="counter"&&(J.evuId=n.id);na(a[0])}}else t.match(/^openwb\/counter\/set\/home_consumption$/i)?(O.house.power=+e,Ta()):t.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(O.house.energy=+e)}function na(t){switch(t.type){case"counter":Ts(t.id,t.type);break;case"cp":Pa(t.id);break;case"bat":ys(t.id);break}t.children.forEach(e=>na(e))}function Gs(t,e){switch(t){case"openWB/pv/get/power":j.pv.power=-e;break;case"openWB/pv/get/daily_exported":j.pv.energy=+e;break}}function Ws(t,e){const a=t.split("/");if(a.length>0)switch(a[4]){case"bat_mode":J.updatePvBatteryPriority(JSON.parse(e));break}}function js(t,e){switch(t.split("/")[4]){case"power":+e>0?(j.evuIn.power=+e,O.evuOut.power=0):(j.evuIn.power=0,O.evuOut.power=-e);break;case"daily_imported":j.evuIn.energy=+e;break;case"daily_exported":O.evuOut.energy=+e;break}}function zs(t,e){if(t.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const a=JSON.parse(e);a.type=="counter"&&(ue[a.id].name=a.name)}else t.match(/^openWB\/system\/ip_address$/i)?J.ipAddress=JSON.parse(e):t.match(/^openWB\/system\/time$/i)?J.systemTime=JSON.parse(e):t.match(/^openWB\/system\/version$/i)?J.version=JSON.parse(e):t.match(/^openWB\/system\/current_commit$/i)?J.versionDetails=JSON.parse(e):t.match(/^openWB\/system\/current_branch$/i)&&(J.devBranch=JSON.parse(e))}function Ns(t,e){const a=t.split("/");if(t.match(/^openWB\/command\/[a-z]+\/error$/i)&&a[2]==ft()){const n=JSON.parse(e);console.error(`Error message from openWB: -Command: ${n.command} -Data: JSON.stringify(err.data) -Error: - ${n.error}`)}}function Us(t,e){if(t.match(/^openwb\/optional\/int_display\/active$/i))ee.active=JSON.parse(e);else if(t.match(/^openwb\/optional\/int_display\/only_local_charge_points$/i))ee.localCpOnly=JSON.parse(e);else if(t.match(/^openwb\/optional\/int_display\/theme$/i)){const a=JSON.parse(e);ee.usePin=a.configuration.lock_changes,ee.code=a.configuration.lock_changes_code}}const Fs={class:"d-flex flex-column align-items-center justify-content-start infoitem"},Js=T({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(t){const e=t,a=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),n=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),r=m(()=>e.small?"mt-0":"mt-1");return(s,d)=>(g(),w("span",Fs,[i("span",{class:ne(["d-flex heading scaled",r.value]),style:re(a.value)},I(e.heading),7),i("span",{class:"d-flex my-0 me-0 align-items-center content scaled",style:re(n.value)},[me(s.$slots,"default",{},void 0)],4)]))}}),le=U(Js,[["__scopeId","data-v-9215fd9b"]]),Rs=T({__name:"FormatWattH",props:{wattH:{}},setup(t){const e=t,a=m(()=>jt(e.wattH,y.decimalPlaces));return(n,r)=>(g(),w("span",null,I(a.value),1))}}),Hs=T({__name:"BatterySymbol",props:{soc:{}},setup(t){const e=t,a=m(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<63?"fa-battery-half":e.soc<89?"fa-battery-three-quarters":"fa-battery-full");return(n,r)=>(g(),w("span",null,[i("i",{class:ne(["fa batIcon",a.value])},null,2),z(" "+I(Math.round(n.soc)+"%"),1)]))}}),Ys=U(Hs,[["__scopeId","data-v-fc156cd3"]]),qs={class:"vehicleinfo justify-content-left"},Qs={class:"titleline mb-3"},Zs={class:"carname d-flex justify-content-left align-items-center px-2"},Xs={key:0,class:"ms-2 me-0 fa-solid fa-xs fa-star ps-1"},Ks={key:1,class:"ms-2 me-0 fa-solid fa-xs fa-coins ps-0"},ei={key:0,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},ti={class:"d-flex justify-content-stretch align-items-center"},ai={class:"infoline"},ni={key:0,class:"me-1 fa-solid fa-xs fa-clock ps-1"},ri={class:"infoline"},oi={class:"maxprice"},si={key:1},ii=T({__name:"CPVehicle",props:{chargepoint:{}},setup(t){const e=t,a=he(e.chargepoint),n=he(!1);function r(){Y("setSoc",s.value,e.chargepoint.connectedVehicle),n.value=!1}const s=m({get(){return e.chargepoint.soc},set(M){S[e.chargepoint.id].soc=M}}),d=m(()=>e.chargepoint.soc),u=m({get(){return e.chargepoint.chargeMode},set(M){ee.locked?Ne():S[e.chargepoint.id].chargeMode=M}}),o=m(()=>{const[M]=te.etPriceList.values();return(Math.round(M*10)/10).toFixed(1)});function p(M=""){ee.locked&&Ne(),new at("#settingspage").toggle();let V=M;if(M=="")switch(e.chargepoint.chargeMode){case"instant_charging":V="#inSettings";break;case"pv_charging":V="#phvSettings";break;case"scheduled_charging":V="#scSettings";break;default:V="#chSettings"}const F=document.querySelector(V+e.chargepoint.id);if(F){var pe=new Wt(F);pe.show()}else console.error("no element found")}const v=m(()=>e.chargepoint.etMaxPrice>=+o.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"});return(M,b)=>(g(),w("div",qs,[i("div",Qs,[_(ge,{onClick:b[0]||(b[0]=V=>p("#chSettings"))},{default:k(()=>[i("div",Zs,[b[6]||(b[6]=i("i",{class:"fa-solid fa-sm fa-car me-3"},null,-1)),z(" "+I(M.chargepoint.vehicleName)+" ",1),M.chargepoint.hasPriority?(g(),w("span",Xs)):P("",!0),M.chargepoint.etActive?(g(),w("span",Ks)):P("",!0)])]),_:1})]),n.value?(g(),w("div",ei,[b[7]||(b[7]=i("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),i("span",ti,[i("span",null,[_(Me,{id:"manualSoc",modelValue:s.value,"onUpdate:modelValue":b[1]||(b[1]=V=>s.value=V),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),i("span",{type:"button",class:"fa-solid d-flex fa-lg m-3 me-1 mb-4 align-self-end fa-circle-check",onClick:r})])):P("",!0),i("div",ai,[M.chargepoint.isSocConfigured?(g(),B(le,{key:0,heading:"Ladestand:",class:"grid-col-4 grid-left"},{default:k(()=>[_(Ys,{soc:d.value,class:"me-2"},null,8,["soc"]),M.chargepoint.isSocManual?(g(),B(ge,{key:0,onClick:b[2]||(b[2]=V=>n.value=!n.value)},{default:k(()=>b[8]||(b[8]=[i("i",{class:"fa-solid fa-sm fas fa-edit py-0 px-3 mt-3",style:{color:"var(--color-fg)"}},null,-1)])),_:1})):P("",!0)]),_:1})):P("",!0),M.chargepoint.isSocConfigured?(g(),B(le,{key:1,heading:"Reichweite:",class:"grid-col-4"},{default:k(()=>[z(I(l(N)[e.chargepoint.connectedVehicle]?Math.round(l(N)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):P("",!0),_(le,{heading:"Zeitplan:",class:"grid-col-4 grid-right"},{default:k(()=>[M.chargepoint.timedCharging?(g(),w("span",ni)):P("",!0),z(" "+I(e.chargepoint.timedCharging?"Ja":"Nein"),1)]),_:1})]),i("div",ri,[l(te).active?(g(),B(le,{key:0,heading:"Preisladen:",class:"grid-col-4 grid-left"},{default:k(()=>[_(de,{modelValue:a.value.etActive,"onUpdate:modelValue":b[3]||(b[3]=V=>a.value.etActive=V)},null,8,["modelValue"])]),_:1})):P("",!0),l(te).active?(g(),B(le,{key:1,heading:"max. Preis:",class:"grid-col-4"},{default:k(()=>[a.value.etActive?(g(),B(ge,{key:0,onClick:b[4]||(b[4]=V=>p("#prSettings"))},{default:k(()=>[i("span",oi,I(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-"),1)]),_:1})):(g(),w("span",si,"-"))]),_:1})):P("",!0),l(te).active?(g(),B(le,{key:2,heading:"akt. Preis:",class:"grid-col-4 grid-right"},{default:k(()=>[i("span",{style:re(v.value)},I(o.value)+" ct ",5)]),_:1})):P("",!0)]),_(Zt,{id:"chargemode-"+M.chargepoint.name,modelValue:u.value,"onUpdate:modelValue":b[5]||(b[5]=V=>u.value=V),class:"chargemodes mx-3 mt-4 mb-0",options:Object.keys(l(Ae)).map(V=>({text:l(Ae)[V].name,value:V,color:l(Ae)[V].color,icon:l(Ae)[V].icon,active:l(Ae)[V].mode==M.chargepoint.chargeMode}))},null,8,["id","modelValue","options"])]))}}),li=U(ii,[["__scopeId","data-v-7cf43681"]]),ci={class:"subgrid"},ui={class:"targetCurrent"},di=T({__name:"CPChargePoint",props:{chargepoint:{}},setup(t){const e=t,a=m(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),n=m(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),r=m(()=>{const v=e.chargepoint.rangeCharged,M=e.chargepoint.chargedSincePlugged,b=e.chargepoint.dailyYield;return M>0?Math.round(v/M*b).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),s=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),d=m(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),u=m(()=>{let v="";return e.chargepoint.isLocked?v="fa-lock":e.chargepoint.isCharging?v=" fa-bolt":e.chargepoint.isPluggedIn&&(v="fa-plug"),"fa "+v}),o=m(()=>({color:e.chargepoint.color}));function p(){ee.locked&&Ne(),new at("#settingspage").toggle();let M="";switch(e.chargepoint.chargeMode){case"instant_charging":M="#inSettings";break;case"pv_charging":M="#phvSettings";break;case"scheduled_charging":M="#scSettings";break;default:M="#chSettings"}const b=document.querySelector(M+e.chargepoint.id);if(b){var V=new Wt(b);V.show()}else console.error("no element found")}return(v,M)=>(g(),B(ot,null,{title:k(()=>[i("span",{style:re(o.value)},[M[0]||(M[0]=i("span",{class:"fa-solid fa-charging-station"}," ",-1)),z(" "+I(e.chargepoint.name),1)],4)]),buttons:k(()=>[_(ge,{color:"var(--color-cp0)",icon:"fa-edit",onClick:p},{default:k(()=>M[1]||(M[1]=[z(" Einstellungen")])),_:1})]),footer:k(()=>[_(li,{chargepoint:e.chargepoint},null,8,["chargepoint"])]),default:k(()=>[i("div",ci,[_(le,{heading:"Status:",class:"grid-col-4 grid-left"},{default:k(()=>[i("span",{style:re({color:d.value})},[i("i",{class:ne(u.value)},null,2),z(" "+I(s.value),1)],4)]),_:1}),_(le,{heading:"Geladen:",class:"grid-col-4"},{default:k(()=>[_(Rs,{"watt-h":v.chargepoint.dailyYield},null,8,["watt-h"])]),_:1}),_(le,{heading:"gel. Reichw.:",class:"grid-col-4 grid-right"},{default:k(()=>[z(I(r.value),1)]),_:1}),e.chargepoint.power>0?(g(),B(le,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left"},{default:k(()=>[_(Ht,{watt:e.chargepoint.power},null,8,["watt"])]),_:1})):P("",!0),e.chargepoint.power>0?(g(),B(le,{key:1,heading:"Strom:",class:"grid-col-3"},{default:k(()=>[z(I(n.value),1)]),_:1})):P("",!0),e.chargepoint.power>0?(g(),B(le,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:k(()=>[z(I(e.chargepoint.phasesInUse),1)]),_:1})):P("",!0),e.chargepoint.power>0?(g(),B(le,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:k(()=>[i("span",ui,I(a.value),1)]),_:1})):P("",!0)])]),_:1}))}}),hi=U(di,[["__scopeId","data-v-795d5c8f"]]),pi={class:"content"},gi={class:"leftside"},mi={class:"rightside"},fi={class:"settingstitle"},vi=T({__name:"DisplayTheme",setup(t){function e(n){Ba(n)&&(ee.locked=!1,setTimeout(()=>{ee.locked=!0},ee.timeout*1e3))}nt(()=>{window.addEventListener("resize",Mt),window.addEventListener("focus",a),As()}),At(()=>{window.removeEventListener("focus",a),window.removeEventListener("resize",Mt)});function a(){document.hasFocus()&&ae()}return(n,r)=>(g(),w(ye,null,[i("div",pi,[i("div",gi,[De(_(bn,null,null,512),[[st,l(y).graphToShow=="powermeter"]]),De(i("div",null,[_(nr)],512),[[st,l(y).graphToShow=="powergraph"]]),De(i("div",null,[_(Ir)],512),[[st,l(y).graphToShow=="energymeter"]])]),i("div",mi,[Object.values(l(S)).length>l(y).cpToShow?(g(),B(hi,{key:0,chargepoint:Object.values(l(S))[l(y).cpToShow]},null,8,["chargepoint"])):P("",!0)])]),_(ut,{"modal-id":"numberpad"},{title:k(()=>r[0]||(r[0]=[z("Code")])),default:k(()=>[_(Nr,{"model-value":"","onUpdate:modelValue":e})]),_:1}),_(ut,{"modal-id":"statuspage"},{title:k(()=>r[1]||(r[1]=[i("span",{class:"statustitle"},"Systemstatus",-1)])),default:k(()=>[_(Jr)]),_:1}),Object.values(l(S)).length>l(y).cpToShow?(g(),B(ut,{key:0,"modal-id":"settingspage"},{title:k(()=>[i("span",fi,"Einstellungen für "+I(Object.values(l(S))[l(y).cpToShow].vehicleName)+" an Ladepunkt "+I(Object.values(l(S))[l(y).cpToShow].name),1)]),default:k(()=>[_(ns,{chargepoint:Object.values(l(S))[l(y).cpToShow]},null,8,["chargepoint"])]),_:1})):P("",!0)],64))}}),yi=U(vi,[["__scopeId","data-v-b1e42e41"]]),bi={class:"fixeddisplay"},_i=T({__name:"App",setup(t){return(e,a)=>(g(),w("div",bi,[_(yi),_(Ja)]))}}),wi=U(_i,[["__scopeId","data-v-d6670850"]]),Si=ga(wi);Si.mount("#app"); diff --git a/packages/modules/display_themes/colors/web/assets/index-TRj_Rbsv.js b/packages/modules/display_themes/colors/web/assets/index-TRj_Rbsv.js new file mode 100644 index 0000000000..2081390485 --- /dev/null +++ b/packages/modules/display_themes/colors/web/assets/index-TRj_Rbsv.js @@ -0,0 +1,6 @@ +var sa=Object.defineProperty;var ia=(t,e,a)=>e in t?sa(t,e,{enumerable:!0,configurable:!0,writable:!0,value:a}):t[e]=a;var d=(t,e,a)=>ia(t,typeof e!="symbol"?e+"":e,a);import{m as la,r as J,a as ue,M as st,d as T,o as p,c as _,n as ne,b as k,e as o,f as fe,g as re,h as m,s as ye,i as He,j as Dt,k as w,w as x,u as c,l as B,t as I,p as W,q as Et,v as Wt,x as ca,F as pe,y as Be,z as Ve,A as mt,B as $e,C as Gt,D as it,E as et,G as We,H as Ze,I as ft,J as ua,K as Fe,L as jt,N as da,O as ha,P as Ee,Q as Ge,R as pa,S as ga,T as tt,U as zt,V as ct,W as ma}from"./vendor-BdYRjXMo.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const s of i.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&n(s)}).observe(document,{childList:!0,subtree:!0});function a(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=a(r);fetch(r.href,i)}})();function Xe(t,e=1){let a;if(t>=1e3&&e<4){switch(e){case 0:a=Math.round(t/1e3);break;case 1:a=Math.round(t/100)/10;break;case 2:a=Math.round(t/10)/100;break;case 3:a=Math.round(t)/1e3;break;default:a=Math.round(t/100)/10;break}return(a==null?void 0:a.toLocaleString(void 0,{minimumFractionDigits:e}))+" kW"}else return Math.round(t).toLocaleString(void 0)+" W"}function Nt(t,e=1,a=!1){let n;if(t>1e6&&(a=!0,t=t/1e3),t>=1e3&&e<4){switch(e){case 0:n=Math.round(t/1e3);break;case 1:n=(Math.round(t/100)/10).toFixed(1);break;case 2:n=(Math.round(t/10)/100).toFixed(2);break;case 3:n=(Math.round(t)/1e3).toFixed(3);break;default:n=Math.round(t/100)/10;break}return n.toLocaleString(void 0,{minimumFractionDigits:e})+(a?" MWh":" kWh")}else return Math.round(t).toLocaleString(void 0)+(a?" kWh":" Wh")}function fa(t){return t.toLocaleTimeString([],{hour:"numeric",minute:"2-digit"})}function va(t,e){return["Jan","Feb","März","April","Mai","Juni","Juli","Aug","Sep","Okt","Nov","Dez"][t]+" "+e}const ya=0,Ut={host:location.hostname,port:location.protocol=="https:"?443:80,endpoint:"/ws",protocol:location.protocol=="https:"?"wss":"ws",connectTimeout:4e3,reconnectPeriod:4e3,clean:!1,clientId:Math.random().toString(36).replace(/[^a-z]+/g,"").substring(0,6)},at={topic:"",qos:ya};let ce;const{host:ba,port:_a,endpoint:wa,...Ft}=Ut,Sa=`${Ft.protocol}://${ba}:${_a}${wa}`;try{ce=la.connect(Sa,Ft),ce.on("connect",()=>{console.info("MQTT connection successful.")}),ce.on("disconnect",()=>{console.info("MQTT disconnected")}),ce.on("error",t=>{console.error("MQTT connection failed: ",t)})}catch(t){console.error("MQTT connect error: ",t)}async function ka(t){await Jt(),ce?ce.on("message",t):console.error("MqttRegister: MQTT client not available")}async function Ae(t){at.topic=t;const{topic:e,qos:a}=at;await Jt(),ce.subscribe(e,{qos:a},n=>{if(n){console.error("MQTT Subscription error: "+n);return}})}function Le(t){at.topic=t;const{topic:e}=at;ce.unsubscribe(e,a=>{if(a){console.error("MQTT Unsubscribe from "+t+" failed: "+a);return}})}async function vt(t,e){let n=ce.connected,r=0;for(;!n&&r<10;)console.warn("MQTT not connected. Waiting 0.1 seconds"),await Rt(100),n=ce.connected,r+=1;if(r<10)try{ce.publish(t,e,{qos:0},i=>{i&&console.warn("MQTT publish error: ",i),console.info("MQTT publish: Message sent: ["+t+"]("+e+")")})}catch(i){console.warn("MQTT publish: caught error: "+i)}else console.error("MQTT publish: Lost connection to MQTT server. Please reload the page")}function bt(){return Ut.clientId}const Mt=20;async function Jt(){let t=ce.connected,e=0;for(;!t&&e{esetTimeout(e,t))}class xa{constructor(e){d(this,"id");d(this,"name","Ladepunkt");d(this,"icon","Ladepunkt");d(this,"type","");d(this,"ev",0);d(this,"template",0);d(this,"connectedPhases",0);d(this,"phase_1",0);d(this,"autoPhaseSwitchHw",!1);d(this,"controlPilotInterruptionHw",!1);d(this,"isEnabled",!0);d(this,"isPluggedIn",!1);d(this,"isCharging",!1);d(this,"_isLocked",!1);d(this,"_connectedVehicle",0);d(this,"chargeTemplate",0);d(this,"evTemplate",0);d(this,"_chargeMode","pv_charging");d(this,"_hasPriority",!1);d(this,"currentPlan","");d(this,"averageConsumption",0);d(this,"vehicleName","");d(this,"rangeCharged",0);d(this,"rangeUnit","");d(this,"counter",0);d(this,"dailyYield",0);d(this,"energyPv",0);d(this,"energyBat",0);d(this,"pvPercentage",0);d(this,"faultState",0);d(this,"faultStr","");d(this,"phasesInUse",0);d(this,"power",0);d(this,"chargedSincePlugged",0);d(this,"stateStr","");d(this,"current",0);d(this,"currents",[0,0,0]);d(this,"phasesToUse",0);d(this,"isSocConfigured",!0);d(this,"isSocManual",!1);d(this,"waitingForSoc",!1);d(this,"color","white");d(this,"_timedCharging",!1);d(this,"_instantChargeLimitMode","");d(this,"_instantTargetCurrent",0);d(this,"_instantTargetSoc",0);d(this,"_instantMaxEnergy",0);d(this,"_pvFeedInLimit",!1);d(this,"_pvMinCurrent",0);d(this,"_pvMaxSoc",101);d(this,"_pvMinSoc",0);d(this,"_pvMinSocCurrent",0);d(this,"_etActive",!1);d(this,"_etMaxPrice",20);this.id=e}get isLocked(){return this._isLocked}set isLocked(e){this._isLocked=e,H("cpLock",e,this.id)}updateIsLocked(e){this._isLocked=e}get connectedVehicle(){return this._connectedVehicle}set connectedVehicle(e){this._connectedVehicle=e,H("cpVehicle",e,this.id)}updateConnectedVehicle(e){this._connectedVehicle=e}get soc(){return z[this.connectedVehicle]?z[this.connectedVehicle].soc:0}set soc(e){z[this.connectedVehicle]&&(z[this.connectedVehicle].soc=e)}get chargeMode(){return this._chargeMode}set chargeMode(e){this._chargeMode=e,H("chargeMode",e,this.id)}updateChargeMode(e){this._chargeMode=e}get hasPriority(){return this._hasPriority}set hasPriority(e){this._hasPriority=e,H("cpPriority",e,this.id)}updateCpPriority(e){this._hasPriority=e}get timedCharging(){return se[this.chargeTemplate]?se[this.chargeTemplate].time_charging.active:!1}set timedCharging(e){se[this.chargeTemplate].time_charging.active=e,H("cpTimedCharging",e,this.chargeTemplate)}get instantTargetCurrent(){return this._instantTargetCurrent}set instantTargetCurrent(e){this._instantTargetCurrent=e,H("cpInstantTargetCurrent",e,this.id)}updateInstantTargetCurrent(e){this._instantTargetCurrent=e}get instantChargeLimitMode(){return this._instantChargeLimitMode}set instantChargeLimitMode(e){this._instantChargeLimitMode=e,H("cpInstantChargeLimitMode",e,this.id)}updateInstantChargeLimitMode(e){this._instantChargeLimitMode=e}get instantTargetSoc(){return this._instantTargetSoc}set instantTargetSoc(e){this._instantTargetSoc=e,H("cpInstantTargetSoc",e,this.id)}updateInstantTargetSoc(e){this._instantTargetSoc=e}get instantMaxEnergy(){return this._instantMaxEnergy}set instantMaxEnergy(e){this._instantMaxEnergy=e,H("cpInstantMaxEnergy",e,this.id)}updateInstantMaxEnergy(e){this._instantMaxEnergy=e}get pvFeedInLimit(){return this._pvFeedInLimit}set pvFeedInLimit(e){this._pvFeedInLimit=e,H("cpPvFeedInLimit",e,this.id)}updatePvFeedInLimit(e){this._pvFeedInLimit=e}get pvMinCurrent(){return this._pvMinCurrent}set pvMinCurrent(e){this._pvMinCurrent=e,H("cpPvMinCurrent",e,this.id)}updatePvMinCurrent(e){this._pvMinCurrent=e}get pvMaxSoc(){return this._pvMaxSoc}set pvMaxSoc(e){this._pvMaxSoc=e,H("cpPvMaxSoc",e,this.id)}updatePvMaxSoc(e){this._pvMaxSoc=e}get pvMinSoc(){return this._pvMinSoc}set pvMinSoc(e){this._pvMinSoc=e,H("cpPvMinSoc",e,this.id)}updatePvMinSoc(e){this._pvMinSoc=e}get pvMinSocCurrent(){return this._pvMinSocCurrent}set pvMinSocCurrent(e){this._pvMinSocCurrent=e,H("cpPvMinSocCurrent",e,this.id)}updatePvMinSocCurrent(e){this._pvMinSocCurrent=e}get realCurrent(){switch(this.phasesInUse){case 0:return 0;case 1:return this.currents[0];case 2:return(this.currents[0]+this.currents[1])/2;case 3:return(this.currents[0]+this.currents[1]+this.currents[2])/3;default:return 0}}get etActive(){return z[this.connectedVehicle]?z[this.connectedVehicle].etActive:!1}set etActive(e){z[this.connectedVehicle]&&(z[this.connectedVehicle].etActive=e)}get etMaxPrice(){return z[this.connectedVehicle].etMaxPrice??0}set etMaxPrice(e){H("cpEtMaxPrice",Math.round(e*10)/1e6,this.id)}toPowerItem(){return{name:this.name,power:this.power,energy:this.dailyYield,energyPv:this.energyPv,energyBat:this.energyBat,pvPercentage:this.pvPercentage,color:this.color,icon:this.icon}}}class Ma{constructor(e){d(this,"id");d(this,"name","");d(this,"_chargeTemplateId",0);d(this,"_evTemplateId",0);d(this,"tags",[]);d(this,"config",{});d(this,"soc",0);d(this,"range",0);d(this,"_etActive",!1);d(this,"_etMaxPrice",20);this.id=e}get chargeTemplateId(){return this._chargeTemplateId}set chargeTemplateId(e){this._chargeTemplateId=e,H("vhChargeTemplateId",e,this.id)}updateChargeTemplateId(e){this._chargeTemplateId=e}get evTemplateId(){return this._evTemplateId}set evTemplateId(e){this._evTemplateId=e,H("vhEvTemplateId",e,this.id)}updateEvTemplateId(e){this._evTemplateId=e}get etActive(){return se[this.chargeTemplateId]?se[this.chargeTemplateId].et.active:!1}set etActive(e){se[this.chargeTemplateId]&&H("priceCharging",e,this.chargeTemplateId)}get etMaxPrice(){if(se[this.chargeTemplateId]&&se[this.chargeTemplateId].et.active)return se[this.chargeTemplateId].et.max_price*1e5}get chargepoint(){for(const e of Object.values(S))if(e.connectedVehicle==this.id)return e}}var ve=(t=>(t.instant_charging="instant_charging",t.pv_charging="pv_charging",t.scheduled_charging="scheduled_charging",t.standby="standby",t.stop="stop",t))(ve||{});const S=J({}),z=J({}),se=J({}),je=J({}),ze=J({}),Pa=J({});function Ca(t){t in S||(S[t]=new xa(t),S[t].color="var(--color-cp"+(Object.values(S).length-1)+")")}function Ia(){Object.keys(S).forEach(t=>{delete S[parseInt(t)]})}const $a={cpLock:"openWB/set/chargepoint/%/set/manual_lock",chargeMode:"openWB/set/vehicle/template/charge_template/%/chargemode/selected",cpPriority:"openWB/set/vehicle/template/charge_template/%/prio",cpTimedCharging:"openWB/set/vehicle/template/charge_template/%/time_charging/active",cpTimedPlanActive:"openWB/set/vehicle/template/charge_template/%/time_charging/plans/@/active",cpScheduledPlanActive:"openWB/set/vehicle/template/charge_template/%/chargemode/scheduled_charging/plans/@/active",pvBatteryPriority:"openWB/set/general/chargemode_config/pv_charging/bat_mode",cpVehicle:"openWB/set/chargepoint/%/config/ev",cpInstantChargeLimitMode:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected",cpInstantTargetCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/current",cpInstantTargetSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/soc",cpInstantMaxEnergy:"openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/amount",cpPvFeedInLimit:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/feed_in_limit",cpPvMinCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_current",cpPvMaxSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/max_soc",cpPvMinSoc:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc",cpPvMinSocCurrent:"openWB/set/vehicle/template/charge_template/%/chargemode/pv_charging/min_soc_current",cpEtMaxPrice:"openWB/set/vehicle/template/charge_template/%/et/max_price",vhChargeTemplateId:"openWB/set/vehicle/%/charge_template",vhEvTemplateId:"openWB/set/vehicle/%/ev_template",shSetManual:"openWB/set/LegacySmartHome/config/set/Devices/%/mode",shSwitchOn:"openWB/set/LegacySmartHome/config/set/Devices/%/device_manual_control",socUpdate:"openWB/set/vehicle/%/get/force_soc_update",setSoc:"openWB/set/vehicle/%/soc_module/calculated_soc_state/manual_soc",priceCharging:"openWB/set/vehicle/template/charge_template/%/et/active"};function H(t,e,a=0,n=void 0){if(isNaN(a)){console.warn("Invalid index");return}let r=$a[t];if(!r){console.warn("No topic for update type "+t);return}switch(t){case"chargeMode":case"cpPriority":case"cpScheduledCharging":case"cpInstantTargetCurrent":case"cpInstantChargeLimitMode":case"cpInstantTargetSoc":case"cpInstantMaxEnergy":case"cpPvFeedInLimit":case"cpPvMinCurrent":case"cpPvMaxSoc":case"cpPvMinSoc":case"cpEtMaxPrice":case"cpPvMinSocCurrent":r=r.replace("%",S[a].chargeTemplate.toString());break;default:r=r.replace("%",String(a)),n!=null&&(r=r.replace("@",String(n)))}switch(typeof e){case"number":vt(r,JSON.stringify(+e));break;default:vt(r,JSON.stringify(e))}}function Te(t,e={}){console.log("send command "+t+" "+JSON.stringify(e)),vt(`openWB/set/command/${bt()}/todo`,JSON.stringify({command:t,data:e}))}class Ba{constructor(){d(this,"batterySoc",0);d(this,"isBatteryConfigured",!0);d(this,"chargeMode","0");d(this,"_pvBatteryPriority","ev_mode");d(this,"displayLiveGraph",!0);d(this,"isEtEnabled",!0);d(this,"etMaxPrice",0);d(this,"etCurrentPrice",0);d(this,"cpDailyExported",0);d(this,"evuId",0);d(this,"etProvider","");d(this,"ipAddress","");d(this,"systemTime",0);d(this,"version","");d(this,"versionDetails","");d(this,"devBranch","")}get pvBatteryPriority(){return this._pvBatteryPriority}set pvBatteryPriority(e){this._pvBatteryPriority=e,H("pvBatteryPriority",e)}updatePvBatteryPriority(e){this._pvBatteryPriority=e}}const Oa=[["EV","ev_mode"],["Speicher","bat_mode"],["MinSoc","min_soc_bat_mode"]],oe=J({evuIn:{name:"Netz",color:"var(--color-evu)",icon:""},pv:{name:"PV",color:"var(--color-pv",icon:""},batOut:{name:"Bat >",color:"var(--color-battery)",icon:""},evuOut:{name:"Export",color:"var(--color-export)",icon:""},charging:{name:"Laden",color:"var(--color-charging)",icon:""},devices:{name:"Geräte",color:"var(--color-devices)",icon:""},batIn:{name:"> Bat",color:"var(--color-battery)",icon:""},house:{name:"Haus",color:"var(--color-house)",icon:""},cp1:{name:"Ladepunkt",color:"var(--color-cp1)",icon:"Ladepunkt"},cp2:{name:"Ladepunkt",color:"var(--color-cp2)",icon:"Ladepunkt"},cp3:{name:"Ladepunkt",color:"var(--color-cp3)",icon:"Ladepunkt"},cp4:{name:"Ladepunkt",color:"var(--color-cp4)",icon:"Ladepunkt"},cp5:{name:"Ladepunkt",color:"var(--color-cp5)",icon:"Ladepunkt"},cp6:{name:"Ladepunkt",color:"var(--color-cp6)",icon:"Ladepunkt"},cp7:{name:"Ladepunkt",color:"var(--color-cp7)",icon:"Ladepunkt"},cp8:{name:"Ladepunkt",color:"var(--color-cp8)",icon:"Ladepunkt"},sh1:{name:"Gerät",color:"var(--color-sh1)",icon:"Gerät"},sh2:{name:"Gerät",color:"var(--color-sh2)",icon:"Gerät"},sh3:{name:"Gerät",color:"var(--color-sh3)",icon:"Gerät"},sh4:{name:"Gerät",color:"var(--color-sh4)",icon:"Gerät"},sh5:{name:"Gerät",color:"var(--color-sh5)",icon:"Gerät"},sh6:{name:"Gerät",color:"var(--color-sh6)",icon:"Gerät"},sh7:{name:"Gerät",color:"var(--color-sh7)",icon:"Gerät"},sh8:{name:"Gerät",color:"var(--color-sh8)",icon:"Gerät"},sh9:{name:"Gerät",color:"var(--color-sh9)",icon:"Gerät"}});class Ht{constructor(){d(this,"_items",{});this.addItem("evuIn"),this.addItem("pv"),this.addItem("batOut"),this.addItem("evuOut"),this.addItem("charging"),this.addItem("devices"),this.addItem("batIn"),this.addItem("house")}get items(){return this._items}keys(){return Object.keys(this._items)}values(){return Object.values(this._items)}addItem(e){this._items[e]=ke(e)}setEnergy(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energy=a}setEnergyPv(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energyPv=a}setEnergyBat(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].energyBat=a}setPvPercentage(e,a){this.keys().includes(e)||this.addItem(e),this._items[e].pvPercentage=a}calculateHouseEnergy(){this._items.house.energy=this._items.evuIn.energy+this._items.pv.energy+this._items.batOut.energy-this._items.evuOut.energy-this._items.batIn.energy-this._items.charging.energy-this._items.devices.energy}}let C=new Ht;function _t(){C=new Ht}const j=J({evuIn:ke("evuIn"),pv:ke("pv"),batOut:ke("batOut")}),O=J({evuOut:ke("evuOut"),charging:ke("charging"),devices:ke("devices"),batIn:ke("batIn"),house:ke("house")}),F=J(new Ba);ue("");const nt=ue(!1);function ke(t){return{name:oe[t]?oe[t].name:"item",power:0,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:oe[t]?oe[t].color:"var(--color-charging)",icon:oe[t]?oe[t].icon:""}}const K=J({active:!1,locked:!0,usePin:!1,code:"",timeout:60,localCpOnly:!1});function Je(){K.usePin&&K.locked?new st("#numberpad").toggle():(K.locked=!1,setTimeout(()=>{K.locked=!0},K.timeout*1e3))}function Ta(t){return t==K.code}const Pt=ue(new Date),Aa={class:"scaled"},Va=T({__name:"DisplayButton",props:{icon:{},bgcolor:{},color:{}},emits:["click"],setup(t,{emit:e}){const a=t,n=e;function r(){n("click",!0)}return(i,s)=>(p(),_("div",{style:re({"background-color":a.bgcolor?a.bgcolor:"var(--color-bg)",color:a.color?a.color:"var(--color-title)"}),class:"displaybutton rounded-pill",type:"button",onClick:r},[a.icon?(p(),_("span",{key:0,class:ne(["fas me-2 scaled",a.icon])},null,2)):k("",!0),o("span",Aa,[fe(i.$slots,"default",{},void 0)])],4))}}),N=(t,e)=>{const a=t.__vccOpts||t;for(const[n,r]of e)a[n]=r;return a},me=N(Va,[["__scopeId","data-v-0f8aebee"]]);class La{constructor(e){d(this,"id");d(this,"name","Gerät");d(this,"power",0);d(this,"status","off");d(this,"energy",0);d(this,"runningTime",0);d(this,"configured",!1);d(this,"_showInGraph",!0);d(this,"color","white");d(this,"canSwitch",!1);d(this,"countAsHouse",!1);d(this,"energyPv",0);d(this,"energyBat",0);d(this,"pvPercentage",0);d(this,"tempConfigured",0);d(this,"temp",[300,300,300]);d(this,"on",!1);d(this,"isAutomatic",!0);d(this,"icon","");this.id=e}get showInGraph(){return this._showInGraph}set showInGraph(e){this._showInGraph=e,Q()}setShowInGraph(e){this._showInGraph=e}}const ae=J(new Map);function Yt(t){t in ae?console.info("Duplicate sh device message: "+t):(ae.set(t,new La(t)),ae.get(t).color="var(--color-sh"+ae.size+")")}class Da{constructor(){d(this,"graphToShow","powermeter");d(this,"cpToShow",0);d(this,"displayLocked",!0);d(this,"_showRelativeArcs",!1);d(this,"showTodayGraph",!0);d(this,"_graphPreference","live");d(this,"_usageStackOrder",0);d(this,"_displayMode","dark");d(this,"_showGrid",!1);d(this,"_smartHomeColors","normal");d(this,"_decimalPlaces",1);d(this,"_showQuickAccess",!0);d(this,"_simpleCpList",!1);d(this,"_shortCpList","no");d(this,"_showAnimations",!0);d(this,"_preferWideBoxes",!1);d(this,"_maxPower",4e3);d(this,"_fluidDisplay",!1);d(this,"_showClock","no");d(this,"_showButtonBar",!0);d(this,"_showCounters",!1);d(this,"_showVehicles",!1);d(this,"_showPrices",!1);d(this,"_debug",!1);d(this,"isEtEnabled",!1);d(this,"etPrice",20.5);d(this,"showRightButton",!0);d(this,"showLeftButton",!0);d(this,"animationDuration",300);d(this,"animationDelay",100);d(this,"zoomGraph",!1);d(this,"parentChargePoint1");d(this,"parentChargePoint2")}get showRelativeArcs(){return this._showRelativeArcs}set showRelativeArcs(e){this._showRelativeArcs=e,Q()}setShowRelativeArcs(e){this._showRelativeArcs=e}get graphPreference(){return this._graphPreference}set graphPreference(e){this._graphPreference=e,Q()}setGraphPreference(e){this._graphPreference=e}get usageStackOrder(){return this._usageStackOrder}set usageStackOrder(e){this._usageStackOrder=e,Q()}setUsageStackOrder(e){this._usageStackOrder=e}get displayMode(){return this._displayMode}set displayMode(e){this._displayMode=e,Wa(e)}setDisplayMode(e){this._displayMode=e}get showGrid(){return this._showGrid}set showGrid(e){this._showGrid=e,Q()}setShowGrid(e){this._showGrid=e}get decimalPlaces(){return this._decimalPlaces}set decimalPlaces(e){this._decimalPlaces=e,Q()}setDecimalPlaces(e){this._decimalPlaces=e}get smartHomeColors(){return this._smartHomeColors}set smartHomeColors(e){this._smartHomeColors=e,It(e),Q()}setSmartHomeColors(e){this._smartHomeColors=e,It(e)}get showQuickAccess(){return this._showQuickAccess}set showQuickAccess(e){this._showQuickAccess=e,Q()}setShowQuickAccess(e){this._showQuickAccess=e}get simpleCpList(){return this._simpleCpList}set simpleCpList(e){this._simpleCpList=e,Q()}setSimpleCpList(e){this._simpleCpList=e}get shortCpList(){return this._shortCpList}set shortCpList(e){this._shortCpList=e,Q()}setShortCpList(e){this._shortCpList=e}get showAnimations(){return this._showAnimations}set showAnimations(e){this._showAnimations=e,Q()}setShowAnimations(e){this._showAnimations=e}get preferWideBoxes(){return this._preferWideBoxes}set preferWideBoxes(e){this._preferWideBoxes=e,Q()}setPreferWideBoxes(e){this._preferWideBoxes=e}get maxPower(){return this._maxPower}set maxPower(e){this._maxPower=e,Q()}setMaxPower(e){this._maxPower=e}get fluidDisplay(){return this._fluidDisplay}set fluidDisplay(e){this._fluidDisplay=e,Q()}setFluidDisplay(e){this._fluidDisplay=e}get showClock(){return this._showClock}set showClock(e){this._showClock=e,Q()}setShowClock(e){this._showClock=e}get debug(){return this._debug}set debug(e){this._debug=e,Q()}setDebug(e){this._debug=e}get showButtonBar(){return this._showButtonBar}set showButtonBar(e){this._showButtonBar=e,Q()}setShowButtonBar(e){this._showButtonBar=e}get showCounters(){return this._showCounters}set showCounters(e){this._showCounters=e,Q()}setShowCounters(e){this._showCounters=e}get showVehicles(){return this._showVehicles}set showVehicles(e){this._showVehicles=e,Q()}setShowVehicles(e){this._showVehicles=e}get showPrices(){return this._showPrices}set showPrices(e){this._showPrices=e,Q()}setShowPrices(e){this._showPrices=e}}const y=J(new Da),Ce=J({localIp:void 0,localBranch:void 0,localCommit:void 0,localVersion:void 0,parentChargePoint1:void 0,parentChargePoint2:void 0}),Ea=992,yt=J({x:document.documentElement.clientWidth,y:document.documentElement.clientHeight});function Ct(){yt.x=document.documentElement.clientWidth,yt.y=document.documentElement.clientHeight}m(()=>yt.x>=Ea);const De={pv_charging:{mode:ve.pv_charging,name:"PV",color:"var(--color-pv",icon:"fa-solar-panel"},instant_charging:{mode:ve.instant_charging,name:"Sofort",color:"var(--color-charging)",icon:"fa-bolt"},scheduled_charging:{mode:ve.scheduled_charging,name:"Zielladen",color:"var(--color-battery)",icon:"fa-bullseye"},standby:{mode:ve.standby,name:"Standby",color:"var(--color-axis)",icon:"fa-pause"},stop:{mode:ve.stop,name:"Stop",color:"var(--color-fg)",icon:"fa-power-off"}};function Q(){Ga()}function Wa(t){const e=ye("html");e.classed("theme-dark",t=="dark"),e.classed("theme-light",t=="light"),e.classed("theme-blue",t=="blue"),Q()}function It(t){const e=ye("html");e.classed("shcolors-normal",t=="normal"),e.classed("shcolors-standard",t=="standard"),e.classed("shcolors-advanced",t=="advanced")}function Ga(){const t={};t.hideSH=[...ae.values()].filter(e=>!e.showInGraph).map(e=>e.id),t.showLG=y.graphPreference=="live",t.displayM=y.displayMode,t.stackO=y.usageStackOrder,t.showGr=y.showGrid,t.decimalP=y.decimalPlaces,t.smartHomeC=y.smartHomeColors,t.relPM=y.showRelativeArcs,t.maxPow=y.maxPower,t.showQA=y.showQuickAccess,t.simpleCP=y.simpleCpList,t.shortCP=y.shortCpList,t.animation=y.showAnimations,t.wideB=y.preferWideBoxes,t.fluidD=y.fluidDisplay,t.clock=y.showClock,t.showButtonBar=y.showButtonBar,t.showCounters=y.showCounters,t.showVehicles=y.showVehicles,t.showPrices=y.showPrices,t.debug=y.debug,document.cookie="openWBColorTheme="+JSON.stringify(t)+";max-age=16000000;samesite=strict"}const ja={class:"navigation"},za={class:"graphbuttons"},Na={class:"cpbuttons"},Ua={class:"timedisplay ms-4"},Fa=T({__name:"NavigationBar",setup(t){let e;function a(){let l=Object.values(S).length;y.cpToShow=(y.cpToShow+1)%l}function n(){let l=Object.values(S).length;y.cpToShow=((y.cpToShow-1)%l+l)%l}function r(){y.graphToShow="powermeter"}function i(){y.graphToShow="powergraph"}function s(){y.graphToShow="energymeter"}function u(){K.locked?Je():new st("#statuspage").toggle()}return He(()=>{e=setInterval(()=>{Pt.value=new Date},1e3)}),Dt(()=>{clearInterval(e)}),(l,g)=>(p(),_("div",ja,[o("span",za,[g[3]||(g[3]=o("span",{class:"brand me-4"},"openWB",-1)),w(me,{icon:"fa-chart-pie",onClick:r},{default:x(()=>g[0]||(g[0]=[W("Leistung")])),_:1}),w(me,{icon:"fa-chart-line",onClick:i},{default:x(()=>g[1]||(g[1]=[W("Verlauf")])),_:1}),w(me,{icon:"fa-chart-column",onClick:s},{default:x(()=>g[2]||(g[2]=[W("Energie")])),_:1})]),w(me,{icon:"fa-rectangle-list",onClick:u},{default:x(()=>g[4]||(g[4]=[W("Status")])),_:1}),o("span",Na,[Object.values(c(S)).length>1?(p(),B(me,{key:0,color:"var(--color-cp0)",onClick:n},{default:x(()=>g[5]||(g[5]=[o("span",{class:"fas fa-arrow-left px-2"},null,-1),o("span",{class:"fas fa-charging-station pe-2"},null,-1)])),_:1})):k("",!0),w(me,{bgcolor:c(K).locked?"var(--color-evu)":"var(--color-pv)",onClick:c(Je)},{default:x(()=>g[6]||(g[6]=[o("span",{class:"fas fa-lock px-4"},null,-1)])),_:1},8,["bgcolor","onClick"]),Object.values(c(S)).length>1?(p(),B(me,{key:1,color:"var(--color-cp0)",onClick:a},{default:x(()=>g[7]||(g[7]=[o("span",{class:"fas fa-charging-station px-2"},null,-1),o("span",{class:"fas fa-arrow-right pe-2"},null,-1)])),_:1})):k("",!0),o("span",Ua,I(c(fa)(c(Pt))),1)])]))}}),Ja=N(Fa,[["__scopeId","data-v-6d0b9541"]]),Ra=["origin"],Ha=T({__name:"PMSourceArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(t){const e=t,a=m(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:""},r=j;r["zz-empty"]=n;const i=Object.values(j).length-1,s=Et().value(g=>g.power).startAngle(-Math.PI/2+e.circleGapSize).endAngle(Math.PI/2-e.circleGapSize).sort(null),u=Wt().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius).padAngle(0),l=ye("g#pmSourceArc");return l.selectAll("*").remove(),l.selectAll("sources").data(s(Object.values(r))).enter().append("path").attr("d",u).attr("fill",g=>g.data.color).attr("stroke",(g,v)=>v==i?g.data.power>0?"var(--color-scale)":"null":g.data.color),"pmSourceArc.vue"});return ca(()=>{let n=j.pv.power+j.evuIn.power+j.batOut.power;n>y.maxPower&&(y.maxPower=n)}),(n,r)=>(p(),_("g",{id:"pmSourceArc",origin:a.value},null,8,Ra))}}),Ya=["origin"],qa=T({__name:"PMUsageArc",props:{radius:{},cornerRadius:{},circleGapSize:{},emptyPower:{}},setup(t){const e=t,a=m(()=>{let n={name:"",power:e.emptyPower,energy:0,energyPv:0,energyBat:0,pvPercentage:0,color:"var(--color-bg)",icon:""};const r=[O.evuOut,O.charging].concat([...ae.values()].filter(g=>g.configured&&!g.countAsHouse).sort((g,v)=>v.power-g.power)).concat([O.batIn,O.house]).concat(n),i=r.length-1,s=Et().value(g=>g.power).startAngle(Math.PI*1.5-e.circleGapSize).endAngle(Math.PI/2+e.circleGapSize).sort(null),u=Wt().innerRadius(e.radius/6*5).outerRadius(e.radius).cornerRadius(e.cornerRadius),l=ye("g#pmUsageArc");return l.selectAll("*").remove(),l.selectAll("consumers").data(s(r)).enter().append("path").attr("d",u).attr("fill",g=>g.data.color).attr("stroke",(g,v)=>v==i?g.data.power>0?"var(--color-scale)":"null":g.data.color),"pmUsageArc.vue"});return(n,r)=>(p(),_("g",{id:"pmUsageArc",origin:a.value},null,8,Ya))}}),qt=T({__name:"FormatWatt",props:{watt:{}},setup(t){const e=t,a=m(()=>Xe(e.watt,y.decimalPlaces));return(n,r)=>I(a.value)}}),Qa={key:0,id:"pmLabel"},Za=["x","y","fill","text-anchor"],Xa=22,be=T({__name:"PMLabel",props:{x:{},y:{},data:{},props:{},anchor:{},labeltext:{},labelicon:{},labelcolor:{}},setup(t){const e=t,a=m(()=>e.labeltext?e.labeltext:e.props?e.props.icon+" ":e.labelicon?e.labelicon+" ":""),n=m(()=>e.labelcolor?e.labelcolor:e.props?e.props.color:""),r=m(()=>!e.data||e.data.power>0),i=m(()=>e.labeltext?"":"fas");return(s,u)=>r.value?(p(),_("g",Qa,[o("text",{x:s.x,y:s.y,fill:n.value,"text-anchor":s.anchor,"font-size":Xa,class:"pmLabel"},[o("tspan",{class:ne(i.value)},I(a.value),3),o("tspan",null,[s.data!==void 0?(p(),B(qt,{key:0,watt:s.data.power},null,8,["watt"])):k("",!0)])],8,Za)])):k("",!0)}}),Ka={},en={class:"p-2 m-0 cont"},tn={class:"wb-widget m-0 pb-2 shadow"},an={class:"header mt-4 mx-2"},nn={class:"titles"},rn={class:"title"},on={class:"subtitle"},sn={class:"buttons"},ln={class:"wb-subwidget mx-2"},cn={key:0},un={class:"wb-subwidget mx-2"};function dn(t,e){return p(),_("div",en,[o("div",tn,[o("div",an,[o("div",nn,[o("div",rn,[fe(t.$slots,"title",{},()=>[e[0]||(e[0]=o("div",{class:"p-0"},"(title goes here)",-1))])]),o("div",on,[fe(t.$slots,"subtitle",{},void 0)])]),o("div",sn,[fe(t.$slots,"buttons",{},void 0)])]),o("div",ln,[fe(t.$slots,"default",{},void 0)]),t.$slots.footer!=null?(p(),_("div",cn,[e[1]||(e[1]=o("hr",{class:"grid-col-12"},null,-1)),o("div",un,[fe(t.$slots,"footer",{},void 0)])])):k("",!0)])])}const lt=N(Ka,[["render",dn],["__scopeId","data-v-e8292acd"]]);class hn{constructor(){d(this,"active",!1);d(this,"etPriceList",new Map);d(this,"etProvider","");d(this,"etMaxPrice",0)}get etCurrentPriceString(){const[e]=ee.etPriceList.values();return(Math.round(e*10)/10).toFixed(1)+" ct"}}const ee=J(new hn),pn={class:"grid-col-12"},gn={id:"powermeter",class:"powermeter p-0 m-0 align-self-stretch"},mn=["viewBox"],fn=["transform"],vn={transform:"scale(0.9294,1)"},yn=["x"],Oe=500,we=20,$t=1,bn=T({__name:"PowerMeter",setup(t){const e=Oe,a=Math.PI/40,n=[[4],[4,6],[1,4,6],[0,2,4,6],[0,2,3,5,6]],r=[{x:-85,y:e/2*1/5},{x:0,y:e/2*1/5},{x:85,y:e/2*1/5},{x:-85,y:e/2*2/5},{x:0,y:e/2*2/5},{x:85,y:e/2*2/5},{x:0,y:e/2*3/5}],i=m(()=>Oe/2-we),s=m(()=>{let D="",G=Object.values(j).filter(q=>q.power>0);return G.length==1&&G[0].name=="PV"?D="Aktueller Verbrauch: ":D="Bezug/Verbrauch: ",D+Xe(O.house.power+O.charging.power+O.devices.power+O.batIn.power,y.decimalPlaces)}),u=m(()=>{let D=j.pv.power+j.evuIn.power+j.batOut.power;return y.maxPower>D?Xe(y.maxPower,y.decimalPlaces):Xe(D,y.decimalPlaces)}),l=m(()=>Object.values(S)),g=m(()=>{let D=0;return y.showRelativeArcs&&(D=y.maxPower-(j.pv.power+j.evuIn.power+j.batOut.power)),D<0?0:D}),v=m(()=>[O.evuOut,O.charging,O.devices,O.batIn,O.house].filter(D=>D.power>0)),P=m(()=>n[v.value.length-1]);function b(D){return r[P.value[D]]}function A(D){return Math.round(l.value[D].soc)}function U(D){return D.length>12?D.slice(0,11)+".":D}const ge=m(()=>{const[D]=ee.etPriceList.values();return Math.round(D*10)/10});return(D,G)=>(p(),B(lt,null,{title:x(()=>G[0]||(G[0]=[W(" Aktuelle Leistung ")])),default:x(()=>[o("div",pn,[o("figure",gn,[(p(),_("svg",{viewBox:"0 0 "+Oe+" "+c(e)},[o("g",{transform:"translate("+Oe/2+","+c(e)/2+")"},[o("g",vn,[w(Ha,{radius:i.value,"corner-radius":$t,"circle-gap-size":a,"empty-power":g.value},null,8,["radius","empty-power"]),w(qa,{"sh-device":c(ae),radius:i.value,"corner-radius":$t,"circle-gap-size":a,"empty-power":g.value},null,8,["sh-device","radius","empty-power"]),w(be,{x:0,y:-c(e)/10*2,data:c(j).pv,props:c(oe).pv,anchor:"middle",config:c(y)},null,8,["y","data","props","config"]),w(be,{x:0,y:-c(e)/10*3,data:c(j).evuIn,props:c(oe).evuIn,anchor:"middle",config:c(y)},null,8,["y","data","props","config"]),w(be,{x:0,y:-c(e)/10,data:c(j).batOut,props:c(oe).batOut,anchor:"middle",config:c(y)},null,8,["y","data","props","config"]),c(ee).active?(p(),B(be,{key:0,x:0,y:-c(e)/10,data:c(j).batOut,props:c(oe).batOut,anchor:"middle",config:c(y)},null,8,["y","data","props","config"])):k("",!0),(p(!0),_(pe,null,Be(v.value,(q,$)=>(p(),B(be,{key:$,x:b($).x,y:b($).y,data:q,labelicon:q.icon,labelcolor:q.color,anchor:"middle",config:c(y)},null,8,["x","y","data","labelicon","labelcolor","config"]))),128)),l.value.length>0&&c(z)[l.value[0].connectedVehicle]?(p(),B(be,{key:1,x:-500/2-we/4+10,y:-c(e)/2+we+5,labeltext:U(c(z)[l.value[0].connectedVehicle].name)+": "+A(0)+"%",labelcolor:l.value[0].color,anchor:"start",config:c(y)},null,8,["x","y","labeltext","labelcolor","config"])):k("",!0),l.value.length>1&&c(z)[l.value[1].connectedVehicle]?(p(),B(be,{key:2,x:Oe/2+we/4-10,y:-c(e)/2+we+5,labeltext:U(c(z)[l.value[1].connectedVehicle].name)+": "+A(1)+"%",labelcolor:l.value[1].color,anchor:"end",config:c(y)},null,8,["x","y","labeltext","labelcolor","config"])):k("",!0),c(F).batterySoc>0?(p(),B(be,{key:3,x:-500/2-we/4+10,y:c(e)/2-we+15,labeltext:"Speicher: "+c(F).batterySoc+"%",labelcolor:c(O).batIn.color,anchor:"start",config:c(y)},null,8,["x","y","labeltext","labelcolor","config"])):k("",!0),c(ee).active?(p(),B(be,{key:4,x:Oe/2+we/4-10,y:c(e)/2-we+15,value:ge.value,labeltext:c(ee).etCurrentPriceString,labelcolor:"var(--color-charging)",anchor:"end",config:c(y)},null,8,["x","y","value","labeltext","config"])):k("",!0),w(be,{x:0,y:0,labeltext:s.value,labelcolor:"var(--color-fg)",anchor:"middle",config:c(y)},null,8,["labeltext","config"]),c(y).showRelativeArcs?(p(),_("text",{key:5,x:Oe/2-44,y:"2","text-anchor":"middle",fill:"var(--color-axis)","font-size":"12"}," Peak: "+I(u.value),9,yn)):k("",!0)])],8,fn)],8,mn))])])]),_:1}))}}),Se=500,Pe=500,L={top:10,right:20,bottom:10,left:25},wt=["charging","house","batIn","devices"];class _n{constructor(){d(this,"data",[]);d(this,"_graphMode","")}get graphMode(){return this._graphMode}set graphMode(e){this._graphMode=e}}const h=J(new _n);let rt=!0,Re=!0;function Bt(){rt=!1}function Ot(){Re=!1}function wn(t){Re=t}function Ye(t){h.data=t}const X=J({refreshTopicPrefix:"openWB/graph/alllivevaluesJson",updateTopic:"openWB/graph/lastlivevaluesJson",configTopic:"openWB/graph/config/#",initialized:!1,initCounter:0,graphRefreshCounter:0,rawDataPacks:[],duration:0,activate(){h.data=[],this.unsubscribeUpdates(),this.subscribeRefresh(),Ae(this.configTopic),this.initialized=!1,this.initCounter=0,this.graphRefreshCounter=0,this.rawDataPacks=[],Pn(),nt.value=!0},deactivate(){this.unsubscribeRefresh(),this.unsubscribeUpdates(),Le(this.configTopic)},subscribeRefresh(){for(let t=1;t<17;t++)Ae(this.refreshTopicPrefix+t)},unsubscribeRefresh(){for(let t=1;t<17;t++)Le(this.refreshTopicPrefix+t)},subscribeUpdates(){Ae(this.updateTopic)},unsubscribeUpdates(){Le(this.updateTopic)}}),Y=J({topic:"openWB/log/daily/#",date:new Date,activate(){if(h.graphMode=="day"||h.graphMode=="today"){h.graphMode=="today"&&(this.date=new Date);const t=this.date.getFullYear().toString()+(this.date.getMonth()+1).toString().padStart(2,"0")+this.date.getDate().toString().padStart(2,"0");Ae(this.topic),Te("getDailyLog",{day:t})}},deactivate(){Le(this.topic)},back(){this.date=new Date(this.date.setTime(this.date.getTime()-864e5))},forward(){this.date=new Date(this.date.setTime(this.date.getTime()+864e5))},setDate(t){this.date=t},getDate(){return this.date}}),xe=J({topic:"openWB/log/monthly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(){const t=this.year.toString()+this.month.toString().padStart(2,"0");h.data=[],Ae(this.topic),Te("getMonthlyLog",{month:t})},deactivate(){Le(this.topic)},back(){this.month-=1,this.month<1&&(this.month=12,this.year-=1),this.activate()},forward(){const t=new Date;t.getFullYear()==this.year?this.month-112&&(this.month=1,this.year+=1)),this.activate()},getDate(){return new Date(this.year,this.month)}}),Ie=J({topic:"openWB/log/yearly/#",month:new Date().getMonth()+1,year:new Date().getFullYear(),activate(){const t=this.year.toString();h.data=[],Ae(this.topic),Te("getYearlyLog",{year:t})},deactivate(){Le(this.topic)},back(){this.year-=1,this.activate()},forward(){this.year0&&(C.items[t].energyPv+=1e3/12*(e[t]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),C.items[t].energyBat+=1e3/12*(e[t]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}function xn(t,e){e[t]>0&&(C.items[t].energyPv+=1e3*(e[t]*(e.pv-e.evuOut))/(e.pv-e.evuOut+e.evuIn+e.batOut),C.items[t].energyBat+=1e3*(e[t]*e.batOut)/(e.pv-e.evuOut+e.evuIn+e.batOut))}const Mn=["evuIn","pv","batIn","evuOut"],Ne=ue(!1);function St(t,e){Object.entries(t).length>0?(Ne.value=!1,Object.entries(t.counter).forEach(([a,n])=>{(e.length==0||e.includes(a))&&(C.items.evuIn.energy+=n.energy_imported,C.items.evuOut.energy+=n.energy_exported)}),C.items.pv.energy=t.pv.all.energy_exported,t.bat.all&&(C.items.batIn.energy=t.bat.all.energy_imported,C.items.batOut.energy=t.bat.all.energy_exported),Object.entries(t.cp).forEach(([a,n])=>{a=="all"?C.setEnergy("charging",n.energy_imported):C.setEnergy(a,n.energy_imported)}),C.setEnergy("devices",0),Object.entries(t.sh).forEach(([a,n])=>{C.setEnergy(a,n.energy_imported);const r=a.substring(2);ae.get(+r).countAsHouse||(C.items.devices.energy+=n.energy_imported)}),t.hc&&t.hc.all?C.setEnergy("house",t.hc.all.energy_imported):C.calculateHouseEnergy(),C.keys().map(a=>{Mn.includes(a)||(C.setPvPercentage(a,Math.round((C.items[a].energyPv+C.items[a].energyBat)/C.items[a].energy*100)),wt.includes(a)&&(O[a].energy=C.items[a].energy,O[a].energyPv=C.items[a].energyPv,O[a].energyBat=C.items[a].energyBat,O[a].pvPercentage=C.items[a].pvPercentage))}),h.graphMode=="today"&&(Object.values(S).map(a=>{const n=C.items["cp"+a.id];n&&(a.energyPv=n.energyPv,a.energyBat=n.energyBat,a.pvPercentage=n.pvPercentage)}),ae.forEach(a=>{const n=C.items["sh"+a.id];n&&(a.energy=n.energy,a.energyPv=n.energyPv,a.energyBat=n.energyBat,a.pvPercentage=n.pvPercentage)}))):Ne.value=!0,nt.value=!0}function Pn(){C.keys().map(t=>{wt.includes(t)&&(O[t].energy=C.items[t].energy,O[t].energyPv=0,O[t].energyBat=0,O[t].pvPercentage=0)}),Object.values(S).map(t=>{t.energyPv=0,t.energyBat=0,t.pvPercentage=0}),ae.forEach(t=>{t.energyPv=0,t.energyBat=0,t.pvPercentage=0})}const _e=m(()=>{const t=Ve(h.data,e=>e.date);return t[1]?mt().domain(Array.from({length:t[1]},(e,a)=>a+1)).paddingInner(.4).range([0,Se-L.left-2]):mt().range([0,0])});function kt(){switch(h.graphMode){case"live":h.graphMode="today",y.showRightButton=!0,te();break;case"today":h.graphMode="day",Y.date=new Date,Y.back(),te();break;case"day":Y.back(),te();break;case"month":xe.back();break;case"year":Ie.back();break}}function Qt(){const t=new Date;switch(h.graphMode){case"live":break;case"today":h.graphMode="live",y.showRightButton=!1,te();break;case"day":Y.forward(),Y.date.getDate()==t.getDate()&&Y.date.getMonth()==t.getMonth()&&Y.date.getFullYear()==t.getFullYear()&&(h.graphMode="today"),te();break;case"month":xe.forward();break;case"year":Ie.forward();break}}function Zt(){switch(h.graphMode){case"live":kt();break;case"day":case"today":h.graphMode="month",te();break;case"month":h.graphMode="year",te();break}}function Xt(){switch(h.graphMode){case"year":h.graphMode="month",te();break;case"month":h.graphMode="today",te();break;case"today":case"day":h.graphMode="live",te();break}}function Cn(t){if(h.graphMode=="day"||h.graphMode=="today"){Y.setDate(t);const e=new Date;Y.date.getDate()==e.getDate()&&Y.date.getMonth()==e.getMonth()&&Y.date.getFullYear()==e.getFullYear()?h.graphMode="today":h.graphMode="day",te()}}const In=["origin","transform"],$n=T({__name:"PGSourceGraph",props:{width:{},height:{},margin:{}},setup(t){const e=t,a={house:"var(--color-house)",batIn:"var(--color-battery)",inverter:"var(--color-pv)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)"};var n,r;const i=y.showAnimations?y.animationDuration:0,s=y.showAnimations?y.animationDelay:0,u=m(()=>{const f=ye("g#pgSourceGraph");h.graphMode=="month"||h.graphMode=="year"?$(f):q(f),f.selectAll(".axis").remove();const M=f.append("g").attr("class","axis");return M.call(ge.value),M.selectAll(".tick").attr("font-size",12),M.selectAll(".tick line").attr("stroke",G.value).attr("stroke-width",D.value),M.select(".domain").attr("stroke","var(--color-bg)"),"pgSourceGraph.vue"}),l=m(()=>h.graphMode=="month"||h.graphMode=="year"?["evuIn","batOut","selfUsage","evuOut"]:["selfUsage","evuOut","batOut","evuIn"]),g=m(()=>$e().domain([0,h.data.length-1]).range([0,e.width])),v=m(()=>Gt().keys(l.value)),P=m(()=>v.value(h.data)),b=m(()=>$e().range([e.height-10,0]).domain(h.graphMode=="year"?[0,Math.ceil(A.value[1]*10)/10]:[0,Math.ceil(A.value[1])])),A=m(()=>{let f=Ve(h.data,M=>Math.max(M.pv+M.evuIn+M.batOut,M.selfUsage+M.evuOut));return f[0]!=null&&f[1]!=null?(h.graphMode=="year"&&(f[0]=f[0]/1e3,f[1]=f[1]/1e3),f):[0,0]}),U=m(()=>h.graphMode=="month"||h.graphMode=="year"?-e.width-e.margin.right-22:-e.width),ge=m(()=>it(b.value).tickSizeInner(U.value).ticks(4).tickFormat(f=>(f==0?"":Math.round(f*10)/10).toLocaleString(void 0))),D=m(()=>y.showGrid?"0.5":"1"),G=m(()=>y.showGrid?"var(--color-grid)":"var(--color-bg)");function q(f){const M=et().x((E,R)=>g.value(R)).y(b.value(0)),V=et().x((E,R)=>g.value(R)).y0(E=>b.value(h.graphMode=="year"?E[0]/1e3:E[0])).y1(E=>b.value(h.graphMode=="year"?E[1]/1e3:E[1]));rt?(f.selectAll("*").remove(),n=f.selectAll(".sourceareas").data(P.value).enter().append("path").attr("fill",(E,R)=>a[l.value[R]]).attr("d",E=>M(E)),n.transition().duration(i).delay(s).ease(We).attr("d",E=>V(E)),Bt()):n.data(P.value).transition().duration(0).ease(We).attr("d",E=>V(E))}function $(f){rt?(f.selectAll("*").remove(),r=f.selectAll(".sourcebar").data(P.value).enter().append("g").attr("fill",(M,V)=>a[l.value[V]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,V)=>_e.value(h.data[V].date)??0).attr("y",()=>b.value(0)).attr("height",0).attr("width",_e.value.bandwidth()),r.transition().duration(i).delay(s).ease(We).attr("height",M=>h.graphMode=="year"?b.value(M[0]/1e3)-b.value(M[1]/1e3):b.value(M[0])-b.value(M[1])).attr("y",M=>h.graphMode=="year"?b.value(M[1]/1e3):b.value(M[1])),Bt()):(f.selectAll("*").remove(),r=f.selectAll(".sourcebar").data(P.value).enter().append("g").attr("fill",(M,V)=>a[l.value[V]]).selectAll("rect").data(M=>M).enter().append("rect").attr("x",(M,V)=>_e.value(h.data[V].date)??0).attr("y",M=>h.graphMode=="year"?b.value(M[1]/1e3):b.value(M[1])).attr("width",_e.value.bandwidth()).attr("height",M=>h.graphMode=="year"?b.value(M[0]/1e3)-b.value(M[1]/1e3):b.value(M[0])-b.value(M[1])))}return(f,M)=>(p(),_("g",{id:"pgSourceGraph",origin:u.value,transform:"translate("+f.margin.left+","+f.margin.top+")"},null,8,In))}}),Bn=["origin","transform"],On=T({__name:"PGUsageGraph",props:{width:{},height:{},margin:{},stackOrder:{}},setup(t){const e=t,a=[["house","charging","devices","batIn"],["charging","devices","house","batIn"],["devices","charging","house","batIn"]],n={house:"var(--color-house)",charging:"var(--color-charging)",batIn:"var(--color-battery)",batOut:"var(--color-battery)",selfUsage:"var(--color-pv)",evuOut:"var(--color-export)",evuIn:"var(--color-evu)",cp0:"var(--color-cp0)",cp1:"var(--color-cp1)",cp2:"var(--color-cp2)",cp3:"var(--color-cp3)",sh1:"var(--color-sh1)",sh2:"var(--color-sh2)",sh3:"var(--color-sh3)",sh4:"var(--color-sh4)",devices:"var(--color-devices)"};var r,i;const s=y.showAnimations?y.animationDuration:0,u=y.showAnimations?y.animationDelay:0,l=m(()=>{const $=ye("g#pgUsageGraph");h.graphMode=="month"||h.graphMode=="year"?q($):G($),$.selectAll(".axis").remove();const f=$.append("g").attr("class","axis");return f.call(D.value),f.selectAll(".tick").attr("font-size",12).attr("color","var(--color-axis)"),y.showGrid?f.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):f.selectAll(".tick line").attr("stroke","var(--color-bg)"),f.select(".domain").attr("stroke","var(--color-bg)"),"pgUsageGraph.vue"}),g=m(()=>Gt().keys(A.value)),v=m(()=>g.value(h.data)),P=m(()=>$e().domain([0,h.data.length-1]).range([0,e.width])),b=m(()=>$e().range([e.height+10,2*e.height]).domain(h.graphMode=="year"?[0,Math.ceil(U.value[1]*10)/10]:[0,Math.ceil(U.value[1])])),A=m(()=>{if(h.graphMode!="today"&&h.graphMode!="day")return a[e.stackOrder];{const $=a[e.stackOrder].slice(),f=$.indexOf("charging");$.splice(f,1);const M=/cp\d+/;let V=[];return h.data.length>0&&(V=Object.keys(h.data[0]).reduce((E,R)=>(R.match(M)&&E.push(R),E),[])),V.map((E,R)=>{$.splice(f+R,0,E),n[E]="var(--color-cp"+R+")"}),$}}),U=m(()=>{let $=Ve(h.data,f=>f.house+f.charging+f.batIn+f.devices);return $[0]!=null&&$[1]!=null?(h.graphMode=="year"&&($[0]=$[0]/1e3,$[1]=$[1]/1e3),$):[0,0]}),ge=m(()=>h.graphMode=="month"||h.graphMode=="year"?-e.width-e.margin.right-22:-e.width),D=m(()=>it(b.value).tickSizeInner(ge.value).ticks(4).tickFormat($=>($==0?"":Math.round($*10)/10).toLocaleString(void 0)));function G($){const f=et().x((V,E)=>P.value(E)).y(b.value(0)),M=et().x((V,E)=>P.value(E)).y0(V=>b.value(V[0])).y1(V=>b.value(V[1]));y.showAnimations?Re?($.selectAll("*").remove(),r=$.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",V=>f(V)).attr("fill",(V,E)=>n[A.value[E]]),r.transition().duration(300).delay(100).ease(We).attr("d",V=>M(V)),Ot()):($.selectAll("*").remove(),$.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",V=>M(V)).attr("fill",(V,E)=>n[A.value[E]])):($.selectAll("*").remove(),$.selectAll(".usageareas").data(v.value).enter().append("path").attr("d",V=>M(V)).attr("fill",(V,E)=>n[A.value[E]]))}function q($){Re?($.selectAll("*").remove(),i=$.selectAll(".usagebar").data(v.value).enter().append("g").attr("fill",(f,M)=>n[a[e.stackOrder][M]]).selectAll("rect").data(f=>f).enter().append("rect").attr("x",(f,M)=>_e.value(h.data[M].date)??0).attr("y",()=>b.value(0)).attr("height",0).attr("width",_e.value.bandwidth()),i.transition().duration(s).delay(u).ease(We).attr("y",f=>h.graphMode=="year"?b.value(f[0]/1e3):b.value(f[0])).attr("height",f=>h.graphMode=="year"?b.value(f[1]/1e3)-b.value(f[0]/1e3):b.value(f[1])-b.value(f[0])),Ot()):($.selectAll("*").remove(),i=$.selectAll(".usagebar").data(v.value).enter().append("g").attr("fill",(f,M)=>n[a[e.stackOrder][M]]).selectAll("rect").data(f=>f).enter().append("rect").attr("x",(f,M)=>_e.value(h.data[M].date)??0).attr("y",f=>h.graphMode=="year"?b.value(f[0]/1e3):b.value(f[0])).attr("height",f=>h.graphMode=="year"?b.value(f[1]/1e3)-b.value(f[0]/1e3):b.value(f[1])-b.value(f[0])).attr("width",_e.value.bandwidth()))}return($,f)=>(p(),_("g",{id:"pgUsageGraph",origin:l.value,transform:"translate("+$.margin.left+","+$.margin.top+")"},null,8,Bn))}}),Tn=["transform"],An=["origin","transform"],Vn=["origin","transform"],Ln={key:0},Dn=["width","height"],En={key:1},Wn=["y","width","height"],ut=12,Gn=T({__name:"PGXAxis",props:{width:{},height:{},margin:{}},setup(t){const e=t,a=m(()=>Ze(u.value).ticks(4).tickSizeInner(s.value).tickFormat(ft("%H:%M"))),n=m(()=>ua(u.value).ticks(4).tickSizeInner(s.value+3).tickFormat(ft(""))),r=m(()=>Ze(_e.value).ticks(4).tickSizeInner(s.value).tickFormat(v=>v.toString())),i=m(()=>Ze(_e.value).ticks(4).tickSizeInner(s.value).tickFormat(()=>"")),s=m(()=>h.graphMode!=="month"&&h.graphMode!=="year"?y.showGrid?-(e.height/2-7):-10:0),u=m(()=>{let v=Ve(h.data,P=>P.date);return v[0]&&v[1]?Fe().domain(v).range([0,e.width]):Fe().range([0,0])}),l=m(()=>{let v=ye("g#PGXAxis");return v.selectAll("*").remove(),h.graphMode=="month"||h.graphMode=="year"?v.call(r.value):v.call(a.value),v.selectAll(".tick > text").attr("fill",(P,b)=>b>0||h.graphMode=="month"||h.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",ut),y.showGrid?v.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):v.selectAll(".tick line").attr("stroke","var(--color-bg)"),v.select(".domain").attr("stroke","var(--color-bg)"),v.append("text").attr("x",-e.margin.left).attr("y",12).attr("fill","var(--color-axis)").attr("font-size",ut).text(h.graphMode=="year"?"MW":"kW").attr("text-anchor","start"),"PGXAxis.vue"}),g=m(()=>{let v=ye("g#PGXAxis2");return v.selectAll("*").remove(),h.graphMode=="month"||h.graphMode=="year"?v.call(i.value):v.call(n.value),v.selectAll(".tick > text").attr("fill",(P,b)=>b>0||h.graphMode=="month"||h.graphMode=="year"?"var(--color-axis)":"var(--color-bg)").attr("font-size",ut),y.showGrid?(v.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"),v.select(".domain").attr("stroke","var(--color-bg)")):v.selectAll(".tick line").attr("stroke","var(--color-bg)"),v.select(".domain").attr("stroke","var(--color-bg)"),"PGXAxis2.vue"});return(v,P)=>(p(),_("g",{transform:"translate("+v.margin.left+","+v.margin.top+")"},[o("g",{id:"PGXAxis",class:"axis",origin:l.value,transform:"translate(0,"+(v.height/2-6)+")"},null,8,An),o("g",{id:"PGXAxis2",class:"axis",origin:g.value,transform:"translate(0,"+(v.height/2+10)+")"},null,8,Vn),c(y).showGrid?(p(),_("g",Ln,[o("rect",{x:"0",y:"0",width:v.width,height:v.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Dn)])):k("",!0),c(y).showGrid?(p(),_("g",En,[o("rect",{x:"0",y:v.height/2+10,width:v.width,height:v.height/2-10,fill:"none",stroke:"var(--color-grid)","stroke-width":"0.5"},null,8,Wn)])):k("",!0)],8,Tn))}}),jn=["d"],zn=["d","stroke"],Nn=["x","y","text-anchor"],dt=T({__name:"PgSoc",props:{width:{},height:{},margin:{},order:{}},setup(t){const e=t,a=m(()=>{let b=Ve(h.data,A=>A.date);return b[0]&&b[1]?Fe().domain(b).range([0,e.width]):Fe().range([0,0])}),n=m(()=>$e().range([e.height-10,0]).domain([0,100])),r=m(()=>jt().x(U=>a.value(U.date)).y(U=>n.value(e.order==2?U.batSoc:U["soc"+g.value.connectedVehicle])??n.value(0))(h.data)??""),i=m(()=>e.order==2?"Speicher":g.value.connectedVehicle),s=m(()=>e.order==2?"Speicher":g.value.vehicleName),u=m(()=>{switch(e.order){case 0:return"var(--color-cp1)";case 1:return"var(--color-cp2)";case 2:return"var(--color-battery)";default:return"red"}}),l=m(()=>{switch(e.order){case 0:return e.width-3;case 1:return 3;case 2:return e.width/2;default:return 0}}),g=m(()=>{const b=e.order==2?0:e.order;return Object.values(S)[b]}),v=m(()=>{if(h.data.length>0){let b;switch(e.order){case 0:return b=h.data.length-1,n.value(h.data[b]["soc"+i.value]+2);case 1:return b=0,n.value(h.data[b]["soc"+i.value]+2);case 2:return b=Math.round(h.data.length/2),n.value(h.data[b].batSoc+2);default:return 0}}else return 0}),P=m(()=>{switch(e.order){case 0:return"end";case 1:return"start";case 2:return"middle";default:return"middle"}});return(b,A)=>(p(),_(pe,null,[o("path",{class:"soc-baseline",d:r.value,stroke:"var(--color-bg)","stroke-width":"1",fill:"none"},null,8,jn),o("path",{class:"soc-dashes",d:r.value,stroke:u.value,"stroke-width":"1",style:{strokeDasharray:"3,3"},fill:"none"},null,8,zn),o("text",{class:"cpname",x:l.value,y:v.value,style:re({fill:u.value,fontSize:10}),"text-anchor":P.value},I(s.value),13,Nn)],64))}}),Un=["transform"],Fn=T({__name:"PgSocAxis",props:{width:{},height:{},margin:{}},setup(t){const e=t,a=m(()=>$e().range([e.height-10,0]).domain([0,100])),n=m(()=>da(a.value).ticks(5).tickFormat(i=>i.toString()+"%"));function r(){let i=ye("g#PGSocAxis");i.call(n.value),i.selectAll(".tick").attr("font-size",12),i.selectAll(".tick line").attr("stroke","var(--color-bg)"),i.select(".domain").attr("stroke","var(--color-bg)")}return He(()=>{r()}),(i,s)=>(p(),_("g",{id:"PGSocAxis",class:"axis",transform:"translate("+(i.width-20)+",0)"},null,8,Un))}}),Jn={class:"btn-group m-0",role:"group","aria-label":"radiobar"},Rn=["id","value"],Hn=T({__name:"RadioBarInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,r=m({get(){return a.modelValue},set(u){n("update:modelValue",u)}});function i(u){let l=a.options[u].color?a.options[u].color:"var(--color-fg)";return a.options[u].active?{color:"var(--color-bg)",background:l}:{color:l}}function s(u){let l=u.target;for(;l&&!l.value&&l.parentElement;)l=l.parentElement;l.value&&(r.value=l.value)}return(u,l)=>(p(),_("div",null,[o("div",Jn,[(p(!0),_(pe,null,Be(u.options,(g,v)=>(p(),_("button",{id:"radio-"+g.value,key:v,class:ne(["btn btn-outline-secondary btn-sm radiobutton mx-0 mb-0 px-2",g.value==r.value?"active":""]),value:g.value,style:re(i(v)),onClick:s},[o("span",{style:re(i(v)),class:"scaled d-flex flex-column pt-2"},[g.icon?(p(),_("i",{key:0,class:ne(["fa-solid",g.icon])},null,2)):k("",!0),W(" "+I(g.text),1)],4)],14,Rn))),128))])]))}}),Kt=N(Hn,[["__scopeId","data-v-270067ed"]]),Yn={key:0,class:"fa-solid fa-xl fa-chevron-circle-down p-1",style:{color:"var(--color-bg)"}},qn=T({__name:"PgSelector",props:{widgetid:{},showLeftButton:{type:Boolean},showRightButton:{type:Boolean},ignoreLive:{type:Boolean}},emits:["shiftLeft","shiftRight","shiftUp","shiftDown"],setup(t){const e=t,a=ue(0),n=m(()=>{switch(h.graphMode){case"live":return e.ignoreLive?"heute":`${X.duration} min`;case"today":return"heute";case"day":return Y.date.getDate()+"."+(Y.date.getMonth()+1)+".";case"month":return va(xe.month-1,xe.year);case"year":return Ie.year.toString();default:return"???"}}),r=["live","today","day","month","year"],i=["Live","Heute","Tag","Monat","Jahr"],s=m({get(){return h.graphMode},set(D){switch(D){case"day":g();break;case"today":v();break;case"live":l();break;case"month":P();break;case"year":b()}}});function u(){a.value+=1,a.value>1&&(a.value=0)}function l(){h.graphMode!="live"&&(h.graphMode="live",te())}function g(){h.graphMode!="day"&&h.graphMode!="today"&&(h.graphMode="day",te())}function v(){h.graphMode!="today"&&(h.graphMode="today",Cn(new Date),te())}function P(){h.graphMode!="month"&&(h.graphMode="month",te())}function b(){h.graphMode!="year"&&(h.graphMode="year",te())}const A=m(()=>a.value>0?{border:"1px solid var(--color-frame)"}:""),U=m(()=>a.value==1?"justify-content-between":"justify-content-end"),ge=m(()=>a.value==1?"justify-content-between":"justify-content-center");return(D,G)=>(p(),_("div",{class:"d-flex flex-column justify-content-center pgselector rounded",style:re(A.value)},[a.value==2?(p(),B(Kt,{key:0,id:"pgm2",modelValue:s.value,"onUpdate:modelValue":G[0]||(G[0]=q=>s.value=q),class:"m-2",options:r.map((q,$)=>({text:i[$],value:q,color:"var(--color-menu)",active:q==c(h).graphMode}))},null,8,["modelValue","options"])):k("",!0),a.value==1?(p(),_("span",{key:1,type:"button",class:ne(["arrowButton d-flex align-self-center mb-3 mt-3",{disabled:!e.showLeftButton}]),onClick:G[1]||(G[1]=q=>D.$emit("shiftUp"))},G[6]||(G[6]=[o("i",{class:"fa-solid fa-xl fa-chevron-circle-up"},null,-1)]),2)):k("",!0),o("div",{class:ne(["d-flex align-items-center",ge.value])},[a.value==1?(p(),_("span",{key:0,type:"button",class:ne(["p-1",{disabled:!e.showLeftButton}]),onClick:G[2]||(G[2]=q=>D.$emit("shiftLeft"))},G[7]||(G[7]=[o("span",{class:"fa-solid fa-xl fa-chevron-circle-left arrowButton"},null,-1)]),2)):k("",!0),a.value<2?(p(),_("span",{key:1,type:"button",class:"btn-outline-secondary p-2 px-3 badge rounded-pill datebadge",onClick:u},I(n.value),1)):k("",!0),a.value==1?(p(),_("span",{key:2,id:"graphRightButton",type:"button",class:ne(["arrowButton fa-solid fa-xl fa-chevron-circle-right p-1",{disabled:!e.showRightButton}]),onClick:G[3]||(G[3]=q=>D.$emit("shiftRight"))},null,2)):k("",!0)],2),o("div",{class:ne(["d-flex align-items-center",U.value])},[a.value==1?(p(),_("span",Yn)):k("",!0),a.value==1?(p(),_("span",{key:1,id:"graphLeftButton",type:"button",class:ne(["arrowButton fa-solid fa-xl fa-chevron-circle-down p-1",{disabled:!e.showLeftButton}]),onClick:G[4]||(G[4]=q=>D.$emit("shiftDown"))},null,2)):k("",!0),a.value>0?(p(),_("span",{key:2,type:"button",class:"p-1",onClick:G[5]||(G[5]=q=>a.value=0)},G[8]||(G[8]=[o("span",{class:"fa-solid fa-xl fa-circle-check"},null,-1)]))):k("",!0)],2)],4))}}),ea=N(qn,[["__scopeId","data-v-7fd067cd"]]),Qn={class:"d-flex justify-content-end"},Zn={class:"grid-col-12"},Xn=["viewBox"],Kn=["transform"],er=2,tr="Leistung / Ladestand ",ar=T({__name:"PowerGraph",setup(t){function e(){let a=y.usageStackOrder+1;a>er&&(a=0),y.usageStackOrder=a,wn(!0)}return(a,n)=>(p(),B(lt,null,{title:x(()=>[W(I(tr))]),buttons:x(()=>[o("div",Qn,[w(ea,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!1,onShiftLeft:c(kt),onShiftRight:c(Qt),onShiftUp:c(Zt),onShiftDown:c(Xt)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"])])]),default:x(()=>[o("div",Zn,[o("figure",{id:"powergraph",class:"p-0 m-0 align-self-stretch",onClick:e},[(p(),_("svg",{viewBox:"0 0 "+c(Se)+" "+c(Pe)},[w($n,{width:c(Se)-c(L).left-2*c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L)},null,8,["width","height","margin"]),w(On,{width:c(Se)-c(L).left-2*c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L),"stack-order":c(y).usageStackOrder},null,8,["width","height","margin","stack-order"]),w(Gn,{width:c(Se)-c(L).left-2*c(L).right,height:c(Pe)-c(L).top-c(L).bottom,margin:c(L),"graph-data":c(h)},null,8,["width","height","margin","graph-data"]),o("g",{transform:"translate("+c(L).left+","+c(L).top+")"},[(c(h).graphMode=="day"||c(h).graphMode=="today"||c(h).graphMode=="live")&&Object.values(c(S)).length>0?(p(),B(dt,{key:0,width:c(Se)-c(L).left-2*c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L),order:0},null,8,["width","height","margin"])):k("",!0),(c(h).graphMode=="day"||c(h).graphMode=="today"||c(h).graphMode=="live")&&Object.values(c(S)).length>1?(p(),B(dt,{key:1,width:c(Se)-c(L).left-2*c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L),order:1},null,8,["width","height","margin"])):k("",!0),["day","today","live"].includes(c(h).graphMode)&&c(F).isBatteryConfigured?(p(),B(dt,{key:2,width:c(Se)-c(L).left-2*c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L),order:2},null,8,["width","height","margin"])):k("",!0),["day","today","live"].includes(c(h).graphMode)?(p(),B(Fn,{key:3,width:c(Se)-c(L).left-c(L).right,height:(c(Pe)-c(L).top-c(L).bottom)/2,margin:c(L)},null,8,["width","height","margin"])):k("",!0)],8,Kn)],8,Xn))])])]),_:1}))}}),nr=N(ar,[["__scopeId","data-v-ba892fa4"]]),rr=["id"],or=["x","width","height","fill"],sr=["x","width","height"],ir=["x","y","width","height"],lr=T({__name:"EmBar",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(t){const e=t,a=m(()=>e.height-e.yScale(e.item.energy)-e.margin.top-e.margin.bottom),n=m(()=>e.item.energyPv>0?e.height-e.yScale(e.item.energyPv)-e.margin.top-e.margin.bottom:0),r=m(()=>e.item.energyPv>0?e.height-e.yScale(e.item.energyBat)-e.margin.top-e.margin.bottom:0);return(i,s)=>(p(),_("g",{id:"bar-"+e.item.name,transform:"scale(1,-1) translate (0,-445)"},[o("rect",{class:"bar",x:e.xScale(i.item.name),y:"0",width:e.xScale.bandwidth(),height:a.value,fill:i.item.color},null,8,or),o("rect",{class:"bar",x:e.xScale(i.item.name)+e.xScale.bandwidth()/6,y:"0",width:e.xScale.bandwidth()*2/3,height:n.value,fill:"var(--color-pv)","fill-opacity":"66%"},null,8,sr),o("rect",{class:"bar",x:e.xScale(i.item.name)+e.xScale.bandwidth()/6,y:n.value,width:e.xScale.bandwidth()*2/3,height:r.value,fill:"var(--color-battery)","fill-opacity":"66%"},null,8,ir)],8,rr))}}),cr={id:"emBargraph"},ur=T({__name:"EMBarGraph",props:{plotdata:{},xScale:{},yScale:{},margin:{},height:{}},setup(t){const e=t;function a(r){if(r.name=="PV"){const i=h.graphMode=="live"||h.graphMode=="day"?j:C.items,u=(h.graphMode=="live"||h.graphMode=="day"?O:C.items).evuOut.energy,l=i.pv.energy;return Math.round((l-u)/l*100)}else if(r.name=="Netz"){const i=h.graphMode=="live"||h.graphMode=="day"?j:C.items,s=h.graphMode=="live"||h.graphMode=="day"?O:C.items,u=s.evuOut.energy,l=i.evuIn.energy,g=i.pv.energy,v=i.batOut.energy,P=s.batIn.energy;return Math.round((g+v-u-P)/(g+v+l-u-P)*100)}else return r.pvPercentage}function n(r){return r.name=="PV"?"Eigen":"Aut"}return(r,i)=>(p(),_("g",cr,[(p(!0),_(pe,null,Be(e.plotdata,(s,u)=>(p(),_("g",{key:u},[w(lr,{item:s,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(s),autarchy:a(s)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128)),i[0]||(i[0]=o("animateTransform",{"attribute-name":"transform",type:"scale",from:"1 0",to:"1 1",begin:"0s",dur:"2s"},null,-1))]))}}),dr=["origin"],hr=T({__name:"EMYAxis",props:{yScale:{type:[Function,Object]},width:{},fontsize:{}},setup(t){const e=t,a=m(()=>it(e.yScale).tickFormat(r=>r>0?(r/1e3).toString():"").ticks(6).tickSizeInner(-e.width)),n=m(()=>{const r=ye("g#emYAxis");return r.attr("class","axis").call(a.value),r.append("text").attr("y",6).attr("dy","0.71em").attr("text-anchor","end").text("energy"),r.selectAll(".tick").attr("font-size",e.fontsize),y.showGrid?r.selectAll(".tick line").attr("stroke","var(--color-grid)").attr("stroke-width","0.5"):r.selectAll(".tick line").attr("stroke","var(--color-bg)"),r.select(".domain").attr("stroke","var(--color-bg)"),"emYAxis.vue"});return(r,i)=>(p(),_("g",{id:"emYAxis",class:"axis",origin:n.value},null,8,dr))}}),pr=["id"],gr=["x","y","font-size"],mr=["x","y","font-size","fill"],fr=["x","y","font-size","fill"],vr=T({__name:"EmLabel",props:{item:{},xScale:{},yScale:{},margin:{},height:{},barcount:{},autarchy:{},autText:{}},setup(t){const e=t,a=m(()=>e.autarchy?e.yScale(e.item.energy)-25:e.yScale(e.item.energy)-10),n=m(()=>{let l=16,g=e.barcount;return g<=5?l=16:g==6?l=14:g>6&&g<=8?l=13:g==9?l=11:g==10?l=10:l=9,l}),r=m(()=>{let l=12,g=e.barcount;return g<=5?l=12:g==6?l=11:g>6&&g<=8||g==9?l=8:g==10?l=7:l=6,l});function i(l,g){return g.length>r.value?g.substring(0,r.value)+".":g}function s(){return e.autarchy?e.autText+": "+e.autarchy.toLocaleString(void 0)+" %":""}function u(){return"var(--color-pv)"}return(l,g)=>(p(),_("g",{id:"barlabel-"+e.item.name},[o("text",{x:e.xScale(l.item.name)+e.xScale.bandwidth()/2,y:a.value,"font-size":n.value,"text-anchor":"middle",fill:"var(--color-menu)"},I(c(Nt)(l.item.energy,c(y).decimalPlaces,!1)),9,gr),o("text",{x:e.xScale(l.item.name)+e.xScale.bandwidth()/2,y:e.yScale(l.item.energy)-10,"font-size":n.value-2,"text-anchor":"middle",fill:u()},I(s()),9,mr),o("text",{x:e.xScale(l.item.name)+e.xScale.bandwidth()/2,y:e.height-e.margin.bottom-5,"font-size":n.value,"text-anchor":"middle",fill:l.item.color,class:ne(l.item.icon.length<=2?"fas":"")},I(i(l.item.name,l.item.icon)),11,fr)],8,pr))}}),yr={id:"emBarLabels"},br=T({__name:"EMLabels",props:{plotdata:{},xScale:{},yScale:{},height:{},margin:{}},setup(t){const e=t;function a(r){if(r.name=="PV"){const i=h.graphMode=="live"||h.graphMode=="day"?j:C.items,u=(h.graphMode=="live"||h.graphMode=="day"?O:C.items).evuOut.energy,l=i.pv.energy;return Math.round((l-u)/l*100)}else if(r.name=="Netz"){const i=h.graphMode=="live"||h.graphMode=="day"?j:C.items,s=h.graphMode=="live"||h.graphMode=="day"?O:C.items,u=s.evuOut.energy,l=i.evuIn.energy,g=i.pv.energy,v=i.batOut.energy,P=s.batIn.energy;return g+v-u-P>0?Math.round((g+v-u-P)/(g+v+l-u-P)*100):0}else return r.pvPercentage}function n(r){return r.name=="PV"?"Eigen":"Aut"}return(r,i)=>(p(),_("g",yr,[(p(!0),_(pe,null,Be(e.plotdata,(s,u)=>(p(),_("g",{key:u},[w(vr,{item:s,"x-scale":e.xScale,"y-scale":e.yScale,margin:e.margin,height:e.height,barcount:e.plotdata.length,"aut-text":n(s),autarchy:a(s)},null,8,["item","x-scale","y-scale","margin","height","barcount","aut-text","autarchy"])]))),128))]))}}),_r={class:"grid-col-12"},wr={id:"energymeter",class:"energymeter p-0 m-0 align-self-stretch"},Sr={viewBox:"0 0 500 500"},kr=["transform"],xr=["x"],Mr={key:0},Tt=500,ht=500,At=12,Pr="Energie",Cr=T({__name:"EnergyMeter",setup(t){const e={top:25,bottom:30,left:25,right:0},a=m(()=>{let s=Object.values(j),u=i.value,l=C.values(),g=[];switch(y.debug&&(console.debug("----------------------- source summary -----------------"),console.debug(j),console.debug("----------------------- usage details ------------------"),console.debug(i.value),console.debug("----------------------- historic summary ---------------"),console.debug(C),console.debug("--------------------------------------------------------")),nt.value==!0&&(nt.value=!1),h.graphMode){default:case"live":case"today":g=s.concat(u).filter(v=>v.energy>0);break;case"day":case"month":case"year":l.length==0?Ne.value=!0:(Ne.value=!1,g=l.filter(v=>v.energy>0))}return g}),n=m(()=>mt().range([0,Tt-e.left-e.right]).domain(a.value.map(s=>s.name)).padding(.4)),r=m(()=>$e().range([ht-e.bottom-e.top,15]).domain([0,ha(a.value,s=>s.energy)])),i=m(()=>{const s=Object.values(S).length,u=[...ae.values()].filter(l=>l.configured).length;return[O.evuOut,O.devices,O.charging].concat(s>1?Object.values(S).map(l=>l.toPowerItem()):[]).concat(u>1?[...ae.values()].filter(l=>l.configured&&l.showInGraph):[]).concat([O.batIn,O.house])});return(s,u)=>(p(),B(lt,null,{title:x(()=>[W(I(Pr))]),buttons:x(()=>[w(ea,{widgetid:"graphsettings","show-left-button":!0,"show-right-button":!0,"ignore-live":!0,onShiftLeft:c(kt),onShiftRight:c(Qt),onShiftUp:c(Zt),onShiftDown:c(Xt)},null,8,["onShiftLeft","onShiftRight","onShiftUp","onShiftDown"])]),default:x(()=>[o("div",_r,[o("figure",wr,[(p(),_("svg",Sr,[o("g",{transform:"translate("+e.left+","+e.top+")"},[w(ur,{plotdata:a.value,"x-scale":n.value,"y-scale":r.value,height:ht,margin:e},null,8,["plotdata","x-scale","y-scale"]),w(hr,{"y-scale":r.value,width:Tt,fontsize:At,config:c(y)},null,8,["y-scale","config"]),o("text",{x:-e.left,y:"-15",fill:"var(--color-axis)","font-size":At},I(c(h).graphMode=="year"?"MWh":"kWh"),9,xr),w(br,{plotdata:a.value,"x-scale":n.value,"y-scale":r.value,height:ht,margin:e,config:c(y)},null,8,["plotdata","x-scale","y-scale","config"])],8,kr)]))])]),c(Ne)?(p(),_("p",Mr,"No data")):k("",!0)]),_:1}))}}),Ir=N(Cr,[["__scopeId","data-v-35f92695"]]),$r=["id"],Br={class:"modal-dialog modal-lg modal-fullscreen-lg-down"},Or={class:"modal-content"},Tr={class:"modal-header"},Ar={class:"modal-title scaled"},Vr={class:"modal-body"},Lr=T({__name:"ModalComponent",props:{modalId:{}},setup(t){const e=t;return(a,n)=>(p(),_("div",{id:e.modalId,class:"modal fade"},[o("div",Br,[o("div",Or,[o("div",Tr,[o("h3",Ar,[fe(a.$slots,"title",{},void 0)]),n[0]||(n[0]=o("button",{type:"button",class:"btn-close buttonTextSize d-flex justify-content-center pt-3 pb-0","data-bs-dismiss":"modal"},[o("i",{class:"fa-solid fa-lg fa-circle-check m-0 p-0"})],-1))]),o("div",Vr,[fe(a.$slots,"default",{},void 0)]),n[1]||(n[1]=o("div",{class:"modal-footer"},null,-1))])])],8,$r))}}),pt=N(Lr,[["__scopeId","data-v-dff8d7c2"]]),Dr={class:"digit scaled",type:"button"},Er=T({__name:"PadButton",props:{modelValue:{},color:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=ue(!1);function r(){n.value=!0,s("update:modelValue",a.modelValue),setTimeout(()=>{n.value=!1},300)}const i=m(()=>n.value?{"background-color":"white",color:"black"}:{"background-color":a.color??"var(--color-axis)"}),s=e;return(u,l)=>(p(),_("div",{class:"padbutton",style:re(i.value),onClick:r},[o("span",Dr,[fe(u.$slots,"default",{},void 0)])],4))}}),qe=N(Er,[["__scopeId","data-v-cc256a6f"]]),Wr={class:"numberpad"},Gr={class:"codedisplay scaled"},jr={class:"numberentry"},zr=T({__name:"NumberPad",props:{modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const n=ue(t.modelValue),r=e,i=m(()=>n.value.length==0?"Bitte geben Sie die PIN ein":"*".repeat(n.value.length));function s(u){u==-1?n.value=n.value.slice(0,-1):u==-2?(r("update:modelValue",n.value),n.value=""):n.value=n.value+u.toString()}return(u,l)=>(p(),_("div",Wr,[o("p",Gr,I(i.value),1),o("div",jr,[(p(),_(pe,null,Be(9,g=>w(qe,{key:g,"model-value":g,"onUpdate:modelValue":s},{default:x(()=>[W(I(g),1)]),_:2},1032,["model-value"])),64)),w(qe,{"model-value":0,"onUpdate:modelValue":s},{default:x(()=>l[0]||(l[0]=[W("0")])),_:1}),w(qe,{"model-value":-1,color:"var(--color-devices)","onUpdate:modelValue":s},{default:x(()=>l[1]||(l[1]=[o("span",{class:"fas fa-delete-left"},null,-1)])),_:1}),w(qe,{"model-value":-2,color:"var(--color-devices)","data-bs-dismiss":"modal","onUpdate:modelValue":s},{default:x(()=>l[2]||(l[2]=[o("span",{class:"fas fa-circle-check"},null,-1)])),_:1})])]))}}),Nr=N(zr,[["__scopeId","data-v-63c8fa5c"]]),Ur={class:"statustable"},Fr={key:0,class:"controlbuttons d-flex justify-content-between p-5"},Jr={key:1,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},Rr={class:"d-flex justify-content-between mt-3"},Hr={key:2,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},Yr={class:"d-flex justify-content-between mt-3"},qr={key:3,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},Qr={key:4,class:"confirmationBox rounded m-5 p-5 d-flex flex-column align-items-center"},Zr=T({__name:"StatusPage",setup(t){let e=ue(0);function a(){e.value=4,Ce.parentChargePoint1!==void 0?(console.log("Shutting down secondary charge point: ",Ce.parentChargePoint1),Te("chargepointShutdown",{chargePoint:Ce.parentChargePoint1})):(console.log("Shutting down primary system"),Te("systemShutdown"))}function n(){e.value=3,Ce.parentChargePoint1!==void 0?(console.log("Rebooting secondary charge point:",Ce.parentChargePoint1),Te("chargepointReboot",{chargePoint:Ce.parentChargePoint1})):(console.log("Rebooting primary system"),Te("systemReboot"))}function r(){location.reload()}return(i,s)=>(p(),_(pe,null,[o("div",Ur,[s[7]||(s[7]=o("span",{class:"header"},"IP-Adresse:",-1)),o("span",null,I(c(F).ipAddress),1),s[8]||(s[8]=o("span",{class:"header"},"Systemzeit:",-1)),o("span",null,I(new Date(c(F).systemTime*1e3).toLocaleString(void 0)),1),s[9]||(s[9]=o("span",{class:"header"},"Version:",-1)),o("span",null,I(c(F).version),1),s[10]||(s[10]=o("span",{class:"header"},"Version (Details):",-1)),o("span",null,I(c(F).versionDetails),1),s[11]||(s[11]=o("span",{class:"header"},"Entwicklungszweig:",-1)),o("span",null,I(c(F).devBranch),1)]),c(e)==0?(p(),_("div",Fr,[o("button",{class:"btn controlbutton",style:{"background-color":"var(--color-battery)"},onClick:s[0]||(s[0]=u=>r())},s[12]||(s[12]=[o("i",{class:"fa-solid fa-rotate-left"},null,-1),W(" Display neu laden ")])),o("button",{class:"btn controlbutton",style:{"background-color":"var(--color-evu)"},onClick:s[1]||(s[1]=u=>Ee(e)?e.value=1:e=1)},s[13]||(s[13]=[o("i",{class:"fa-solid fa-power-off"},null,-1),W(" openWB neu starten ")])),o("button",{class:"btn controlbutton",style:{"background-color":"var(--color-evu)"},onClick:s[2]||(s[2]=u=>Ee(e)?e.value=2:e=2)},s[14]||(s[14]=[o("i",{class:"fa-solid fa-power-off"},null,-1),W(" openWB abschalten ")]))])):k("",!0),c(e)==1?(p(),_("div",Jr,[s[15]||(s[15]=o("span",{class:"confirmTitle"},"Neustart",-1)),s[16]||(s[16]=o("span",{class:"confirmQuestion"},"Die openWB jetzt neu starten?",-1)),o("div",Rr,[o("button",{class:"btn cancelButton mx-3 px-3",onClick:s[3]||(s[3]=u=>Ee(e)?e.value=0:e=0)}," Abbrechen "),o("button",{class:"btn confirmButton mx-3 px-3",onClick:s[4]||(s[4]=u=>n())}," Neustart ")])])):k("",!0),c(e)==2?(p(),_("div",Hr,[s[17]||(s[17]=o("span",{class:"confirmTitle"},"Abschalten",-1)),s[18]||(s[18]=o("span",{class:"confirmQuestion"},"Die openWB jetzt abschalten?",-1)),o("div",Yr,[o("button",{class:"btn cancelButton mx-3 px-3",onClick:s[5]||(s[5]=u=>Ee(e)?e.value=0:e=0)}," Abbrechen "),o("button",{class:"btn confirmButton mx-3 px-3",onClick:s[6]||(s[6]=u=>a())}," Abschalten ")])])):k("",!0),c(e)==3?(p(),_("div",qr,s[19]||(s[19]=[o("span",{class:"confirmTitle"},"Die openWB startet jetzt neu. Bitte warten.",-1)]))):k("",!0),c(e)==4?(p(),_("div",Qr,s[20]||(s[20]=[o("span",{class:"confirmTitle"},"Die openWB wird heruntergefahren. Zum Starten die Stromversorgung aus- und wieder einschalten.",-1)]))):k("",!0)],64))}}),Xr=N(Zr,[["__scopeId","data-v-74ffcddc"]]),Kr={class:"d-flex align-items-baseline m-0 p-0 scaled"},eo={class:"ms-1 mb-2 p-0 pt-2 d-flex justify-content-stretch align-items-center"},to={class:"justify-content-stretch d-flex"},ao=T({__name:"ConfigItem",props:{title:{},infotext:{},icon:{},iconcolor:{},fullwidth:{type:Boolean}},setup(t){const e=t;return(a,n)=>(p(),_(pe,null,[o("span",Kr,[e.icon?(p(),_("i",{key:0,class:ne(["fa-solid fa-sm m-0 p-0 me-2 item-icon",e.icon]),style:re({color:e.iconcolor?e.iconcolor:"var(--color-charging)"})},null,6)):k("",!0),W(" "+I(a.title),1)]),o("div",eo,[o("span",to,[fe(a.$slots,"default",{},void 0)])])],64))}}),Z=N(ao,[["__scopeId","data-v-45020119"]]),no={class:"rangewidget d-flex flex-column"},ro={class:"rangeslider d-flex flex-fill justify-content-between align-items-center"},oo=["id","min","max","step"],so={class:"d-flex justify-content-between align-items-center"},io={class:"minlabel ps-4"},lo={class:"valuelabel"},co={class:"maxlabel pe-4"},uo=T({__name:"RangeInput",props:{id:{},min:{},max:{},step:{},unit:{},decimals:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=a.decimals??0,r=e,i=m({get(){return Math.round(a.modelValue*Math.pow(10,n))/Math.pow(10,n)},set(l){r("update:modelValue",l)}});function s(){i.value>a.min&&(i.value=Math.round((i.value-a.step)*Math.pow(10,n))/Math.pow(10,n))}function u(){i.value(p(),_("span",no,[o("span",ro,[o("span",{type:"button",class:"minusButton",onClick:s},g[1]||(g[1]=[o("i",{class:"fa fa-xl fa-minus-square me-2"},null,-1)])),Ge(o("input",{id:l.id,"onUpdate:modelValue":g[0]||(g[0]=v=>i.value=v),type:"range",class:"form-range flex-fill",min:l.min,max:l.max,step:l.step},null,8,oo),[[pa,i.value,void 0,{number:!0}]]),o("span",{type:"button",class:"plusButton",onClick:u},g[2]||(g[2]=[o("i",{class:"fa fa-xl fa-plus-square ms-2"},null,-1)]))]),o("span",so,[o("span",io,I(l.min),1),o("span",lo,I(i.value)+" "+I(l.unit),1),o("span",co,I(l.max),1)])]))}}),Me=N(uo,[["__scopeId","data-v-0e01f92a"]]),ho=["id","value"],po=T({__name:"RadioInput",props:{options:{},modelValue:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,r=m({get(){return a.modelValue},set(u){n("update:modelValue",u)}});function i(u){return a.options[u][2]?{color:a.options[u][2]}:{color:"var(--color-fg)"}}function s(u){let l=u.target;for(;l&&!l.value&&l.parentElement;)l=l.parentElement;l.value&&(r.value=l.value)}return(u,l)=>(p(),_("div",null,[(p(!0),_(pe,null,Be(u.options,(g,v)=>(p(),_("button",{id:"radio-"+g[1],key:v,class:ne(["btn btn-outline-secondary radiobutton me-2 mb-0 px-2",g[1]==r.value?"active":""]),value:g[1],style:re(i(v)),onClick:s},[o("span",{style:re(i(v)),class:"scaled"},[g[3]?(p(),_("i",{key:0,class:ne(["fa-solid",g[3]])},null,2)):k("",!0),W(" "+I(g[0]),1)],4)],14,ho))),128))]))}}),Ke=N(po,[["__scopeId","data-v-005a14a9"]]),go={class:"instantsettings"},mo={key:0},fo=T({__name:"CPConfigInstant",props:{chargepointId:{}},setup(t){const e=t,a=m(()=>S[e.chargepointId]),n=[{name:"keine",id:"none"},{name:"EV-SoC",id:"soc"},{name:"Energiemenge",id:"amount"}],r=m({get(){return a.value.instantMaxEnergy/1e3},set(i){a.value.instantMaxEnergy=i*1e3}});return(i,s)=>(p(),_("div",go,[w(Z,{title:"Stromstärke",icon:"fa-bolt",fullwidth:!0},{default:x(()=>[w(Me,{id:"targetCurrent",modelValue:a.value.instantTargetCurrent,"onUpdate:modelValue":s[0]||(s[0]=u=>a.value.instantTargetCurrent=u),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1}),a.value.instantChargeLimitMode!="none"?(p(),_("hr",mo)):k("",!0),w(Z,{title:"Begrenzung",icon:"fa-hand",fullwidth:!0},{default:x(()=>[w(Ke,{modelValue:a.value.instantChargeLimitMode,"onUpdate:modelValue":s[1]||(s[1]=u=>a.value.instantChargeLimitMode=u),options:n.map(u=>[u.name,u.id])},null,8,["modelValue","options"])]),_:1}),a.value.instantChargeLimitMode=="soc"?(p(),B(Z,{key:1,title:"Maximaler SoC",icon:"fa-sliders",fullwidth:!0},{default:x(()=>[w(Me,{id:"maxSoc",modelValue:a.value.instantTargetSoc,"onUpdate:modelValue":s[2]||(s[2]=u=>a.value.instantTargetSoc=u),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):k("",!0),a.value.instantChargeLimitMode=="amount"?(p(),B(Z,{key:2,title:"Zu ladende Energie",icon:"fa-sliders",fullwidth:!0},{default:x(()=>[w(Me,{id:"maxEnergy",modelValue:r.value,"onUpdate:modelValue":s[3]||(s[3]=u=>r.value=u),min:0,max:100,step:1,unit:"kWh"},null,8,["modelValue"])]),_:1})):k("",!0)]))}}),vo=N(fo,[["__scopeId","data-v-6c87e539"]]),yo={class:"form-check form-switch d-flex align-items-center justify-content-center"},bo=T({__name:"SwitchInput",props:{modelValue:{type:Boolean},onColor:{},offColor:{}},emits:["update:modelValue"],setup(t,{emit:e}){const a=t,n=e,r=m({get(){return a.modelValue},set(i){n("update:modelValue",i)}});return(i,s)=>(p(),_("div",yo,[Ge(o("input",{"onUpdate:modelValue":s[0]||(s[0]=u=>r.value=u),class:"form-check-input",type:"checkbox",role:"switch"},null,512),[[ga,r.value]])]))}}),he=N(bo,[["__scopeId","data-v-547e6de4"]]),_o={class:"pvsettings pt-2"},wo=T({__name:"CPConfigPv",props:{chargepointId:{}},setup(t){const e=t,a=m(()=>S[e.chargepointId]),n=m({get(){return a.value.pvMinCurrent>5},set(s){s?a.value.pvMinCurrent=6:a.value.pvMinCurrent=0}}),r=m({get(){return a.value.pvMinSoc>0},set(s){s?a.value.pvMinSoc=50:a.value.pvMinSoc=0}}),i=m({get(){return a.value.pvMaxSoc<=100},set(s){s?a.value.pvMaxSoc=100:a.value.pvMaxSoc=101}});return(s,u)=>(p(),_("div",_o,[w(Z,{title:"Ladestand begrenzen",icon:"fa-battery-three-quarters",fullwidth:!0},{default:x(()=>[w(he,{id:"limitSoc",modelValue:i.value,"onUpdate:modelValue":u[0]||(u[0]=l=>i.value=l)},null,8,["modelValue"])]),_:1}),i.value?(p(),B(Z,{key:0,title:"...auf maximal...",icon:"fa-battery-three-quarters",fullwidth:!0},{default:x(()=>[w(Me,{id:"maxSoc",modelValue:a.value.pvMaxSoc,"onUpdate:modelValue":u[1]||(u[1]=l=>a.value.pvMaxSoc=l),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):k("",!0),w(Z,{title:"Einspeisegrenze beachten",icon:"fa-hand",fullwidth:!0},{default:x(()=>[w(he,{modelValue:a.value.pvFeedInLimit,"onUpdate:modelValue":u[2]||(u[2]=l=>a.value.pvFeedInLimit=l)},null,8,["modelValue"])]),_:1}),w(Z,{title:"Mindest-Ladestand",icon:"fa-battery-half",fullwidth:!0},{default:x(()=>[w(he,{modelValue:r.value,"onUpdate:modelValue":u[3]||(u[3]=l=>r.value=l)},null,8,["modelValue"])]),_:1}),r.value?(p(),B(Z,{key:1,title:"...bis SoC",fullwidth:!0},{default:x(()=>[w(Me,{id:"minSoc",modelValue:a.value.pvMinSoc,"onUpdate:modelValue":u[4]||(u[4]=l=>a.value.pvMinSoc=l),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])]),_:1})):k("",!0),r.value?(p(),B(Z,{key:2,title:"...mit Ladestrom",fullwidth:!0},{default:x(()=>[w(Me,{id:"minSocCurrent",modelValue:a.value.pvMinSocCurrent,"onUpdate:modelValue":u[5]||(u[5]=l=>a.value.pvMinSocCurrent=l),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):k("",!0),w(Z,{title:"Minimaler Ladestrom",icon:"fa-bolt",fullwidth:!0},{default:x(()=>[w(he,{modelValue:n.value,"onUpdate:modelValue":u[6]||(u[6]=l=>n.value=l)},null,8,["modelValue"])]),_:1}),n.value?(p(),B(Z,{key:3,title:"...bei Ladestrom (minimal)",fullwidth:!0},{default:x(()=>[w(Me,{id:"minCurrent",modelValue:a.value.pvMinCurrent,"onUpdate:modelValue":u[7]||(u[7]=l=>a.value.pvMinCurrent=l),min:6,max:32,step:1,unit:"A"},null,8,["modelValue"])]),_:1})):k("",!0)]))}}),So=N(wo,[["__scopeId","data-v-908e4b46"]]),ko={class:"d-flex flex-column p-3"},xo={key:0,class:"warning p-5"},Mo={class:"table table-dark"},Po=T({__name:"CPConfigScheduled",props:{chargeTemplateId:{}},setup(t){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},a=t,n=m(()=>je[a.chargeTemplateId]?Object.values(je[a.chargeTemplateId]):[]);function r(u){console.log(`update ${u}`),H("cpScheduledPlanActive",n.value[u].active,a.chargeTemplateId,u)}function i(u){return n.value[u].time}function s(u){return{"font-weight":n.value[u].active?"bold":"regular"}}return(u,l)=>(p(),_("div",ko,[l[1]||(l[1]=o("div",{class:"subtitle mb-4"},"Pläne für Zielladen:",-1)),n.value.length==0?(p(),_("div",xo," Es sind noch keine Pläne definiert. Pläne für das Zielladen können in der Web-App festgelegt werden. ")):k("",!0),o("table",Mo,[l[0]||(l[0]=o("thead",null,[o("tr",null,[o("th"),o("th",null,"Startzeit"),o("th",null,"SoC-Ziel"),o("th",null,"SoC-Limit"),o("th",null,"Wiederholung")])],-1)),o("tbody",null,[(p(!0),_(pe,null,Be(n.value,(g,v)=>(p(),_("tr",{key:v,style:re(s(v))},[o("td",null,[w(he,{modelValue:g.active,"onUpdate:modelValue":[P=>g.active=P,P=>r(v)]},null,8,["modelValue","onUpdate:modelValue"])]),o("td",null,I(i(v)),1),o("td",null,I(g.limit.soc_scheduled)+"%",1),o("td",null,I(g.limit.soc_limit)+"%",1),o("td",null,I(e[g.frequency.selected]),1)],4))),128))])])]))}}),Co=N(Po,[["__scopeId","data-v-09a476b7"]]),Io={class:"d-flex flex-column p-3"},$o={key:0,class:"warning p-5"},Bo={class:"table table-dark"},Oo=T({__name:"CPConfigTimed",props:{chargeTemplateId:{}},setup(t){const e={daily:"Täglich",once:"Einmal",weekly:"Wöchentlich"},a=t,n=m(()=>ze[a.chargeTemplateId]?Object.values(ze[a.chargeTemplateId])??[]:[]);function r(s){console.log(`update ${s}`),H("cpTimedPlanActive",n.value[s].active,a.chargeTemplateId,s)}function i(s){return{"font-weight":n.value[s].active?"bold":"regular"}}return(s,u)=>(p(),_("div",Io,[u[1]||(u[1]=o("div",{class:"subtitle mb-4"},"Zeitpläne:",-1)),n.value.length==0?(p(),_("div",$o," Es sind noch keine Pläne definiert. Zeitpläne können in der Web-App festgelegt werden. ")):k("",!0),o("table",Bo,[u[0]||(u[0]=o("thead",null,[o("tr",null,[o("th"),o("th",null,"Von"),o("th",null,"Bis"),o("th",null,"Ladestrom"),o("th",null,"Wiederholung")])],-1)),o("tbody",null,[(p(!0),_(pe,null,Be(n.value,(l,g)=>(p(),_("tr",{key:g,style:re(i(g))},[o("td",null,[w(he,{modelValue:l.active,"onUpdate:modelValue":[v=>l.active=v,v=>r(g)]},null,8,["modelValue","onUpdate:modelValue"])]),o("td",null,I(l.time[0]),1),o("td",null,I(l.time[1]),1),o("td",null,I(l.current)+"A",1),o("td",null,I(e[l.frequency.selected]),1)],4))),128))])])]))}}),To=N(Oo,[["__scopeId","data-v-93a76758"]]),Ao={class:"chargesettings pt-2"},Vo={key:2,class:"grid-col-2 my-2"},Lo=T({__name:"CPChargeConfig",props:{chargepointId:{}},setup(t){const e=t,a=m(()=>S[e.chargepointId]),n=m({get:()=>a.value.connectedVehicle,set:s=>{S[a.value.id].connectedVehicle=s}}),r=m({get:()=>a.value.etActive,set:s=>{S[a.value.id].etActive=s}}),i=m({get:()=>a.value.timedCharging,set:s=>{S[a.value.id].timedCharging=s}});return(s,u)=>(p(),_("div",Ao,[Object.keys(c(z)).length>1?(p(),B(Z,{key:0,title:"Fahrzeug wechseln",icon:"fa-car",fullwidth:!0},{default:x(()=>[w(Ke,{modelValue:n.value,"onUpdate:modelValue":u[0]||(u[0]=l=>n.value=l),modelModifiers:{number:!0},options:Object.values(c(z)).map(l=>[l.name,l.id])},null,8,["modelValue","options"])]),_:1})):k("",!0),Object.keys(c(se)).length>1?(p(),B(Z,{key:1,title:"Ladeprofil",icon:"fa-sliders",iconcolor:"var(--color-pv)"},{default:x(()=>[c(z)[n.value]?(p(),B(Ke,{key:0,modelValue:c(z)[n.value].chargeTemplateId,"onUpdate:modelValue":u[1]||(u[1]=l=>c(z)[n.value].chargeTemplateId=l),modelModifiers:{number:!0},options:Object.keys(c(se)).map(l=>[c(se)[+l].name,l])},null,8,["modelValue","options"])):k("",!0)]),_:1})):k("",!0),u[7]||(u[7]=o("hr",{class:"grid-col-2 my-2"},null,-1)),w(Z,{title:"Priorität",icon:"fa-star",iconcolor:"var(--color-evu)",fullwidth:!0},{default:x(()=>[w(he,{modelValue:a.value.hasPriority,"onUpdate:modelValue":u[2]||(u[2]=l=>a.value.hasPriority=l)},null,8,["modelValue"])]),_:1}),w(Z,{title:"Zeitplan aktivieren",icon:"fa-clock",iconcolor:"var(--color-battery)"},{default:x(()=>[w(he,{modelValue:i.value,"onUpdate:modelValue":u[3]||(u[3]=l=>i.value=l)},null,8,["modelValue"])]),_:1}),w(Z,{title:"Sperren",icon:"fa-lock",iconcolor:"var(--color-evu)",fullwidth:!0},{default:x(()=>[w(he,{modelValue:a.value.isLocked,"onUpdate:modelValue":u[4]||(u[4]=l=>a.value.isLocked=l)},null,8,["modelValue"])]),_:1}),w(Z,{title:"Strompreisbasiert laden",icon:"fa-coins",iconcolor:"var(--color-battery)"},{default:x(()=>[w(he,{modelValue:r.value,"onUpdate:modelValue":u[5]||(u[5]=l=>r.value=l)},null,8,["modelValue"])]),_:1}),c(F).isBatteryConfigured?(p(),_("hr",Vo)):k("",!0),c(F).isBatteryConfigured?(p(),B(Z,{key:3,title:"PV-Priorität (global)",icon:"fa-car-battery",iconcolor:"var(--color-battery)",fullwidth:!0},{default:x(()=>[w(Ke,{modelValue:c(F).pvBatteryPriority,"onUpdate:modelValue":u[6]||(u[6]=l=>c(F).pvBatteryPriority=l),options:c(Oa)},null,8,["modelValue","options"])]),_:1})):k("",!0)]))}}),Do=N(Lo,[["__scopeId","data-v-1cad71ed"]]),Eo={class:"pricesettings grid12"},Wo={class:"subtitle grid-col-12"},Go={class:"grapharea"},jo={id:"pricechart"},zo={viewBox:"0 0 400 300"},No=["id","origin","transform"],Uo={class:"controlarea d-flex align-items-center"},Fo={class:"priceinput d-flex flex-column justify-content-center align-items-center"},Jo={class:"grid12 pb-5"},gt=400,Vt=250,Lt=12,Ro=T({__name:"PriceChart",props:{chargePointId:{},globalview:{type:Boolean}},setup(t){const e=t,a=m(()=>S[e.chargePointId]);let n=ue(a.value.etMaxPrice);const r=ue(!1),i=m({get:()=>a.value.etActive,set:f=>{a.value.etActive=f}});function s(){a.value&&(a.value.etMaxPrice=n.value),r.value=!1}const u=ue(!1),l={top:0,bottom:15,left:20,right:15},g=m(()=>{let f=[];return ee.etPriceList.size>0&&ee.etPriceList.forEach((M,V)=>{f.push([V,M])}),f}),v=m(()=>g.value.length>1?(gt-l.left-l.right)/g.value.length-1:0),P=m(()=>({background:"var(--color-charging)"})),b=m(()=>{let f=Ve(g.value,M=>M[0]);return f[1]&&(f[1]=new Date(f[1]),f[1].setTime(f[1].getTime()+36e5)),Fe().range([l.left,gt-l.right]).domain(f)}),A=m(()=>{let f=Ve(g.value,M=>M[1]);return f[0]=f[0]?Math.floor(f[0]-1):0,f[1]=f[1]?Math.floor(f[1]+1):0,f}),U=m(()=>$e().range([Vt-l.bottom,0]).domain(A.value)),ge=m(()=>{const f=jt(),M=[[l.left,U.value(n.value)],[gt-l.right-1,U.value(n.value)]];return f(M)}),D=m(()=>Ze(b.value).ticks(g.value.length).tickSize(5).tickSizeInner(-250).tickFormat(f=>f.getHours()%6==0?ft("%H:%M")(f):"")),G=m(()=>it(U.value).ticks(6).tickSizeInner(-365).tickFormat(f=>f.toString())),q=m(()=>{u.value==!0;const f=ye("g#"+$.value);f.selectAll("*").remove(),f.selectAll("bar").data(g.value).enter().append("g").append("rect").attr("class","bar").attr("x",R=>b.value(R[0])).attr("y",R=>U.value(R[1])).attr("width",v.value).attr("height",R=>U.value(A.value[0])-U.value(R[1])).attr("fill",R=>R[1]<=n.value?"var(--color-charging)":"var(--color-axis)");const V=f.append("g").attr("class","axis").call(D.value);V.attr("transform","translate(0,"+(Vt-l.bottom)+")"),V.selectAll(".tick").attr("font-size",Lt).attr("color","var(--color-bg)"),V.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",R=>R.getHours()%6==0?"2":"0.5"),V.select(".domain").attr("stroke","var(--color-bg");const E=f.append("g").attr("class","axis").call(G.value);return E.attr("transform","translate("+l.left+",0)"),E.selectAll(".tick").attr("font-size",Lt).attr("color","var(--color-bg)"),E.selectAll(".tick line").attr("stroke","var(--color-bg)").attr("stroke-width",R=>R%5==0?"2":"0.5"),E.select(".domain").attr("stroke","var(--color-bg)"),f.append("path").attr("d",ge.value).attr("stroke","yellow"),"PriceChart.vue"}),$=m(()=>a.value?"priceChartCanvas"+a.value.id:"priceChartCanvasGlobal");return He(()=>{u.value=!u.value}),(f,M)=>(p(),_("div",Eo,[o("div",Wo,"Anbieter: "+I(c(ee).etProvider),1),o("div",Go,[o("figure",jo,[(p(),_("svg",zo,[o("g",{id:$.value,origin:q.value,transform:"translate("+l.top+","+l.right+")"},null,8,No)]))])]),o("div",Uo,[o("div",Fo,[o("div",Jo,[w(Z,{title:"Strompreisbasiert laden",icon:"fa-coins",iconcolor:"var(--color-battery)"},{default:x(()=>[w(he,{modelValue:i.value,"onUpdate:modelValue":M[0]||(M[0]=V=>i.value=V)},null,8,["modelValue"])]),_:1})]),w(Me,{id:"etmaxprice",modelValue:c(n),"onUpdate:modelValue":M[1]||(M[1]=V=>Ee(n)?n.value=V:n=V),min:-25,max:95,step:.1,decimals:1,unit:"ct"},null,8,["modelValue"]),o("span",{class:"pt-3",onClick:s},[o("button",{type:"button",class:"btn btn-lg btn-secondary",style:re(P.value)}," Bestätigen ",4)])])])]))}}),Ho=N(Ro,[["__scopeId","data-v-ca62d6fe"]]),Yo={class:"m-0 mt-1 p-0 grid-col-12 tabarea"},qo={class:"nav nav-tabs nav-justified mx-1 mt-1",role:"tablist"},Qo=["id","data-bs-target"],Zo=["id","data-bs-target"],Xo=["id","data-bs-target"],Ko=["id","data-bs-target"],es=["id","data-bs-target"],ts=["id","data-bs-target"],as={id:"settingsPanes",class:"tab-content mt-2"},ns=["id"],rs=["id"],os=["id"],ss=["id"],is=["id"],ls=["id"],cs=T({__name:"SettingsPage",props:{chargepoint:{}},setup(t){const e=t,a=m(()=>se[e.chargepoint.chargeTemplate]),n=m(()=>e.chargepoint.id);return(r,i)=>(p(),_("div",Yo,[o("nav",qo,[o("a",{id:"chSettings"+n.value,class:"nav-link active","data-bs-toggle":"tab","data-bs-target":"#chargeSettings"+n.value},i[0]||(i[0]=[o("i",{class:"fa-solid fa-charging-station"},null,-1),W(" Allgemein ")]),8,Qo),o("a",{id:"inSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#instantSettings"+n.value},i[1]||(i[1]=[o("i",{class:"fa-solid fa-lg fa-bolt"},null,-1),W(" Sofort ")]),8,Zo),o("a",{id:"phvSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#pvSettings"+n.value},i[2]||(i[2]=[o("i",{class:"fa-solid fa-solar-panel me-1"},null,-1),W(" PV ")]),8,Xo),o("a",{id:"scSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#scheduledSettings"+n.value},i[3]||(i[3]=[o("i",{class:"fa-solid fa-bullseye me-1"},null,-1),W(" Zielladen ")]),8,Ko),o("a",{id:"tmSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#timeSettings"+n.value},i[4]||(i[4]=[o("i",{class:"fa-solid fa-clock"},null,-1),W(" Zeitpläne ")]),8,es),o("a",{id:"prSettings"+n.value,class:"nav-link","data-bs-toggle":"tab","data-bs-target":"#priceSettings"+n.value},i[5]||(i[5]=[o("i",{class:"fa-solid fa-coins"},null,-1),W(" Strompreis ")]),8,ts)]),o("div",as,[o("div",{id:"chargeSettings"+n.value,class:"tab-pane active",role:"tabpanel","aria-labelledby":"instant-tab"},[w(Do,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,ns),o("div",{id:"instantSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"instant-tab"},[w(vo,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,rs),o("div",{id:"pvSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"pv-tab"},[w(So,{"chargepoint-id":n.value},null,8,["chargepoint-id"])],8,os),o("div",{id:"scheduledSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"scheduled-tab"},[a.value!=null?(p(),B(Co,{key:0,"charge-template-id":e.chargepoint.chargeTemplate},null,8,["charge-template-id"])):k("",!0)],8,ss),o("div",{id:"timeSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"time-tab"},[a.value!=null?(p(),B(To,{key:0,"charge-template-id":e.chargepoint.chargeTemplate},null,8,["charge-template-id"])):k("",!0)],8,is),o("div",{id:"priceSettings"+n.value,class:"tab-pane",role:"tabpanel","aria-labelledby":"price-tab"},[c(ee).active?(p(),B(Ho,{key:0,"charge-point-id":e.chargepoint.id},null,8,["charge-point-id"])):k("",!0)],8,ls)])]))}}),us=N(cs,[["__scopeId","data-v-c9394349"]]);function ds(t,e){t=="openWB/graph/boolDisplayLiveGraph"?F.displayLiveGraph=+e==1:t.match(/^openwb\/graph\/alllivevaluesJson[1-9][0-9]*$/i)?hs(t,e):t=="openWB/graph/lastlivevaluesJson"?ps(t,e):t=="openWB/graph/config/duration"&&(X.duration=JSON.parse(e))}function hs(t,e){if(!X.initialized){let a=[];const n=e.toString().split(` +`);n.length>1?a=n.map(s=>JSON.parse(s)):a=[];const r=t.match(/(\d+)$/g),i=r?r[0]:"";i!=""&&typeof X.rawDataPacks[+i-1]>"u"&&(X.rawDataPacks[+i-1]=a,X.initCounter++)}if(X.initCounter==16){const a=[];X.unsubscribeRefresh(),X.initialized=!0,X.rawDataPacks.map(n=>{n.map(r=>{const i=ta(r);a.push(i)})}),Ye(a),X.subscribeUpdates()}}function ps(t,e){const a=JSON.parse(e),n=ta(a);X.graphRefreshCounter++,Ye(h.data.concat(n)),X.graphRefreshCounter>60&&X.activate()}function ta(t){const e=Object.values(S).length>0?Object.values(S)[0].connectedVehicle:0,a=Object.values(S).length>1?Object.values(S)[1].connectedVehicle:1,n="ev"+e+"-soc",r="ev"+a+"-soc",i={};i.date=gs(t.time).valueOf(),+t.grid>0?(i.evuIn=+t.grid,i.evuOut=0):+t.grid<=0?(i.evuIn=0,i.evuOut=-t.grid):(i.evuIn=0,i.evuOut=0),+t["pv-all"]>=0?(i.pv=+t["pv-all"],i.inverter=0):(i.pv=0,i.inverter=-t["pv-all"]),i.house=+t["house-power"],+t["bat-all-power"]>0?(i.batOut=0,i.batIn=+t["bat-all-power"]):+t["bat-all-power"]<0?(i.batOut=-t["bat-all-power"],i.batIn=0):(i.batOut=0,i.batIn=0),t["bat-all-soc"]?i.batSoc=+t["bat-all-soc"]:i.batSoc=0,t[n]&&(i["soc"+e]=+t[n]),t[r]&&(i["soc"+a]=+t[r]),i.charging=+t["charging-all"];for(let s=0;s<10;s++){const u="cp"+s;i[u]=+(t[u+"-power"]??0)}return i.selfUsage=i.pv-i.evuOut,i.selfUsage<0&&(i.selfUsage=0),i.devices=0,i}function gs(t){const e=new Date(Date.now()),a=864e5;let n=new Date;const r=tt("%H:%M:%S")(t);return r&&(n=r,n.setDate(e.getDate()),n.setMonth(e.getMonth()),n.setFullYear(e.getFullYear()),n.getHours()>e.getHours()&&(n=new Date(n.getTime()-a))),n}const ms=["evuIn","pv","batIn","evuOut"];let ot=[];function fs(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;_t(),ot=[],wt.map(i=>{C.setEnergyPv(i,0),C.setEnergyBat(i,0)});const r=vs(a);Ye(r),St(n,ot),y.debug&&(console.debug("---------------------------------------- Graph Data ---------------------------"),console.debug("--- Incoming graph data:"),console.debug(a),console.debug("data to be displayed:"),console.debug(r),console.debug("-------------------------------------------------------------------------------")),h.graphMode=="today"&&setTimeout(()=>Y.activate(),3e5)}function vs(t){const e=[];let a={};return t.map(n=>{a=ys(n);const r=a;e.push(r)}),e}function ys(t){const e={};if(h.graphMode=="day"||h.graphMode=="today")if(typeof t.date=="number")e.date=new Date(+t.date*1e3).getTime();else{const n=tt("%H:%M")(t.date);n&&(n.setMonth(Y.date.getMonth()),n.setDate(Y.date.getDate()),n.setFullYear(Y.date.getFullYear()),e.date=n.getTime())}else if(typeof t.date=="string"){const n=tt("%Y%m%d")(t.date);n&&(e.date=n.getDate())}return e.evuOut=0,e.evuIn=0,Object.entries(t.counter).forEach(([n,r])=>{r.grid&&(e.evuOut+=r.power_exported,e.evuIn+=r.power_imported,ot.includes(n)||ot.push(n))}),e.evuOut==0&&e.evuIn==0&&Object.entries(t.counter).forEach(n=>{e.evuOut+=n[1].power_exported,e.evuIn+=n[1].power_imported}),e.pv=t.pv.all.power_exported,Object.entries(t.bat).length>0?(e.batIn=t.bat.all.power_imported,e.batOut=t.bat.all.power_exported,e.batSoc=t.bat.all.soc??0):(e.batIn=0,e.batOut=0,e.batSoc=0),Object.entries(t.cp).forEach(([n,r])=>{n!="all"?(e[n]=r.power_imported,C.keys().includes(n)||C.addItem(n)):e.charging=r.power_imported}),Object.entries(t.ev).forEach(([n,r])=>{n!="all"&&(e["soc"+n.substring(2)]=r.soc)}),e.devices=0,Object.entries(t.sh).forEach(([n,r])=>{n!="all"&&(e[n]=r.power_imported??0,e.devices+=r.power_imported??0,C.keys().includes(n)||C.addItem(n))}),e.selfUsage=e.pv-e.evuOut,t.hc&&t.hc.all?e.house=t.hc.all.power_imported:e.house=e.evuIn+e.batOut+e.pv-e.evuOut-e.charging-e.devices-e.batOut,e.evuIn+e.batOut+e.pv>0?C.keys().filter(n=>!ms.includes(n)).map(n=>{kn(n,e)}):Object.keys(e).map(n=>{e[n+"Pv"]=0,e[n+"Bat"]=0}),e}let Qe={};const xt=["charging","house","batIn","devices"],bs=["evuIn","pv","batIn","evuOut"];let Ue=[];function _s(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;_t(),Ue=[],xt.map(r=>{C.items[r].energyPv=0,C.items[r].energyBat=0}),a.length>0&&Ye(aa(a)),St(n,[])}function ws(t,e){const a=JSON.parse(e).entries,n=JSON.parse(e).totals;_t(),Ue=[],xt.forEach(r=>{C.items[r].energyPv=0,C.items[r].energyBat=0}),Ye(aa(a)),St(n,[])}function aa(t){const e=[];let a={};return Qe={},t.map(n=>{a=Ss(n),e.push(a),Object.keys(a).forEach(r=>{r!="date"&&(a[r]<0&&(console.warn(`Negative energy value for ${r} in row ${a.date}. Ignoring the value.`),a[r]=0),Qe[r]?Qe[r]+=a[r]:Qe[r]=a[r])})}),e}function Ss(t){const e={},a=tt("%Y%m%d")(t.date);a&&(e.date=h.graphMode=="month"?a.getDate():a.getMonth()+1),e.evuOut=0,e.evuIn=0;let n=0,r=0;return Object.entries(t.counter).forEach(([s,u])=>{n+=u.energy_exported,r+=u.energy_imported,u.grid&&(e.evuOut+=u.energy_exported,e.evuIn+=u.energy_imported,Ue.includes(s)||Ue.push(s))}),Ue.length==0&&(e.evuOut=n,e.evuIn=r),e.pv=t.pv.all.energy_exported,Object.entries(t.bat).length>0?(t.bat.all.energy_imported>=0?e.batIn=t.bat.all.energy_imported:(console.warn("ignoring negative value for batIn on day "+e.date),e.batIn=0),t.bat.all.energy_exported>=0?e.batOut=t.bat.all.energy_exported:(console.warn("ignoring negative value for batOut on day "+e.date),e.batOut=0)):(e.batIn=0,e.batOut=0),Object.entries(t.cp).forEach(([s,u])=>{s!="all"?(C.keys().includes(s)||C.addItem(s),e[s]=u.energy_imported):e.charging=u.energy_imported}),Object.entries(t.ev).forEach(([s,u])=>{s!="all"&&(e["soc-"+s]=u.soc)}),e.devices=Object.entries(t.sh).reduce((s,u)=>(C.keys().includes(u[0])||C.addItem(u[0]),u[1].energy_imported>=0?s+=u[1].energy_imported:console.warn(`Negative energy value for device ${u[0]} in row ${e.date}. Ignoring this value`),s),0),e.house=e.pv+e.evuIn+e.batOut-e.evuOut-e.batIn-e.charging,e.selfUsage=e.pv-e.evuOut,e.evuIn+e.batOut+e.pv>0?C.keys().filter(s=>!bs.includes(s)).map(s=>{xn(s,e)}):xt.map(s=>{e[s+"Pv"]=0,e[s+"Bat"]=0}),e}class ks{constructor(e){d(this,"id");d(this,"dailyYieldExport",0);d(this,"dailyYieldImport",0);d(this,"exported",0);d(this,"faultState",0);d(this,"faultStr","");d(this,"imported",0);d(this,"power",0);d(this,"soc",0);this.id=e}}class xs{constructor(){d(this,"dailyExport",0);d(this,"dailyImport",0);d(this,"exported",0);d(this,"imported",0);d(this,"power",0);d(this,"soc",0)}}const ie=J({});J(new xs);function Ms(t){t in ie?console.info("Duplicate battery message: "+t):ie[t]=new ks(t)}function Ps(){Object.keys(ie).forEach(t=>{delete ie[parseInt(t)]})}function Cs(t,e){const a=Is(t);if(a&&!(a in ie)){console.warn("Invalid battery index received: "+a);return}t=="openWB/bat/config/configured"?F.isBatteryConfigured=e=="true":t=="openWB/bat/get/power"?+e>0?(O.batIn.power=+e,j.batOut.power=0):(O.batIn.power=0,j.batOut.power=-e):t=="openWB/bat/get/soc"?F.batterySoc=+e:t=="openWB/bat/get/daily_exported"?j.batOut.energy=+e:t=="openWB/bat/get/daily_imported"?O.batIn.energy=+e:a&&(t.match(/^openwb\/bat\/[0-9]+\/get\/daily_yield_export$/i)?ie[a].dailyYieldExport=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/daily_yield_import$/i)?ie[a].dailyYieldImport=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/exported$/i)?ie[a].exported=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/fault_state$/i)?ie[a].faultState=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/fault_str$/i)?ie[a].faultStr=e:t.match(/^openwb\/bat\/[0-9]+\/get\/imported$/i)?ie[a].imported=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/power$/i)?ie[a].power=+e:t.match(/^openwb\/bat\/[0-9]+\/get\/soc$/i)&&(ie[a].soc=+e))}function Is(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}function $s(t,e){if(t=="openWB/optional/et/provider")JSON.parse(e).type==null?ee.active=!1:(ee.active=!0,ee.etProvider=JSON.parse(e).name);else if(t=="openWB/optional/et/get/prices"){const a=JSON.parse(e);ee.etPriceList=new Map,Object.keys(a).map(n=>{ee.etPriceList.set(new Date(+n*1e3),a[n]*1e5)})}}function Bs(t,e){const a=na(t);if(a&&!(a in S)){console.warn("Invalid chargepoint id received: "+a);return}if(t=="openWB/chargepoint/get/power"?O.charging.power=+e:t=="openWB/chargepoint/get/daily_imported"&&(O.charging.energy=+e),t=="openWB/chargepoint/get/daily_exported")F.cpDailyExported=+e;else if(a){if(t.match(/^openwb\/chargepoint\/[0-9]+\/config$/i))if(S[a]){const n=JSON.parse(e);S[a].name=n.name,S[a].icon=n.name,oe["cp"+a]?(oe["cp"+a].name=n.name,oe["cp"+a].icon=n.name):oe["cp"+a]={name:n.name,icon:n.name,color:"var(--color-charging)"}}else console.warn("invalid chargepoint index: "+a);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/state_str$/i))S[a].stateStr=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_str$/i))S[a].faultStr=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/fault_state$/i))S[a].faultState=+e;else if(t.match(/^openWB\/chargepoint\/[0-9]+\/get\/power$/i))S[a].power=+e;else if(t.match(/^openWB\/chargepoint\/[0-9]+\/get\/daily_imported$/i))S[a].dailyYield=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/plug_state$/i))S[a].isPluggedIn=e=="true";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/charge_state$/i))S[a].isCharging=e=="true";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/manual_lock$/i))S[a].updateIsLocked(e=="true");else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/enabled$/i))S[a].isEnabled=e=="1";else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/phases_in_use/i))S[a].phasesInUse=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/current/i))S[a].current=+e;else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/currents/i))S[a].currents=JSON.parse(e);else if(t.match(/^openwb\/chargepoint\/[0-9]+\/set\/log/i)){const n=JSON.parse(e);S[a].chargedSincePlugged=n.imported_since_plugged}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/soc$/i)){const n=JSON.parse(e);S[a].soc=n.soc,S[a].waitingForSoc=!1,S[a].rangeCharged=n.range_charged,S[a].rangeUnit=n.range_unit}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/info$/i)){const n=JSON.parse(e);S[a].vehicleName=String(n.name),S[a].updateConnectedVehicle(+n.id)}else if(t.match(/^openwb\/chargepoint\/[0-9]+\/get\/connected_vehicle\/config$/i)){const n=JSON.parse(e);switch(n.chargemode){case"instant_charging":S[a].updateChargeMode(ve.instant_charging);break;case"pv_charging":S[a].updateChargeMode(ve.pv_charging);break;case"scheduled_charging":S[a].updateChargeMode(ve.scheduled_charging);break;case"standby":S[a].updateChargeMode(ve.standby);break;case"stop":S[a].updateChargeMode(ve.stop);break}S[a].chargeTemplate=n.charge_template,S[a].averageConsumption=n.average_consumption}}}function Os(t,e){const a=na(t);if(a!=null){if(!(a in z)){const n=new Ma(a);z[a]=n}if(t.match(/^openwb\/vehicle\/[0-9]+\/name$/i))Object.values(S).forEach(n=>{n.connectedVehicle==a&&(n.vehicleName=JSON.parse(e))}),z[a].name=JSON.parse(e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/get\/soc$/i))z[a].soc=JSON.parse(e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/get\/range$/i))isNaN(+e)?z[a].range=0:z[a].range=+e;else if(t.match(/^openwb\/vehicle\/[0-9]+\/charge_template$/i))z[a].updateChargeTemplateId(+e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/ev_template$/i))z[a].updateEvTemplateId(+e);else if(t.match(/^openwb\/vehicle\/[0-9]+\/soc_module\/config$/i)){const n=JSON.parse(e);Object.values(S).forEach(r=>{r.connectedVehicle==a&&(r.isSocConfigured=n.type!==null,r.isSocManual=n.type=="manual")})}}}function Ts(t,e){if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+$/i)){const a=t.match(/[0-9]+$/i);if(a){const n=+a[0],r=JSON.parse(e);se[n]=r,As(n,r)}}else if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/time_charging\/plans\/[0-9]+$/i)){const a=t.match(/(?:\/)([0-9]+)(?:\/)/g),n=t.match(/[0-9]+$/i);if(a&&n){const r=+a[0].replace(/[^0-9]+/g,""),i=+n[0],s=JSON.parse(e);r in ze||(ze[r]=[]),ze[r][i]=s}}else if(t.match(/^openwb\/vehicle\/template\/charge_template\/[0-9]+\/chargemode\/scheduled_charging\/plans\/[0-9]+$/i)){const a=t.match(/(?:\/)([0-9]+)(?:\/)/g),n=t.match(/[0-9]+$/i);if(a&&n){const r=+a[0].replace(/[^0-9]+/g,""),i=+n[0],s=JSON.parse(e);r in je||(je[r]=[]),je[r][i]=s}}else if(t.match(/^openwb\/vehicle\/template\/ev_template\/[0-9]+$/i)){const a=t.match(/[0-9]+$/i);if(a){const n=+a[0],r=JSON.parse(e);Pa[n]=r}}}function As(t,e){Object.values(S).forEach(a=>{a.chargeTemplate==t&&(a.updateCpPriority(e.prio),a.updateInstantChargeLimitMode(e.chargemode.instant_charging.limit.selected),a.updateInstantTargetCurrent(e.chargemode.instant_charging.current),a.updateInstantTargetSoc(e.chargemode.instant_charging.limit.soc),a.updateInstantMaxEnergy(e.chargemode.instant_charging.limit.amount),a.updatePvFeedInLimit(e.chargemode.pv_charging.feed_in_limit),a.updatePvMinCurrent(e.chargemode.pv_charging.min_current),a.updatePvMaxSoc(e.chargemode.pv_charging.max_soc),a.updatePvMinSoc(e.chargemode.pv_charging.min_soc),a.updatePvMinSocCurrent(e.chargemode.pv_charging.min_soc_current))})}function na(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}function Vs(t,e){t.match(/^openWB\/LegacySmarthome\/config\//i)?Ls(t,e):t.match(/^openWB\/LegacySmarthome\/Devices\//i)&&Ds(t,e)}function Ls(t,e){const a=ra(t);if(a==null)return;ae.has(a)||Yt(a);const n=ae.get(a);t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_configured$/i)?n.configured=e!="0":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_name$/i)?(n.name=e.toString(),n.icon=e.toString(),oe["sh"+a].name=e.toString(),oe["sh"+a].icon=e.toString()):t.match(/^openWB\/LegacySmarthome\/config\/set\/Devices\/[0-9]+\/mode$/i)?n.isAutomatic=e=="0":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_canSwitch$/i)?n.canSwitch=e=="1":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_homeConsumtion$/i)?n.countAsHouse=e=="1":t.match(/^openWB\/LegacySmarthome\/config\/get\/Devices\/[0-9]+\/device_temperatur_configured$/i)&&(n.tempConfigured=+e)}function Ds(t,e){const a=ra(t);if(a==null){console.warn("Smarthome: Missing index in "+t);return}ae.has(a)||Yt(a);const n=ae.get(a);if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Watt$/i))n.power=+e,Es("power");else if(!t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/Wh$/i)){if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/RunningTimeToday$/i))n.runningTime=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor0$/i))n.temp[0]=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor1$/i))n.temp[1]=+e;else if(t.match(/^openWB\/LegacySmarthome\/Devices\/[0-9]+\/TemperatureSensor2$/i))n.temp[2]=+e;else if(t.match(/^openWB\/LegacySmartHome\/Devices\/[0-9]+\/Status$/i))switch(+e){case 10:n.status="off";break;case 11:n.status="on";break;case 20:n.status="detection";break;case 30:n.status="timeout";break;default:n.status="off"}}}function Es(t){switch(t){case"power":O.devices.power=[...ae.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,a)=>e+a.power,0);break;case"energy":O.devices.energy=[...ae.values()].filter(e=>e.configured&&!e.countAsHouse).reduce((e,a)=>e+a.energy,0);break;default:console.error("Unknown category")}}function ra(t){let e=0;try{const a=t.match(/(?:\/)([0-9]+)(?=\/)/g);return a?(e=+a[0].replace(/[^0-9]+/g,""),e):void 0}catch(a){console.warn("Parser error in getIndex for topic "+t+" : "+a)}}class Ws{constructor(e){d(this,"id");d(this,"name","Zähler");d(this,"power",0);d(this,"energy_imported",0);d(this,"energy_exported",0);d(this,"grid",!1);d(this,"type","counter");d(this,"color","var(--color-evu)");d(this,"energyPv",0);d(this,"energyBat",0);d(this,"pvPercentage",0);d(this,"icon","");this.id=e}}const de=J({});function Gs(t,e){if(t in de)console.info("Duplicate counter message: "+t);else switch(de[t]=new Ws(t),de[t].type=e,e){case"counter":de[t].color="var(--color-evu)";break;case"inverter":de[t].color="var(--color-pv)";break;case"cp":de[t].color="var(--color-charging)";break;case"bat":de[t].color="var(--color-bat)";break}}const js=["openWB/counter/#","openWB/bat/#","openWB/pv/get/#","openWB/chargepoint/#","openWB/vehicle/#","openWB/general/chargemode_config/pv_charging/#","openWB/optional/et/#","openWB/system/#","openWB/LegacySmartHome/#","openWB/command/"+bt()+"/#","openWB/optional/int_display/#"];function zs(){ka(Ns),js.forEach(t=>{Ae(t)}),te()}function Ns(t,e){const a=e.toString();t.match(/^openwb\/counter\/[0-9]+\//i)?Us(t,a):t.match(/^openwb\/counter\//i)?Fs(t,a):t.match(/^openwb\/bat\//i)?Cs(t,a):t.match(/^openwb\/pv\//i)?Js(t,a):t.match(/^openwb\/chargepoint\//i)?Bs(t,a):t.match(/^openwb\/vehicle\/template\//i)?Ts(t,a):t.match(/^openwb\/vehicle\//i)?Os(t,a):t.match(/^openwb\/general\/chargemode_config\/pv_charging\//i)?Rs(t,a):t.match(/^openwb\/graph\//i)?ds(t,a):t.match(/^openwb\/log\/daily\//i)?fs(t,a):t.match(/^openwb\/log\/monthly\//i)?_s(t,a):t.match(/^openwb\/log\/yearly\//i)?ws(t,a):t.match(/^openwb\/optional\/et\//i)?$s(t,a):t.match(/^openwb\/system\//i)?Ys(t,a):t.match(/^openwb\/LegacySmartHome\//i)?Vs(t,a):t.match(/^openwb\/command\//i)?qs(t,a):t.match(/^openwb\/optional\//i)&&Qs(t,a)}function Us(t,e){const a=t.split("/"),n=+a[2];if(n==F.evuId?Hs(t,e):a[3]=="config",a[3]=="get"&&n in de)switch(a[4]){case"power":de[n].power=+e;break;case"config":break;case"fault_str":break;case"fault_state":break;case"power_factors":break;case"imported":break;case"exported":break;case"frequency":break;case"daily_imported":de[n].energy_imported=+e;break;case"daily_exported":de[n].energy_exported=+e;break}}function Fs(t,e){if(t.match(/^openwb\/counter\/get\/hierarchy$/i)){const a=JSON.parse(e);if(a.length){Ia(),Ps();for(const n of a)n.type=="counter"&&(F.evuId=n.id);oa(a[0])}}else t.match(/^openwb\/counter\/set\/home_consumption$/i)?O.house.power=+e:t.match(/^openwb\/counter\/set\/daily_yield_home_consumption$/i)&&(O.house.energy=+e)}function oa(t){switch(t.type){case"counter":Gs(t.id,t.type);break;case"cp":Ca(t.id);break;case"bat":Ms(t.id);break}t.children.forEach(e=>oa(e))}function Js(t,e){switch(t){case"openWB/pv/get/power":j.pv.power=-e;break;case"openWB/pv/get/daily_exported":j.pv.energy=+e;break}}function Rs(t,e){const a=t.split("/");if(a.length>0)switch(a[4]){case"bat_mode":F.updatePvBatteryPriority(JSON.parse(e));break}}function Hs(t,e){switch(t.split("/")[4]){case"power":+e>0?(j.evuIn.power=+e,O.evuOut.power=0):(j.evuIn.power=0,O.evuOut.power=-e);break;case"daily_imported":j.evuIn.energy=+e;break;case"daily_exported":O.evuOut.energy=+e;break}}function Ys(t,e){if(t.match(/^openWB\/system\/device\/[0-9]+\/component\/[0-9]+\/config$/i)){const a=JSON.parse(e);a.type=="counter"&&(de[a.id].name=a.name)}else t.match(/^openWB\/system\/ip_address$/i)?F.ipAddress=JSON.parse(e):t.match(/^openWB\/system\/time$/i)?F.systemTime=JSON.parse(e):t.match(/^openWB\/system\/version$/i)?F.version=JSON.parse(e):t.match(/^openWB\/system\/current_commit$/i)?F.versionDetails=JSON.parse(e):t.match(/^openWB\/system\/current_branch$/i)&&(F.devBranch=JSON.parse(e))}function qs(t,e){const a=t.split("/");if(t.match(/^openWB\/command\/[a-z]+\/error$/i)&&a[2]==bt()){const n=JSON.parse(e);console.error(`Error message from openWB: +Command: ${n.command} +Data: JSON.stringify(err.data) +Error: + ${n.error}`)}}function Qs(t,e){if(t.match(/^openwb\/optional\/int_display\/active$/i))K.active=JSON.parse(e);else if(t.match(/^openwb\/optional\/int_display\/only_local_charge_points$/i))K.localCpOnly=JSON.parse(e);else if(t.match(/^openwb\/optional\/int_display\/theme$/i)){const a=JSON.parse(e);K.usePin=a.configuration.lock_changes,K.code=a.configuration.lock_changes_code}}const Zs={class:"d-flex flex-column align-items-center justify-content-start infoitem"},Xs=T({__name:"InfoItem",props:{heading:{},small:{type:Boolean}},setup(t){const e=t,a=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-small)"}),n=m(()=>e.small?{"font-size":"var(--font-small)"}:{"font-size":"var(--font-normal)"}),r=m(()=>e.small?"mt-0":"mt-1");return(i,s)=>(p(),_("span",Zs,[o("span",{class:ne(["d-flex heading scaled",r.value]),style:re(a.value)},I(e.heading),7),o("span",{class:"d-flex my-0 me-0 align-items-center content scaled",style:re(n.value)},[fe(i.$slots,"default",{},void 0)],4)]))}}),le=N(Xs,[["__scopeId","data-v-9215fd9b"]]),Ks=T({__name:"FormatWattH",props:{wattH:{}},setup(t){const e=t,a=m(()=>Nt(e.wattH,y.decimalPlaces));return(n,r)=>(p(),_("span",null,I(a.value),1))}}),ei=T({__name:"BatterySymbol",props:{soc:{}},setup(t){const e=t,a=m(()=>e.soc<=12?"fa-battery-empty":e.soc<38?"fa-battery-quarter":e.soc<63?"fa-battery-half":e.soc<89?"fa-battery-three-quarters":"fa-battery-full");return(n,r)=>(p(),_("span",null,[o("i",{class:ne(["fa batIcon",a.value])},null,2),W(" "+I(Math.round(n.soc)+"%"),1)]))}}),ti=N(ei,[["__scopeId","data-v-fc156cd3"]]),ai={class:"vehicleinfo justify-content-left"},ni={class:"titleline mb-3"},ri={class:"carname d-flex justify-content-left align-items-center px-2"},oi={key:0,class:"ms-2 me-0 fa-solid fa-xs fa-star ps-1"},si={key:1,class:"ms-2 me-0 fa-solid fa-xs fa-coins ps-0"},ii={key:0,class:"socEditor rounded mt-2 d-flex flex-column align-items-center grid-col-12 grid-left"},li={class:"d-flex justify-content-stretch align-items-center"},ci={class:"infoline"},ui={key:0,class:"me-1 fa-solid fa-xs fa-clock ps-1"},di={class:"infoline"},hi={class:"maxprice"},pi={key:1},gi=T({__name:"CPVehicle",props:{chargepoint:{}},setup(t){const e=t,a=ue(e.chargepoint),n=ue(!1);function r(){H("setSoc",i.value,e.chargepoint.connectedVehicle),n.value=!1}const i=m({get(){return e.chargepoint.soc},set(P){S[e.chargepoint.id].soc=P}}),s=m(()=>e.chargepoint.soc),u=m({get(){return e.chargepoint.chargeMode},set(P){K.locked?Je():S[e.chargepoint.id].chargeMode=P}}),l=m(()=>{const[P]=ee.etPriceList.values();return(Math.round(P*10)/10).toFixed(1)});function g(P=""){K.locked&&Je(),new st("#settingspage").toggle();let A=P;if(P=="")switch(e.chargepoint.chargeMode){case"instant_charging":A="#inSettings";break;case"pv_charging":A="#phvSettings";break;case"scheduled_charging":A="#scSettings";break;default:A="#chSettings"}const U=document.querySelector(A+e.chargepoint.id);if(U){var ge=new zt(U);ge.show()}else console.error("no element found")}const v=m(()=>e.chargepoint.etMaxPrice>=+l.value?{color:"var(--color-charging)"}:{color:"var(--color-menu)"});return(P,b)=>(p(),_("div",ai,[o("div",ni,[w(me,{onClick:b[0]||(b[0]=A=>g("#chSettings"))},{default:x(()=>[o("div",ri,[b[6]||(b[6]=o("i",{class:"fa-solid fa-sm fa-car me-3"},null,-1)),W(" "+I(P.chargepoint.vehicleName)+" ",1),P.chargepoint.hasPriority?(p(),_("span",oi)):k("",!0),P.chargepoint.etActive?(p(),_("span",si)):k("",!0)])]),_:1})]),n.value?(p(),_("div",ii,[b[7]||(b[7]=o("span",{class:"d-flex m-1 p-0 socEditTitle"},"Ladestand einstellen:",-1)),o("span",li,[o("span",null,[w(Me,{id:"manualSoc",modelValue:i.value,"onUpdate:modelValue":b[1]||(b[1]=A=>i.value=A),min:0,max:100,step:1,unit:"%"},null,8,["modelValue"])])]),o("span",{type:"button",class:"fa-solid d-flex fa-lg m-3 me-1 mb-4 align-self-end fa-circle-check",onClick:r})])):k("",!0),o("div",ci,[P.chargepoint.isSocConfigured?(p(),B(le,{key:0,heading:"Ladestand:",class:"grid-col-4 grid-left"},{default:x(()=>[w(ti,{soc:s.value,class:"me-2"},null,8,["soc"]),P.chargepoint.isSocManual?(p(),B(me,{key:0,onClick:b[2]||(b[2]=A=>n.value=!n.value)},{default:x(()=>b[8]||(b[8]=[o("i",{class:"fa-solid fa-sm fas fa-edit py-0 px-3 mt-3",style:{color:"var(--color-fg)"}},null,-1)])),_:1})):k("",!0)]),_:1})):k("",!0),P.chargepoint.isSocConfigured?(p(),B(le,{key:1,heading:"Reichweite:",class:"grid-col-4"},{default:x(()=>[W(I(c(z)[e.chargepoint.connectedVehicle]?Math.round(c(z)[e.chargepoint.connectedVehicle].range):0)+" km ",1)]),_:1})):k("",!0),w(le,{heading:"Zeitplan:",class:"grid-col-4 grid-right"},{default:x(()=>[P.chargepoint.timedCharging?(p(),_("span",ui)):k("",!0),W(" "+I(e.chargepoint.timedCharging?"Ja":"Nein"),1)]),_:1})]),o("div",di,[c(ee).active?(p(),B(le,{key:0,heading:"Preisladen:",class:"grid-col-4 grid-left"},{default:x(()=>[w(he,{modelValue:a.value.etActive,"onUpdate:modelValue":b[3]||(b[3]=A=>a.value.etActive=A)},null,8,["modelValue"])]),_:1})):k("",!0),c(ee).active?(p(),B(le,{key:1,heading:"max. Preis:",class:"grid-col-4"},{default:x(()=>[a.value.etActive?(p(),B(me,{key:0,onClick:b[4]||(b[4]=A=>g("#prSettings"))},{default:x(()=>[o("span",hi,I(e.chargepoint.etActive?(Math.round(e.chargepoint.etMaxPrice*10)/10).toFixed(1)+" ct":"-"),1)]),_:1})):(p(),_("span",pi,"-"))]),_:1})):k("",!0),c(ee).active?(p(),B(le,{key:2,heading:"akt. Preis:",class:"grid-col-4 grid-right"},{default:x(()=>[o("span",{style:re(v.value)},I(l.value)+" ct ",5)]),_:1})):k("",!0)]),w(Kt,{id:"chargemode-"+P.chargepoint.name,modelValue:u.value,"onUpdate:modelValue":b[5]||(b[5]=A=>u.value=A),class:"chargemodes mx-3 mt-4 mb-0",options:Object.keys(c(De)).map(A=>({text:c(De)[A].name,value:A,color:c(De)[A].color,icon:c(De)[A].icon,active:c(De)[A].mode==P.chargepoint.chargeMode}))},null,8,["id","modelValue","options"])]))}}),mi=N(gi,[["__scopeId","data-v-cd7c1021"]]),fi={class:"subgrid"},vi={class:"targetCurrent"},yi=T({__name:"CPChargePoint",props:{chargepoint:{}},setup(t){const e=t,a=m(()=>(Math.round(e.chargepoint.current*10)/10).toLocaleString(void 0)+" A"),n=m(()=>(Math.round(e.chargepoint.realCurrent*10)/10).toLocaleString(void 0)+" A"),r=m(()=>{const v=e.chargepoint.rangeCharged,P=e.chargepoint.chargedSincePlugged,b=e.chargepoint.dailyYield;return P>0?Math.round(v/P*b).toString()+" "+e.chargepoint.rangeUnit:"0 km"}),i=m(()=>e.chargepoint.isLocked?"Gesperrt":e.chargepoint.isCharging?"Lädt":e.chargepoint.isPluggedIn?"Bereit":"Frei"),s=m(()=>e.chargepoint.isLocked?"var(--color-evu)":e.chargepoint.isCharging?"var(--color-charging)":e.chargepoint.isPluggedIn?"var(--color-battery)":"var(--color-axis)"),u=m(()=>{let v="";return e.chargepoint.isLocked?v="fa-lock":e.chargepoint.isCharging?v=" fa-bolt":e.chargepoint.isPluggedIn&&(v="fa-plug"),"fa "+v}),l=m(()=>({color:e.chargepoint.color}));function g(){K.locked&&Je(),new st("#settingspage").toggle();let P="";switch(e.chargepoint.chargeMode){case"instant_charging":P="#inSettings";break;case"pv_charging":P="#phvSettings";break;case"scheduled_charging":P="#scSettings";break;default:P="#chSettings"}const b=document.querySelector(P+e.chargepoint.id);if(b){var A=new zt(b);A.show()}else console.error("no element found")}return(v,P)=>(p(),B(lt,null,{title:x(()=>[o("span",{style:re(l.value)},[P[0]||(P[0]=o("span",{class:"fa-solid fa-charging-station"}," ",-1)),W(" "+I(e.chargepoint.name),1)],4)]),buttons:x(()=>[w(me,{color:"var(--color-cp0)",icon:"fa-edit",onClick:g},{default:x(()=>P[1]||(P[1]=[W(" Einstellungen")])),_:1})]),footer:x(()=>[w(mi,{chargepoint:e.chargepoint},null,8,["chargepoint"])]),default:x(()=>[o("div",fi,[w(le,{heading:"Status:",class:"grid-col-4 grid-left"},{default:x(()=>[o("span",{style:re({color:s.value})},[o("i",{class:ne(u.value)},null,2),W(" "+I(i.value),1)],4)]),_:1}),w(le,{heading:"Geladen:",class:"grid-col-4"},{default:x(()=>[w(Ks,{"watt-h":v.chargepoint.dailyYield},null,8,["watt-h"])]),_:1}),w(le,{heading:"gel. Reichw.:",class:"grid-col-4 grid-right"},{default:x(()=>[W(I(r.value),1)]),_:1}),e.chargepoint.power>0?(p(),B(le,{key:0,heading:"Leistung:",class:"grid-col-3 grid-left"},{default:x(()=>[w(qt,{watt:e.chargepoint.power},null,8,["watt"])]),_:1})):k("",!0),e.chargepoint.power>0?(p(),B(le,{key:1,heading:"Strom:",class:"grid-col-3"},{default:x(()=>[W(I(n.value),1)]),_:1})):k("",!0),e.chargepoint.power>0?(p(),B(le,{key:2,heading:"Phasen:",class:"grid-col-3"},{default:x(()=>[W(I(e.chargepoint.phasesInUse),1)]),_:1})):k("",!0),e.chargepoint.power>0?(p(),B(le,{key:3,heading:"Sollstrom:",class:"grid-col-3 grid-right"},{default:x(()=>[o("span",vi,I(a.value),1)]),_:1})):k("",!0)])]),_:1}))}}),bi=N(yi,[["__scopeId","data-v-795d5c8f"]]),_i={class:"content"},wi={class:"leftside"},Si={class:"rightside"},ki={class:"settingstitle"},xi=T({__name:"DisplayTheme",setup(t){function e(n){Ta(n)&&(K.locked=!1,setTimeout(()=>{K.locked=!0},K.timeout*1e3))}He(()=>{window.addEventListener("resize",Ct),window.addEventListener("focus",a),zs()}),Dt(()=>{window.removeEventListener("focus",a),window.removeEventListener("resize",Ct)});function a(){document.hasFocus()&&te()}return(n,r)=>(p(),_(pe,null,[o("div",_i,[o("div",wi,[Ge(w(bn,null,null,512),[[ct,c(y).graphToShow=="powermeter"]]),Ge(o("div",null,[w(nr)],512),[[ct,c(y).graphToShow=="powergraph"]]),Ge(o("div",null,[w(Ir)],512),[[ct,c(y).graphToShow=="energymeter"]])]),o("div",Si,[Object.values(c(S)).length>c(y).cpToShow?(p(),B(bi,{key:0,chargepoint:Object.values(c(S))[c(y).cpToShow]},null,8,["chargepoint"])):k("",!0)])]),w(pt,{"modal-id":"numberpad"},{title:x(()=>r[0]||(r[0]=[W("Code")])),default:x(()=>[w(Nr,{"model-value":"","onUpdate:modelValue":e})]),_:1}),w(pt,{"modal-id":"statuspage"},{title:x(()=>r[1]||(r[1]=[o("span",{class:"statustitle"},"Systemstatus",-1)])),default:x(()=>[w(Xr)]),_:1}),Object.values(c(S)).length>c(y).cpToShow?(p(),B(pt,{key:0,"modal-id":"settingspage"},{title:x(()=>[o("span",ki,"Einstellungen für "+I(Object.values(c(S))[c(y).cpToShow].vehicleName)+" an Ladepunkt "+I(Object.values(c(S))[c(y).cpToShow].name),1)]),default:x(()=>[w(us,{chargepoint:Object.values(c(S))[c(y).cpToShow]},null,8,["chargepoint"])]),_:1})):k("",!0)],64))}}),Mi=N(xi,[["__scopeId","data-v-9b3643f1"]]),Pi={class:"fixeddisplay"},Ci=T({__name:"App",setup(t){return He(()=>{console.log("on mounted");let e=window.location.search;if(e!=""){console.debug("search",e);let a=new URLSearchParams(e);if(a.has("data")){let n=JSON.parse(a.get("data"));Object.entries(n).forEach(([r,i])=>{console.log("updateSetting",r,i),r.startsWith("parentChargePoint")?Ce[r]=parseInt(i):Ce[r]=i})}}}),(e,a)=>(p(),_("div",Pi,[w(Mi),w(Ja)]))}}),Ii=N(Ci,[["__scopeId","data-v-f43b9e47"]]),$i=ma(Ii);$i.mount("#app"); diff --git a/packages/modules/display_themes/colors/web/assets/vendor-BY7wY20x.js b/packages/modules/display_themes/colors/web/assets/vendor-BdYRjXMo.js similarity index 99% rename from packages/modules/display_themes/colors/web/assets/vendor-BY7wY20x.js rename to packages/modules/display_themes/colors/web/assets/vendor-BdYRjXMo.js index 6d412e48d4..f5b6c75259 100644 --- a/packages/modules/display_themes/colors/web/assets/vendor-BY7wY20x.js +++ b/packages/modules/display_themes/colors/web/assets/vendor-BdYRjXMo.js @@ -32,4 +32,4 @@ var pv=Object.defineProperty;var Ld=e=>{throw TypeError(e)};var gv=(e,t,r)=>t in * @author Feross Aboukhadijeh * @license MIT */var Bg;function Yt(){return Bg||(Bg=1,function(e){const t=CR(),r=RR(),n=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=o,e.SlowBuffer=S,e.INSPECT_MAX_BYTES=50;const s=2147483647;e.kMaxLength=s,o.TYPED_ARRAY_SUPPORT=i(),!o.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function i(){try{const h=new Uint8Array(1),c={foo:function(){return 42}};return Object.setPrototypeOf(c,Uint8Array.prototype),Object.setPrototypeOf(h,c),h.foo()===42}catch{return!1}}Object.defineProperty(o.prototype,"parent",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.buffer}}),Object.defineProperty(o.prototype,"offset",{enumerable:!0,get:function(){if(o.isBuffer(this))return this.byteOffset}});function a(h){if(h>s)throw new RangeError('The value "'+h+'" is invalid for option "size"');const c=new Uint8Array(h);return Object.setPrototypeOf(c,o.prototype),c}function o(h,c,m){if(typeof h=="number"){if(typeof c=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return d(h)}return l(h,c,m)}o.poolSize=8192;function l(h,c,m){if(typeof h=="string")return p(h,c);if(ArrayBuffer.isView(h))return _(h);if(h==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h);if(P(h,ArrayBuffer)||h&&P(h.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(P(h,SharedArrayBuffer)||h&&P(h.buffer,SharedArrayBuffer)))return b(h,c,m);if(typeof h=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const x=h.valueOf&&h.valueOf();if(x!=null&&x!==h)return o.from(x,c,m);const H=E(h);if(H)return H;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof h[Symbol.toPrimitive]=="function")return o.from(h[Symbol.toPrimitive]("string"),c,m);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof h)}o.from=function(h,c,m){return l(h,c,m)},Object.setPrototypeOf(o.prototype,Uint8Array.prototype),Object.setPrototypeOf(o,Uint8Array);function u(h){if(typeof h!="number")throw new TypeError('"size" argument must be of type number');if(h<0)throw new RangeError('The value "'+h+'" is invalid for option "size"')}function f(h,c,m){return u(h),h<=0?a(h):c!==void 0?typeof m=="string"?a(h).fill(c,m):a(h).fill(c):a(h)}o.alloc=function(h,c,m){return f(h,c,m)};function d(h){return u(h),a(h<0?0:v(h)|0)}o.allocUnsafe=function(h){return d(h)},o.allocUnsafeSlow=function(h){return d(h)};function p(h,c){if((typeof c!="string"||c==="")&&(c="utf8"),!o.isEncoding(c))throw new TypeError("Unknown encoding: "+c);const m=w(h,c)|0;let x=a(m);const H=x.write(h,c);return H!==m&&(x=x.slice(0,H)),x}function g(h){const c=h.length<0?0:v(h.length)|0,m=a(c);for(let x=0;x=s)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+s.toString(16)+" bytes");return h|0}function S(h){return+h!=h&&(h=0),o.alloc(+h)}o.isBuffer=function(c){return c!=null&&c._isBuffer===!0&&c!==o.prototype},o.compare=function(c,m){if(P(c,Uint8Array)&&(c=o.from(c,c.offset,c.byteLength)),P(m,Uint8Array)&&(m=o.from(m,m.offset,m.byteLength)),!o.isBuffer(c)||!o.isBuffer(m))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(c===m)return 0;let x=c.length,H=m.length;for(let se=0,_e=Math.min(x,H);se<_e;++se)if(c[se]!==m[se]){x=c[se],H=m[se];break}return xH.length?(o.isBuffer(_e)||(_e=o.from(_e)),_e.copy(H,se)):Uint8Array.prototype.set.call(H,_e,se);else if(o.isBuffer(_e))_e.copy(H,se);else throw new TypeError('"list" argument must be an Array of Buffers');se+=_e.length}return H};function w(h,c){if(o.isBuffer(h))return h.length;if(ArrayBuffer.isView(h)||P(h,ArrayBuffer))return h.byteLength;if(typeof h!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof h);const m=h.length,x=arguments.length>2&&arguments[2]===!0;if(!x&&m===0)return 0;let H=!1;for(;;)switch(c){case"ascii":case"latin1":case"binary":return m;case"utf8":case"utf-8":return U(h).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return m*2;case"hex":return m>>>1;case"base64":return F(h).length;default:if(H)return x?-1:U(h).length;c=(""+c).toLowerCase(),H=!0}}o.byteLength=w;function C(h,c,m){let x=!1;if((c===void 0||c<0)&&(c=0),c>this.length||((m===void 0||m>this.length)&&(m=this.length),m<=0)||(m>>>=0,c>>>=0,m<=c))return"";for(h||(h="utf8");;)switch(h){case"hex":return ge(this,c,m);case"utf8":case"utf-8":return ae(this,c,m);case"ascii":return pe(this,c,m);case"latin1":case"binary":return z(this,c,m);case"base64":return $(this,c,m);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Y(this,c,m);default:if(x)throw new TypeError("Unknown encoding: "+h);h=(h+"").toLowerCase(),x=!0}}o.prototype._isBuffer=!0;function R(h,c,m){const x=h[c];h[c]=h[m],h[m]=x}o.prototype.swap16=function(){const c=this.length;if(c%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let m=0;mm&&(c+=" ... "),""},n&&(o.prototype[n]=o.prototype.inspect),o.prototype.compare=function(c,m,x,H,se){if(P(c,Uint8Array)&&(c=o.from(c,c.offset,c.byteLength)),!o.isBuffer(c))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof c);if(m===void 0&&(m=0),x===void 0&&(x=c?c.length:0),H===void 0&&(H=0),se===void 0&&(se=this.length),m<0||x>c.length||H<0||se>this.length)throw new RangeError("out of range index");if(H>=se&&m>=x)return 0;if(H>=se)return-1;if(m>=x)return 1;if(m>>>=0,x>>>=0,H>>>=0,se>>>=0,this===c)return 0;let _e=se-H,xe=x-m;const Re=Math.min(_e,xe),Te=this.slice(H,se),ke=c.slice(m,x);for(let Oe=0;Oe2147483647?m=2147483647:m<-2147483648&&(m=-2147483648),m=+m,J(m)&&(m=H?0:h.length-1),m<0&&(m=h.length+m),m>=h.length){if(H)return-1;m=h.length-1}else if(m<0)if(H)m=0;else return-1;if(typeof c=="string"&&(c=o.from(c,x)),o.isBuffer(c))return c.length===0?-1:D(h,c,m,x,H);if(typeof c=="number")return c=c&255,typeof Uint8Array.prototype.indexOf=="function"?H?Uint8Array.prototype.indexOf.call(h,c,m):Uint8Array.prototype.lastIndexOf.call(h,c,m):D(h,[c],m,x,H);throw new TypeError("val must be string, number or Buffer")}function D(h,c,m,x,H){let se=1,_e=h.length,xe=c.length;if(x!==void 0&&(x=String(x).toLowerCase(),x==="ucs2"||x==="ucs-2"||x==="utf16le"||x==="utf-16le")){if(h.length<2||c.length<2)return-1;se=2,_e/=2,xe/=2,m/=2}function Re(ke,Oe){return se===1?ke[Oe]:ke.readUInt16BE(Oe*se)}let Te;if(H){let ke=-1;for(Te=m;Te<_e;Te++)if(Re(h,Te)===Re(c,ke===-1?0:Te-ke)){if(ke===-1&&(ke=Te),Te-ke+1===xe)return ke*se}else ke!==-1&&(Te-=Te-ke),ke=-1}else for(m+xe>_e&&(m=_e-xe),Te=m;Te>=0;Te--){let ke=!0;for(let Oe=0;OeH&&(x=H)):x=H;const se=c.length;x>se/2&&(x=se/2);let _e;for(_e=0;_e>>0,isFinite(x)?(x=x>>>0,H===void 0&&(H="utf8")):(H=x,x=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const se=this.length-m;if((x===void 0||x>se)&&(x=se),c.length>0&&(x<0||m<0)||m>this.length)throw new RangeError("Attempt to write outside buffer bounds");H||(H="utf8");let _e=!1;for(;;)switch(H){case"hex":return V(this,c,m,x);case"utf8":case"utf-8":return re(this,c,m,x);case"ascii":case"latin1":case"binary":return G(this,c,m,x);case"base64":return X(this,c,m,x);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return L(this,c,m,x);default:if(_e)throw new TypeError("Unknown encoding: "+H);H=(""+H).toLowerCase(),_e=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function $(h,c,m){return c===0&&m===h.length?t.fromByteArray(h):t.fromByteArray(h.slice(c,m))}function ae(h,c,m){m=Math.min(h.length,m);const x=[];let H=c;for(;H239?4:se>223?3:se>191?2:1;if(H+xe<=m){let Re,Te,ke,Oe;switch(xe){case 1:se<128&&(_e=se);break;case 2:Re=h[H+1],(Re&192)===128&&(Oe=(se&31)<<6|Re&63,Oe>127&&(_e=Oe));break;case 3:Re=h[H+1],Te=h[H+2],(Re&192)===128&&(Te&192)===128&&(Oe=(se&15)<<12|(Re&63)<<6|Te&63,Oe>2047&&(Oe<55296||Oe>57343)&&(_e=Oe));break;case 4:Re=h[H+1],Te=h[H+2],ke=h[H+3],(Re&192)===128&&(Te&192)===128&&(ke&192)===128&&(Oe=(se&15)<<18|(Re&63)<<12|(Te&63)<<6|ke&63,Oe>65535&&Oe<1114112&&(_e=Oe))}}_e===null?(_e=65533,xe=1):_e>65535&&(_e-=65536,x.push(_e>>>10&1023|55296),_e=56320|_e&1023),x.push(_e),H+=xe}return de(x)}const ce=4096;function de(h){const c=h.length;if(c<=ce)return String.fromCharCode.apply(String,h);let m="",x=0;for(;xx)&&(m=x);let H="";for(let se=c;sex&&(c=x),m<0?(m+=x,m<0&&(m=0)):m>x&&(m=x),mm)throw new RangeError("Trying to access beyond buffer length")}o.prototype.readUintLE=o.prototype.readUIntLE=function(c,m,x){c=c>>>0,m=m>>>0,x||he(c,m,this.length);let H=this[c],se=1,_e=0;for(;++_e>>0,m=m>>>0,x||he(c,m,this.length);let H=this[c+--m],se=1;for(;m>0&&(se*=256);)H+=this[c+--m]*se;return H},o.prototype.readUint8=o.prototype.readUInt8=function(c,m){return c=c>>>0,m||he(c,1,this.length),this[c]},o.prototype.readUint16LE=o.prototype.readUInt16LE=function(c,m){return c=c>>>0,m||he(c,2,this.length),this[c]|this[c+1]<<8},o.prototype.readUint16BE=o.prototype.readUInt16BE=function(c,m){return c=c>>>0,m||he(c,2,this.length),this[c]<<8|this[c+1]},o.prototype.readUint32LE=o.prototype.readUInt32LE=function(c,m){return c=c>>>0,m||he(c,4,this.length),(this[c]|this[c+1]<<8|this[c+2]<<16)+this[c+3]*16777216},o.prototype.readUint32BE=o.prototype.readUInt32BE=function(c,m){return c=c>>>0,m||he(c,4,this.length),this[c]*16777216+(this[c+1]<<16|this[c+2]<<8|this[c+3])},o.prototype.readBigUInt64LE=me(function(c){c=c>>>0,T(c,"offset");const m=this[c],x=this[c+7];(m===void 0||x===void 0)&&M(c,this.length-8);const H=m+this[++c]*2**8+this[++c]*2**16+this[++c]*2**24,se=this[++c]+this[++c]*2**8+this[++c]*2**16+x*2**24;return BigInt(H)+(BigInt(se)<>>0,T(c,"offset");const m=this[c],x=this[c+7];(m===void 0||x===void 0)&&M(c,this.length-8);const H=m*2**24+this[++c]*2**16+this[++c]*2**8+this[++c],se=this[++c]*2**24+this[++c]*2**16+this[++c]*2**8+x;return(BigInt(H)<>>0,m=m>>>0,x||he(c,m,this.length);let H=this[c],se=1,_e=0;for(;++_e=se&&(H-=Math.pow(2,8*m)),H},o.prototype.readIntBE=function(c,m,x){c=c>>>0,m=m>>>0,x||he(c,m,this.length);let H=m,se=1,_e=this[c+--H];for(;H>0&&(se*=256);)_e+=this[c+--H]*se;return se*=128,_e>=se&&(_e-=Math.pow(2,8*m)),_e},o.prototype.readInt8=function(c,m){return c=c>>>0,m||he(c,1,this.length),this[c]&128?(255-this[c]+1)*-1:this[c]},o.prototype.readInt16LE=function(c,m){c=c>>>0,m||he(c,2,this.length);const x=this[c]|this[c+1]<<8;return x&32768?x|4294901760:x},o.prototype.readInt16BE=function(c,m){c=c>>>0,m||he(c,2,this.length);const x=this[c+1]|this[c]<<8;return x&32768?x|4294901760:x},o.prototype.readInt32LE=function(c,m){return c=c>>>0,m||he(c,4,this.length),this[c]|this[c+1]<<8|this[c+2]<<16|this[c+3]<<24},o.prototype.readInt32BE=function(c,m){return c=c>>>0,m||he(c,4,this.length),this[c]<<24|this[c+1]<<16|this[c+2]<<8|this[c+3]},o.prototype.readBigInt64LE=me(function(c){c=c>>>0,T(c,"offset");const m=this[c],x=this[c+7];(m===void 0||x===void 0)&&M(c,this.length-8);const H=this[c+4]+this[c+5]*2**8+this[c+6]*2**16+(x<<24);return(BigInt(H)<>>0,T(c,"offset");const m=this[c],x=this[c+7];(m===void 0||x===void 0)&&M(c,this.length-8);const H=(m<<24)+this[++c]*2**16+this[++c]*2**8+this[++c];return(BigInt(H)<>>0,m||he(c,4,this.length),r.read(this,c,!0,23,4)},o.prototype.readFloatBE=function(c,m){return c=c>>>0,m||he(c,4,this.length),r.read(this,c,!1,23,4)},o.prototype.readDoubleLE=function(c,m){return c=c>>>0,m||he(c,8,this.length),r.read(this,c,!0,52,8)},o.prototype.readDoubleBE=function(c,m){return c=c>>>0,m||he(c,8,this.length),r.read(this,c,!1,52,8)};function N(h,c,m,x,H,se){if(!o.isBuffer(h))throw new TypeError('"buffer" argument must be a Buffer instance');if(c>H||ch.length)throw new RangeError("Index out of range")}o.prototype.writeUintLE=o.prototype.writeUIntLE=function(c,m,x,H){if(c=+c,m=m>>>0,x=x>>>0,!H){const xe=Math.pow(2,8*x)-1;N(this,c,m,x,xe,0)}let se=1,_e=0;for(this[m]=c&255;++_e>>0,x=x>>>0,!H){const xe=Math.pow(2,8*x)-1;N(this,c,m,x,xe,0)}let se=x-1,_e=1;for(this[m+se]=c&255;--se>=0&&(_e*=256);)this[m+se]=c/_e&255;return m+x},o.prototype.writeUint8=o.prototype.writeUInt8=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,1,255,0),this[m]=c&255,m+1},o.prototype.writeUint16LE=o.prototype.writeUInt16LE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,2,65535,0),this[m]=c&255,this[m+1]=c>>>8,m+2},o.prototype.writeUint16BE=o.prototype.writeUInt16BE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,2,65535,0),this[m]=c>>>8,this[m+1]=c&255,m+2},o.prototype.writeUint32LE=o.prototype.writeUInt32LE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,4,4294967295,0),this[m+3]=c>>>24,this[m+2]=c>>>16,this[m+1]=c>>>8,this[m]=c&255,m+4},o.prototype.writeUint32BE=o.prototype.writeUInt32BE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,4,4294967295,0),this[m]=c>>>24,this[m+1]=c>>>16,this[m+2]=c>>>8,this[m+3]=c&255,m+4};function ne(h,c,m,x,H){A(c,x,H,h,m,7);let se=Number(c&BigInt(4294967295));h[m++]=se,se=se>>8,h[m++]=se,se=se>>8,h[m++]=se,se=se>>8,h[m++]=se;let _e=Number(c>>BigInt(32)&BigInt(4294967295));return h[m++]=_e,_e=_e>>8,h[m++]=_e,_e=_e>>8,h[m++]=_e,_e=_e>>8,h[m++]=_e,m}function ye(h,c,m,x,H){A(c,x,H,h,m,7);let se=Number(c&BigInt(4294967295));h[m+7]=se,se=se>>8,h[m+6]=se,se=se>>8,h[m+5]=se,se=se>>8,h[m+4]=se;let _e=Number(c>>BigInt(32)&BigInt(4294967295));return h[m+3]=_e,_e=_e>>8,h[m+2]=_e,_e=_e>>8,h[m+1]=_e,_e=_e>>8,h[m]=_e,m+8}o.prototype.writeBigUInt64LE=me(function(c,m=0){return ne(this,c,m,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeBigUInt64BE=me(function(c,m=0){return ye(this,c,m,BigInt(0),BigInt("0xffffffffffffffff"))}),o.prototype.writeIntLE=function(c,m,x,H){if(c=+c,m=m>>>0,!H){const Re=Math.pow(2,8*x-1);N(this,c,m,x,Re-1,-Re)}let se=0,_e=1,xe=0;for(this[m]=c&255;++se>0)-xe&255;return m+x},o.prototype.writeIntBE=function(c,m,x,H){if(c=+c,m=m>>>0,!H){const Re=Math.pow(2,8*x-1);N(this,c,m,x,Re-1,-Re)}let se=x-1,_e=1,xe=0;for(this[m+se]=c&255;--se>=0&&(_e*=256);)c<0&&xe===0&&this[m+se+1]!==0&&(xe=1),this[m+se]=(c/_e>>0)-xe&255;return m+x},o.prototype.writeInt8=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,1,127,-128),c<0&&(c=255+c+1),this[m]=c&255,m+1},o.prototype.writeInt16LE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,2,32767,-32768),this[m]=c&255,this[m+1]=c>>>8,m+2},o.prototype.writeInt16BE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,2,32767,-32768),this[m]=c>>>8,this[m+1]=c&255,m+2},o.prototype.writeInt32LE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,4,2147483647,-2147483648),this[m]=c&255,this[m+1]=c>>>8,this[m+2]=c>>>16,this[m+3]=c>>>24,m+4},o.prototype.writeInt32BE=function(c,m,x){return c=+c,m=m>>>0,x||N(this,c,m,4,2147483647,-2147483648),c<0&&(c=4294967295+c+1),this[m]=c>>>24,this[m+1]=c>>>16,this[m+2]=c>>>8,this[m+3]=c&255,m+4},o.prototype.writeBigInt64LE=me(function(c,m=0){return ne(this,c,m,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),o.prototype.writeBigInt64BE=me(function(c,m=0){return ye(this,c,m,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function oe(h,c,m,x,H,se){if(m+x>h.length)throw new RangeError("Index out of range");if(m<0)throw new RangeError("Index out of range")}function Q(h,c,m,x,H){return c=+c,m=m>>>0,H||oe(h,c,m,4),r.write(h,c,m,x,23,4),m+4}o.prototype.writeFloatLE=function(c,m,x){return Q(this,c,m,!0,x)},o.prototype.writeFloatBE=function(c,m,x){return Q(this,c,m,!1,x)};function q(h,c,m,x,H){return c=+c,m=m>>>0,H||oe(h,c,m,8),r.write(h,c,m,x,52,8),m+8}o.prototype.writeDoubleLE=function(c,m,x){return q(this,c,m,!0,x)},o.prototype.writeDoubleBE=function(c,m,x){return q(this,c,m,!1,x)},o.prototype.copy=function(c,m,x,H){if(!o.isBuffer(c))throw new TypeError("argument should be a Buffer");if(x||(x=0),!H&&H!==0&&(H=this.length),m>=c.length&&(m=c.length),m||(m=0),H>0&&H=this.length)throw new RangeError("Index out of range");if(H<0)throw new RangeError("sourceEnd out of bounds");H>this.length&&(H=this.length),c.length-m>>0,x=x===void 0?this.length:x>>>0,c||(c=0);let se;if(typeof c=="number")for(se=m;se2**32?H=te(String(m)):typeof m=="bigint"&&(H=String(m),(m>BigInt(2)**BigInt(32)||m<-(BigInt(2)**BigInt(32)))&&(H=te(H)),H+="n"),x+=` It must be ${c}. Received ${H}`,x},RangeError);function te(h){let c="",m=h.length;const x=h[0]==="-"?1:0;for(;m>=x+4;m-=3)c=`_${h.slice(m-3,m)}${c}`;return`${h.slice(0,m)}${c}`}function ee(h,c,m){T(c,"offset"),(h[c]===void 0||h[c+m]===void 0)&&M(c,h.length-(m+1))}function A(h,c,m,x,H,se){if(h>m||h= 0${_e} and < 2${_e} ** ${(se+1)*8}${_e}`:xe=`>= -(2${_e} ** ${(se+1)*8-1}${_e}) and < 2 ** ${(se+1)*8-1}${_e}`,new k.ERR_OUT_OF_RANGE("value",xe,h)}ee(x,H,se)}function T(h,c){if(typeof h!="number")throw new k.ERR_INVALID_ARG_TYPE(c,"number",h)}function M(h,c,m){throw Math.floor(h)!==h?(T(h,m),new k.ERR_OUT_OF_RANGE("offset","an integer",h)):c<0?new k.ERR_BUFFER_OUT_OF_BOUNDS:new k.ERR_OUT_OF_RANGE("offset",`>= 0 and <= ${c}`,h)}const I=/[^+/0-9A-Za-z-_]/g;function B(h){if(h=h.split("=")[0],h=h.trim().replace(I,""),h.length<2)return"";for(;h.length%4!==0;)h=h+"=";return h}function U(h,c){c=c||1/0;let m;const x=h.length;let H=null;const se=[];for(let _e=0;_e55295&&m<57344){if(!H){if(m>56319){(c-=3)>-1&&se.push(239,191,189);continue}else if(_e+1===x){(c-=3)>-1&&se.push(239,191,189);continue}H=m;continue}if(m<56320){(c-=3)>-1&&se.push(239,191,189),H=m;continue}m=(H-55296<<10|m-56320)+65536}else H&&(c-=3)>-1&&se.push(239,191,189);if(H=null,m<128){if((c-=1)<0)break;se.push(m)}else if(m<2048){if((c-=2)<0)break;se.push(m>>6|192,m&63|128)}else if(m<65536){if((c-=3)<0)break;se.push(m>>12|224,m>>6&63|128,m&63|128)}else if(m<1114112){if((c-=4)<0)break;se.push(m>>18|240,m>>12&63|128,m>>6&63|128,m&63|128)}else throw new Error("Invalid code point")}return se}function Z(h){const c=[];for(let m=0;m>8,H=m%256,se.push(H),se.push(x);return se}function F(h){return t.toByteArray(B(h))}function K(h,c,m,x){let H;for(H=0;H=c.length||H>=h.length);++H)c[H+m]=h[H];return H}function P(h,c){return h instanceof c||h!=null&&h.constructor!=null&&h.constructor.name!=null&&h.constructor.name===c.name}function J(h){return h!==h}const le=function(){const h="0123456789abcdef",c=new Array(256);for(let m=0;m<16;++m){const x=m*16;for(let H=0;H<16;++H)c[x+H]=h[m]+h[H]}return c}();function me(h){return typeof BigInt>"u"?y:h}function y(){throw new Error("BigInt not supported")}}(xu)),xu}var Iu,Dg;function nt(){if(Dg)return Iu;Dg=1;class e extends Error{constructor(r){if(!Array.isArray(r))throw new TypeError(`Expected input to be an Array, got ${typeof r}`);let n="";for(let s=0;s=w+4;S-=3)v=`_${E.slice(S-3,S)}${v}`;return`${E.slice(0,S)}${v}`}function d(E,v,S){if(typeof v=="function")return u(v.length<=S.length,`Code: ${E}; The provided arguments length (${S.length}) does not match the required ones (${v.length}).`),v(...S);const w=(v.match(/%[dfijoOs]/g)||[]).length;return u(w===S.length,`Code: ${E}; The provided arguments length (${S.length}) does not match the required ones (${w}).`),S.length===0?v:e(v,...S)}function p(E,v,S){S||(S=Error);class w extends S{constructor(...R){super(d(E,v,R))}toString(){return`${this.name} [${E}]: ${this.message}`}}Object.defineProperties(w.prototype,{name:{value:S.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${E}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),w.prototype.code=E,w.prototype[s]=!0,l[E]=w}function g(E){const v=o+E.name;return Object.defineProperty(E,"name",{value:v}),E}function _(E,v){if(E&&v&&E!==v){if(Array.isArray(v.errors))return v.errors.push(E),v;const S=new n([v,E],v.message);return S.code=v.code,S}return E||v}class b extends Error{constructor(v="The operation was aborted",S=void 0){if(S!==void 0&&typeof S!="object")throw new l.ERR_INVALID_ARG_TYPE("options","Object",S);super(v,S),this.code="ABORT_ERR",this.name="AbortError"}}return p("ERR_ASSERTION","%s",Error),p("ERR_INVALID_ARG_TYPE",(E,v,S)=>{u(typeof E=="string","'name' must be a string"),Array.isArray(v)||(v=[v]);let w="The ";E.endsWith(" argument")?w+=`${E} `:w+=`"${E}" ${E.includes(".")?"property":"argument"} `,w+="must be ";const C=[],R=[],O=[];for(const V of v)u(typeof V=="string","All expected entries have to be of type string"),i.includes(V)?C.push(V.toLowerCase()):a.test(V)?R.push(V):(u(V!=="object",'The value "object" should be written as "Object"'),O.push(V));if(R.length>0){const V=C.indexOf("object");V!==-1&&(C.splice(C,V,1),R.push("Object"))}if(C.length>0){switch(C.length){case 1:w+=`of type ${C[0]}`;break;case 2:w+=`one of type ${C[0]} or ${C[1]}`;break;default:{const V=C.pop();w+=`one of type ${C.join(", ")}, or ${V}`}}(R.length>0||O.length>0)&&(w+=" or ")}if(R.length>0){switch(R.length){case 1:w+=`an instance of ${R[0]}`;break;case 2:w+=`an instance of ${R[0]} or ${R[1]}`;break;default:{const V=R.pop();w+=`an instance of ${R.join(", ")}, or ${V}`}}O.length>0&&(w+=" or ")}switch(O.length){case 0:break;case 1:O[0].toLowerCase()!==O[0]&&(w+="an "),w+=`${O[0]}`;break;case 2:w+=`one of ${O[0]} or ${O[1]}`;break;default:{const V=O.pop();w+=`one of ${O.join(", ")}, or ${V}`}}if(S==null)w+=`. Received ${S}`;else if(typeof S=="function"&&S.name)w+=`. Received function ${S.name}`;else if(typeof S=="object"){var D;if((D=S.constructor)!==null&&D!==void 0&&D.name)w+=`. Received an instance of ${S.constructor.name}`;else{const V=t(S,{depth:-1});w+=`. Received ${V}`}}else{let V=t(S,{colors:!1});V.length>25&&(V=`${V.slice(0,25)}...`),w+=`. Received type ${typeof S} (${V})`}return w},TypeError),p("ERR_INVALID_ARG_VALUE",(E,v,S="is invalid")=>{let w=t(v);return w.length>128&&(w=w.slice(0,128)+"..."),`The ${E.includes(".")?"property":"argument"} '${E}' ${S}. Received ${w}`},TypeError),p("ERR_INVALID_RETURN_VALUE",(E,v,S)=>{var w;const C=S!=null&&(w=S.constructor)!==null&&w!==void 0&&w.name?`instance of ${S.constructor.name}`:`type ${typeof S}`;return`Expected ${E} to be returned from the "${v}" function but got ${C}.`},TypeError),p("ERR_MISSING_ARGS",(...E)=>{u(E.length>0,"At least one arg needs to be specified");let v;const S=E.length;switch(E=(Array.isArray(E)?E:[E]).map(w=>`"${w}"`).join(" or "),S){case 1:v+=`The ${E[0]} argument`;break;case 2:v+=`The ${E[0]} and ${E[1]} arguments`;break;default:{const w=E.pop();v+=`The ${E.join(", ")}, and ${w} arguments`}break}return`${v} must be specified`},TypeError),p("ERR_OUT_OF_RANGE",(E,v,S)=>{u(v,'Missing "range" argument');let w;if(Number.isInteger(S)&&Math.abs(S)>2**32)w=f(String(S));else if(typeof S=="bigint"){w=String(S);const C=BigInt(2)**BigInt(32);(S>C||S<-C)&&(w=f(w)),w+="n"}else w=t(S);return`The value of "${E}" is out of range. It must be ${v}. Received ${w}`},RangeError),p("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),p("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),p("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),p("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),p("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),p("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),p("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),p("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),p("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),p("ERR_STREAM_WRITE_AFTER_END","write after end",Error),p("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),Ou={AbortError:b,aggregateTwoErrors:g(_),hideStackFrames:g,codes:l},Ou}var ks={exports:{}},$g;function so(){if($g)return ks.exports;$g=1;const{AbortController:e,AbortSignal:t}=typeof self<"u"?self:typeof window<"u"?window:void 0;return ks.exports=e,ks.exports.AbortSignal=t,ks.exports.default=e,ks.exports}var jo={exports:{}},jg;function gs(){if(jg)return jo.exports;jg=1;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(R,O,D){return Function.prototype.apply.call(R,O,D)},r;e&&typeof e.ownKeys=="function"?r=e.ownKeys:Object.getOwnPropertySymbols?r=function(R){return Object.getOwnPropertyNames(R).concat(Object.getOwnPropertySymbols(R))}:r=function(R){return Object.getOwnPropertyNames(R)};function n(C){console&&console.warn&&console.warn(C)}var s=Number.isNaN||function(R){return R!==R};function i(){i.init.call(this)}jo.exports=i,jo.exports.once=v,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function o(C){if(typeof C!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof C)}Object.defineProperty(i,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(C){if(typeof C!="number"||C<0||s(C))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+C+".");a=C}}),i.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},i.prototype.setMaxListeners=function(R){if(typeof R!="number"||R<0||s(R))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+R+".");return this._maxListeners=R,this};function l(C){return C._maxListeners===void 0?i.defaultMaxListeners:C._maxListeners}i.prototype.getMaxListeners=function(){return l(this)},i.prototype.emit=function(R){for(var O=[],D=1;D0&&(G=O[0]),G instanceof Error)throw G;var X=new Error("Unhandled error."+(G?" ("+G.message+")":""));throw X.context=G,X}var L=re[R];if(L===void 0)return!1;if(typeof L=="function")t(L,this,O);else for(var $=L.length,ae=_(L,$),D=0;D<$;++D)t(ae[D],this,O);return!0};function u(C,R,O,D){var V,re,G;if(o(O),re=C._events,re===void 0?(re=C._events=Object.create(null),C._eventsCount=0):(re.newListener!==void 0&&(C.emit("newListener",R,O.listener?O.listener:O),re=C._events),G=re[R]),G===void 0)G=re[R]=O,++C._eventsCount;else if(typeof G=="function"?G=re[R]=D?[O,G]:[G,O]:D?G.unshift(O):G.push(O),V=l(C),V>0&&G.length>V&&!G.warned){G.warned=!0;var X=new Error("Possible EventEmitter memory leak detected. "+G.length+" "+String(R)+" listeners added. Use emitter.setMaxListeners() to increase limit");X.name="MaxListenersExceededWarning",X.emitter=C,X.type=R,X.count=G.length,n(X)}return C}i.prototype.addListener=function(R,O){return u(this,R,O,!1)},i.prototype.on=i.prototype.addListener,i.prototype.prependListener=function(R,O){return u(this,R,O,!0)};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(C,R,O){var D={fired:!1,wrapFn:void 0,target:C,type:R,listener:O},V=f.bind(D);return V.listener=O,D.wrapFn=V,V}i.prototype.once=function(R,O){return o(O),this.on(R,d(this,R,O)),this},i.prototype.prependOnceListener=function(R,O){return o(O),this.prependListener(R,d(this,R,O)),this},i.prototype.removeListener=function(R,O){var D,V,re,G,X;if(o(O),V=this._events,V===void 0)return this;if(D=V[R],D===void 0)return this;if(D===O||D.listener===O)--this._eventsCount===0?this._events=Object.create(null):(delete V[R],V.removeListener&&this.emit("removeListener",R,D.listener||O));else if(typeof D!="function"){for(re=-1,G=D.length-1;G>=0;G--)if(D[G]===O||D[G].listener===O){X=D[G].listener,re=G;break}if(re<0)return this;re===0?D.shift():b(D,re),D.length===1&&(V[R]=D[0]),V.removeListener!==void 0&&this.emit("removeListener",R,X||O)}return this},i.prototype.off=i.prototype.removeListener,i.prototype.removeAllListeners=function(R){var O,D,V;if(D=this._events,D===void 0)return this;if(D.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):D[R]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete D[R]),this;if(arguments.length===0){var re=Object.keys(D),G;for(V=0;V=0;V--)this.removeListener(R,O[V]);return this};function p(C,R,O){var D=C._events;if(D===void 0)return[];var V=D[R];return V===void 0?[]:typeof V=="function"?O?[V.listener||V]:[V]:O?E(V):_(V,V.length)}i.prototype.listeners=function(R){return p(this,R,!0)},i.prototype.rawListeners=function(R){return p(this,R,!1)},i.listenerCount=function(C,R){return typeof C.listenerCount=="function"?C.listenerCount(R):g.call(C,R)},i.prototype.listenerCount=g;function g(C){var R=this._events;if(R!==void 0){var O=R[C];if(typeof O=="function")return 1;if(O!==void 0)return O.length}return 0}i.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function _(C,R){for(var O=new Array(R),D=0;D{if(b!==void 0&&(b===null||typeof b!="object"||!("aborted"in b)))throw new s(E,"AbortSignal",b)},_=(b,E)=>{if(typeof b!="function")throw new s(E,"Function",b)};e.exports={AggregateError:a,kEmptyObject:Object.freeze({}),once(b){let E=!1;return function(...v){E||(E=!0,b.apply(this,v))}},createDeferredPromise:function(){let b,E;return{promise:new Promise((S,w)=>{b=S,E=w}),resolve:b,reject:E}},promisify(b){return new Promise((E,v)=>{b((S,...w)=>S?v(S):E(...w))})},debuglog(){return function(){}},format:r,inspect:n,types:{isAsyncFunction(b){return b instanceof f},isArrayBufferView(b){return ArrayBuffer.isView(b)}},isBlob:p,deprecate(b,E){return b},addAbortListener:gs().addAbortListener||function(E,v){if(E===void 0)throw new s("signal","AbortSignal",E);g(E,"signal"),_(v,"listener");let S;return E.aborted?queueMicrotask(()=>v()):(E.addEventListener("abort",v,{__proto__:null,once:!0,[i]:!0}),S=()=>{E.removeEventListener("abort",v)}),{__proto__:null,[o](){var w;(w=S)===null||w===void 0||w()}}},AbortSignalAny:l.any||function(E){if(E.length===1)return E[0];const v=new u,S=()=>v.abort();return E.forEach(w=>{g(w,"signals"),w.addEventListener("abort",S,{once:!0})}),v.signal.addEventListener("abort",()=>{E.forEach(w=>w.removeEventListener("abort",S))},{once:!0}),v.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}(Cu)),Cu.exports}var Wo={},ku,Hg;function bo(){if(Hg)return ku;Hg=1;const{ArrayIsArray:e,ArrayPrototypeIncludes:t,ArrayPrototypeJoin:r,ArrayPrototypeMap:n,NumberIsInteger:s,NumberIsNaN:i,NumberMAX_SAFE_INTEGER:a,NumberMIN_SAFE_INTEGER:o,NumberParseInt:l,ObjectPrototypeHasOwnProperty:u,RegExpPrototypeExec:f,String:d,StringPrototypeToUpperCase:p,StringPrototypeTrim:g}=nt(),{hideStackFrames:_,codes:{ERR_SOCKET_BAD_PORT:b,ERR_INVALID_ARG_TYPE:E,ERR_INVALID_ARG_VALUE:v,ERR_OUT_OF_RANGE:S,ERR_UNKNOWN_SIGNAL:w}}=Ot(),{normalizeEncoding:C}=Lt(),{isAsyncFunction:R,isArrayBufferView:O}=Lt().types,D={};function V(j){return j===(j|0)}function re(j){return j===j>>>0}const G=/^[0-7]+$/,X="must be a 32-bit unsigned integer or an octal string";function L(j,F,K){if(typeof j>"u"&&(j=K),typeof j=="string"){if(f(G,j)===null)throw new v(F,j,X);j=l(j,8)}return ce(j,F),j}const $=_((j,F,K=o,P=a)=>{if(typeof j!="number")throw new E(F,"number",j);if(!s(j))throw new S(F,"an integer",j);if(jP)throw new S(F,`>= ${K} && <= ${P}`,j)}),ae=_((j,F,K=-2147483648,P=2147483647)=>{if(typeof j!="number")throw new E(F,"number",j);if(!s(j))throw new S(F,"an integer",j);if(jP)throw new S(F,`>= ${K} && <= ${P}`,j)}),ce=_((j,F,K=!1)=>{if(typeof j!="number")throw new E(F,"number",j);if(!s(j))throw new S(F,"an integer",j);const P=K?1:0,J=4294967295;if(jJ)throw new S(F,`>= ${P} && <= ${J}`,j)});function de(j,F){if(typeof j!="string")throw new E(F,"string",j)}function pe(j,F,K=void 0,P){if(typeof j!="number")throw new E(F,"number",j);if(K!=null&&jP||(K!=null||P!=null)&&i(j))throw new S(F,`${K!=null?`>= ${K}`:""}${K!=null&&P!=null?" && ":""}${P!=null?`<= ${P}`:""}`,j)}const z=_((j,F,K)=>{if(!t(K,j)){const J="must be one of: "+r(n(K,le=>typeof le=="string"?`'${le}'`:d(le)),", ");throw new v(F,j,J)}});function ge(j,F){if(typeof j!="boolean")throw new E(F,"boolean",j)}function Y(j,F,K){return j==null||!u(j,F)?K:j[F]}const he=_((j,F,K=null)=>{const P=Y(K,"allowArray",!1),J=Y(K,"allowFunction",!1);if(!Y(K,"nullable",!1)&&j===null||!P&&e(j)||typeof j!="object"&&(!J||typeof j!="function"))throw new E(F,"Object",j)}),N=_((j,F)=>{if(j!=null&&typeof j!="object"&&typeof j!="function")throw new E(F,"a dictionary",j)}),ne=_((j,F,K=0)=>{if(!e(j))throw new E(F,"Array",j);if(j.length{if(!O(j))throw new E(F,["Buffer","TypedArray","DataView"],j)});function W(j,F){const K=C(F),P=j.length;if(K==="hex"&&P%2!==0)throw new v("encoding",F,`is invalid for data of length ${P}`)}function te(j,F="Port",K=!0){if(typeof j!="number"&&typeof j!="string"||typeof j=="string"&&g(j).length===0||+j!==+j>>>0||j>65535||j===0&&!K)throw new b(F,j,K);return j|0}const ee=_((j,F)=>{if(j!==void 0&&(j===null||typeof j!="object"||!("aborted"in j)))throw new E(F,"AbortSignal",j)}),A=_((j,F)=>{if(typeof j!="function")throw new E(F,"Function",j)}),T=_((j,F)=>{if(typeof j!="function"||R(j))throw new E(F,"Function",j)}),M=_((j,F)=>{if(j!==void 0)throw new E(F,"undefined",j)});function I(j,F,K){if(!t(K,j))throw new E(F,`('${r(K,"|")}')`,j)}const B=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function U(j,F){if(typeof j>"u"||!f(B,j))throw new v(F,j,'must be an array or string of format "; rel=preload; as=style"')}function Z(j){if(typeof j=="string")return U(j,"hints"),j;if(e(j)){const F=j.length;let K="";if(F===0)return K;for(let P=0;P; rel=preload; as=style"')}return ku={isInt32:V,isUint32:re,parseFileMode:L,validateArray:ne,validateStringArray:ye,validateBooleanArray:oe,validateAbortSignalArray:Q,validateBoolean:ge,validateBuffer:k,validateDictionary:N,validateEncoding:W,validateFunction:A,validateInt32:ae,validateInteger:$,validateNumber:pe,validateObject:he,validateOneOf:z,validatePlainFunction:T,validatePort:te,validateSignalName:q,validateString:de,validateUint32:ce,validateUndefined:M,validateUnion:I,validateAbortSignal:ee,validateLinkHeaderValue:Z},ku}var Ho={exports:{}},Mu={exports:{}},Vg;function bi(){if(Vg)return Mu.exports;Vg=1;var e=Mu.exports={},t,r;function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?t=setTimeout:t=n}catch{t=n}try{typeof clearTimeout=="function"?r=clearTimeout:r=s}catch{r=s}})();function i(b){if(t===setTimeout)return setTimeout(b,0);if((t===n||!t)&&setTimeout)return t=setTimeout,setTimeout(b,0);try{return t(b,0)}catch{try{return t.call(null,b,0)}catch{return t.call(this,b,0)}}}function a(b){if(r===clearTimeout)return clearTimeout(b);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(b);try{return r(b)}catch{try{return r.call(null,b)}catch{return r.call(this,b)}}}var o=[],l=!1,u,f=-1;function d(){!l||!u||(l=!1,u.length?o=u.concat(o):f=-1,o.length&&p())}function p(){if(!l){var b=i(d);l=!0;for(var E=o.length;E;){for(u=o,o=[];++f1)for(var v=1;v{};function ce(z,ge,Y){var he,N;if(arguments.length===2?(Y=ge,ge=i):ge==null?ge=i:u(ge,"options"),l(Y,"callback"),o(ge.signal,"options.signal"),Y=a(Y),v(z)||O(z))return de(z,ge,Y);if(!re(z))throw new n("stream",["ReadableStream","WritableStream","Stream"],z);const ne=(he=ge.readable)!==null&&he!==void 0?he:E(z),ye=(N=ge.writable)!==null&&N!==void 0?N:R(z),oe=z._writableState,Q=z._readableState,q=()=>{z.writable||te()};let k=G(z)&&E(z)===ne&&R(z)===ye,W=D(z,!1);const te=()=>{W=!0,z.destroyed&&(k=!1),!(k&&(!z.readable||ne))&&(!ne||ee)&&Y.call(z)};let ee=S(z,!1);const A=()=>{ee=!0,z.destroyed&&(k=!1),!(k&&(!z.writable||ye))&&(!ye||W)&&Y.call(z)},T=j=>{Y.call(z,j)};let M=_(z);const I=()=>{M=!0;const j=V(z)||w(z);if(j&&typeof j!="boolean")return Y.call(z,j);if(ne&&!ee&&E(z,!0)&&!S(z,!1))return Y.call(z,new s);if(ye&&!W&&!D(z,!1))return Y.call(z,new s);Y.call(z)},B=()=>{M=!0;const j=V(z)||w(z);if(j&&typeof j!="boolean")return Y.call(z,j);Y.call(z)},U=()=>{z.req.on("finish",te)};$(z)?(z.on("complete",te),k||z.on("abort",I),z.req?U():z.on("request",U)):ye&&!oe&&(z.on("end",q),z.on("close",q)),!k&&typeof z.aborted=="boolean"&&z.on("aborted",I),z.on("end",A),z.on("finish",te),ge.error!==!1&&z.on("error",T),z.on("close",I),M?e.nextTick(I):oe!=null&&oe.errorEmitted||Q!=null&&Q.errorEmitted?k||e.nextTick(B):(!ne&&(!k||b(z))&&(W||C(z)===!1)||!ye&&(!k||C(z))&&(ee||b(z)===!1)||Q&&z.req&&z.aborted)&&e.nextTick(B);const Z=()=>{Y=ae,z.removeListener("aborted",I),z.removeListener("complete",te),z.removeListener("abort",I),z.removeListener("request",U),z.req&&z.req.removeListener("finish",te),z.removeListener("end",q),z.removeListener("close",q),z.removeListener("finish",te),z.removeListener("end",A),z.removeListener("error",T),z.removeListener("close",I)};if(ge.signal&&!M){const j=()=>{const F=Y;Z(),F.call(z,new t(void 0,{cause:ge.signal.reason}))};if(ge.signal.aborted)e.nextTick(j);else{L=L||Lt().addAbortListener;const F=L(ge.signal,j),K=Y;Y=a((...P)=>{F[g](),K.apply(z,P)})}}return Z}function de(z,ge,Y){let he=!1,N=ae;if(ge.signal)if(N=()=>{he=!0,Y.call(z,new t(void 0,{cause:ge.signal.reason}))},ge.signal.aborted)e.nextTick(N);else{L=L||Lt().addAbortListener;const ye=L(ge.signal,N),oe=Y;Y=a((...Q)=>{ye[g](),oe.apply(z,Q)})}const ne=(...ye)=>{he||e.nextTick(()=>Y.apply(z,ye))};return p(z[X].promise,ne,ne),ae}function pe(z,ge){var Y;let he=!1;return ge===null&&(ge=i),(Y=ge)!==null&&Y!==void 0&&Y.cleanup&&(f(ge.cleanup,"cleanup"),he=ge.cleanup),new d((N,ne)=>{const ye=ce(z,ge,oe=>{he&&ye(),oe?ne(oe):N()})})}return Ho.exports=ce,Ho.exports.finished=pe,Ho.exports}var Pu,Yg;function ms(){if(Yg)return Pu;Yg=1;const e=bi(),{aggregateTwoErrors:t,codes:{ERR_MULTIPLE_CALLBACK:r},AbortError:n}=Ot(),{Symbol:s}=nt(),{kIsDestroyed:i,isDestroyed:a,isFinished:o,isServerRequest:l}=ln(),u=s("kDestroy"),f=s("kConstruct");function d(G,X,L){G&&(G.stack,X&&!X.errored&&(X.errored=G),L&&!L.errored&&(L.errored=G))}function p(G,X){const L=this._readableState,$=this._writableState,ae=$||L;return $!=null&&$.destroyed||L!=null&&L.destroyed?(typeof X=="function"&&X(),this):(d(G,$,L),$&&($.destroyed=!0),L&&(L.destroyed=!0),ae.constructed?g(this,G,X):this.once(u,function(ce){g(this,t(ce,G),X)}),this)}function g(G,X,L){let $=!1;function ae(ce){if($)return;$=!0;const de=G._readableState,pe=G._writableState;d(ce,pe,de),pe&&(pe.closed=!0),de&&(de.closed=!0),typeof L=="function"&&L(ce),ce?e.nextTick(_,G,ce):e.nextTick(b,G)}try{G._destroy(X||null,ae)}catch(ce){ae(ce)}}function _(G,X){E(G,X),b(G)}function b(G){const X=G._readableState,L=G._writableState;L&&(L.closeEmitted=!0),X&&(X.closeEmitted=!0),(L!=null&&L.emitClose||X!=null&&X.emitClose)&&G.emit("close")}function E(G,X){const L=G._readableState,$=G._writableState;$!=null&&$.errorEmitted||L!=null&&L.errorEmitted||($&&($.errorEmitted=!0),L&&(L.errorEmitted=!0),G.emit("error",X))}function v(){const G=this._readableState,X=this._writableState;G&&(G.constructed=!0,G.closed=!1,G.closeEmitted=!1,G.destroyed=!1,G.errored=null,G.errorEmitted=!1,G.reading=!1,G.ended=G.readable===!1,G.endEmitted=G.readable===!1),X&&(X.constructed=!0,X.destroyed=!1,X.closed=!1,X.closeEmitted=!1,X.errored=null,X.errorEmitted=!1,X.finalCalled=!1,X.prefinished=!1,X.ended=X.writable===!1,X.ending=X.writable===!1,X.finished=X.writable===!1)}function S(G,X,L){const $=G._readableState,ae=G._writableState;if(ae!=null&&ae.destroyed||$!=null&&$.destroyed)return this;$!=null&&$.autoDestroy||ae!=null&&ae.autoDestroy?G.destroy(X):X&&(X.stack,ae&&!ae.errored&&(ae.errored=X),$&&!$.errored&&($.errored=X),L?e.nextTick(E,G,X):E(G,X))}function w(G,X){if(typeof G._construct!="function")return;const L=G._readableState,$=G._writableState;L&&(L.constructed=!1),$&&($.constructed=!1),G.once(f,X),!(G.listenerCount(f)>1)&&e.nextTick(C,G)}function C(G){let X=!1;function L($){if(X){S(G,$??new r);return}X=!0;const ae=G._readableState,ce=G._writableState,de=ce||ae;ae&&(ae.constructed=!0),ce&&(ce.constructed=!0),de.destroyed?G.emit(u,$):$?S(G,$,!0):e.nextTick(R,G)}try{G._construct($=>{e.nextTick(L,$)})}catch($){e.nextTick(L,$)}}function R(G){G.emit(f)}function O(G){return(G==null?void 0:G.setHeader)&&typeof G.abort=="function"}function D(G){G.emit("close")}function V(G,X){G.emit("error",X),e.nextTick(D,G)}function re(G,X){!G||a(G)||(!X&&!o(G)&&(X=new n),l(G)?(G.socket=null,G.destroy(X)):O(G)?G.abort():O(G.req)?G.req.abort():typeof G.destroy=="function"?G.destroy(X):typeof G.close=="function"?G.close():X?e.nextTick(V,G,X):e.nextTick(D,G),G.destroyed||(G[i]=!0))}return Pu={construct:w,destroyer:re,destroy:p,undestroy:v,errorOrDestroy:S},Pu}var Lu,zg;function hd(){if(zg)return Lu;zg=1;const{ArrayIsArray:e,ObjectSetPrototypeOf:t}=nt(),{EventEmitter:r}=gs();function n(i){r.call(this,i)}t(n.prototype,r.prototype),t(n,r),n.prototype.pipe=function(i,a){const o=this;function l(b){i.writable&&i.write(b)===!1&&o.pause&&o.pause()}o.on("data",l);function u(){o.readable&&o.resume&&o.resume()}i.on("drain",u),!i._isStdio&&(!a||a.end!==!1)&&(o.on("end",d),o.on("close",p));let f=!1;function d(){f||(f=!0,i.end())}function p(){f||(f=!0,typeof i.destroy=="function"&&i.destroy())}function g(b){_(),r.listenerCount(this,"error")===0&&this.emit("error",b)}s(o,"error",g),s(i,"error",g);function _(){o.removeListener("data",l),i.removeListener("drain",u),o.removeListener("end",d),o.removeListener("close",p),o.removeListener("error",g),i.removeListener("error",g),o.removeListener("end",_),o.removeListener("close",_),i.removeListener("close",_)}return o.on("end",_),o.on("close",_),i.on("close",_),i.emit("pipe",o),i};function s(i,a,o){if(typeof i.prependListener=="function")return i.prependListener(a,o);!i._events||!i._events[a]?i.on(a,o):e(i._events[a])?i._events[a].unshift(o):i._events[a]=[o,i._events[a]]}return Lu={Stream:n,prependListener:s},Lu}var Bu={exports:{}},Gg;function Al(){return Gg||(Gg=1,function(e){const{SymbolDispose:t}=nt(),{AbortError:r,codes:n}=Ot(),{isNodeStream:s,isWebStream:i,kControllerErrorFunction:a}=ln(),o=On(),{ERR_INVALID_ARG_TYPE:l}=n;let u;const f=(d,p)=>{if(typeof d!="object"||!("aborted"in d))throw new l(p,"AbortSignal",d)};e.exports.addAbortSignal=function(p,g){if(f(p,"signal"),!s(g)&&!i(g))throw new l("stream",["ReadableStream","WritableStream","Stream"],g);return e.exports.addAbortSignalNoValidate(p,g)},e.exports.addAbortSignalNoValidate=function(d,p){if(typeof d!="object"||!("aborted"in d))return p;const g=s(p)?()=>{p.destroy(new r(void 0,{cause:d.reason}))}:()=>{p[a](new r(void 0,{cause:d.reason}))};if(d.aborted)g();else{u=u||Lt().addAbortListener;const _=u(d,g);o(p,_[t])}return p}}(Bu)),Bu.exports}var Du,Qg;function OR(){if(Qg)return Du;Qg=1;const{StringPrototypeSlice:e,SymbolIterator:t,TypedArrayPrototypeSet:r,Uint8Array:n}=nt(),{Buffer:s}=Yt(),{inspect:i}=Lt();return Du=class{constructor(){this.head=null,this.tail=null,this.length=0}push(o){const l={data:o,next:null};this.length>0?this.tail.next=l:this.head=l,this.tail=l,++this.length}unshift(o){const l={data:o,next:this.head};this.length===0&&(this.tail=l),this.head=l,++this.length}shift(){if(this.length===0)return;const o=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,o}clear(){this.head=this.tail=null,this.length=0}join(o){if(this.length===0)return"";let l=this.head,u=""+l.data;for(;(l=l.next)!==null;)u+=o+l.data;return u}concat(o){if(this.length===0)return s.alloc(0);const l=s.allocUnsafe(o>>>0);let u=this.head,f=0;for(;u;)r(l,u.data,f),f+=u.data.length,u=u.next;return l}consume(o,l){const u=this.head.data;if(od.length)l+=d,o-=d.length;else{o===d.length?(l+=d,++f,u.next?this.head=u.next:this.head=this.tail=null):(l+=e(d,0,o),this.head=u,u.data=e(d,o));break}++f}while((u=u.next)!==null);return this.length-=f,l}_getBuffer(o){const l=s.allocUnsafe(o),u=o;let f=this.head,d=0;do{const p=f.data;if(o>p.length)r(l,p,u-o),o-=p.length;else{o===p.length?(r(l,p,u-o),++d,f.next?this.head=f.next:this.head=this.tail=null):(r(l,new n(p.buffer,p.byteOffset,o),u-o),this.head=f,f.data=p.slice(o));break}++d}while((f=f.next)!==null);return this.length-=d,l}[Symbol.for("nodejs.util.inspect.custom")](o,l){return i(this,{...l,depth:0,customInspect:!1})}},Du}var Uu,Xg;function Tl(){if(Xg)return Uu;Xg=1;const{MathFloor:e,NumberIsInteger:t}=nt(),{validateInteger:r}=bo(),{ERR_INVALID_ARG_VALUE:n}=Ot().codes;let s=16*1024,i=16;function a(f,d,p){return f.highWaterMark!=null?f.highWaterMark:d?f[p]:null}function o(f){return f?i:s}function l(f,d){r(d,"value",0),f?i=d:s=d}function u(f,d,p,g){const _=a(d,g,p);if(_!=null){if(!t(_)||_<0){const b=g?`options.${p}`:"options.highWaterMark";throw new n(b,_)}return e(_)}return o(f.objectMode)}return Uu={getHighWaterMark:u,getDefaultHighWaterMark:o,setDefaultHighWaterMark:l},Uu}var Fu={},Vo={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh */var Jg;function kR(){return Jg||(Jg=1,function(e,t){var r=Yt(),n=r.Buffer;function s(a,o){for(var l in a)o[l]=a[l]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(s(r,t),t.Buffer=i);function i(a,o,l){return n(a,o,l)}i.prototype=Object.create(n.prototype),s(n,i),i.from=function(a,o,l){if(typeof a=="number")throw new TypeError("Argument must not be a number");return n(a,o,l)},i.alloc=function(a,o,l){if(typeof a!="number")throw new TypeError("Argument must be a number");var u=n(a);return o!==void 0?typeof l=="string"?u.fill(o,l):u.fill(o):u.fill(0),u},i.allocUnsafe=function(a){if(typeof a!="number")throw new TypeError("Argument must be a number");return n(a)},i.allocUnsafeSlow=function(a){if(typeof a!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(a)}}(Vo,Vo.exports)),Vo.exports}var Zg;function MR(){if(Zg)return Fu;Zg=1;var e=kR().Buffer,t=e.isEncoding||function(v){switch(v=""+v,v&&v.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(v){if(!v)return"utf8";for(var S;;)switch(v){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return v;default:if(S)return;v=(""+v).toLowerCase(),S=!0}}function n(v){var S=r(v);if(typeof S!="string"&&(e.isEncoding===t||!t(v)))throw new Error("Unknown encoding: "+v);return S||v}Fu.StringDecoder=s;function s(v){this.encoding=n(v);var S;switch(this.encoding){case"utf16le":this.text=d,this.end=p,S=4;break;case"utf8":this.fillLast=l,S=4;break;case"base64":this.text=g,this.end=_,S=3;break;default:this.write=b,this.end=E;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(S)}s.prototype.write=function(v){if(v.length===0)return"";var S,w;if(this.lastNeed){if(S=this.fillLast(v),S===void 0)return"";w=this.lastNeed,this.lastNeed=0}else w=0;return w>5===6?2:v>>4===14?3:v>>3===30?4:v>>6===2?-1:-2}function a(v,S,w){var C=S.length-1;if(C=0?(R>0&&(v.lastNeed=R-1),R):--C=0?(R>0&&(v.lastNeed=R-2),R):--C=0?(R>0&&(R===2?R=0:v.lastNeed=R-3),R):0))}function o(v,S,w){if((S[0]&192)!==128)return v.lastNeed=0,"�";if(v.lastNeed>1&&S.length>1){if((S[1]&192)!==128)return v.lastNeed=1,"�";if(v.lastNeed>2&&S.length>2&&(S[2]&192)!==128)return v.lastNeed=2,"�"}}function l(v){var S=this.lastTotal-this.lastNeed,w=o(this,v);if(w!==void 0)return w;if(this.lastNeed<=v.length)return v.copy(this.lastChar,S,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);v.copy(this.lastChar,S,0,v.length),this.lastNeed-=v.length}function u(v,S){var w=a(this,v,S);if(!this.lastNeed)return v.toString("utf8",S);this.lastTotal=w;var C=v.length-(w-this.lastNeed);return v.copy(this.lastChar,0,C),v.toString("utf8",S,C)}function f(v){var S=v&&v.length?this.write(v):"";return this.lastNeed?S+"�":S}function d(v,S){if((v.length-S)%2===0){var w=v.toString("utf16le",S);if(w){var C=w.charCodeAt(w.length-1);if(C>=55296&&C<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1],w.slice(0,-1)}return w}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=v[v.length-1],v.toString("utf16le",S,v.length-1)}function p(v){var S=v&&v.length?this.write(v):"";if(this.lastNeed){var w=this.lastTotal-this.lastNeed;return S+this.lastChar.toString("utf16le",0,w)}return S}function g(v,S){var w=(v.length-S)%3;return w===0?v.toString("base64",S):(this.lastNeed=3-w,this.lastTotal=3,w===1?this.lastChar[0]=v[v.length-1]:(this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1]),v.toString("base64",S,v.length-w))}function _(v){var S=v&&v.length?this.write(v):"";return this.lastNeed?S+this.lastChar.toString("base64",0,3-this.lastNeed):S}function b(v){return v.toString(this.encoding)}function E(v){return v&&v.length?this.write(v):""}return Fu}var $u,em;function u0(){if(em)return $u;em=1;const e=bi(),{PromisePrototypeThen:t,SymbolAsyncIterator:r,SymbolIterator:n}=nt(),{Buffer:s}=Yt(),{ERR_INVALID_ARG_TYPE:i,ERR_STREAM_NULL_VALUES:a}=Ot().codes;function o(l,u,f){let d;if(typeof u=="string"||u instanceof s)return new l({objectMode:!0,...f,read(){this.push(u),this.push(null)}});let p;if(u&&u[r])p=!0,d=u[r]();else if(u&&u[n])p=!1,d=u[n]();else throw new i("iterable",["Iterable"],u);const g=new l({objectMode:!0,highWaterMark:1,...f});let _=!1;g._read=function(){_||(_=!0,E())},g._destroy=function(v,S){t(b(v),()=>e.nextTick(S,v),w=>e.nextTick(S,w||v))};async function b(v){const S=v!=null,w=typeof d.throw=="function";if(S&&w){const{value:C,done:R}=await d.throw(v);if(await C,R)return}if(typeof d.return=="function"){const{value:C}=await d.return();await C}}async function E(){for(;;){try{const{value:v,done:S}=p?await d.next():d.next();if(S)g.push(null);else{const w=v&&typeof v.then=="function"?await v:v;if(w===null)throw _=!1,new a;if(g.push(w))continue;_=!1}}catch(v){g.destroy(v)}break}}return g}return $u=o,$u}var ju,tm;function xl(){if(tm)return ju;tm=1;const e=bi(),{ArrayPrototypeIndexOf:t,NumberIsInteger:r,NumberIsNaN:n,NumberParseInt:s,ObjectDefineProperties:i,ObjectKeys:a,ObjectSetPrototypeOf:o,Promise:l,SafeSet:u,SymbolAsyncDispose:f,SymbolAsyncIterator:d,Symbol:p}=nt();ju=P,P.ReadableState=K;const{EventEmitter:g}=gs(),{Stream:_,prependListener:b}=hd(),{Buffer:E}=Yt(),{addAbortSignal:v}=Al(),S=On();let w=Lt().debuglog("stream",ie=>{w=ie});const C=OR(),R=ms(),{getHighWaterMark:O,getDefaultHighWaterMark:D}=Tl(),{aggregateTwoErrors:V,codes:{ERR_INVALID_ARG_TYPE:re,ERR_METHOD_NOT_IMPLEMENTED:G,ERR_OUT_OF_RANGE:X,ERR_STREAM_PUSH_AFTER_EOF:L,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:$},AbortError:ae}=Ot(),{validateObject:ce}=bo(),de=p("kPaused"),{StringDecoder:pe}=MR(),z=u0();o(P.prototype,_.prototype),o(P,_);const ge=()=>{},{errorOrDestroy:Y}=R,he=1,N=2,ne=4,ye=8,oe=16,Q=32,q=64,k=128,W=256,te=512,ee=1024,A=2048,T=4096,M=8192,I=16384,B=32768,U=65536,Z=1<<17,j=1<<18;function F(ie){return{enumerable:!1,get(){return(this.state&ie)!==0},set(ue){ue?this.state|=ie:this.state&=~ie}}}i(K.prototype,{objectMode:F(he),ended:F(N),endEmitted:F(ne),reading:F(ye),constructed:F(oe),sync:F(Q),needReadable:F(q),emittedReadable:F(k),readableListening:F(W),resumeScheduled:F(te),errorEmitted:F(ee),emitClose:F(A),autoDestroy:F(T),destroyed:F(M),closed:F(I),closeEmitted:F(B),multiAwaitDrain:F(U),readingMore:F(Z),dataEmitted:F(j)});function K(ie,ue,Ie){typeof Ie!="boolean"&&(Ie=ue instanceof Jr()),this.state=A|T|oe|Q,ie&&ie.objectMode&&(this.state|=he),Ie&&ie&&ie.readableObjectMode&&(this.state|=he),this.highWaterMark=ie?O(this,ie,"readableHighWaterMark",Ie):D(!1),this.buffer=new C,this.length=0,this.pipes=[],this.flowing=null,this[de]=null,ie&&ie.emitClose===!1&&(this.state&=-2049),ie&&ie.autoDestroy===!1&&(this.state&=-4097),this.errored=null,this.defaultEncoding=ie&&ie.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,ie&&ie.encoding&&(this.decoder=new pe(ie.encoding),this.encoding=ie.encoding)}function P(ie){if(!(this instanceof P))return new P(ie);const ue=this instanceof Jr();this._readableState=new K(ie,this,ue),ie&&(typeof ie.read=="function"&&(this._read=ie.read),typeof ie.destroy=="function"&&(this._destroy=ie.destroy),typeof ie.construct=="function"&&(this._construct=ie.construct),ie.signal&&!ue&&v(ie.signal,this)),_.call(this,ie),R.construct(this,()=>{this._readableState.needReadable&&H(this,this._readableState)})}P.prototype.destroy=R.destroy,P.prototype._undestroy=R.undestroy,P.prototype._destroy=function(ie,ue){ue(ie)},P.prototype[g.captureRejectionSymbol]=function(ie){this.destroy(ie)},P.prototype[f]=function(){let ie;return this.destroyed||(ie=this.readableEnded?null:new ae,this.destroy(ie)),new l((ue,Ie)=>S(this,Ce=>Ce&&Ce!==ie?Ie(Ce):ue(null)))},P.prototype.push=function(ie,ue){return J(this,ie,ue,!1)},P.prototype.unshift=function(ie,ue){return J(this,ie,ue,!0)};function J(ie,ue,Ie,Ce){w("readableAddChunk",ue);const Me=ie._readableState;let yt;if(Me.state&he||(typeof ue=="string"?(Ie=Ie||Me.defaultEncoding,Me.encoding!==Ie&&(Ce&&Me.encoding?ue=E.from(ue,Ie).toString(Me.encoding):(ue=E.from(ue,Ie),Ie=""))):ue instanceof E?Ie="":_._isUint8Array(ue)?(ue=_._uint8ArrayToBuffer(ue),Ie=""):ue!=null&&(yt=new re("chunk",["string","Buffer","Uint8Array"],ue))),yt)Y(ie,yt);else if(ue===null)Me.state&=-9,c(ie,Me);else if(Me.state&he||ue&&ue.length>0)if(Ce)if(Me.state&ne)Y(ie,new $);else{if(Me.destroyed||Me.errored)return!1;le(ie,Me,ue,!0)}else if(Me.ended)Y(ie,new L);else{if(Me.destroyed||Me.errored)return!1;Me.state&=-9,Me.decoder&&!Ie?(ue=Me.decoder.write(ue),Me.objectMode||ue.length!==0?le(ie,Me,ue,!1):H(ie,Me)):le(ie,Me,ue,!1)}else Ce||(Me.state&=-9,H(ie,Me));return!Me.ended&&(Me.length0?(ue.state&U?ue.awaitDrainWriters.clear():ue.awaitDrainWriters=null,ue.dataEmitted=!0,ie.emit("data",Ie)):(ue.length+=ue.objectMode?1:Ie.length,Ce?ue.buffer.unshift(Ie):ue.buffer.push(Ie),ue.state&q&&m(ie)),H(ie,ue)}P.prototype.isPaused=function(){const ie=this._readableState;return ie[de]===!0||ie.flowing===!1},P.prototype.setEncoding=function(ie){const ue=new pe(ie);this._readableState.decoder=ue,this._readableState.encoding=this._readableState.decoder.encoding;const Ie=this._readableState.buffer;let Ce="";for(const Me of Ie)Ce+=ue.write(Me);return Ie.clear(),Ce!==""&&Ie.push(Ce),this._readableState.length=Ce.length,this};const me=1073741824;function y(ie){if(ie>me)throw new X("size","<= 1GiB",ie);return ie--,ie|=ie>>>1,ie|=ie>>>2,ie|=ie>>>4,ie|=ie>>>8,ie|=ie>>>16,ie++,ie}function h(ie,ue){return ie<=0||ue.length===0&&ue.ended?0:ue.state&he?1:n(ie)?ue.flowing&&ue.length?ue.buffer.first().length:ue.length:ie<=ue.length?ie:ue.ended?ue.length:0}P.prototype.read=function(ie){w("read",ie),ie===void 0?ie=NaN:r(ie)||(ie=s(ie,10));const ue=this._readableState,Ie=ie;if(ie>ue.highWaterMark&&(ue.highWaterMark=y(ie)),ie!==0&&(ue.state&=-129),ie===0&&ue.needReadable&&((ue.highWaterMark!==0?ue.length>=ue.highWaterMark:ue.length>0)||ue.ended))return w("read: emitReadable",ue.length,ue.ended),ue.length===0&&ue.ended?st(this):m(this),null;if(ie=h(ie,ue),ie===0&&ue.ended)return ue.length===0&&st(this),null;let Ce=(ue.state&q)!==0;if(w("need readable",Ce),(ue.length===0||ue.length-ie0?Me=Xe(ie,ue):Me=null,Me===null?(ue.needReadable=ue.length<=ue.highWaterMark,ie=0):(ue.length-=ie,ue.multiAwaitDrain?ue.awaitDrainWriters.clear():ue.awaitDrainWriters=null),ue.length===0&&(ue.ended||(ue.needReadable=!0),Ie!==ie&&ue.ended&&st(this)),Me!==null&&!ue.errorEmitted&&!ue.closeEmitted&&(ue.dataEmitted=!0,this.emit("data",Me)),Me};function c(ie,ue){if(w("onEofChunk"),!ue.ended){if(ue.decoder){const Ie=ue.decoder.end();Ie&&Ie.length&&(ue.buffer.push(Ie),ue.length+=ue.objectMode?1:Ie.length)}ue.ended=!0,ue.sync?m(ie):(ue.needReadable=!1,ue.emittedReadable=!0,x(ie))}}function m(ie){const ue=ie._readableState;w("emitReadable",ue.needReadable,ue.emittedReadable),ue.needReadable=!1,ue.emittedReadable||(w("emitReadable",ue.flowing),ue.emittedReadable=!0,e.nextTick(x,ie))}function x(ie){const ue=ie._readableState;w("emitReadable_",ue.destroyed,ue.length,ue.ended),!ue.destroyed&&!ue.errored&&(ue.length||ue.ended)&&(ie.emit("readable"),ue.emittedReadable=!1),ue.needReadable=!ue.flowing&&!ue.ended&&ue.length<=ue.highWaterMark,Oe(ie)}function H(ie,ue){!ue.readingMore&&ue.constructed&&(ue.readingMore=!0,e.nextTick(se,ie,ue))}function se(ie,ue){for(;!ue.reading&&!ue.ended&&(ue.length1&&Ce.pipes.includes(ie)&&(w("false write response, pause",Ce.awaitDrainWriters.size),Ce.awaitDrainWriters.add(ie)),Ie.pause()),kn||(kn=_e(Ie,ie),ie.on("drain",kn))}Ie.on("data",Pd);function Pd(Mn){w("ondata");const Rr=ie.write(Mn);w("dest.write",Rr),Rr===!1&&Nd()}function Pl(Mn){if(w("onerror",Mn),_s(),ie.removeListener("error",Pl),ie.listenerCount("error")===0){const Rr=ie._writableState||ie._readableState;Rr&&!Rr.errorEmitted?Y(ie,Mn):ie.emit("error",Mn)}}b(ie,"error",Pl);function Ll(){ie.removeListener("finish",Bl),_s()}ie.once("close",Ll);function Bl(){w("onfinish"),ie.removeListener("close",Ll),_s()}ie.once("finish",Bl);function _s(){w("unpipe"),Ie.unpipe(ie)}return ie.emit("pipe",Ie),ie.writableNeedDrain===!0?Nd():Ce.flowing||(w("pipe resume"),Ie.resume()),ie};function _e(ie,ue){return function(){const Ce=ie._readableState;Ce.awaitDrainWriters===ue?(w("pipeOnDrain",1),Ce.awaitDrainWriters=null):Ce.multiAwaitDrain&&(w("pipeOnDrain",Ce.awaitDrainWriters.size),Ce.awaitDrainWriters.delete(ue)),(!Ce.awaitDrainWriters||Ce.awaitDrainWriters.size===0)&&ie.listenerCount("data")&&ie.resume()}}P.prototype.unpipe=function(ie){const ue=this._readableState,Ie={hasUnpiped:!1};if(ue.pipes.length===0)return this;if(!ie){const Me=ue.pipes;ue.pipes=[],this.pause();for(let yt=0;yt0,Ce.flowing!==!1&&this.resume()):ie==="readable"&&!Ce.endEmitted&&!Ce.readableListening&&(Ce.readableListening=Ce.needReadable=!0,Ce.flowing=!1,Ce.emittedReadable=!1,w("on readable",Ce.length,Ce.reading),Ce.length?m(this):Ce.reading||e.nextTick(Re,this)),Ie},P.prototype.addListener=P.prototype.on,P.prototype.removeListener=function(ie,ue){const Ie=_.prototype.removeListener.call(this,ie,ue);return ie==="readable"&&e.nextTick(xe,this),Ie},P.prototype.off=P.prototype.removeListener,P.prototype.removeAllListeners=function(ie){const ue=_.prototype.removeAllListeners.apply(this,arguments);return(ie==="readable"||ie===void 0)&&e.nextTick(xe,this),ue};function xe(ie){const ue=ie._readableState;ue.readableListening=ie.listenerCount("readable")>0,ue.resumeScheduled&&ue[de]===!1?ue.flowing=!0:ie.listenerCount("data")>0?ie.resume():ue.readableListening||(ue.flowing=null)}function Re(ie){w("readable nexttick read 0"),ie.read(0)}P.prototype.resume=function(){const ie=this._readableState;return ie.flowing||(w("resume"),ie.flowing=!ie.readableListening,Te(this,ie)),ie[de]=!1,this};function Te(ie,ue){ue.resumeScheduled||(ue.resumeScheduled=!0,e.nextTick(ke,ie,ue))}function ke(ie,ue){w("resume",ue.reading),ue.reading||ie.read(0),ue.resumeScheduled=!1,ie.emit("resume"),Oe(ie),ue.flowing&&!ue.reading&&ie.read(0)}P.prototype.pause=function(){return w("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(w("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[de]=!0,this};function Oe(ie){const ue=ie._readableState;for(w("flow",ue.flowing);ue.flowing&&ie.read()!==null;);}P.prototype.wrap=function(ie){let ue=!1;ie.on("data",Ce=>{!this.push(Ce)&&ie.pause&&(ue=!0,ie.pause())}),ie.on("end",()=>{this.push(null)}),ie.on("error",Ce=>{Y(this,Ce)}),ie.on("close",()=>{this.destroy()}),ie.on("destroy",()=>{this.destroy()}),this._read=()=>{ue&&ie.resume&&(ue=!1,ie.resume())};const Ie=a(ie);for(let Ce=1;Ce{Me=zt?V(Me,zt):null,Ie(),Ie=ge});try{for(;;){const zt=ie.destroyed?null:ie.read();if(zt!==null)yield zt;else{if(Me)throw Me;if(Me===null)return;await new l(Ce)}}}catch(zt){throw Me=V(Me,zt),Me}finally{(Me||(ue==null?void 0:ue.destroyOnReturn)!==!1)&&(Me===void 0||ie._readableState.autoDestroy)?R.destroyer(ie,null):(ie.off("readable",Ce),yt())}}i(P.prototype,{readable:{__proto__:null,get(){const ie=this._readableState;return!!ie&&ie.readable!==!1&&!ie.destroyed&&!ie.errorEmitted&&!ie.endEmitted},set(ie){this._readableState&&(this._readableState.readable=!!ie)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(ie){this._readableState&&(this._readableState.flowing=ie)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(ie){this._readableState&&(this._readableState.destroyed=ie)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),i(K.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[de]!==!1},set(ie){this[de]=!!ie}}}),P._fromList=Xe;function Xe(ie,ue){if(ue.length===0)return null;let Ie;return ue.objectMode?Ie=ue.buffer.shift():!ie||ie>=ue.length?(ue.decoder?Ie=ue.buffer.join(""):ue.buffer.length===1?Ie=ue.buffer.first():Ie=ue.buffer.concat(ue.length),ue.buffer.clear()):Ie=ue.buffer.consume(ie,ue.decoder),Ie}function st(ie){const ue=ie._readableState;w("endReadable",ue.endEmitted),ue.endEmitted||(ue.ended=!0,e.nextTick(dt,ue,ie))}function dt(ie,ue){if(w("endReadableNT",ie.endEmitted,ie.length),!ie.errored&&!ie.closeEmitted&&!ie.endEmitted&&ie.length===0){if(ie.endEmitted=!0,ue.emit("end"),ue.writable&&ue.allowHalfOpen===!1)e.nextTick(at,ue);else if(ie.autoDestroy){const Ie=ue._writableState;(!Ie||Ie.autoDestroy&&(Ie.finished||Ie.writable===!1))&&ue.destroy()}}}function at(ie){ie.writable&&!ie.writableEnded&&!ie.destroyed&&ie.end()}P.from=function(ie,ue){return z(P,ie,ue)};let Si;function ys(){return Si===void 0&&(Si={}),Si}return P.fromWeb=function(ie,ue){return ys().newStreamReadableFromReadableStream(ie,ue)},P.toWeb=function(ie,ue){return ys().newReadableStreamFromStreamReadable(ie,ue)},P.wrap=function(ie,ue){var Ie,Ce;return new P({objectMode:(Ie=(Ce=ie.readableObjectMode)!==null&&Ce!==void 0?Ce:ie.objectMode)!==null&&Ie!==void 0?Ie:!0,...ue,destroy(Me,yt){R.destroyer(ie,Me),yt(Me)}}).wrap(ie)},ju}var Wu,rm;function dd(){if(rm)return Wu;rm=1;const e=bi(),{ArrayPrototypeSlice:t,Error:r,FunctionPrototypeSymbolHasInstance:n,ObjectDefineProperty:s,ObjectDefineProperties:i,ObjectSetPrototypeOf:a,StringPrototypeToLowerCase:o,Symbol:l,SymbolHasInstance:u}=nt();Wu=ce,ce.WritableState=$;const{EventEmitter:f}=gs(),d=hd().Stream,{Buffer:p}=Yt(),g=ms(),{addAbortSignal:_}=Al(),{getHighWaterMark:b,getDefaultHighWaterMark:E}=Tl(),{ERR_INVALID_ARG_TYPE:v,ERR_METHOD_NOT_IMPLEMENTED:S,ERR_MULTIPLE_CALLBACK:w,ERR_STREAM_CANNOT_PIPE:C,ERR_STREAM_DESTROYED:R,ERR_STREAM_ALREADY_FINISHED:O,ERR_STREAM_NULL_VALUES:D,ERR_STREAM_WRITE_AFTER_END:V,ERR_UNKNOWN_ENCODING:re}=Ot().codes,{errorOrDestroy:G}=g;a(ce.prototype,d.prototype),a(ce,d);function X(){}const L=l("kOnFinished");function $(T,M,I){typeof I!="boolean"&&(I=M instanceof Jr()),this.objectMode=!!(T&&T.objectMode),I&&(this.objectMode=this.objectMode||!!(T&&T.writableObjectMode)),this.highWaterMark=T?b(this,T,"writableHighWaterMark",I):E(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const B=!!(T&&T.decodeStrings===!1);this.decodeStrings=!B,this.defaultEncoding=T&&T.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=Y.bind(void 0,M),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,ae(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!T||T.emitClose!==!1,this.autoDestroy=!T||T.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[L]=[]}function ae(T){T.buffered=[],T.bufferedIndex=0,T.allBuffers=!0,T.allNoop=!0}$.prototype.getBuffer=function(){return t(this.buffered,this.bufferedIndex)},s($.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function ce(T){const M=this instanceof Jr();if(!M&&!n(ce,this))return new ce(T);this._writableState=new $(T,this,M),T&&(typeof T.write=="function"&&(this._write=T.write),typeof T.writev=="function"&&(this._writev=T.writev),typeof T.destroy=="function"&&(this._destroy=T.destroy),typeof T.final=="function"&&(this._final=T.final),typeof T.construct=="function"&&(this._construct=T.construct),T.signal&&_(T.signal,this)),d.call(this,T),g.construct(this,()=>{const I=this._writableState;I.writing||ye(this,I),k(this,I)})}s(ce,u,{__proto__:null,value:function(T){return n(this,T)?!0:this!==ce?!1:T&&T._writableState instanceof $}}),ce.prototype.pipe=function(){G(this,new C)};function de(T,M,I,B){const U=T._writableState;if(typeof I=="function")B=I,I=U.defaultEncoding;else{if(!I)I=U.defaultEncoding;else if(I!=="buffer"&&!p.isEncoding(I))throw new re(I);typeof B!="function"&&(B=X)}if(M===null)throw new D;if(!U.objectMode)if(typeof M=="string")U.decodeStrings!==!1&&(M=p.from(M,I),I="buffer");else if(M instanceof p)I="buffer";else if(d._isUint8Array(M))M=d._uint8ArrayToBuffer(M),I="buffer";else throw new v("chunk",["string","Buffer","Uint8Array"],M);let Z;return U.ending?Z=new V:U.destroyed&&(Z=new R("write")),Z?(e.nextTick(B,Z),G(T,Z,!0),Z):(U.pendingcb++,pe(T,U,M,I,B))}ce.prototype.write=function(T,M,I){return de(this,T,M,I)===!0},ce.prototype.cork=function(){this._writableState.corked++},ce.prototype.uncork=function(){const T=this._writableState;T.corked&&(T.corked--,T.writing||ye(this,T))},ce.prototype.setDefaultEncoding=function(M){if(typeof M=="string"&&(M=o(M)),!p.isEncoding(M))throw new re(M);return this._writableState.defaultEncoding=M,this};function pe(T,M,I,B,U){const Z=M.objectMode?1:I.length;M.length+=Z;const j=M.lengthI.bufferedIndex&&ye(T,I),B?I.afterWriteTickInfo!==null&&I.afterWriteTickInfo.cb===U?I.afterWriteTickInfo.count++:(I.afterWriteTickInfo={count:1,cb:U,stream:T,state:I},e.nextTick(he,I.afterWriteTickInfo)):N(T,I,1,U))}function he({stream:T,state:M,count:I,cb:B}){return M.afterWriteTickInfo=null,N(T,M,I,B)}function N(T,M,I,B){for(!M.ending&&!T.destroyed&&M.length===0&&M.needDrain&&(M.needDrain=!1,T.emit("drain"));I-- >0;)M.pendingcb--,B();M.destroyed&&ne(M),k(T,M)}function ne(T){if(T.writing)return;for(let U=T.bufferedIndex;U1&&T._writev){M.pendingcb-=Z-1;const F=M.allNoop?X:P=>{for(let J=j;J256?(I.splice(0,j),M.bufferedIndex=0):M.bufferedIndex=j}M.bufferProcessing=!1}ce.prototype._write=function(T,M,I){if(this._writev)this._writev([{chunk:T,encoding:M}],I);else throw new S("_write()")},ce.prototype._writev=null,ce.prototype.end=function(T,M,I){const B=this._writableState;typeof T=="function"?(I=T,T=null,M=null):typeof M=="function"&&(I=M,M=null);let U;if(T!=null){const Z=de(this,T,M);Z instanceof r&&(U=Z)}return B.corked&&(B.corked=1,this.uncork()),U||(!B.errored&&!B.ending?(B.ending=!0,k(this,B,!0),B.ended=!0):B.finished?U=new O("end"):B.destroyed&&(U=new R("end"))),typeof I=="function"&&(U||B.finished?e.nextTick(I,U):B[L].push(I)),this};function oe(T){return T.ending&&!T.destroyed&&T.constructed&&T.length===0&&!T.errored&&T.buffered.length===0&&!T.finished&&!T.writing&&!T.errorEmitted&&!T.closeEmitted}function Q(T,M){let I=!1;function B(U){if(I){G(T,U??w());return}if(I=!0,M.pendingcb--,U){const Z=M[L].splice(0);for(let j=0;j{oe(U)?W(B,U):U.pendingcb--},T,M)):oe(M)&&(M.pendingcb++,W(T,M))))}function W(T,M){M.pendingcb--,M.finished=!0;const I=M[L].splice(0);for(let B=0;B{if(ne!=null)throw new _("nully","body",ne)},ne=>{b(he,ne)});return he=new re({objectMode:!0,readable:!1,write:pe,final(ne){z(async()=>{try{await N,e.nextTick(ne,null)}catch(ye){e.nextTick(ne,ye)}})},destroy:ge})}throw new _("Iterable, AsyncIterable or AsyncFunction",ae,de)}if(O($))return L($.arrayBuffer());if(s($))return C(re,$,{objectMode:!0,writable:!1});if(u($==null?void 0:$.readable)&&f($==null?void 0:$.writable))return re.fromWeb($);if(typeof($==null?void 0:$.writable)=="object"||typeof($==null?void 0:$.readable)=="object"){const de=$!=null&&$.readable?a($==null?void 0:$.readable)?$==null?void 0:$.readable:L($.readable):void 0,pe=$!=null&&$.writable?o($==null?void 0:$.writable)?$==null?void 0:$.writable:L($.writable):void 0;return X({readable:de,writable:pe})}const ce=$==null?void 0:$.then;if(typeof ce=="function"){let de;return V(ce,$,pe=>{pe!=null&&de.push(pe),de.push(null)},pe=>{b(de,pe)}),de=new re({objectMode:!0,writable:!1,read(){}})}throw new g(ae,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],$)};function G(L){let{promise:$,resolve:ae}=w();const ce=new D,de=ce.signal;return{value:L(async function*(){for(;;){const z=$;$=null;const{chunk:ge,done:Y,cb:he}=await z;if(e.nextTick(he),Y)return;if(de.aborted)throw new p(void 0,{cause:de.reason});({promise:$,resolve:ae}=w()),yield ge}}(),{signal:de}),write(z,ge,Y){const he=ae;ae=null,he({chunk:z,done:!1,cb:Y})},final(z){const ge=ae;ae=null,ge({done:!0,cb:z})},destroy(z,ge){ce.abort(),ge(z)}}}function X(L){const $=L.readable&&typeof L.readable.read!="function"?v.wrap(L.readable):L.readable,ae=L.writable;let ce=!!r($),de=!!n(ae),pe,z,ge,Y,he;function N(ne){const ye=Y;Y=null,ye?ye(ne):ne&&he.destroy(ne)}return he=new re({readableObjectMode:!!($!=null&&$.readableObjectMode),writableObjectMode:!!(ae!=null&&ae.writableObjectMode),readable:ce,writable:de}),de&&(d(ae,ne=>{de=!1,ne&&b($,ne),N(ne)}),he._write=function(ne,ye,oe){ae.write(ne,ye)?oe():pe=oe},he._final=function(ne){ae.end(),z=ne},ae.on("drain",function(){if(pe){const ne=pe;pe=null,ne()}}),ae.on("finish",function(){if(z){const ne=z;z=null,ne()}})),ce&&(d($,ne=>{ce=!1,ne&&b($,ne),N(ne)}),$.on("readable",function(){if(ge){const ne=ge;ge=null,ne()}}),$.on("end",function(){he.push(null)}),he._read=function(){for(;;){const ne=$.read();if(ne===null){ge=he._read;return}if(!he.push(ne))return}}),he._destroy=function(ne,ye){!ne&&Y!==null&&(ne=new p),ge=null,pe=null,z=null,Y===null?ye(ne):(Y=ye,b(ae,ne),b($,ne))},he}return Hu}var Vu,im;function Jr(){if(im)return Vu;im=1;const{ObjectDefineProperties:e,ObjectGetOwnPropertyDescriptor:t,ObjectKeys:r,ObjectSetPrototypeOf:n}=nt();Vu=a;const s=xl(),i=dd();n(a.prototype,s.prototype),n(a,s);{const f=r(i.prototype);for(let d=0;d{if(f){u?u(f):this.destroy(f);return}d!=null&&this.push(d),this.push(null),u&&u()}):(this.push(null),u&&u())}function l(){this._final!==o&&o.call(this)}return a.prototype._final=o,a.prototype._transform=function(u,f,d){throw new r("_transform()")},a.prototype._write=function(u,f,d){const p=this._readableState,g=this._writableState,_=p.length;this._transform(u,f,(b,E)=>{if(b){d(b);return}E!=null&&this.push(E),g.ended||_===p.length||p.length{Q=!0});const q=i(ne,{readable:ye,writable:oe},k=>{Q=!k});return{destroy:k=>{Q||(Q=!0,o.destroyer(ne,k||new g("pipe")))},cleanup:q}}function ce(ne){return E(ne[ne.length-1],"streams[stream.length - 1]"),ne.pop()}function de(ne){if(S(ne))return ne;if(C(ne))return pe(ne);throw new f("val",["Readable","Iterable","AsyncIterable"],ne)}async function*pe(ne){L||(L=xl()),yield*L.prototype[n].call(ne)}async function z(ne,ye,oe,{end:Q}){let q,k=null;const W=A=>{if(A&&(q=A),k){const T=k;k=null,T()}},te=()=>new r((A,T)=>{q?T(q):k=()=>{q?T(q):A()}});ye.on("drain",W);const ee=i(ye,{readable:!1},W);try{ye.writableNeedDrain&&await te();for await(const A of ne)ye.write(A)||await te();Q&&(ye.end(),await te()),oe()}catch(A){oe(q!==A?u(q,A):A)}finally{ee(),ye.off("drain",W)}}async function ge(ne,ye,oe,{end:Q}){O(ye)&&(ye=ye.writable);const q=ye.getWriter();try{for await(const k of ne)await q.ready,q.write(k).catch(()=>{});await q.ready,Q&&await q.close(),oe()}catch(k){try{await q.abort(k),oe(k)}catch(W){oe(W)}}}function Y(...ne){return he(ne,a(ce(ne)))}function he(ne,ye,oe){if(ne.length===1&&t(ne[0])&&(ne=ne[0]),ne.length<2)throw new p("streams");const Q=new G,q=Q.signal,k=oe==null?void 0:oe.signal,W=[];v(k,"options.signal");function te(){U(new b)}$=$||Lt().addAbortListener;let ee;k&&(ee=$(k,te));let A,T;const M=[];let I=0;function B(K){U(K,--I===0)}function U(K,P){var J;if(K&&(!A||A.code==="ERR_STREAM_PREMATURE_CLOSE")&&(A=K),!(!A&&!P)){for(;M.length;)M.shift()(A);(J=ee)===null||J===void 0||J[s](),Q.abort(),P&&(A||W.forEach(le=>le()),e.nextTick(ye,A,T))}}let Z;for(let K=0;K0,me=J||(oe==null?void 0:oe.end)!==!1,y=K===ne.length-1;if(R(P)){let h=function(c){c&&c.name!=="AbortError"&&c.code!=="ERR_STREAM_PREMATURE_CLOSE"&&B(c)};if(me){const{destroy:c,cleanup:m}=ae(P,J,le);M.push(c),w(P)&&y&&W.push(m)}P.on("error",h),w(P)&&y&&W.push(()=>{P.removeListener("error",h)})}if(K===0)if(typeof P=="function"){if(Z=P({signal:q}),!S(Z))throw new d("Iterable, AsyncIterable or Stream","source",Z)}else S(P)||C(P)||O(P)?Z=P:Z=l.from(P);else if(typeof P=="function"){if(O(Z)){var j;Z=de((j=Z)===null||j===void 0?void 0:j.readable)}else Z=de(Z);if(Z=P(Z,{signal:q}),J){if(!S(Z,!0))throw new d("AsyncIterable",`transform[${K-1}]`,Z)}else{var F;X||(X=c0());const h=new X({objectMode:!0}),c=(F=Z)===null||F===void 0?void 0:F.then;if(typeof c=="function")I++,c.call(Z,H=>{T=H,H!=null&&h.write(H),me&&h.end(),e.nextTick(B)},H=>{h.destroy(H),e.nextTick(B,H)});else if(S(Z,!0))I++,z(Z,h,B,{end:me});else if(V(Z)||O(Z)){const H=Z.readable||Z;I++,z(H,h,B,{end:me})}else throw new d("AsyncIterable or Promise","destination",Z);Z=h;const{destroy:m,cleanup:x}=ae(Z,!1,!0);M.push(m),y&&W.push(x)}}else if(R(P)){if(C(Z)){I+=2;const h=N(Z,P,B,{end:me});w(P)&&y&&W.push(h)}else if(O(Z)||V(Z)){const h=Z.readable||Z;I++,z(h,P,B,{end:me})}else if(S(Z))I++,z(Z,P,B,{end:me});else throw new f("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);Z=P}else if(D(P)){if(C(Z))I++,ge(de(Z),P,B,{end:me});else if(V(Z)||S(Z))I++,ge(Z,P,B,{end:me});else if(O(Z))I++,ge(Z.readable,P,B,{end:me});else throw new f("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);Z=P}else Z=l.from(P)}return(q!=null&&q.aborted||k!=null&&k.aborted)&&e.nextTick(te),Z}function N(ne,ye,oe,{end:Q}){let q=!1;if(ye.on("close",()=>{q||oe(new _)}),ne.pipe(ye,{end:!1}),Q){let k=function(){q=!0,ye.end()};re(ne)?e.nextTick(k):ne.once("end",k)}else oe();return i(ne,{readable:!0,writable:!1},k=>{const W=ne._readableState;k&&k.code==="ERR_STREAM_PREMATURE_CLOSE"&&W&&W.ended&&!W.errored&&!W.errorEmitted?ne.once("end",oe).once("error",oe):oe(k)}),i(ye,{readable:!1,writable:!0},oe)}return Yu={pipelineImpl:he,pipeline:Y},Yu}var zu,lm;function h0(){if(lm)return zu;lm=1;const{pipeline:e}=pd(),t=Jr(),{destroyer:r}=ms(),{isNodeStream:n,isReadable:s,isWritable:i,isWebStream:a,isTransformStream:o,isWritableStream:l,isReadableStream:u}=ln(),{AbortError:f,codes:{ERR_INVALID_ARG_VALUE:d,ERR_MISSING_ARGS:p}}=Ot(),g=On();return zu=function(...b){if(b.length===0)throw new p("streams");if(b.length===1)return t.from(b[0]);const E=[...b];if(typeof b[0]=="function"&&(b[0]=t.from(b[0])),typeof b[b.length-1]=="function"){const X=b.length-1;b[X]=t.from(b[X])}for(let X=0;X0&&!(i(b[X])||l(b[X])||o(b[X])))throw new d(`streams[${X}]`,E[X],"must be writable")}let v,S,w,C,R;function O(X){const L=C;C=null,L?L(X):X?R.destroy(X):!G&&!re&&R.destroy()}const D=b[0],V=e(b,O),re=!!(i(D)||l(D)||o(D)),G=!!(s(V)||u(V)||o(V));if(R=new t({writableObjectMode:!!(D!=null&&D.writableObjectMode),readableObjectMode:!!(V!=null&&V.readableObjectMode),writable:re,readable:G}),re){if(n(D))R._write=function(L,$,ae){D.write(L,$)?ae():v=ae},R._final=function(L){D.end(),S=L},D.on("drain",function(){if(v){const L=v;v=null,L()}});else if(a(D)){const $=(o(D)?D.writable:D).getWriter();R._write=async function(ae,ce,de){try{await $.ready,$.write(ae).catch(()=>{}),de()}catch(pe){de(pe)}},R._final=async function(ae){try{await $.ready,$.close().catch(()=>{}),S=ae}catch(ce){ae(ce)}}}const X=o(V)?V.readable:V;g(X,()=>{if(S){const L=S;S=null,L()}})}if(G){if(n(V))V.on("readable",function(){if(w){const X=w;w=null,X()}}),V.on("end",function(){R.push(null)}),R._read=function(){for(;;){const X=V.read();if(X===null){w=R._read;return}if(!R.push(X))return}};else if(a(V)){const L=(o(V)?V.readable:V).getReader();R._read=async function(){for(;;)try{const{value:$,done:ae}=await L.read();if(!R.push($))return;if(ae){R.push(null);return}}catch{return}}}}return R._destroy=function(X,L){!X&&C!==null&&(X=new f),w=null,v=null,S=null,C===null?L(X):(C=L,n(V)&&r(V,X))},R},zu}var um;function PR(){if(um)return Wo;um=1;const e=globalThis.AbortController||so().AbortController,{codes:{ERR_INVALID_ARG_VALUE:t,ERR_INVALID_ARG_TYPE:r,ERR_MISSING_ARGS:n,ERR_OUT_OF_RANGE:s},AbortError:i}=Ot(),{validateAbortSignal:a,validateInteger:o,validateObject:l}=bo(),u=nt().Symbol("kWeak"),f=nt().Symbol("kResistStopPropagation"),{finished:d}=On(),p=h0(),{addAbortSignalNoValidate:g}=Al(),{isWritable:_,isNodeStream:b}=ln(),{deprecate:E}=Lt(),{ArrayPrototypePush:v,Boolean:S,MathFloor:w,Number:C,NumberIsNaN:R,Promise:O,PromiseReject:D,PromiseResolve:V,PromisePrototypeThen:re,Symbol:G}=nt(),X=G("kEmpty"),L=G("kEof");function $(k,W){if(W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),b(k)&&!_(k))throw new t("stream",k,"must be writable");const te=p(this,k);return W!=null&&W.signal&&g(W.signal,te),te}function ae(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal");let te=1;(W==null?void 0:W.concurrency)!=null&&(te=w(W.concurrency));let ee=te-1;return(W==null?void 0:W.highWaterMark)!=null&&(ee=w(W.highWaterMark)),o(te,"options.concurrency",1),o(ee,"options.highWaterMark",0),ee+=te,(async function*(){const T=Lt().AbortSignalAny([W==null?void 0:W.signal].filter(S)),M=this,I=[],B={signal:T};let U,Z,j=!1,F=0;function K(){j=!0,P()}function P(){F-=1,J()}function J(){Z&&!j&&F=ee||F>=te)&&await new O(y=>{Z=y})}I.push(L)}catch(me){const y=D(me);re(y,P,K),I.push(y)}finally{j=!0,U&&(U(),U=null)}}le();try{for(;;){for(;I.length>0;){const me=await I[0];if(me===L)return;if(T.aborted)throw new i;me!==X&&(yield me),I.shift(),J()}await new O(me=>{U=me})}}finally{j=!0,Z&&(Z(),Z=null)}}).call(this)}function ce(k=void 0){return k!=null&&l(k,"options"),(k==null?void 0:k.signal)!=null&&a(k.signal,"options.signal"),(async function*(){let te=0;for await(const A of this){var ee;if(k!=null&&(ee=k.signal)!==null&&ee!==void 0&&ee.aborted)throw new i({cause:k.signal.reason});yield[te++,A]}}).call(this)}async function de(k,W=void 0){for await(const te of Y.call(this,k,W))return!0;return!1}async function pe(k,W=void 0){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);return!await de.call(this,async(...te)=>!await k(...te),W)}async function z(k,W){for await(const te of Y.call(this,k,W))return te}async function ge(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);async function te(ee,A){return await k(ee,A),X}for await(const ee of ae.call(this,te,W));}function Y(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);async function te(ee,A){return await k(ee,A)?ee:X}return ae.call(this,te,W)}class he extends n{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}async function N(k,W,te){var ee;if(typeof k!="function")throw new r("reducer",["Function","AsyncFunction"],k);te!=null&&l(te,"options"),(te==null?void 0:te.signal)!=null&&a(te.signal,"options.signal");let A=arguments.length>1;if(te!=null&&(ee=te.signal)!==null&&ee!==void 0&&ee.aborted){const U=new i(void 0,{cause:te.signal.reason});throw this.once("error",()=>{}),await d(this.destroy(U)),U}const T=new e,M=T.signal;if(te!=null&&te.signal){const U={once:!0,[u]:this,[f]:!0};te.signal.addEventListener("abort",()=>T.abort(),U)}let I=!1;try{for await(const U of this){var B;if(I=!0,te!=null&&(B=te.signal)!==null&&B!==void 0&&B.aborted)throw new i;A?W=await k(W,U,{signal:M}):(W=U,A=!0)}if(!I&&!A)throw new he}finally{T.abort()}return W}async function ne(k){k!=null&&l(k,"options"),(k==null?void 0:k.signal)!=null&&a(k.signal,"options.signal");const W=[];for await(const ee of this){var te;if(k!=null&&(te=k.signal)!==null&&te!==void 0&&te.aborted)throw new i(void 0,{cause:k.signal.reason});v(W,ee)}return W}function ye(k,W){const te=ae.call(this,k,W);return(async function*(){for await(const A of te)yield*A}).call(this)}function oe(k){if(k=C(k),R(k))return 0;if(k<0)throw new s("number",">= 0",k);return k}function Q(k,W=void 0){return W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),k=oe(k),(async function*(){var ee;if(W!=null&&(ee=W.signal)!==null&&ee!==void 0&&ee.aborted)throw new i;for await(const T of this){var A;if(W!=null&&(A=W.signal)!==null&&A!==void 0&&A.aborted)throw new i;k--<=0&&(yield T)}}).call(this)}function q(k,W=void 0){return W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),k=oe(k),(async function*(){var ee;if(W!=null&&(ee=W.signal)!==null&&ee!==void 0&&ee.aborted)throw new i;for await(const T of this){var A;if(W!=null&&(A=W.signal)!==null&&A!==void 0&&A.aborted)throw new i;if(k-- >0&&(yield T),k<=0)return}}).call(this)}return Wo.streamReturningOperators={asIndexedPairs:E(ce,"readable.asIndexedPairs will be removed in a future version."),drop:Q,filter:Y,flatMap:ye,map:ae,take:q,compose:$},Wo.promiseReturningOperators={every:pe,forEach:ge,reduce:N,toArray:ne,some:de,find:z},Wo}var Gu,fm;function d0(){if(fm)return Gu;fm=1;const{ArrayPrototypePop:e,Promise:t}=nt(),{isIterable:r,isNodeStream:n,isWebStream:s}=ln(),{pipelineImpl:i}=pd(),{finished:a}=On();p0();function o(...l){return new t((u,f)=>{let d,p;const g=l[l.length-1];if(g&&typeof g=="object"&&!n(g)&&!r(g)&&!s(g)){const _=e(l);d=_.signal,p=_.end}i(l,(_,b)=>{_?f(_):u(b)},{signal:d,end:p})})}return Gu={finished:a,pipeline:o},Gu}var cm;function p0(){if(cm)return Tu.exports;cm=1;const{Buffer:e}=Yt(),{ObjectDefineProperty:t,ObjectKeys:r,ReflectApply:n}=nt(),{promisify:{custom:s}}=Lt(),{streamReturningOperators:i,promiseReturningOperators:a}=PR(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:o}}=Ot(),l=h0(),{setDefaultHighWaterMark:u,getDefaultHighWaterMark:f}=Tl(),{pipeline:d}=pd(),{destroyer:p}=ms(),g=On(),_=d0(),b=ln(),E=Tu.exports=hd().Stream;E.isDestroyed=b.isDestroyed,E.isDisturbed=b.isDisturbed,E.isErrored=b.isErrored,E.isReadable=b.isReadable,E.isWritable=b.isWritable,E.Readable=xl();for(const S of r(i)){let C=function(...R){if(new.target)throw o();return E.Readable.from(n(w,this,R))};const w=i[S];t(C,"name",{__proto__:null,value:w.name}),t(C,"length",{__proto__:null,value:w.length}),t(E.Readable.prototype,S,{__proto__:null,value:C,enumerable:!1,configurable:!0,writable:!0})}for(const S of r(a)){let C=function(...R){if(new.target)throw o();return n(w,this,R)};const w=a[S];t(C,"name",{__proto__:null,value:w.name}),t(C,"length",{__proto__:null,value:w.length}),t(E.Readable.prototype,S,{__proto__:null,value:C,enumerable:!1,configurable:!0,writable:!0})}E.Writable=dd(),E.Duplex=Jr(),E.Transform=f0(),E.PassThrough=c0(),E.pipeline=d;const{addAbortSignal:v}=Al();return E.addAbortSignal=v,E.finished=g,E.destroy=p,E.compose=l,E.setDefaultHighWaterMark=u,E.getDefaultHighWaterMark=f,t(E,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return _}}),t(d,s,{__proto__:null,enumerable:!0,get(){return _.pipeline}}),t(g,s,{__proto__:null,enumerable:!0,get(){return _.finished}}),E.Stream=E,E._isUint8Array=function(w){return w instanceof Uint8Array},E._uint8ArrayToBuffer=function(w){return e.from(w.buffer,w.byteOffset,w.byteLength)},Tu.exports}var hm;function LR(){return hm||(hm=1,function(e){const t=p0(),r=d0(),n=t.Readable.destroy;e.exports=t.Readable,e.exports._uint8ArrayToBuffer=t._uint8ArrayToBuffer,e.exports._isUint8Array=t._isUint8Array,e.exports.isDisturbed=t.isDisturbed,e.exports.isErrored=t.isErrored,e.exports.isReadable=t.isReadable,e.exports.Readable=t.Readable,e.exports.Writable=t.Writable,e.exports.Duplex=t.Duplex,e.exports.Transform=t.Transform,e.exports.PassThrough=t.PassThrough,e.exports.addAbortSignal=t.addAbortSignal,e.exports.finished=t.finished,e.exports.destroy=t.destroy,e.exports.destroy=n,e.exports.pipeline=t.pipeline,e.exports.compose=t.compose,Object.defineProperty(t,"promises",{configurable:!0,enumerable:!0,get(){return r}}),e.exports.Stream=t.Stream,e.exports.default=e.exports}(Au)),Au.exports}var qo={exports:{}},dm;function BR(){return dm||(dm=1,typeof Object.create=="function"?qo.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:qo.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}),qo.exports}var Qu,pm;function DR(){if(pm)return Qu;pm=1;const{Buffer:e}=Yt(),t=Symbol.for("BufferList");function r(n){if(!(this instanceof r))return new r(n);r._init.call(this,n)}return r._init=function(s){Object.defineProperty(this,t,{value:!0}),this._bufs=[],this.length=0,s&&this.append(s)},r.prototype._new=function(s){return new r(s)},r.prototype._offset=function(s){if(s===0)return[0,0];let i=0;for(let a=0;athis.length||s<0)return;const i=this._offset(s);return this._bufs[i[0]][i[1]]},r.prototype.slice=function(s,i){return typeof s=="number"&&s<0&&(s+=this.length),typeof i=="number"&&i<0&&(i+=this.length),this.copy(null,0,s,i)},r.prototype.copy=function(s,i,a,o){if((typeof a!="number"||a<0)&&(a=0),(typeof o!="number"||o>this.length)&&(o=this.length),a>=this.length||o<=0)return s||e.alloc(0);const l=!!s,u=this._offset(a),f=o-a;let d=f,p=l&&i||0,g=u[1];if(a===0&&o===this.length){if(!l)return this._bufs.length===1?this._bufs[0]:e.concat(this._bufs,this.length);for(let _=0;_b)this._bufs[_].copy(s,p,g),p+=b;else{this._bufs[_].copy(s,p,g,g+d),p+=b;break}d-=b,g&&(g=0)}return s.length>p?s.slice(0,p):s},r.prototype.shallowSlice=function(s,i){if(s=s||0,i=typeof i!="number"?this.length:i,s<0&&(s+=this.length),i<0&&(i+=this.length),s===i)return this._new();const a=this._offset(s),o=this._offset(i),l=this._bufs.slice(a[0],o[0]+1);return o[1]===0?l.pop():l[l.length-1]=l[l.length-1].slice(0,o[1]),a[1]!==0&&(l[0]=l[0].slice(a[1])),this._new(l)},r.prototype.toString=function(s,i,a){return this.slice(i,a).toString(s)},r.prototype.consume=function(s){if(s=Math.trunc(s),Number.isNaN(s)||s<=0)return this;for(;this._bufs.length;)if(s>=this._bufs[0].length)s-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(s),this.length-=s;break}return this},r.prototype.duplicate=function(){const s=this._new();for(let i=0;ithis.length?this.length:s;const a=this._offset(s);let o=a[0],l=a[1];for(;o=n.length){const d=u.indexOf(n,l);if(d!==-1)return this._reverseOffset([o,d]);l=u.length-n.length+1}else{const d=this._reverseOffset([o,l]);if(this._match(d,n))return d;l++}l=0}return-1},r.prototype._match=function(n,s){if(this.length-n[0,1].map(a=>[0,1].map(o=>{const l=r.alloc(1);return l.writeUInt8(t.codes[s]<r.from([s])),t.EMPTY={pingreq:r.from([t.codes.pingreq<<4,0]),pingresp:r.from([t.codes.pingresp<<4,0]),disconnect:r.from([t.codes.disconnect<<4,0])},t.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},t.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},t.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},t.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}(Ju)),Ju.exports}function m0(){throw new Error("setTimeout has not been defined")}function y0(){throw new Error("clearTimeout has not been defined")}var pn=m0,gn=y0;typeof si.setTimeout=="function"&&(pn=setTimeout);typeof si.clearTimeout=="function"&&(gn=clearTimeout);function _0(e){if(pn===setTimeout)return setTimeout(e,0);if((pn===m0||!pn)&&setTimeout)return pn=setTimeout,setTimeout(e,0);try{return pn(e,0)}catch{try{return pn.call(null,e,0)}catch{return pn.call(this,e,0)}}}function $R(e){if(gn===clearTimeout)return clearTimeout(e);if((gn===y0||!gn)&&clearTimeout)return gn=clearTimeout,clearTimeout(e);try{return gn(e)}catch{try{return gn.call(null,e)}catch{return gn.call(this,e)}}}var Hr=[],Yi=!1,Xn,pa=-1;function jR(){!Yi||!Xn||(Yi=!1,Xn.length?Hr=Xn.concat(Hr):pa=-1,Hr.length&&b0())}function b0(){if(!Yi){var e=_0(jR);Yi=!0;for(var t=Hr.length;t;){for(Xn=Hr,Hr=[];++pa1)for(var r=1;r0)return a(f);if(p==="number"&&isFinite(f))return d.long?l(f):o(f);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(f))};function a(f){if(f=String(f),!(f.length>100)){var d=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(f);if(d){var p=parseFloat(d[1]),g=(d[2]||"ms").toLowerCase();switch(g){case"years":case"year":case"yrs":case"yr":case"y":return p*i;case"weeks":case"week":case"w":return p*s;case"days":case"day":case"d":return p*n;case"hours":case"hour":case"hrs":case"hr":case"h":return p*r;case"minutes":case"minute":case"mins":case"min":case"m":return p*t;case"seconds":case"second":case"secs":case"sec":case"s":return p*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return p;default:return}}}}function o(f){var d=Math.abs(f);return d>=n?Math.round(f/n)+"d":d>=r?Math.round(f/r)+"h":d>=t?Math.round(f/t)+"m":d>=e?Math.round(f/e)+"s":f+"ms"}function l(f){var d=Math.abs(f);return d>=n?u(f,d,n,"day"):d>=r?u(f,d,r,"hour"):d>=t?u(f,d,t,"minute"):d>=e?u(f,d,e,"second"):f+" ms"}function u(f,d,p,g){var _=d>=p*1.5;return Math.round(f/p)+" "+g+(_?"s":"")}return Zu}var ef,bm;function pO(){if(bm)return ef;bm=1;function e(t){n.debug=n,n.default=n,n.coerce=u,n.disable=o,n.enable=i,n.enabled=l,n.humanize=dO(),n.destroy=f,Object.keys(t).forEach(d=>{n[d]=t[d]}),n.names=[],n.skips=[],n.formatters={};function r(d){let p=0;for(let g=0;g{if(D==="%%")return"%";R++;const re=n.formatters[V];if(typeof re=="function"){const G=v[R];D=re.call(S,G),v.splice(R,1),R--}return D}),n.formatArgs.call(S,v),(S.log||n.log).apply(S,v)}return E.namespace=d,E.useColors=n.useColors(),E.color=n.selectColor(d),E.extend=s,E.destroy=n.destroy,Object.defineProperty(E,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(_!==n.namespaces&&(_=n.namespaces,b=n.enabled(d)),b),set:v=>{g=v}}),typeof n.init=="function"&&n.init(E),E}function s(d,p){const g=n(this.namespace+(typeof p>"u"?":":p)+d);return g.log=this.log,g}function i(d){n.save(d),n.namespaces=d,n.names=[],n.skips=[];const p=(typeof d=="string"?d:"").trim().replace(" ",",").split(",").filter(Boolean);for(const g of p)g[0]==="-"?n.skips.push(g.slice(1)):n.names.push(g)}function a(d,p){let g=0,_=0,b=-1,E=0;for(;g"-"+p)].join(",");return n.enable(""),d}function l(d){for(const p of n.skips)if(a(d,p))return!1;for(const p of n.names)if(a(d,p))return!0;return!1}function u(d){return d instanceof Error?d.stack||d.message:d}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}return ef=e,ef}var wm;function v0(){return wm||(wm=1,function(e,t){var r={};t.formatArgs=s,t.save=i,t.load=a,t.useColors=n,t.storage=o(),t.destroy=(()=>{let u=!1;return()=>{u||(u=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function n(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let u;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(u=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(u[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function s(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const f="color: "+this.color;u.splice(1,0,f,"color: inherit");let d=0,p=0;u[0].replace(/%[a-zA-Z%]/g,g=>{g!=="%%"&&(d++,g==="%c"&&(p=d))}),u.splice(p,0,f)}t.log=console.debug||console.log||(()=>{});function i(u){try{u?t.storage.setItem("debug",u):t.storage.removeItem("debug")}catch{}}function a(){let u;try{u=t.storage.getItem("debug")}catch{}return!u&&typeof Ft<"u"&&"env"in Ft&&(u=r.DEBUG),u}function o(){try{return localStorage}catch{}}e.exports=pO()(t);const{formatters:l}=e.exports;l.j=function(u){try{return JSON.stringify(u)}catch(f){return"[UnexpectedJSONParseError]: "+f.message}}}(Ko,Ko.exports)),Ko.exports}var tf,vm;function gO(){if(vm)return tf;vm=1;const e=UR(),{EventEmitter:t}=gs(),r=FR(),n=g0(),s=v0()("mqtt-packet:parser");class i extends t{constructor(){super(),this.parser=this.constructor.parser}static parser(o){return this instanceof i?(this.settings=o||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new i().parser(o)}_resetState(){s("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new r,this.error=null,this._list=e(),this._stateCounter=0}parse(o){for(this.error&&this._resetState(),this._list.append(o),s("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,s("parse: state complete. _stateCounter is now: %d",this._stateCounter),s("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return s("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){const o=this._list.readUInt8(0),l=o>>n.CMD_SHIFT;this.packet.cmd=n.types[l];const u=o&15,f=n.requiredHeaderFlags[l];return f!=null&&u!==f?this._emitError(new Error(n.requiredHeaderFlagsErrors[l])):(this.packet.retain=(o&n.RETAIN_MASK)!==0,this.packet.qos=o>>n.QOS_SHIFT&n.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(o&n.DUP_MASK)!==0,s("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){const o=this._parseVarByteNum(!0);return o&&(this.packet.length=o.value,this._list.consume(o.bytes)),s("_parseLength %d",o.value),!!o}_parsePayload(){s("_parsePayload: payload %O",this._list);let o=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}o=!0}return s("_parsePayload complete result: %s",o),o}_parseConnect(){s("_parseConnect");let o,l,u,f;const d={},p=this.packet,g=this._parseString();if(g===null)return this._emitError(new Error("Cannot parse protocolId"));if(g!=="MQTT"&&g!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(p.protocolId=g,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(p.protocolVersion=this._list.readUInt8(this._pos),p.protocolVersion>=128&&(p.bridgeMode=!0,p.protocolVersion=p.protocolVersion-128),p.protocolVersion!==3&&p.protocolVersion!==4&&p.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));d.username=this._list.readUInt8(this._pos)&n.USERNAME_MASK,d.password=this._list.readUInt8(this._pos)&n.PASSWORD_MASK,d.will=this._list.readUInt8(this._pos)&n.WILL_FLAG_MASK;const _=!!(this._list.readUInt8(this._pos)&n.WILL_RETAIN_MASK),b=(this._list.readUInt8(this._pos)&n.WILL_QOS_MASK)>>n.WILL_QOS_SHIFT;if(d.will)p.will={},p.will.retain=_,p.will.qos=b;else{if(_)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(b)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(p.clean=(this._list.readUInt8(this._pos)&n.CLEAN_SESSION_MASK)!==0,this._pos++,p.keepalive=this._parseNum(),p.keepalive===-1)return this._emitError(new Error("Packet too short"));if(p.protocolVersion===5){const v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(p.properties=v)}const E=this._parseString();if(E===null)return this._emitError(new Error("Packet too short"));if(p.clientId=E,s("_parseConnect: packet.clientId: %s",p.clientId),d.will){if(p.protocolVersion===5){const v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(p.will.properties=v)}if(o=this._parseString(),o===null)return this._emitError(new Error("Cannot parse will topic"));if(p.will.topic=o,s("_parseConnect: packet.will.topic: %s",p.will.topic),l=this._parseBuffer(),l===null)return this._emitError(new Error("Cannot parse will payload"));p.will.payload=l,s("_parseConnect: packet.will.paylaod: %s",p.will.payload)}if(d.username){if(f=this._parseString(),f===null)return this._emitError(new Error("Cannot parse username"));p.username=f,s("_parseConnect: packet.username: %s",p.username)}if(d.password){if(u=this._parseBuffer(),u===null)return this._emitError(new Error("Cannot parse password"));p.password=u}return this.settings=p,s("_parseConnect: complete"),p}_parseConnack(){s("_parseConnack");const o=this.packet;if(this._list.length<1)return null;const l=this._list.readUInt8(this._pos++);if(l>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(o.sessionPresent=!!(l&n.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?o.reasonCode=this._list.readUInt8(this._pos++):o.reasonCode=0;else{if(this._list.length<2)return null;o.returnCode=this._list.readUInt8(this._pos++)}if(o.returnCode===-1||o.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){const u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(o.properties=u)}s("_parseConnack: complete")}_parsePublish(){s("_parsePublish");const o=this.packet;if(o.topic=this._parseString(),o.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(o.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}o.payload=this._list.slice(this._pos,o.length),s("_parsePublish: payload from buffer list: %o",o.payload)}}_parseSubscribe(){s("_parseSubscribe");const o=this.packet;let l,u,f,d,p,g,_;if(o.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const b=this._parseProperties();Object.getOwnPropertyNames(b).length&&(o.properties=b)}if(o.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos=o.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(u=this._parseByte(),this.settings.protocolVersion===5){if(u&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(u&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(f=u&n.SUBSCRIBE_OPTIONS_QOS_MASK,f>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(g=(u>>n.SUBSCRIBE_OPTIONS_NL_SHIFT&n.SUBSCRIBE_OPTIONS_NL_MASK)!==0,p=(u>>n.SUBSCRIBE_OPTIONS_RAP_SHIFT&n.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,d=u>>n.SUBSCRIBE_OPTIONS_RH_SHIFT&n.SUBSCRIBE_OPTIONS_RH_MASK,d>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));_={topic:l,qos:f},this.settings.protocolVersion===5?(_.nl=g,_.rap=p,_.rh=d):this.settings.bridgeMode&&(_.rh=0,_.rap=!0,_.nl=!0),s("_parseSubscribe: push subscription `%s` to subscription",_),o.subscriptions.push(_)}}}_parseSuback(){s("_parseSuback");const o=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}if(o.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos2&&l!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(l)}}}_parseUnsubscribe(){s("_parseUnsubscribe");const o=this.packet;if(o.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}if(o.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos2){switch(o.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!n.MQTT5_PUBACK_PUBREC_CODES[o.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!n.MQTT5_PUBREL_PUBCOMP_CODES[o.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}s("_parseConfirmation: packet.reasonCode `%d`",o.reasonCode)}else o.reasonCode=0;if(o.length>3){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}}return!0}_parseDisconnect(){const o=this.packet;if(s("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(o.reasonCode=this._parseByte(),n.MQTT5_DISCONNECT_CODES[o.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):o.reasonCode=0;const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}return s("_parseDisconnect result: true"),!0}_parseAuth(){s("_parseAuth");const o=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(o.reasonCode=this._parseByte(),!n.MQTT5_AUTH_CODES[o.reasonCode])return this._emitError(new Error("Invalid auth reason code"));const l=this._parseProperties();return Object.getOwnPropertyNames(l).length&&(o.properties=l),s("_parseAuth: result: true"),!0}_parseMessageId(){const o=this.packet;return o.messageId=this._parseNum(),o.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(s("_parseMessageId: packet.messageId %d",o.messageId),!0)}_parseString(o){const l=this._parseNum(),u=l+this._pos;if(l===-1||u>this._list.length||u>this.packet.length)return null;const f=this._list.toString("utf8",this._pos,u);return this._pos+=l,s("_parseString: result: %s",f),f}_parseStringPair(){return s("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){const o=this._parseNum(),l=o+this._pos;if(o===-1||l>this._list.length||l>this.packet.length)return null;const u=this._list.slice(this._pos,l);return this._pos+=o,s("_parseBuffer: result: %o",u),u}_parseNum(){if(this._list.length-this._pos<2)return-1;const o=this._list.readUInt16BE(this._pos);return this._pos+=2,s("_parseNum: result: %s",o),o}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;const o=this._list.readUInt32BE(this._pos);return this._pos+=4,s("_parse4ByteNum: result: %s",o),o}_parseVarByteNum(o){s("_parseVarByteNum");const l=4;let u=0,f=1,d=0,p=!1,g;const _=this._pos?this._pos:0;for(;u=u&&this._emitError(new Error("Invalid variable byte integer")),_&&(this._pos+=u),p?o?p={bytes:u,value:d}:p=d:p=!1,s("_parseVarByteNum: result: %o",p),p}_parseByte(){let o;return this._pos>8,0),u.writeUInt8(l&255,1),u}function i(){for(let l=0;l0&&(f=f|128),p.writeUInt8(f,d++);while(l>0&&d<4);return l>0&&(d=0),n?p.subarray(0,d):p.slice(0,d)}function o(l){const u=e.allocUnsafe(4);return u.writeUInt32BE(l,0),u}return rf={cache:r,generateCache:i,generateNumber:s,genBufVariableByteInt:a,generate4ByteBuffer:o},rf}var Yo={exports:{}},Sm;function yO(){if(Sm)return Yo.exports;Sm=1,typeof Ft>"u"||!Ft.version||Ft.version.indexOf("v0.")===0||Ft.version.indexOf("v1.")===0&&Ft.version.indexOf("v1.8.")!==0?Yo.exports={nextTick:e}:Yo.exports=Ft;function e(t,r,n,s){if(typeof t!="function")throw new TypeError('"callback" argument must be a function');var i=arguments.length,a,o;switch(i){case 0:case 1:return Ft.nextTick(t);case 2:return Ft.nextTick(function(){t.call(null,r)});case 3:return Ft.nextTick(function(){t.call(null,r,n)});case 4:return Ft.nextTick(function(){t.call(null,r,n,s)});default:for(a=new Array(i-1),o=0;o=4)&&(M||A))Z+=t.byteLength(M)+2;else{if(te<4)return Q.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(A*1===0)return Q.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof T!="number"||T<0||T>65535||T%1!==0)return Q.destroy(new Error("Invalid keepalive")),!1;Z+=2,Z+=1;let j,F;if(te===5){if(j=ge(Q,U),!j)return!1;Z+=j.length}if(ee){if(typeof ee!="object")return Q.destroy(new Error("Invalid will")),!1;if(!ee.topic||typeof ee.topic!="string")return Q.destroy(new Error("Invalid will topic")),!1;if(Z+=t.byteLength(ee.topic)+2,Z+=2,ee.payload)if(ee.payload.length>=0)typeof ee.payload=="string"?Z+=t.byteLength(ee.payload):Z+=ee.payload.length;else return Q.destroy(new Error("Invalid will payload")),!1;if(F={},te===5){if(F=ge(Q,ee.properties),!F)return!1;Z+=F.length}}let K=!1;if(I!=null)if(ye(I))K=!0,Z+=t.byteLength(I)+2;else return Q.destroy(new Error("Invalid username")),!1;if(B!=null){if(!K)return Q.destroy(new Error("Username is required to use password")),!1;if(ye(B))Z+=ne(B)+2;else return Q.destroy(new Error("Invalid password")),!1}Q.write(e.CONNECT_HEADER),L(Q,Z),z(Q,W),k.bridgeMode&&(te+=128),Q.write(te===131?e.VERSION131:te===132?e.VERSION132:te===4?e.VERSION4:te===5?e.VERSION5:e.VERSION3);let P=0;return P|=I!=null?e.USERNAME_MASK:0,P|=B!=null?e.PASSWORD_MASK:0,P|=ee&&ee.retain?e.WILL_RETAIN_MASK:0,P|=ee&&ee.qos?ee.qos<0&&p(Q,M),U!=null&&U.write(),a("publish: payload: %o",T),Q.write(T)}function w(oe,Q,q){const k=q?q.protocolVersion:4,W=oe||{},te=W.cmd||"puback",ee=W.messageId,A=W.dup&&te==="pubrel"?e.DUP_MASK:0;let T=0;const M=W.reasonCode,I=W.properties;let B=k===5?3:2;if(te==="pubrel"&&(T=1),typeof ee!="number")return Q.destroy(new Error("Invalid messageId")),!1;let U=null;if(k===5&&typeof I=="object"){if(U=Y(Q,I,q,B),!U)return!1;B+=U.length}return Q.write(e.ACKS[te][T][A][0]),B===3&&(B+=M!==0?1:-1),L(Q,B),p(Q,ee),k===5&&B!==2&&Q.write(t.from([M])),U!==null?U.write():B===4&&Q.write(t.from([0])),!0}function C(oe,Q,q){a("subscribe: packet: ");const k=q?q.protocolVersion:4,W=oe||{},te=W.dup?e.DUP_MASK:0,ee=W.messageId,A=W.subscriptions,T=W.properties;let M=0;if(typeof ee!="number")return Q.destroy(new Error("Invalid messageId")),!1;M+=2;let I=null;if(k===5){if(I=ge(Q,T),!I)return!1;M+=I.length}if(typeof A=="object"&&A.length)for(let U=0;U2)return Q.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}M+=t.byteLength(Z)+2+1}else return Q.destroy(new Error("Invalid subscriptions")),!1;a("subscribe: writing to stream: %o",e.SUBSCRIBE_HEADER),Q.write(e.SUBSCRIBE_HEADER[1][te?1:0][0]),L(Q,M),p(Q,ee),I!==null&&I.write();let B=!0;for(const U of A){const Z=U.topic,j=U.qos,F=+U.nl,K=+U.rap,P=U.rh;let J;$(Q,Z),J=e.SUBSCRIBE_OPTIONS_QOS[j],k===5&&(J|=F?e.SUBSCRIBE_OPTIONS_NL:0,J|=K?e.SUBSCRIBE_OPTIONS_RAP:0,J|=P?e.SUBSCRIBE_OPTIONS_RH[P]:0),B=Q.write(t.from([J]))}return B}function R(oe,Q,q){const k=q?q.protocolVersion:4,W=oe||{},te=W.messageId,ee=W.granted,A=W.properties;let T=0;if(typeof te!="number")return Q.destroy(new Error("Invalid messageId")),!1;if(T+=2,typeof ee=="object"&&ee.length)for(let I=0;Ie.VARBYTEINT_MAX)return oe.destroy(new Error(`Invalid variable byte integer: ${Q}`)),!1;let q=X[Q];return q||(q=f(Q),Q<16384&&(X[Q]=q)),a("writeVarByteInt: writing to stream: %o",q),oe.write(q)}function $(oe,Q){const q=t.byteLength(Q);return p(oe,q),a("writeString: %s",Q),oe.write(Q,"utf8")}function ae(oe,Q,q){$(oe,Q),$(oe,q)}function ce(oe,Q){return a("writeNumberCached: number: %d",Q),a("writeNumberCached: %o",o[Q]),oe.write(o[Q])}function de(oe,Q){const q=l(Q);return a("writeNumberGenerated: %o",q),oe.write(q)}function pe(oe,Q){const q=d(Q);return a("write4ByteNumber: %o",q),oe.write(q)}function z(oe,Q){typeof Q=="string"?$(oe,Q):Q?(p(oe,Q.length),oe.write(Q)):p(oe,0)}function ge(oe,Q){if(typeof Q!="object"||Q.length!=null)return{length:1,write(){N(oe,{},0)}};let q=0;function k(te,ee){const A=e.propertiesTypes[te];let T=0;switch(A){case"byte":{if(typeof ee!="boolean")return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=2;break}case"int8":{if(typeof ee!="number"||ee<0||ee>255)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=2;break}case"binary":{if(ee&&ee===null)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=1+t.byteLength(ee)+2;break}case"int16":{if(typeof ee!="number"||ee<0||ee>65535)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=3;break}case"int32":{if(typeof ee!="number"||ee<0||ee>4294967295)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=5;break}case"var":{if(typeof ee!="number"||ee<0||ee>268435455)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=1+t.byteLength(f(ee));break}case"string":{if(typeof ee!="string")return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=3+t.byteLength(ee.toString());break}case"pair":{if(typeof ee!="object")return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=Object.getOwnPropertyNames(ee).reduce((M,I)=>{const B=ee[I];return Array.isArray(B)?M+=B.reduce((U,Z)=>(U+=3+t.byteLength(I.toString())+2+t.byteLength(Z.toString()),U),0):M+=3+t.byteLength(I.toString())+2+t.byteLength(ee[I].toString()),M},0);break}default:return oe.destroy(new Error(`Invalid property ${te}: ${ee}`)),!1}return T}if(Q)for(const te in Q){let ee=0,A=0;const T=Q[te];if(Array.isArray(T))for(let M=0;Mte;){const A=W.shift();if(A&&Q[A])delete Q[A],ee=ge(oe,Q);else return!1}return ee}function he(oe,Q,q){switch(e.propertiesTypes[Q]){case"byte":{oe.write(t.from([e.properties[Q]])),oe.write(t.from([+q]));break}case"int8":{oe.write(t.from([e.properties[Q]])),oe.write(t.from([q]));break}case"binary":{oe.write(t.from([e.properties[Q]])),z(oe,q);break}case"int16":{oe.write(t.from([e.properties[Q]])),p(oe,q);break}case"int32":{oe.write(t.from([e.properties[Q]])),pe(oe,q);break}case"var":{oe.write(t.from([e.properties[Q]])),L(oe,q);break}case"string":{oe.write(t.from([e.properties[Q]])),$(oe,q);break}case"pair":{Object.getOwnPropertyNames(q).forEach(W=>{const te=q[W];Array.isArray(te)?te.forEach(ee=>{oe.write(t.from([e.properties[Q]])),ae(oe,W.toString(),ee.toString())}):(oe.write(t.from([e.properties[Q]])),ae(oe,W.toString(),te.toString()))});break}default:return oe.destroy(new Error(`Invalid property ${Q} value: ${q}`)),!1}}function N(oe,Q,q){L(oe,q);for(const k in Q)if(Object.prototype.hasOwnProperty.call(Q,k)&&Q[k]!==null){const W=Q[k];if(Array.isArray(W))for(let te=0;tet?1:e>=t?0:NaN}function wO(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function gd(e){let t,r,n;e.length!==2?(t=ga,r=(o,l)=>ga(e(o),l),n=(o,l)=>e(o)-l):(t=e===ga||e===wO?e:vO,r=e,n=e);function s(o,l,u=0,f=o.length){if(u>>1;r(o[d],l)<0?u=d+1:f=d}while(u>>1;r(o[d],l)<=0?u=d+1:f=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:s,center:a,right:i}}function vO(){return 0}function EO(e){return e===null?NaN:+e}const SO=gd(ga),AO=SO.right;gd(EO).center;function AL(e,t){let r,n;if(t===void 0)for(const s of e)s!=null&&(r===void 0?s>=s&&(r=n=s):(r>s&&(r=s),n=i&&(r=n=i):(r>i&&(r=i),n=CO?10:i>=RO?5:i>=OO?2:1;let o,l,u;return s<0?(u=Math.pow(10,-s)/a,o=Math.round(e*u),l=Math.round(t*u),o/ut&&--l,u=-u):(u=Math.pow(10,s)*a,o=Math.round(e/u),l=Math.round(t/u),o*ut&&--l),l0))return[];if(e===t)return[e];const n=t=s))return[];const o=i-s+1,l=new Array(o);if(n)if(a<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let s of e)(s=t(s,++n,e))!=null&&(r=s)&&(r=s)}return r}function MO(e,t,r){e=+e,t=+t,r=(s=arguments.length)<2?(t=e,e=0,1):s<3?1:+r;for(var n=-1,s=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(s);++n+e(t)}function DO(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),r=>+e(r)+t}function UO(){return!this.__axis}function Il(e,t){var r=[],n=null,s=null,i=6,a=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=e===ma||e===$s?-1:1,f=e===$s||e===ya?"x":"y",d=e===ma||e===sh?PO:LO;function p(g){var _=n??(t.ticks?t.ticks.apply(t,r):t.domain()),b=s??(t.tickFormat?t.tickFormat.apply(t,r):NO),E=Math.max(i,0)+o,v=t.range(),S=+v[0]+l,w=+v[v.length-1]+l,C=(t.bandwidth?DO:BO)(t.copy(),l),R=g.selection?g.selection():g,O=R.selectAll(".domain").data([null]),D=R.selectAll(".tick").data(_,t).order(),V=D.exit(),re=D.enter().append("g").attr("class","tick"),G=D.select("line"),X=D.select("text");O=O.merge(O.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),D=D.merge(re),G=G.merge(re.append("line").attr("stroke","currentColor").attr(f+"2",u*i)),X=X.merge(re.append("text").attr("fill","currentColor").attr(f,u*E).attr("dy",e===ma?"0em":e===sh?"0.71em":"0.32em")),g!==R&&(O=O.transition(g),D=D.transition(g),G=G.transition(g),X=X.transition(g),V=V.transition(g).attr("opacity",Rm).attr("transform",function(L){return isFinite(L=C(L))?d(L+l):this.getAttribute("transform")}),re.attr("opacity",Rm).attr("transform",function(L){var $=this.parentNode.__axis;return d(($&&isFinite($=$(L))?$:C(L))+l)})),V.remove(),O.attr("d",e===$s||e===ya?a?"M"+u*a+","+S+"H"+l+"V"+w+"H"+u*a:"M"+l+","+S+"V"+w:a?"M"+S+","+u*a+"V"+l+"H"+w+"V"+u*a:"M"+S+","+l+"H"+w),D.attr("opacity",1).attr("transform",function(L){return d(C(L)+l)}),G.attr(f+"2",u*i),X.attr(f,u*E).text(b),R.filter(UO).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===ya?"start":e===$s?"end":"middle"),R.each(function(){this.__axis=C})}return p.scale=function(g){return arguments.length?(t=g,p):t},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(g){return arguments.length?(r=g==null?[]:Array.from(g),p):r.slice()},p.tickValues=function(g){return arguments.length?(n=g==null?null:Array.from(g),p):n&&n.slice()},p.tickFormat=function(g){return arguments.length?(s=g,p):s},p.tickSize=function(g){return arguments.length?(i=a=+g,p):i},p.tickSizeInner=function(g){return arguments.length?(i=+g,p):i},p.tickSizeOuter=function(g){return arguments.length?(a=+g,p):a},p.tickPadding=function(g){return arguments.length?(o=+g,p):o},p.offset=function(g){return arguments.length?(l=+g,p):l},p}function xL(e){return Il(ma,e)}function IL(e){return Il(ya,e)}function CL(e){return Il(sh,e)}function RL(e){return Il($s,e)}var FO={value:()=>{}};function S0(){for(var e=0,t=arguments.length,r={},n;e=0&&(n=r.slice(s+1),r=r.slice(0,s)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}_a.prototype=S0.prototype={constructor:_a,on:function(e,t){var r=this._,n=$O(e+"",r),s,i=-1,a=n.length;if(arguments.length<2){for(;++i0)for(var r=new Array(s),n=0,s,i;n=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),km.hasOwnProperty(t)?{space:km[t],local:e}:e}function WO(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===oh&&t.documentElement.namespaceURI===oh?t.createElement(e):t.createElementNS(r,e)}}function HO(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function A0(e){var t=Cl(e);return(t.local?HO:WO)(t)}function VO(){}function md(e){return e==null?VO:function(){return this.querySelector(e)}}function qO(e){typeof e!="function"&&(e=md(e));for(var t=this._groups,r=t.length,n=new Array(r),s=0;s=w&&(w=S+1);!(R=E[w])&&++w<_;);C._next=R||null}}return a=new Kt(a,n),a._enter=o,a._exit=l,a}function ck(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function hk(){return new Kt(this._exit||this._groups.map(C0),this._parents)}function dk(e,t,r){var n=this.enter(),s=this,i=this.exit();return typeof e=="function"?(n=e(n),n&&(n=n.selection())):n=n.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),r==null?i.remove():r(i),n&&s?n.merge(s).order():s}function pk(e){for(var t=e.selection?e.selection():e,r=this._groups,n=t._groups,s=r.length,i=n.length,a=Math.min(s,i),o=new Array(s),l=0;l=0;)(a=n[s])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function mk(e){e||(e=yk);function t(d,p){return d&&p?e(d.__data__,p.__data__):!d-!p}for(var r=this._groups,n=r.length,s=new Array(n),i=0;it?1:e>=t?0:NaN}function _k(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function bk(){return Array.from(this)}function wk(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?kk:typeof t=="function"?Nk:Mk)(e,t,r??"")):ns(this.node(),e)}function ns(e,t){return e.style.getPropertyValue(t)||R0(e).getComputedStyle(e,null).getPropertyValue(t)}function Lk(e){return function(){delete this[e]}}function Bk(e,t){return function(){this[e]=t}}function Dk(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function Uk(e,t){return arguments.length>1?this.each((t==null?Lk:typeof t=="function"?Dk:Bk)(e,t)):this.node()[e]}function O0(e){return e.trim().split(/^|\s+/)}function yd(e){return e.classList||new k0(e)}function k0(e){this._node=e,this._names=O0(e.getAttribute("class")||"")}k0.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function M0(e,t){for(var r=yd(e),n=-1,s=t.length;++n=0&&(r=t.slice(n+1),t=t.slice(0,n)),{type:t,name:r}})}function hM(e){return function(){var t=this.__on;if(t){for(var r=0,n=-1,s=t.length,i;r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?zo(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?zo(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=vM.exec(e))?new Pt(t[1],t[2],t[3],1):(t=EM.exec(e))?new Pt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=SM.exec(e))?zo(t[1],t[2],t[3],t[4]):(t=AM.exec(e))?zo(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=TM.exec(e))?Um(t[1],t[2]/100,t[3]/100,1):(t=xM.exec(e))?Um(t[1],t[2]/100,t[3]/100,t[4]):Mm.hasOwnProperty(e)?Lm(Mm[e]):e==="transparent"?new Pt(NaN,NaN,NaN,0):null}function Lm(e){return new Pt(e>>16&255,e>>8&255,e&255,1)}function zo(e,t,r,n){return n<=0&&(e=t=r=NaN),new Pt(e,t,r,n)}function RM(e){return e instanceof vo||(e=ui(e)),e?(e=e.rgb(),new Pt(e.r,e.g,e.b,e.opacity)):new Pt}function ah(e,t,r,n){return arguments.length===1?RM(e):new Pt(e,t,r,n??1)}function Pt(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}_d(Pt,ah,B0(vo,{brighter(e){return e=e==null?ja:Math.pow(ja,e),new Pt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?oo:Math.pow(oo,e),new Pt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pt(ii(this.r),ii(this.g),ii(this.b),Wa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Bm,formatHex:Bm,formatHex8:OM,formatRgb:Dm,toString:Dm}));function Bm(){return`#${Jn(this.r)}${Jn(this.g)}${Jn(this.b)}`}function OM(){return`#${Jn(this.r)}${Jn(this.g)}${Jn(this.b)}${Jn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Dm(){const e=Wa(this.opacity);return`${e===1?"rgb(":"rgba("}${ii(this.r)}, ${ii(this.g)}, ${ii(this.b)}${e===1?")":`, ${e})`}`}function Wa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ii(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Jn(e){return e=ii(e),(e<16?"0":"")+e.toString(16)}function Um(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new lr(e,t,r,n)}function D0(e){if(e instanceof lr)return new lr(e.h,e.s,e.l,e.opacity);if(e instanceof vo||(e=ui(e)),!e)return new lr;if(e instanceof lr)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,s=Math.min(t,r,n),i=Math.max(t,r,n),a=NaN,o=i-s,l=(i+s)/2;return o?(t===i?a=(r-n)/o+(r0&&l<1?0:a,new lr(a,o,l,e.opacity)}function kM(e,t,r,n){return arguments.length===1?D0(e):new lr(e,t,r,n??1)}function lr(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}_d(lr,kM,B0(vo,{brighter(e){return e=e==null?ja:Math.pow(ja,e),new lr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?oo:Math.pow(oo,e),new lr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,s=2*r-n;return new Pt(of(e>=240?e-240:e+120,s,n),of(e,s,n),of(e<120?e+240:e-120,s,n),this.opacity)},clamp(){return new lr(Fm(this.h),Go(this.s),Go(this.l),Wa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Wa(this.opacity);return`${e===1?"hsl(":"hsla("}${Fm(this.h)}, ${Go(this.s)*100}%, ${Go(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Fm(e){return e=(e||0)%360,e<0?e+360:e}function Go(e){return Math.max(0,Math.min(1,e||0))}function of(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const bd=e=>()=>e;function MM(e,t){return function(r){return e+r*t}}function NM(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function PM(e){return(e=+e)==1?U0:function(t,r){return r-t?NM(t,r,e):bd(isNaN(t)?r:t)}}function U0(e,t){var r=t-e;return r?MM(e,r):bd(isNaN(e)?t:e)}const Ha=function e(t){var r=PM(t);function n(s,i){var a=r((s=ah(s)).r,(i=ah(i)).r),o=r(s.g,i.g),l=r(s.b,i.b),u=U0(s.opacity,i.opacity);return function(f){return s.r=a(f),s.g=o(f),s.b=l(f),s.opacity=u(f),s+""}}return n.gamma=e,n}(1);function LM(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),s;return function(i){for(s=0;sr&&(i=t.slice(r,i),o[a]?o[a]+=i:o[++a]=i),(n=n[0])===(s=s[0])?o[a]?o[a]+=s:o[++a]=s:(o[++a]=null,l.push({i:a,x:ar(n,s)})),r=af.lastIndex;return r180?f+=360:f-u>180&&(u+=360),p.push({i:d.push(s(d)+"rotate(",null,n)-2,x:ar(u,f)})):f&&d.push(s(d)+"rotate("+f+n)}function o(u,f,d,p){u!==f?p.push({i:d.push(s(d)+"skewX(",null,n)-2,x:ar(u,f)}):f&&d.push(s(d)+"skewX("+f+n)}function l(u,f,d,p,g,_){if(u!==d||f!==p){var b=g.push(s(g)+"scale(",null,",",null,")");_.push({i:b-4,x:ar(u,d)},{i:b-2,x:ar(f,p)})}else(d!==1||p!==1)&&g.push(s(g)+"scale("+d+","+p+")")}return function(u,f){var d=[],p=[];return u=e(u),f=e(f),i(u.translateX,u.translateY,f.translateX,f.translateY,d,p),a(u.rotate,f.rotate,d,p),o(u.skewX,f.skewX,d,p),l(u.scaleX,u.scaleY,f.scaleX,f.scaleY,d,p),u=f=null,function(g){for(var _=-1,b=p.length,E;++_=0&&e._call.call(void 0,t),e=e._next;--is}function jm(){fi=(qa=lo.now())+Rl,is=js=0;try{zM()}finally{is=0,QM(),fi=0}}function GM(){var e=lo.now(),t=e-qa;t>W0&&(Rl-=t,qa=e)}function QM(){for(var e,t=Va,r,n=1/0;t;)t._call?(n>t._time&&(n=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:Va=r);Ws=e,fh(n)}function fh(e){if(!is){js&&(js=clearTimeout(js));var t=e-fi;t>24?(e<1/0&&(js=setTimeout(jm,e-lo.now()-Rl)),Ms&&(Ms=clearInterval(Ms))):(Ms||(qa=lo.now(),Ms=setInterval(GM,W0)),is=1,H0(jm))}}function Wm(e,t,r){var n=new Ka;return t=t==null?0:+t,n.restart(s=>{n.stop(),e(s+t)},t,r),n}var XM=S0("start","end","cancel","interrupt"),JM=[],q0=0,Hm=1,ch=2,ba=3,Vm=4,hh=5,wa=6;function Ol(e,t,r,n,s,i){var a=e.__transition;if(!a)e.__transition={};else if(r in a)return;ZM(e,r,{name:t,index:n,group:s,on:XM,tween:JM,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:q0})}function Ed(e,t){var r=hr(e,t);if(r.state>q0)throw new Error("too late; already scheduled");return r}function Cr(e,t){var r=hr(e,t);if(r.state>ba)throw new Error("too late; already running");return r}function hr(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function ZM(e,t,r){var n=e.__transition,s;n[t]=r,r.timer=V0(i,0,r.time);function i(u){r.state=Hm,r.timer.restart(a,r.delay,r.time),r.delay<=u&&a(u-r.delay)}function a(u){var f,d,p,g;if(r.state!==Hm)return l();for(f in n)if(g=n[f],g.name===r.name){if(g.state===ba)return Wm(a);g.state===Vm?(g.state=wa,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete n[f]):+fch&&n.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function ON(e,t,r){var n,s,i=RN(t)?Ed:Cr;return function(){var a=i(this,e),o=a.on;o!==n&&(s=(n=o).copy()).on(t,r),a.on=s}}function kN(e,t){var r=this._id;return arguments.length<2?hr(this.node(),r).on.on(e):this.each(ON(r,e,t))}function MN(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function NN(){return this.on("end.remove",MN(this._id))}function PN(e){var t=this._name,r=this._id;typeof e!="function"&&(e=md(e));for(var n=this._groups,s=n.length,i=new Array(s),a=0;a+e;function tP(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var rP={time:null,delay:0,duration:250,ease:tP};function nP(e,t){for(var r;!(r=e.__transition)||!(r=r[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return r}function iP(e){var t,r;e instanceof Zr?(t=e._id,e=e._name):(t=z0(),(r=rP).time=vd(),e=e==null?null:e+"");for(var n=this._groups,s=n.length,i=0;i=0))throw new Error(`invalid digits: ${e}`);if(t>15)return G0;const r=10**t;return function(n){this._+=n[0];for(let s=1,i=n.length;sVn)if(!(Math.abs(d*l-u*f)>Vn)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let g=n-a,_=s-o,b=l*l+u*u,E=g*g+_*_,v=Math.sqrt(b),S=Math.sqrt(p),w=i*Math.tan((dh-Math.acos((b+p-E)/(2*v*S)))/2),C=w/S,R=w/v;Math.abs(C-1)>Vn&&this._append`L${t+C*f},${r+C*d}`,this._append`A${i},${i},0,0,${+(d*g>f*_)},${this._x1=t+R*l},${this._y1=r+R*u}`}}arc(t,r,n,s,i,a){if(t=+t,r=+r,n=+n,a=!!a,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(s),l=n*Math.sin(s),u=t+o,f=r+l,d=1^a,p=a?s-i:i-s;this._x1===null?this._append`M${u},${f}`:(Math.abs(this._x1-u)>Vn||Math.abs(this._y1-f)>Vn)&&this._append`L${u},${f}`,n&&(p<0&&(p=p%ph+ph),p>sP?this._append`A${n},${n},0,1,${d},${t-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=f}`:p>Vn&&this._append`A${n},${n},0,${+(p>=dh)},${d},${this._x1=t+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(t,r,n,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+s}h${-n}Z`}toString(){return this._}}function lP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Ya(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function ss(e){return e=Ya(Math.abs(e)),e?e[1]:NaN}function uP(e,t){return function(r,n){for(var s=r.length,i=[],a=0,o=e[0],l=0;s>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),i.push(r.substring(s-=o,s+o)),!((l+=o+1)>n));)o=e[a=(a+1)%e.length];return i.reverse().join(t)}}function fP(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var cP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function za(e){if(!(t=cP.exec(e)))throw new Error("invalid format: "+e);var t;return new Ad({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}za.prototype=Ad.prototype;function Ad(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Ad.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function hP(e){e:for(var t=e.length,r=1,n=-1,s;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(s+1):e}var Q0;function dP(e,t){var r=Ya(e,t);if(!r)return e+"";var n=r[0],s=r[1],i=s-(Q0=Math.max(-8,Math.min(8,Math.floor(s/3)))*3)+1,a=n.length;return i===a?n:i>a?n+new Array(i-a+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+Ya(e,Math.max(0,t+i-1))[0]}function qm(e,t){var r=Ya(e,t);if(!r)return e+"";var n=r[0],s=r[1];return s<0?"0."+new Array(-s).join("0")+n:n.length>s+1?n.slice(0,s+1)+"."+n.slice(s+1):n+new Array(s-n.length+2).join("0")}const Km={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:lP,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>qm(e*100,t),r:qm,s:dP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ym(e){return e}var zm=Array.prototype.map,Gm=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function pP(e){var t=e.grouping===void 0||e.thousands===void 0?Ym:uP(zm.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",s=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?Ym:fP(zm.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",o=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function u(d){d=za(d);var p=d.fill,g=d.align,_=d.sign,b=d.symbol,E=d.zero,v=d.width,S=d.comma,w=d.precision,C=d.trim,R=d.type;R==="n"?(S=!0,R="g"):Km[R]||(w===void 0&&(w=12),C=!0,R="g"),(E||p==="0"&&g==="=")&&(E=!0,p="0",g="=");var O=b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():"",D=b==="$"?n:/[%p]/.test(R)?a:"",V=Km[R],re=/[defgprs%]/.test(R);w=w===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function G(X){var L=O,$=D,ae,ce,de;if(R==="c")$=V(X)+$,X="";else{X=+X;var pe=X<0||1/X<0;if(X=isNaN(X)?l:V(Math.abs(X),w),C&&(X=hP(X)),pe&&+X==0&&_!=="+"&&(pe=!1),L=(pe?_==="("?_:o:_==="-"||_==="("?"":_)+L,$=(R==="s"?Gm[8+Q0/3]:"")+$+(pe&&_==="("?")":""),re){for(ae=-1,ce=X.length;++aede||de>57){$=(de===46?s+X.slice(ae+1):X.slice(ae))+$,X=X.slice(0,ae);break}}}S&&!E&&(X=t(X,1/0));var z=L.length+X.length+$.length,ge=z>1)+L+X+$+ge.slice(z);break;default:X=ge+L+X+$;break}return i(X)}return G.toString=function(){return d+""},G}function f(d,p){var g=u((d=za(d),d.type="f",d)),_=Math.max(-8,Math.min(8,Math.floor(ss(p)/3)))*3,b=Math.pow(10,-_),E=Gm[8+_/3];return function(v){return g(b*v)+E}}return{format:u,formatPrefix:f}}var Xo,X0,J0;gP({thousands:",",grouping:[3],currency:["$",""]});function gP(e){return Xo=pP(e),X0=Xo.format,J0=Xo.formatPrefix,Xo}function mP(e){return Math.max(0,-ss(Math.abs(e)))}function yP(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ss(t)/3)))*3-ss(Math.abs(e)))}function _P(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ss(t)-ss(e))+1}function kl(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}const Qm=Symbol("implicit");function Z0(){var e=new Im,t=[],r=[],n=Qm;function s(i){let a=e.get(i);if(a===void 0){if(n!==Qm)return n;e.set(i,a=t.push(i)-1)}return r[a%r.length]}return s.domain=function(i){if(!arguments.length)return t.slice();t=[],e=new Im;for(const a of i)e.has(a)||e.set(a,t.push(a)-1);return s},s.range=function(i){return arguments.length?(r=Array.from(i),s):r.slice()},s.unknown=function(i){return arguments.length?(n=i,s):n},s.copy=function(){return Z0(t,r).unknown(n)},kl.apply(s,arguments),s}function bP(){var e=Z0().unknown(void 0),t=e.domain,r=e.range,n=0,s=1,i,a,o=!1,l=0,u=0,f=.5;delete e.unknown;function d(){var p=t().length,g=st&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function SP(e,t,r){var n=e[0],s=e[1],i=t[0],a=t[1];return s2?AP:SP,l=u=null,d}function d(p){return p==null||isNaN(p=+p)?i:(l||(l=o(e.map(n),t,r)))(n(a(p)))}return d.invert=function(p){return a(s((u||(u=o(t,e.map(n),ar)))(p)))},d.domain=function(p){return arguments.length?(e=Array.from(p,vP),f()):e.slice()},d.range=function(p){return arguments.length?(t=Array.from(p),f()):t.slice()},d.rangeRound=function(p){return t=Array.from(p),r=WM,f()},d.clamp=function(p){return arguments.length?(a=p?!0:Di,f()):a!==Di},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(i=p,d):i},function(p,g){return n=p,s=g,f()}}function tv(){return TP()(Di,Di)}function xP(e,t,r,n){var s=ih(e,t,r),i;switch(n=za(n??",f"),n.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=yP(s,a))&&(n.precision=i),J0(n,a)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=_P(s,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=mP(s))&&(n.precision=i-(n.type==="%")*2);break}}return X0(n)}function IP(e){var t=e.domain;return e.ticks=function(r){var n=t();return kO(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var s=t();return xP(s[0],s[s.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),s=0,i=n.length-1,a=n[s],o=n[i],l,u,f=10;for(o0;){if(u=nh(a,o,r),u===l)return n[s]=a,n[i]=o,t(n);if(u>0)a=Math.floor(a/u)*u,o=Math.ceil(o/u)*u;else if(u<0)a=Math.ceil(a*u)/u,o=Math.floor(o*u)/u;else break;l=u}return e},e}function CP(){var e=tv();return e.copy=function(){return ev(e,CP())},kl.apply(e,arguments),IP(e)}function RP(e,t){e=e.slice();var r=0,n=e.length-1,s=e[r],i=e[n],a;return i(e(i=new Date(+i)),i),s.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),s.round=i=>{const a=s(i),o=s.ceil(i);return i-a(t(i=new Date(+i),a==null?1:Math.floor(a)),i),s.range=(i,a,o)=>{const l=[];if(i=s.ceil(i),o=o==null?1:Math.floor(o),!(i0))return l;let u;do l.push(u=new Date(+i)),t(i,o),e(i);while(uft(a=>{if(a>=a)for(;e(a),!i(a);)a.setTime(a-1)},(a,o)=>{if(a>=a)if(o<0)for(;++o<=0;)for(;t(a,-1),!i(a););else for(;--o>=0;)for(;t(a,1),!i(a););}),r&&(s.count=(i,a)=>(lf.setTime(+i),uf.setTime(+a),e(lf),e(uf),Math.floor(r(lf,uf))),s.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?s.filter(n?a=>n(a)%i===0:a=>s.count(0,a)%i===0):s)),s}const Ga=ft(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Ga.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?ft(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Ga);Ga.range;const Vr=1e3,Xt=Vr*60,qr=Xt*60,en=qr*24,Td=en*7,Jm=en*30,ff=en*365,Ui=ft(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Vr)},(e,t)=>(t-e)/Vr,e=>e.getUTCSeconds());Ui.range;const xd=ft(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Vr)},(e,t)=>{e.setTime(+e+t*Xt)},(e,t)=>(t-e)/Xt,e=>e.getMinutes());xd.range;const OP=ft(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Xt)},(e,t)=>(t-e)/Xt,e=>e.getUTCMinutes());OP.range;const Id=ft(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Vr-e.getMinutes()*Xt)},(e,t)=>{e.setTime(+e+t*qr)},(e,t)=>(t-e)/qr,e=>e.getHours());Id.range;const kP=ft(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*qr)},(e,t)=>(t-e)/qr,e=>e.getUTCHours());kP.range;const Eo=ft(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Xt)/en,e=>e.getDate()-1);Eo.range;const Cd=ft(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/en,e=>e.getUTCDate()-1);Cd.range;const MP=ft(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/en,e=>Math.floor(e/en));MP.range;function vi(e){return ft(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Xt)/Td)}const Ml=vi(0),Qa=vi(1),NP=vi(2),PP=vi(3),os=vi(4),LP=vi(5),BP=vi(6);Ml.range;Qa.range;NP.range;PP.range;os.range;LP.range;BP.range;function Ei(e){return ft(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/Td)}const rv=Ei(0),Xa=Ei(1),DP=Ei(2),UP=Ei(3),as=Ei(4),FP=Ei(5),$P=Ei(6);rv.range;Xa.range;DP.range;UP.range;as.range;FP.range;$P.range;const Rd=ft(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Rd.range;const jP=ft(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());jP.range;const tn=ft(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());tn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:ft(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});tn.range;const ci=ft(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ci.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:ft(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});ci.range;function WP(e,t,r,n,s,i){const a=[[Ui,1,Vr],[Ui,5,5*Vr],[Ui,15,15*Vr],[Ui,30,30*Vr],[i,1,Xt],[i,5,5*Xt],[i,15,15*Xt],[i,30,30*Xt],[s,1,qr],[s,3,3*qr],[s,6,6*qr],[s,12,12*qr],[n,1,en],[n,2,2*en],[r,1,Td],[t,1,Jm],[t,3,3*Jm],[e,1,ff]];function o(u,f,d){const p=fE).right(a,p);if(g===a.length)return e.every(ih(u/ff,f/ff,d));if(g===0)return Ga.every(Math.max(ih(u,f,d),1));const[_,b]=a[p/a[g-1][2]53)return null;"w"in A||(A.w=1),"Z"in A?(M=hf(Ns(A.y,0,1)),I=M.getUTCDay(),M=I>4||I===0?Xa.ceil(M):Xa(M),M=Cd.offset(M,(A.V-1)*7),A.y=M.getUTCFullYear(),A.m=M.getUTCMonth(),A.d=M.getUTCDate()+(A.w+6)%7):(M=cf(Ns(A.y,0,1)),I=M.getDay(),M=I>4||I===0?Qa.ceil(M):Qa(M),M=Eo.offset(M,(A.V-1)*7),A.y=M.getFullYear(),A.m=M.getMonth(),A.d=M.getDate()+(A.w+6)%7)}else("W"in A||"U"in A)&&("w"in A||(A.w="u"in A?A.u%7:"W"in A?1:0),I="Z"in A?hf(Ns(A.y,0,1)).getUTCDay():cf(Ns(A.y,0,1)).getDay(),A.m=0,A.d="W"in A?(A.w+6)%7+A.W*7-(I+5)%7:A.w+A.U*7-(I+6)%7);return"Z"in A?(A.H+=A.Z/100|0,A.M+=A.Z%100,hf(A)):cf(A)}}function V(W,te,ee,A){for(var T=0,M=te.length,I=ee.length,B,U;T=I)return-1;if(B=te.charCodeAt(T++),B===37){if(B=te.charAt(T++),U=R[B in Zm?te.charAt(T++):B],!U||(A=U(W,ee,A))<0)return-1}else if(B!=ee.charCodeAt(A++))return-1}return A}function re(W,te,ee){var A=u.exec(te.slice(ee));return A?(W.p=f.get(A[0].toLowerCase()),ee+A[0].length):-1}function G(W,te,ee){var A=g.exec(te.slice(ee));return A?(W.w=_.get(A[0].toLowerCase()),ee+A[0].length):-1}function X(W,te,ee){var A=d.exec(te.slice(ee));return A?(W.w=p.get(A[0].toLowerCase()),ee+A[0].length):-1}function L(W,te,ee){var A=v.exec(te.slice(ee));return A?(W.m=S.get(A[0].toLowerCase()),ee+A[0].length):-1}function $(W,te,ee){var A=b.exec(te.slice(ee));return A?(W.m=E.get(A[0].toLowerCase()),ee+A[0].length):-1}function ae(W,te,ee){return V(W,t,te,ee)}function ce(W,te,ee){return V(W,r,te,ee)}function de(W,te,ee){return V(W,n,te,ee)}function pe(W){return a[W.getDay()]}function z(W){return i[W.getDay()]}function ge(W){return l[W.getMonth()]}function Y(W){return o[W.getMonth()]}function he(W){return s[+(W.getHours()>=12)]}function N(W){return 1+~~(W.getMonth()/3)}function ne(W){return a[W.getUTCDay()]}function ye(W){return i[W.getUTCDay()]}function oe(W){return l[W.getUTCMonth()]}function Q(W){return o[W.getUTCMonth()]}function q(W){return s[+(W.getUTCHours()>=12)]}function k(W){return 1+~~(W.getUTCMonth()/3)}return{format:function(W){var te=O(W+="",w);return te.toString=function(){return W},te},parse:function(W){var te=D(W+="",!1);return te.toString=function(){return W},te},utcFormat:function(W){var te=O(W+="",C);return te.toString=function(){return W},te},utcParse:function(W){var te=D(W+="",!0);return te.toString=function(){return W},te}}}var Zm={"-":"",_:" ",0:"0"},ht=/^\s*\d+/,KP=/^%/,YP=/[\\^$*+?|[\]().{}]/g;function $e(e,t,r){var n=e<0?"-":"",s=(n?-e:e)+"",i=s.length;return n+(i[t.toLowerCase(),r]))}function GP(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function QP(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function XP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function JP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function ZP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function ey(e,t,r){var n=ht.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function ty(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function e2(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function t2(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function r2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function ry(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function n2(e,t,r){var n=ht.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function ny(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function i2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function s2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function o2(e,t,r){var n=ht.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function a2(e,t,r){var n=ht.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function l2(e,t,r){var n=KP.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function u2(e,t,r){var n=ht.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function f2(e,t,r){var n=ht.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function iy(e,t){return $e(e.getDate(),t,2)}function c2(e,t){return $e(e.getHours(),t,2)}function h2(e,t){return $e(e.getHours()%12||12,t,2)}function d2(e,t){return $e(1+Eo.count(tn(e),e),t,3)}function nv(e,t){return $e(e.getMilliseconds(),t,3)}function p2(e,t){return nv(e,t)+"000"}function g2(e,t){return $e(e.getMonth()+1,t,2)}function m2(e,t){return $e(e.getMinutes(),t,2)}function y2(e,t){return $e(e.getSeconds(),t,2)}function _2(e){var t=e.getDay();return t===0?7:t}function b2(e,t){return $e(Ml.count(tn(e)-1,e),t,2)}function iv(e){var t=e.getDay();return t>=4||t===0?os(e):os.ceil(e)}function w2(e,t){return e=iv(e),$e(os.count(tn(e),e)+(tn(e).getDay()===4),t,2)}function v2(e){return e.getDay()}function E2(e,t){return $e(Qa.count(tn(e)-1,e),t,2)}function S2(e,t){return $e(e.getFullYear()%100,t,2)}function A2(e,t){return e=iv(e),$e(e.getFullYear()%100,t,2)}function T2(e,t){return $e(e.getFullYear()%1e4,t,4)}function x2(e,t){var r=e.getDay();return e=r>=4||r===0?os(e):os.ceil(e),$e(e.getFullYear()%1e4,t,4)}function I2(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+$e(t/60|0,"0",2)+$e(t%60,"0",2)}function sy(e,t){return $e(e.getUTCDate(),t,2)}function C2(e,t){return $e(e.getUTCHours(),t,2)}function R2(e,t){return $e(e.getUTCHours()%12||12,t,2)}function O2(e,t){return $e(1+Cd.count(ci(e),e),t,3)}function sv(e,t){return $e(e.getUTCMilliseconds(),t,3)}function k2(e,t){return sv(e,t)+"000"}function M2(e,t){return $e(e.getUTCMonth()+1,t,2)}function N2(e,t){return $e(e.getUTCMinutes(),t,2)}function P2(e,t){return $e(e.getUTCSeconds(),t,2)}function L2(e){var t=e.getUTCDay();return t===0?7:t}function B2(e,t){return $e(rv.count(ci(e)-1,e),t,2)}function ov(e){var t=e.getUTCDay();return t>=4||t===0?as(e):as.ceil(e)}function D2(e,t){return e=ov(e),$e(as.count(ci(e),e)+(ci(e).getUTCDay()===4),t,2)}function U2(e){return e.getUTCDay()}function F2(e,t){return $e(Xa.count(ci(e)-1,e),t,2)}function $2(e,t){return $e(e.getUTCFullYear()%100,t,2)}function j2(e,t){return e=ov(e),$e(e.getUTCFullYear()%100,t,2)}function W2(e,t){return $e(e.getUTCFullYear()%1e4,t,4)}function H2(e,t){var r=e.getUTCDay();return e=r>=4||r===0?as(e):as.ceil(e),$e(e.getUTCFullYear()%1e4,t,4)}function V2(){return"+0000"}function oy(){return"%"}function ay(e){return+e}function ly(e){return Math.floor(+e/1e3)}var Ci,av,q2;K2({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function K2(e){return Ci=qP(e),av=Ci.format,q2=Ci.parse,Ci.utcFormat,Ci.utcParse,Ci}function Y2(e){return new Date(e)}function z2(e){return e instanceof Date?+e:+new Date(+e)}function lv(e,t,r,n,s,i,a,o,l,u){var f=tv(),d=f.invert,p=f.domain,g=u(".%L"),_=u(":%S"),b=u("%I:%M"),E=u("%I %p"),v=u("%a %d"),S=u("%b %d"),w=u("%B"),C=u("%Y");function R(O){return(l(O)1?0:e<-1?uo:Math.acos(e)}function fy(e){return e>=1?Ja:e<=-1?-Ja:Math.asin(e)}function Od(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new aP(t)}function X2(e){return e.innerRadius}function J2(e){return e.outerRadius}function Z2(e){return e.startAngle}function eL(e){return e.endAngle}function tL(e){return e&&e.padAngle}function rL(e,t,r,n,s,i,a,o){var l=r-e,u=n-t,f=a-s,d=o-i,p=d*l-f*u;if(!(p*pae*ae+ce*ce&&(V=G,re=X),{cx:V,cy:re,x01:-f,y01:-d,x11:V*(s/R-1),y11:re*(s/R-1)}}function NL(){var e=X2,t=J2,r=Ue(0),n=null,s=Z2,i=eL,a=tL,o=null,l=Od(u);function u(){var f,d,p=+e.apply(this,arguments),g=+t.apply(this,arguments),_=s.apply(this,arguments)-Ja,b=i.apply(this,arguments)-Ja,E=uy(b-_),v=b>_;if(o||(o=f=l()),gMt))o.moveTo(0,0);else if(E>va-Mt)o.moveTo(g*jn(_),g*gr(_)),o.arc(0,0,g,_,b,!v),p>Mt&&(o.moveTo(p*jn(b),p*gr(b)),o.arc(0,0,p,b,_,v));else{var S=_,w=b,C=_,R=b,O=E,D=E,V=a.apply(this,arguments)/2,re=V>Mt&&(n?+n.apply(this,arguments):Fi(p*p+g*g)),G=df(uy(g-p)/2,+r.apply(this,arguments)),X=G,L=G,$,ae;if(re>Mt){var ce=fy(re/p*gr(V)),de=fy(re/g*gr(V));(O-=ce*2)>Mt?(ce*=v?1:-1,C+=ce,R-=ce):(O=0,C=R=(_+b)/2),(D-=de*2)>Mt?(de*=v?1:-1,S+=de,w-=de):(D=0,S=w=(_+b)/2)}var pe=g*jn(S),z=g*gr(S),ge=p*jn(R),Y=p*gr(R);if(G>Mt){var he=g*jn(w),N=g*gr(w),ne=p*jn(C),ye=p*gr(C),oe;if(EMt?L>Mt?($=Jo(ne,ye,pe,z,g,L,v),ae=Jo(he,N,ge,Y,g,L,v),o.moveTo($.cx+$.x01,$.cy+$.y01),LMt)||!(O>Mt)?o.lineTo(ge,Y):X>Mt?($=Jo(ge,Y,he,N,p,-X,v),ae=Jo(pe,z,ne,ye,p,-X,v),o.lineTo($.cx+$.x01,$.cy+$.y01),X=g;--_)o.point(w[_],C[_]);o.lineEnd(),o.areaEnd()}v&&(w[p]=+e(E,p,d),C[p]=+t(E,p,d),o.point(n?+n(E,p,d):w[p],r?+r(E,p,d):C[p]))}if(S)return o=null,S+""||null}function f(){return nL().defined(s).curve(a).context(i)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:Ue(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Ue(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Ue(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:Ue(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Ue(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Ue(+d),u):r},u.lineX0=u.lineY0=function(){return f().x(e).y(t)},u.lineY1=function(){return f().x(e).y(r)},u.lineX1=function(){return f().x(n).y(t)},u.defined=function(d){return arguments.length?(s=typeof d=="function"?d:Ue(!!d),u):s},u.curve=function(d){return arguments.length?(a=d,i!=null&&(o=a(i)),u):a},u.context=function(d){return arguments.length?(d==null?i=o=null:o=a(i=d),u):i},u}function iL(e,t){return te?1:t>=e?0:NaN}function sL(e){return e}function LL(){var e=sL,t=iL,r=null,n=Ue(0),s=Ue(va),i=Ue(0);function a(o){var l,u=(o=Nl(o)).length,f,d,p=0,g=new Array(u),_=new Array(u),b=+n.apply(this,arguments),E=Math.min(va,Math.max(-va,s.apply(this,arguments)-b)),v,S=Math.min(Math.abs(E)/u,i.apply(this,arguments)),w=S*(E<0?-1:1),C;for(l=0;l0&&(p+=C);for(t!=null?g.sort(function(R,O){return t(_[R],_[O])}):r!=null&&g.sort(function(R,O){return r(o[R],o[O])}),l=0,d=p?(E-u*w)/p:0;l0?C*d:0)+w,_[f]={data:o[f],index:l,value:C,startAngle:b,endAngle:v,padAngle:S};return _}return a.value=function(o){return arguments.length?(e=typeof o=="function"?o:Ue(+o),a):e},a.sortValues=function(o){return arguments.length?(t=o,r=null,a):t},a.sort=function(o){return arguments.length?(r=o,t=null,a):r},a.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:Ue(+o),a):n},a.endAngle=function(o){return arguments.length?(s=typeof o=="function"?o:Ue(+o),a):s},a.padAngle=function(o){return arguments.length?(i=typeof o=="function"?o:Ue(+o),a):i},a}function cy(e,t){if((a=e.length)>1)for(var r=1,n,s,i=e[t[0]],a,o=i.length;r=0;)r[t]=t;return r}function oL(e,t){return e[t]}function aL(e){const t=[];return t.key=e,t}function BL(){var e=Ue([]),t=hy,r=cy,n=oL;function s(i){var a=Array.from(e.apply(this,arguments),aL),o,l=a.length,u=-1,f;for(const d of i)for(o=0,++u;o=w+4;S-=3)v=`_${E.slice(S-3,S)}${v}`;return`${E.slice(0,S)}${v}`}function d(E,v,S){if(typeof v=="function")return u(v.length<=S.length,`Code: ${E}; The provided arguments length (${S.length}) does not match the required ones (${v.length}).`),v(...S);const w=(v.match(/%[dfijoOs]/g)||[]).length;return u(w===S.length,`Code: ${E}; The provided arguments length (${S.length}) does not match the required ones (${w}).`),S.length===0?v:e(v,...S)}function p(E,v,S){S||(S=Error);class w extends S{constructor(...R){super(d(E,v,R))}toString(){return`${this.name} [${E}]: ${this.message}`}}Object.defineProperties(w.prototype,{name:{value:S.name,writable:!0,enumerable:!1,configurable:!0},toString:{value(){return`${this.name} [${E}]: ${this.message}`},writable:!0,enumerable:!1,configurable:!0}}),w.prototype.code=E,w.prototype[s]=!0,l[E]=w}function g(E){const v=o+E.name;return Object.defineProperty(E,"name",{value:v}),E}function _(E,v){if(E&&v&&E!==v){if(Array.isArray(v.errors))return v.errors.push(E),v;const S=new n([v,E],v.message);return S.code=v.code,S}return E||v}class b extends Error{constructor(v="The operation was aborted",S=void 0){if(S!==void 0&&typeof S!="object")throw new l.ERR_INVALID_ARG_TYPE("options","Object",S);super(v,S),this.code="ABORT_ERR",this.name="AbortError"}}return p("ERR_ASSERTION","%s",Error),p("ERR_INVALID_ARG_TYPE",(E,v,S)=>{u(typeof E=="string","'name' must be a string"),Array.isArray(v)||(v=[v]);let w="The ";E.endsWith(" argument")?w+=`${E} `:w+=`"${E}" ${E.includes(".")?"property":"argument"} `,w+="must be ";const C=[],R=[],O=[];for(const V of v)u(typeof V=="string","All expected entries have to be of type string"),i.includes(V)?C.push(V.toLowerCase()):a.test(V)?R.push(V):(u(V!=="object",'The value "object" should be written as "Object"'),O.push(V));if(R.length>0){const V=C.indexOf("object");V!==-1&&(C.splice(C,V,1),R.push("Object"))}if(C.length>0){switch(C.length){case 1:w+=`of type ${C[0]}`;break;case 2:w+=`one of type ${C[0]} or ${C[1]}`;break;default:{const V=C.pop();w+=`one of type ${C.join(", ")}, or ${V}`}}(R.length>0||O.length>0)&&(w+=" or ")}if(R.length>0){switch(R.length){case 1:w+=`an instance of ${R[0]}`;break;case 2:w+=`an instance of ${R[0]} or ${R[1]}`;break;default:{const V=R.pop();w+=`an instance of ${R.join(", ")}, or ${V}`}}O.length>0&&(w+=" or ")}switch(O.length){case 0:break;case 1:O[0].toLowerCase()!==O[0]&&(w+="an "),w+=`${O[0]}`;break;case 2:w+=`one of ${O[0]} or ${O[1]}`;break;default:{const V=O.pop();w+=`one of ${O.join(", ")}, or ${V}`}}if(S==null)w+=`. Received ${S}`;else if(typeof S=="function"&&S.name)w+=`. Received function ${S.name}`;else if(typeof S=="object"){var D;if((D=S.constructor)!==null&&D!==void 0&&D.name)w+=`. Received an instance of ${S.constructor.name}`;else{const V=t(S,{depth:-1});w+=`. Received ${V}`}}else{let V=t(S,{colors:!1});V.length>25&&(V=`${V.slice(0,25)}...`),w+=`. Received type ${typeof S} (${V})`}return w},TypeError),p("ERR_INVALID_ARG_VALUE",(E,v,S="is invalid")=>{let w=t(v);return w.length>128&&(w=w.slice(0,128)+"..."),`The ${E.includes(".")?"property":"argument"} '${E}' ${S}. Received ${w}`},TypeError),p("ERR_INVALID_RETURN_VALUE",(E,v,S)=>{var w;const C=S!=null&&(w=S.constructor)!==null&&w!==void 0&&w.name?`instance of ${S.constructor.name}`:`type ${typeof S}`;return`Expected ${E} to be returned from the "${v}" function but got ${C}.`},TypeError),p("ERR_MISSING_ARGS",(...E)=>{u(E.length>0,"At least one arg needs to be specified");let v;const S=E.length;switch(E=(Array.isArray(E)?E:[E]).map(w=>`"${w}"`).join(" or "),S){case 1:v+=`The ${E[0]} argument`;break;case 2:v+=`The ${E[0]} and ${E[1]} arguments`;break;default:{const w=E.pop();v+=`The ${E.join(", ")}, and ${w} arguments`}break}return`${v} must be specified`},TypeError),p("ERR_OUT_OF_RANGE",(E,v,S)=>{u(v,'Missing "range" argument');let w;if(Number.isInteger(S)&&Math.abs(S)>2**32)w=f(String(S));else if(typeof S=="bigint"){w=String(S);const C=BigInt(2)**BigInt(32);(S>C||S<-C)&&(w=f(w)),w+="n"}else w=t(S);return`The value of "${E}" is out of range. It must be ${v}. Received ${w}`},RangeError),p("ERR_MULTIPLE_CALLBACK","Callback called multiple times",Error),p("ERR_METHOD_NOT_IMPLEMENTED","The %s method is not implemented",Error),p("ERR_STREAM_ALREADY_FINISHED","Cannot call %s after a stream was finished",Error),p("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable",Error),p("ERR_STREAM_DESTROYED","Cannot call %s after a stream was destroyed",Error),p("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),p("ERR_STREAM_PREMATURE_CLOSE","Premature close",Error),p("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF",Error),p("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event",Error),p("ERR_STREAM_WRITE_AFTER_END","write after end",Error),p("ERR_UNKNOWN_ENCODING","Unknown encoding: %s",TypeError),Ou={AbortError:b,aggregateTwoErrors:g(_),hideStackFrames:g,codes:l},Ou}var ks={exports:{}},$g;function so(){if($g)return ks.exports;$g=1;const{AbortController:e,AbortSignal:t}=typeof self<"u"?self:typeof window<"u"?window:void 0;return ks.exports=e,ks.exports.AbortSignal=t,ks.exports.default=e,ks.exports}var jo={exports:{}},jg;function gs(){if(jg)return jo.exports;jg=1;var e=typeof Reflect=="object"?Reflect:null,t=e&&typeof e.apply=="function"?e.apply:function(R,O,D){return Function.prototype.apply.call(R,O,D)},r;e&&typeof e.ownKeys=="function"?r=e.ownKeys:Object.getOwnPropertySymbols?r=function(R){return Object.getOwnPropertyNames(R).concat(Object.getOwnPropertySymbols(R))}:r=function(R){return Object.getOwnPropertyNames(R)};function n(C){console&&console.warn&&console.warn(C)}var s=Number.isNaN||function(R){return R!==R};function i(){i.init.call(this)}jo.exports=i,jo.exports.once=v,i.EventEmitter=i,i.prototype._events=void 0,i.prototype._eventsCount=0,i.prototype._maxListeners=void 0;var a=10;function o(C){if(typeof C!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof C)}Object.defineProperty(i,"defaultMaxListeners",{enumerable:!0,get:function(){return a},set:function(C){if(typeof C!="number"||C<0||s(C))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+C+".");a=C}}),i.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},i.prototype.setMaxListeners=function(R){if(typeof R!="number"||R<0||s(R))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+R+".");return this._maxListeners=R,this};function l(C){return C._maxListeners===void 0?i.defaultMaxListeners:C._maxListeners}i.prototype.getMaxListeners=function(){return l(this)},i.prototype.emit=function(R){for(var O=[],D=1;D0&&(G=O[0]),G instanceof Error)throw G;var X=new Error("Unhandled error."+(G?" ("+G.message+")":""));throw X.context=G,X}var L=re[R];if(L===void 0)return!1;if(typeof L=="function")t(L,this,O);else for(var $=L.length,ae=_(L,$),D=0;D<$;++D)t(ae[D],this,O);return!0};function u(C,R,O,D){var V,re,G;if(o(O),re=C._events,re===void 0?(re=C._events=Object.create(null),C._eventsCount=0):(re.newListener!==void 0&&(C.emit("newListener",R,O.listener?O.listener:O),re=C._events),G=re[R]),G===void 0)G=re[R]=O,++C._eventsCount;else if(typeof G=="function"?G=re[R]=D?[O,G]:[G,O]:D?G.unshift(O):G.push(O),V=l(C),V>0&&G.length>V&&!G.warned){G.warned=!0;var X=new Error("Possible EventEmitter memory leak detected. "+G.length+" "+String(R)+" listeners added. Use emitter.setMaxListeners() to increase limit");X.name="MaxListenersExceededWarning",X.emitter=C,X.type=R,X.count=G.length,n(X)}return C}i.prototype.addListener=function(R,O){return u(this,R,O,!1)},i.prototype.on=i.prototype.addListener,i.prototype.prependListener=function(R,O){return u(this,R,O,!0)};function f(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function d(C,R,O){var D={fired:!1,wrapFn:void 0,target:C,type:R,listener:O},V=f.bind(D);return V.listener=O,D.wrapFn=V,V}i.prototype.once=function(R,O){return o(O),this.on(R,d(this,R,O)),this},i.prototype.prependOnceListener=function(R,O){return o(O),this.prependListener(R,d(this,R,O)),this},i.prototype.removeListener=function(R,O){var D,V,re,G,X;if(o(O),V=this._events,V===void 0)return this;if(D=V[R],D===void 0)return this;if(D===O||D.listener===O)--this._eventsCount===0?this._events=Object.create(null):(delete V[R],V.removeListener&&this.emit("removeListener",R,D.listener||O));else if(typeof D!="function"){for(re=-1,G=D.length-1;G>=0;G--)if(D[G]===O||D[G].listener===O){X=D[G].listener,re=G;break}if(re<0)return this;re===0?D.shift():b(D,re),D.length===1&&(V[R]=D[0]),V.removeListener!==void 0&&this.emit("removeListener",R,X||O)}return this},i.prototype.off=i.prototype.removeListener,i.prototype.removeAllListeners=function(R){var O,D,V;if(D=this._events,D===void 0)return this;if(D.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):D[R]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete D[R]),this;if(arguments.length===0){var re=Object.keys(D),G;for(V=0;V=0;V--)this.removeListener(R,O[V]);return this};function p(C,R,O){var D=C._events;if(D===void 0)return[];var V=D[R];return V===void 0?[]:typeof V=="function"?O?[V.listener||V]:[V]:O?E(V):_(V,V.length)}i.prototype.listeners=function(R){return p(this,R,!0)},i.prototype.rawListeners=function(R){return p(this,R,!1)},i.listenerCount=function(C,R){return typeof C.listenerCount=="function"?C.listenerCount(R):g.call(C,R)},i.prototype.listenerCount=g;function g(C){var R=this._events;if(R!==void 0){var O=R[C];if(typeof O=="function")return 1;if(O!==void 0)return O.length}return 0}i.prototype.eventNames=function(){return this._eventsCount>0?r(this._events):[]};function _(C,R){for(var O=new Array(R),D=0;D{if(b!==void 0&&(b===null||typeof b!="object"||!("aborted"in b)))throw new s(E,"AbortSignal",b)},_=(b,E)=>{if(typeof b!="function")throw new s(E,"Function",b)};e.exports={AggregateError:a,kEmptyObject:Object.freeze({}),once(b){let E=!1;return function(...v){E||(E=!0,b.apply(this,v))}},createDeferredPromise:function(){let b,E;return{promise:new Promise((S,w)=>{b=S,E=w}),resolve:b,reject:E}},promisify(b){return new Promise((E,v)=>{b((S,...w)=>S?v(S):E(...w))})},debuglog(){return function(){}},format:r,inspect:n,types:{isAsyncFunction(b){return b instanceof f},isArrayBufferView(b){return ArrayBuffer.isView(b)}},isBlob:p,deprecate(b,E){return b},addAbortListener:gs().addAbortListener||function(E,v){if(E===void 0)throw new s("signal","AbortSignal",E);g(E,"signal"),_(v,"listener");let S;return E.aborted?queueMicrotask(()=>v()):(E.addEventListener("abort",v,{__proto__:null,once:!0,[i]:!0}),S=()=>{E.removeEventListener("abort",v)}),{__proto__:null,[o](){var w;(w=S)===null||w===void 0||w()}}},AbortSignalAny:l.any||function(E){if(E.length===1)return E[0];const v=new u,S=()=>v.abort();return E.forEach(w=>{g(w,"signals"),w.addEventListener("abort",S,{once:!0})}),v.signal.addEventListener("abort",()=>{E.forEach(w=>w.removeEventListener("abort",S))},{once:!0}),v.signal}},e.exports.promisify.custom=Symbol.for("nodejs.util.promisify.custom")}(Cu)),Cu.exports}var Wo={},ku,Hg;function bo(){if(Hg)return ku;Hg=1;const{ArrayIsArray:e,ArrayPrototypeIncludes:t,ArrayPrototypeJoin:r,ArrayPrototypeMap:n,NumberIsInteger:s,NumberIsNaN:i,NumberMAX_SAFE_INTEGER:a,NumberMIN_SAFE_INTEGER:o,NumberParseInt:l,ObjectPrototypeHasOwnProperty:u,RegExpPrototypeExec:f,String:d,StringPrototypeToUpperCase:p,StringPrototypeTrim:g}=nt(),{hideStackFrames:_,codes:{ERR_SOCKET_BAD_PORT:b,ERR_INVALID_ARG_TYPE:E,ERR_INVALID_ARG_VALUE:v,ERR_OUT_OF_RANGE:S,ERR_UNKNOWN_SIGNAL:w}}=Ot(),{normalizeEncoding:C}=Lt(),{isAsyncFunction:R,isArrayBufferView:O}=Lt().types,D={};function V(j){return j===(j|0)}function re(j){return j===j>>>0}const G=/^[0-7]+$/,X="must be a 32-bit unsigned integer or an octal string";function L(j,F,K){if(typeof j>"u"&&(j=K),typeof j=="string"){if(f(G,j)===null)throw new v(F,j,X);j=l(j,8)}return ce(j,F),j}const $=_((j,F,K=o,P=a)=>{if(typeof j!="number")throw new E(F,"number",j);if(!s(j))throw new S(F,"an integer",j);if(jP)throw new S(F,`>= ${K} && <= ${P}`,j)}),ae=_((j,F,K=-2147483648,P=2147483647)=>{if(typeof j!="number")throw new E(F,"number",j);if(!s(j))throw new S(F,"an integer",j);if(jP)throw new S(F,`>= ${K} && <= ${P}`,j)}),ce=_((j,F,K=!1)=>{if(typeof j!="number")throw new E(F,"number",j);if(!s(j))throw new S(F,"an integer",j);const P=K?1:0,J=4294967295;if(jJ)throw new S(F,`>= ${P} && <= ${J}`,j)});function de(j,F){if(typeof j!="string")throw new E(F,"string",j)}function pe(j,F,K=void 0,P){if(typeof j!="number")throw new E(F,"number",j);if(K!=null&&jP||(K!=null||P!=null)&&i(j))throw new S(F,`${K!=null?`>= ${K}`:""}${K!=null&&P!=null?" && ":""}${P!=null?`<= ${P}`:""}`,j)}const z=_((j,F,K)=>{if(!t(K,j)){const J="must be one of: "+r(n(K,le=>typeof le=="string"?`'${le}'`:d(le)),", ");throw new v(F,j,J)}});function ge(j,F){if(typeof j!="boolean")throw new E(F,"boolean",j)}function Y(j,F,K){return j==null||!u(j,F)?K:j[F]}const he=_((j,F,K=null)=>{const P=Y(K,"allowArray",!1),J=Y(K,"allowFunction",!1);if(!Y(K,"nullable",!1)&&j===null||!P&&e(j)||typeof j!="object"&&(!J||typeof j!="function"))throw new E(F,"Object",j)}),N=_((j,F)=>{if(j!=null&&typeof j!="object"&&typeof j!="function")throw new E(F,"a dictionary",j)}),ne=_((j,F,K=0)=>{if(!e(j))throw new E(F,"Array",j);if(j.length{if(!O(j))throw new E(F,["Buffer","TypedArray","DataView"],j)});function W(j,F){const K=C(F),P=j.length;if(K==="hex"&&P%2!==0)throw new v("encoding",F,`is invalid for data of length ${P}`)}function te(j,F="Port",K=!0){if(typeof j!="number"&&typeof j!="string"||typeof j=="string"&&g(j).length===0||+j!==+j>>>0||j>65535||j===0&&!K)throw new b(F,j,K);return j|0}const ee=_((j,F)=>{if(j!==void 0&&(j===null||typeof j!="object"||!("aborted"in j)))throw new E(F,"AbortSignal",j)}),A=_((j,F)=>{if(typeof j!="function")throw new E(F,"Function",j)}),T=_((j,F)=>{if(typeof j!="function"||R(j))throw new E(F,"Function",j)}),M=_((j,F)=>{if(j!==void 0)throw new E(F,"undefined",j)});function I(j,F,K){if(!t(K,j))throw new E(F,`('${r(K,"|")}')`,j)}const B=/^(?:<[^>]*>)(?:\s*;\s*[^;"\s]+(?:=(")?[^;"\s]*\1)?)*$/;function U(j,F){if(typeof j>"u"||!f(B,j))throw new v(F,j,'must be an array or string of format "; rel=preload; as=style"')}function Z(j){if(typeof j=="string")return U(j,"hints"),j;if(e(j)){const F=j.length;let K="";if(F===0)return K;for(let P=0;P; rel=preload; as=style"')}return ku={isInt32:V,isUint32:re,parseFileMode:L,validateArray:ne,validateStringArray:ye,validateBooleanArray:oe,validateAbortSignalArray:Q,validateBoolean:ge,validateBuffer:k,validateDictionary:N,validateEncoding:W,validateFunction:A,validateInt32:ae,validateInteger:$,validateNumber:pe,validateObject:he,validateOneOf:z,validatePlainFunction:T,validatePort:te,validateSignalName:q,validateString:de,validateUint32:ce,validateUndefined:M,validateUnion:I,validateAbortSignal:ee,validateLinkHeaderValue:Z},ku}var Ho={exports:{}},Mu={exports:{}},Vg;function bi(){if(Vg)return Mu.exports;Vg=1;var e=Mu.exports={},t,r;function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?t=setTimeout:t=n}catch{t=n}try{typeof clearTimeout=="function"?r=clearTimeout:r=s}catch{r=s}})();function i(b){if(t===setTimeout)return setTimeout(b,0);if((t===n||!t)&&setTimeout)return t=setTimeout,setTimeout(b,0);try{return t(b,0)}catch{try{return t.call(null,b,0)}catch{return t.call(this,b,0)}}}function a(b){if(r===clearTimeout)return clearTimeout(b);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(b);try{return r(b)}catch{try{return r.call(null,b)}catch{return r.call(this,b)}}}var o=[],l=!1,u,f=-1;function d(){!l||!u||(l=!1,u.length?o=u.concat(o):f=-1,o.length&&p())}function p(){if(!l){var b=i(d);l=!0;for(var E=o.length;E;){for(u=o,o=[];++f1)for(var v=1;v{};function ce(z,ge,Y){var he,N;if(arguments.length===2?(Y=ge,ge=i):ge==null?ge=i:u(ge,"options"),l(Y,"callback"),o(ge.signal,"options.signal"),Y=a(Y),v(z)||O(z))return de(z,ge,Y);if(!re(z))throw new n("stream",["ReadableStream","WritableStream","Stream"],z);const ne=(he=ge.readable)!==null&&he!==void 0?he:E(z),ye=(N=ge.writable)!==null&&N!==void 0?N:R(z),oe=z._writableState,Q=z._readableState,q=()=>{z.writable||te()};let k=G(z)&&E(z)===ne&&R(z)===ye,W=D(z,!1);const te=()=>{W=!0,z.destroyed&&(k=!1),!(k&&(!z.readable||ne))&&(!ne||ee)&&Y.call(z)};let ee=S(z,!1);const A=()=>{ee=!0,z.destroyed&&(k=!1),!(k&&(!z.writable||ye))&&(!ye||W)&&Y.call(z)},T=j=>{Y.call(z,j)};let M=_(z);const I=()=>{M=!0;const j=V(z)||w(z);if(j&&typeof j!="boolean")return Y.call(z,j);if(ne&&!ee&&E(z,!0)&&!S(z,!1))return Y.call(z,new s);if(ye&&!W&&!D(z,!1))return Y.call(z,new s);Y.call(z)},B=()=>{M=!0;const j=V(z)||w(z);if(j&&typeof j!="boolean")return Y.call(z,j);Y.call(z)},U=()=>{z.req.on("finish",te)};$(z)?(z.on("complete",te),k||z.on("abort",I),z.req?U():z.on("request",U)):ye&&!oe&&(z.on("end",q),z.on("close",q)),!k&&typeof z.aborted=="boolean"&&z.on("aborted",I),z.on("end",A),z.on("finish",te),ge.error!==!1&&z.on("error",T),z.on("close",I),M?e.nextTick(I):oe!=null&&oe.errorEmitted||Q!=null&&Q.errorEmitted?k||e.nextTick(B):(!ne&&(!k||b(z))&&(W||C(z)===!1)||!ye&&(!k||C(z))&&(ee||b(z)===!1)||Q&&z.req&&z.aborted)&&e.nextTick(B);const Z=()=>{Y=ae,z.removeListener("aborted",I),z.removeListener("complete",te),z.removeListener("abort",I),z.removeListener("request",U),z.req&&z.req.removeListener("finish",te),z.removeListener("end",q),z.removeListener("close",q),z.removeListener("finish",te),z.removeListener("end",A),z.removeListener("error",T),z.removeListener("close",I)};if(ge.signal&&!M){const j=()=>{const F=Y;Z(),F.call(z,new t(void 0,{cause:ge.signal.reason}))};if(ge.signal.aborted)e.nextTick(j);else{L=L||Lt().addAbortListener;const F=L(ge.signal,j),K=Y;Y=a((...P)=>{F[g](),K.apply(z,P)})}}return Z}function de(z,ge,Y){let he=!1,N=ae;if(ge.signal)if(N=()=>{he=!0,Y.call(z,new t(void 0,{cause:ge.signal.reason}))},ge.signal.aborted)e.nextTick(N);else{L=L||Lt().addAbortListener;const ye=L(ge.signal,N),oe=Y;Y=a((...Q)=>{ye[g](),oe.apply(z,Q)})}const ne=(...ye)=>{he||e.nextTick(()=>Y.apply(z,ye))};return p(z[X].promise,ne,ne),ae}function pe(z,ge){var Y;let he=!1;return ge===null&&(ge=i),(Y=ge)!==null&&Y!==void 0&&Y.cleanup&&(f(ge.cleanup,"cleanup"),he=ge.cleanup),new d((N,ne)=>{const ye=ce(z,ge,oe=>{he&&ye(),oe?ne(oe):N()})})}return Ho.exports=ce,Ho.exports.finished=pe,Ho.exports}var Pu,Yg;function ms(){if(Yg)return Pu;Yg=1;const e=bi(),{aggregateTwoErrors:t,codes:{ERR_MULTIPLE_CALLBACK:r},AbortError:n}=Ot(),{Symbol:s}=nt(),{kIsDestroyed:i,isDestroyed:a,isFinished:o,isServerRequest:l}=ln(),u=s("kDestroy"),f=s("kConstruct");function d(G,X,L){G&&(G.stack,X&&!X.errored&&(X.errored=G),L&&!L.errored&&(L.errored=G))}function p(G,X){const L=this._readableState,$=this._writableState,ae=$||L;return $!=null&&$.destroyed||L!=null&&L.destroyed?(typeof X=="function"&&X(),this):(d(G,$,L),$&&($.destroyed=!0),L&&(L.destroyed=!0),ae.constructed?g(this,G,X):this.once(u,function(ce){g(this,t(ce,G),X)}),this)}function g(G,X,L){let $=!1;function ae(ce){if($)return;$=!0;const de=G._readableState,pe=G._writableState;d(ce,pe,de),pe&&(pe.closed=!0),de&&(de.closed=!0),typeof L=="function"&&L(ce),ce?e.nextTick(_,G,ce):e.nextTick(b,G)}try{G._destroy(X||null,ae)}catch(ce){ae(ce)}}function _(G,X){E(G,X),b(G)}function b(G){const X=G._readableState,L=G._writableState;L&&(L.closeEmitted=!0),X&&(X.closeEmitted=!0),(L!=null&&L.emitClose||X!=null&&X.emitClose)&&G.emit("close")}function E(G,X){const L=G._readableState,$=G._writableState;$!=null&&$.errorEmitted||L!=null&&L.errorEmitted||($&&($.errorEmitted=!0),L&&(L.errorEmitted=!0),G.emit("error",X))}function v(){const G=this._readableState,X=this._writableState;G&&(G.constructed=!0,G.closed=!1,G.closeEmitted=!1,G.destroyed=!1,G.errored=null,G.errorEmitted=!1,G.reading=!1,G.ended=G.readable===!1,G.endEmitted=G.readable===!1),X&&(X.constructed=!0,X.destroyed=!1,X.closed=!1,X.closeEmitted=!1,X.errored=null,X.errorEmitted=!1,X.finalCalled=!1,X.prefinished=!1,X.ended=X.writable===!1,X.ending=X.writable===!1,X.finished=X.writable===!1)}function S(G,X,L){const $=G._readableState,ae=G._writableState;if(ae!=null&&ae.destroyed||$!=null&&$.destroyed)return this;$!=null&&$.autoDestroy||ae!=null&&ae.autoDestroy?G.destroy(X):X&&(X.stack,ae&&!ae.errored&&(ae.errored=X),$&&!$.errored&&($.errored=X),L?e.nextTick(E,G,X):E(G,X))}function w(G,X){if(typeof G._construct!="function")return;const L=G._readableState,$=G._writableState;L&&(L.constructed=!1),$&&($.constructed=!1),G.once(f,X),!(G.listenerCount(f)>1)&&e.nextTick(C,G)}function C(G){let X=!1;function L($){if(X){S(G,$??new r);return}X=!0;const ae=G._readableState,ce=G._writableState,de=ce||ae;ae&&(ae.constructed=!0),ce&&(ce.constructed=!0),de.destroyed?G.emit(u,$):$?S(G,$,!0):e.nextTick(R,G)}try{G._construct($=>{e.nextTick(L,$)})}catch($){e.nextTick(L,$)}}function R(G){G.emit(f)}function O(G){return(G==null?void 0:G.setHeader)&&typeof G.abort=="function"}function D(G){G.emit("close")}function V(G,X){G.emit("error",X),e.nextTick(D,G)}function re(G,X){!G||a(G)||(!X&&!o(G)&&(X=new n),l(G)?(G.socket=null,G.destroy(X)):O(G)?G.abort():O(G.req)?G.req.abort():typeof G.destroy=="function"?G.destroy(X):typeof G.close=="function"?G.close():X?e.nextTick(V,G,X):e.nextTick(D,G),G.destroyed||(G[i]=!0))}return Pu={construct:w,destroyer:re,destroy:p,undestroy:v,errorOrDestroy:S},Pu}var Lu,zg;function hd(){if(zg)return Lu;zg=1;const{ArrayIsArray:e,ObjectSetPrototypeOf:t}=nt(),{EventEmitter:r}=gs();function n(i){r.call(this,i)}t(n.prototype,r.prototype),t(n,r),n.prototype.pipe=function(i,a){const o=this;function l(b){i.writable&&i.write(b)===!1&&o.pause&&o.pause()}o.on("data",l);function u(){o.readable&&o.resume&&o.resume()}i.on("drain",u),!i._isStdio&&(!a||a.end!==!1)&&(o.on("end",d),o.on("close",p));let f=!1;function d(){f||(f=!0,i.end())}function p(){f||(f=!0,typeof i.destroy=="function"&&i.destroy())}function g(b){_(),r.listenerCount(this,"error")===0&&this.emit("error",b)}s(o,"error",g),s(i,"error",g);function _(){o.removeListener("data",l),i.removeListener("drain",u),o.removeListener("end",d),o.removeListener("close",p),o.removeListener("error",g),i.removeListener("error",g),o.removeListener("end",_),o.removeListener("close",_),i.removeListener("close",_)}return o.on("end",_),o.on("close",_),i.on("close",_),i.emit("pipe",o),i};function s(i,a,o){if(typeof i.prependListener=="function")return i.prependListener(a,o);!i._events||!i._events[a]?i.on(a,o):e(i._events[a])?i._events[a].unshift(o):i._events[a]=[o,i._events[a]]}return Lu={Stream:n,prependListener:s},Lu}var Bu={exports:{}},Gg;function Al(){return Gg||(Gg=1,function(e){const{SymbolDispose:t}=nt(),{AbortError:r,codes:n}=Ot(),{isNodeStream:s,isWebStream:i,kControllerErrorFunction:a}=ln(),o=On(),{ERR_INVALID_ARG_TYPE:l}=n;let u;const f=(d,p)=>{if(typeof d!="object"||!("aborted"in d))throw new l(p,"AbortSignal",d)};e.exports.addAbortSignal=function(p,g){if(f(p,"signal"),!s(g)&&!i(g))throw new l("stream",["ReadableStream","WritableStream","Stream"],g);return e.exports.addAbortSignalNoValidate(p,g)},e.exports.addAbortSignalNoValidate=function(d,p){if(typeof d!="object"||!("aborted"in d))return p;const g=s(p)?()=>{p.destroy(new r(void 0,{cause:d.reason}))}:()=>{p[a](new r(void 0,{cause:d.reason}))};if(d.aborted)g();else{u=u||Lt().addAbortListener;const _=u(d,g);o(p,_[t])}return p}}(Bu)),Bu.exports}var Du,Qg;function OR(){if(Qg)return Du;Qg=1;const{StringPrototypeSlice:e,SymbolIterator:t,TypedArrayPrototypeSet:r,Uint8Array:n}=nt(),{Buffer:s}=Yt(),{inspect:i}=Lt();return Du=class{constructor(){this.head=null,this.tail=null,this.length=0}push(o){const l={data:o,next:null};this.length>0?this.tail.next=l:this.head=l,this.tail=l,++this.length}unshift(o){const l={data:o,next:this.head};this.length===0&&(this.tail=l),this.head=l,++this.length}shift(){if(this.length===0)return;const o=this.head.data;return this.length===1?this.head=this.tail=null:this.head=this.head.next,--this.length,o}clear(){this.head=this.tail=null,this.length=0}join(o){if(this.length===0)return"";let l=this.head,u=""+l.data;for(;(l=l.next)!==null;)u+=o+l.data;return u}concat(o){if(this.length===0)return s.alloc(0);const l=s.allocUnsafe(o>>>0);let u=this.head,f=0;for(;u;)r(l,u.data,f),f+=u.data.length,u=u.next;return l}consume(o,l){const u=this.head.data;if(od.length)l+=d,o-=d.length;else{o===d.length?(l+=d,++f,u.next?this.head=u.next:this.head=this.tail=null):(l+=e(d,0,o),this.head=u,u.data=e(d,o));break}++f}while((u=u.next)!==null);return this.length-=f,l}_getBuffer(o){const l=s.allocUnsafe(o),u=o;let f=this.head,d=0;do{const p=f.data;if(o>p.length)r(l,p,u-o),o-=p.length;else{o===p.length?(r(l,p,u-o),++d,f.next?this.head=f.next:this.head=this.tail=null):(r(l,new n(p.buffer,p.byteOffset,o),u-o),this.head=f,f.data=p.slice(o));break}++d}while((f=f.next)!==null);return this.length-=d,l}[Symbol.for("nodejs.util.inspect.custom")](o,l){return i(this,{...l,depth:0,customInspect:!1})}},Du}var Uu,Xg;function Tl(){if(Xg)return Uu;Xg=1;const{MathFloor:e,NumberIsInteger:t}=nt(),{validateInteger:r}=bo(),{ERR_INVALID_ARG_VALUE:n}=Ot().codes;let s=16*1024,i=16;function a(f,d,p){return f.highWaterMark!=null?f.highWaterMark:d?f[p]:null}function o(f){return f?i:s}function l(f,d){r(d,"value",0),f?i=d:s=d}function u(f,d,p,g){const _=a(d,g,p);if(_!=null){if(!t(_)||_<0){const b=g?`options.${p}`:"options.highWaterMark";throw new n(b,_)}return e(_)}return o(f.objectMode)}return Uu={getHighWaterMark:u,getDefaultHighWaterMark:o,setDefaultHighWaterMark:l},Uu}var Fu={},Vo={exports:{}};/*! safe-buffer. MIT License. Feross Aboukhadijeh */var Jg;function kR(){return Jg||(Jg=1,function(e,t){var r=Yt(),n=r.Buffer;function s(a,o){for(var l in a)o[l]=a[l]}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?e.exports=r:(s(r,t),t.Buffer=i);function i(a,o,l){return n(a,o,l)}i.prototype=Object.create(n.prototype),s(n,i),i.from=function(a,o,l){if(typeof a=="number")throw new TypeError("Argument must not be a number");return n(a,o,l)},i.alloc=function(a,o,l){if(typeof a!="number")throw new TypeError("Argument must be a number");var u=n(a);return o!==void 0?typeof l=="string"?u.fill(o,l):u.fill(o):u.fill(0),u},i.allocUnsafe=function(a){if(typeof a!="number")throw new TypeError("Argument must be a number");return n(a)},i.allocUnsafeSlow=function(a){if(typeof a!="number")throw new TypeError("Argument must be a number");return r.SlowBuffer(a)}}(Vo,Vo.exports)),Vo.exports}var Zg;function MR(){if(Zg)return Fu;Zg=1;var e=kR().Buffer,t=e.isEncoding||function(v){switch(v=""+v,v&&v.toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":case"raw":return!0;default:return!1}};function r(v){if(!v)return"utf8";for(var S;;)switch(v){case"utf8":case"utf-8":return"utf8";case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return"utf16le";case"latin1":case"binary":return"latin1";case"base64":case"ascii":case"hex":return v;default:if(S)return;v=(""+v).toLowerCase(),S=!0}}function n(v){var S=r(v);if(typeof S!="string"&&(e.isEncoding===t||!t(v)))throw new Error("Unknown encoding: "+v);return S||v}Fu.StringDecoder=s;function s(v){this.encoding=n(v);var S;switch(this.encoding){case"utf16le":this.text=d,this.end=p,S=4;break;case"utf8":this.fillLast=l,S=4;break;case"base64":this.text=g,this.end=_,S=3;break;default:this.write=b,this.end=E;return}this.lastNeed=0,this.lastTotal=0,this.lastChar=e.allocUnsafe(S)}s.prototype.write=function(v){if(v.length===0)return"";var S,w;if(this.lastNeed){if(S=this.fillLast(v),S===void 0)return"";w=this.lastNeed,this.lastNeed=0}else w=0;return w>5===6?2:v>>4===14?3:v>>3===30?4:v>>6===2?-1:-2}function a(v,S,w){var C=S.length-1;if(C=0?(R>0&&(v.lastNeed=R-1),R):--C=0?(R>0&&(v.lastNeed=R-2),R):--C=0?(R>0&&(R===2?R=0:v.lastNeed=R-3),R):0))}function o(v,S,w){if((S[0]&192)!==128)return v.lastNeed=0,"�";if(v.lastNeed>1&&S.length>1){if((S[1]&192)!==128)return v.lastNeed=1,"�";if(v.lastNeed>2&&S.length>2&&(S[2]&192)!==128)return v.lastNeed=2,"�"}}function l(v){var S=this.lastTotal-this.lastNeed,w=o(this,v);if(w!==void 0)return w;if(this.lastNeed<=v.length)return v.copy(this.lastChar,S,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);v.copy(this.lastChar,S,0,v.length),this.lastNeed-=v.length}function u(v,S){var w=a(this,v,S);if(!this.lastNeed)return v.toString("utf8",S);this.lastTotal=w;var C=v.length-(w-this.lastNeed);return v.copy(this.lastChar,0,C),v.toString("utf8",S,C)}function f(v){var S=v&&v.length?this.write(v):"";return this.lastNeed?S+"�":S}function d(v,S){if((v.length-S)%2===0){var w=v.toString("utf16le",S);if(w){var C=w.charCodeAt(w.length-1);if(C>=55296&&C<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1],w.slice(0,-1)}return w}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=v[v.length-1],v.toString("utf16le",S,v.length-1)}function p(v){var S=v&&v.length?this.write(v):"";if(this.lastNeed){var w=this.lastTotal-this.lastNeed;return S+this.lastChar.toString("utf16le",0,w)}return S}function g(v,S){var w=(v.length-S)%3;return w===0?v.toString("base64",S):(this.lastNeed=3-w,this.lastTotal=3,w===1?this.lastChar[0]=v[v.length-1]:(this.lastChar[0]=v[v.length-2],this.lastChar[1]=v[v.length-1]),v.toString("base64",S,v.length-w))}function _(v){var S=v&&v.length?this.write(v):"";return this.lastNeed?S+this.lastChar.toString("base64",0,3-this.lastNeed):S}function b(v){return v.toString(this.encoding)}function E(v){return v&&v.length?this.write(v):""}return Fu}var $u,em;function u0(){if(em)return $u;em=1;const e=bi(),{PromisePrototypeThen:t,SymbolAsyncIterator:r,SymbolIterator:n}=nt(),{Buffer:s}=Yt(),{ERR_INVALID_ARG_TYPE:i,ERR_STREAM_NULL_VALUES:a}=Ot().codes;function o(l,u,f){let d;if(typeof u=="string"||u instanceof s)return new l({objectMode:!0,...f,read(){this.push(u),this.push(null)}});let p;if(u&&u[r])p=!0,d=u[r]();else if(u&&u[n])p=!1,d=u[n]();else throw new i("iterable",["Iterable"],u);const g=new l({objectMode:!0,highWaterMark:1,...f});let _=!1;g._read=function(){_||(_=!0,E())},g._destroy=function(v,S){t(b(v),()=>e.nextTick(S,v),w=>e.nextTick(S,w||v))};async function b(v){const S=v!=null,w=typeof d.throw=="function";if(S&&w){const{value:C,done:R}=await d.throw(v);if(await C,R)return}if(typeof d.return=="function"){const{value:C}=await d.return();await C}}async function E(){for(;;){try{const{value:v,done:S}=p?await d.next():d.next();if(S)g.push(null);else{const w=v&&typeof v.then=="function"?await v:v;if(w===null)throw _=!1,new a;if(g.push(w))continue;_=!1}}catch(v){g.destroy(v)}break}}return g}return $u=o,$u}var ju,tm;function xl(){if(tm)return ju;tm=1;const e=bi(),{ArrayPrototypeIndexOf:t,NumberIsInteger:r,NumberIsNaN:n,NumberParseInt:s,ObjectDefineProperties:i,ObjectKeys:a,ObjectSetPrototypeOf:o,Promise:l,SafeSet:u,SymbolAsyncDispose:f,SymbolAsyncIterator:d,Symbol:p}=nt();ju=P,P.ReadableState=K;const{EventEmitter:g}=gs(),{Stream:_,prependListener:b}=hd(),{Buffer:E}=Yt(),{addAbortSignal:v}=Al(),S=On();let w=Lt().debuglog("stream",ie=>{w=ie});const C=OR(),R=ms(),{getHighWaterMark:O,getDefaultHighWaterMark:D}=Tl(),{aggregateTwoErrors:V,codes:{ERR_INVALID_ARG_TYPE:re,ERR_METHOD_NOT_IMPLEMENTED:G,ERR_OUT_OF_RANGE:X,ERR_STREAM_PUSH_AFTER_EOF:L,ERR_STREAM_UNSHIFT_AFTER_END_EVENT:$},AbortError:ae}=Ot(),{validateObject:ce}=bo(),de=p("kPaused"),{StringDecoder:pe}=MR(),z=u0();o(P.prototype,_.prototype),o(P,_);const ge=()=>{},{errorOrDestroy:Y}=R,he=1,N=2,ne=4,ye=8,oe=16,Q=32,q=64,k=128,W=256,te=512,ee=1024,A=2048,T=4096,M=8192,I=16384,B=32768,U=65536,Z=1<<17,j=1<<18;function F(ie){return{enumerable:!1,get(){return(this.state&ie)!==0},set(ue){ue?this.state|=ie:this.state&=~ie}}}i(K.prototype,{objectMode:F(he),ended:F(N),endEmitted:F(ne),reading:F(ye),constructed:F(oe),sync:F(Q),needReadable:F(q),emittedReadable:F(k),readableListening:F(W),resumeScheduled:F(te),errorEmitted:F(ee),emitClose:F(A),autoDestroy:F(T),destroyed:F(M),closed:F(I),closeEmitted:F(B),multiAwaitDrain:F(U),readingMore:F(Z),dataEmitted:F(j)});function K(ie,ue,Ie){typeof Ie!="boolean"&&(Ie=ue instanceof Jr()),this.state=A|T|oe|Q,ie&&ie.objectMode&&(this.state|=he),Ie&&ie&&ie.readableObjectMode&&(this.state|=he),this.highWaterMark=ie?O(this,ie,"readableHighWaterMark",Ie):D(!1),this.buffer=new C,this.length=0,this.pipes=[],this.flowing=null,this[de]=null,ie&&ie.emitClose===!1&&(this.state&=-2049),ie&&ie.autoDestroy===!1&&(this.state&=-4097),this.errored=null,this.defaultEncoding=ie&&ie.defaultEncoding||"utf8",this.awaitDrainWriters=null,this.decoder=null,this.encoding=null,ie&&ie.encoding&&(this.decoder=new pe(ie.encoding),this.encoding=ie.encoding)}function P(ie){if(!(this instanceof P))return new P(ie);const ue=this instanceof Jr();this._readableState=new K(ie,this,ue),ie&&(typeof ie.read=="function"&&(this._read=ie.read),typeof ie.destroy=="function"&&(this._destroy=ie.destroy),typeof ie.construct=="function"&&(this._construct=ie.construct),ie.signal&&!ue&&v(ie.signal,this)),_.call(this,ie),R.construct(this,()=>{this._readableState.needReadable&&H(this,this._readableState)})}P.prototype.destroy=R.destroy,P.prototype._undestroy=R.undestroy,P.prototype._destroy=function(ie,ue){ue(ie)},P.prototype[g.captureRejectionSymbol]=function(ie){this.destroy(ie)},P.prototype[f]=function(){let ie;return this.destroyed||(ie=this.readableEnded?null:new ae,this.destroy(ie)),new l((ue,Ie)=>S(this,Ce=>Ce&&Ce!==ie?Ie(Ce):ue(null)))},P.prototype.push=function(ie,ue){return J(this,ie,ue,!1)},P.prototype.unshift=function(ie,ue){return J(this,ie,ue,!0)};function J(ie,ue,Ie,Ce){w("readableAddChunk",ue);const Me=ie._readableState;let yt;if(Me.state&he||(typeof ue=="string"?(Ie=Ie||Me.defaultEncoding,Me.encoding!==Ie&&(Ce&&Me.encoding?ue=E.from(ue,Ie).toString(Me.encoding):(ue=E.from(ue,Ie),Ie=""))):ue instanceof E?Ie="":_._isUint8Array(ue)?(ue=_._uint8ArrayToBuffer(ue),Ie=""):ue!=null&&(yt=new re("chunk",["string","Buffer","Uint8Array"],ue))),yt)Y(ie,yt);else if(ue===null)Me.state&=-9,c(ie,Me);else if(Me.state&he||ue&&ue.length>0)if(Ce)if(Me.state&ne)Y(ie,new $);else{if(Me.destroyed||Me.errored)return!1;le(ie,Me,ue,!0)}else if(Me.ended)Y(ie,new L);else{if(Me.destroyed||Me.errored)return!1;Me.state&=-9,Me.decoder&&!Ie?(ue=Me.decoder.write(ue),Me.objectMode||ue.length!==0?le(ie,Me,ue,!1):H(ie,Me)):le(ie,Me,ue,!1)}else Ce||(Me.state&=-9,H(ie,Me));return!Me.ended&&(Me.length0?(ue.state&U?ue.awaitDrainWriters.clear():ue.awaitDrainWriters=null,ue.dataEmitted=!0,ie.emit("data",Ie)):(ue.length+=ue.objectMode?1:Ie.length,Ce?ue.buffer.unshift(Ie):ue.buffer.push(Ie),ue.state&q&&m(ie)),H(ie,ue)}P.prototype.isPaused=function(){const ie=this._readableState;return ie[de]===!0||ie.flowing===!1},P.prototype.setEncoding=function(ie){const ue=new pe(ie);this._readableState.decoder=ue,this._readableState.encoding=this._readableState.decoder.encoding;const Ie=this._readableState.buffer;let Ce="";for(const Me of Ie)Ce+=ue.write(Me);return Ie.clear(),Ce!==""&&Ie.push(Ce),this._readableState.length=Ce.length,this};const me=1073741824;function y(ie){if(ie>me)throw new X("size","<= 1GiB",ie);return ie--,ie|=ie>>>1,ie|=ie>>>2,ie|=ie>>>4,ie|=ie>>>8,ie|=ie>>>16,ie++,ie}function h(ie,ue){return ie<=0||ue.length===0&&ue.ended?0:ue.state&he?1:n(ie)?ue.flowing&&ue.length?ue.buffer.first().length:ue.length:ie<=ue.length?ie:ue.ended?ue.length:0}P.prototype.read=function(ie){w("read",ie),ie===void 0?ie=NaN:r(ie)||(ie=s(ie,10));const ue=this._readableState,Ie=ie;if(ie>ue.highWaterMark&&(ue.highWaterMark=y(ie)),ie!==0&&(ue.state&=-129),ie===0&&ue.needReadable&&((ue.highWaterMark!==0?ue.length>=ue.highWaterMark:ue.length>0)||ue.ended))return w("read: emitReadable",ue.length,ue.ended),ue.length===0&&ue.ended?st(this):m(this),null;if(ie=h(ie,ue),ie===0&&ue.ended)return ue.length===0&&st(this),null;let Ce=(ue.state&q)!==0;if(w("need readable",Ce),(ue.length===0||ue.length-ie0?Me=Xe(ie,ue):Me=null,Me===null?(ue.needReadable=ue.length<=ue.highWaterMark,ie=0):(ue.length-=ie,ue.multiAwaitDrain?ue.awaitDrainWriters.clear():ue.awaitDrainWriters=null),ue.length===0&&(ue.ended||(ue.needReadable=!0),Ie!==ie&&ue.ended&&st(this)),Me!==null&&!ue.errorEmitted&&!ue.closeEmitted&&(ue.dataEmitted=!0,this.emit("data",Me)),Me};function c(ie,ue){if(w("onEofChunk"),!ue.ended){if(ue.decoder){const Ie=ue.decoder.end();Ie&&Ie.length&&(ue.buffer.push(Ie),ue.length+=ue.objectMode?1:Ie.length)}ue.ended=!0,ue.sync?m(ie):(ue.needReadable=!1,ue.emittedReadable=!0,x(ie))}}function m(ie){const ue=ie._readableState;w("emitReadable",ue.needReadable,ue.emittedReadable),ue.needReadable=!1,ue.emittedReadable||(w("emitReadable",ue.flowing),ue.emittedReadable=!0,e.nextTick(x,ie))}function x(ie){const ue=ie._readableState;w("emitReadable_",ue.destroyed,ue.length,ue.ended),!ue.destroyed&&!ue.errored&&(ue.length||ue.ended)&&(ie.emit("readable"),ue.emittedReadable=!1),ue.needReadable=!ue.flowing&&!ue.ended&&ue.length<=ue.highWaterMark,Oe(ie)}function H(ie,ue){!ue.readingMore&&ue.constructed&&(ue.readingMore=!0,e.nextTick(se,ie,ue))}function se(ie,ue){for(;!ue.reading&&!ue.ended&&(ue.length1&&Ce.pipes.includes(ie)&&(w("false write response, pause",Ce.awaitDrainWriters.size),Ce.awaitDrainWriters.add(ie)),Ie.pause()),kn||(kn=_e(Ie,ie),ie.on("drain",kn))}Ie.on("data",Pd);function Pd(Mn){w("ondata");const Rr=ie.write(Mn);w("dest.write",Rr),Rr===!1&&Nd()}function Pl(Mn){if(w("onerror",Mn),_s(),ie.removeListener("error",Pl),ie.listenerCount("error")===0){const Rr=ie._writableState||ie._readableState;Rr&&!Rr.errorEmitted?Y(ie,Mn):ie.emit("error",Mn)}}b(ie,"error",Pl);function Ll(){ie.removeListener("finish",Bl),_s()}ie.once("close",Ll);function Bl(){w("onfinish"),ie.removeListener("close",Ll),_s()}ie.once("finish",Bl);function _s(){w("unpipe"),Ie.unpipe(ie)}return ie.emit("pipe",Ie),ie.writableNeedDrain===!0?Nd():Ce.flowing||(w("pipe resume"),Ie.resume()),ie};function _e(ie,ue){return function(){const Ce=ie._readableState;Ce.awaitDrainWriters===ue?(w("pipeOnDrain",1),Ce.awaitDrainWriters=null):Ce.multiAwaitDrain&&(w("pipeOnDrain",Ce.awaitDrainWriters.size),Ce.awaitDrainWriters.delete(ue)),(!Ce.awaitDrainWriters||Ce.awaitDrainWriters.size===0)&&ie.listenerCount("data")&&ie.resume()}}P.prototype.unpipe=function(ie){const ue=this._readableState,Ie={hasUnpiped:!1};if(ue.pipes.length===0)return this;if(!ie){const Me=ue.pipes;ue.pipes=[],this.pause();for(let yt=0;yt0,Ce.flowing!==!1&&this.resume()):ie==="readable"&&!Ce.endEmitted&&!Ce.readableListening&&(Ce.readableListening=Ce.needReadable=!0,Ce.flowing=!1,Ce.emittedReadable=!1,w("on readable",Ce.length,Ce.reading),Ce.length?m(this):Ce.reading||e.nextTick(Re,this)),Ie},P.prototype.addListener=P.prototype.on,P.prototype.removeListener=function(ie,ue){const Ie=_.prototype.removeListener.call(this,ie,ue);return ie==="readable"&&e.nextTick(xe,this),Ie},P.prototype.off=P.prototype.removeListener,P.prototype.removeAllListeners=function(ie){const ue=_.prototype.removeAllListeners.apply(this,arguments);return(ie==="readable"||ie===void 0)&&e.nextTick(xe,this),ue};function xe(ie){const ue=ie._readableState;ue.readableListening=ie.listenerCount("readable")>0,ue.resumeScheduled&&ue[de]===!1?ue.flowing=!0:ie.listenerCount("data")>0?ie.resume():ue.readableListening||(ue.flowing=null)}function Re(ie){w("readable nexttick read 0"),ie.read(0)}P.prototype.resume=function(){const ie=this._readableState;return ie.flowing||(w("resume"),ie.flowing=!ie.readableListening,Te(this,ie)),ie[de]=!1,this};function Te(ie,ue){ue.resumeScheduled||(ue.resumeScheduled=!0,e.nextTick(ke,ie,ue))}function ke(ie,ue){w("resume",ue.reading),ue.reading||ie.read(0),ue.resumeScheduled=!1,ie.emit("resume"),Oe(ie),ue.flowing&&!ue.reading&&ie.read(0)}P.prototype.pause=function(){return w("call pause flowing=%j",this._readableState.flowing),this._readableState.flowing!==!1&&(w("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState[de]=!0,this};function Oe(ie){const ue=ie._readableState;for(w("flow",ue.flowing);ue.flowing&&ie.read()!==null;);}P.prototype.wrap=function(ie){let ue=!1;ie.on("data",Ce=>{!this.push(Ce)&&ie.pause&&(ue=!0,ie.pause())}),ie.on("end",()=>{this.push(null)}),ie.on("error",Ce=>{Y(this,Ce)}),ie.on("close",()=>{this.destroy()}),ie.on("destroy",()=>{this.destroy()}),this._read=()=>{ue&&ie.resume&&(ue=!1,ie.resume())};const Ie=a(ie);for(let Ce=1;Ce{Me=zt?V(Me,zt):null,Ie(),Ie=ge});try{for(;;){const zt=ie.destroyed?null:ie.read();if(zt!==null)yield zt;else{if(Me)throw Me;if(Me===null)return;await new l(Ce)}}}catch(zt){throw Me=V(Me,zt),Me}finally{(Me||(ue==null?void 0:ue.destroyOnReturn)!==!1)&&(Me===void 0||ie._readableState.autoDestroy)?R.destroyer(ie,null):(ie.off("readable",Ce),yt())}}i(P.prototype,{readable:{__proto__:null,get(){const ie=this._readableState;return!!ie&&ie.readable!==!1&&!ie.destroyed&&!ie.errorEmitted&&!ie.endEmitted},set(ie){this._readableState&&(this._readableState.readable=!!ie)}},readableDidRead:{__proto__:null,enumerable:!1,get:function(){return this._readableState.dataEmitted}},readableAborted:{__proto__:null,enumerable:!1,get:function(){return!!(this._readableState.readable!==!1&&(this._readableState.destroyed||this._readableState.errored)&&!this._readableState.endEmitted)}},readableHighWaterMark:{__proto__:null,enumerable:!1,get:function(){return this._readableState.highWaterMark}},readableBuffer:{__proto__:null,enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}},readableFlowing:{__proto__:null,enumerable:!1,get:function(){return this._readableState.flowing},set:function(ie){this._readableState&&(this._readableState.flowing=ie)}},readableLength:{__proto__:null,enumerable:!1,get(){return this._readableState.length}},readableObjectMode:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.objectMode:!1}},readableEncoding:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.encoding:null}},errored:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.errored:null}},closed:{__proto__:null,get(){return this._readableState?this._readableState.closed:!1}},destroyed:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.destroyed:!1},set(ie){this._readableState&&(this._readableState.destroyed=ie)}},readableEnded:{__proto__:null,enumerable:!1,get(){return this._readableState?this._readableState.endEmitted:!1}}}),i(K.prototype,{pipesCount:{__proto__:null,get(){return this.pipes.length}},paused:{__proto__:null,get(){return this[de]!==!1},set(ie){this[de]=!!ie}}}),P._fromList=Xe;function Xe(ie,ue){if(ue.length===0)return null;let Ie;return ue.objectMode?Ie=ue.buffer.shift():!ie||ie>=ue.length?(ue.decoder?Ie=ue.buffer.join(""):ue.buffer.length===1?Ie=ue.buffer.first():Ie=ue.buffer.concat(ue.length),ue.buffer.clear()):Ie=ue.buffer.consume(ie,ue.decoder),Ie}function st(ie){const ue=ie._readableState;w("endReadable",ue.endEmitted),ue.endEmitted||(ue.ended=!0,e.nextTick(dt,ue,ie))}function dt(ie,ue){if(w("endReadableNT",ie.endEmitted,ie.length),!ie.errored&&!ie.closeEmitted&&!ie.endEmitted&&ie.length===0){if(ie.endEmitted=!0,ue.emit("end"),ue.writable&&ue.allowHalfOpen===!1)e.nextTick(at,ue);else if(ie.autoDestroy){const Ie=ue._writableState;(!Ie||Ie.autoDestroy&&(Ie.finished||Ie.writable===!1))&&ue.destroy()}}}function at(ie){ie.writable&&!ie.writableEnded&&!ie.destroyed&&ie.end()}P.from=function(ie,ue){return z(P,ie,ue)};let Si;function ys(){return Si===void 0&&(Si={}),Si}return P.fromWeb=function(ie,ue){return ys().newStreamReadableFromReadableStream(ie,ue)},P.toWeb=function(ie,ue){return ys().newReadableStreamFromStreamReadable(ie,ue)},P.wrap=function(ie,ue){var Ie,Ce;return new P({objectMode:(Ie=(Ce=ie.readableObjectMode)!==null&&Ce!==void 0?Ce:ie.objectMode)!==null&&Ie!==void 0?Ie:!0,...ue,destroy(Me,yt){R.destroyer(ie,Me),yt(Me)}}).wrap(ie)},ju}var Wu,rm;function dd(){if(rm)return Wu;rm=1;const e=bi(),{ArrayPrototypeSlice:t,Error:r,FunctionPrototypeSymbolHasInstance:n,ObjectDefineProperty:s,ObjectDefineProperties:i,ObjectSetPrototypeOf:a,StringPrototypeToLowerCase:o,Symbol:l,SymbolHasInstance:u}=nt();Wu=ce,ce.WritableState=$;const{EventEmitter:f}=gs(),d=hd().Stream,{Buffer:p}=Yt(),g=ms(),{addAbortSignal:_}=Al(),{getHighWaterMark:b,getDefaultHighWaterMark:E}=Tl(),{ERR_INVALID_ARG_TYPE:v,ERR_METHOD_NOT_IMPLEMENTED:S,ERR_MULTIPLE_CALLBACK:w,ERR_STREAM_CANNOT_PIPE:C,ERR_STREAM_DESTROYED:R,ERR_STREAM_ALREADY_FINISHED:O,ERR_STREAM_NULL_VALUES:D,ERR_STREAM_WRITE_AFTER_END:V,ERR_UNKNOWN_ENCODING:re}=Ot().codes,{errorOrDestroy:G}=g;a(ce.prototype,d.prototype),a(ce,d);function X(){}const L=l("kOnFinished");function $(T,M,I){typeof I!="boolean"&&(I=M instanceof Jr()),this.objectMode=!!(T&&T.objectMode),I&&(this.objectMode=this.objectMode||!!(T&&T.writableObjectMode)),this.highWaterMark=T?b(this,T,"writableHighWaterMark",I):E(!1),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;const B=!!(T&&T.decodeStrings===!1);this.decodeStrings=!B,this.defaultEncoding=T&&T.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=Y.bind(void 0,M),this.writecb=null,this.writelen=0,this.afterWriteTickInfo=null,ae(this),this.pendingcb=0,this.constructed=!0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!T||T.emitClose!==!1,this.autoDestroy=!T||T.autoDestroy!==!1,this.errored=null,this.closed=!1,this.closeEmitted=!1,this[L]=[]}function ae(T){T.buffered=[],T.bufferedIndex=0,T.allBuffers=!0,T.allNoop=!0}$.prototype.getBuffer=function(){return t(this.buffered,this.bufferedIndex)},s($.prototype,"bufferedRequestCount",{__proto__:null,get(){return this.buffered.length-this.bufferedIndex}});function ce(T){const M=this instanceof Jr();if(!M&&!n(ce,this))return new ce(T);this._writableState=new $(T,this,M),T&&(typeof T.write=="function"&&(this._write=T.write),typeof T.writev=="function"&&(this._writev=T.writev),typeof T.destroy=="function"&&(this._destroy=T.destroy),typeof T.final=="function"&&(this._final=T.final),typeof T.construct=="function"&&(this._construct=T.construct),T.signal&&_(T.signal,this)),d.call(this,T),g.construct(this,()=>{const I=this._writableState;I.writing||ye(this,I),k(this,I)})}s(ce,u,{__proto__:null,value:function(T){return n(this,T)?!0:this!==ce?!1:T&&T._writableState instanceof $}}),ce.prototype.pipe=function(){G(this,new C)};function de(T,M,I,B){const U=T._writableState;if(typeof I=="function")B=I,I=U.defaultEncoding;else{if(!I)I=U.defaultEncoding;else if(I!=="buffer"&&!p.isEncoding(I))throw new re(I);typeof B!="function"&&(B=X)}if(M===null)throw new D;if(!U.objectMode)if(typeof M=="string")U.decodeStrings!==!1&&(M=p.from(M,I),I="buffer");else if(M instanceof p)I="buffer";else if(d._isUint8Array(M))M=d._uint8ArrayToBuffer(M),I="buffer";else throw new v("chunk",["string","Buffer","Uint8Array"],M);let Z;return U.ending?Z=new V:U.destroyed&&(Z=new R("write")),Z?(e.nextTick(B,Z),G(T,Z,!0),Z):(U.pendingcb++,pe(T,U,M,I,B))}ce.prototype.write=function(T,M,I){return de(this,T,M,I)===!0},ce.prototype.cork=function(){this._writableState.corked++},ce.prototype.uncork=function(){const T=this._writableState;T.corked&&(T.corked--,T.writing||ye(this,T))},ce.prototype.setDefaultEncoding=function(M){if(typeof M=="string"&&(M=o(M)),!p.isEncoding(M))throw new re(M);return this._writableState.defaultEncoding=M,this};function pe(T,M,I,B,U){const Z=M.objectMode?1:I.length;M.length+=Z;const j=M.lengthI.bufferedIndex&&ye(T,I),B?I.afterWriteTickInfo!==null&&I.afterWriteTickInfo.cb===U?I.afterWriteTickInfo.count++:(I.afterWriteTickInfo={count:1,cb:U,stream:T,state:I},e.nextTick(he,I.afterWriteTickInfo)):N(T,I,1,U))}function he({stream:T,state:M,count:I,cb:B}){return M.afterWriteTickInfo=null,N(T,M,I,B)}function N(T,M,I,B){for(!M.ending&&!T.destroyed&&M.length===0&&M.needDrain&&(M.needDrain=!1,T.emit("drain"));I-- >0;)M.pendingcb--,B();M.destroyed&&ne(M),k(T,M)}function ne(T){if(T.writing)return;for(let U=T.bufferedIndex;U1&&T._writev){M.pendingcb-=Z-1;const F=M.allNoop?X:P=>{for(let J=j;J256?(I.splice(0,j),M.bufferedIndex=0):M.bufferedIndex=j}M.bufferProcessing=!1}ce.prototype._write=function(T,M,I){if(this._writev)this._writev([{chunk:T,encoding:M}],I);else throw new S("_write()")},ce.prototype._writev=null,ce.prototype.end=function(T,M,I){const B=this._writableState;typeof T=="function"?(I=T,T=null,M=null):typeof M=="function"&&(I=M,M=null);let U;if(T!=null){const Z=de(this,T,M);Z instanceof r&&(U=Z)}return B.corked&&(B.corked=1,this.uncork()),U||(!B.errored&&!B.ending?(B.ending=!0,k(this,B,!0),B.ended=!0):B.finished?U=new O("end"):B.destroyed&&(U=new R("end"))),typeof I=="function"&&(U||B.finished?e.nextTick(I,U):B[L].push(I)),this};function oe(T){return T.ending&&!T.destroyed&&T.constructed&&T.length===0&&!T.errored&&T.buffered.length===0&&!T.finished&&!T.writing&&!T.errorEmitted&&!T.closeEmitted}function Q(T,M){let I=!1;function B(U){if(I){G(T,U??w());return}if(I=!0,M.pendingcb--,U){const Z=M[L].splice(0);for(let j=0;j{oe(U)?W(B,U):U.pendingcb--},T,M)):oe(M)&&(M.pendingcb++,W(T,M))))}function W(T,M){M.pendingcb--,M.finished=!0;const I=M[L].splice(0);for(let B=0;B{if(ne!=null)throw new _("nully","body",ne)},ne=>{b(he,ne)});return he=new re({objectMode:!0,readable:!1,write:pe,final(ne){z(async()=>{try{await N,e.nextTick(ne,null)}catch(ye){e.nextTick(ne,ye)}})},destroy:ge})}throw new _("Iterable, AsyncIterable or AsyncFunction",ae,de)}if(O($))return L($.arrayBuffer());if(s($))return C(re,$,{objectMode:!0,writable:!1});if(u($==null?void 0:$.readable)&&f($==null?void 0:$.writable))return re.fromWeb($);if(typeof($==null?void 0:$.writable)=="object"||typeof($==null?void 0:$.readable)=="object"){const de=$!=null&&$.readable?a($==null?void 0:$.readable)?$==null?void 0:$.readable:L($.readable):void 0,pe=$!=null&&$.writable?o($==null?void 0:$.writable)?$==null?void 0:$.writable:L($.writable):void 0;return X({readable:de,writable:pe})}const ce=$==null?void 0:$.then;if(typeof ce=="function"){let de;return V(ce,$,pe=>{pe!=null&&de.push(pe),de.push(null)},pe=>{b(de,pe)}),de=new re({objectMode:!0,writable:!1,read(){}})}throw new g(ae,["Blob","ReadableStream","WritableStream","Stream","Iterable","AsyncIterable","Function","{ readable, writable } pair","Promise"],$)};function G(L){let{promise:$,resolve:ae}=w();const ce=new D,de=ce.signal;return{value:L(async function*(){for(;;){const z=$;$=null;const{chunk:ge,done:Y,cb:he}=await z;if(e.nextTick(he),Y)return;if(de.aborted)throw new p(void 0,{cause:de.reason});({promise:$,resolve:ae}=w()),yield ge}}(),{signal:de}),write(z,ge,Y){const he=ae;ae=null,he({chunk:z,done:!1,cb:Y})},final(z){const ge=ae;ae=null,ge({done:!0,cb:z})},destroy(z,ge){ce.abort(),ge(z)}}}function X(L){const $=L.readable&&typeof L.readable.read!="function"?v.wrap(L.readable):L.readable,ae=L.writable;let ce=!!r($),de=!!n(ae),pe,z,ge,Y,he;function N(ne){const ye=Y;Y=null,ye?ye(ne):ne&&he.destroy(ne)}return he=new re({readableObjectMode:!!($!=null&&$.readableObjectMode),writableObjectMode:!!(ae!=null&&ae.writableObjectMode),readable:ce,writable:de}),de&&(d(ae,ne=>{de=!1,ne&&b($,ne),N(ne)}),he._write=function(ne,ye,oe){ae.write(ne,ye)?oe():pe=oe},he._final=function(ne){ae.end(),z=ne},ae.on("drain",function(){if(pe){const ne=pe;pe=null,ne()}}),ae.on("finish",function(){if(z){const ne=z;z=null,ne()}})),ce&&(d($,ne=>{ce=!1,ne&&b($,ne),N(ne)}),$.on("readable",function(){if(ge){const ne=ge;ge=null,ne()}}),$.on("end",function(){he.push(null)}),he._read=function(){for(;;){const ne=$.read();if(ne===null){ge=he._read;return}if(!he.push(ne))return}}),he._destroy=function(ne,ye){!ne&&Y!==null&&(ne=new p),ge=null,pe=null,z=null,Y===null?ye(ne):(Y=ye,b(ae,ne),b($,ne))},he}return Hu}var Vu,im;function Jr(){if(im)return Vu;im=1;const{ObjectDefineProperties:e,ObjectGetOwnPropertyDescriptor:t,ObjectKeys:r,ObjectSetPrototypeOf:n}=nt();Vu=a;const s=xl(),i=dd();n(a.prototype,s.prototype),n(a,s);{const f=r(i.prototype);for(let d=0;d{if(f){u?u(f):this.destroy(f);return}d!=null&&this.push(d),this.push(null),u&&u()}):(this.push(null),u&&u())}function l(){this._final!==o&&o.call(this)}return a.prototype._final=o,a.prototype._transform=function(u,f,d){throw new r("_transform()")},a.prototype._write=function(u,f,d){const p=this._readableState,g=this._writableState,_=p.length;this._transform(u,f,(b,E)=>{if(b){d(b);return}E!=null&&this.push(E),g.ended||_===p.length||p.length{Q=!0});const q=i(ne,{readable:ye,writable:oe},k=>{Q=!k});return{destroy:k=>{Q||(Q=!0,o.destroyer(ne,k||new g("pipe")))},cleanup:q}}function ce(ne){return E(ne[ne.length-1],"streams[stream.length - 1]"),ne.pop()}function de(ne){if(S(ne))return ne;if(C(ne))return pe(ne);throw new f("val",["Readable","Iterable","AsyncIterable"],ne)}async function*pe(ne){L||(L=xl()),yield*L.prototype[n].call(ne)}async function z(ne,ye,oe,{end:Q}){let q,k=null;const W=A=>{if(A&&(q=A),k){const T=k;k=null,T()}},te=()=>new r((A,T)=>{q?T(q):k=()=>{q?T(q):A()}});ye.on("drain",W);const ee=i(ye,{readable:!1},W);try{ye.writableNeedDrain&&await te();for await(const A of ne)ye.write(A)||await te();Q&&(ye.end(),await te()),oe()}catch(A){oe(q!==A?u(q,A):A)}finally{ee(),ye.off("drain",W)}}async function ge(ne,ye,oe,{end:Q}){O(ye)&&(ye=ye.writable);const q=ye.getWriter();try{for await(const k of ne)await q.ready,q.write(k).catch(()=>{});await q.ready,Q&&await q.close(),oe()}catch(k){try{await q.abort(k),oe(k)}catch(W){oe(W)}}}function Y(...ne){return he(ne,a(ce(ne)))}function he(ne,ye,oe){if(ne.length===1&&t(ne[0])&&(ne=ne[0]),ne.length<2)throw new p("streams");const Q=new G,q=Q.signal,k=oe==null?void 0:oe.signal,W=[];v(k,"options.signal");function te(){U(new b)}$=$||Lt().addAbortListener;let ee;k&&(ee=$(k,te));let A,T;const M=[];let I=0;function B(K){U(K,--I===0)}function U(K,P){var J;if(K&&(!A||A.code==="ERR_STREAM_PREMATURE_CLOSE")&&(A=K),!(!A&&!P)){for(;M.length;)M.shift()(A);(J=ee)===null||J===void 0||J[s](),Q.abort(),P&&(A||W.forEach(le=>le()),e.nextTick(ye,A,T))}}let Z;for(let K=0;K0,me=J||(oe==null?void 0:oe.end)!==!1,y=K===ne.length-1;if(R(P)){let h=function(c){c&&c.name!=="AbortError"&&c.code!=="ERR_STREAM_PREMATURE_CLOSE"&&B(c)};if(me){const{destroy:c,cleanup:m}=ae(P,J,le);M.push(c),w(P)&&y&&W.push(m)}P.on("error",h),w(P)&&y&&W.push(()=>{P.removeListener("error",h)})}if(K===0)if(typeof P=="function"){if(Z=P({signal:q}),!S(Z))throw new d("Iterable, AsyncIterable or Stream","source",Z)}else S(P)||C(P)||O(P)?Z=P:Z=l.from(P);else if(typeof P=="function"){if(O(Z)){var j;Z=de((j=Z)===null||j===void 0?void 0:j.readable)}else Z=de(Z);if(Z=P(Z,{signal:q}),J){if(!S(Z,!0))throw new d("AsyncIterable",`transform[${K-1}]`,Z)}else{var F;X||(X=c0());const h=new X({objectMode:!0}),c=(F=Z)===null||F===void 0?void 0:F.then;if(typeof c=="function")I++,c.call(Z,H=>{T=H,H!=null&&h.write(H),me&&h.end(),e.nextTick(B)},H=>{h.destroy(H),e.nextTick(B,H)});else if(S(Z,!0))I++,z(Z,h,B,{end:me});else if(V(Z)||O(Z)){const H=Z.readable||Z;I++,z(H,h,B,{end:me})}else throw new d("AsyncIterable or Promise","destination",Z);Z=h;const{destroy:m,cleanup:x}=ae(Z,!1,!0);M.push(m),y&&W.push(x)}}else if(R(P)){if(C(Z)){I+=2;const h=N(Z,P,B,{end:me});w(P)&&y&&W.push(h)}else if(O(Z)||V(Z)){const h=Z.readable||Z;I++,z(h,P,B,{end:me})}else if(S(Z))I++,z(Z,P,B,{end:me});else throw new f("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);Z=P}else if(D(P)){if(C(Z))I++,ge(de(Z),P,B,{end:me});else if(V(Z)||S(Z))I++,ge(Z,P,B,{end:me});else if(O(Z))I++,ge(Z.readable,P,B,{end:me});else throw new f("val",["Readable","Iterable","AsyncIterable","ReadableStream","TransformStream"],Z);Z=P}else Z=l.from(P)}return(q!=null&&q.aborted||k!=null&&k.aborted)&&e.nextTick(te),Z}function N(ne,ye,oe,{end:Q}){let q=!1;if(ye.on("close",()=>{q||oe(new _)}),ne.pipe(ye,{end:!1}),Q){let k=function(){q=!0,ye.end()};re(ne)?e.nextTick(k):ne.once("end",k)}else oe();return i(ne,{readable:!0,writable:!1},k=>{const W=ne._readableState;k&&k.code==="ERR_STREAM_PREMATURE_CLOSE"&&W&&W.ended&&!W.errored&&!W.errorEmitted?ne.once("end",oe).once("error",oe):oe(k)}),i(ye,{readable:!1,writable:!0},oe)}return Yu={pipelineImpl:he,pipeline:Y},Yu}var zu,lm;function h0(){if(lm)return zu;lm=1;const{pipeline:e}=pd(),t=Jr(),{destroyer:r}=ms(),{isNodeStream:n,isReadable:s,isWritable:i,isWebStream:a,isTransformStream:o,isWritableStream:l,isReadableStream:u}=ln(),{AbortError:f,codes:{ERR_INVALID_ARG_VALUE:d,ERR_MISSING_ARGS:p}}=Ot(),g=On();return zu=function(...b){if(b.length===0)throw new p("streams");if(b.length===1)return t.from(b[0]);const E=[...b];if(typeof b[0]=="function"&&(b[0]=t.from(b[0])),typeof b[b.length-1]=="function"){const X=b.length-1;b[X]=t.from(b[X])}for(let X=0;X0&&!(i(b[X])||l(b[X])||o(b[X])))throw new d(`streams[${X}]`,E[X],"must be writable")}let v,S,w,C,R;function O(X){const L=C;C=null,L?L(X):X?R.destroy(X):!G&&!re&&R.destroy()}const D=b[0],V=e(b,O),re=!!(i(D)||l(D)||o(D)),G=!!(s(V)||u(V)||o(V));if(R=new t({writableObjectMode:!!(D!=null&&D.writableObjectMode),readableObjectMode:!!(V!=null&&V.readableObjectMode),writable:re,readable:G}),re){if(n(D))R._write=function(L,$,ae){D.write(L,$)?ae():v=ae},R._final=function(L){D.end(),S=L},D.on("drain",function(){if(v){const L=v;v=null,L()}});else if(a(D)){const $=(o(D)?D.writable:D).getWriter();R._write=async function(ae,ce,de){try{await $.ready,$.write(ae).catch(()=>{}),de()}catch(pe){de(pe)}},R._final=async function(ae){try{await $.ready,$.close().catch(()=>{}),S=ae}catch(ce){ae(ce)}}}const X=o(V)?V.readable:V;g(X,()=>{if(S){const L=S;S=null,L()}})}if(G){if(n(V))V.on("readable",function(){if(w){const X=w;w=null,X()}}),V.on("end",function(){R.push(null)}),R._read=function(){for(;;){const X=V.read();if(X===null){w=R._read;return}if(!R.push(X))return}};else if(a(V)){const L=(o(V)?V.readable:V).getReader();R._read=async function(){for(;;)try{const{value:$,done:ae}=await L.read();if(!R.push($))return;if(ae){R.push(null);return}}catch{return}}}}return R._destroy=function(X,L){!X&&C!==null&&(X=new f),w=null,v=null,S=null,C===null?L(X):(C=L,n(V)&&r(V,X))},R},zu}var um;function PR(){if(um)return Wo;um=1;const e=globalThis.AbortController||so().AbortController,{codes:{ERR_INVALID_ARG_VALUE:t,ERR_INVALID_ARG_TYPE:r,ERR_MISSING_ARGS:n,ERR_OUT_OF_RANGE:s},AbortError:i}=Ot(),{validateAbortSignal:a,validateInteger:o,validateObject:l}=bo(),u=nt().Symbol("kWeak"),f=nt().Symbol("kResistStopPropagation"),{finished:d}=On(),p=h0(),{addAbortSignalNoValidate:g}=Al(),{isWritable:_,isNodeStream:b}=ln(),{deprecate:E}=Lt(),{ArrayPrototypePush:v,Boolean:S,MathFloor:w,Number:C,NumberIsNaN:R,Promise:O,PromiseReject:D,PromiseResolve:V,PromisePrototypeThen:re,Symbol:G}=nt(),X=G("kEmpty"),L=G("kEof");function $(k,W){if(W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),b(k)&&!_(k))throw new t("stream",k,"must be writable");const te=p(this,k);return W!=null&&W.signal&&g(W.signal,te),te}function ae(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal");let te=1;(W==null?void 0:W.concurrency)!=null&&(te=w(W.concurrency));let ee=te-1;return(W==null?void 0:W.highWaterMark)!=null&&(ee=w(W.highWaterMark)),o(te,"options.concurrency",1),o(ee,"options.highWaterMark",0),ee+=te,(async function*(){const T=Lt().AbortSignalAny([W==null?void 0:W.signal].filter(S)),M=this,I=[],B={signal:T};let U,Z,j=!1,F=0;function K(){j=!0,P()}function P(){F-=1,J()}function J(){Z&&!j&&F=ee||F>=te)&&await new O(y=>{Z=y})}I.push(L)}catch(me){const y=D(me);re(y,P,K),I.push(y)}finally{j=!0,U&&(U(),U=null)}}le();try{for(;;){for(;I.length>0;){const me=await I[0];if(me===L)return;if(T.aborted)throw new i;me!==X&&(yield me),I.shift(),J()}await new O(me=>{U=me})}}finally{j=!0,Z&&(Z(),Z=null)}}).call(this)}function ce(k=void 0){return k!=null&&l(k,"options"),(k==null?void 0:k.signal)!=null&&a(k.signal,"options.signal"),(async function*(){let te=0;for await(const A of this){var ee;if(k!=null&&(ee=k.signal)!==null&&ee!==void 0&&ee.aborted)throw new i({cause:k.signal.reason});yield[te++,A]}}).call(this)}async function de(k,W=void 0){for await(const te of Y.call(this,k,W))return!0;return!1}async function pe(k,W=void 0){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);return!await de.call(this,async(...te)=>!await k(...te),W)}async function z(k,W){for await(const te of Y.call(this,k,W))return te}async function ge(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);async function te(ee,A){return await k(ee,A),X}for await(const ee of ae.call(this,te,W));}function Y(k,W){if(typeof k!="function")throw new r("fn",["Function","AsyncFunction"],k);async function te(ee,A){return await k(ee,A)?ee:X}return ae.call(this,te,W)}class he extends n{constructor(){super("reduce"),this.message="Reduce of an empty stream requires an initial value"}}async function N(k,W,te){var ee;if(typeof k!="function")throw new r("reducer",["Function","AsyncFunction"],k);te!=null&&l(te,"options"),(te==null?void 0:te.signal)!=null&&a(te.signal,"options.signal");let A=arguments.length>1;if(te!=null&&(ee=te.signal)!==null&&ee!==void 0&&ee.aborted){const U=new i(void 0,{cause:te.signal.reason});throw this.once("error",()=>{}),await d(this.destroy(U)),U}const T=new e,M=T.signal;if(te!=null&&te.signal){const U={once:!0,[u]:this,[f]:!0};te.signal.addEventListener("abort",()=>T.abort(),U)}let I=!1;try{for await(const U of this){var B;if(I=!0,te!=null&&(B=te.signal)!==null&&B!==void 0&&B.aborted)throw new i;A?W=await k(W,U,{signal:M}):(W=U,A=!0)}if(!I&&!A)throw new he}finally{T.abort()}return W}async function ne(k){k!=null&&l(k,"options"),(k==null?void 0:k.signal)!=null&&a(k.signal,"options.signal");const W=[];for await(const ee of this){var te;if(k!=null&&(te=k.signal)!==null&&te!==void 0&&te.aborted)throw new i(void 0,{cause:k.signal.reason});v(W,ee)}return W}function ye(k,W){const te=ae.call(this,k,W);return(async function*(){for await(const A of te)yield*A}).call(this)}function oe(k){if(k=C(k),R(k))return 0;if(k<0)throw new s("number",">= 0",k);return k}function Q(k,W=void 0){return W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),k=oe(k),(async function*(){var ee;if(W!=null&&(ee=W.signal)!==null&&ee!==void 0&&ee.aborted)throw new i;for await(const T of this){var A;if(W!=null&&(A=W.signal)!==null&&A!==void 0&&A.aborted)throw new i;k--<=0&&(yield T)}}).call(this)}function q(k,W=void 0){return W!=null&&l(W,"options"),(W==null?void 0:W.signal)!=null&&a(W.signal,"options.signal"),k=oe(k),(async function*(){var ee;if(W!=null&&(ee=W.signal)!==null&&ee!==void 0&&ee.aborted)throw new i;for await(const T of this){var A;if(W!=null&&(A=W.signal)!==null&&A!==void 0&&A.aborted)throw new i;if(k-- >0&&(yield T),k<=0)return}}).call(this)}return Wo.streamReturningOperators={asIndexedPairs:E(ce,"readable.asIndexedPairs will be removed in a future version."),drop:Q,filter:Y,flatMap:ye,map:ae,take:q,compose:$},Wo.promiseReturningOperators={every:pe,forEach:ge,reduce:N,toArray:ne,some:de,find:z},Wo}var Gu,fm;function d0(){if(fm)return Gu;fm=1;const{ArrayPrototypePop:e,Promise:t}=nt(),{isIterable:r,isNodeStream:n,isWebStream:s}=ln(),{pipelineImpl:i}=pd(),{finished:a}=On();p0();function o(...l){return new t((u,f)=>{let d,p;const g=l[l.length-1];if(g&&typeof g=="object"&&!n(g)&&!r(g)&&!s(g)){const _=e(l);d=_.signal,p=_.end}i(l,(_,b)=>{_?f(_):u(b)},{signal:d,end:p})})}return Gu={finished:a,pipeline:o},Gu}var cm;function p0(){if(cm)return Tu.exports;cm=1;const{Buffer:e}=Yt(),{ObjectDefineProperty:t,ObjectKeys:r,ReflectApply:n}=nt(),{promisify:{custom:s}}=Lt(),{streamReturningOperators:i,promiseReturningOperators:a}=PR(),{codes:{ERR_ILLEGAL_CONSTRUCTOR:o}}=Ot(),l=h0(),{setDefaultHighWaterMark:u,getDefaultHighWaterMark:f}=Tl(),{pipeline:d}=pd(),{destroyer:p}=ms(),g=On(),_=d0(),b=ln(),E=Tu.exports=hd().Stream;E.isDestroyed=b.isDestroyed,E.isDisturbed=b.isDisturbed,E.isErrored=b.isErrored,E.isReadable=b.isReadable,E.isWritable=b.isWritable,E.Readable=xl();for(const S of r(i)){let C=function(...R){if(new.target)throw o();return E.Readable.from(n(w,this,R))};const w=i[S];t(C,"name",{__proto__:null,value:w.name}),t(C,"length",{__proto__:null,value:w.length}),t(E.Readable.prototype,S,{__proto__:null,value:C,enumerable:!1,configurable:!0,writable:!0})}for(const S of r(a)){let C=function(...R){if(new.target)throw o();return n(w,this,R)};const w=a[S];t(C,"name",{__proto__:null,value:w.name}),t(C,"length",{__proto__:null,value:w.length}),t(E.Readable.prototype,S,{__proto__:null,value:C,enumerable:!1,configurable:!0,writable:!0})}E.Writable=dd(),E.Duplex=Jr(),E.Transform=f0(),E.PassThrough=c0(),E.pipeline=d;const{addAbortSignal:v}=Al();return E.addAbortSignal=v,E.finished=g,E.destroy=p,E.compose=l,E.setDefaultHighWaterMark=u,E.getDefaultHighWaterMark=f,t(E,"promises",{__proto__:null,configurable:!0,enumerable:!0,get(){return _}}),t(d,s,{__proto__:null,enumerable:!0,get(){return _.pipeline}}),t(g,s,{__proto__:null,enumerable:!0,get(){return _.finished}}),E.Stream=E,E._isUint8Array=function(w){return w instanceof Uint8Array},E._uint8ArrayToBuffer=function(w){return e.from(w.buffer,w.byteOffset,w.byteLength)},Tu.exports}var hm;function LR(){return hm||(hm=1,function(e){const t=p0(),r=d0(),n=t.Readable.destroy;e.exports=t.Readable,e.exports._uint8ArrayToBuffer=t._uint8ArrayToBuffer,e.exports._isUint8Array=t._isUint8Array,e.exports.isDisturbed=t.isDisturbed,e.exports.isErrored=t.isErrored,e.exports.isReadable=t.isReadable,e.exports.Readable=t.Readable,e.exports.Writable=t.Writable,e.exports.Duplex=t.Duplex,e.exports.Transform=t.Transform,e.exports.PassThrough=t.PassThrough,e.exports.addAbortSignal=t.addAbortSignal,e.exports.finished=t.finished,e.exports.destroy=t.destroy,e.exports.destroy=n,e.exports.pipeline=t.pipeline,e.exports.compose=t.compose,Object.defineProperty(t,"promises",{configurable:!0,enumerable:!0,get(){return r}}),e.exports.Stream=t.Stream,e.exports.default=e.exports}(Au)),Au.exports}var qo={exports:{}},dm;function BR(){return dm||(dm=1,typeof Object.create=="function"?qo.exports=function(t,r){r&&(t.super_=r,t.prototype=Object.create(r.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:qo.exports=function(t,r){if(r){t.super_=r;var n=function(){};n.prototype=r.prototype,t.prototype=new n,t.prototype.constructor=t}}),qo.exports}var Qu,pm;function DR(){if(pm)return Qu;pm=1;const{Buffer:e}=Yt(),t=Symbol.for("BufferList");function r(n){if(!(this instanceof r))return new r(n);r._init.call(this,n)}return r._init=function(s){Object.defineProperty(this,t,{value:!0}),this._bufs=[],this.length=0,s&&this.append(s)},r.prototype._new=function(s){return new r(s)},r.prototype._offset=function(s){if(s===0)return[0,0];let i=0;for(let a=0;athis.length||s<0)return;const i=this._offset(s);return this._bufs[i[0]][i[1]]},r.prototype.slice=function(s,i){return typeof s=="number"&&s<0&&(s+=this.length),typeof i=="number"&&i<0&&(i+=this.length),this.copy(null,0,s,i)},r.prototype.copy=function(s,i,a,o){if((typeof a!="number"||a<0)&&(a=0),(typeof o!="number"||o>this.length)&&(o=this.length),a>=this.length||o<=0)return s||e.alloc(0);const l=!!s,u=this._offset(a),f=o-a;let d=f,p=l&&i||0,g=u[1];if(a===0&&o===this.length){if(!l)return this._bufs.length===1?this._bufs[0]:e.concat(this._bufs,this.length);for(let _=0;_b)this._bufs[_].copy(s,p,g),p+=b;else{this._bufs[_].copy(s,p,g,g+d),p+=b;break}d-=b,g&&(g=0)}return s.length>p?s.slice(0,p):s},r.prototype.shallowSlice=function(s,i){if(s=s||0,i=typeof i!="number"?this.length:i,s<0&&(s+=this.length),i<0&&(i+=this.length),s===i)return this._new();const a=this._offset(s),o=this._offset(i),l=this._bufs.slice(a[0],o[0]+1);return o[1]===0?l.pop():l[l.length-1]=l[l.length-1].slice(0,o[1]),a[1]!==0&&(l[0]=l[0].slice(a[1])),this._new(l)},r.prototype.toString=function(s,i,a){return this.slice(i,a).toString(s)},r.prototype.consume=function(s){if(s=Math.trunc(s),Number.isNaN(s)||s<=0)return this;for(;this._bufs.length;)if(s>=this._bufs[0].length)s-=this._bufs[0].length,this.length-=this._bufs[0].length,this._bufs.shift();else{this._bufs[0]=this._bufs[0].slice(s),this.length-=s;break}return this},r.prototype.duplicate=function(){const s=this._new();for(let i=0;ithis.length?this.length:s;const a=this._offset(s);let o=a[0],l=a[1];for(;o=n.length){const d=u.indexOf(n,l);if(d!==-1)return this._reverseOffset([o,d]);l=u.length-n.length+1}else{const d=this._reverseOffset([o,l]);if(this._match(d,n))return d;l++}l=0}return-1},r.prototype._match=function(n,s){if(this.length-n[0,1].map(a=>[0,1].map(o=>{const l=r.alloc(1);return l.writeUInt8(t.codes[s]<r.from([s])),t.EMPTY={pingreq:r.from([t.codes.pingreq<<4,0]),pingresp:r.from([t.codes.pingresp<<4,0]),disconnect:r.from([t.codes.disconnect<<4,0])},t.MQTT5_PUBACK_PUBREC_CODES={0:"Success",16:"No matching subscribers",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",144:"Topic Name invalid",145:"Packet identifier in use",151:"Quota exceeded",153:"Payload format invalid"},t.MQTT5_PUBREL_PUBCOMP_CODES={0:"Success",146:"Packet Identifier not found"},t.MQTT5_SUBACK_CODES={0:"Granted QoS 0",1:"Granted QoS 1",2:"Granted QoS 2",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use",151:"Quota exceeded",158:"Shared Subscriptions not supported",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.MQTT5_UNSUBACK_CODES={0:"Success",17:"No subscription existed",128:"Unspecified error",131:"Implementation specific error",135:"Not authorized",143:"Topic Filter invalid",145:"Packet Identifier in use"},t.MQTT5_DISCONNECT_CODES={0:"Normal disconnection",4:"Disconnect with Will Message",128:"Unspecified error",129:"Malformed Packet",130:"Protocol Error",131:"Implementation specific error",135:"Not authorized",137:"Server busy",139:"Server shutting down",141:"Keep Alive timeout",142:"Session taken over",143:"Topic Filter invalid",144:"Topic Name invalid",147:"Receive Maximum exceeded",148:"Topic Alias invalid",149:"Packet too large",150:"Message rate too high",151:"Quota exceeded",152:"Administrative action",153:"Payload format invalid",154:"Retain not supported",155:"QoS not supported",156:"Use another server",157:"Server moved",158:"Shared Subscriptions not supported",159:"Connection rate exceeded",160:"Maximum connect time",161:"Subscription Identifiers not supported",162:"Wildcard Subscriptions not supported"},t.MQTT5_AUTH_CODES={0:"Success",24:"Continue authentication",25:"Re-authenticate"}}(Ju)),Ju.exports}function m0(){throw new Error("setTimeout has not been defined")}function y0(){throw new Error("clearTimeout has not been defined")}var pn=m0,gn=y0;typeof si.setTimeout=="function"&&(pn=setTimeout);typeof si.clearTimeout=="function"&&(gn=clearTimeout);function _0(e){if(pn===setTimeout)return setTimeout(e,0);if((pn===m0||!pn)&&setTimeout)return pn=setTimeout,setTimeout(e,0);try{return pn(e,0)}catch{try{return pn.call(null,e,0)}catch{return pn.call(this,e,0)}}}function $R(e){if(gn===clearTimeout)return clearTimeout(e);if((gn===y0||!gn)&&clearTimeout)return gn=clearTimeout,clearTimeout(e);try{return gn(e)}catch{try{return gn.call(null,e)}catch{return gn.call(this,e)}}}var Hr=[],Yi=!1,Xn,pa=-1;function jR(){!Yi||!Xn||(Yi=!1,Xn.length?Hr=Xn.concat(Hr):pa=-1,Hr.length&&b0())}function b0(){if(!Yi){var e=_0(jR);Yi=!0;for(var t=Hr.length;t;){for(Xn=Hr,Hr=[];++pa1)for(var r=1;r0)return a(f);if(p==="number"&&isFinite(f))return d.long?l(f):o(f);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(f))};function a(f){if(f=String(f),!(f.length>100)){var d=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(f);if(d){var p=parseFloat(d[1]),g=(d[2]||"ms").toLowerCase();switch(g){case"years":case"year":case"yrs":case"yr":case"y":return p*i;case"weeks":case"week":case"w":return p*s;case"days":case"day":case"d":return p*n;case"hours":case"hour":case"hrs":case"hr":case"h":return p*r;case"minutes":case"minute":case"mins":case"min":case"m":return p*t;case"seconds":case"second":case"secs":case"sec":case"s":return p*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return p;default:return}}}}function o(f){var d=Math.abs(f);return d>=n?Math.round(f/n)+"d":d>=r?Math.round(f/r)+"h":d>=t?Math.round(f/t)+"m":d>=e?Math.round(f/e)+"s":f+"ms"}function l(f){var d=Math.abs(f);return d>=n?u(f,d,n,"day"):d>=r?u(f,d,r,"hour"):d>=t?u(f,d,t,"minute"):d>=e?u(f,d,e,"second"):f+" ms"}function u(f,d,p,g){var _=d>=p*1.5;return Math.round(f/p)+" "+g+(_?"s":"")}return Zu}var ef,bm;function pO(){if(bm)return ef;bm=1;function e(t){n.debug=n,n.default=n,n.coerce=u,n.disable=o,n.enable=i,n.enabled=l,n.humanize=dO(),n.destroy=f,Object.keys(t).forEach(d=>{n[d]=t[d]}),n.names=[],n.skips=[],n.formatters={};function r(d){let p=0;for(let g=0;g{if(D==="%%")return"%";R++;const re=n.formatters[V];if(typeof re=="function"){const G=v[R];D=re.call(S,G),v.splice(R,1),R--}return D}),n.formatArgs.call(S,v),(S.log||n.log).apply(S,v)}return E.namespace=d,E.useColors=n.useColors(),E.color=n.selectColor(d),E.extend=s,E.destroy=n.destroy,Object.defineProperty(E,"enabled",{enumerable:!0,configurable:!1,get:()=>g!==null?g:(_!==n.namespaces&&(_=n.namespaces,b=n.enabled(d)),b),set:v=>{g=v}}),typeof n.init=="function"&&n.init(E),E}function s(d,p){const g=n(this.namespace+(typeof p>"u"?":":p)+d);return g.log=this.log,g}function i(d){n.save(d),n.namespaces=d,n.names=[],n.skips=[];const p=(typeof d=="string"?d:"").trim().replace(" ",",").split(",").filter(Boolean);for(const g of p)g[0]==="-"?n.skips.push(g.slice(1)):n.names.push(g)}function a(d,p){let g=0,_=0,b=-1,E=0;for(;g"-"+p)].join(",");return n.enable(""),d}function l(d){for(const p of n.skips)if(a(d,p))return!1;for(const p of n.names)if(a(d,p))return!0;return!1}function u(d){return d instanceof Error?d.stack||d.message:d}function f(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return n.enable(n.load()),n}return ef=e,ef}var wm;function v0(){return wm||(wm=1,function(e,t){var r={};t.formatArgs=s,t.save=i,t.load=a,t.useColors=n,t.storage=o(),t.destroy=(()=>{let u=!1;return()=>{u||(u=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function n(){if(typeof window<"u"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let u;return typeof document<"u"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window<"u"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator<"u"&&navigator.userAgent&&(u=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(u[1],10)>=31||typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function s(u){if(u[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+u[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const f="color: "+this.color;u.splice(1,0,f,"color: inherit");let d=0,p=0;u[0].replace(/%[a-zA-Z%]/g,g=>{g!=="%%"&&(d++,g==="%c"&&(p=d))}),u.splice(p,0,f)}t.log=console.debug||console.log||(()=>{});function i(u){try{u?t.storage.setItem("debug",u):t.storage.removeItem("debug")}catch{}}function a(){let u;try{u=t.storage.getItem("debug")}catch{}return!u&&typeof Ft<"u"&&"env"in Ft&&(u=r.DEBUG),u}function o(){try{return localStorage}catch{}}e.exports=pO()(t);const{formatters:l}=e.exports;l.j=function(u){try{return JSON.stringify(u)}catch(f){return"[UnexpectedJSONParseError]: "+f.message}}}(Ko,Ko.exports)),Ko.exports}var tf,vm;function gO(){if(vm)return tf;vm=1;const e=UR(),{EventEmitter:t}=gs(),r=FR(),n=g0(),s=v0()("mqtt-packet:parser");class i extends t{constructor(){super(),this.parser=this.constructor.parser}static parser(o){return this instanceof i?(this.settings=o||{},this._states=["_parseHeader","_parseLength","_parsePayload","_newPacket"],this._resetState(),this):new i().parser(o)}_resetState(){s("_resetState: resetting packet, error, _list, and _stateCounter"),this.packet=new r,this.error=null,this._list=e(),this._stateCounter=0}parse(o){for(this.error&&this._resetState(),this._list.append(o),s("parse: current state: %s",this._states[this._stateCounter]);(this.packet.length!==-1||this._list.length>0)&&this[this._states[this._stateCounter]]()&&!this.error;)this._stateCounter++,s("parse: state complete. _stateCounter is now: %d",this._stateCounter),s("parse: packet.length: %d, buffer list length: %d",this.packet.length,this._list.length),this._stateCounter>=this._states.length&&(this._stateCounter=0);return s("parse: exited while loop. packet: %d, buffer list length: %d",this.packet.length,this._list.length),this._list.length}_parseHeader(){const o=this._list.readUInt8(0),l=o>>n.CMD_SHIFT;this.packet.cmd=n.types[l];const u=o&15,f=n.requiredHeaderFlags[l];return f!=null&&u!==f?this._emitError(new Error(n.requiredHeaderFlagsErrors[l])):(this.packet.retain=(o&n.RETAIN_MASK)!==0,this.packet.qos=o>>n.QOS_SHIFT&n.QOS_MASK,this.packet.qos>2?this._emitError(new Error("Packet must not have both QoS bits set to 1")):(this.packet.dup=(o&n.DUP_MASK)!==0,s("_parseHeader: packet: %o",this.packet),this._list.consume(1),!0))}_parseLength(){const o=this._parseVarByteNum(!0);return o&&(this.packet.length=o.value,this._list.consume(o.bytes)),s("_parseLength %d",o.value),!!o}_parsePayload(){s("_parsePayload: payload %O",this._list);let o=!1;if(this.packet.length===0||this._list.length>=this.packet.length){switch(this._pos=0,this.packet.cmd){case"connect":this._parseConnect();break;case"connack":this._parseConnack();break;case"publish":this._parsePublish();break;case"puback":case"pubrec":case"pubrel":case"pubcomp":this._parseConfirmation();break;case"subscribe":this._parseSubscribe();break;case"suback":this._parseSuback();break;case"unsubscribe":this._parseUnsubscribe();break;case"unsuback":this._parseUnsuback();break;case"pingreq":case"pingresp":break;case"disconnect":this._parseDisconnect();break;case"auth":this._parseAuth();break;default:this._emitError(new Error("Not supported"))}o=!0}return s("_parsePayload complete result: %s",o),o}_parseConnect(){s("_parseConnect");let o,l,u,f;const d={},p=this.packet,g=this._parseString();if(g===null)return this._emitError(new Error("Cannot parse protocolId"));if(g!=="MQTT"&&g!=="MQIsdp")return this._emitError(new Error("Invalid protocolId"));if(p.protocolId=g,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(p.protocolVersion=this._list.readUInt8(this._pos),p.protocolVersion>=128&&(p.bridgeMode=!0,p.protocolVersion=p.protocolVersion-128),p.protocolVersion!==3&&p.protocolVersion!==4&&p.protocolVersion!==5)return this._emitError(new Error("Invalid protocol version"));if(this._pos++,this._pos>=this._list.length)return this._emitError(new Error("Packet too short"));if(this._list.readUInt8(this._pos)&1)return this._emitError(new Error("Connect flag bit 0 must be 0, but got 1"));d.username=this._list.readUInt8(this._pos)&n.USERNAME_MASK,d.password=this._list.readUInt8(this._pos)&n.PASSWORD_MASK,d.will=this._list.readUInt8(this._pos)&n.WILL_FLAG_MASK;const _=!!(this._list.readUInt8(this._pos)&n.WILL_RETAIN_MASK),b=(this._list.readUInt8(this._pos)&n.WILL_QOS_MASK)>>n.WILL_QOS_SHIFT;if(d.will)p.will={},p.will.retain=_,p.will.qos=b;else{if(_)return this._emitError(new Error("Will Retain Flag must be set to zero when Will Flag is set to 0"));if(b)return this._emitError(new Error("Will QoS must be set to zero when Will Flag is set to 0"))}if(p.clean=(this._list.readUInt8(this._pos)&n.CLEAN_SESSION_MASK)!==0,this._pos++,p.keepalive=this._parseNum(),p.keepalive===-1)return this._emitError(new Error("Packet too short"));if(p.protocolVersion===5){const v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(p.properties=v)}const E=this._parseString();if(E===null)return this._emitError(new Error("Packet too short"));if(p.clientId=E,s("_parseConnect: packet.clientId: %s",p.clientId),d.will){if(p.protocolVersion===5){const v=this._parseProperties();Object.getOwnPropertyNames(v).length&&(p.will.properties=v)}if(o=this._parseString(),o===null)return this._emitError(new Error("Cannot parse will topic"));if(p.will.topic=o,s("_parseConnect: packet.will.topic: %s",p.will.topic),l=this._parseBuffer(),l===null)return this._emitError(new Error("Cannot parse will payload"));p.will.payload=l,s("_parseConnect: packet.will.paylaod: %s",p.will.payload)}if(d.username){if(f=this._parseString(),f===null)return this._emitError(new Error("Cannot parse username"));p.username=f,s("_parseConnect: packet.username: %s",p.username)}if(d.password){if(u=this._parseBuffer(),u===null)return this._emitError(new Error("Cannot parse password"));p.password=u}return this.settings=p,s("_parseConnect: complete"),p}_parseConnack(){s("_parseConnack");const o=this.packet;if(this._list.length<1)return null;const l=this._list.readUInt8(this._pos++);if(l>1)return this._emitError(new Error("Invalid connack flags, bits 7-1 must be set to 0"));if(o.sessionPresent=!!(l&n.SESSIONPRESENT_MASK),this.settings.protocolVersion===5)this._list.length>=2?o.reasonCode=this._list.readUInt8(this._pos++):o.reasonCode=0;else{if(this._list.length<2)return null;o.returnCode=this._list.readUInt8(this._pos++)}if(o.returnCode===-1||o.reasonCode===-1)return this._emitError(new Error("Cannot parse return code"));if(this.settings.protocolVersion===5){const u=this._parseProperties();Object.getOwnPropertyNames(u).length&&(o.properties=u)}s("_parseConnack: complete")}_parsePublish(){s("_parsePublish");const o=this.packet;if(o.topic=this._parseString(),o.topic===null)return this._emitError(new Error("Cannot parse topic"));if(!(o.qos>0&&!this._parseMessageId())){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}o.payload=this._list.slice(this._pos,o.length),s("_parsePublish: payload from buffer list: %o",o.payload)}}_parseSubscribe(){s("_parseSubscribe");const o=this.packet;let l,u,f,d,p,g,_;if(o.subscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const b=this._parseProperties();Object.getOwnPropertyNames(b).length&&(o.properties=b)}if(o.length<=0)return this._emitError(new Error("Malformed subscribe, no payload specified"));for(;this._pos=o.length)return this._emitError(new Error("Malformed Subscribe Payload"));if(u=this._parseByte(),this.settings.protocolVersion===5){if(u&192)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-6 must be 0"))}else if(u&252)return this._emitError(new Error("Invalid subscribe topic flag bits, bits 7-2 must be 0"));if(f=u&n.SUBSCRIBE_OPTIONS_QOS_MASK,f>2)return this._emitError(new Error("Invalid subscribe QoS, must be <= 2"));if(g=(u>>n.SUBSCRIBE_OPTIONS_NL_SHIFT&n.SUBSCRIBE_OPTIONS_NL_MASK)!==0,p=(u>>n.SUBSCRIBE_OPTIONS_RAP_SHIFT&n.SUBSCRIBE_OPTIONS_RAP_MASK)!==0,d=u>>n.SUBSCRIBE_OPTIONS_RH_SHIFT&n.SUBSCRIBE_OPTIONS_RH_MASK,d>2)return this._emitError(new Error("Invalid retain handling, must be <= 2"));_={topic:l,qos:f},this.settings.protocolVersion===5?(_.nl=g,_.rap=p,_.rh=d):this.settings.bridgeMode&&(_.rh=0,_.rap=!0,_.nl=!0),s("_parseSubscribe: push subscription `%s` to subscription",_),o.subscriptions.push(_)}}}_parseSuback(){s("_parseSuback");const o=this.packet;if(this.packet.granted=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}if(o.length<=0)return this._emitError(new Error("Malformed suback, no payload specified"));for(;this._pos2&&l!==128)return this._emitError(new Error("Invalid suback QoS, must be 0, 1, 2 or 128"));this.packet.granted.push(l)}}}_parseUnsubscribe(){s("_parseUnsubscribe");const o=this.packet;if(o.unsubscriptions=[],!!this._parseMessageId()){if(this.settings.protocolVersion===5){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}if(o.length<=0)return this._emitError(new Error("Malformed unsubscribe, no payload specified"));for(;this._pos2){switch(o.reasonCode=this._parseByte(),this.packet.cmd){case"puback":case"pubrec":if(!n.MQTT5_PUBACK_PUBREC_CODES[o.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break;case"pubrel":case"pubcomp":if(!n.MQTT5_PUBREL_PUBCOMP_CODES[o.reasonCode])return this._emitError(new Error("Invalid "+this.packet.cmd+" reason code"));break}s("_parseConfirmation: packet.reasonCode `%d`",o.reasonCode)}else o.reasonCode=0;if(o.length>3){const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}}return!0}_parseDisconnect(){const o=this.packet;if(s("_parseDisconnect"),this.settings.protocolVersion===5){this._list.length>0?(o.reasonCode=this._parseByte(),n.MQTT5_DISCONNECT_CODES[o.reasonCode]||this._emitError(new Error("Invalid disconnect reason code"))):o.reasonCode=0;const l=this._parseProperties();Object.getOwnPropertyNames(l).length&&(o.properties=l)}return s("_parseDisconnect result: true"),!0}_parseAuth(){s("_parseAuth");const o=this.packet;if(this.settings.protocolVersion!==5)return this._emitError(new Error("Not supported auth packet for this version MQTT"));if(o.reasonCode=this._parseByte(),!n.MQTT5_AUTH_CODES[o.reasonCode])return this._emitError(new Error("Invalid auth reason code"));const l=this._parseProperties();return Object.getOwnPropertyNames(l).length&&(o.properties=l),s("_parseAuth: result: true"),!0}_parseMessageId(){const o=this.packet;return o.messageId=this._parseNum(),o.messageId===null?(this._emitError(new Error("Cannot parse messageId")),!1):(s("_parseMessageId: packet.messageId %d",o.messageId),!0)}_parseString(o){const l=this._parseNum(),u=l+this._pos;if(l===-1||u>this._list.length||u>this.packet.length)return null;const f=this._list.toString("utf8",this._pos,u);return this._pos+=l,s("_parseString: result: %s",f),f}_parseStringPair(){return s("_parseStringPair"),{name:this._parseString(),value:this._parseString()}}_parseBuffer(){const o=this._parseNum(),l=o+this._pos;if(o===-1||l>this._list.length||l>this.packet.length)return null;const u=this._list.slice(this._pos,l);return this._pos+=o,s("_parseBuffer: result: %o",u),u}_parseNum(){if(this._list.length-this._pos<2)return-1;const o=this._list.readUInt16BE(this._pos);return this._pos+=2,s("_parseNum: result: %s",o),o}_parse4ByteNum(){if(this._list.length-this._pos<4)return-1;const o=this._list.readUInt32BE(this._pos);return this._pos+=4,s("_parse4ByteNum: result: %s",o),o}_parseVarByteNum(o){s("_parseVarByteNum");const l=4;let u=0,f=1,d=0,p=!1,g;const _=this._pos?this._pos:0;for(;u=u&&this._emitError(new Error("Invalid variable byte integer")),_&&(this._pos+=u),p?o?p={bytes:u,value:d}:p=d:p=!1,s("_parseVarByteNum: result: %o",p),p}_parseByte(){let o;return this._pos>8,0),u.writeUInt8(l&255,1),u}function i(){for(let l=0;l0&&(f=f|128),p.writeUInt8(f,d++);while(l>0&&d<4);return l>0&&(d=0),n?p.subarray(0,d):p.slice(0,d)}function o(l){const u=e.allocUnsafe(4);return u.writeUInt32BE(l,0),u}return rf={cache:r,generateCache:i,generateNumber:s,genBufVariableByteInt:a,generate4ByteBuffer:o},rf}var Yo={exports:{}},Sm;function yO(){if(Sm)return Yo.exports;Sm=1,typeof Ft>"u"||!Ft.version||Ft.version.indexOf("v0.")===0||Ft.version.indexOf("v1.")===0&&Ft.version.indexOf("v1.8.")!==0?Yo.exports={nextTick:e}:Yo.exports=Ft;function e(t,r,n,s){if(typeof t!="function")throw new TypeError('"callback" argument must be a function');var i=arguments.length,a,o;switch(i){case 0:case 1:return Ft.nextTick(t);case 2:return Ft.nextTick(function(){t.call(null,r)});case 3:return Ft.nextTick(function(){t.call(null,r,n)});case 4:return Ft.nextTick(function(){t.call(null,r,n,s)});default:for(a=new Array(i-1),o=0;o=4)&&(M||A))Z+=t.byteLength(M)+2;else{if(te<4)return Q.destroy(new Error("clientId must be supplied before 3.1.1")),!1;if(A*1===0)return Q.destroy(new Error("clientId must be given if cleanSession set to 0")),!1}if(typeof T!="number"||T<0||T>65535||T%1!==0)return Q.destroy(new Error("Invalid keepalive")),!1;Z+=2,Z+=1;let j,F;if(te===5){if(j=ge(Q,U),!j)return!1;Z+=j.length}if(ee){if(typeof ee!="object")return Q.destroy(new Error("Invalid will")),!1;if(!ee.topic||typeof ee.topic!="string")return Q.destroy(new Error("Invalid will topic")),!1;if(Z+=t.byteLength(ee.topic)+2,Z+=2,ee.payload)if(ee.payload.length>=0)typeof ee.payload=="string"?Z+=t.byteLength(ee.payload):Z+=ee.payload.length;else return Q.destroy(new Error("Invalid will payload")),!1;if(F={},te===5){if(F=ge(Q,ee.properties),!F)return!1;Z+=F.length}}let K=!1;if(I!=null)if(ye(I))K=!0,Z+=t.byteLength(I)+2;else return Q.destroy(new Error("Invalid username")),!1;if(B!=null){if(!K)return Q.destroy(new Error("Username is required to use password")),!1;if(ye(B))Z+=ne(B)+2;else return Q.destroy(new Error("Invalid password")),!1}Q.write(e.CONNECT_HEADER),L(Q,Z),z(Q,W),k.bridgeMode&&(te+=128),Q.write(te===131?e.VERSION131:te===132?e.VERSION132:te===4?e.VERSION4:te===5?e.VERSION5:e.VERSION3);let P=0;return P|=I!=null?e.USERNAME_MASK:0,P|=B!=null?e.PASSWORD_MASK:0,P|=ee&&ee.retain?e.WILL_RETAIN_MASK:0,P|=ee&&ee.qos?ee.qos<0&&p(Q,M),U!=null&&U.write(),a("publish: payload: %o",T),Q.write(T)}function w(oe,Q,q){const k=q?q.protocolVersion:4,W=oe||{},te=W.cmd||"puback",ee=W.messageId,A=W.dup&&te==="pubrel"?e.DUP_MASK:0;let T=0;const M=W.reasonCode,I=W.properties;let B=k===5?3:2;if(te==="pubrel"&&(T=1),typeof ee!="number")return Q.destroy(new Error("Invalid messageId")),!1;let U=null;if(k===5&&typeof I=="object"){if(U=Y(Q,I,q,B),!U)return!1;B+=U.length}return Q.write(e.ACKS[te][T][A][0]),B===3&&(B+=M!==0?1:-1),L(Q,B),p(Q,ee),k===5&&B!==2&&Q.write(t.from([M])),U!==null?U.write():B===4&&Q.write(t.from([0])),!0}function C(oe,Q,q){a("subscribe: packet: ");const k=q?q.protocolVersion:4,W=oe||{},te=W.dup?e.DUP_MASK:0,ee=W.messageId,A=W.subscriptions,T=W.properties;let M=0;if(typeof ee!="number")return Q.destroy(new Error("Invalid messageId")),!1;M+=2;let I=null;if(k===5){if(I=ge(Q,T),!I)return!1;M+=I.length}if(typeof A=="object"&&A.length)for(let U=0;U2)return Q.destroy(new Error("Invalid subscriptions - invalid Retain Handling")),!1}M+=t.byteLength(Z)+2+1}else return Q.destroy(new Error("Invalid subscriptions")),!1;a("subscribe: writing to stream: %o",e.SUBSCRIBE_HEADER),Q.write(e.SUBSCRIBE_HEADER[1][te?1:0][0]),L(Q,M),p(Q,ee),I!==null&&I.write();let B=!0;for(const U of A){const Z=U.topic,j=U.qos,F=+U.nl,K=+U.rap,P=U.rh;let J;$(Q,Z),J=e.SUBSCRIBE_OPTIONS_QOS[j],k===5&&(J|=F?e.SUBSCRIBE_OPTIONS_NL:0,J|=K?e.SUBSCRIBE_OPTIONS_RAP:0,J|=P?e.SUBSCRIBE_OPTIONS_RH[P]:0),B=Q.write(t.from([J]))}return B}function R(oe,Q,q){const k=q?q.protocolVersion:4,W=oe||{},te=W.messageId,ee=W.granted,A=W.properties;let T=0;if(typeof te!="number")return Q.destroy(new Error("Invalid messageId")),!1;if(T+=2,typeof ee=="object"&&ee.length)for(let I=0;Ie.VARBYTEINT_MAX)return oe.destroy(new Error(`Invalid variable byte integer: ${Q}`)),!1;let q=X[Q];return q||(q=f(Q),Q<16384&&(X[Q]=q)),a("writeVarByteInt: writing to stream: %o",q),oe.write(q)}function $(oe,Q){const q=t.byteLength(Q);return p(oe,q),a("writeString: %s",Q),oe.write(Q,"utf8")}function ae(oe,Q,q){$(oe,Q),$(oe,q)}function ce(oe,Q){return a("writeNumberCached: number: %d",Q),a("writeNumberCached: %o",o[Q]),oe.write(o[Q])}function de(oe,Q){const q=l(Q);return a("writeNumberGenerated: %o",q),oe.write(q)}function pe(oe,Q){const q=d(Q);return a("write4ByteNumber: %o",q),oe.write(q)}function z(oe,Q){typeof Q=="string"?$(oe,Q):Q?(p(oe,Q.length),oe.write(Q)):p(oe,0)}function ge(oe,Q){if(typeof Q!="object"||Q.length!=null)return{length:1,write(){N(oe,{},0)}};let q=0;function k(te,ee){const A=e.propertiesTypes[te];let T=0;switch(A){case"byte":{if(typeof ee!="boolean")return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=2;break}case"int8":{if(typeof ee!="number"||ee<0||ee>255)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=2;break}case"binary":{if(ee&&ee===null)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=1+t.byteLength(ee)+2;break}case"int16":{if(typeof ee!="number"||ee<0||ee>65535)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=3;break}case"int32":{if(typeof ee!="number"||ee<0||ee>4294967295)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=5;break}case"var":{if(typeof ee!="number"||ee<0||ee>268435455)return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=1+t.byteLength(f(ee));break}case"string":{if(typeof ee!="string")return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=3+t.byteLength(ee.toString());break}case"pair":{if(typeof ee!="object")return oe.destroy(new Error(`Invalid ${te}: ${ee}`)),!1;T+=Object.getOwnPropertyNames(ee).reduce((M,I)=>{const B=ee[I];return Array.isArray(B)?M+=B.reduce((U,Z)=>(U+=3+t.byteLength(I.toString())+2+t.byteLength(Z.toString()),U),0):M+=3+t.byteLength(I.toString())+2+t.byteLength(ee[I].toString()),M},0);break}default:return oe.destroy(new Error(`Invalid property ${te}: ${ee}`)),!1}return T}if(Q)for(const te in Q){let ee=0,A=0;const T=Q[te];if(Array.isArray(T))for(let M=0;Mte;){const A=W.shift();if(A&&Q[A])delete Q[A],ee=ge(oe,Q);else return!1}return ee}function he(oe,Q,q){switch(e.propertiesTypes[Q]){case"byte":{oe.write(t.from([e.properties[Q]])),oe.write(t.from([+q]));break}case"int8":{oe.write(t.from([e.properties[Q]])),oe.write(t.from([q]));break}case"binary":{oe.write(t.from([e.properties[Q]])),z(oe,q);break}case"int16":{oe.write(t.from([e.properties[Q]])),p(oe,q);break}case"int32":{oe.write(t.from([e.properties[Q]])),pe(oe,q);break}case"var":{oe.write(t.from([e.properties[Q]])),L(oe,q);break}case"string":{oe.write(t.from([e.properties[Q]])),$(oe,q);break}case"pair":{Object.getOwnPropertyNames(q).forEach(W=>{const te=q[W];Array.isArray(te)?te.forEach(ee=>{oe.write(t.from([e.properties[Q]])),ae(oe,W.toString(),ee.toString())}):(oe.write(t.from([e.properties[Q]])),ae(oe,W.toString(),te.toString()))});break}default:return oe.destroy(new Error(`Invalid property ${Q} value: ${q}`)),!1}}function N(oe,Q,q){L(oe,q);for(const k in Q)if(Object.prototype.hasOwnProperty.call(Q,k)&&Q[k]!==null){const W=Q[k];if(Array.isArray(W))for(let te=0;tet?1:e>=t?0:NaN}function wO(e,t){return e==null||t==null?NaN:te?1:t>=e?0:NaN}function gd(e){let t,r,n;e.length!==2?(t=ga,r=(o,l)=>ga(e(o),l),n=(o,l)=>e(o)-l):(t=e===ga||e===wO?e:vO,r=e,n=e);function s(o,l,u=0,f=o.length){if(u>>1;r(o[d],l)<0?u=d+1:f=d}while(u>>1;r(o[d],l)<=0?u=d+1:f=d}while(uu&&n(o[d-1],l)>-n(o[d],l)?d-1:d}return{left:s,center:a,right:i}}function vO(){return 0}function EO(e){return e===null?NaN:+e}const SO=gd(ga),AO=SO.right;gd(EO).center;function AL(e,t){let r,n;if(t===void 0)for(const s of e)s!=null&&(r===void 0?s>=s&&(r=n=s):(r>s&&(r=s),n=i&&(r=n=i):(r>i&&(r=i),n=CO?10:i>=RO?5:i>=OO?2:1;let o,l,u;return s<0?(u=Math.pow(10,-s)/a,o=Math.round(e*u),l=Math.round(t*u),o/ut&&--l,u=-u):(u=Math.pow(10,s)*a,o=Math.round(e/u),l=Math.round(t/u),o*ut&&--l),l0))return[];if(e===t)return[e];const n=t=s))return[];const o=i-s+1,l=new Array(o);if(n)if(a<0)for(let u=0;u=n)&&(r=n);else{let n=-1;for(let s of e)(s=t(s,++n,e))!=null&&(r=s)&&(r=s)}return r}function MO(e,t,r){e=+e,t=+t,r=(s=arguments.length)<2?(t=e,e=0,1):s<3?1:+r;for(var n=-1,s=Math.max(0,Math.ceil((t-e)/r))|0,i=new Array(s);++n+e(t)}function DO(e,t){return t=Math.max(0,e.bandwidth()-t*2)/2,e.round()&&(t=Math.round(t)),r=>+e(r)+t}function UO(){return!this.__axis}function Il(e,t){var r=[],n=null,s=null,i=6,a=6,o=3,l=typeof window<"u"&&window.devicePixelRatio>1?0:.5,u=e===ma||e===$s?-1:1,f=e===$s||e===ya?"x":"y",d=e===ma||e===sh?PO:LO;function p(g){var _=n??(t.ticks?t.ticks.apply(t,r):t.domain()),b=s??(t.tickFormat?t.tickFormat.apply(t,r):NO),E=Math.max(i,0)+o,v=t.range(),S=+v[0]+l,w=+v[v.length-1]+l,C=(t.bandwidth?DO:BO)(t.copy(),l),R=g.selection?g.selection():g,O=R.selectAll(".domain").data([null]),D=R.selectAll(".tick").data(_,t).order(),V=D.exit(),re=D.enter().append("g").attr("class","tick"),G=D.select("line"),X=D.select("text");O=O.merge(O.enter().insert("path",".tick").attr("class","domain").attr("stroke","currentColor")),D=D.merge(re),G=G.merge(re.append("line").attr("stroke","currentColor").attr(f+"2",u*i)),X=X.merge(re.append("text").attr("fill","currentColor").attr(f,u*E).attr("dy",e===ma?"0em":e===sh?"0.71em":"0.32em")),g!==R&&(O=O.transition(g),D=D.transition(g),G=G.transition(g),X=X.transition(g),V=V.transition(g).attr("opacity",Rm).attr("transform",function(L){return isFinite(L=C(L))?d(L+l):this.getAttribute("transform")}),re.attr("opacity",Rm).attr("transform",function(L){var $=this.parentNode.__axis;return d(($&&isFinite($=$(L))?$:C(L))+l)})),V.remove(),O.attr("d",e===$s||e===ya?a?"M"+u*a+","+S+"H"+l+"V"+w+"H"+u*a:"M"+l+","+S+"V"+w:a?"M"+S+","+u*a+"V"+l+"H"+w+"V"+u*a:"M"+S+","+l+"H"+w),D.attr("opacity",1).attr("transform",function(L){return d(C(L)+l)}),G.attr(f+"2",u*i),X.attr(f,u*E).text(b),R.filter(UO).attr("fill","none").attr("font-size",10).attr("font-family","sans-serif").attr("text-anchor",e===ya?"start":e===$s?"end":"middle"),R.each(function(){this.__axis=C})}return p.scale=function(g){return arguments.length?(t=g,p):t},p.ticks=function(){return r=Array.from(arguments),p},p.tickArguments=function(g){return arguments.length?(r=g==null?[]:Array.from(g),p):r.slice()},p.tickValues=function(g){return arguments.length?(n=g==null?null:Array.from(g),p):n&&n.slice()},p.tickFormat=function(g){return arguments.length?(s=g,p):s},p.tickSize=function(g){return arguments.length?(i=a=+g,p):i},p.tickSizeInner=function(g){return arguments.length?(i=+g,p):i},p.tickSizeOuter=function(g){return arguments.length?(a=+g,p):a},p.tickPadding=function(g){return arguments.length?(o=+g,p):o},p.offset=function(g){return arguments.length?(l=+g,p):l},p}function xL(e){return Il(ma,e)}function IL(e){return Il(ya,e)}function CL(e){return Il(sh,e)}function RL(e){return Il($s,e)}var FO={value:()=>{}};function S0(){for(var e=0,t=arguments.length,r={},n;e=0&&(n=r.slice(s+1),r=r.slice(0,s)),r&&!t.hasOwnProperty(r))throw new Error("unknown type: "+r);return{type:r,name:n}})}_a.prototype=S0.prototype={constructor:_a,on:function(e,t){var r=this._,n=$O(e+"",r),s,i=-1,a=n.length;if(arguments.length<2){for(;++i0)for(var r=new Array(s),n=0,s,i;n=0&&(t=e.slice(0,r))!=="xmlns"&&(e=e.slice(r+1)),km.hasOwnProperty(t)?{space:km[t],local:e}:e}function WO(e){return function(){var t=this.ownerDocument,r=this.namespaceURI;return r===oh&&t.documentElement.namespaceURI===oh?t.createElement(e):t.createElementNS(r,e)}}function HO(e){return function(){return this.ownerDocument.createElementNS(e.space,e.local)}}function A0(e){var t=Cl(e);return(t.local?HO:WO)(t)}function VO(){}function md(e){return e==null?VO:function(){return this.querySelector(e)}}function qO(e){typeof e!="function"&&(e=md(e));for(var t=this._groups,r=t.length,n=new Array(r),s=0;s=w&&(w=S+1);!(R=E[w])&&++w<_;);C._next=R||null}}return a=new Kt(a,n),a._enter=o,a._exit=l,a}function ck(e){return typeof e=="object"&&"length"in e?e:Array.from(e)}function hk(){return new Kt(this._exit||this._groups.map(C0),this._parents)}function dk(e,t,r){var n=this.enter(),s=this,i=this.exit();return typeof e=="function"?(n=e(n),n&&(n=n.selection())):n=n.append(e+""),t!=null&&(s=t(s),s&&(s=s.selection())),r==null?i.remove():r(i),n&&s?n.merge(s).order():s}function pk(e){for(var t=e.selection?e.selection():e,r=this._groups,n=t._groups,s=r.length,i=n.length,a=Math.min(s,i),o=new Array(s),l=0;l=0;)(a=n[s])&&(i&&a.compareDocumentPosition(i)^4&&i.parentNode.insertBefore(a,i),i=a);return this}function mk(e){e||(e=yk);function t(d,p){return d&&p?e(d.__data__,p.__data__):!d-!p}for(var r=this._groups,n=r.length,s=new Array(n),i=0;it?1:e>=t?0:NaN}function _k(){var e=arguments[0];return arguments[0]=this,e.apply(null,arguments),this}function bk(){return Array.from(this)}function wk(){for(var e=this._groups,t=0,r=e.length;t1?this.each((t==null?kk:typeof t=="function"?Nk:Mk)(e,t,r??"")):ns(this.node(),e)}function ns(e,t){return e.style.getPropertyValue(t)||R0(e).getComputedStyle(e,null).getPropertyValue(t)}function Lk(e){return function(){delete this[e]}}function Bk(e,t){return function(){this[e]=t}}function Dk(e,t){return function(){var r=t.apply(this,arguments);r==null?delete this[e]:this[e]=r}}function Uk(e,t){return arguments.length>1?this.each((t==null?Lk:typeof t=="function"?Dk:Bk)(e,t)):this.node()[e]}function O0(e){return e.trim().split(/^|\s+/)}function yd(e){return e.classList||new k0(e)}function k0(e){this._node=e,this._names=O0(e.getAttribute("class")||"")}k0.prototype={add:function(e){var t=this._names.indexOf(e);t<0&&(this._names.push(e),this._node.setAttribute("class",this._names.join(" ")))},remove:function(e){var t=this._names.indexOf(e);t>=0&&(this._names.splice(t,1),this._node.setAttribute("class",this._names.join(" ")))},contains:function(e){return this._names.indexOf(e)>=0}};function M0(e,t){for(var r=yd(e),n=-1,s=t.length;++n=0&&(r=t.slice(n+1),t=t.slice(0,n)),{type:t,name:r}})}function hM(e){return function(){var t=this.__on;if(t){for(var r=0,n=-1,s=t.length,i;r>8&15|t>>4&240,t>>4&15|t&240,(t&15)<<4|t&15,1):r===8?zo(t>>24&255,t>>16&255,t>>8&255,(t&255)/255):r===4?zo(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|t&240,((t&15)<<4|t&15)/255):null):(t=vM.exec(e))?new Pt(t[1],t[2],t[3],1):(t=EM.exec(e))?new Pt(t[1]*255/100,t[2]*255/100,t[3]*255/100,1):(t=SM.exec(e))?zo(t[1],t[2],t[3],t[4]):(t=AM.exec(e))?zo(t[1]*255/100,t[2]*255/100,t[3]*255/100,t[4]):(t=TM.exec(e))?Um(t[1],t[2]/100,t[3]/100,1):(t=xM.exec(e))?Um(t[1],t[2]/100,t[3]/100,t[4]):Mm.hasOwnProperty(e)?Lm(Mm[e]):e==="transparent"?new Pt(NaN,NaN,NaN,0):null}function Lm(e){return new Pt(e>>16&255,e>>8&255,e&255,1)}function zo(e,t,r,n){return n<=0&&(e=t=r=NaN),new Pt(e,t,r,n)}function RM(e){return e instanceof vo||(e=ui(e)),e?(e=e.rgb(),new Pt(e.r,e.g,e.b,e.opacity)):new Pt}function ah(e,t,r,n){return arguments.length===1?RM(e):new Pt(e,t,r,n??1)}function Pt(e,t,r,n){this.r=+e,this.g=+t,this.b=+r,this.opacity=+n}_d(Pt,ah,B0(vo,{brighter(e){return e=e==null?ja:Math.pow(ja,e),new Pt(this.r*e,this.g*e,this.b*e,this.opacity)},darker(e){return e=e==null?oo:Math.pow(oo,e),new Pt(this.r*e,this.g*e,this.b*e,this.opacity)},rgb(){return this},clamp(){return new Pt(ii(this.r),ii(this.g),ii(this.b),Wa(this.opacity))},displayable(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Bm,formatHex:Bm,formatHex8:OM,formatRgb:Dm,toString:Dm}));function Bm(){return`#${Jn(this.r)}${Jn(this.g)}${Jn(this.b)}`}function OM(){return`#${Jn(this.r)}${Jn(this.g)}${Jn(this.b)}${Jn((isNaN(this.opacity)?1:this.opacity)*255)}`}function Dm(){const e=Wa(this.opacity);return`${e===1?"rgb(":"rgba("}${ii(this.r)}, ${ii(this.g)}, ${ii(this.b)}${e===1?")":`, ${e})`}`}function Wa(e){return isNaN(e)?1:Math.max(0,Math.min(1,e))}function ii(e){return Math.max(0,Math.min(255,Math.round(e)||0))}function Jn(e){return e=ii(e),(e<16?"0":"")+e.toString(16)}function Um(e,t,r,n){return n<=0?e=t=r=NaN:r<=0||r>=1?e=t=NaN:t<=0&&(e=NaN),new lr(e,t,r,n)}function D0(e){if(e instanceof lr)return new lr(e.h,e.s,e.l,e.opacity);if(e instanceof vo||(e=ui(e)),!e)return new lr;if(e instanceof lr)return e;e=e.rgb();var t=e.r/255,r=e.g/255,n=e.b/255,s=Math.min(t,r,n),i=Math.max(t,r,n),a=NaN,o=i-s,l=(i+s)/2;return o?(t===i?a=(r-n)/o+(r0&&l<1?0:a,new lr(a,o,l,e.opacity)}function kM(e,t,r,n){return arguments.length===1?D0(e):new lr(e,t,r,n??1)}function lr(e,t,r,n){this.h=+e,this.s=+t,this.l=+r,this.opacity=+n}_d(lr,kM,B0(vo,{brighter(e){return e=e==null?ja:Math.pow(ja,e),new lr(this.h,this.s,this.l*e,this.opacity)},darker(e){return e=e==null?oo:Math.pow(oo,e),new lr(this.h,this.s,this.l*e,this.opacity)},rgb(){var e=this.h%360+(this.h<0)*360,t=isNaN(e)||isNaN(this.s)?0:this.s,r=this.l,n=r+(r<.5?r:1-r)*t,s=2*r-n;return new Pt(of(e>=240?e-240:e+120,s,n),of(e,s,n),of(e<120?e+240:e-120,s,n),this.opacity)},clamp(){return new lr(Fm(this.h),Go(this.s),Go(this.l),Wa(this.opacity))},displayable(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl(){const e=Wa(this.opacity);return`${e===1?"hsl(":"hsla("}${Fm(this.h)}, ${Go(this.s)*100}%, ${Go(this.l)*100}%${e===1?")":`, ${e})`}`}}));function Fm(e){return e=(e||0)%360,e<0?e+360:e}function Go(e){return Math.max(0,Math.min(1,e||0))}function of(e,t,r){return(e<60?t+(r-t)*e/60:e<180?r:e<240?t+(r-t)*(240-e)/60:t)*255}const bd=e=>()=>e;function MM(e,t){return function(r){return e+r*t}}function NM(e,t,r){return e=Math.pow(e,r),t=Math.pow(t,r)-e,r=1/r,function(n){return Math.pow(e+n*t,r)}}function PM(e){return(e=+e)==1?U0:function(t,r){return r-t?NM(t,r,e):bd(isNaN(t)?r:t)}}function U0(e,t){var r=t-e;return r?MM(e,r):bd(isNaN(e)?t:e)}const Ha=function e(t){var r=PM(t);function n(s,i){var a=r((s=ah(s)).r,(i=ah(i)).r),o=r(s.g,i.g),l=r(s.b,i.b),u=U0(s.opacity,i.opacity);return function(f){return s.r=a(f),s.g=o(f),s.b=l(f),s.opacity=u(f),s+""}}return n.gamma=e,n}(1);function LM(e,t){t||(t=[]);var r=e?Math.min(t.length,e.length):0,n=t.slice(),s;return function(i){for(s=0;sr&&(i=t.slice(r,i),o[a]?o[a]+=i:o[++a]=i),(n=n[0])===(s=s[0])?o[a]?o[a]+=s:o[++a]=s:(o[++a]=null,l.push({i:a,x:ar(n,s)})),r=af.lastIndex;return r180?f+=360:f-u>180&&(u+=360),p.push({i:d.push(s(d)+"rotate(",null,n)-2,x:ar(u,f)})):f&&d.push(s(d)+"rotate("+f+n)}function o(u,f,d,p){u!==f?p.push({i:d.push(s(d)+"skewX(",null,n)-2,x:ar(u,f)}):f&&d.push(s(d)+"skewX("+f+n)}function l(u,f,d,p,g,_){if(u!==d||f!==p){var b=g.push(s(g)+"scale(",null,",",null,")");_.push({i:b-4,x:ar(u,d)},{i:b-2,x:ar(f,p)})}else(d!==1||p!==1)&&g.push(s(g)+"scale("+d+","+p+")")}return function(u,f){var d=[],p=[];return u=e(u),f=e(f),i(u.translateX,u.translateY,f.translateX,f.translateY,d,p),a(u.rotate,f.rotate,d,p),o(u.skewX,f.skewX,d,p),l(u.scaleX,u.scaleY,f.scaleX,f.scaleY,d,p),u=f=null,function(g){for(var _=-1,b=p.length,E;++_=0&&e._call.call(void 0,t),e=e._next;--is}function jm(){fi=(qa=lo.now())+Rl,is=js=0;try{zM()}finally{is=0,QM(),fi=0}}function GM(){var e=lo.now(),t=e-qa;t>W0&&(Rl-=t,qa=e)}function QM(){for(var e,t=Va,r,n=1/0;t;)t._call?(n>t._time&&(n=t._time),e=t,t=t._next):(r=t._next,t._next=null,t=e?e._next=r:Va=r);Ws=e,fh(n)}function fh(e){if(!is){js&&(js=clearTimeout(js));var t=e-fi;t>24?(e<1/0&&(js=setTimeout(jm,e-lo.now()-Rl)),Ms&&(Ms=clearInterval(Ms))):(Ms||(qa=lo.now(),Ms=setInterval(GM,W0)),is=1,H0(jm))}}function Wm(e,t,r){var n=new Ka;return t=t==null?0:+t,n.restart(s=>{n.stop(),e(s+t)},t,r),n}var XM=S0("start","end","cancel","interrupt"),JM=[],q0=0,Hm=1,ch=2,ba=3,Vm=4,hh=5,wa=6;function Ol(e,t,r,n,s,i){var a=e.__transition;if(!a)e.__transition={};else if(r in a)return;ZM(e,r,{name:t,index:n,group:s,on:XM,tween:JM,time:i.time,delay:i.delay,duration:i.duration,ease:i.ease,timer:null,state:q0})}function Ed(e,t){var r=hr(e,t);if(r.state>q0)throw new Error("too late; already scheduled");return r}function Cr(e,t){var r=hr(e,t);if(r.state>ba)throw new Error("too late; already running");return r}function hr(e,t){var r=e.__transition;if(!r||!(r=r[t]))throw new Error("transition not found");return r}function ZM(e,t,r){var n=e.__transition,s;n[t]=r,r.timer=V0(i,0,r.time);function i(u){r.state=Hm,r.timer.restart(a,r.delay,r.time),r.delay<=u&&a(u-r.delay)}function a(u){var f,d,p,g;if(r.state!==Hm)return l();for(f in n)if(g=n[f],g.name===r.name){if(g.state===ba)return Wm(a);g.state===Vm?(g.state=wa,g.timer.stop(),g.on.call("interrupt",e,e.__data__,g.index,g.group),delete n[f]):+fch&&n.state=0&&(t=t.slice(0,r)),!t||t==="start"})}function ON(e,t,r){var n,s,i=RN(t)?Ed:Cr;return function(){var a=i(this,e),o=a.on;o!==n&&(s=(n=o).copy()).on(t,r),a.on=s}}function kN(e,t){var r=this._id;return arguments.length<2?hr(this.node(),r).on.on(e):this.each(ON(r,e,t))}function MN(e){return function(){var t=this.parentNode;for(var r in this.__transition)if(+r!==e)return;t&&t.removeChild(this)}}function NN(){return this.on("end.remove",MN(this._id))}function PN(e){var t=this._name,r=this._id;typeof e!="function"&&(e=md(e));for(var n=this._groups,s=n.length,i=new Array(s),a=0;a+e;function tP(e){return((e*=2)<=1?e*e*e:(e-=2)*e*e+2)/2}var rP={time:null,delay:0,duration:250,ease:tP};function nP(e,t){for(var r;!(r=e.__transition)||!(r=r[t]);)if(!(e=e.parentNode))throw new Error(`transition ${t} not found`);return r}function iP(e){var t,r;e instanceof Zr?(t=e._id,e=e._name):(t=z0(),(r=rP).time=vd(),e=e==null?null:e+"");for(var n=this._groups,s=n.length,i=0;i=0))throw new Error(`invalid digits: ${e}`);if(t>15)return G0;const r=10**t;return function(n){this._+=n[0];for(let s=1,i=n.length;sVn)if(!(Math.abs(d*l-u*f)>Vn)||!i)this._append`L${this._x1=t},${this._y1=r}`;else{let g=n-a,_=s-o,b=l*l+u*u,E=g*g+_*_,v=Math.sqrt(b),S=Math.sqrt(p),w=i*Math.tan((dh-Math.acos((b+p-E)/(2*v*S)))/2),C=w/S,R=w/v;Math.abs(C-1)>Vn&&this._append`L${t+C*f},${r+C*d}`,this._append`A${i},${i},0,0,${+(d*g>f*_)},${this._x1=t+R*l},${this._y1=r+R*u}`}}arc(t,r,n,s,i,a){if(t=+t,r=+r,n=+n,a=!!a,n<0)throw new Error(`negative radius: ${n}`);let o=n*Math.cos(s),l=n*Math.sin(s),u=t+o,f=r+l,d=1^a,p=a?s-i:i-s;this._x1===null?this._append`M${u},${f}`:(Math.abs(this._x1-u)>Vn||Math.abs(this._y1-f)>Vn)&&this._append`L${u},${f}`,n&&(p<0&&(p=p%ph+ph),p>sP?this._append`A${n},${n},0,1,${d},${t-o},${r-l}A${n},${n},0,1,${d},${this._x1=u},${this._y1=f}`:p>Vn&&this._append`A${n},${n},0,${+(p>=dh)},${d},${this._x1=t+n*Math.cos(i)},${this._y1=r+n*Math.sin(i)}`)}rect(t,r,n,s){this._append`M${this._x0=this._x1=+t},${this._y0=this._y1=+r}h${n=+n}v${+s}h${-n}Z`}toString(){return this._}}function lP(e){return Math.abs(e=Math.round(e))>=1e21?e.toLocaleString("en").replace(/,/g,""):e.toString(10)}function Ya(e,t){if((r=(e=t?e.toExponential(t-1):e.toExponential()).indexOf("e"))<0)return null;var r,n=e.slice(0,r);return[n.length>1?n[0]+n.slice(2):n,+e.slice(r+1)]}function ss(e){return e=Ya(Math.abs(e)),e?e[1]:NaN}function uP(e,t){return function(r,n){for(var s=r.length,i=[],a=0,o=e[0],l=0;s>0&&o>0&&(l+o+1>n&&(o=Math.max(1,n-l)),i.push(r.substring(s-=o,s+o)),!((l+=o+1)>n));)o=e[a=(a+1)%e.length];return i.reverse().join(t)}}function fP(e){return function(t){return t.replace(/[0-9]/g,function(r){return e[+r]})}}var cP=/^(?:(.)?([<>=^]))?([+\-( ])?([$#])?(0)?(\d+)?(,)?(\.\d+)?(~)?([a-z%])?$/i;function za(e){if(!(t=cP.exec(e)))throw new Error("invalid format: "+e);var t;return new Ad({fill:t[1],align:t[2],sign:t[3],symbol:t[4],zero:t[5],width:t[6],comma:t[7],precision:t[8]&&t[8].slice(1),trim:t[9],type:t[10]})}za.prototype=Ad.prototype;function Ad(e){this.fill=e.fill===void 0?" ":e.fill+"",this.align=e.align===void 0?">":e.align+"",this.sign=e.sign===void 0?"-":e.sign+"",this.symbol=e.symbol===void 0?"":e.symbol+"",this.zero=!!e.zero,this.width=e.width===void 0?void 0:+e.width,this.comma=!!e.comma,this.precision=e.precision===void 0?void 0:+e.precision,this.trim=!!e.trim,this.type=e.type===void 0?"":e.type+""}Ad.prototype.toString=function(){return this.fill+this.align+this.sign+this.symbol+(this.zero?"0":"")+(this.width===void 0?"":Math.max(1,this.width|0))+(this.comma?",":"")+(this.precision===void 0?"":"."+Math.max(0,this.precision|0))+(this.trim?"~":"")+this.type};function hP(e){e:for(var t=e.length,r=1,n=-1,s;r0&&(n=0);break}return n>0?e.slice(0,n)+e.slice(s+1):e}var Q0;function dP(e,t){var r=Ya(e,t);if(!r)return e+"";var n=r[0],s=r[1],i=s-(Q0=Math.max(-8,Math.min(8,Math.floor(s/3)))*3)+1,a=n.length;return i===a?n:i>a?n+new Array(i-a+1).join("0"):i>0?n.slice(0,i)+"."+n.slice(i):"0."+new Array(1-i).join("0")+Ya(e,Math.max(0,t+i-1))[0]}function qm(e,t){var r=Ya(e,t);if(!r)return e+"";var n=r[0],s=r[1];return s<0?"0."+new Array(-s).join("0")+n:n.length>s+1?n.slice(0,s+1)+"."+n.slice(s+1):n+new Array(s-n.length+2).join("0")}const Km={"%":(e,t)=>(e*100).toFixed(t),b:e=>Math.round(e).toString(2),c:e=>e+"",d:lP,e:(e,t)=>e.toExponential(t),f:(e,t)=>e.toFixed(t),g:(e,t)=>e.toPrecision(t),o:e=>Math.round(e).toString(8),p:(e,t)=>qm(e*100,t),r:qm,s:dP,X:e=>Math.round(e).toString(16).toUpperCase(),x:e=>Math.round(e).toString(16)};function Ym(e){return e}var zm=Array.prototype.map,Gm=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"];function pP(e){var t=e.grouping===void 0||e.thousands===void 0?Ym:uP(zm.call(e.grouping,Number),e.thousands+""),r=e.currency===void 0?"":e.currency[0]+"",n=e.currency===void 0?"":e.currency[1]+"",s=e.decimal===void 0?".":e.decimal+"",i=e.numerals===void 0?Ym:fP(zm.call(e.numerals,String)),a=e.percent===void 0?"%":e.percent+"",o=e.minus===void 0?"−":e.minus+"",l=e.nan===void 0?"NaN":e.nan+"";function u(d){d=za(d);var p=d.fill,g=d.align,_=d.sign,b=d.symbol,E=d.zero,v=d.width,S=d.comma,w=d.precision,C=d.trim,R=d.type;R==="n"?(S=!0,R="g"):Km[R]||(w===void 0&&(w=12),C=!0,R="g"),(E||p==="0"&&g==="=")&&(E=!0,p="0",g="=");var O=b==="$"?r:b==="#"&&/[boxX]/.test(R)?"0"+R.toLowerCase():"",D=b==="$"?n:/[%p]/.test(R)?a:"",V=Km[R],re=/[defgprs%]/.test(R);w=w===void 0?6:/[gprs]/.test(R)?Math.max(1,Math.min(21,w)):Math.max(0,Math.min(20,w));function G(X){var L=O,$=D,ae,ce,de;if(R==="c")$=V(X)+$,X="";else{X=+X;var pe=X<0||1/X<0;if(X=isNaN(X)?l:V(Math.abs(X),w),C&&(X=hP(X)),pe&&+X==0&&_!=="+"&&(pe=!1),L=(pe?_==="("?_:o:_==="-"||_==="("?"":_)+L,$=(R==="s"?Gm[8+Q0/3]:"")+$+(pe&&_==="("?")":""),re){for(ae=-1,ce=X.length;++aede||de>57){$=(de===46?s+X.slice(ae+1):X.slice(ae))+$,X=X.slice(0,ae);break}}}S&&!E&&(X=t(X,1/0));var z=L.length+X.length+$.length,ge=z>1)+L+X+$+ge.slice(z);break;default:X=ge+L+X+$;break}return i(X)}return G.toString=function(){return d+""},G}function f(d,p){var g=u((d=za(d),d.type="f",d)),_=Math.max(-8,Math.min(8,Math.floor(ss(p)/3)))*3,b=Math.pow(10,-_),E=Gm[8+_/3];return function(v){return g(b*v)+E}}return{format:u,formatPrefix:f}}var Xo,X0,J0;gP({thousands:",",grouping:[3],currency:["$",""]});function gP(e){return Xo=pP(e),X0=Xo.format,J0=Xo.formatPrefix,Xo}function mP(e){return Math.max(0,-ss(Math.abs(e)))}function yP(e,t){return Math.max(0,Math.max(-8,Math.min(8,Math.floor(ss(t)/3)))*3-ss(Math.abs(e)))}function _P(e,t){return e=Math.abs(e),t=Math.abs(t)-e,Math.max(0,ss(t)-ss(e))+1}function kl(e,t){switch(arguments.length){case 0:break;case 1:this.range(e);break;default:this.range(t).domain(e);break}return this}const Qm=Symbol("implicit");function Z0(){var e=new Im,t=[],r=[],n=Qm;function s(i){let a=e.get(i);if(a===void 0){if(n!==Qm)return n;e.set(i,a=t.push(i)-1)}return r[a%r.length]}return s.domain=function(i){if(!arguments.length)return t.slice();t=[],e=new Im;for(const a of i)e.has(a)||e.set(a,t.push(a)-1);return s},s.range=function(i){return arguments.length?(r=Array.from(i),s):r.slice()},s.unknown=function(i){return arguments.length?(n=i,s):n},s.copy=function(){return Z0(t,r).unknown(n)},kl.apply(s,arguments),s}function bP(){var e=Z0().unknown(void 0),t=e.domain,r=e.range,n=0,s=1,i,a,o=!1,l=0,u=0,f=.5;delete e.unknown;function d(){var p=t().length,g=st&&(r=e,e=t,t=r),function(n){return Math.max(e,Math.min(t,n))}}function SP(e,t,r){var n=e[0],s=e[1],i=t[0],a=t[1];return s2?AP:SP,l=u=null,d}function d(p){return p==null||isNaN(p=+p)?i:(l||(l=o(e.map(n),t,r)))(n(a(p)))}return d.invert=function(p){return a(s((u||(u=o(t,e.map(n),ar)))(p)))},d.domain=function(p){return arguments.length?(e=Array.from(p,vP),f()):e.slice()},d.range=function(p){return arguments.length?(t=Array.from(p),f()):t.slice()},d.rangeRound=function(p){return t=Array.from(p),r=WM,f()},d.clamp=function(p){return arguments.length?(a=p?!0:Di,f()):a!==Di},d.interpolate=function(p){return arguments.length?(r=p,f()):r},d.unknown=function(p){return arguments.length?(i=p,d):i},function(p,g){return n=p,s=g,f()}}function tv(){return TP()(Di,Di)}function xP(e,t,r,n){var s=ih(e,t,r),i;switch(n=za(n??",f"),n.type){case"s":{var a=Math.max(Math.abs(e),Math.abs(t));return n.precision==null&&!isNaN(i=yP(s,a))&&(n.precision=i),J0(n,a)}case"":case"e":case"g":case"p":case"r":{n.precision==null&&!isNaN(i=_P(s,Math.max(Math.abs(e),Math.abs(t))))&&(n.precision=i-(n.type==="e"));break}case"f":case"%":{n.precision==null&&!isNaN(i=mP(s))&&(n.precision=i-(n.type==="%")*2);break}}return X0(n)}function IP(e){var t=e.domain;return e.ticks=function(r){var n=t();return kO(n[0],n[n.length-1],r??10)},e.tickFormat=function(r,n){var s=t();return xP(s[0],s[s.length-1],r??10,n)},e.nice=function(r){r==null&&(r=10);var n=t(),s=0,i=n.length-1,a=n[s],o=n[i],l,u,f=10;for(o0;){if(u=nh(a,o,r),u===l)return n[s]=a,n[i]=o,t(n);if(u>0)a=Math.floor(a/u)*u,o=Math.ceil(o/u)*u;else if(u<0)a=Math.ceil(a*u)/u,o=Math.floor(o*u)/u;else break;l=u}return e},e}function CP(){var e=tv();return e.copy=function(){return ev(e,CP())},kl.apply(e,arguments),IP(e)}function RP(e,t){e=e.slice();var r=0,n=e.length-1,s=e[r],i=e[n],a;return i(e(i=new Date(+i)),i),s.ceil=i=>(e(i=new Date(i-1)),t(i,1),e(i),i),s.round=i=>{const a=s(i),o=s.ceil(i);return i-a(t(i=new Date(+i),a==null?1:Math.floor(a)),i),s.range=(i,a,o)=>{const l=[];if(i=s.ceil(i),o=o==null?1:Math.floor(o),!(i0))return l;let u;do l.push(u=new Date(+i)),t(i,o),e(i);while(uft(a=>{if(a>=a)for(;e(a),!i(a);)a.setTime(a-1)},(a,o)=>{if(a>=a)if(o<0)for(;++o<=0;)for(;t(a,-1),!i(a););else for(;--o>=0;)for(;t(a,1),!i(a););}),r&&(s.count=(i,a)=>(lf.setTime(+i),uf.setTime(+a),e(lf),e(uf),Math.floor(r(lf,uf))),s.every=i=>(i=Math.floor(i),!isFinite(i)||!(i>0)?null:i>1?s.filter(n?a=>n(a)%i===0:a=>s.count(0,a)%i===0):s)),s}const Ga=ft(()=>{},(e,t)=>{e.setTime(+e+t)},(e,t)=>t-e);Ga.every=e=>(e=Math.floor(e),!isFinite(e)||!(e>0)?null:e>1?ft(t=>{t.setTime(Math.floor(t/e)*e)},(t,r)=>{t.setTime(+t+r*e)},(t,r)=>(r-t)/e):Ga);Ga.range;const Vr=1e3,Xt=Vr*60,qr=Xt*60,en=qr*24,Td=en*7,Jm=en*30,ff=en*365,Ui=ft(e=>{e.setTime(e-e.getMilliseconds())},(e,t)=>{e.setTime(+e+t*Vr)},(e,t)=>(t-e)/Vr,e=>e.getUTCSeconds());Ui.range;const xd=ft(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Vr)},(e,t)=>{e.setTime(+e+t*Xt)},(e,t)=>(t-e)/Xt,e=>e.getMinutes());xd.range;const OP=ft(e=>{e.setUTCSeconds(0,0)},(e,t)=>{e.setTime(+e+t*Xt)},(e,t)=>(t-e)/Xt,e=>e.getUTCMinutes());OP.range;const Id=ft(e=>{e.setTime(e-e.getMilliseconds()-e.getSeconds()*Vr-e.getMinutes()*Xt)},(e,t)=>{e.setTime(+e+t*qr)},(e,t)=>(t-e)/qr,e=>e.getHours());Id.range;const kP=ft(e=>{e.setUTCMinutes(0,0,0)},(e,t)=>{e.setTime(+e+t*qr)},(e,t)=>(t-e)/qr,e=>e.getUTCHours());kP.range;const Eo=ft(e=>e.setHours(0,0,0,0),(e,t)=>e.setDate(e.getDate()+t),(e,t)=>(t-e-(t.getTimezoneOffset()-e.getTimezoneOffset())*Xt)/en,e=>e.getDate()-1);Eo.range;const Cd=ft(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/en,e=>e.getUTCDate()-1);Cd.range;const MP=ft(e=>{e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCDate(e.getUTCDate()+t)},(e,t)=>(t-e)/en,e=>Math.floor(e/en));MP.range;function vi(e){return ft(t=>{t.setDate(t.getDate()-(t.getDay()+7-e)%7),t.setHours(0,0,0,0)},(t,r)=>{t.setDate(t.getDate()+r*7)},(t,r)=>(r-t-(r.getTimezoneOffset()-t.getTimezoneOffset())*Xt)/Td)}const Ml=vi(0),Qa=vi(1),NP=vi(2),PP=vi(3),os=vi(4),LP=vi(5),BP=vi(6);Ml.range;Qa.range;NP.range;PP.range;os.range;LP.range;BP.range;function Ei(e){return ft(t=>{t.setUTCDate(t.getUTCDate()-(t.getUTCDay()+7-e)%7),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCDate(t.getUTCDate()+r*7)},(t,r)=>(r-t)/Td)}const rv=Ei(0),Xa=Ei(1),DP=Ei(2),UP=Ei(3),as=Ei(4),FP=Ei(5),$P=Ei(6);rv.range;Xa.range;DP.range;UP.range;as.range;FP.range;$P.range;const Rd=ft(e=>{e.setDate(1),e.setHours(0,0,0,0)},(e,t)=>{e.setMonth(e.getMonth()+t)},(e,t)=>t.getMonth()-e.getMonth()+(t.getFullYear()-e.getFullYear())*12,e=>e.getMonth());Rd.range;const jP=ft(e=>{e.setUTCDate(1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCMonth(e.getUTCMonth()+t)},(e,t)=>t.getUTCMonth()-e.getUTCMonth()+(t.getUTCFullYear()-e.getUTCFullYear())*12,e=>e.getUTCMonth());jP.range;const tn=ft(e=>{e.setMonth(0,1),e.setHours(0,0,0,0)},(e,t)=>{e.setFullYear(e.getFullYear()+t)},(e,t)=>t.getFullYear()-e.getFullYear(),e=>e.getFullYear());tn.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:ft(t=>{t.setFullYear(Math.floor(t.getFullYear()/e)*e),t.setMonth(0,1),t.setHours(0,0,0,0)},(t,r)=>{t.setFullYear(t.getFullYear()+r*e)});tn.range;const ci=ft(e=>{e.setUTCMonth(0,1),e.setUTCHours(0,0,0,0)},(e,t)=>{e.setUTCFullYear(e.getUTCFullYear()+t)},(e,t)=>t.getUTCFullYear()-e.getUTCFullYear(),e=>e.getUTCFullYear());ci.every=e=>!isFinite(e=Math.floor(e))||!(e>0)?null:ft(t=>{t.setUTCFullYear(Math.floor(t.getUTCFullYear()/e)*e),t.setUTCMonth(0,1),t.setUTCHours(0,0,0,0)},(t,r)=>{t.setUTCFullYear(t.getUTCFullYear()+r*e)});ci.range;function WP(e,t,r,n,s,i){const a=[[Ui,1,Vr],[Ui,5,5*Vr],[Ui,15,15*Vr],[Ui,30,30*Vr],[i,1,Xt],[i,5,5*Xt],[i,15,15*Xt],[i,30,30*Xt],[s,1,qr],[s,3,3*qr],[s,6,6*qr],[s,12,12*qr],[n,1,en],[n,2,2*en],[r,1,Td],[t,1,Jm],[t,3,3*Jm],[e,1,ff]];function o(u,f,d){const p=fE).right(a,p);if(g===a.length)return e.every(ih(u/ff,f/ff,d));if(g===0)return Ga.every(Math.max(ih(u,f,d),1));const[_,b]=a[p/a[g-1][2]53)return null;"w"in A||(A.w=1),"Z"in A?(M=hf(Ns(A.y,0,1)),I=M.getUTCDay(),M=I>4||I===0?Xa.ceil(M):Xa(M),M=Cd.offset(M,(A.V-1)*7),A.y=M.getUTCFullYear(),A.m=M.getUTCMonth(),A.d=M.getUTCDate()+(A.w+6)%7):(M=cf(Ns(A.y,0,1)),I=M.getDay(),M=I>4||I===0?Qa.ceil(M):Qa(M),M=Eo.offset(M,(A.V-1)*7),A.y=M.getFullYear(),A.m=M.getMonth(),A.d=M.getDate()+(A.w+6)%7)}else("W"in A||"U"in A)&&("w"in A||(A.w="u"in A?A.u%7:"W"in A?1:0),I="Z"in A?hf(Ns(A.y,0,1)).getUTCDay():cf(Ns(A.y,0,1)).getDay(),A.m=0,A.d="W"in A?(A.w+6)%7+A.W*7-(I+5)%7:A.w+A.U*7-(I+6)%7);return"Z"in A?(A.H+=A.Z/100|0,A.M+=A.Z%100,hf(A)):cf(A)}}function V(W,te,ee,A){for(var T=0,M=te.length,I=ee.length,B,U;T=I)return-1;if(B=te.charCodeAt(T++),B===37){if(B=te.charAt(T++),U=R[B in Zm?te.charAt(T++):B],!U||(A=U(W,ee,A))<0)return-1}else if(B!=ee.charCodeAt(A++))return-1}return A}function re(W,te,ee){var A=u.exec(te.slice(ee));return A?(W.p=f.get(A[0].toLowerCase()),ee+A[0].length):-1}function G(W,te,ee){var A=g.exec(te.slice(ee));return A?(W.w=_.get(A[0].toLowerCase()),ee+A[0].length):-1}function X(W,te,ee){var A=d.exec(te.slice(ee));return A?(W.w=p.get(A[0].toLowerCase()),ee+A[0].length):-1}function L(W,te,ee){var A=v.exec(te.slice(ee));return A?(W.m=S.get(A[0].toLowerCase()),ee+A[0].length):-1}function $(W,te,ee){var A=b.exec(te.slice(ee));return A?(W.m=E.get(A[0].toLowerCase()),ee+A[0].length):-1}function ae(W,te,ee){return V(W,t,te,ee)}function ce(W,te,ee){return V(W,r,te,ee)}function de(W,te,ee){return V(W,n,te,ee)}function pe(W){return a[W.getDay()]}function z(W){return i[W.getDay()]}function ge(W){return l[W.getMonth()]}function Y(W){return o[W.getMonth()]}function he(W){return s[+(W.getHours()>=12)]}function N(W){return 1+~~(W.getMonth()/3)}function ne(W){return a[W.getUTCDay()]}function ye(W){return i[W.getUTCDay()]}function oe(W){return l[W.getUTCMonth()]}function Q(W){return o[W.getUTCMonth()]}function q(W){return s[+(W.getUTCHours()>=12)]}function k(W){return 1+~~(W.getUTCMonth()/3)}return{format:function(W){var te=O(W+="",w);return te.toString=function(){return W},te},parse:function(W){var te=D(W+="",!1);return te.toString=function(){return W},te},utcFormat:function(W){var te=O(W+="",C);return te.toString=function(){return W},te},utcParse:function(W){var te=D(W+="",!0);return te.toString=function(){return W},te}}}var Zm={"-":"",_:" ",0:"0"},ht=/^\s*\d+/,KP=/^%/,YP=/[\\^$*+?|[\]().{}]/g;function $e(e,t,r){var n=e<0?"-":"",s=(n?-e:e)+"",i=s.length;return n+(i[t.toLowerCase(),r]))}function GP(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.w=+n[0],r+n[0].length):-1}function QP(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.u=+n[0],r+n[0].length):-1}function XP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.U=+n[0],r+n[0].length):-1}function JP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.V=+n[0],r+n[0].length):-1}function ZP(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.W=+n[0],r+n[0].length):-1}function ey(e,t,r){var n=ht.exec(t.slice(r,r+4));return n?(e.y=+n[0],r+n[0].length):-1}function ty(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.y=+n[0]+(+n[0]>68?1900:2e3),r+n[0].length):-1}function e2(e,t,r){var n=/^(Z)|([+-]\d\d)(?::?(\d\d))?/.exec(t.slice(r,r+6));return n?(e.Z=n[1]?0:-(n[2]+(n[3]||"00")),r+n[0].length):-1}function t2(e,t,r){var n=ht.exec(t.slice(r,r+1));return n?(e.q=n[0]*3-3,r+n[0].length):-1}function r2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.m=n[0]-1,r+n[0].length):-1}function ry(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.d=+n[0],r+n[0].length):-1}function n2(e,t,r){var n=ht.exec(t.slice(r,r+3));return n?(e.m=0,e.d=+n[0],r+n[0].length):-1}function ny(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.H=+n[0],r+n[0].length):-1}function i2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.M=+n[0],r+n[0].length):-1}function s2(e,t,r){var n=ht.exec(t.slice(r,r+2));return n?(e.S=+n[0],r+n[0].length):-1}function o2(e,t,r){var n=ht.exec(t.slice(r,r+3));return n?(e.L=+n[0],r+n[0].length):-1}function a2(e,t,r){var n=ht.exec(t.slice(r,r+6));return n?(e.L=Math.floor(n[0]/1e3),r+n[0].length):-1}function l2(e,t,r){var n=KP.exec(t.slice(r,r+1));return n?r+n[0].length:-1}function u2(e,t,r){var n=ht.exec(t.slice(r));return n?(e.Q=+n[0],r+n[0].length):-1}function f2(e,t,r){var n=ht.exec(t.slice(r));return n?(e.s=+n[0],r+n[0].length):-1}function iy(e,t){return $e(e.getDate(),t,2)}function c2(e,t){return $e(e.getHours(),t,2)}function h2(e,t){return $e(e.getHours()%12||12,t,2)}function d2(e,t){return $e(1+Eo.count(tn(e),e),t,3)}function nv(e,t){return $e(e.getMilliseconds(),t,3)}function p2(e,t){return nv(e,t)+"000"}function g2(e,t){return $e(e.getMonth()+1,t,2)}function m2(e,t){return $e(e.getMinutes(),t,2)}function y2(e,t){return $e(e.getSeconds(),t,2)}function _2(e){var t=e.getDay();return t===0?7:t}function b2(e,t){return $e(Ml.count(tn(e)-1,e),t,2)}function iv(e){var t=e.getDay();return t>=4||t===0?os(e):os.ceil(e)}function w2(e,t){return e=iv(e),$e(os.count(tn(e),e)+(tn(e).getDay()===4),t,2)}function v2(e){return e.getDay()}function E2(e,t){return $e(Qa.count(tn(e)-1,e),t,2)}function S2(e,t){return $e(e.getFullYear()%100,t,2)}function A2(e,t){return e=iv(e),$e(e.getFullYear()%100,t,2)}function T2(e,t){return $e(e.getFullYear()%1e4,t,4)}function x2(e,t){var r=e.getDay();return e=r>=4||r===0?os(e):os.ceil(e),$e(e.getFullYear()%1e4,t,4)}function I2(e){var t=e.getTimezoneOffset();return(t>0?"-":(t*=-1,"+"))+$e(t/60|0,"0",2)+$e(t%60,"0",2)}function sy(e,t){return $e(e.getUTCDate(),t,2)}function C2(e,t){return $e(e.getUTCHours(),t,2)}function R2(e,t){return $e(e.getUTCHours()%12||12,t,2)}function O2(e,t){return $e(1+Cd.count(ci(e),e),t,3)}function sv(e,t){return $e(e.getUTCMilliseconds(),t,3)}function k2(e,t){return sv(e,t)+"000"}function M2(e,t){return $e(e.getUTCMonth()+1,t,2)}function N2(e,t){return $e(e.getUTCMinutes(),t,2)}function P2(e,t){return $e(e.getUTCSeconds(),t,2)}function L2(e){var t=e.getUTCDay();return t===0?7:t}function B2(e,t){return $e(rv.count(ci(e)-1,e),t,2)}function ov(e){var t=e.getUTCDay();return t>=4||t===0?as(e):as.ceil(e)}function D2(e,t){return e=ov(e),$e(as.count(ci(e),e)+(ci(e).getUTCDay()===4),t,2)}function U2(e){return e.getUTCDay()}function F2(e,t){return $e(Xa.count(ci(e)-1,e),t,2)}function $2(e,t){return $e(e.getUTCFullYear()%100,t,2)}function j2(e,t){return e=ov(e),$e(e.getUTCFullYear()%100,t,2)}function W2(e,t){return $e(e.getUTCFullYear()%1e4,t,4)}function H2(e,t){var r=e.getUTCDay();return e=r>=4||r===0?as(e):as.ceil(e),$e(e.getUTCFullYear()%1e4,t,4)}function V2(){return"+0000"}function oy(){return"%"}function ay(e){return+e}function ly(e){return Math.floor(+e/1e3)}var Ci,av,q2;K2({dateTime:"%x, %X",date:"%-m/%-d/%Y",time:"%-I:%M:%S %p",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});function K2(e){return Ci=qP(e),av=Ci.format,q2=Ci.parse,Ci.utcFormat,Ci.utcParse,Ci}function Y2(e){return new Date(e)}function z2(e){return e instanceof Date?+e:+new Date(+e)}function lv(e,t,r,n,s,i,a,o,l,u){var f=tv(),d=f.invert,p=f.domain,g=u(".%L"),_=u(":%S"),b=u("%I:%M"),E=u("%I %p"),v=u("%a %d"),S=u("%b %d"),w=u("%B"),C=u("%Y");function R(O){return(l(O)1?0:e<-1?uo:Math.acos(e)}function fy(e){return e>=1?Ja:e<=-1?-Ja:Math.asin(e)}function Od(e){let t=3;return e.digits=function(r){if(!arguments.length)return t;if(r==null)t=null;else{const n=Math.floor(r);if(!(n>=0))throw new RangeError(`invalid digits: ${r}`);t=n}return e},()=>new aP(t)}function X2(e){return e.innerRadius}function J2(e){return e.outerRadius}function Z2(e){return e.startAngle}function eL(e){return e.endAngle}function tL(e){return e&&e.padAngle}function rL(e,t,r,n,s,i,a,o){var l=r-e,u=n-t,f=a-s,d=o-i,p=d*l-f*u;if(!(p*pae*ae+ce*ce&&(V=G,re=X),{cx:V,cy:re,x01:-f,y01:-d,x11:V*(s/R-1),y11:re*(s/R-1)}}function NL(){var e=X2,t=J2,r=Ue(0),n=null,s=Z2,i=eL,a=tL,o=null,l=Od(u);function u(){var f,d,p=+e.apply(this,arguments),g=+t.apply(this,arguments),_=s.apply(this,arguments)-Ja,b=i.apply(this,arguments)-Ja,E=uy(b-_),v=b>_;if(o||(o=f=l()),gMt))o.moveTo(0,0);else if(E>va-Mt)o.moveTo(g*jn(_),g*gr(_)),o.arc(0,0,g,_,b,!v),p>Mt&&(o.moveTo(p*jn(b),p*gr(b)),o.arc(0,0,p,b,_,v));else{var S=_,w=b,C=_,R=b,O=E,D=E,V=a.apply(this,arguments)/2,re=V>Mt&&(n?+n.apply(this,arguments):Fi(p*p+g*g)),G=df(uy(g-p)/2,+r.apply(this,arguments)),X=G,L=G,$,ae;if(re>Mt){var ce=fy(re/p*gr(V)),de=fy(re/g*gr(V));(O-=ce*2)>Mt?(ce*=v?1:-1,C+=ce,R-=ce):(O=0,C=R=(_+b)/2),(D-=de*2)>Mt?(de*=v?1:-1,S+=de,w-=de):(D=0,S=w=(_+b)/2)}var pe=g*jn(S),z=g*gr(S),ge=p*jn(R),Y=p*gr(R);if(G>Mt){var he=g*jn(w),N=g*gr(w),ne=p*jn(C),ye=p*gr(C),oe;if(EMt?L>Mt?($=Jo(ne,ye,pe,z,g,L,v),ae=Jo(he,N,ge,Y,g,L,v),o.moveTo($.cx+$.x01,$.cy+$.y01),LMt)||!(O>Mt)?o.lineTo(ge,Y):X>Mt?($=Jo(ge,Y,he,N,p,-X,v),ae=Jo(pe,z,ne,ye,p,-X,v),o.lineTo($.cx+$.x01,$.cy+$.y01),X=g;--_)o.point(w[_],C[_]);o.lineEnd(),o.areaEnd()}v&&(w[p]=+e(E,p,d),C[p]=+t(E,p,d),o.point(n?+n(E,p,d):w[p],r?+r(E,p,d):C[p]))}if(S)return o=null,S+""||null}function f(){return nL().defined(s).curve(a).context(i)}return u.x=function(d){return arguments.length?(e=typeof d=="function"?d:Ue(+d),n=null,u):e},u.x0=function(d){return arguments.length?(e=typeof d=="function"?d:Ue(+d),u):e},u.x1=function(d){return arguments.length?(n=d==null?null:typeof d=="function"?d:Ue(+d),u):n},u.y=function(d){return arguments.length?(t=typeof d=="function"?d:Ue(+d),r=null,u):t},u.y0=function(d){return arguments.length?(t=typeof d=="function"?d:Ue(+d),u):t},u.y1=function(d){return arguments.length?(r=d==null?null:typeof d=="function"?d:Ue(+d),u):r},u.lineX0=u.lineY0=function(){return f().x(e).y(t)},u.lineY1=function(){return f().x(e).y(r)},u.lineX1=function(){return f().x(n).y(t)},u.defined=function(d){return arguments.length?(s=typeof d=="function"?d:Ue(!!d),u):s},u.curve=function(d){return arguments.length?(a=d,i!=null&&(o=a(i)),u):a},u.context=function(d){return arguments.length?(d==null?i=o=null:o=a(i=d),u):i},u}function iL(e,t){return te?1:t>=e?0:NaN}function sL(e){return e}function LL(){var e=sL,t=iL,r=null,n=Ue(0),s=Ue(va),i=Ue(0);function a(o){var l,u=(o=Nl(o)).length,f,d,p=0,g=new Array(u),_=new Array(u),b=+n.apply(this,arguments),E=Math.min(va,Math.max(-va,s.apply(this,arguments)-b)),v,S=Math.min(Math.abs(E)/u,i.apply(this,arguments)),w=S*(E<0?-1:1),C;for(l=0;l0&&(p+=C);for(t!=null?g.sort(function(R,O){return t(_[R],_[O])}):r!=null&&g.sort(function(R,O){return r(o[R],o[O])}),l=0,d=p?(E-u*w)/p:0;l0?C*d:0)+w,_[f]={data:o[f],index:l,value:C,startAngle:b,endAngle:v,padAngle:S};return _}return a.value=function(o){return arguments.length?(e=typeof o=="function"?o:Ue(+o),a):e},a.sortValues=function(o){return arguments.length?(t=o,r=null,a):t},a.sort=function(o){return arguments.length?(r=o,t=null,a):r},a.startAngle=function(o){return arguments.length?(n=typeof o=="function"?o:Ue(+o),a):n},a.endAngle=function(o){return arguments.length?(s=typeof o=="function"?o:Ue(+o),a):s},a.padAngle=function(o){return arguments.length?(i=typeof o=="function"?o:Ue(+o),a):i},a}function cy(e,t){if((a=e.length)>1)for(var r=1,n,s,i=e[t[0]],a,o=i.length;r=0;)r[t]=t;return r}function oL(e,t){return e[t]}function aL(e){const t=[];return t.key=e,t}function BL(){var e=Ue([]),t=hy,r=cy,n=oL;function s(i){var a=Array.from(e.apply(this,arguments),aL),o,l=a.length,u=-1,f;for(const d of i)for(o=0,++u;o openWB Display - - - + + +
diff --git a/web/display/index.html b/web/display/index.html index 516f58a3e5..e02b4fbf6a 100644 --- a/web/display/index.html +++ b/web/display/index.html @@ -28,6 +28,16 @@ document.getElementById("log").classList.toggle("hide"); }); }); + + // schedule a window reload at 15 minutes past midnight + let now = new Date(); + let reloadTime = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 2, 0, 15, 0, 0); + var millisecondsTillReload = reloadTime - now; + console.log("Current time: " + now); + console.log("Scheduled reload at " + reloadTime.toString() + " in " + millisecondsTillReload + "ms"); + window.setTimeout(() => { + window.location.reload(); + }, millisecondsTillReload); diff --git a/web/settings/assets/ChargeLog-de1004c6.js b/web/settings/assets/ChargeLog-b852c618.js similarity index 97% rename from web/settings/assets/ChargeLog-de1004c6.js rename to web/settings/assets/ChargeLog-b852c618.js index 03466ac012..366ba00181 100644 --- a/web/settings/assets/ChargeLog-de1004c6.js +++ b/web/settings/assets/ChargeLog-b852c618.js @@ -1,3 +1,3 @@ -import{l as N,_ as k,$ as x,F as E}from"./vendor-fortawesome-05d7e447.js";import{_ as B,a0 as S,u as h,k as c,l as u,x as i,G as g,E as s,z as V,B as I,y as d,F as n,P as _,q as w}from"./vendor-06e11d0e.js";import{C as F}from"./index-3434d31b.js";import"./vendor-sortablejs-0bb60e5b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";N.add(k,x);const W={name:"OpenwbChargeLogView",components:{Vue3TableLite:S,FontAwesomeIcon:E},mixins:[F],emits:["sendCommand"],data(){return{dateTimeFormat:new Intl.DateTimeFormat("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}),mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/charge_log_data_config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentMonth:"",chargeLogRequestData:{month:"",year:"",filter:{chargepoint:{id:[]},vehicle:{id:[],tag:[],chargemode:[],prio:void 0}}},downloadFile:null,table:{messages:{pagingInfo:"Einträge {0}-{1} von {2}",pageSizeChangeLabel:"Einträge:",gotoPageLabel:" Gehe zu:",noDataAvailable:"Keine Einträge gefunden."},pageOptions:[{value:5,text:"5"},{value:10,text:"10"},{value:25,text:"25"},{value:50,text:"50"},{value:100,text:"100"}],columns:[{label:"Beginn",field:"time_begin",sortable:!0},{label:"Ende",field:"time_end",sortable:!0},{label:"Dauer",field:"time_time_charged",sortable:!0},{label:"Kosten",field:"data_costs",sortable:!0},{label:"Energieaufteilung",field:"data_power_source",sortable:!1},{label:"Fahrzeug",field:"vehicle_name",sortable:!0},{label:"Lademodus",field:"vehicle_chargemode",sortable:!0},{label:"Priorität",field:"vehicle_prio",sortable:!0},{label:"ID-Tag",field:"vehicle_rfid",sortable:!0},{label:"SoC Beginn",field:"vehicle_soc_at_start",sortable:!0},{label:"SoC Ende",field:"vehicle_soc_at_end",sortable:!0},{label:"Ladepunkt",field:"chargepoint_name",sortable:!0},{label:"Seriennummer",field:"chargepoint_serial_number",sortable:!0},{label:"Energie",field:"data_imported_since_mode_switch",sortable:!0},{label:"Zähler Beginn",field:"chargepoint_imported_at_start",sortable:!0},{label:"Zähler Ende",field:"chargepoint_imported_at_end",sortable:!0}],sortable:{order:"timestamp_begin",sort:"asc"}},totals:{columns:[{label:"Dauer",field:"time_charged",sortable:!1},{label:"Energie",field:"imported_since_mode_switch",sortable:!1},{label:"Reichweite",field:"range_charged",sortable:!1},{label:"Kosten",field:"costs",sortable:!1}]}}},computed:{mqttClientId(){return this.$root.mqttClientId},baseUrl(){const t=parseInt(location.port)||(location.protocol==="https:"?443:80);return`${location.protocol}//${location.hostname}:${t}/openWB/web/settings/downloadChargeLog.php`},downloadUrlMonth(){return!this.chargeLogRequestData.year||!this.chargeLogRequestData.month?(console.error("Fehlende Parameter für Monat oder Jahr"),null):`${this.baseUrl}?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},downloadUrlYear(){return this.chargeLogRequestData.year?`${this.baseUrl}?year=${this.chargeLogRequestData.year}`:(console.error("Fehlendes Jahr"),null)},chargeLogDate:{get(){return this.chargeLogRequestData.year+"-"+this.chargeLogRequestData.month},set(t){let e=t.split("-");this.chargeLogRequestData.year=e[0],this.chargeLogRequestData.month=e[1]}},chargeLogTotals(){return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]?[this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].totals]:[]},chargeLogColumns(){return this.table.columns.map(t=>({...t,headerClasses:this.addClasses(t.field),columnClasses:this.addClasses(t.field)}))},chargeLogDataset:{get(){if(this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]==null)return[];try{return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].entries.map(t=>{var e=Date.parse(t.time.begin),o=Date.parse(t.time.end);return{chargepoint_id:t.chargepoint.id,chargepoint_name:t.chargepoint.name,chargepoint_imported_at_start:t.chargepoint.imported_at_start,chargepoint_imported_at_end:t.chargepoint.imported_at_end,chargepoint_serial_number:t.chargepoint.serial_number,vehicle_id:t.vehicle.id,vehicle_name:t.vehicle.name,vehicle_chargemode:this.translateChargeMode(t.vehicle.chargemode),vehicle_rfid:t.vehicle.rfid,vehicle_prio:t.vehicle.prio,vehicle_soc_at_start:t.vehicle.soc_at_start,vehicle_soc_at_end:t.vehicle.soc_at_end,vehicle_range_at_start:t.vehicle.range_at_start,vehicle_range_at_end:t.vehicle.range_at_end,timestamp_begin:e/1e3,time_begin:isNaN(e)?null:this.dateTimeFormat.format(new Date(e)),timestamp_end:o/1e3,time_end:isNaN(o)?null:this.dateTimeFormat.format(new Date(o)),time_time_charged:t.time.time_charged,data_power_source:t.data.power_source?{pv:t.data.power_source.pv*100,grid:t.data.power_source.grid*100,bat:t.data.power_source.bat*100,cp:t.data.power_source.cp*100}:void 0,data_range_charged:t.data.range_charged,data_costs:t.data.costs,data_imported_since_plugged:t.data.imported_since_plugged,data_imported_since_mode_switch:t.data.imported_since_mode_switch}})}catch(t){return console.error(t),[]}}},chargeLogCsv:{get(){return[['"Beginn"','"Ende"','"Zeitstempel Beginn"','"Zeitstempel Ende"','"Dauer"','"Kosten"','"Energieanteil Netz"','"Energieanteil Ladepunkte"','"Energieanteil Speicher"','"Energieanteil PV"','"Fahrzeug"','"Fahrzeug-ID"','"Lademodus"','"Priorität"','"ID-Tag"','"SoC Beginn"','"SoC Ende"','"Reichweite Beginn"','"Reichweite Ende"','"Ladepunkt"','"Ladepunkt-ID"','"Zähler Seriennummer"','"Energie"','"Reichweite"','"Zählerstand Beginn"','"Zählerstand Ende"','"Energie seit Anstecken"'],...this.chargeLogDataset.map(e=>[e.time_begin==null?"":'"'+e.time_begin+'"',e.time_end==null?"":'"'+e.time_end+'"',e.timestamp_begin==null||isNaN(e.timestamp_begin)?"":e.timestamp_begin,e.timestamp_end==null||isNaN(e.timestamp_end)?"":e.timestamp_end,'"'+e.time_time_charged+'"',this.formatCosts(e.data_costs,!1),e.data_power_source==null?"":this.formatNumber(e.data_power_source.grid,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.cp,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.bat,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.pv,2),'"'+e.vehicle_name+'"',e.vehicle_id,'"'+e.vehicle_chargemode+'"','"'+this.formatBool(e.vehicle_prio)+'"',e.vehicle_rfid==null?"":'"'+e.vehicle_rfid+'"',e.vehicle_soc_at_start==null?"":this.formatNumber(e.vehicle_soc_at_start,0),e.vehicle_soc_at_end==null?"":this.formatNumber(e.vehicle_soc_at_end,0),e.vehicle_range_at_start==null?"":this.formatNumber(e.vehicle_range_at_start,0),e.vehicle_range_at_end==null?"":this.formatNumber(e.vehicle_range_at_end,0),'"'+e.chargepoint_name+'"',e.chargepoint_id,e.chargepoint_serial_number==null?"":'"'+e.chargepoint_serial_number+'"',this.formatNumber(e.data_imported_since_mode_switch/1e3,2),this.formatNumber(e.data_range_charged,0),this.formatNumber(e.chargepoint_imported_at_start/1e3,2),this.formatNumber(e.chargepoint_imported_at_end/1e3,2),this.formatNumber(e.data_imported_since_plugged/1e3,2)])].map(e=>e.join(";")).join(` +import{l as N,_ as k,$ as x,F as E}from"./vendor-fortawesome-231ff303.js";import{_ as B,a0 as S,u as h,l as c,m as u,x as i,G as g,E as s,z as V,B as I,y as d,F as n,P as _,q as w}from"./vendor-0c15df0c.js";import{C as F}from"./index-6ffbdc7e.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";N.add(k,x);const W={name:"OpenwbChargeLogView",components:{Vue3TableLite:S,FontAwesomeIcon:E},mixins:[F],emits:["sendCommand"],data(){return{dateTimeFormat:new Intl.DateTimeFormat("de-DE",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"}),mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/charge_log_data_config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentMonth:"",chargeLogRequestData:{month:"",year:"",filter:{chargepoint:{id:[]},vehicle:{id:[],tag:[],chargemode:[],prio:void 0}}},downloadFile:null,table:{messages:{pagingInfo:"Einträge {0}-{1} von {2}",pageSizeChangeLabel:"Einträge:",gotoPageLabel:" Gehe zu:",noDataAvailable:"Keine Einträge gefunden."},pageOptions:[{value:5,text:"5"},{value:10,text:"10"},{value:25,text:"25"},{value:50,text:"50"},{value:100,text:"100"}],columns:[{label:"Beginn",field:"time_begin",sortable:!0},{label:"Ende",field:"time_end",sortable:!0},{label:"Dauer",field:"time_time_charged",sortable:!0},{label:"Kosten",field:"data_costs",sortable:!0},{label:"Energieaufteilung",field:"data_power_source",sortable:!1},{label:"Fahrzeug",field:"vehicle_name",sortable:!0},{label:"Lademodus",field:"vehicle_chargemode",sortable:!0},{label:"Priorität",field:"vehicle_prio",sortable:!0},{label:"ID-Tag",field:"vehicle_rfid",sortable:!0},{label:"SoC Beginn",field:"vehicle_soc_at_start",sortable:!0},{label:"SoC Ende",field:"vehicle_soc_at_end",sortable:!0},{label:"Ladepunkt",field:"chargepoint_name",sortable:!0},{label:"Seriennummer",field:"chargepoint_serial_number",sortable:!0},{label:"Energie",field:"data_imported_since_mode_switch",sortable:!0},{label:"Zähler Beginn",field:"chargepoint_imported_at_start",sortable:!0},{label:"Zähler Ende",field:"chargepoint_imported_at_end",sortable:!0}],sortable:{order:"timestamp_begin",sort:"asc"}},totals:{columns:[{label:"Dauer",field:"time_charged",sortable:!1},{label:"Energie",field:"imported_since_mode_switch",sortable:!1},{label:"Reichweite",field:"range_charged",sortable:!1},{label:"Kosten",field:"costs",sortable:!1}]}}},computed:{mqttClientId(){return this.$root.mqttClientId},baseUrl(){const t=parseInt(location.port)||(location.protocol==="https:"?443:80);return`${location.protocol}//${location.hostname}:${t}/openWB/web/settings/downloadChargeLog.php`},downloadUrlMonth(){return!this.chargeLogRequestData.year||!this.chargeLogRequestData.month?(console.error("Fehlende Parameter für Monat oder Jahr"),null):`${this.baseUrl}?year=${this.chargeLogRequestData.year}&month=${this.chargeLogRequestData.month}`},downloadUrlYear(){return this.chargeLogRequestData.year?`${this.baseUrl}?year=${this.chargeLogRequestData.year}`:(console.error("Fehlendes Jahr"),null)},chargeLogDate:{get(){return this.chargeLogRequestData.year+"-"+this.chargeLogRequestData.month},set(t){let e=t.split("-");this.chargeLogRequestData.year=e[0],this.chargeLogRequestData.month=e[1]}},chargeLogTotals(){return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]?[this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].totals]:[]},chargeLogColumns(){return this.table.columns.map(t=>({...t,headerClasses:this.addClasses(t.field),columnClasses:this.addClasses(t.field)}))},chargeLogDataset:{get(){if(this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"]==null)return[];try{return this.$store.state.mqtt["openWB/log/"+this.mqttClientId+"/data"].entries.map(t=>{var e=Date.parse(t.time.begin),o=Date.parse(t.time.end);return{chargepoint_id:t.chargepoint.id,chargepoint_name:t.chargepoint.name,chargepoint_imported_at_start:t.chargepoint.imported_at_start,chargepoint_imported_at_end:t.chargepoint.imported_at_end,chargepoint_serial_number:t.chargepoint.serial_number,vehicle_id:t.vehicle.id,vehicle_name:t.vehicle.name,vehicle_chargemode:this.translateChargeMode(t.vehicle.chargemode),vehicle_rfid:t.vehicle.rfid,vehicle_prio:t.vehicle.prio,vehicle_soc_at_start:t.vehicle.soc_at_start,vehicle_soc_at_end:t.vehicle.soc_at_end,vehicle_range_at_start:t.vehicle.range_at_start,vehicle_range_at_end:t.vehicle.range_at_end,timestamp_begin:e/1e3,time_begin:isNaN(e)?null:this.dateTimeFormat.format(new Date(e)),timestamp_end:o/1e3,time_end:isNaN(o)?null:this.dateTimeFormat.format(new Date(o)),time_time_charged:t.time.time_charged,data_power_source:t.data.power_source?{pv:t.data.power_source.pv*100,grid:t.data.power_source.grid*100,bat:t.data.power_source.bat*100,cp:t.data.power_source.cp*100}:void 0,data_range_charged:t.data.range_charged,data_costs:t.data.costs,data_imported_since_plugged:t.data.imported_since_plugged,data_imported_since_mode_switch:t.data.imported_since_mode_switch}})}catch(t){return console.error(t),[]}}},chargeLogCsv:{get(){return[['"Beginn"','"Ende"','"Zeitstempel Beginn"','"Zeitstempel Ende"','"Dauer"','"Kosten"','"Energieanteil Netz"','"Energieanteil Ladepunkte"','"Energieanteil Speicher"','"Energieanteil PV"','"Fahrzeug"','"Fahrzeug-ID"','"Lademodus"','"Priorität"','"ID-Tag"','"SoC Beginn"','"SoC Ende"','"Reichweite Beginn"','"Reichweite Ende"','"Ladepunkt"','"Ladepunkt-ID"','"Zähler Seriennummer"','"Energie"','"Reichweite"','"Zählerstand Beginn"','"Zählerstand Ende"','"Energie seit Anstecken"'],...this.chargeLogDataset.map(e=>[e.time_begin==null?"":'"'+e.time_begin+'"',e.time_end==null?"":'"'+e.time_end+'"',e.timestamp_begin==null||isNaN(e.timestamp_begin)?"":e.timestamp_begin,e.timestamp_end==null||isNaN(e.timestamp_end)?"":e.timestamp_end,'"'+e.time_time_charged+'"',this.formatCosts(e.data_costs,!1),e.data_power_source==null?"":this.formatNumber(e.data_power_source.grid,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.cp,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.bat,2),e.data_power_source==null?"":this.formatNumber(e.data_power_source.pv,2),'"'+e.vehicle_name+'"',e.vehicle_id,'"'+e.vehicle_chargemode+'"','"'+this.formatBool(e.vehicle_prio)+'"',e.vehicle_rfid==null?"":'"'+e.vehicle_rfid+'"',e.vehicle_soc_at_start==null?"":this.formatNumber(e.vehicle_soc_at_start,0),e.vehicle_soc_at_end==null?"":this.formatNumber(e.vehicle_soc_at_end,0),e.vehicle_range_at_start==null?"":this.formatNumber(e.vehicle_range_at_start,0),e.vehicle_range_at_end==null?"":this.formatNumber(e.vehicle_range_at_end,0),'"'+e.chargepoint_name+'"',e.chargepoint_id,e.chargepoint_serial_number==null?"":'"'+e.chargepoint_serial_number+'"',this.formatNumber(e.data_imported_since_mode_switch/1e3,2),this.formatNumber(e.data_range_charged,0),this.formatNumber(e.chargepoint_imported_at_start/1e3,2),this.formatNumber(e.chargepoint_imported_at_end/1e3,2),this.formatNumber(e.data_imported_since_plugged/1e3,2)])].map(e=>e.join(";")).join(` `)+` `}},chargeLogRead:{get(){return this.chargeLogDataset!=null}},chargeLogHasEntries:{get(){return this.chargeLogDataset==null?!1:this.chargeLogDataset.length>0}},totalRecordCount(){return this.chargeLogDataset.length},chargeModeList(){let t=this.chargeModes.map(e=>({value:e,text:this.translateChargeMode(e)}));return t.unshift({value:void 0,text:"Alle"}),t},chargePointList(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[{value:void 0,text:"Alle"}];for(const[,o]of Object.entries(t))e.push({value:o.id,text:o.name});return e},vehicleList(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[{value:void 0,text:"Alle"}];for(const[o,p]of Object.entries(t)){let l=parseInt(o.match(/\/([0-9]+)\/name$/)[1]);e.push({value:l,text:p})}return e}},beforeMount(){this.mqttTopicsToSubscribe.push("openWB/log/"+this.mqttClientId+"/data")},mounted(){const t=new Date;this.currentMonth=this.chargeLogDate=t.getFullYear()+"-"+String(t.getMonth()+1).padStart(2,"0"),this.requestChargeLog()},methods:{cleanRequestData(){"id"in this.chargeLogRequestData.filter.chargepoint&&(this.chargeLogRequestData.filter.chargepoint.id=this.chargeLogRequestData.filter.chargepoint.id.filter(t=>t!=null)),"chargemode"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.chargemode=this.chargeLogRequestData.filter.vehicle.chargemode.filter(t=>t!=null)),"id"in this.chargeLogRequestData.filter.vehicle&&(this.chargeLogRequestData.filter.vehicle.id=this.chargeLogRequestData.filter.vehicle.id.filter(t=>t!=null))},requestChargeLog(){if(document.forms.chargeLogForm.reportValidity())this.cleanRequestData(),this.$emit("sendCommand",{command:"getChargeLog",data:this.chargeLogRequestData});else{console.warn("form invalid");return}},makeTextFile(t){var e=new Blob([t],{type:"text/csv"});return this.downloadFile!==null&&window.URL.revokeObjectURL(this.downloadFile),this.downloadFile=window.URL.createObjectURL(e),this.downloadFile},downloadChargeLog(){this.$refs.downloadChargeLogLink.setAttribute("download","Ladeprotokoll-"+this.chargeLogDate+".csv"),this.$refs.downloadChargeLogLink.href=this.makeTextFile(this.chargeLogCsv),this.$refs.downloadChargeLogLink.dispatchEvent(new MouseEvent("click"))},addClasses(t){return this.$store.state.mqtt["openWB/general/charge_log_data_config"]!==void 0&&Object.hasOwn(this.$store.state.mqtt["openWB/general/charge_log_data_config"],t)?this.$store.state.mqtt["openWB/general/charge_log_data_config"][t]?[]:["d-none"]:[]},getProgressTitle(t){return`Netz: ${this.formatNumber(t.grid,0,0)}%, Ladepunkte: ${this.formatNumber(t.cp,0,0)}%, Speicher: ${this.formatNumber(t.bat,0,0)}%, PV: ${this.formatNumber(t.pv,0,0)}%`},formatBool(t){return t?"Ja":"Nein"},formatW(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?o+"kW":o},formatWh(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t/1e3,2));return e?o+"kWh":o},formatRange(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,0));return e?o+"km":o},formatSoc(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,0));return e?o+"%":o},formatCosts(t,e=!0){let o=this.dashIfNotSet(this.formatNumber(t,2));return e?o+"€":o},dashIfNotSet(t){return t==null||t==""||t==null?"-":t},getChargeModeClass(t){switch(t){case"Sofort":return"bg-danger";case"PV":return"bg-success";case"Zielladen":return"bg-primary";case"Zeitladen":return"bg-warning";case"Standby":return"bg-secondary";case"Stop":return"bg-dark";default:return console.warn("unknown charge mode:",t),"bg-light"}}}},T={class:"chargeLog"},U={name:"chargeLogForm"},y=["href"],M=["href"],P={key:1},z={class:"td-end"},O={class:"td-end"},Z=["title"],A=["aria-valuenow"],j=["aria-valuenow"],J=["aria-valuenow"],K=["aria-valuenow"],Y={key:1,class:"td-center"},G={class:"td-end"},H={class:"no-wrap"},Q={class:"no-wrap"},X={class:"td-end"},$={class:"no-wrap"},ee={class:"no-wrap"},te={class:"td-end"},ae={class:"no-wrap"},re={class:"no-wrap"},ie={class:"td-end"},se={class:"td-end"},oe={key:0},ne={class:"row justify-content-center"},le={ref:"downloadChargeLogLink",class:"hide"},de={class:"td-end"},ge={class:"td-end"},he={class:"td-end"},ce={class:"td-end"};function ue(t,e,o,p,l,r){const D=h("openwb-base-text-input"),f=h("font-awesome-icon"),C=h("openwb-base-button-group-input"),m=h("openwb-base-select-input"),q=h("openwb-base-array-input"),b=h("openwb-base-card"),v=h("openwb-base-alert"),L=h("vue3-table-lite"),R=h("openwb-base-click-button");return c(),u("div",T,[i("form",U,[g(b,{title:"Filter"},{default:s(()=>[g(D,{modelValue:r.chargeLogDate,"onUpdate:modelValue":[e[0]||(e[0]=a=>r.chargeLogDate=a),e[1]||(e[1]=a=>r.requestChargeLog())],title:"Zeitraum",subtype:"month",min:"2018-01","show-quick-buttons":!0,max:l.currentMonth},null,8,["modelValue","max"]),g(b,{title:"Erweiterte Optionen",collapsible:!0,collapsed:!0},{header:s(()=>[g(f,{"fixed-width":"",icon:["fas","filter"]}),e[13]||(e[13]=d(" Erweiterte Optionen "))]),default:s(()=>[g(C,{modelValue:l.chargeLogRequestData.filter.vehicle.prio,"onUpdate:modelValue":[e[2]||(e[2]=a=>l.chargeLogRequestData.filter.vehicle.prio=a),e[3]||(e[3]=a=>r.requestChargeLog())],title:"Priorität",buttons:[{buttonValue:void 0,text:"Alle"},{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"]),g(m,{modelValue:l.chargeLogRequestData.filter.vehicle.chargemode,"onUpdate:modelValue":[e[4]||(e[4]=a=>l.chargeLogRequestData.filter.vehicle.chargemode=a),e[5]||(e[5]=a=>r.requestChargeLog())],title:"Lademodus",multiple:"",options:r.chargeModeList},{help:s(()=>e[14]||(e[14]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(m,{modelValue:l.chargeLogRequestData.filter.chargepoint.id,"onUpdate:modelValue":[e[6]||(e[6]=a=>l.chargeLogRequestData.filter.chargepoint.id=a),e[7]||(e[7]=a=>r.requestChargeLog())],title:"Ladepunkt",multiple:"",options:r.chargePointList},{help:s(()=>e[15]||(e[15]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(m,{modelValue:l.chargeLogRequestData.filter.vehicle.id,"onUpdate:modelValue":[e[8]||(e[8]=a=>l.chargeLogRequestData.filter.vehicle.id=a),e[9]||(e[9]=a=>r.requestChargeLog())],title:"Fahrzeug",multiple:"",options:r.vehicleList},{help:s(()=>e[16]||(e[16]=[d(" Es können mehrere Elemente ausgewählt werden. ")])),_:1},8,["modelValue","options"]),g(q,{modelValue:l.chargeLogRequestData.filter.vehicle.tag,"onUpdate:modelValue":[e[10]||(e[10]=a=>l.chargeLogRequestData.filter.vehicle.tag=a),e[11]||(e[11]=a=>r.requestChargeLog())],title:"ID-Tags"},{help:s(()=>e[17]||(e[17]=[d(" Es können mehrere Tags als Filter verwendet werden. ")])),_:1},8,["modelValue"])]),_:1})]),_:1}),g(v,{subtype:"info"},{default:s(()=>[e[18]||(e[18]=d(" Das Ladeprotokoll kann monatsweise automatisiert über folgende URL abgerufen werden: ")),i("a",{href:r.downloadUrlMonth},n(r.downloadUrlMonth),9,y),e[19]||(e[19]=d()),e[20]||(e[20]=i("br",null,null,-1)),e[21]||(e[21]=d(" Das komplette Ladeprotokoll für das gesamte Jahr kann automatisiert über folgende URL abgerufen werden: ")),i("a",{href:r.downloadUrlYear},n(r.downloadUrlYear),9,M)]),_:1}),r.chargeLogRead?(c(),u("div",P,[g(L,{class:"charge-log-table","is-static-mode":!0,columns:r.chargeLogColumns,rows:r.chargeLogDataset,total:r.totalRecordCount,sortable:l.table.sortable,messages:l.table.messages,"page-options":l.table.pageOptions,limit:25,"is-slot-mode":!0},{time_begin:s(a=>[d(n(r.dashIfNotSet(a.value.time_begin)),1)]),time_end:s(a=>[d(n(r.dashIfNotSet(a.value.time_end)),1)]),time_time_charged:s(a=>[i("div",z,n(a.value.time_time_charged),1)]),data_costs:s(a=>[i("div",O,n(r.formatCosts(a.value.data_costs)),1)]),data_power_source:s(a=>[a.value.data_power_source?(c(),u("div",{key:0,class:"progress td-center",title:r.getProgressTitle(a.value.data_power_source)},[i("div",{class:"progress-bar bg-danger",role:"progressbar",style:_({width:a.value.data_power_source.grid+"%"}),"aria-valuenow":a.value.data_power_source.grid,"aria-valuemin":"0","aria-valuemax":"100"},null,12,A),i("div",{class:"progress-bar bg-primary",role:"progressbar",style:_({width:a.value.data_power_source.cp+"%"}),"aria-valuenow":a.value.data_power_source.cp,"aria-valuemin":"0","aria-valuemax":"100"},null,12,j),i("div",{class:"progress-bar bg-warning",role:"progressbar",style:_({width:a.value.data_power_source.bat+"%"}),"aria-valuenow":a.value.data_power_source.bat,"aria-valuemin":"0","aria-valuemax":"100"},null,12,J),i("div",{class:"progress-bar bg-success",role:"progressbar",style:_({width:a.value.data_power_source.pv+"%"}),"aria-valuenow":a.value.data_power_source.pv,"aria-valuemin":"0","aria-valuemax":"100"},null,12,K)],8,Z)):(c(),u("div",Y," - "))]),vehicle_chargemode:s(a=>[i("div",{class:w(["td-center tag",r.getChargeModeClass(a.value.vehicle_chargemode)])},n(a.value.vehicle_chargemode),3)]),vehicle_prio:s(a=>[i("div",{class:w(["td-center tag",a.value.vehicle_prio?"bg-success":"bg-danger"])},n(r.formatBool(a.value.vehicle_prio)),3)]),vehicle_rfid:s(a=>[d(n(r.dashIfNotSet(a.value.vehicle_rfid)),1)]),vehicle_soc_at_start:s(a=>[i("div",G,[i("span",H,n(r.formatSoc(a.value.vehicle_soc_at_start)),1),i("span",Q," ("+n(r.formatRange(a.value.vehicle_range_at_start))+") ",1)])]),vehicle_soc_at_end:s(a=>[i("div",X,[i("span",$,n(r.formatSoc(a.value.vehicle_soc_at_end)),1),i("span",ee," ("+n(r.formatRange(a.value.vehicle_range_at_end))+") ",1)])]),chargepoint_name:s(a=>[d(n(r.dashIfNotSet(a.value.chargepoint_name)),1)]),chargepoint_serial_number:s(a=>[d(n(r.dashIfNotSet(a.value.chargepoint_serial_number)),1)]),data_imported_since_mode_switch:s(a=>[i("div",te,[i("span",ae,n(r.formatWh(a.value.data_imported_since_mode_switch)),1),i("span",re," ("+n(r.formatRange(a.value.data_range_charged))+") ",1)])]),chargepoint_imported_at_start:s(a=>[i("div",ie,n(r.formatWh(a.value.chargepoint_imported_at_start)),1)]),chargepoint_imported_at_end:s(a=>[i("div",se,n(r.formatWh(a.value.chargepoint_imported_at_end)),1)]),_:1},8,["columns","rows","total","sortable","messages","page-options"]),r.totalRecordCount>0?(c(),u("div",oe,[i("div",ne,[g(R,{class:"col-4 btn-success",onButtonClicked:e[12]||(e[12]=a=>r.downloadChargeLog())},{default:s(()=>[e[23]||(e[23]=d(" Als CSV exportieren ")),g(f,{"fixed-width":"",icon:["fas","download"]})]),_:1}),i("a",le,null,512)]),e[24]||(e[24]=i("div",{class:"row"},[i("div",{class:"col"},[i("h2",null,"Summe")])],-1)),g(L,{class:"charge-log-totals","is-static-mode":!0,"is-hide-paging":!0,columns:l.totals.columns,rows:r.chargeLogTotals,total:1,"is-slot-mode":!0},{time_charged:s(a=>[i("div",de,n(a.value.time_charged),1)]),imported_since_mode_switch:s(a=>[i("div",ge,n(r.formatWh(a.value.imported_since_mode_switch)),1)]),range_charged:s(a=>[i("div",he,n(r.formatRange(a.value.range_charged)),1)]),costs:s(a=>[i("div",ce,n(r.formatCosts(a.value.costs)),1)]),_:1},8,["columns","rows"])])):I("",!0)])):(c(),V(v,{key:0,subtype:"info"},{default:s(()=>e[22]||(e[22]=[d(" Es wurden noch keine Daten abgerufen. ")])),_:1}))])])}const we=B(W,[["render",ue],["__scopeId","data-v-8607e7e7"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargeLog.vue"]]);export{we as default}; diff --git a/web/settings/assets/ChargePointInstallation-547f555f.js b/web/settings/assets/ChargePointInstallation-547f555f.js new file mode 100644 index 0000000000..94b7e48bc9 --- /dev/null +++ b/web/settings/assets/ChargePointInstallation-547f555f.js @@ -0,0 +1 @@ +import{l as Z,d as J,a7 as H,A as G,ag as Q,ah as X,K as Y,ai as K,F as ee,I as te}from"./vendor-fortawesome-231ff303.js";import{_ as P,C as ne}from"./index-6ffbdc7e.js";import{_ as q}from"./dynamic-import-helper-be004503.js";import{_ as S,u as h,l,m as p,z as f,E as o,y as r,F as w,G as a,x as d,a1 as z,a2 as E,N as A,M as x,B as g,D as M,q as ae,A as oe}from"./vendor-0c15df0c.js";const le={props:{chargePoint:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ie=S(le,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointConfigMixin.vue"]]),re={name:"ChargePointConfigFallback",mixins:[ie]},se={class:"charge-point-config-fallback"},ue={key:1};function de(t,e,m,V,c,u){const k=h("openwb-base-alert"),_=h("openwb-base-textarea");return l(),p("div",se,[Object.keys(t.chargePoint.configuration).length==0?(l(),f(k,{key:0,subtype:"info"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),p("div",ue,[a(k,{subtype:"warning"},{default:o(()=>[r(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+w(t.chargePoint.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(_,{title:"Konfiguration",subtype:"json","model-value":t.chargePoint.configuration,"onUpdate:modelValue":e[0]||(e[0]=L=>t.updateConfiguration(L,"configuration"))},{help:o(()=>e[1]||(e[1]=[r(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(k,{subtype:"info"},{default:o(()=>[d("pre",null,w(JSON.stringify(t.chargePoint.configuration,void 0,2)),1)]),_:1})]))])}const pe=S(re,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),me={props:{chargePoint:{type:Object,required:!0}}},ge=S(me,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointCommandsMixin.vue"]]),he={name:"ChargePointCommandsFallback",mixins:[ge]},ce={class:"charge-point-commands-fallback"};function be(t,e,m,V,c,u){const k=h("openwb-base-alert");return l(),p("div",ce,[a(k,{subtype:"secondary"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Befehle an. ',1)]),_:1})])}const fe=S(he,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),_e={name:"OpenwbChargePointProxy",props:{chargePoint:{required:!0,type:Object}},emits:["update:configuration"],computed:{myChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePoint.type}`),z({loader:()=>q(Object.assign({"./external_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-4f5b81e5.js"),["assets/chargePoint-4f5b81e5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./internal_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-1b48e9d2.js"),["assets/chargePoint-1b48e9d2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/chargePoint.vue":()=>P(()=>import("./chargePoint-fa895620.js"),["assets/chargePoint-fa895620.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_dc_adapter/chargePoint.vue":()=>P(()=>import("./chargePoint-13c91f37.js"),["assets/chargePoint-13c91f37.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/chargePoint.vue":()=>P(()=>import("./chargePoint-4c86264f.js"),["assets/chargePoint-4c86264f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_series2_satellit/chargePoint.vue":()=>P(()=>import("./chargePoint-89c4f522.js"),["assets/chargePoint-89c4f522.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartwb/chargePoint.vue":()=>P(()=>import("./chargePoint-9e678d43.js"),["assets/chargePoint-9e678d43.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/chargePoint.vue`),errorComponent:pe})},myChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePoint.type}`),z({loader:()=>q(Object.assign({"./internal_openwb/commands.vue":()=>P(()=>import("./commands-ab280eb2.js"),["assets/commands-ab280eb2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/commands.vue":()=>P(()=>import("./commands-632da742.js"),["assets/commands-632da742.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/commands.vue`),errorComponent:fe})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,m,V,c,u){const k=h("openwb-base-heading");return l(),p(A,null,[a(k,null,{default:o(()=>[r(' Einstellungen für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(l(),f(E(u.myChargePointSettingsComponent),{"charge-point":m.chargePoint,"onUpdate:configuration":e[0]||(e[0]=_=>u.updateConfiguration(_))},null,40,["charge-point"])),e[1]||(e[1]=d("hr",null,null,-1)),a(k,null,{default:o(()=>[r(' Befehle für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(l(),f(E(u.myChargePointCommandsComponent),{"charge-point":m.chargePoint},null,8,["charge-point"]))],64)}const we=S(_e,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);Z.add(J,H,G,Q,X,Y,K);const ke={name:"OpenwbChargePointInstallationView",components:{FontAwesomeIcon:ee,FontAwesomeLayers:te,OpenwbChargePointProxy:we},mixins:[ne],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/ocpp/config","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/chargepoint/template/+/autolock/+","openWB/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex:void 0,showChargePointTemplateAutolockPlanModal:!1,modalChargePointTemplateAutolockPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},installedChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[m,V]of Object.entries(t))(V.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(e[m]=V);return e}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let t=[];return Object.keys(this.chargePointTemplates).forEach(e=>{let m=parseInt(e.match(/([0-9]+)/g)[0]),V=this.$store.state.mqtt["openWB/chargepoint/template/"+m].name;t.push({value:m,text:V})}),t}}},methods:{addChargePoint(){this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(t,e){e.stopPropagation(),this.modalChargePointIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(t,e){this.showChargePointModal=!1,e=="confirm"&&(console.debug("request removal of charge point '"+t+"'"),this.$emit("sendCommand",{command:"removeChargepoint",data:{id:t}}))},getChargePointList(){return this.$store.state.mqtt["openWB/general/extern"]===!1?this.$store.state.mqtt["openWB/system/configurable/chargepoints"]:this.$store.state.mqtt["openWB/system/configurable/chargepoints_internal"]},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getChargePointTemplateName(t){return this.$store.state.mqtt["openWB/chargepoint/template/"+t]?this.$store.state.mqtt["openWB/chargepoint/template/"+t].name:"Profil "+t},addChargePointTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addChargepointTemplate",data:{}})},getChargePointTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargePointTemplateModal(t,e){e.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.showChargePointTemplateModal=!0},removeChargePointTemplate(t,e){this.showChargePointTemplateModal=!1,e=="confirm"&&(console.debug("request removal of chargePoint template '"+t+"'"),this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:t}}))},addChargePointTemplateAutolockPlan(t,e){e.stopPropagation(),console.info("requesting new charge point template autolock plan...");let m=this.getChargePointTemplateIndex(t);this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:m}})},removeChargePointTemplateAutolockPlanModal(t,e,m){m.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.modalChargePointTemplateAutolockPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargePointTemplateAutolockPlanModal=!0},removeChargePointTemplateAutolockPlan(t,e,m){this.showChargePointTemplateAutolockPlanModal=!1,m=="confirm"&&(console.debug("request removal of chargePoint template '"+t+"' autolock plan '"+e+"'"),this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:t,plan:e}}))},getChargePointTemplateAutolockPlanName(t,e){return this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e]?this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e].name:"Autolock Zeitplan "+t+"/"+e},getChargePointTemplateAutolockPlans(t){let e=this.getChargePointTemplateIndex(t);return this.getWildcardTopics("openWB/chargepoint/template/"+e+"/autolock/+")},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},Ce={class:"chargePointInstallation"},ye={name:"chargePointInstallationForm"},Pe={key:0},Ve={key:2},Le={key:0},Be={key:0},We={key:1},Ae={key:1},Se={key:0},Ue={key:2},xe={key:4},Ie=["onClick"],Te={key:0},De={key:1},qe={key:2},ze={key:2};function Ee(t,e,m,V,c,u){const k=h("openwb-base-modal-dialog"),_=h("font-awesome-icon"),L=h("openwb-base-avatar"),y=h("openwb-base-text-input"),I=h("openwb-base-select-input"),O=h("openwb-charge-point-proxy"),B=h("openwb-base-heading"),C=h("openwb-base-button-group-input"),U=h("openwb-base-card"),F=h("font-awesome-layers"),T=h("openwb-base-alert"),N=h("openwb-base-array-input"),D=h("openwb-base-range-input"),$=h("openwb-base-number-input"),j=h("openwb-base-submit-buttons");return l(),p(A,null,[a(k,{show:c.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=i=>u.removeChargePoint(c.modalChargePointIndex,i))},{default:o(()=>[r(' Wollen Sie den Ladepunkt "'+w(u.getChargePointName(c.modalChargePointIndex))+'" (ID: '+w(c.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=i=>u.removeChargePointTemplate(c.modalChargePointTemplateIndex,i))},{default:o(()=>[r(' Wollen Sie das Ladepunkt-Profil "'+w(u.getChargePointTemplateName(c.modalChargePointTemplateIndex))+'" (ID: '+w(c.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateAutolockPlanModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=i=>u.removeChargePointTemplateAutolockPlan(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex,i))},{default:o(()=>[r(' Wollen Sie den Autolock Zeitplan "'+w(u.getChargePointTemplateAutolockPlanName(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),d("div",Ce,[d("form",ye,[a(U,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!m.installAssistantActive},{header:o(()=>[a(_,{"fixed-width":"",icon:["fas","charging-station"]}),e[7]||(e[7]=r(" Ladepunkte "))]),default:o(()=>[(l(!0),p(A,null,x(u.installedChargePoints,(i,s)=>(l(),f(U,{key:s,title:i.name+" (ID: "+i.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(n=>[n.collapsed?g("",!0):(l(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":i.name,"onUpdate:modelValue":n=>t.updateState(s,n,"name")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[s].type},null,8,["model-value"]),i.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),p("span",Pe,[a(I,{title:"Ladepunkt-Profil",options:u.chargePointTemplateList,"model-value":t.$store.state.mqtt[s].template,"onUpdate:modelValue":n=>t.updateState(s,n,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):g("",!0),t.$store.state.mqtt["openWB/optional/ocpp/config"].active===!0?(l(),f(y,{key:1,title:"OCPP-Chargebox ID","model-value":i.ocpp_chargebox_id,"onUpdate:modelValue":n=>t.updateState(s,n,"ocpp_chargebox_id")},{help:o(()=>[...e[8]||(e[8]=[r(" Bitte geben Sie hier die Chargebox ID ein, die im OCPP-Backend für diesen Ladepunkt verwendet wird. Sollen die Daten dieses Ladepunktes nicht an ein OCPP-Backend übertragen werden, lasse dieses Feld leer. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0),e[14]||(e[14]=d("hr",null,null,-1)),a(O,{"charge-point":i,"onUpdate:configuration":n=>u.updateConfiguration(s,n)},null,8,["charge-point","onUpdate:configuration"]),(i.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1)&&i.charging_type!=="DC"?(l(),p("div",Ve,[e[13]||(e[13]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[9]||(e[9]=[r(" Hardware-Optionen ")])]),_:1}),a(C,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.auto_phase_switch_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.control_pilot_interruption_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"control_pilot_interruption_hw")},{help:o(()=>[...e[10]||(e[10]=[r(' Die Control-Pilot-Leitung ist im Ladekabel integriert und dient der Steuerung der Fahrzeugladung (An/Aus/Stromvorgaben). Bei einigen Fahrzeugen können durch die Regelung erzwungene, längere Ladestopps (z.B. beim PV-Laden) zu unerwünschten "Einschlaf"-Effekten des Fahrzeuges führen. Mit diesem Feature, welches hardwareseitig verbaut sein muss, kann ein Abstecken des Ladesteckers simuliert werden, um ein Aufwecken des Fahrzeuges zu ermöglichen. Die Funktion hängt immer auch vom Fahrzeugtyp ab. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{default:o(()=>[...e[11]||(e[11]=[r(" Elektrischer Anschluss ")])]),_:1}),a(C,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":i.connected_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:1,text:"EVU L1"},{buttonValue:2,text:"EVU L2"},{buttonValue:3,text:"EVU L3"}],"model-value":i.phase_1,"onUpdate:modelValue":n=>t.updateState(s,n,"phase_1")},{help:o(()=>[...e[12]||(e[12]=[r(" Hier ist anzugeben, an welcher Phase des Hausanschlusses (EVU-Punkt) die Phase 1 dieses Ladepunktes angeschlossen ist. Diese Information wird für das Lastmanagement benötigt, um bei einer Schieflast gezielt einzelne Ladepunkte zu drosseln."),d("br",null,null,-1),r(' Bei mehreren Ladepunkten macht es Sinn, die Phasen der LP rotierend anzuschließen, damit mehrere "nicht-dreiphasig" ladende Fahrzeuge mit optimaler Leistung laden können, bevor das Lastmanagement eingreift.'),d("br",null,null,-1),r(" Es wird vorausgesetzt, dass das Drehfeld innerhalb der Installation gleich bleibt. Wenn z.B. L1 des Ladepunktes auf EVU-L2 liegt, muss L2 des Ladepunktes auf EVU-L3 aufgelegt sein (und L3 des Ladepunktes auf EVU-L1)."),d("br",null,null,-1),r(" Eine Möglichkeit, die zur Ladepunktphase L1 zugehörige EVU-Phase zu ermitteln, ist eine einphasige Ladung zu starten und die Phasenströme am EVU-Zähler zu beobachten. Mit einem zweiphasig ladenden Fahrzeug kann danach auch der Anschluss von L2 ermittelt und so das Drehfeld kontrolliert werden."),d("br",null,null,-1),r(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):g("",!0)]),_:2},1032,["title"]))),128)),Object.keys(u.installedChargePoints).length>0?(l(),p("hr",Le)):g("",!0),a(I,{title:"Verfügbare Ladepunkte","not-selected":"Bitte auswählen",options:u.getChargePointList(),"model-value":c.chargePointToAdd,"add-button":!0,"onUpdate:modelValue":e[3]||(e[3]=i=>c.chargePointToAdd=i),"onInput:add":u.addChargePoint},{help:o(()=>e[15]||(e[15]=[r(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll."),d("br",null,null,-1),d("ul",null,[d("li",null," Interne openWB - wenn diese openWB über einen verbauten Ladepunkt mit Regelcontroller verfügt (z.B. Standard(+), Custom, Duo, Buchse, NICHT Standalone); ansonsten immer anlegen, egal ob diese openWB steuert = primary oder ferngesteuert wird = secondary "),d("li",null," Seconadry openWB - wenn diese openWB (primary) die Fernsteuerung von weiteren openWB (secondary) übernimmt "),d("li",null,"MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen"),d("li",null,"openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt"),d("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),d("li",null," smartWB/EVSE-Wifi - wenn diese openWB (primary) die Fernsteuerung einer smartWB/EVSE-Wifi übernimmt ")],-1)])),_:1},8,["options","model-value","onInput:add"])]),_:1},8,["collapsed"]),e[38]||(e[38]=d("hr",{class:"border-secondary"},null,-1)),a(U,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[a(F,{"fixed-width":"",class:"fa-lg"},{default:o(()=>[a(_,{"fixed-width":"",icon:["far","file"]}),a(_,{"fixed-width":"",icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),e[16]||(e[16]=r(" Ladepunkt-Profile "))]),actions:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),f(L,{key:0,class:"bg-success clickable",onClick:u.addChargePointTemplate},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):g("",!0)]),default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),p("div",Be,[a(T,{subtype:"info"},{default:o(()=>e[17]||(e[17]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),p("div",We,[(l(!0),p(A,null,x(u.chargePointTemplates,(i,s)=>(l(),f(U,{key:s,title:i.name+" (ID: "+u.getChargePointTemplateIndex(s)+")",collapsible:!0,collapsed:!0},M({default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":i.name,disabled:s.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(s,n,"name")},M({_:2},[s.endsWith("/0")?{name:"help",fn:o(()=>[e[18]||(e[18]=r(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),u.dcChargingEnabled===!0?(l(),f(C,{key:0,title:"Typ des Ladeprofils",buttons:[{buttonValue:"AC",text:"AC"},{buttonValue:"DC",text:"DC"}],"model-value":i.charging_type,"onUpdate:modelValue":n=>t.updateState(s,n,"charging_type")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),e[35]||(e[35]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[19]||(e[19]=[r(" Zugangskontrolle ")])]),_:1}),a(C,{title:"Sperre nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.disable_after_unplug,"onUpdate:modelValue":n=>t.updateState(s,n,"disable_after_unplug")},{help:o(()=>[...e[20]||(e[20]=[r(" Sperrt den Ladepunkt nach Abstecken eines Fahrzeuges. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!m.installAssistantActive?(l(),p("div",Ae,[i.disable_after_unplug?(l(),f(N,{key:0,title:"Zugeordnete ID-Tags","no-elements-message":"Keine ID-Tags zugeordnet.","model-value":i.valid_tags,"onUpdate:modelValue":n=>t.updateState(s,n,"valid_tags")},{help:o(()=>[...e[21]||(e[21]=[r(" Die hier eingetragenen ID-Tags dienen ausschließlich zum Entsperren des Ladepunktes. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0)])):g("",!0),e[36]||(e[36]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[22]||(e[22]=[r(" Angaben zum konfigurierten Ladestrom der openWB ")])]),_:1}),a(T,{subtype:"info"},{default:o(()=>[e[23]||(e[23]=r(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt.")),e[24]||(e[24]=d("br",null,null,-1)),e[25]||(e[25]=r(" Generell gilt, dass diese Werte in Übereinstimmung mit der Ausführung des Ladepunktes und des elektrischen Anschlusses bzw. der Absicherung zu wählen sind. ")),i.charging_type==="AC"?(l(),p("span",Se," Bei einer openWB mit 22kW Maximalleistung sind hier jeweils 32A einzustellen. Ist die openWB beispielsweise auf 11kW begrenzt (KfW-Förderung oder die Zuleitung ist mit 16A abgesichert), dann sind hier jeweils 16A einzustellen. ")):g("",!0),e[26]||(e[26]=d("br",null,null,-1)),e[27]||(e[27]=r(" Komplexere Installationen mit mehreren Ladepunkten werden im ")),e[28]||(e[28]=d("a",{href:"https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"},"Wiki zum Lastmanagement",-1)),e[29]||(e[29]=r(" beschrieben. "))]),_:2},1024),i.charging_type==="AC"||u.dcChargingEnabled!==!0?(l(),p("div",Ue,[a(D,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":i.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(D,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":i.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"])])):(l(),f($,{key:3,title:"Maximalleistung",min:22,max:420,step:1,unit:"kW",precision:5,"model-value":t.ac_current2dc_power(i.dc_max_current),"onUpdate:modelValue":n=>t.updateState(s,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])),e[37]||(e[37]=d("hr",null,null,-1)),m.installAssistantActive?g("",!0):(l(),p("div",xe,[e[34]||(e[34]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[30]||(e[30]=[r(" Automatische Sperre ")])]),_:1}),a(C,{title:"Automatische Sperre aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.autolock.active,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.active")},{help:o(()=>[...e[31]||(e[31]=[r(" Wird die automatische Sperre aktiviert, können Fahrzeugladungen mittels Zeitplan auf gewünschte Zeitbereiche eingeschränkt werden. Dies kann z.B. bei Zugänglichkeiten zu Ladepunkten in öffentlichen oder halb-öffentlichen Bereichen sinnvoll sein. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(C,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.autolock.wait_for_charging_end,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.wait_for_charging_end")},{help:o(()=>[...e[32]||(e[32]=[r(' Wenn ein Zeitplan die automatische Sperre aktiviert, werden alle Ladepunkte direkt gesperrt und laufende Ladevorgänge beendet. Wird hier "Ja" ausgewählt, dann werden laufende Ladevorgänge NICHT beendet und diese Ladepunkte erst nach abgeschlossener Ladung gesperrt. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{actions:o(()=>[a(L,{class:"bg-success clickable",onClick:n=>u.addChargePointTemplateAutolockPlan(s,n)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),default:o(()=>[e[33]||(e[33]=r(" Zeitpläne für die automatische Sperre "))]),_:2},1024)])),(l(!0),p(A,null,x(u.getChargePointTemplateAutolockPlans(s),(n,v)=>(l(),f(U,{key:v,title:n.name,collapsible:!0,collapsed:!0},{actions:o(b=>[b.collapsed==!0?(l(),p("span",{key:0,class:ae(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:oe(W=>t.updateState(v,!n.active,"active"),["stop"])},[a(_,{"fixed-width":"",icon:["fas","clock"]}),r(" "+w(n.time[0])+" - "+w(n.time[1])+" ",1),n.frequency.selected=="once"?(l(),p("span",Te,[a(_,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+w(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):g("",!0),n.frequency.selected=="daily"?(l(),p("span",De,[a(_,{"fixed-width":"",icon:["fas","calendar-week"]})])):g("",!0),n.frequency.selected=="weekly"?(l(),p("span",qe,[a(_,{"fixed-width":"",icon:["fas","calendar-alt"]})])):g("",!0)],10,Ie)):g("",!0),b.collapsed==!1?(l(),f(L,{key:1,class:"bg-danger clickable",onClick:W=>u.removeChargePointTemplateAutolockPlanModal(s,v,W)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):g("",!0)]),default:o(()=>[a(y,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":b=>t.updateState(v,b,"name")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":b=>t.updateState(v,b,"active")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Sperren um",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":b=>t.updateState(v,b,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Freigeben um",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":b=>t.updateState(v,b,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(l(),f(y,{key:0,title:"Sperren ab ...",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="once"?(l(),f(y,{key:1,title:"... bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="weekly"?(l(),p("div",ze,[(l(!0),p(A,null,x(t.weekdays,(b,W)=>(l(),f(C,{key:W,title:b,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[W],"onUpdate:modelValue":R=>t.updateState(v,R,"frequency.weekly."+W)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):g("",!0)]),_:2},1032,["title"]))),128))]),_:2},[s.endsWith("/0")?void 0:{name:"actions",fn:o(n=>[n.collapsed?g("",!0):(l(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointTemplateModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(j,{"form-name":"chargePointInstallationForm",onSave:e[4]||(e[4]=i=>t.$emit("save")),onReset:e[5]||(e[5]=i=>t.$emit("reset")),onDefaults:e[6]||(e[6]=i=>t.$emit("defaults"))})])])],64)}const Me=S(ke,[["render",Ee],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]),je=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"}));export{ie as C,ge as a,Me as b,je as c}; diff --git a/web/settings/assets/ChargePointInstallation-d3922b37.js b/web/settings/assets/ChargePointInstallation-d3922b37.js deleted file mode 100644 index d235d8d33c..0000000000 --- a/web/settings/assets/ChargePointInstallation-d3922b37.js +++ /dev/null @@ -1 +0,0 @@ -import{l as Z,d as J,a7 as H,A as G,ag as Q,ah as X,K as Y,ai as K,F as ee,I as te}from"./vendor-fortawesome-05d7e447.js";import{_ as P,C as ne}from"./index-3434d31b.js";import{_ as q}from"./dynamic-import-helper-be004503.js";import{_ as S,u as h,k as l,l as p,z as f,E as o,y as r,F as w,G as a,x as d,a1 as z,a2 as E,N as A,M as x,B as g,D as M,q as ae,A as oe}from"./vendor-06e11d0e.js";const le={props:{chargePoint:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ie=S(le,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointConfigMixin.vue"]]),re={name:"ChargePointConfigFallback",mixins:[ie]},se={class:"charge-point-config-fallback"},ue={key:1};function de(t,e,m,V,c,u){const k=h("openwb-base-alert"),_=h("openwb-base-textarea");return l(),p("div",se,[Object.keys(t.chargePoint.configuration).length==0?(l(),f(k,{key:0,subtype:"info"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),p("div",ue,[a(k,{subtype:"warning"},{default:o(()=>[r(' Es wurde keine Konfigurationsseite für den Ladepunkt-Typ "'+w(t.chargePoint.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(_,{title:"Konfiguration",subtype:"json","model-value":t.chargePoint.configuration,"onUpdate:modelValue":e[0]||(e[0]=L=>t.updateConfiguration(L,"configuration"))},{help:o(()=>e[1]||(e[1]=[r(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(k,{subtype:"info"},{default:o(()=>[d("pre",null,w(JSON.stringify(t.chargePoint.configuration,void 0,2)),1)]),_:1})]))])}const pe=S(re,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointConfigFallback.vue"]]),me={props:{chargePoint:{type:Object,required:!0}}},ge=S(me,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/ChargePointCommandsMixin.vue"]]),he={name:"ChargePointCommandsFallback",mixins:[ge]},ce={class:"charge-point-commands-fallback"};function be(t,e,m,V,c,u){const k=h("openwb-base-alert");return l(),p("div",ce,[a(k,{subtype:"secondary"},{default:o(()=>[r(' Der Ladepunkt-Typ "'+w(t.chargePoint.type)+'" bietet keine Befehle an. ',1)]),_:1})])}const fe=S(he,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointCommandsFallback.vue"]]),_e={name:"OpenwbChargePointProxy",props:{chargePoint:{required:!0,type:Object}},emits:["update:configuration"],computed:{myChargePointSettingsComponent(){return console.debug(`loading charge point settings: ${this.chargePoint.type}`),z({loader:()=>q(Object.assign({"./external_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-ef96f71f.js"),["assets/chargePoint-ef96f71f.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./internal_openwb/chargePoint.vue":()=>P(()=>import("./chargePoint-4f9bcd83.js"),["assets/chargePoint-4f9bcd83.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/chargePoint.vue":()=>P(()=>import("./chargePoint-a4336447.js"),["assets/chargePoint-a4336447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_dc_adapter/chargePoint.vue":()=>P(()=>import("./chargePoint-ef8b1645.js"),["assets/chargePoint-ef8b1645.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/chargePoint.vue":()=>P(()=>import("./chargePoint-a40cb7ad.js"),["assets/chargePoint-a40cb7ad.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_series2_satellit/chargePoint.vue":()=>P(()=>import("./chargePoint-c17a3338.js"),["assets/chargePoint-c17a3338.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartwb/chargePoint.vue":()=>P(()=>import("./chargePoint-611917bd.js"),["assets/chargePoint-611917bd.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/chargePoint.vue`),errorComponent:pe})},myChargePointCommandsComponent(){return console.debug(`loading charge point commands: ${this.chargePoint.type}`),z({loader:()=>q(Object.assign({"./internal_openwb/commands.vue":()=>P(()=>import("./commands-947e1b3d.js"),["assets/commands-947e1b3d.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb_pro/commands.vue":()=>P(()=>import("./commands-50a76288.js"),["assets/commands-50a76288.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.chargePoint.type}/commands.vue`),errorComponent:fe})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,m,V,c,u){const k=h("openwb-base-heading");return l(),p(A,null,[a(k,null,{default:o(()=>[r(' Einstellungen für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(l(),f(E(u.myChargePointSettingsComponent),{"charge-point":m.chargePoint,"onUpdate:configuration":e[0]||(e[0]=_=>u.updateConfiguration(_))},null,40,["charge-point"])),e[1]||(e[1]=d("hr",null,null,-1)),a(k,null,{default:o(()=>[r(' Befehle für Ladepunkt Typ "'+w(m.chargePoint.type)+'" ',1)]),_:1}),(l(),f(E(u.myChargePointCommandsComponent),{"charge-point":m.chargePoint},null,8,["charge-point"]))],64)}const we=S(_e,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/OpenwbChargePointProxy.vue"]]);Z.add(J,H,G,Q,X,Y,K);const ke={name:"OpenwbChargePointInstallationView",components:{FontAwesomeIcon:ee,FontAwesomeLayers:te,OpenwbChargePointProxy:we},mixins:[ne],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/ocpp/config","openWB/optional/rfid/active","openWB/chargepoint/+/config","openWB/chargepoint/template/+","openWB/chargepoint/template/+/autolock/+","openWB/system/configurable/chargepoints","openWB/system/configurable/chargepoints_internal"],chargePointToAdd:void 0,showChargePointModal:!1,modalChargePointIndex:void 0,showChargePointTemplateModal:!1,modalChargePointTemplateIndex:void 0,showChargePointTemplateAutolockPlanModal:!1,modalChargePointTemplateAutolockPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},installedChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),e={};for(const[m,V]of Object.entries(t))(V.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(e[m]=V);return e}},chargePointTemplates:{get(){return this.getWildcardTopics("openWB/chargepoint/template/+")}},chargePointTemplateList:{get(){let t=[];return Object.keys(this.chargePointTemplates).forEach(e=>{let m=parseInt(e.match(/([0-9]+)/g)[0]),V=this.$store.state.mqtt["openWB/chargepoint/template/"+m].name;t.push({value:m,text:V})}),t}}},methods:{addChargePoint(){this.$emit("sendCommand",{command:"addChargepoint",data:{type:this.chargePointToAdd}})},removeChargePointModal(t,e){e.stopPropagation(),this.modalChargePointIndex=parseInt(t.match(/(?:\/)(\d+)(?=\/)/)[1]),this.showChargePointModal=!0},removeChargePoint(t,e){this.showChargePointModal=!1,e=="confirm"&&(console.debug("request removal of charge point '"+t+"'"),this.$emit("sendCommand",{command:"removeChargepoint",data:{id:t}}))},getChargePointList(){return this.$store.state.mqtt["openWB/general/extern"]===!1?this.$store.state.mqtt["openWB/system/configurable/chargepoints"]:this.$store.state.mqtt["openWB/system/configurable/chargepoints_internal"]},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getChargePointTemplateName(t){return this.$store.state.mqtt["openWB/chargepoint/template/"+t]?this.$store.state.mqtt["openWB/chargepoint/template/"+t].name:"Profil "+t},addChargePointTemplate(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addChargepointTemplate",data:{}})},getChargePointTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargePointTemplateModal(t,e){e.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.showChargePointTemplateModal=!0},removeChargePointTemplate(t,e){this.showChargePointTemplateModal=!1,e=="confirm"&&(console.debug("request removal of chargePoint template '"+t+"'"),this.$emit("sendCommand",{command:"removeChargepointTemplate",data:{id:t}}))},addChargePointTemplateAutolockPlan(t,e){e.stopPropagation(),console.info("requesting new charge point template autolock plan...");let m=this.getChargePointTemplateIndex(t);this.$emit("sendCommand",{command:"addAutolockPlan",data:{template:m}})},removeChargePointTemplateAutolockPlanModal(t,e,m){m.stopPropagation(),this.modalChargePointTemplateIndex=this.getChargePointTemplateIndex(t),this.modalChargePointTemplateAutolockPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargePointTemplateAutolockPlanModal=!0},removeChargePointTemplateAutolockPlan(t,e,m){this.showChargePointTemplateAutolockPlanModal=!1,m=="confirm"&&(console.debug("request removal of chargePoint template '"+t+"' autolock plan '"+e+"'"),this.$emit("sendCommand",{command:"removeAutolockPlan",data:{template:t,plan:e}}))},getChargePointTemplateAutolockPlanName(t,e){return this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e]?this.$store.state.mqtt["openWB/chargepoint/template/"+t+"/autolock/"+e].name:"Autolock Zeitplan "+t+"/"+e},getChargePointTemplateAutolockPlans(t){let e=this.getChargePointTemplateIndex(t);return this.getWildcardTopics("openWB/chargepoint/template/"+e+"/autolock/+")},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},Ce={class:"chargePointInstallation"},ye={name:"chargePointInstallationForm"},Pe={key:0},Ve={key:2},Le={key:0},Be={key:0},We={key:1},Ae={key:1},Se={key:0},Ue={key:2},xe={key:4},Ie=["onClick"],Te={key:0},De={key:1},qe={key:2},ze={key:2};function Ee(t,e,m,V,c,u){const k=h("openwb-base-modal-dialog"),_=h("font-awesome-icon"),L=h("openwb-base-avatar"),y=h("openwb-base-text-input"),I=h("openwb-base-select-input"),O=h("openwb-charge-point-proxy"),B=h("openwb-base-heading"),C=h("openwb-base-button-group-input"),U=h("openwb-base-card"),F=h("font-awesome-layers"),T=h("openwb-base-alert"),N=h("openwb-base-array-input"),D=h("openwb-base-range-input"),$=h("openwb-base-number-input"),j=h("openwb-base-submit-buttons");return l(),p(A,null,[a(k,{show:c.showChargePointModal,title:"Ladepunkt löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=i=>u.removeChargePoint(c.modalChargePointIndex,i))},{default:o(()=>[r(' Wollen Sie den Ladepunkt "'+w(u.getChargePointName(c.modalChargePointIndex))+'" (ID: '+w(c.modalChargePointIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateModal,title:"Ladepunkt-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=i=>u.removeChargePointTemplate(c.modalChargePointTemplateIndex,i))},{default:o(()=>[r(' Wollen Sie das Ladepunkt-Profil "'+w(u.getChargePointTemplateName(c.modalChargePointTemplateIndex))+'" (ID: '+w(c.modalChargePointTemplateIndex)+") wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ",1)]),_:1},8,["show"]),a(k,{show:c.showChargePointTemplateAutolockPlanModal,title:"Autolock Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=i=>u.removeChargePointTemplateAutolockPlan(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex,i))},{default:o(()=>[r(' Wollen Sie den Autolock Zeitplan "'+w(u.getChargePointTemplateAutolockPlanName(c.modalChargePointTemplateIndex,c.modalChargePointTemplateAutolockPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),d("div",Ce,[d("form",ye,[a(U,{title:"Ladepunkte",subtype:"primary",collapsible:!0,collapsed:!m.installAssistantActive},{header:o(()=>[a(_,{"fixed-width":"",icon:["fas","charging-station"]}),e[7]||(e[7]=r(" Ladepunkte "))]),default:o(()=>[(l(!0),p(A,null,x(u.installedChargePoints,(i,s)=>(l(),f(U,{key:s,title:i.name+" (ID: "+i.id+")",collapsible:!0,collapsed:!0,subtype:"primary"},{actions:o(n=>[n.collapsed?g("",!0):(l(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":i.name,"onUpdate:modelValue":n=>t.updateState(s,n,"name")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Modul",subtype:"text",disabled:"",readonly:"","model-value":t.$store.state.mqtt[s].type},null,8,["model-value"]),i.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),p("span",Pe,[a(I,{title:"Ladepunkt-Profil",options:u.chargePointTemplateList,"model-value":t.$store.state.mqtt[s].template,"onUpdate:modelValue":n=>t.updateState(s,n,"template")},null,8,["options","model-value","onUpdate:modelValue"])])):g("",!0),t.$store.state.mqtt["openWB/optional/ocpp/config"].active===!0?(l(),f(y,{key:1,title:"OCPP-Chargebox ID","model-value":i.ocpp_chargebox_id,"onUpdate:modelValue":n=>t.updateState(s,n,"ocpp_chargebox_id")},{help:o(()=>[...e[8]||(e[8]=[r(" Bitte geben Sie hier die Chargebox ID ein, die im OCPP-Backend für diesen Ladepunkt verwendet wird. Sollen die Daten dieses Ladepunktes nicht an ein OCPP-Backend übertragen werden, lasse dieses Feld leer. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0),e[14]||(e[14]=d("hr",null,null,-1)),a(O,{"charge-point":i,"onUpdate:configuration":n=>u.updateConfiguration(s,n)},null,8,["charge-point","onUpdate:configuration"]),(i.type!=="internal_openwb"||t.$store.state.mqtt["openWB/general/extern"]===!1)&&i.charging_type!=="DC"?(l(),p("div",Ve,[e[13]||(e[13]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[9]||(e[9]=[r(" Hardware-Optionen ")])]),_:1}),a(C,{title:"automatische Phasenumschaltung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.auto_phase_switch_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"auto_phase_switch_hw")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Control-Pilot-Unterbrechung vorhanden",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.control_pilot_interruption_hw,"onUpdate:modelValue":n=>t.updateState(s,n,"control_pilot_interruption_hw")},{help:o(()=>[...e[10]||(e[10]=[r(' Die Control-Pilot-Leitung ist im Ladekabel integriert und dient der Steuerung der Fahrzeugladung (An/Aus/Stromvorgaben). Bei einigen Fahrzeugen können durch die Regelung erzwungene, längere Ladestopps (z.B. beim PV-Laden) zu unerwünschten "Einschlaf"-Effekten des Fahrzeuges führen. Mit diesem Feature, welches hardwareseitig verbaut sein muss, kann ein Abstecken des Ladesteckers simuliert werden, um ein Aufwecken des Fahrzeuges zu ermöglichen. Die Funktion hängt immer auch vom Fahrzeugtyp ab. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{default:o(()=>[...e[11]||(e[11]=[r(" Elektrischer Anschluss ")])]),_:1}),a(C,{title:"Anzahl angeschlossener Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":i.connected_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"connected_phases")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Phase 1 des Ladekabels",buttons:[{buttonValue:1,text:"EVU L1"},{buttonValue:2,text:"EVU L2"},{buttonValue:3,text:"EVU L3"}],"model-value":i.phase_1,"onUpdate:modelValue":n=>t.updateState(s,n,"phase_1")},{help:o(()=>[...e[12]||(e[12]=[r(" Hier ist anzugeben, an welcher Phase des Hausanschlusses (EVU-Punkt) die Phase 1 dieses Ladepunktes angeschlossen ist. Diese Information wird für das Lastmanagement benötigt, um bei einer Schieflast gezielt einzelne Ladepunkte zu drosseln."),d("br",null,null,-1),r(' Bei mehreren Ladepunkten macht es Sinn, die Phasen der LP rotierend anzuschließen, damit mehrere "nicht-dreiphasig" ladende Fahrzeuge mit optimaler Leistung laden können, bevor das Lastmanagement eingreift.'),d("br",null,null,-1),r(" Es wird vorausgesetzt, dass das Drehfeld innerhalb der Installation gleich bleibt. Wenn z.B. L1 des Ladepunktes auf EVU-L2 liegt, muss L2 des Ladepunktes auf EVU-L3 aufgelegt sein (und L3 des Ladepunktes auf EVU-L1)."),d("br",null,null,-1),r(" Eine Möglichkeit, die zur Ladepunktphase L1 zugehörige EVU-Phase zu ermitteln, ist eine einphasige Ladung zu starten und die Phasenströme am EVU-Zähler zu beobachten. Mit einem zweiphasig ladenden Fahrzeug kann danach auch der Anschluss von L2 ermittelt und so das Drehfeld kontrolliert werden."),d("br",null,null,-1),r(" Im Zweifel bitte das Drehfeld von einer Fachkraft prüfen und korrigieren lassen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):g("",!0)]),_:2},1032,["title"]))),128)),Object.keys(u.installedChargePoints).length>0?(l(),p("hr",Le)):g("",!0),a(I,{title:"Verfügbare Ladepunkte","not-selected":"Bitte auswählen",options:u.getChargePointList(),"model-value":c.chargePointToAdd,"add-button":!0,"onUpdate:modelValue":e[3]||(e[3]=i=>c.chargePointToAdd=i),"onInput:add":u.addChargePoint},{help:o(()=>e[15]||(e[15]=[r(" Bitte einen Ladepunkt auswählen, der der openWB-Regelung hinzugefügt werden soll."),d("br",null,null,-1),d("ul",null,[d("li",null," Interne openWB - wenn diese openWB über einen verbauten Ladepunkt mit Regelcontroller verfügt (z.B. Standard(+), Custom, Duo, Buchse, NICHT Standalone); ansonsten immer anlegen, egal ob diese openWB steuert = primary oder ferngesteuert wird = secondary "),d("li",null," Seconadry openWB - wenn diese openWB (primary) die Fernsteuerung von weiteren openWB (secondary) übernimmt "),d("li",null,"MQTT-Ladepunkt - nur zur Nutzung des openWB-Simulators zugelassen"),d("li",null,"openWB Pro - wenn diese openWB (primary) die Fernsteuerung einer openWB Pro (secondary) übernimmt"),d("li",null," openWB series2 Satellit/Satellit Duo - wenn diese openWB (primary) die Fernsteuerung einer openWB series2 Satellit/Satellit Duo (secondary) übernimmt "),d("li",null," smartWB/EVSE-Wifi - wenn diese openWB (primary) die Fernsteuerung einer smartWB/EVSE-Wifi übernimmt ")],-1)])),_:1},8,["options","model-value","onInput:add"])]),_:1},8,["collapsed"]),e[38]||(e[38]=d("hr",{class:"border-secondary"},null,-1)),a(U,{title:"Ladepunkt-Profile",collapsible:!0,collapsed:!0},{header:o(()=>[a(F,{"fixed-width":"",class:"fa-lg"},{default:o(()=>[a(_,{"fixed-width":"",icon:["far","file"]}),a(_,{"fixed-width":"",icon:["fas","charging-station"],transform:"shrink-8"})]),_:1}),e[16]||(e[16]=r(" Ladepunkt-Profile "))]),actions:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),f(L,{key:0,class:"bg-success clickable",onClick:u.addChargePointTemplate},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):g("",!0)]),default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),p("div",Be,[a(T,{subtype:"info"},{default:o(()=>e[17]||(e[17]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),p("div",We,[(l(!0),p(A,null,x(u.chargePointTemplates,(i,s)=>(l(),f(U,{key:s,title:i.name+" (ID: "+u.getChargePointTemplateIndex(s)+")",collapsible:!0,collapsed:!0},M({default:o(()=>[a(y,{title:"Bezeichnung",subtype:"text","model-value":i.name,disabled:s.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(s,n,"name")},M({_:2},[s.endsWith("/0")?{name:"help",fn:o(()=>[e[18]||(e[18]=r(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),u.dcChargingEnabled===!0?(l(),f(C,{key:0,title:"Typ des Ladeprofils",buttons:[{buttonValue:"AC",text:"AC"},{buttonValue:"DC",text:"DC"}],"model-value":i.charging_type,"onUpdate:modelValue":n=>t.updateState(s,n,"charging_type")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),e[35]||(e[35]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[19]||(e[19]=[r(" Zugangskontrolle ")])]),_:1}),a(C,{title:"Sperre nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":i.disable_after_unplug,"onUpdate:modelValue":n=>t.updateState(s,n,"disable_after_unplug")},{help:o(()=>[...e[20]||(e[20]=[r(" Sperrt den Ladepunkt nach Abstecken eines Fahrzeuges. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!m.installAssistantActive?(l(),p("div",Ae,[i.disable_after_unplug?(l(),f(N,{key:0,title:"Zugeordnete ID-Tags","no-elements-message":"Keine ID-Tags zugeordnet.","model-value":i.valid_tags,"onUpdate:modelValue":n=>t.updateState(s,n,"valid_tags")},{help:o(()=>[...e[21]||(e[21]=[r(" Die hier eingetragenen ID-Tags dienen ausschließlich zum Entsperren des Ladepunktes. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):g("",!0)])):g("",!0),e[36]||(e[36]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[22]||(e[22]=[r(" Angaben zum konfigurierten Ladestrom der openWB ")])]),_:1}),a(T,{subtype:"info"},{default:o(()=>[e[23]||(e[23]=r(" Hier werden die maximalen Ladeströme entsprechend der in dem zugeordneten Ladepunkt genutzten Phasen eingestellt.")),e[24]||(e[24]=d("br",null,null,-1)),e[25]||(e[25]=r(" Generell gilt, dass diese Werte in Übereinstimmung mit der Ausführung des Ladepunktes und des elektrischen Anschlusses bzw. der Absicherung zu wählen sind. ")),i.charging_type==="AC"?(l(),p("span",Se," Bei einer openWB mit 22kW Maximalleistung sind hier jeweils 32A einzustellen. Ist die openWB beispielsweise auf 11kW begrenzt (KfW-Förderung oder die Zuleitung ist mit 16A abgesichert), dann sind hier jeweils 16A einzustellen. ")):g("",!0),e[26]||(e[26]=d("br",null,null,-1)),e[27]||(e[27]=r(" Komplexere Installationen mit mehreren Ladepunkten werden im ")),e[28]||(e[28]=d("a",{href:"https://github.com/openWB/core/wiki/Lastmanagement-und-kaskadierte-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"},"Wiki zum Lastmanagement",-1)),e[29]||(e[29]=r(" beschrieben. "))]),_:2},1024),i.charging_type==="AC"||u.dcChargingEnabled!==!0?(l(),p("div",Ue,[a(D,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":i.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(D,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":i.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(s,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"])])):(l(),f($,{key:3,title:"Maximalleistung",min:22,max:420,step:1,unit:"kW",precision:5,"model-value":t.ac_current2dc_power(i.dc_max_current),"onUpdate:modelValue":n=>t.updateState(s,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])),e[37]||(e[37]=d("hr",null,null,-1)),m.installAssistantActive?g("",!0):(l(),p("div",xe,[e[34]||(e[34]=d("hr",null,null,-1)),a(B,null,{default:o(()=>[...e[30]||(e[30]=[r(" Automatische Sperre ")])]),_:1}),a(C,{title:"Automatische Sperre aktiv",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.autolock.active,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.active")},{help:o(()=>[...e[31]||(e[31]=[r(" Wird die automatische Sperre aktiviert, können Fahrzeugladungen mittels Zeitplan auf gewünschte Zeitbereiche eingeschränkt werden. Dies kann z.B. bei Zugänglichkeiten zu Ladepunkten in öffentlichen oder halb-öffentlichen Bereichen sinnvoll sein. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(C,{title:"Erst nach Ladeende sperren",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":i.autolock.wait_for_charging_end,"onUpdate:modelValue":n=>t.updateState(s,n,"autolock.wait_for_charging_end")},{help:o(()=>[...e[32]||(e[32]=[r(' Wenn ein Zeitplan die automatische Sperre aktiviert, werden alle Ladepunkte direkt gesperrt und laufende Ladevorgänge beendet. Wird hier "Ja" ausgewählt, dann werden laufende Ladevorgänge NICHT beendet und diese Ladepunkte erst nach abgeschlossener Ladung gesperrt. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(B,null,{actions:o(()=>[a(L,{class:"bg-success clickable",onClick:n=>u.addChargePointTemplateAutolockPlan(s,n)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),default:o(()=>[e[33]||(e[33]=r(" Zeitpläne für die automatische Sperre "))]),_:2},1024)])),(l(!0),p(A,null,x(u.getChargePointTemplateAutolockPlans(s),(n,v)=>(l(),f(U,{key:v,title:n.name,collapsible:!0,collapsed:!0},{actions:o(b=>[b.collapsed==!0?(l(),p("span",{key:0,class:ae(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:oe(W=>t.updateState(v,!n.active,"active"),["stop"])},[a(_,{"fixed-width":"",icon:["fas","clock"]}),r(" "+w(n.time[0])+" - "+w(n.time[1])+" ",1),n.frequency.selected=="once"?(l(),p("span",Te,[a(_,{"fixed-width":"",icon:["fas","calendar-day"]}),r(" "+w(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):g("",!0),n.frequency.selected=="daily"?(l(),p("span",De,[a(_,{"fixed-width":"",icon:["fas","calendar-week"]})])):g("",!0),n.frequency.selected=="weekly"?(l(),p("span",qe,[a(_,{"fixed-width":"",icon:["fas","calendar-alt"]})])):g("",!0)],10,Ie)):g("",!0),b.collapsed==!1?(l(),f(L,{key:1,class:"bg-danger clickable",onClick:W=>u.removeChargePointTemplateAutolockPlanModal(s,v,W)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):g("",!0)]),default:o(()=>[a(y,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":b=>t.updateState(v,b,"name")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":b=>t.updateState(v,b,"active")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Sperren um",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":b=>t.updateState(v,b,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(y,{title:"Freigeben um",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":b=>t.updateState(v,b,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(C,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(l(),f(y,{key:0,title:"Sperren ab ...",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="once"?(l(),f(y,{key:1,title:"... bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":b=>t.updateState(v,b,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):g("",!0),n.frequency.selected=="weekly"?(l(),p("div",ze,[(l(!0),p(A,null,x(t.weekdays,(b,W)=>(l(),f(C,{key:W,title:b,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[W],"onUpdate:modelValue":R=>t.updateState(v,R,"frequency.weekly."+W)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):g("",!0)]),_:2},1032,["title"]))),128))]),_:2},[s.endsWith("/0")?void 0:{name:"actions",fn:o(n=>[n.collapsed?g("",!0):(l(),f(L,{key:0,class:"bg-danger clickable",onClick:v=>u.removeChargePointTemplateModal(s,v)},{default:o(()=>[a(_,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(j,{"form-name":"chargePointInstallationForm",onSave:e[4]||(e[4]=i=>t.$emit("save")),onReset:e[5]||(e[5]=i=>t.$emit("reset")),onDefaults:e[6]||(e[6]=i=>t.$emit("defaults"))})])])],64)}const Me=S(ke,[["render",Ee],["__scopeId","data-v-75fe5743"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ChargePointInstallation.vue"]]),je=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"}));export{ie as C,ge as a,Me as b,je as c}; diff --git a/web/settings/assets/Chart-b7c3f024.js b/web/settings/assets/Chart-1566a9bc.js similarity index 97% rename from web/settings/assets/Chart-b7c3f024.js rename to web/settings/assets/Chart-1566a9bc.js index d94ea948dc..41954145bd 100644 --- a/web/settings/assets/Chart-b7c3f024.js +++ b/web/settings/assets/Chart-1566a9bc.js @@ -1 +1 @@ -import{l as L,K as T,W as H,V as O,U as q,a0 as j,a1 as M,F as V}from"./vendor-fortawesome-05d7e447.js";import{C as z}from"./index-3434d31b.js";import{C as P,p as E,a as B,L as K,b as N,B as F,f as J,P as $,c as X,T as Z,i as G,d as U,e as Y,g as Q}from"./vendor-chartjs-888a84c2.js";import{_ as ee,u as p,k as o,l as s,x as A,G as c,E as d,z as m,y as f,N as k,M as x,F as C,B as _}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./vendor-luxon-8ddd27a0.js";L.add(T,H,O,q,j,M);P.register(E,B,K,N,F,J,$,X,Z,G,U);const te={name:"OpenwbChartView",components:{ChartjsLine:Y,FontAwesomeIcon:V},mixins:[z],props:{initialChartRange:{type:String,required:!1,validator:function(e){return["day","month","year"].indexOf(e)!==-1},default:"day"},initialDate:{type:String,required:!1,validator:function(e){return e.match(/^(([0-9]{4})(-[0-9]{2}(-[0-9]{2})?)?)?$/g)},default:""}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/log/daily/#","openWB/log/monthly/#","openWB/log/yearly/#","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentDate:"",chartRange:"day",blockChartInit:!1,chartRequestDate:{day:"",month:"",year:""},datasetTemplates:{"counter-power_average":{label:"Zähler",unit:"kW",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_exported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 255, 105, 0.7)",backgroundColor:"rgba(0, 255, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-power_exported":{label:"PV",unit:"kW",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"inverter-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-energy_exported":{label:"PV",unit:"kWh",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"inverter-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-power_average":{label:"Speicher",unit:"kW",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"battery-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_imported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_exported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-soc":{label:"Speicher SoC",unit:"%",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-power_average":{label:"Ladepunkt",unit:"kW",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"charge-point-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported":{label:"Ladepunkt",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"charge-point-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_grid":{label:"Ladepunkt (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_pv":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_bat":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"ev-soc":{label:"Fahrzeug SoC",unit:"%",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-power_average":{label:"SmartHome",unit:"kW",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_imported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_exported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-power_imported":{label:"Hausverbrauch",unit:"kW",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported":{label:"Hausverbrauch",unit:"kWh",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_grid":{label:"Hausverbrauch (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_pv":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_bat":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}}},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0,callbacks:{label:e=>`${e.dataset.label}: ${e.formattedValue} ${e.dataset.unit}`}},legend:{display:!0},zoom:{pan:{enabled:!0,mode:"x",threshold:5},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"",tooltipFormat:""},display:!0,title:{display:!0,text:""},ticks:{source:"timestamp",font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Leistung [kW]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y2:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Energie [kWh]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y3:{position:"right",type:"linear",display:"auto",suggestedMin:0,suggestedMax:100,title:{font:{size:12},display:!0,text:"SoC [%]"},grid:{display:!1},ticks:{font:{size:12},stepSize:10,maxTicksLimit:11}}}},chartDatasets:{datasets:[]}}},computed:{dateInput(){var e={title:"Datum",type:"date",min:"2018-01-01"};switch(this.chartRange){case"month":e={title:"Monat",type:"month",min:"2018-01"};break;case"year":e={title:"Jahr",type:"year",min:"2018"};break}return e},chartDate:{get(){var e=this.chartRequestDate.year;return this.chartRange!="year"&&(e=e+"-"+this.chartRequestDate.month),this.chartRange=="day"&&(e=e+"-"+this.chartRequestDate.day),e},set(e){let t=e.split("-");this.chartRequestDate.year=t[0],t.length>1?this.chartRequestDate.month=t[1]:this.chartRequestDate.month="",t.length>2?this.chartRequestDate.day=t[2]:this.chartRequestDate.day=""}},chartScaleX(){var e={unit:"minute",tooltipFormat:"DD T",text:"Zeit",maxTicksLimit:24};switch(this.chartRange){case"month":e={unit:"day",tooltipFormat:"DD",text:"Tag",maxTicksLimit:31};break;case"year":e={unit:"month",tooltipFormat:"LLLL yyyy",text:"Monat",maxTicksLimit:12};break}return e},commandData(){var e={date:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day,day:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month,month:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date:this.chartRequestDate.year,year:this.chartRequestDate.year};break}return e},baseTopic(){var e="openWB/log/";switch(this.chartRange){case"day":e=e+"daily/";break;case"month":e=e+"monthly/";break;case"year":e=e+"yearly/";break}return e},chartDataRead(){return this.chartDataObject!=null},chartDataHasEntries(){return this.chartDataObject?this.chartDataObject.length>0:!1},chartTotals(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"totals")){var e=JSON.parse(JSON.stringify(this.$store.state.mqtt[this.baseTopic+this.commandData.date].totals));return delete e.energy_source,Object.keys(e.counter).forEach(t=>{Object.prototype.hasOwnProperty.call(e.counter[t],"grid")&&delete e.counter[t].grid}),Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e[t],"all")&&(Object.keys(e[t]).length<=2&&["bat","pv"].includes(t)?delete e[t].all:e[t]={all:e[t].all,...e[t]})}),e}},chartDataObject(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]){var e=this.$store.state.mqtt[this.baseTopic+this.commandData.date];Object.prototype.hasOwnProperty.call(e,"entries")&&(e=e.entries);var t=JSON.parse(JSON.stringify(e)).map(r=>(r.timestamp=r.timestamp*1e3,r));return t}},chartData(){if(this.chartDataObject){var e=["pv","counter","bat","cp","sh","ev","hc"];const t=this.chartDataObject[this.chartDataObject.length-1];return t&&e.forEach(r=>{Object.prototype.hasOwnProperty.call(t,r)&&(Object.prototype.hasOwnProperty.call(t[r],"all")&&(["bat","pv"].includes(r)&&Object.keys(t[r]).length<=2?delete t[r].all:t[r]={all:t[r].all,...t[r]}),Object.entries(t[r]).forEach(([n,i])=>{Object.keys(i).forEach(a=>{this.initDataset(r,n,a)})}))}),this.chartDatasets}}},watch:{chartRange(){this.init()}},mounted(){this.init()},methods:{handleChartClick(e){if(this.chartRange=="day")return;const t=this.$refs.myChart.chart;if(!t)return;const r=Q(t,e);if(!r.length)return;const{datasetIndex:n,index:i}=r[0],a=this.chartData.datasets[n].data[i].date;var y="",h="";switch(this.chartRange){case"month":y=a.substring(0,4)+"-"+a.substring(4,6)+"-"+a.substring(6),h="day";break;case"year":y=a.substring(0,4)+"-"+a.substring(4,6),h="month";break}this.blockChartInit=!0,this.chartDate=y,this.chartRange=h},getCardSubtype(e){switch(e){case"bat":return"warning";case"counter":return"danger";case"cp":return"primary";case"pv":return"success";case"sh":return"pink";default:return"secondary"}},getCardIcon(e){switch(e){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"pv":return["fas","solar-panel"];case"sh":return["fas","house-signal"];case"hc":return["fas","house"];default:return}},hideDataset(e,t,r){return!!(["bat","pv","cp"].includes(e)&&Object.prototype.hasOwnProperty.call(this.chartTotals[e],"all")&&t!="all"||["grid","bat","pv","cp"].includes(r.split("_").pop()))},getTotalsLabel(e,t=void 0,r=void 0){var n="*test*";if(!t&&!r){switch(e){case"bat":return"Speicher";case"counter":return"Zähler";case"pv":return"Wechselrichter";case"cp":return"Ladepunkte";case"sh":return"SmartHome-Geräte";case"hc":return"Hausverbrauch";default:console.warn("unknown group key:",e)}return"*"+e+"*"}if(t&&!r){if(t=="all")return"Summe";if(Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names"))return this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]}if(t&&r){switch(e){case"bat":case"cp":switch(r){case"imported":case"energy_imported":return"Ladung";case"exported":case"energy_exported":return"Entladung";case"energy_imported_grid":return"Ladung (Netz-Anteil)";case"energy_imported_pv":return"Ladung (PV-Anteil)";case"energy_imported_bat":return"Ladung (Speicher-Anteil)";case"energy_imported_cp":return"Ladung (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;case"counter":switch(r){case"imported":case"energy_imported":return"Bezug/Verbrauch";case"exported":case"energy_exported":return"Einspeisung/Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"pv":switch(r){case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"sh":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"hc":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"energy_imported_grid":return"Verbrauch (Netz-Anteil)";case"energy_imported_pv":return"Verbrauch (PV-Anteil)";case"energy_imported_bat":return"Verbrauch (Speicher-Anteil)";case"energy_imported_cp":return"Verbrauch (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;default:console.warn("unknown group key:",e)}return"*"+e+"+"+t+"+"+r+"*"}return n},getDatasetLabel(e,t,r,n){var i=["*"+n],a=[];if(t=="all")switch(e!=="hc"&&a.push("Summe"),e){case"pv":i=["PV"];break;case"bat":switch(i=["Speicher"],r){case"soc":i.push("SoC");break}break;case"cp":i=["Ladepunkte"];break;case"hc":i=["Hausverbrauch"]}else Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names")&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date].names,t)&&(i=[this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]]);switch(e){case"bat":case"ev":case"cp":switch(r){case"soc":a.push("SoC");break;case"energy_imported":a.push("Ladung");break;case"energy_exported":a.push("Entladung");break;case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break;case"counter":switch(r){case"energy_imported":a.push("Bezug/Verbrauch");break;case"energy_exported":a.push("Einspeisung/Erzeugung");break}break;case"sh":switch(r){case"energy_imported":a.push("Verbrauch");break;case"energy_exported":a.push("Erzeugung");break}break;case"hc":switch(r){case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break}return`${i.join(" ")}${a.length?" ("+a.join(", ")+")":""}`},getDatasetIndex(e){let t=this.chartDatasets.datasets.findIndex(r=>r.jsonKey==e);if(t!=-1)return t},addDataset(e,t,r,n){if(!(Object.prototype.hasOwnProperty.call(this.chartTotals,e)&&!Object.prototype.hasOwnProperty.call(this.chartTotals[e],t))){var i=e+"-"+r;if(this.datasetTemplates[i]){var a=JSON.parse(JSON.stringify(this.datasetTemplates[i]));return a.parsing.yAxisKey=n,a.jsonKey=n,a.data=this.chartDataObject,a.label=this.getDatasetLabel(e,t,r,n),a.labelSuffix!=null&&(a.label=a.label+a.labelSuffix),a.hidden=this.hideDataset(e,t,r),t=="all"&&(["grid","pv","bat","cp"].includes(r.split("_").slice(-1)[0])||delete a.stack),this.chartDatasets.datasets.push(a)-1}else console.warn("no matching template found for: "+n+" with template: "+i)}},initDataset(e,t,r){var n=[];this.chartRange=="day"?n={counter:["power_average"],pv:["power_exported"],bat:["power_average","soc"],cp:["power_average"],sh:["power_average"],ev:["soc"],hc:["power_imported"]}:n={counter:["energy_imported","energy_exported"],pv:["energy_exported"],bat:["energy_imported","energy_exported"],cp:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"],sh:["energy_imported","energy_exported"],ev:[],hc:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"]};const i=e+"."+t+"."+r;if(n[e].includes(r)){var a=this.getDatasetIndex(i);a==null&&(a=this.addDataset(e,t,r,i))}else console.debug("skipping dataset:",i)},setupScaleX(){this.chartOptions.scales.x.time.unit=this.chartScaleX.unit,this.chartOptions.scales.x.time.tooltipFormat=this.chartScaleX.tooltipFormat,this.chartOptions.scales.x.title.text=this.chartScaleX.text,this.chartOptions.scales.x.ticks.maxTicksLimit=this.chartScaleX.maxTicksLimit},requestChart(){if(document.forms.chartForm.reportValidity()){this.setupScaleX(),this.chartDatasets.datasets=[];var t="";switch(this.chartRange){case"day":t="getDailyLog";break;case"month":t="getMonthlyLog";break;case"year":t="getYearlyLog";break}this.$emit("sendCommand",{command:t,data:this.commandData})}else{console.warn("form invalid");return}},clearChartData(){this.getWildcardIndexList(this.baseTopic+"+").forEach(e=>{this.$store.commit("removeTopic",`${this.baseTopic}${e}`)})},updateChart(){this.clearChartData(),this.requestChart()},init(){const e=new Date;this.currentDate=String(e.getFullYear()),this.chartRange!="year"&&(this.currentDate=this.currentDate+"-"+String(e.getMonth()+1).padStart(2,"0")),this.chartRange=="day"&&(this.currentDate=this.currentDate+"-"+String(e.getDate()).padStart(2,"0")),this.blockChartInit?this.blockChartInit=!1:this.initialDate==null||this.initialDate==""?this.chartDate=this.currentDate:this.chartDate=this.initialDate,this.updateChart()}}},ae={class:"chart"},re={name:"chartForm"},ie={key:1},ne={key:1},oe={class:"openwb-chart"},se={key:1};function le(e,t,r,n,i,a){const y=p("openwb-base-select-input"),h=p("openwb-base-text-input"),b=p("openwb-base-card"),v=p("openwb-base-alert"),R=p("chartjs-line"),w=p("font-awesome-icon"),S=p("openwb-base-heading");return o(),s("div",ae,[A("form",re,[c(b,{title:"Filter",collapsible:!0,collapsed:!1},{default:d(()=>[c(y,{modelValue:i.chartRange,"onUpdate:modelValue":t[0]||(t[0]=u=>i.chartRange=u),title:"Zeitraum",options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),c(h,{modelValue:a.chartDate,"onUpdate:modelValue":[t[1]||(t[1]=u=>a.chartDate=u),t[2]||(t[2]=u=>a.updateChart())],title:a.dateInput.title,subtype:a.dateInput.type,min:a.dateInput.min,max:i.currentDate,"show-quick-buttons":!0},null,8,["modelValue","title","subtype","min","max"])]),_:1}),a.chartDataRead?(o(),s("div",ie,[a.chartDataHasEntries?(o(),s("div",ne,[c(b,{title:"Diagramm",collapsible:!0,collapsed:!1},{default:d(()=>[A("div",oe,[c(R,{ref:"myChart",data:a.chartData,options:i.chartOptions,onClick:a.handleChartClick},null,8,["data","options","onClick"])])]),_:1}),c(b,{title:"Summen",collapsible:!0,collapsed:!0},{default:d(()=>[(o(!0),s(k,null,x(a.chartTotals,(u,l)=>(o(),s("div",{key:l},[Object.keys(u).length>0?(o(),m(b,{key:0,collapsible:!0,collapsed:!0,subtype:a.getCardSubtype(l)},{header:d(()=>[c(w,{"fixed-width":"",icon:a.getCardIcon(l)},null,8,["icon"]),f(" "+C(a.getTotalsLabel(l)),1)]),default:d(()=>[(o(!0),s(k,null,x(u,(I,g)=>(o(),s("div",{key:g},[l!=="hc"?(o(),m(S,{key:0},{default:d(()=>[f(C(a.getTotalsLabel(l,g)),1)]),_:2},1024)):_("",!0),(o(!0),s(k,null,x(I,(W,D)=>(o(),s("div",{key:D},[c(h,{title:a.getTotalsLabel(l,g,D),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(W/1e3,3)},null,8,["title","model-value"])]))),128)),g=="all"&&l!="hc"?(o(),s("hr",se)):_("",!0)]))),128))]),_:2},1032,["subtype"])):_("",!0)]))),128))]),_:1})])):(o(),m(v,{key:0,subtype:"info"},{default:d(()=>t[4]||(t[4]=[f(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ")])),_:1}))])):(o(),m(v,{key:0,subtype:"info"},{default:d(()=>t[3]||(t[3]=[f(" Es wurden noch keine Daten abgerufen. ")])),_:1}))])])}const fe=ee(te,[["render",le],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{fe as default}; +import{l as L,K as T,W as H,V as O,U as q,a0 as j,a1 as M,F as V}from"./vendor-fortawesome-231ff303.js";import{C as z}from"./index-6ffbdc7e.js";import{C as P,p as E,a as B,L as K,b as N,B as F,f as J,P as $,c as X,T as Z,i as G,d as U,e as Y,g as Q}from"./vendor-chartjs-53af3b3a.js";import{_ as ee,u as p,l as o,m as s,x as A,G as c,E as d,z as m,y as f,N as x,M as k,F as C,B as _}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-luxon-8ddd27a0.js";L.add(T,H,O,q,j,M);P.register(E,B,K,N,F,J,$,X,Z,G,U);const te={name:"OpenwbChartView",components:{ChartjsLine:Y,FontAwesomeIcon:V},mixins:[z],props:{initialChartRange:{type:String,required:!1,validator:function(e){return["day","month","year"].indexOf(e)!==-1},default:"day"},initialDate:{type:String,required:!1,validator:function(e){return e.match(/^(([0-9]{4})(-[0-9]{2}(-[0-9]{2})?)?)?$/g)},default:""}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/log/daily/#","openWB/log/monthly/#","openWB/log/yearly/#","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/vehicle/+/name"],currentDate:"",chartRange:"day",blockChartInit:!1,chartRequestDate:{day:"",month:"",year:""},datasetTemplates:{"counter-power_average":{label:"Zähler",unit:"kW",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_imported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"counter-energy_exported":{label:"Zähler",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 255, 105, 0.7)",backgroundColor:"rgba(0, 255, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-power_exported":{label:"PV",unit:"kW",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"inverter-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"pv-energy_exported":{label:"PV",unit:"kWh",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(10, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"inverter-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-power_average":{label:"Speicher",unit:"kW",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"battery-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_imported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-energy_exported":{label:"Speicher",unit:"kWh",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"battery-exported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"bat-soc":{label:"Speicher SoC",unit:"%",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(200, 255, 13, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-power_average":{label:"Ladepunkt",unit:"kW",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",stack:"charge-point-power",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported":{label:"Ladepunkt",unit:"kWh",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",stack:"charge-point-imported",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_grid":{label:"Ladepunkt (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_pv":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"cp-energy_imported_bat":{label:"Ladepunkt (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"charge-point-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"ev-soc":{label:"Fahrzeug SoC",unit:"%",jsonKey:null,borderColor:"rgba(0, 0, 255, 0.7)",backgroundColor:"rgba(0, 0, 255, 0.3)",borderDash:[10,5],hidden:!0,fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",borderWidth:2,data:null,yAxisID:"y3",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-power_average":{label:"SmartHome",unit:"kW",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_imported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"sh-energy_exported":{label:"SmartHome",unit:"kWh",jsonKey:null,borderColor:"rgba(232, 62, 140, 0.7)",backgroundColor:"rgba(232, 72, 150, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-power_imported":{label:"Hausverbrauch",unit:"kW",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported":{label:"Hausverbrauch",unit:"kWh",jsonKey:null,borderColor:"rgba(120, 122, 124, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:1,data:null,yAxisID:"y2",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_grid":{label:"Hausverbrauch (Netzanteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_pv":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(40, 167, 69, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}},"hc-energy_imported_bat":{label:"Hausverbrauch (PV-Anteil)",unit:"kWh",type:"bar",jsonKey:null,borderColor:"rgba(253, 126, 20, 0.7)",backgroundColor:"rgba(120, 122, 124, 0.3)",fill:!0,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!0,borderWidth:3,data:null,yAxisID:"y2",stack:"hc-energy-imported-source",parsing:{xAxisKey:"timestamp",yAxisKey:null}}},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0,callbacks:{label:e=>`${e.dataset.label}: ${e.formattedValue} ${e.dataset.unit}`}},legend:{display:!0},zoom:{pan:{enabled:!0,mode:"x",threshold:5},zoom:{wheel:{enabled:!0},pinch:{enabled:!0},mode:"x"}}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"",tooltipFormat:""},display:!0,title:{display:!0,text:""},ticks:{source:"timestamp",font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Leistung [kW]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y2:{position:"left",type:"linear",display:"auto",suggestedMin:0,suggestedMax:0,title:{font:{size:12},display:!0,text:"Energie [kWh]"},grid:{},ticks:{font:{size:12},stepSize:.2,maxTicksLimit:11}},y3:{position:"right",type:"linear",display:"auto",suggestedMin:0,suggestedMax:100,title:{font:{size:12},display:!0,text:"SoC [%]"},grid:{display:!1},ticks:{font:{size:12},stepSize:10,maxTicksLimit:11}}}},chartDatasets:{datasets:[]}}},computed:{dateInput(){var e={title:"Datum",type:"date",min:"2018-01-01"};switch(this.chartRange){case"month":e={title:"Monat",type:"month",min:"2018-01"};break;case"year":e={title:"Jahr",type:"year",min:"2018"};break}return e},chartDate:{get(){var e=this.chartRequestDate.year;return this.chartRange!="year"&&(e=e+"-"+this.chartRequestDate.month),this.chartRange=="day"&&(e=e+"-"+this.chartRequestDate.day),e},set(e){let t=e.split("-");this.chartRequestDate.year=t[0],t.length>1?this.chartRequestDate.month=t[1]:this.chartRequestDate.month="",t.length>2?this.chartRequestDate.day=t[2]:this.chartRequestDate.day=""}},chartScaleX(){var e={unit:"minute",tooltipFormat:"DD T",text:"Zeit",maxTicksLimit:24};switch(this.chartRange){case"month":e={unit:"day",tooltipFormat:"DD",text:"Tag",maxTicksLimit:31};break;case"year":e={unit:"month",tooltipFormat:"LLLL yyyy",text:"Monat",maxTicksLimit:12};break}return e},commandData(){var e={date:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day,day:this.chartRequestDate.year+this.chartRequestDate.month+this.chartRequestDate.day};switch(this.chartRange){case"month":e={date:this.chartRequestDate.year+this.chartRequestDate.month,month:this.chartRequestDate.year+this.chartRequestDate.month};break;case"year":e={date:this.chartRequestDate.year,year:this.chartRequestDate.year};break}return e},baseTopic(){var e="openWB/log/";switch(this.chartRange){case"day":e=e+"daily/";break;case"month":e=e+"monthly/";break;case"year":e=e+"yearly/";break}return e},chartDataRead(){return this.chartDataObject!=null},chartDataHasEntries(){return this.chartDataObject?this.chartDataObject.length>0:!1},chartTotals(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"totals")){var e=JSON.parse(JSON.stringify(this.$store.state.mqtt[this.baseTopic+this.commandData.date].totals));return delete e.energy_source,Object.keys(e.counter).forEach(t=>{Object.prototype.hasOwnProperty.call(e.counter[t],"grid")&&delete e.counter[t].grid}),Object.keys(e).forEach(t=>{Object.prototype.hasOwnProperty.call(e[t],"all")&&(Object.keys(e[t]).length<=2&&["bat","pv"].includes(t)?delete e[t].all:e[t]={all:e[t].all,...e[t]})}),e}},chartDataObject(){if(this.$store.state.mqtt[this.baseTopic+this.commandData.date]){var e=this.$store.state.mqtt[this.baseTopic+this.commandData.date];Object.prototype.hasOwnProperty.call(e,"entries")&&(e=e.entries);var t=JSON.parse(JSON.stringify(e)).map(r=>(r.timestamp=r.timestamp*1e3,r));return t}},chartData(){if(this.chartDataObject){var e=["pv","counter","bat","cp","sh","ev","hc"];const t=this.chartDataObject[this.chartDataObject.length-1];return t&&e.forEach(r=>{Object.prototype.hasOwnProperty.call(t,r)&&(Object.prototype.hasOwnProperty.call(t[r],"all")&&(["bat","pv"].includes(r)&&Object.keys(t[r]).length<=2?delete t[r].all:t[r]={all:t[r].all,...t[r]}),Object.entries(t[r]).forEach(([n,i])=>{Object.keys(i).forEach(a=>{this.initDataset(r,n,a)})}))}),this.chartDatasets}}},watch:{chartRange(){this.init()}},mounted(){this.init()},methods:{handleChartClick(e){if(this.chartRange=="day")return;const t=this.$refs.myChart.chart;if(!t)return;const r=Q(t,e);if(!r.length)return;const{datasetIndex:n,index:i}=r[0],a=this.chartData.datasets[n].data[i].date;var y="",h="";switch(this.chartRange){case"month":y=a.substring(0,4)+"-"+a.substring(4,6)+"-"+a.substring(6),h="day";break;case"year":y=a.substring(0,4)+"-"+a.substring(4,6),h="month";break}this.blockChartInit=!0,this.chartDate=y,this.chartRange=h},getCardSubtype(e){switch(e){case"bat":return"warning";case"counter":return"danger";case"cp":return"primary";case"pv":return"success";case"sh":return"pink";default:return"secondary"}},getCardIcon(e){switch(e){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"pv":return["fas","solar-panel"];case"sh":return["fas","house-signal"];case"hc":return["fas","house"];default:return}},hideDataset(e,t,r){return!!(["bat","pv","cp"].includes(e)&&Object.prototype.hasOwnProperty.call(this.chartTotals[e],"all")&&t!="all"||["grid","bat","pv","cp"].includes(r.split("_").pop()))},getTotalsLabel(e,t=void 0,r=void 0){var n="*test*";if(!t&&!r){switch(e){case"bat":return"Speicher";case"counter":return"Zähler";case"pv":return"Wechselrichter";case"cp":return"Ladepunkte";case"sh":return"SmartHome-Geräte";case"hc":return"Hausverbrauch";default:console.warn("unknown group key:",e)}return"*"+e+"*"}if(t&&!r){if(t=="all")return"Summe";if(Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names"))return this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]}if(t&&r){switch(e){case"bat":case"cp":switch(r){case"imported":case"energy_imported":return"Ladung";case"exported":case"energy_exported":return"Entladung";case"energy_imported_grid":return"Ladung (Netz-Anteil)";case"energy_imported_pv":return"Ladung (PV-Anteil)";case"energy_imported_bat":return"Ladung (Speicher-Anteil)";case"energy_imported_cp":return"Ladung (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;case"counter":switch(r){case"imported":case"energy_imported":return"Bezug/Verbrauch";case"exported":case"energy_exported":return"Einspeisung/Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"pv":switch(r){case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"sh":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"exported":case"energy_exported":return"Erzeugung";default:console.warn("unknown measurement key:",e,r)}break;case"hc":switch(r){case"imported":case"energy_imported":return"Verbrauch";case"energy_imported_grid":return"Verbrauch (Netz-Anteil)";case"energy_imported_pv":return"Verbrauch (PV-Anteil)";case"energy_imported_bat":return"Verbrauch (Speicher-Anteil)";case"energy_imported_cp":return"Verbrauch (Ladepunkt-Anteil)";default:console.warn("unknown measurement key:",e,r)}break;default:console.warn("unknown group key:",e)}return"*"+e+"+"+t+"+"+r+"*"}return n},getDatasetLabel(e,t,r,n){var i=["*"+n],a=[];if(t=="all")switch(e!=="hc"&&a.push("Summe"),e){case"pv":i=["PV"];break;case"bat":switch(i=["Speicher"],r){case"soc":i.push("SoC");break}break;case"cp":i=["Ladepunkte"];break;case"hc":i=["Hausverbrauch"]}else Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date],"names")&&Object.prototype.hasOwnProperty.call(this.$store.state.mqtt[this.baseTopic+this.commandData.date].names,t)&&(i=[this.$store.state.mqtt[this.baseTopic+this.commandData.date].names[t]]);switch(e){case"bat":case"ev":case"cp":switch(r){case"soc":a.push("SoC");break;case"energy_imported":a.push("Ladung");break;case"energy_exported":a.push("Entladung");break;case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break;case"counter":switch(r){case"energy_imported":a.push("Bezug/Verbrauch");break;case"energy_exported":a.push("Einspeisung/Erzeugung");break}break;case"sh":switch(r){case"energy_imported":a.push("Verbrauch");break;case"energy_exported":a.push("Erzeugung");break}break;case"hc":switch(r){case"energy_imported_grid":a.push("Netz-Anteil");break;case"energy_imported_pv":a.push("PV-Anteil");break;case"energy_imported_bat":a.push("Speicher-Anteil");break;case"energy_imported_cp":a.push("Ladepunkt-Anteil");break}break}return`${i.join(" ")}${a.length?" ("+a.join(", ")+")":""}`},getDatasetIndex(e){let t=this.chartDatasets.datasets.findIndex(r=>r.jsonKey==e);if(t!=-1)return t},addDataset(e,t,r,n){if(!(Object.prototype.hasOwnProperty.call(this.chartTotals,e)&&!Object.prototype.hasOwnProperty.call(this.chartTotals[e],t))){var i=e+"-"+r;if(this.datasetTemplates[i]){var a=JSON.parse(JSON.stringify(this.datasetTemplates[i]));return a.parsing.yAxisKey=n,a.jsonKey=n,a.data=this.chartDataObject,a.label=this.getDatasetLabel(e,t,r,n),a.labelSuffix!=null&&(a.label=a.label+a.labelSuffix),a.hidden=this.hideDataset(e,t,r),t=="all"&&(["grid","pv","bat","cp"].includes(r.split("_").slice(-1)[0])||delete a.stack),this.chartDatasets.datasets.push(a)-1}else console.warn("no matching template found for: "+n+" with template: "+i)}},initDataset(e,t,r){var n=[];this.chartRange=="day"?n={counter:["power_average"],pv:["power_exported"],bat:["power_average","soc"],cp:["power_average"],sh:["power_average"],ev:["soc"],hc:["power_imported"]}:n={counter:["energy_imported","energy_exported"],pv:["energy_exported"],bat:["energy_imported","energy_exported"],cp:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"],sh:["energy_imported","energy_exported"],ev:[],hc:["energy_imported","energy_imported_grid","energy_imported_pv","energy_imported_bat"]};const i=e+"."+t+"."+r;if(n[e].includes(r)){var a=this.getDatasetIndex(i);a==null&&(a=this.addDataset(e,t,r,i))}else console.debug("skipping dataset:",i)},setupScaleX(){this.chartOptions.scales.x.time.unit=this.chartScaleX.unit,this.chartOptions.scales.x.time.tooltipFormat=this.chartScaleX.tooltipFormat,this.chartOptions.scales.x.title.text=this.chartScaleX.text,this.chartOptions.scales.x.ticks.maxTicksLimit=this.chartScaleX.maxTicksLimit},requestChart(){if(document.forms.chartForm.reportValidity()){this.setupScaleX(),this.chartDatasets.datasets=[];var t="";switch(this.chartRange){case"day":t="getDailyLog";break;case"month":t="getMonthlyLog";break;case"year":t="getYearlyLog";break}this.$emit("sendCommand",{command:t,data:this.commandData})}else{console.warn("form invalid");return}},clearChartData(){this.getWildcardIndexList(this.baseTopic+"+").forEach(e=>{this.$store.commit("removeTopic",`${this.baseTopic}${e}`)})},updateChart(){this.clearChartData(),this.requestChart()},init(){const e=new Date;this.currentDate=String(e.getFullYear()),this.chartRange!="year"&&(this.currentDate=this.currentDate+"-"+String(e.getMonth()+1).padStart(2,"0")),this.chartRange=="day"&&(this.currentDate=this.currentDate+"-"+String(e.getDate()).padStart(2,"0")),this.blockChartInit?this.blockChartInit=!1:this.initialDate==null||this.initialDate==""?this.chartDate=this.currentDate:this.chartDate=this.initialDate,this.updateChart()}}},ae={class:"chart"},re={name:"chartForm"},ie={key:1},ne={key:1},oe={class:"openwb-chart"},se={key:1};function le(e,t,r,n,i,a){const y=p("openwb-base-select-input"),h=p("openwb-base-text-input"),b=p("openwb-base-card"),v=p("openwb-base-alert"),R=p("chartjs-line"),w=p("font-awesome-icon"),S=p("openwb-base-heading");return o(),s("div",ae,[A("form",re,[c(b,{title:"Filter",collapsible:!0,collapsed:!1},{default:d(()=>[c(y,{modelValue:i.chartRange,"onUpdate:modelValue":t[0]||(t[0]=u=>i.chartRange=u),title:"Zeitraum",options:[{value:"day",text:"Tag"},{value:"month",text:"Monat"},{value:"year",text:"Jahr"}]},null,8,["modelValue"]),c(h,{modelValue:a.chartDate,"onUpdate:modelValue":[t[1]||(t[1]=u=>a.chartDate=u),t[2]||(t[2]=u=>a.updateChart())],title:a.dateInput.title,subtype:a.dateInput.type,min:a.dateInput.min,max:i.currentDate,"show-quick-buttons":!0},null,8,["modelValue","title","subtype","min","max"])]),_:1}),a.chartDataRead?(o(),s("div",ie,[a.chartDataHasEntries?(o(),s("div",ne,[c(b,{title:"Diagramm",collapsible:!0,collapsed:!1},{default:d(()=>[A("div",oe,[c(R,{ref:"myChart",data:a.chartData,options:i.chartOptions,onClick:a.handleChartClick},null,8,["data","options","onClick"])])]),_:1}),c(b,{title:"Summen",collapsible:!0,collapsed:!0},{default:d(()=>[(o(!0),s(x,null,k(a.chartTotals,(u,l)=>(o(),s("div",{key:l},[Object.keys(u).length>0?(o(),m(b,{key:0,collapsible:!0,collapsed:!0,subtype:a.getCardSubtype(l)},{header:d(()=>[c(w,{"fixed-width":"",icon:a.getCardIcon(l)},null,8,["icon"]),f(" "+C(a.getTotalsLabel(l)),1)]),default:d(()=>[(o(!0),s(x,null,k(u,(I,g)=>(o(),s("div",{key:g},[l!=="hc"?(o(),m(S,{key:0},{default:d(()=>[f(C(a.getTotalsLabel(l,g)),1)]),_:2},1024)):_("",!0),(o(!0),s(x,null,k(I,(W,D)=>(o(),s("div",{key:D},[c(h,{title:a.getTotalsLabel(l,g,D),readonly:"",class:"text-right",unit:"kWh","model-value":e.formatNumber(W/1e3,3)},null,8,["title","model-value"])]))),128)),g=="all"&&l!="hc"?(o(),s("hr",se)):_("",!0)]))),128))]),_:2},1032,["subtype"])):_("",!0)]))),128))]),_:1})])):(o(),m(v,{key:0,subtype:"info"},{default:d(()=>t[4]||(t[4]=[f(" Es konnten keine Daten für diesen Zeitraum gefunden werden. ")])),_:1}))])):(o(),m(v,{key:0,subtype:"info"},{default:d(()=>t[3]||(t[3]=[f(" Es wurden noch keine Daten abgerufen. ")])),_:1}))])])}const fe=ee(te,[["render",le],["__scopeId","data-v-e00a7cd5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Chart.vue"]]);export{fe as default}; diff --git a/web/settings/assets/CloudConfig-a98f3c60.js b/web/settings/assets/CloudConfig-a98f3c60.js deleted file mode 100644 index a8dcc92d4f..0000000000 --- a/web/settings/assets/CloudConfig-a98f3c60.js +++ /dev/null @@ -1 +0,0 @@ -import{l as P,a6 as z,F as S}from"./vendor-fortawesome-05d7e447.js";import{C as Z}from"./index-3434d31b.js";import{_ as I,u as d,k as l,l as w,G as r,E as t,x as m,z as p,B as i,D,N as x,y as u,q as V}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";P.add(z);const M={name:"OpenwbCloudConfigView",components:{FontAwesomeIcon:S},mixins:[Z],emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/mqtt/bridge/+","openWB/system/mqtt/valid_partner_ids"],enableNewCloudButton:!0,newCloudData:{email:"",username:"",partner:!1},enableCloudConnectButton:!0,connectCloudData:{username:"",password:"",partner:!1},enableRemoveCloudButton:!0,showCloudRemoveModal:!1}},computed:{cloudBridge:{get(){let o=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,k]of Object.entries(o))k.remote.is_openwb_cloud||delete o[e];return o}},cloudBridgeKey:{get(){for(const[o,e]of Object.entries(this.cloudBridge))if(e.remote.is_openwb_cloud)return o}},cloudSettings:{get(){return{username:this.cloudBridge[this.cloudBridgeKey].remote.username,password:this.cloudBridge[this.cloudBridgeKey].remote.password,partner:this.cloudBridge[this.cloudBridgeKey].access?this.cloudBridge[this.cloudBridgeKey].access.partner:!1}}}},methods:{getMqttBridgeIndex(o){return parseInt(o.match(/(?:\/)(\d+)$/)[1])},createCloud(){document.forms.cloudConfigCreateForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"initCloud",data:this.newCloudData}),this.enableNewCloudButton=!1)},connectCloud(){document.forms.cloudConfigConnectForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"connectCloud",data:this.connectCloudData}),this.enableCloudConnectButton=!1)},removeCloudModal(o){o.stopPropagation(),this.showCloudRemoveModal=!0},removeCloud(o){this.showCloudRemoveModal=!1,o=="confirm"&&(console.info("request removal of cloud"),this.updateState("openWB/system/mqtt/valid_partner_ids",[]),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:this.getMqttBridgeIndex(this.cloudBridgeKey)}}),this.enableCloudConnectButton=!0)}}},h={class:"cloud-config"},K={key:1},U={key:1,name:"cloudConfigCreateForm"},N={class:"row justify-content-center"},R={key:2,name:"cloudConfigConnectForm"},A={class:"row justify-content-center"},F={key:3,name:"cloudConfigured"},j={class:"row justify-content-center"};function G(o,e,k,T,s,a){const W=d("openwb-base-modal-dialog"),c=d("router-link"),g=d("openwb-base-alert"),b=d("openwb-base-text-input"),C=d("openwb-base-button-group-input"),f=d("font-awesome-icon"),B=d("openwb-base-array-input"),y=d("openwb-base-click-button"),v=d("openwb-base-card"),_=d("openwb-base-heading"),q=d("openwb-base-submit-buttons");return l(),w(x,null,[r(W,{show:s.showCloudRemoveModal,title:"Cloud Zugang löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=n=>a.removeCloud(n))},{default:t(()=>e[17]||(e[17]=[u(" Willst Du den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ")])),_:1},8,["show"]),m("div",h,[o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(l(),p(g,{key:0,subtype:"danger"},{default:t(()=>[e[19]||(e[19]=u(" Du musst der ")),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[18]||(e[18]=[u(" Datenschutzerklärung ")])),_:1}),e[20]||(e[20]=u(" zustimmen, um die openWB Cloud nutzen zu können. "))]),_:1})):(l(),w("div",K,[r(g,{subtype:"success"},{default:t(()=>[e[22]||(e[22]=u(" Du hast der ")),r(c,{to:"/System/LegalSettings"},{default:t(()=>e[21]||(e[21]=[u(" Datenschutzerklärung ")])),_:1}),e[23]||(e[23]=u(" zugestimmt und kannst die openWB Cloud nutzen. "))]),_:1}),s.enableRemoveCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[24]||(e[24]=[u(" Der Zugang wurde entfernt. Bitte starte die openWB neu, um die Änderungen anzuwenden! ")])),_:1})),a.cloudBridgeKey?i("",!0):(l(),w("form",U,[r(v,{title:"Neuen Zugang erstellen"},D({default:t(()=>[r(g,{subtype:"warning"},{default:t(()=>e[25]||(e[25]=[u(" Derzeit können keine neuen Zugänge für die openWB Cloud angelegt werden. Bitte nutze die in/an der openWB notierten Zugangsdaten im unteren Bereich dieser Seite. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreibe bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an "),m("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de ",-1),u(" . ")])),_:1}),r(b,{modelValue:s.newCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=n=>s.newCloudData.username=n),title:"Benutzername",required:"",subtype:"user",pattern:"[a-zA-Z]+",disabled:""},null,8,["modelValue"]),r(b,{modelValue:s.newCloudData.email,"onUpdate:modelValue":e[2]||(e[2]=n=>s.newCloudData.email=n),title:"E-Mail",required:"",subtype:"email",disabled:""},null,8,["modelValue"]),r(C,{modelValue:s.newCloudData.partner,"onUpdate:modelValue":e[3]||(e[3]=n=>s.newCloudData.partner=n),disabled:"",title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[26]||(e[26]=[u(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["modelValue"]),s.newCloudData.partner?(l(),p(B,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[27]||(e[27]=[u(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:2},[o.$store.state.mqtt["openWB/general/extern"]===!1&&o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",N,[r(y,{class:"col-4 btn-outline-success",disabled:""},{default:t(()=>e[28]||(e[28]=[u(" Zugang erstellen ")])),_:1})])]),key:"0"}:void 0]),1024),s.enableNewCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"info",class:"mb-2"},{default:t(()=>e[29]||(e[29]=[u(" Der neue Zugang wird eingerichtet. Dieser Vorgang kann bis zu einer Minute dauern. Bitte warten. ")])),_:1}))])),a.cloudBridgeKey?i("",!0):(l(),w("form",R,[r(v,{title:"Vorhandenen Zugang einrichten"},D({default:t(()=>[r(b,{modelValue:s.connectCloudData.username,"onUpdate:modelValue":e[5]||(e[5]=n=>s.connectCloudData.username=n),title:"Benutzername",required:"",subtype:"user"},null,8,["modelValue"]),r(b,{modelValue:s.connectCloudData.password,"onUpdate:modelValue":e[6]||(e[6]=n=>s.connectCloudData.password=n),title:"Passwort",required:"",subtype:"password"},null,8,["modelValue"]),r(C,{modelValue:s.connectCloudData.partner,"onUpdate:modelValue":e[7]||(e[7]=n=>s.connectCloudData.partner=n),title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[30]||(e[30]=[u(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["modelValue"]),s.connectCloudData.partner?(l(),p(B,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[8]||(e[8]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[31]||(e[31]=[u(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:2},[o.$store.state.mqtt["openWB/general/extern"]===!1&&o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",A,[r(y,{class:V(["col-4",s.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!s.enableCloudConnectButton,onButtonClicked:a.connectCloud},{default:t(()=>e[32]||(e[32]=[u(" Mit Cloud verbinden ")])),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),a.cloudBridgeKey?(l(),w("form",F,[!s.enableCloudConnectButton||!s.enableNewCloudButton?(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[33]||(e[33]=[u(" Der Zugang wurde eingerichtet. Bitte starte die die openWB neu, um die Änderungen anzuwenden! ")])),_:1})):i("",!0),r(v,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[m("div",j,[r(y,{class:V(["col-4",s.enableRemoveCloudButton?"btn-danger":"btn-outline-danger"]),disabled:!s.enableRemoveCloudButton,onButtonClicked:e[13]||(e[13]=n=>a.removeCloudModal(n))},{default:t(()=>e[37]||(e[37]=[u(" Zugang löschen ")])),_:1},8,["class","disabled"])])]),default:t(()=>[r(_,null,{default:t(()=>e[34]||(e[34]=[m("span",null,[u(" Mit diesen Zugangsdaten kannst Du dich in der "),m("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),u(" anmelden. ")],-1)])),_:1}),r(b,{modelValue:a.cloudSettings.username,"onUpdate:modelValue":e[9]||(e[9]=n=>a.cloudSettings.username=n),title:"Benutzername",required:"",subtype:"user",disabled:""},null,8,["modelValue"]),r(b,{modelValue:a.cloudSettings.password,"onUpdate:modelValue":e[10]||(e[10]=n=>a.cloudSettings.password=n),title:"Passwort",required:"",subtype:"password",disabled:""},null,8,["modelValue"]),e[38]||(e[38]=m("hr",null,null,-1)),r(C,{title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":a.cloudSettings.partner,"onUpdate:modelValue":e[11]||(e[11]=n=>o.updateState(a.cloudBridgeKey,n,"access.partner"))},{help:t(()=>e[35]||(e[35]=[u(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["model-value"]),a.cloudSettings.partner?(l(),p(B,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[12]||(e[12]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[36]||(e[36]=[u(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:1})])):i("",!0),a.cloudBridgeKey?(l(),p(q,{key:4,"form-name":"cloudConfigured",onSave:e[14]||(e[14]=n=>o.$emit("save")),onReset:e[15]||(e[15]=n=>o.$emit("reset")),onDefaults:e[16]||(e[16]=n=>o.$emit("defaults"))})):i("",!0)]))])],64)}const Y=I(M,[["render",G],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{Y as default}; diff --git a/web/settings/assets/CloudConfig-ab2aae30.js b/web/settings/assets/CloudConfig-ab2aae30.js new file mode 100644 index 0000000000..99edc594a0 --- /dev/null +++ b/web/settings/assets/CloudConfig-ab2aae30.js @@ -0,0 +1 @@ +import{l as P,a6 as z,F as S}from"./vendor-fortawesome-231ff303.js";import{C as Z}from"./index-6ffbdc7e.js";import{_ as I,u as d,l,m as w,G as r,E as t,x as m,z as p,B as i,D,N as x,y as u,q as V}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";P.add(z);const M={name:"OpenwbCloudConfigView",components:{FontAwesomeIcon:S},mixins:[Z],emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/mqtt/bridge/+","openWB/system/mqtt/valid_partner_ids"],enableNewCloudButton:!0,newCloudData:{email:"",username:"",partner:!1},enableCloudConnectButton:!0,connectCloudData:{username:"",password:"",partner:!1},enableRemoveCloudButton:!0,showCloudRemoveModal:!1}},computed:{cloudBridge:{get(){let o=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,c]of Object.entries(o))c.remote.is_openwb_cloud||delete o[e];return o}},cloudBridgeKey:{get(){for(const[o,e]of Object.entries(this.cloudBridge))if(e.remote.is_openwb_cloud)return o}},cloudSettings:{get(){return{username:this.cloudBridge[this.cloudBridgeKey].remote.username,password:this.cloudBridge[this.cloudBridgeKey].remote.password,partner:this.cloudBridge[this.cloudBridgeKey].access?this.cloudBridge[this.cloudBridgeKey].access.partner:!1}}}},methods:{getMqttBridgeIndex(o){return parseInt(o.match(/(?:\/)(\d+)$/)[1])},createCloud(){document.forms.cloudConfigCreateForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"initCloud",data:this.newCloudData}),this.enableNewCloudButton=!1)},connectCloud(){document.forms.cloudConfigConnectForm.reportValidity()&&(this.$emit("save"),this.$emit("sendCommand",{command:"connectCloud",data:this.connectCloudData}),this.enableCloudConnectButton=!1)},removeCloudModal(o){o.stopPropagation(),this.showCloudRemoveModal=!0},removeCloud(o){this.showCloudRemoveModal=!1,o=="confirm"&&(console.info("request removal of cloud"),this.updateState("openWB/system/mqtt/valid_partner_ids",[]),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:this.getMqttBridgeIndex(this.cloudBridgeKey)}}),this.enableCloudConnectButton=!0)}}},h={class:"cloud-config"},K={key:1},U={key:1,name:"cloudConfigCreateForm"},N={class:"row justify-content-center"},R={key:2,name:"cloudConfigConnectForm"},A={class:"row justify-content-center"},F={key:3,name:"cloudConfigured"},j={class:"row justify-content-center"};function G(o,e,c,T,s,a){const W=d("openwb-base-modal-dialog"),k=d("router-link"),g=d("openwb-base-alert"),b=d("openwb-base-text-input"),C=d("openwb-base-button-group-input"),f=d("font-awesome-icon"),B=d("openwb-base-array-input"),y=d("openwb-base-click-button"),v=d("openwb-base-card"),_=d("openwb-base-heading"),q=d("openwb-base-submit-buttons");return l(),w(x,null,[r(W,{show:s.showCloudRemoveModal,title:"Cloud Zugang löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=n=>a.removeCloud(n))},{default:t(()=>e[17]||(e[17]=[u(" Willst Du den vorhandenen Cloud Zugang wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ")])),_:1},8,["show"]),m("div",h,[o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(l(),p(g,{key:0,subtype:"danger"},{default:t(()=>[e[19]||(e[19]=u(" Du musst der ")),r(k,{to:"/System/LegalSettings"},{default:t(()=>e[18]||(e[18]=[u(" Datenschutzerklärung ")])),_:1}),e[20]||(e[20]=u(" zustimmen, um die openWB Cloud nutzen zu können. "))]),_:1})):(l(),w("div",K,[r(g,{subtype:"success"},{default:t(()=>[e[22]||(e[22]=u(" Du hast der ")),r(k,{to:"/System/LegalSettings"},{default:t(()=>e[21]||(e[21]=[u(" Datenschutzerklärung ")])),_:1}),e[23]||(e[23]=u(" zugestimmt und kannst die openWB Cloud nutzen. "))]),_:1}),s.enableRemoveCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[24]||(e[24]=[u(" Der Zugang wurde entfernt. Bitte starte die openWB neu, um die Änderungen anzuwenden! ")])),_:1})),a.cloudBridgeKey?i("",!0):(l(),w("form",U,[r(v,{title:"Neuen Zugang erstellen"},D({default:t(()=>[r(g,{subtype:"warning"},{default:t(()=>e[25]||(e[25]=[u(" Derzeit können keine neuen Zugänge für die openWB Cloud angelegt werden. Bitte nutze die in/an der openWB notierten Zugangsdaten im unteren Bereich dieser Seite. Wenn bei einer gekauften openWB keine Zugangsdaten vorhanden sind, schreibe bitte eine Mail unter Angabe der Bestell- und/oder Seriennummer an "),m("a",{href:"mailto:support@openwb.de",subject:"Cloud Zugangsdaten"}," support@openwb.de ",-1),u(" . ")])),_:1}),r(b,{modelValue:s.newCloudData.username,"onUpdate:modelValue":e[1]||(e[1]=n=>s.newCloudData.username=n),title:"Benutzername",required:"",subtype:"user",pattern:"[a-zA-Z]+",disabled:""},null,8,["modelValue"]),r(b,{modelValue:s.newCloudData.email,"onUpdate:modelValue":e[2]||(e[2]=n=>s.newCloudData.email=n),title:"E-Mail",required:"",subtype:"email",disabled:""},null,8,["modelValue"]),r(C,{modelValue:s.newCloudData.partner,"onUpdate:modelValue":e[3]||(e[3]=n=>s.newCloudData.partner=n),disabled:"",title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[26]||(e[26]=[u(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["modelValue"]),s.newCloudData.partner?(l(),p(B,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[27]||(e[27]=[u(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:2},[o.$store.state.mqtt["openWB/general/extern"]===!1&&o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",N,[r(y,{class:"col-4 btn-outline-success",disabled:""},{default:t(()=>e[28]||(e[28]=[u(" Zugang erstellen ")])),_:1})])]),key:"0"}:void 0]),1024),s.enableNewCloudButton?i("",!0):(l(),p(g,{key:0,subtype:"info",class:"mb-2"},{default:t(()=>e[29]||(e[29]=[u(" Der neue Zugang wird eingerichtet. Dieser Vorgang kann bis zu einer Minute dauern. Bitte warten. ")])),_:1}))])),a.cloudBridgeKey?i("",!0):(l(),w("form",R,[r(v,{title:"Vorhandenen Zugang einrichten"},D({default:t(()=>[r(b,{modelValue:s.connectCloudData.username,"onUpdate:modelValue":e[5]||(e[5]=n=>s.connectCloudData.username=n),title:"Benutzername",required:"",subtype:"user"},null,8,["modelValue"]),r(b,{modelValue:s.connectCloudData.password,"onUpdate:modelValue":e[6]||(e[6]=n=>s.connectCloudData.password=n),title:"Passwort",required:"",subtype:"password"},null,8,["modelValue"]),r(C,{modelValue:s.connectCloudData.partner,"onUpdate:modelValue":e[7]||(e[7]=n=>s.connectCloudData.partner=n),title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}]},{help:t(()=>e[30]||(e[30]=[u(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["modelValue"]),s.connectCloudData.partner?(l(),p(B,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[8]||(e[8]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[31]||(e[31]=[u(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:2},[o.$store.state.mqtt["openWB/general/extern"]===!1&&o.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:t(()=>[m("div",A,[r(y,{class:V(["col-4",s.enableCloudConnectButton?"btn-success":"btn-outline-success"]),disabled:!s.enableCloudConnectButton,onButtonClicked:a.connectCloud},{default:t(()=>e[32]||(e[32]=[u(" Mit Cloud verbinden ")])),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024)])),a.cloudBridgeKey?(l(),w("form",F,[!s.enableCloudConnectButton||!s.enableNewCloudButton?(l(),p(g,{key:0,subtype:"warning"},{default:t(()=>e[33]||(e[33]=[u(" Der Zugang wurde eingerichtet. Bitte starte die die openWB neu, um die Änderungen anzuwenden! ")])),_:1})):i("",!0),r(v,{title:"Vorhandener Cloud Zugang"},{footer:t(()=>[m("div",j,[r(y,{class:V(["col-4",s.enableRemoveCloudButton?"btn-danger":"btn-outline-danger"]),disabled:!s.enableRemoveCloudButton,onButtonClicked:e[13]||(e[13]=n=>a.removeCloudModal(n))},{default:t(()=>e[37]||(e[37]=[u(" Zugang löschen ")])),_:1},8,["class","disabled"])])]),default:t(()=>[r(_,null,{default:t(()=>e[34]||(e[34]=[m("span",null,[u(" Mit diesen Zugangsdaten kannst Du dich in der "),m("a",{href:"https://remote.openwb.de/",target:"_blank",rel:"noopener noreferrer"}," openWB Cloud "),u(" anmelden. ")],-1)])),_:1}),r(b,{modelValue:a.cloudSettings.username,"onUpdate:modelValue":e[9]||(e[9]=n=>a.cloudSettings.username=n),title:"Benutzername",required:"",subtype:"user",disabled:""},null,8,["modelValue"]),r(b,{modelValue:a.cloudSettings.password,"onUpdate:modelValue":e[10]||(e[10]=n=>a.cloudSettings.password=n),title:"Passwort",required:"",subtype:"password",disabled:""},null,8,["modelValue"]),e[38]||(e[38]=m("hr",null,null,-1)),r(C,{title:"Zugang für Partner",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":a.cloudSettings.partner,"onUpdate:modelValue":e[11]||(e[11]=n=>o.updateState(a.cloudBridgeKey,n,"access.partner"))},{help:t(()=>e[35]||(e[35]=[u(" Wenn diese openWB über einen Partner erworben wurde, kann hier ein Support-Zugang für diesen freigegeben werden. ")])),_:1},8,["model-value"]),a.cloudSettings.partner?(l(),p(B,{key:0,title:"Gültige Partner-IDs","no-elements-message":"Keine Partner-ID zugeordnet.","model-value":o.$store.state.mqtt["openWB/system/mqtt/valid_partner_ids"],"onUpdate:modelValue":e[12]||(e[12]=n=>o.updateState("openWB/system/mqtt/valid_partner_ids",n))},{"input-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),"element-prefix":t(()=>[r(f,{"fixed-width":"",icon:["fas","user-gear"]})]),help:t(()=>e[36]||(e[36]=[u(" Die Partner-ID erhältst Du von Deinem Installateur. Ist hier keine Partner-ID eingetragen, dann kann auch niemand - trotz aktiviertem Zugang für Partner - über das Partner-Portal auf diese openWB zugreifen! ")])),_:1},8,["model-value"])):i("",!0)]),_:1})])):i("",!0),a.cloudBridgeKey?(l(),p(q,{key:4,"form-name":"cloudConfigured",onSave:e[14]||(e[14]=n=>o.$emit("save")),onReset:e[15]||(e[15]=n=>o.$emit("reset")),onDefaults:e[16]||(e[16]=n=>o.$emit("defaults"))})):i("",!0)]))])],64)}const Y=I(M,[["render",G],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/CloudConfig.vue"]]);export{Y as default}; diff --git a/web/settings/assets/DataManagement-3ab650ed.js b/web/settings/assets/DataManagement-3ab650ed.js new file mode 100644 index 0000000000..1b1baee9bf --- /dev/null +++ b/web/settings/assets/DataManagement-3ab650ed.js @@ -0,0 +1 @@ +import{l as E,ak as P,al as R,am as $,an as U,ao as q,F as H}from"./vendor-fortawesome-231ff303.js";import{_ as B,C as N}from"./index-6ffbdc7e.js";import{_ as x}from"./dynamic-import-helper-be004503.js";import{_ as w,u as f,l as u,m,z as C,E as s,y as i,F as h,G as n,x as o,a1 as L,a2 as T,N as W,B as _,q as M,M as A,D as I}from"./vendor-0c15df0c.js";const G={props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})},sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},J=w(G,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/BackupCloudConfigMixin.vue"]]),K={name:"BackupCloudConfigFallback",mixins:[J]},Z={class:"backup-cloud-fallback"},Q={key:1};function X(t,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",Z,[Object.keys(t.backupCloud.configuration).length==0?(u(),C(g,{key:0,subtype:"info"},{default:s(()=>[i(' Die Backup-Cloud "'+h(t.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),m("div",Q,[n(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+h(t.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(d,{title:"Konfiguration",subtype:"json","model-value":t.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>t.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(t.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const Y=w(K,[["render",X],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]),ee={name:"OpenwbBackupCloudProxy",props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),L({loader:()=>x(Object.assign({"./nextcloud/backup_cloud.vue":()=>B(()=>import("./backup_cloud-1299a7eb.js"),["assets/backup_cloud-1299a7eb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./nfs/backup_cloud.vue":()=>B(()=>import("./backup_cloud-84c01439.js"),["assets/backup_cloud-84c01439.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./onedrive/backup_cloud.vue":()=>B(()=>import("./backup_cloud-d81a65ab.js"),["assets/backup_cloud-d81a65ab.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./samba/backup_cloud.vue":()=>B(()=>import("./backup_cloud-fc4b5fba.js"),["assets/backup_cloud-fc4b5fba.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:Y})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function te(t,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[n(g,null,{default:s(()=>[i(' Einstellungen für Backup-Cloud Modul "'+h(l.backupCloud.name)+'" ',1)]),_:1}),(u(),C(T(a.myComponent),{"backup-cloud":l.backupCloud,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d)),onSendCommand:e[1]||(e[1]=d=>a.sendCommand(d))},null,40,["backup-cloud"]))],64)}const ne=w(ee,[["render",te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]),oe={props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ie=w(oe,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/MonitoringConfigMixin.vue"]]),se={name:"MonitoringConfigFallback",mixins:[ie]},ae={class:"monitoring-fallback"};function re(t,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",ae,[n(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+h(t.monitoring.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(d,{title:"Konfiguration",subtype:"json","model-value":t.monitoring.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>t.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(t.monitoring.configuration,void 0,2)),1)]),_:1})])}const le=w(se,[["render",re],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringConfigFallback.vue"]]),ue={name:"OpenwbMonitoringProxy",props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading monitoring: ${this.monitoring.type}`),L({loader:()=>x(Object.assign({"./zabbix/monitoring.vue":()=>B(()=>import("./monitoring-7d0b4180.js"),["assets/monitoring-7d0b4180.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.monitoring.type}/monitoring.vue`),errorComponent:le})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function de(t,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[n(g,null,{default:s(()=>[i(' Einstellungen für Modul "'+h(l.monitoring.name)+'" ',1)]),_:1}),(u(),C(T(a.myComponent),{monitoring:l.monitoring,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d))},null,40,["monitoring"]))],64)}const pe=w(ue,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringProxy.vue"]]);E.add(P,R,$,U,q);const ce={name:"OpenwbDataManagementView",components:{FontAwesomeIcon:H,OpenwbBackupCloudProxy:ne,OpenwbMonitoringProxy:pe},mixins:[N],props:{installAssistantActive:{type:Boolean,required:!1,default:!1},showBackupCloudSection:{type:Boolean,required:!1,default:!0}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/system/configurable/backup_clouds","openWB/system/configurable/monitoring","openWB/system/backup_cloud/config","openWB/system/backup_cloud/backup_before_update","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/optional/monitoring/config","openWB/vehicle/+/name","openWB/LegacySmartHome/config/get/Devices/+/device_configured","openWB/LegacySmartHome/config/get/Devices/+/device_name"],warningAcknowledged:!1,showRestoreSection:!this.installAssistantActive,selectedRestoreFile:void 0,restoreUploadDone:!1,selectedDataMigrationFile:void 0,dataMigrationUploadDone:!1,dataMigrationConfig:[{sectionName:"Ladepunkte",sectionComponents:[{key:"cp1",label:"Ladepunkt 1",validTypes:["chargePoint"]},{key:"cp2",label:"Ladepunkt 2",validTypes:["chargePoint"]},{key:"cp3",label:"Ladepunkt 3",validTypes:["chargePoint"]},{key:"cp4",label:"Ladepunkt 4",validTypes:["chargePoint"]},{key:"cp5",label:"Ladepunkt 5",validTypes:["chargePoint"]},{key:"cp6",label:"Ladepunkt 6",validTypes:["chargePoint"]},{key:"cp7",label:"Ladepunkt 7",validTypes:["chargePoint"]},{key:"cp8",label:"Ladepunkt 8",validTypes:["chargePoint"]}]},{sectionName:"Zähler",sectionComponents:[{key:"evu",label:"EVU",validTypes:["counter"]},{key:"consumer1",label:"Verbraucher 1",validTypes:["counter"]},{key:"consumer2",label:"Verbraucher 2",validTypes:["counter"]},{key:"consumer3",label:"Verbraucher 3",validTypes:["counter"]}]},{sectionName:"Wechselrichter",sectionComponents:[{key:"pvAll",label:"Wechselrichter (Summe)",validTypes:["inverter"],help:"Die 1.9er Version von openWB speichert lediglich die Summen-Leistung aller Wechselrichter."}]},{sectionName:"Batteriespeicher",sectionComponents:[{key:"bat",label:"Speicher 1",validTypes:["battery"]}]},{sectionName:"Fahrzeuge",sectionComponents:[{key:"ev1",label:"Fahrzeug von Ladepunkt 1",validTypes:["vehicle"]},{key:"ev2",label:"Fahrzeug von Ladepunkt 2",validTypes:["vehicle"]}]},{sectionName:"SmartHome 2.0",sectionComponents:[{key:"sh1",label:"Gerät 1",validTypes:["smartHome"]},{key:"sh2",label:"Gerät 2",validTypes:["smartHome"]},{key:"sh3",label:"Gerät 3",validTypes:["smartHome"]},{key:"sh4",label:"Gerät 4",validTypes:["smartHome"]},{key:"sh5",label:"Gerät 5",validTypes:["smartHome"]},{key:"sh6",label:"Gerät 6",validTypes:["smartHome"]},{key:"sh7",label:"Gerät 7",validTypes:["smartHome"]},{key:"sh8",label:"Gerät 8",validTypes:["smartHome"]},{key:"sh9",label:"Gerät 9",validTypes:["smartHome"]}]}],dataMigrationMapping:{cp1:void 0,cp2:void 0,cp3:void 0,cp4:void 0,cp5:void 0,cp6:void 0,cp7:void 0,cp8:void 0,evu:void 0,pvAll:void 0,bat:void 0,consumer1:void 0,consumer2:void 0,consumer3:void 0,sh1:void 0,sh2:void 0,sh3:void 0,sh4:void 0,sh5:void 0,sh6:void 0,sh7:void 0,sh8:void 0,sh9:void 0,ev1:void 0,ev2:void 0}}},computed:{backupCloudList(){return this.$store.state.mqtt["openWB/system/configurable/backup_clouds"]},componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},chargePointOptions(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[];for(const l of Object.values(t))e.push({value:l.id,text:l.name});return e},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"counter")&&t.push({value:e.id,text:e.name});return t},inverterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"inverter")&&t.push({value:e.id,text:e.name});return t},monitoringList(){return this.$store.state.mqtt["openWB/system/configurable/monitoring"]},batteryOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"bat")&&t.push({value:e.id,text:e.name});return t},vehicleOptions(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[];for(const[l,b]of Object.entries(t)){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:b})}return e},smartHomeOptions(){let t=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[l,b]of Object.entries(t))if(b==1){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:this.$store.state.mqtt[`openWB/LegacySmartHome/config/get/Devices/${r}/device_name`]})}return e}},methods:{isComponentType(t,e){return t.split("_").includes(e)},getBackupCloudDefaultConfiguration(t){const e=this.backupCloudList.find(l=>l.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for backup cloud type!",t),{})},sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getMigrationOptions(t){var e=[{value:void 0,text:"-- nicht übernehmen --"}];return t.includes("chargePoint")&&e.push(...this.chargePointOptions),t.includes("counter")&&e.push(...this.counterOptions),t.includes("inverter")&&e.push(...this.inverterOptions),t.includes("battery")&&e.push(...this.batteryOptions),t.includes("vehicle")&&e.push(...this.vehicleOptions),t.includes("smartHome")&&e.push(...this.smartHomeOptions),e},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},updateSelectedBackupCloud(t){this.updateState("openWB/system/backup_cloud/config",t,"type"),this.updateState("openWB/system/backup_cloud/config",this.getBackupCloudDefaultConfiguration(t))},updateSelectedRestoreFile(t){this.selectedRestoreFile=t.target.files[0]},updateSelectedDataMigrationFile(t){this.selectedDataMigrationFile=t.target.files[0]},uploadFile(t,e,l){return new Promise(b=>{if(e!==void 0){this.$root.postClientMessage("Hochladen der Datei gestartet.","info");let r=new FormData;r.append("file",e),r.append("target",t),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",r,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(l,"success"),b(!0)}).catch(a=>{if(a.response){console.error(a.response.status,a.response.data);var g="Hochladen der Datei fehlgeschlagen!
"+a.response.status+": "+a.response.data}else a.request?(console.error(a.request),g+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",a.message),g+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(g,"danger"),b(!1)})}else console.error("no file selected for upload"),b(!1)})},getMonitoringDefaultConfiguration(t){const e=this.monitoringList.find(l=>l.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for monitoring type!",t),{})},updateSelectedMonitoring(t){this.updateState("openWB/optional/monitoring/config",t,"type"),this.updateState("openWB/optional/monitoring/config",this.getMonitoringDefaultConfiguration(t))},async uploadRestoreFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,t)},async uploadDataMigrationFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können den Import jetzt starten.";this.dataMigrationUploadDone=await this.uploadFile("migrate",this.selectedDataMigrationFile,t)},restoreBackup(){this.sendSystemCommand("restoreBackup"),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})},dataMigration(){this.sendSystemCommand("dataMigration",this.dataMigrationMapping)},factoryReset(){this.sendSystemCommand("factoryReset",{}),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})}}},me={class:"system"},ge={key:1},fe={name:"backupForm"},be={class:"row justify-content-center"},he={class:"col-md-4 d-flex py-1 justify-content-center"},ke={key:0,name:"restoreForm"},ye={class:"input-group"},ve={class:"input-group-prepend"},_e={class:"input-group-text"},we={class:"custom-file"},Ce={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},Be={class:"input-group-append"},De=["disabled"],Se={class:"row justify-content-center"},Me={class:"col-md-4 d-flex py-1 justify-content-center"},We={key:1,name:"cloudBackupForm"},Oe={key:0},Fe={name:"dataMigrationForm"},Ae={class:"input-group"},xe={class:"input-group-prepend"},Le={class:"input-group-text"},Te={class:"custom-file"},ze={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},Ve={class:"input-group-append"},je=["disabled"],Ee={class:"row justify-content-center"},Pe={class:"col-md-4 d-flex py-1 justify-content-center"},Re={key:1,name:"resetForm"},$e={class:"row justify-content-center"},Ue={class:"col-md-4 d-flex py-1 justify-content-center"},qe={key:2,name:"zabbixConfigured"},He={key:0},Ne={key:1},Ie={key:0};function Ge(t,e,l,b,r,a){const g=f("openwb-base-button-group-input"),d=f("openwb-base-alert"),y=f("openwb-base-heading"),v=f("font-awesome-icon"),D=f("openwb-base-click-button"),O=f("openwb-base-select-input"),z=f("openwb-base-button-input"),V=f("openwb-backup-cloud-proxy"),F=f("openwb-base-submit-buttons"),S=f("openwb-base-card"),j=f("openwb-monitoring-proxy");return u(),m("div",me,[l.installAssistantActive?_("",!0):(u(),C(d,{key:0,subtype:"danger"},{default:s(()=>[e[21]||(e[21]=o("h2",null,"Achtung!",-1)),e[22]||(e[22]=o("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),n(g,{modelValue:r.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=p=>r.warningAcknowledged=p),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),r.warningAcknowledged||l.installAssistantActive?(u(),m("div",ge,[n(S,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!l.installAssistantActive},{default:s(()=>{var p,k;return[o("form",fe,[n(y,null,{default:s(()=>e[23]||(e[23]=[i("Sicherung")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[24]||(e[24]=[i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),n(d,{subtype:"info"},{default:s(()=>e[25]||(e[25]=[i(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder "),o("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),i(" heruntergeladen werden. Beim Herunterladen bitte darauf achten, dass die Datei mit der Endung .tar.gz gespeichert wird. Ggf. das automatische Entpacken des Browsers deaktivieren. ")])),_:1}),o("div",be,[o("div",he,[n(D,{class:"btn-success clickable",onButtonClicked:e[1]||(e[1]=c=>a.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:s(()=>[e[26]||(e[26]=i(" Sicherung erstellen ")),n(v,{"fixed-width":"",icon:["fas","archive"]})]),_:1})])])]),r.showRestoreSection?(u(),m("form",ke,[e[31]||(e[31]=o("hr",null,null,-1)),n(y,null,{default:s(()=>e[27]||(e[27]=[i("Wiederherstellung")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[28]||(e[28]=[i(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt."),o("br",null,null,-1),i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),o("div",ye,[o("div",ve,[o("div",_e,[n(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",we,[o("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[2]||(e[2]=c=>a.updateSelectedRestoreFile(c))},null,32),o("label",Ce,h(r.selectedRestoreFile?r.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Be,[o("button",{class:M(["btn",r.selectedRestoreFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedRestoreFile,type:"button",onClick:e[3]||(e[3]=c=>a.uploadRestoreFile())},[e[29]||(e[29]=i(" Hochladen ")),n(v,{"fixed-width":"",icon:["fas","upload"]})],10,De)])]),o("div",Se,[o("div",Me,[n(D,{class:M(r.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.restoreUploadDone,onButtonClicked:e[4]||(e[4]=c=>a.restoreBackup())},{default:s(()=>[e[30]||(e[30]=i(" Wiederherstellung starten ")),n(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])):_("",!0),l.showBackupCloudSection?(u(),m("form",We,[e[35]||(e[35]=o("hr",null,null,-1)),n(y,null,{default:s(()=>e[32]||(e[32]=[i(" Automatische Sicherung in einen Cloud-Dienst ")])),_:1}),n(d,{subtype:"info"},{default:s(()=>e[33]||(e[33]=[i(" Ist die openWB als primary konfiguriert, wird zwischen Mitternacht und 5:00 Uhr automatisch eine Sicherung erstellt und in den angegebenen Cloud-Dienst (nicht openWB Cloud!) hochgeladen. Ist kein Cloud-Dienst konfiguriert, wird keine automatische Sicherung erstellt. Die automatische Sicherung kann unabhängig von der openWB Cloud genutzt werden."),o("br",null,null,-1),i(" Die manuelle Cloud-Sicherung und -falls aktiviert- die Sicherung vor einem Update werden sowohl von einer primary als auch von einer secondary durchgeführt."),o("br",null,null,-1),i(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du "),o("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),i(" . ")])),_:1}),n(O,{class:"mb-2",title:"Backup-Cloud",options:a.backupCloudList,"model-value":(p=t.$store.state.mqtt["openWB/system/backup_cloud/config"])==null?void 0:p.type,"onUpdate:modelValue":e[5]||(e[5]=c=>a.updateSelectedBackupCloud(c))},null,8,["options","model-value"]),(k=t.$store.state.mqtt["openWB/system/backup_cloud/config"])!=null&&k.type?(u(),m("div",Oe,[n(g,{title:"Sicherung vor System-Update",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/backup_cloud/backup_before_update"],"onUpdate:modelValue":e[6]||(e[6]=c=>t.updateState("openWB/system/backup_cloud/backup_before_update",c))},{help:s(()=>e[34]||(e[34]=[i(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ")])),_:1},8,["model-value"]),n(z,{title:"Manuelle Cloud-Sicherung","button-text":"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[7]||(e[7]=c=>a.sendSystemCommand("createCloudBackup",{}))}),n(V,{"backup-cloud":t.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[8]||(e[8]=c=>a.updateConfiguration("openWB/system/backup_cloud/config",c)),onSendCommand:e[9]||(e[9]=c=>a.sendSystemCommand(c.command,c.args))},null,8,["backup-cloud"])])):_("",!0),n(F,{"form-name":"cloudBackupForm","hide-reset":!0,"hide-defaults":!0,onSave:e[10]||(e[10]=c=>t.$emit("save")),onReset:e[11]||(e[11]=c=>t.$emit("reset")),onDefaults:e[12]||(e[12]=c=>t.$emit("defaults"))})])):_("",!0)]}),_:1},8,["collapsed"]),l.installAssistantActive?_("",!0):(u(),C(S,{key:0,title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:s(()=>[o("form",Fe,[n(d,{subtype:"info"},{default:s(()=>e[36]||(e[36]=[i(" Hier kann die Sicherung einer älteren 1.9er Version hochgeladen werden, um vorhandene historische Daten (Diagramme und Ladeprotokolle) sowie Cloud-Daten und Seriennummer in diese Installation zu importieren. Die Zuordnung zwischen den alten und neuen Komponenten muss manuell durchgeführt werden. ")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[37]||(e[37]=[i(" Die Portierung kann bei vielen historischen Daten von mehreren Jahren durchaus bis zu 30 Minuten dauern. Die openWB in dieser Zeit bitte nicht herunterfahren! Du erhältst eine Meldung, wenn die Datenübernahme abgeschlossen ist."),o("br",null,null,-1),i(" Vor der Datenübernahme unbedingt eine Sicherung erstellen."),o("br",null,null,-1),i(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ")])),_:1}),o("div",Ae,[o("div",xe,[o("div",Le,[n(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",Te,[o("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[13]||(e[13]=p=>a.updateSelectedDataMigrationFile(p))},null,32),o("label",ze,h(r.selectedDataMigrationFile?r.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Ve,[o("button",{class:M(["btn",r.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedDataMigrationFile,type:"button",onClick:e[14]||(e[14]=p=>a.uploadDataMigrationFile())},[e[38]||(e[38]=i(" Hochladen ")),n(v,{"fixed-width":"",icon:["fas","upload"]})],10,je)])]),n(y,null,{default:s(()=>e[39]||(e[39]=[i(" Zuordnung der Komponenten ")])),_:1}),(u(!0),m(W,null,A(r.dataMigrationConfig,p=>(u(),m("div",{key:p.sectionName},[n(y,null,{default:s(()=>[i(h(p.sectionName),1)]),_:2},1024),(u(!0),m(W,null,A(p.sectionComponents,k=>(u(),C(O,{key:k.key,modelValue:r.dataMigrationMapping[k.key],"onUpdate:modelValue":c=>r.dataMigrationMapping[k.key]=c,title:k.label,options:a.getMigrationOptions(k.validTypes)},I({_:2},[k.help?{name:"help",fn:s(()=>[i(h(k.help),1)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","title","options"]))),128))]))),128)),o("div",Ee,[o("div",Pe,[n(D,{class:M(r.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.dataMigrationUploadDone,onButtonClicked:e[15]||(e[15]=p=>a.dataMigration())},{default:s(()=>[e[40]||(e[40]=i(" Datenübernahme starten ")),n(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])]),_:1})),l.installAssistantActive?_("",!0):(u(),m("form",Re,[n(S,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:s(()=>[o("div",$e,[o("div",Ue,[n(D,{class:"btn-danger clickable",onButtonClicked:e[16]||(e[16]=p=>a.factoryReset())},{default:s(()=>[n(v,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[42]||(e[42]=i(" Zurücksetzen ")),n(v,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1})])])]),default:s(()=>[n(d,{subtype:"danger"},{default:s(()=>e[41]||(e[41]=[i(" Alle Einstellungen, angelegte Geräte/Komponenten, Ladepunkte und Fahrzeuge, etc., Tages-, Monats- und Jahresauswertungen sowie das Ladeprotokoll werden unwiederbringlich gelöscht. Auch die Vorkonfiguration im Auslieferungszustand wird gelöscht. Die openWB muss danach komplett neu eingerichtet werden. Die openWB wird hierfür automatisch neu gestartet. Bitte erstelle vor dem Zurücksetzen eine Sicherung! ")])),_:1})]),_:1})])),l.installAssistantActive?_("",!0):(u(),m("form",qe,[n(S,{title:"Monitoring",subtype:"success",collapsible:!0,collapsed:!0},{footer:s(()=>[n(F,{"form-name":t.zabbixConfigured,"hide-defaults":!0,onSave:e[19]||(e[19]=p=>t.$emit("save")),onReset:e[20]||(e[20]=p=>t.$emit("reset"))},null,8,["form-name"])]),default:s(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",He,[n(d,{subtype:"info"},{default:s(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",Ne,[n(d,{subtype:"info"},{default:s(()=>e[44]||(e[44]=[i(" Das Monitoring informiert Dich sofort per E-Mail, wenn eine Deiner Kompnenten oder Ladepunkte ein Problem hat oder die openWB nicht mehr erreichbar ist. ")])),_:1}),n(O,{class:"mb-2",title:"Anbieter",options:a.monitoringList,"model-value":t.$store.state.mqtt["openWB/optional/monitoring/config"]?t.$store.state.mqtt["openWB/optional/monitoring/config"].type:"","onUpdate:modelValue":e[17]||(e[17]=p=>a.updateSelectedMonitoring(p))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/monitoring/config"]&&t.$store.state.mqtt["openWB/optional/monitoring/config"].type?(u(),m("div",Ie,[n(j,{monitoring:t.$store.state.mqtt["openWB/optional/monitoring/config"],"onUpdate:configuration":e[18]||(e[18]=p=>a.updateConfiguration("openWB/optional/monitoring/config",p))},null,8,["monitoring"])])):_("",!0)]))]),_:1})]))])):_("",!0)])}const Je=w(ce,[["render",Ge],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]),Ye=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{J as B,Je as D,ie as M,Ye as a}; diff --git a/web/settings/assets/DataManagement-7cf51172.js b/web/settings/assets/DataManagement-7cf51172.js deleted file mode 100644 index 871d14b892..0000000000 --- a/web/settings/assets/DataManagement-7cf51172.js +++ /dev/null @@ -1 +0,0 @@ -import{l as E,ak as P,al as R,am as $,an as U,ao as q,F as H}from"./vendor-fortawesome-05d7e447.js";import{_ as B,C as N}from"./index-3434d31b.js";import{_ as x}from"./dynamic-import-helper-be004503.js";import{_ as w,u as f,k as u,l as m,z as C,E as s,y as i,F as h,G as n,x as o,a1 as L,a2 as T,N as W,B as _,q as M,M as A,D as I}from"./vendor-06e11d0e.js";const G={props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})},sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},J=w(G,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/BackupCloudConfigMixin.vue"]]),K={name:"BackupCloudConfigFallback",mixins:[J]},Z={class:"backup-cloud-fallback"},Q={key:1};function X(t,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",Z,[Object.keys(t.backupCloud.configuration).length==0?(u(),C(g,{key:0,subtype:"info"},{default:s(()=>[i(' Die Backup-Cloud "'+h(t.backupCloud.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(u(),m("div",Q,[n(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für die Backup-Cloud "'+h(t.backupCloud.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(d,{title:"Konfiguration",subtype:"json","model-value":t.backupCloud.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>t.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(t.backupCloud.configuration,void 0,2)),1)]),_:1})]))])}const Y=w(K,[["render",X],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudConfigFallback.vue"]]),ee={name:"OpenwbBackupCloudProxy",props:{backupCloud:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){return console.debug(`loading backup cloud: ${this.backupCloud.type}`),L({loader:()=>x(Object.assign({"./nextcloud/backup_cloud.vue":()=>B(()=>import("./backup_cloud-55c851b6.js"),["assets/backup_cloud-55c851b6.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./nfs/backup_cloud.vue":()=>B(()=>import("./backup_cloud-f2929a4f.js"),["assets/backup_cloud-f2929a4f.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./onedrive/backup_cloud.vue":()=>B(()=>import("./backup_cloud-1c5d6d3f.js"),["assets/backup_cloud-1c5d6d3f.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./samba/backup_cloud.vue":()=>B(()=>import("./backup_cloud-c9b44bce.js"),["assets/backup_cloud-c9b44bce.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.backupCloud.type}/backup_cloud.vue`),errorComponent:Y})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function te(t,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[n(g,null,{default:s(()=>[i(' Einstellungen für Backup-Cloud Modul "'+h(l.backupCloud.name)+'" ',1)]),_:1}),(u(),C(T(a.myComponent),{"backup-cloud":l.backupCloud,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d)),onSendCommand:e[1]||(e[1]=d=>a.sendCommand(d))},null,40,["backup-cloud"]))],64)}const ne=w(ee,[["render",te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/OpenwbBackupCloudProxy.vue"]]),oe={props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},ie=w(oe,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/MonitoringConfigMixin.vue"]]),se={name:"MonitoringConfigFallback",mixins:[ie]},ae={class:"monitoring-fallback"};function re(t,e,l,b,r,a){const g=f("openwb-base-alert"),d=f("openwb-base-textarea");return u(),m("div",ae,[n(g,{subtype:"warning"},{default:s(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+h(t.monitoring.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(d,{title:"Konfiguration",subtype:"json","model-value":t.monitoring.configuration,"onUpdate:modelValue":e[0]||(e[0]=y=>t.updateConfiguration(y,"configuration"))},{help:s(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:s(()=>[o("pre",null,h(JSON.stringify(t.monitoring.configuration,void 0,2)),1)]),_:1})])}const le=w(se,[["render",re],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringConfigFallback.vue"]]),ue={name:"OpenwbMonitoringProxy",props:{monitoring:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading monitoring: ${this.monitoring.type}`),L({loader:()=>x(Object.assign({"./zabbix/monitoring.vue":()=>B(()=>import("./monitoring-21dad0cd.js"),["assets/monitoring-21dad0cd.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.monitoring.type}/monitoring.vue`),errorComponent:le})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function de(t,e,l,b,r,a){const g=f("openwb-base-heading");return u(),m(W,null,[n(g,null,{default:s(()=>[i(' Einstellungen für Modul "'+h(l.monitoring.name)+'" ',1)]),_:1}),(u(),C(T(a.myComponent),{monitoring:l.monitoring,"onUpdate:configuration":e[0]||(e[0]=d=>a.updateConfiguration(d))},null,40,["monitoring"]))],64)}const pe=w(ue,[["render",de],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/OpenwbMonitoringProxy.vue"]]);E.add(P,R,$,U,q);const ce={name:"OpenwbDataManagementView",components:{FontAwesomeIcon:H,OpenwbBackupCloudProxy:ne,OpenwbMonitoringProxy:pe},mixins:[N],props:{installAssistantActive:{type:Boolean,required:!1,default:!1},showBackupCloudSection:{type:Boolean,required:!1,default:!0}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/system/configurable/backup_clouds","openWB/system/configurable/monitoring","openWB/system/backup_cloud/config","openWB/system/backup_cloud/backup_before_update","openWB/system/device/+/component/+/config","openWB/chargepoint/+/config","openWB/optional/monitoring/config","openWB/vehicle/+/name","openWB/LegacySmartHome/config/get/Devices/+/device_configured","openWB/LegacySmartHome/config/get/Devices/+/device_name"],warningAcknowledged:!1,showRestoreSection:!this.installAssistantActive,selectedRestoreFile:void 0,restoreUploadDone:!1,selectedDataMigrationFile:void 0,dataMigrationUploadDone:!1,dataMigrationConfig:[{sectionName:"Ladepunkte",sectionComponents:[{key:"cp1",label:"Ladepunkt 1",validTypes:["chargePoint"]},{key:"cp2",label:"Ladepunkt 2",validTypes:["chargePoint"]},{key:"cp3",label:"Ladepunkt 3",validTypes:["chargePoint"]},{key:"cp4",label:"Ladepunkt 4",validTypes:["chargePoint"]},{key:"cp5",label:"Ladepunkt 5",validTypes:["chargePoint"]},{key:"cp6",label:"Ladepunkt 6",validTypes:["chargePoint"]},{key:"cp7",label:"Ladepunkt 7",validTypes:["chargePoint"]},{key:"cp8",label:"Ladepunkt 8",validTypes:["chargePoint"]}]},{sectionName:"Zähler",sectionComponents:[{key:"evu",label:"EVU",validTypes:["counter"]},{key:"consumer1",label:"Verbraucher 1",validTypes:["counter"]},{key:"consumer2",label:"Verbraucher 2",validTypes:["counter"]},{key:"consumer3",label:"Verbraucher 3",validTypes:["counter"]}]},{sectionName:"Wechselrichter",sectionComponents:[{key:"pvAll",label:"Wechselrichter (Summe)",validTypes:["inverter"],help:"Die 1.9er Version von openWB speichert lediglich die Summen-Leistung aller Wechselrichter."}]},{sectionName:"Batteriespeicher",sectionComponents:[{key:"bat",label:"Speicher 1",validTypes:["battery"]}]},{sectionName:"Fahrzeuge",sectionComponents:[{key:"ev1",label:"Fahrzeug von Ladepunkt 1",validTypes:["vehicle"]},{key:"ev2",label:"Fahrzeug von Ladepunkt 2",validTypes:["vehicle"]}]},{sectionName:"SmartHome 2.0",sectionComponents:[{key:"sh1",label:"Gerät 1",validTypes:["smartHome"]},{key:"sh2",label:"Gerät 2",validTypes:["smartHome"]},{key:"sh3",label:"Gerät 3",validTypes:["smartHome"]},{key:"sh4",label:"Gerät 4",validTypes:["smartHome"]},{key:"sh5",label:"Gerät 5",validTypes:["smartHome"]},{key:"sh6",label:"Gerät 6",validTypes:["smartHome"]},{key:"sh7",label:"Gerät 7",validTypes:["smartHome"]},{key:"sh8",label:"Gerät 8",validTypes:["smartHome"]},{key:"sh9",label:"Gerät 9",validTypes:["smartHome"]}]}],dataMigrationMapping:{cp1:void 0,cp2:void 0,cp3:void 0,cp4:void 0,cp5:void 0,cp6:void 0,cp7:void 0,cp8:void 0,evu:void 0,pvAll:void 0,bat:void 0,consumer1:void 0,consumer2:void 0,consumer3:void 0,sh1:void 0,sh2:void 0,sh3:void 0,sh4:void 0,sh5:void 0,sh6:void 0,sh7:void 0,sh8:void 0,sh9:void 0,ev1:void 0,ev2:void 0}}},computed:{backupCloudList(){return this.$store.state.mqtt["openWB/system/configurable/backup_clouds"]},componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},chargePointOptions(){let t=this.getWildcardTopics("openWB/chargepoint/+/config");var e=[];for(const l of Object.values(t))e.push({value:l.id,text:l.name});return e},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"counter")&&t.push({value:e.id,text:e.name});return t},inverterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"inverter")&&t.push({value:e.id,text:e.name});return t},monitoringList(){return this.$store.state.mqtt["openWB/system/configurable/monitoring"]},batteryOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e.type,"bat")&&t.push({value:e.id,text:e.name});return t},vehicleOptions(){let t=this.getWildcardTopics("openWB/vehicle/+/name");var e=[];for(const[l,b]of Object.entries(t)){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:b})}return e},smartHomeOptions(){let t=this.getWildcardTopics("openWB/LegacySmartHome/config/get/Devices/+/device_configured");var e=[];for(const[l,b]of Object.entries(t))if(b==1){let r=parseInt(l.match(/\/(\d\d?)\//)[1]);e.push({value:r,text:this.$store.state.mqtt[`openWB/LegacySmartHome/config/get/Devices/${r}/device_name`]})}return e}},methods:{isComponentType(t,e){return t.split("_").includes(e)},getBackupCloudDefaultConfiguration(t){const e=this.backupCloudList.find(l=>l.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for backup cloud type!",t),{})},sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getMigrationOptions(t){var e=[{value:void 0,text:"-- nicht übernehmen --"}];return t.includes("chargePoint")&&e.push(...this.chargePointOptions),t.includes("counter")&&e.push(...this.counterOptions),t.includes("inverter")&&e.push(...this.inverterOptions),t.includes("battery")&&e.push(...this.batteryOptions),t.includes("vehicle")&&e.push(...this.vehicleOptions),t.includes("smartHome")&&e.push(...this.smartHomeOptions),e},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},updateSelectedBackupCloud(t){this.updateState("openWB/system/backup_cloud/config",t,"type"),this.updateState("openWB/system/backup_cloud/config",this.getBackupCloudDefaultConfiguration(t))},updateSelectedRestoreFile(t){this.selectedRestoreFile=t.target.files[0]},updateSelectedDataMigrationFile(t){this.selectedDataMigrationFile=t.target.files[0]},uploadFile(t,e,l){return new Promise(b=>{if(e!==void 0){this.$root.postClientMessage("Hochladen der Datei gestartet.","info");let r=new FormData;r.append("file",e),r.append("target",t),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/uploadFile.php",r,{headers:{"Content-Type":"multipart/form-data"}}).then(()=>{this.$root.postClientMessage(l,"success"),b(!0)}).catch(a=>{if(a.response){console.error(a.response.status,a.response.data);var g="Hochladen der Datei fehlgeschlagen!
"+a.response.status+": "+a.response.data}else a.request?(console.error(a.request),g+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",a.message),g+="Es ist ein unbekannter Fehler aufgetreten.");this.$root.postClientMessage(g,"danger"),b(!1)})}else console.error("no file selected for upload"),b(!1)})},getMonitoringDefaultConfiguration(t){const e=this.monitoringList.find(l=>l.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for monitoring type!",t),{})},updateSelectedMonitoring(t){this.updateState("openWB/optional/monitoring/config",t,"type"),this.updateState("openWB/optional/monitoring/config",this.getMonitoringDefaultConfiguration(t))},async uploadRestoreFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können die Wiederherstellung jetzt starten.";this.restoreUploadDone=await this.uploadFile("restore",this.selectedRestoreFile,t)},async uploadDataMigrationFile(){const t="Die Sicherungsdatei wurde erfolgreich hochgeladen. Sie können den Import jetzt starten.";this.dataMigrationUploadDone=await this.uploadFile("migrate",this.selectedDataMigrationFile,t)},restoreBackup(){this.sendSystemCommand("restoreBackup"),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})},dataMigration(){this.sendSystemCommand("dataMigration",this.dataMigrationMapping)},factoryReset(){this.sendSystemCommand("factoryReset",{}),this.$store.commit("storeLocal",{name:"reloadRequired",value:!0})}}},me={class:"system"},ge={key:1},fe={name:"backupForm"},be={class:"row justify-content-center"},he={class:"col-md-4 d-flex py-1 justify-content-center"},ke={key:0,name:"restoreForm"},ye={class:"input-group"},ve={class:"input-group-prepend"},_e={class:"input-group-text"},we={class:"custom-file"},Ce={id:"input-file-label",class:"custom-file-label",for:"input-file","data-browse":"Suchen"},Be={class:"input-group-append"},De=["disabled"],Se={class:"row justify-content-center"},Me={class:"col-md-4 d-flex py-1 justify-content-center"},We={key:1,name:"cloudBackupForm"},Oe={key:0},Fe={name:"dataMigrationForm"},Ae={class:"input-group"},xe={class:"input-group-prepend"},Le={class:"input-group-text"},Te={class:"custom-file"},ze={id:"data-migration-file-label",class:"custom-file-label",for:"data-migration-file","data-browse":"Suchen"},Ve={class:"input-group-append"},je=["disabled"],Ee={class:"row justify-content-center"},Pe={class:"col-md-4 d-flex py-1 justify-content-center"},Re={key:1,name:"resetForm"},$e={class:"row justify-content-center"},Ue={class:"col-md-4 d-flex py-1 justify-content-center"},qe={key:2,name:"zabbixConfigured"},He={key:0},Ne={key:1},Ie={key:0};function Ge(t,e,l,b,r,a){const g=f("openwb-base-button-group-input"),d=f("openwb-base-alert"),y=f("openwb-base-heading"),v=f("font-awesome-icon"),D=f("openwb-base-click-button"),O=f("openwb-base-select-input"),z=f("openwb-base-button-input"),V=f("openwb-backup-cloud-proxy"),F=f("openwb-base-submit-buttons"),S=f("openwb-base-card"),j=f("openwb-monitoring-proxy");return u(),m("div",me,[l.installAssistantActive?_("",!0):(u(),C(d,{key:0,subtype:"danger"},{default:s(()=>[e[21]||(e[21]=o("h2",null,"Achtung!",-1)),e[22]||(e[22]=o("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),n(g,{modelValue:r.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=p=>r.warningAcknowledged=p),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),r.warningAcknowledged||l.installAssistantActive?(u(),m("div",ge,[n(S,{title:"Sicherung / Wiederherstellung",subtype:"success",collapsible:!0,collapsed:!l.installAssistantActive},{default:s(()=>{var p,k;return[o("form",fe,[n(y,null,{default:s(()=>e[23]||(e[23]=[i("Sicherung")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[24]||(e[24]=[i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),n(d,{subtype:"info"},{default:s(()=>e[25]||(e[25]=[i(" Nachdem die Sicherung abgeschlossen ist, kann die erstellte Datei über den Link in der Benachrichtigung oder "),o("a",{href:"/openWB/data/backup/",target:"_blank"},"hier",-1),i(" heruntergeladen werden. Beim Herunterladen bitte darauf achten, dass die Datei mit der Endung .tar.gz gespeichert wird. Ggf. das automatische Entpacken des Browsers deaktivieren. ")])),_:1}),o("div",be,[o("div",he,[n(D,{class:"btn-success clickable",onButtonClicked:e[1]||(e[1]=c=>a.sendSystemCommand("createBackup",{use_extended_filename:!0}))},{default:s(()=>[e[26]||(e[26]=i(" Sicherung erstellen ")),n(v,{"fixed-width":"",icon:["fas","archive"]})]),_:1})])])]),r.showRestoreSection?(u(),m("form",ke,[e[31]||(e[31]=o("hr",null,null,-1)),n(y,null,{default:s(()=>e[27]||(e[27]=[i("Wiederherstellung")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[28]||(e[28]=[i(" Für die Wiederherstellung wird eine aktive Internetverbindung benötigt."),o("br",null,null,-1),i(' Aktuell können nur Sicherungen wiederhergestellt werden, die in den Entwicklungszweigen "master", "Beta" oder "Release" erstellt wurden! ')])),_:1}),o("div",ye,[o("div",ve,[o("div",_e,[n(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",we,[o("input",{id:"input-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[2]||(e[2]=c=>a.updateSelectedRestoreFile(c))},null,32),o("label",Ce,h(r.selectedRestoreFile?r.selectedRestoreFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Be,[o("button",{class:M(["btn",r.selectedRestoreFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedRestoreFile,type:"button",onClick:e[3]||(e[3]=c=>a.uploadRestoreFile())},[e[29]||(e[29]=i(" Hochladen ")),n(v,{"fixed-width":"",icon:["fas","upload"]})],10,De)])]),o("div",Se,[o("div",Me,[n(D,{class:M(r.restoreUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.restoreUploadDone,onButtonClicked:e[4]||(e[4]=c=>a.restoreBackup())},{default:s(()=>[e[30]||(e[30]=i(" Wiederherstellung starten ")),n(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])):_("",!0),l.showBackupCloudSection?(u(),m("form",We,[e[35]||(e[35]=o("hr",null,null,-1)),n(y,null,{default:s(()=>e[32]||(e[32]=[i(" Automatische Sicherung in einen Cloud-Dienst ")])),_:1}),n(d,{subtype:"info"},{default:s(()=>e[33]||(e[33]=[i(" Ist die openWB als primary konfiguriert, wird zwischen Mitternacht und 5:00 Uhr automatisch eine Sicherung erstellt und in den angegebenen Cloud-Dienst (nicht openWB Cloud!) hochgeladen. Ist kein Cloud-Dienst konfiguriert, wird keine automatische Sicherung erstellt. Die automatische Sicherung kann unabhängig von der openWB Cloud genutzt werden."),o("br",null,null,-1),i(" Die manuelle Cloud-Sicherung und -falls aktiviert- die Sicherung vor einem Update werden sowohl von einer primary als auch von einer secondary durchgeführt."),o("br",null,null,-1),i(" Die Anleitung zur Konfiguration des Cloud-Dienstes findest Du "),o("a",{href:"https://github.com/openWB/core/wiki/Cloud-Sicherung",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),i(" . ")])),_:1}),n(O,{class:"mb-2",title:"Backup-Cloud",options:a.backupCloudList,"model-value":(p=t.$store.state.mqtt["openWB/system/backup_cloud/config"])==null?void 0:p.type,"onUpdate:modelValue":e[5]||(e[5]=c=>a.updateSelectedBackupCloud(c))},null,8,["options","model-value"]),(k=t.$store.state.mqtt["openWB/system/backup_cloud/config"])!=null&&k.type?(u(),m("div",Oe,[n(g,{title:"Sicherung vor System-Update",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/backup_cloud/backup_before_update"],"onUpdate:modelValue":e[6]||(e[6]=c=>t.updateState("openWB/system/backup_cloud/backup_before_update",c))},{help:s(()=>e[34]||(e[34]=[i(" Ist diese Option aktiviert, dann wird vor jedem System-Update automatisch eine Sicherung erstellt und diese in die Backup-Cloud hochgeladen. ")])),_:1},8,["model-value"]),n(z,{title:"Manuelle Cloud-Sicherung","button-text":"Sicherung erstellen und hochladen",subtype:"success",onButtonClicked:e[7]||(e[7]=c=>a.sendSystemCommand("createCloudBackup",{}))}),n(V,{"backup-cloud":t.$store.state.mqtt["openWB/system/backup_cloud/config"],"onUpdate:configuration":e[8]||(e[8]=c=>a.updateConfiguration("openWB/system/backup_cloud/config",c)),onSendCommand:e[9]||(e[9]=c=>a.sendSystemCommand(c.command,c.args))},null,8,["backup-cloud"])])):_("",!0),n(F,{"form-name":"cloudBackupForm","hide-reset":!0,"hide-defaults":!0,onSave:e[10]||(e[10]=c=>t.$emit("save")),onReset:e[11]||(e[11]=c=>t.$emit("reset")),onDefaults:e[12]||(e[12]=c=>t.$emit("defaults"))})])):_("",!0)]}),_:1},8,["collapsed"]),l.installAssistantActive?_("",!0):(u(),C(S,{key:0,title:"Datenübernahme",subtype:"success",collapsible:!0,collapsed:!0},{default:s(()=>[o("form",Fe,[n(d,{subtype:"info"},{default:s(()=>e[36]||(e[36]=[i(" Hier kann die Sicherung einer älteren 1.9er Version hochgeladen werden, um vorhandene historische Daten (Diagramme und Ladeprotokolle) sowie Cloud-Daten und Seriennummer in diese Installation zu importieren. Die Zuordnung zwischen den alten und neuen Komponenten muss manuell durchgeführt werden. ")])),_:1}),n(d,{subtype:"danger"},{default:s(()=>e[37]||(e[37]=[i(" Die Portierung kann bei vielen historischen Daten von mehreren Jahren durchaus bis zu 30 Minuten dauern. Die openWB in dieser Zeit bitte nicht herunterfahren! Du erhältst eine Meldung, wenn die Datenübernahme abgeschlossen ist."),o("br",null,null,-1),i(" Vor der Datenübernahme unbedingt eine Sicherung erstellen."),o("br",null,null,-1),i(" Die Datenübernahme kann nur durch Einspielen einer Sicherung rückgängig gemacht werden! ")])),_:1}),o("div",Ae,[o("div",xe,[o("div",Le,[n(v,{"fixed-width":"",icon:["fas","file-archive"]})])]),o("div",Te,[o("input",{id:"data-migration-file",type:"file",class:"custom-file-input",accept:".tar.gz,application/gzip,application/tar+gzip",onChange:e[13]||(e[13]=p=>a.updateSelectedDataMigrationFile(p))},null,32),o("label",ze,h(r.selectedDataMigrationFile?r.selectedDataMigrationFile.name:"Bitte eine Datei auswählen"),1)]),o("div",Ve,[o("button",{class:M(["btn",r.selectedDataMigrationFile?"btn-success clickable":"btn-outline-success"]),disabled:!r.selectedDataMigrationFile,type:"button",onClick:e[14]||(e[14]=p=>a.uploadDataMigrationFile())},[e[38]||(e[38]=i(" Hochladen ")),n(v,{"fixed-width":"",icon:["fas","upload"]})],10,je)])]),n(y,null,{default:s(()=>e[39]||(e[39]=[i(" Zuordnung der Komponenten ")])),_:1}),(u(!0),m(W,null,A(r.dataMigrationConfig,p=>(u(),m("div",{key:p.sectionName},[n(y,null,{default:s(()=>[i(h(p.sectionName),1)]),_:2},1024),(u(!0),m(W,null,A(p.sectionComponents,k=>(u(),C(O,{key:k.key,modelValue:r.dataMigrationMapping[k.key],"onUpdate:modelValue":c=>r.dataMigrationMapping[k.key]=c,title:k.label,options:a.getMigrationOptions(k.validTypes)},I({_:2},[k.help?{name:"help",fn:s(()=>[i(h(k.help),1)]),key:"0"}:void 0]),1032,["modelValue","onUpdate:modelValue","title","options"]))),128))]))),128)),o("div",Ee,[o("div",Pe,[n(D,{class:M(r.dataMigrationUploadDone?"btn-success clickable":"btn-outline-success"),disabled:!r.dataMigrationUploadDone,onButtonClicked:e[15]||(e[15]=p=>a.dataMigration())},{default:s(()=>[e[40]||(e[40]=i(" Datenübernahme starten ")),n(v,{"fixed-width":"",icon:["fas","box-open"]})]),_:1},8,["class","disabled"])])])])]),_:1})),l.installAssistantActive?_("",!0):(u(),m("form",Re,[n(S,{title:"Zurücksetzen",subtype:"danger",collapsible:!0,collapsed:!0},{footer:s(()=>[o("div",$e,[o("div",Ue,[n(D,{class:"btn-danger clickable",onButtonClicked:e[16]||(e[16]=p=>a.factoryReset())},{default:s(()=>[n(v,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[42]||(e[42]=i(" Zurücksetzen ")),n(v,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1})])])]),default:s(()=>[n(d,{subtype:"danger"},{default:s(()=>e[41]||(e[41]=[i(" Alle Einstellungen, angelegte Geräte/Komponenten, Ladepunkte und Fahrzeuge, etc., Tages-, Monats- und Jahresauswertungen sowie das Ladeprotokoll werden unwiederbringlich gelöscht. Auch die Vorkonfiguration im Auslieferungszustand wird gelöscht. Die openWB muss danach komplett neu eingerichtet werden. Die openWB wird hierfür automatisch neu gestartet. Bitte erstelle vor dem Zurücksetzen eine Sicherung! ")])),_:1})]),_:1})])),l.installAssistantActive?_("",!0):(u(),m("form",qe,[n(S,{title:"Monitoring",subtype:"success",collapsible:!0,collapsed:!0},{footer:s(()=>[n(F,{"form-name":t.zabbixConfigured,"hide-defaults":!0,onSave:e[19]||(e[19]=p=>t.$emit("save")),onReset:e[20]||(e[20]=p=>t.$emit("reset"))},null,8,["form-name"])]),default:s(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",He,[n(d,{subtype:"info"},{default:s(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",Ne,[n(d,{subtype:"info"},{default:s(()=>e[44]||(e[44]=[i(" Das Monitoring informiert Dich sofort per E-Mail, wenn eine Deiner Kompnenten oder Ladepunkte ein Problem hat oder die openWB nicht mehr erreichbar ist. ")])),_:1}),n(O,{class:"mb-2",title:"Anbieter",options:a.monitoringList,"model-value":t.$store.state.mqtt["openWB/optional/monitoring/config"]?t.$store.state.mqtt["openWB/optional/monitoring/config"].type:"","onUpdate:modelValue":e[17]||(e[17]=p=>a.updateSelectedMonitoring(p))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/monitoring/config"]&&t.$store.state.mqtt["openWB/optional/monitoring/config"].type?(u(),m("div",Ie,[n(j,{monitoring:t.$store.state.mqtt["openWB/optional/monitoring/config"],"onUpdate:configuration":e[18]||(e[18]=p=>a.updateConfiguration("openWB/optional/monitoring/config",p))},null,8,["monitoring"])])):_("",!0)]))]),_:1})]))])):_("",!0)])}const Je=w(ce,[["render",Ge],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DataManagement.vue"]]),Ye=Object.freeze(Object.defineProperty({__proto__:null,default:Je},Symbol.toStringTag,{value:"Module"}));export{J as B,Je as D,ie as M,Ye as a}; diff --git a/web/settings/assets/DebugConfig-050c9871.js b/web/settings/assets/DebugConfig-e9d90cc1.js similarity index 81% rename from web/settings/assets/DebugConfig-050c9871.js rename to web/settings/assets/DebugConfig-e9d90cc1.js index a9437d55d9..c27273a28a 100644 --- a/web/settings/assets/DebugConfig-050c9871.js +++ b/web/settings/assets/DebugConfig-e9d90cc1.js @@ -1,2 +1,2 @@ -import{C as k}from"./index-3434d31b.js";import{l as B,a8 as D,a9 as L,F as W}from"./vendor-fortawesome-05d7e447.js";import{_,u as s,k as d,z as w,E as l,G as i,q as C,A as F,x as v,F as x,l as b,N as y,M as N,y as f}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";B.add(D,L);const $={name:"OpenwbLogCard",components:{FontAwesomeIcon:W},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1}},methods:{async getFilePromise(n,e=!1){return this.axios.get(location.protocol+"//"+location.host+n).then(t=>t.data).catch(t=>t.response?t.response.status==404&&e?"":`A 404 is expected if running node.js dev server! -`+t.response.status+" "+t.response.statusText+": "+t.response.request.responseURL:t.request?t.request:t.message)},async loadLog(n){this.logData="wird aktualisiert...",this.loading=!0;var e="";for(let r=4;r>=1;r--){const a=await this.getFilePromise(n+"."+r,!0);e+=a}const t=await this.getFilePromise(n);e+=t,this.logData=e,this.loading=!1}}},S={class:"log-data mb-0"};function P(n,e,t,r,a,g){const u=s("font-awesome-icon"),p=s("openwb-base-avatar"),m=s("openwb-base-card");return d(),w(m,{title:t.title,class:"log-card",collapsible:!0,collapsed:!0},{actions:l(()=>[i(p,{class:"bg-success clickable",onClick:e[0]||(e[0]=F(c=>g.loadLog(t.logFile),["stop"]))},{default:l(()=>[i(u,{"fixed-width":"",class:C(a.loading?"fa-spin-pulse":""),icon:a.loading?["fas","spinner"]:["fas","file-download"]},null,8,["class","icon"])]),_:1})]),default:l(()=>[v("pre",S,x(a.logData),1)]),_:1},8,["title"])}const I=_($,[["render",P],["__scopeId","data-v-a320c3d6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/debug_config/LogCard.vue"]]),q={name:"OpenwbDebuggingView",components:{OpenwbLogCard:I},mixins:[k],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/debug_level"],logFiles:[{title:"Main-Log",fileName:"/openWB/ramdisk/main.log"},{title:"Log des internen Ladepunktes",fileName:"/openWB/ramdisk/internal_chargepoint.log"},{title:"MQTT-Log",fileName:"/openWB/ramdisk/mqtt.log"},{title:"SoC-Log",fileName:"/openWB/ramdisk/soc.log"},{title:"Protokoll des letzten Updates",fileName:"/openWB/data/log/update.log"},{title:"Protokoll des Remote-Dienstes",fileName:"/openWB/ramdisk/remote_support.log"},{title:"Protokoll des SmartHome Dienstes",fileName:"/openWB/ramdisk/smarthome.log"},{title:"Protokoll der Datenmigration",fileName:"/openWB/data/log/data_migration.log"}]}}},z={class:"debugging"},V={name:"debugConfigForm"};function T(n,e,t,r,a,g){const u=s("openwb-base-button-group-input"),p=s("openwb-base-alert"),m=s("openwb-base-card"),c=s("openwb-base-submit-buttons"),h=s("openwb-log-card");return d(),b("div",z,[v("form",V,[i(m,{title:"Protokollierung"},{default:l(()=>[i(u,{title:"Debug Level",buttons:[{buttonValue:30,text:"Warnungen und Fehler"},{buttonValue:20,text:"Info"},{buttonValue:10,text:"Details"}],"model-value":n.$store.state.mqtt["openWB/system/debug_level"],"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateState("openWB/system/debug_level",o))},{help:l(()=>e[4]||(e[4]=[f(' Wenn der Debug Level auf "Info" oder "Details" gesetzt wird, werden mehr Informationen in die Logdateien geschrieben. Im normalen Betrieb sollte immer "Warnungen und Fehler" gewählt werden, um die Schreibvorgänge auf der SD-Karte zu reduzieren. ')])),_:1},8,["model-value"]),i(p,{subtype:"warning"},{default:l(()=>e[5]||(e[5]=[f(' Achtung! In den Einstellungen "Info" und "Details" können in den Logdateien sensible Daten wie Benutzernamen und Passwörter enthalten sein. Diese sollten vor dem Veröffentlichen z.B. im Forum unkenntlich gemacht werden. Private IP-Adressen (z.B. 192.168.x.x) müssen nicht maskiert werden, da diese nicht über das Internet erreichbar sind. ')])),_:1})]),_:1}),i(c,{"form-name":"debugConfigForm",onSave:e[1]||(e[1]=o=>n.$emit("save")),onReset:e[2]||(e[2]=o=>n.$emit("reset")),onDefaults:e[3]||(e[3]=o=>n.$emit("defaults"))})]),(d(!0),b(y,null,N(a.logFiles,o=>(d(),w(h,{key:o.fileName,title:o.title,"log-file":o.fileName},null,8,["title","log-file"]))),128))])}const G=_(q,[["render",T],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DebugConfig.vue"]]);export{G as default}; +import{C as k}from"./index-6ffbdc7e.js";import{l as B,a8 as D,a9 as L,F as W}from"./vendor-fortawesome-231ff303.js";import{_,u as s,l as d,z as w,E as l,G as i,q as C,A as F,x as v,F as x,m as b,N as y,M as N,y as f}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";B.add(D,L);const $={name:"OpenwbLogCard",components:{FontAwesomeIcon:W},props:{title:{type:String,required:!0},logFile:{type:String,required:!0}},data(){return{logData:"-- noch nicht geladen --",loading:!1}},methods:{async getFilePromise(n,e=!1){return this.axios.get(location.protocol+"//"+location.host+n).then(t=>t.data).catch(t=>t.response?t.response.status==404&&e?"":`A 404 is expected if running node.js dev server! +`+t.response.status+" "+t.response.statusText+": "+t.response.request.responseURL:t.request?t.request:t.message)},async loadLog(n){this.logData="wird aktualisiert...",this.loading=!0;var e="";for(let r=4;r>=1;r--){const a=await this.getFilePromise(n+"."+r,!0);e+=a}const t=await this.getFilePromise(n);e+=t,this.logData=e,this.loading=!1}}},S={class:"log-data mb-0"};function P(n,e,t,r,a,g){const u=s("font-awesome-icon"),m=s("openwb-base-avatar"),p=s("openwb-base-card");return d(),w(p,{title:t.title,class:"log-card",collapsible:!0,collapsed:!0},{actions:l(()=>[i(m,{class:"bg-success clickable",onClick:e[0]||(e[0]=F(c=>g.loadLog(t.logFile),["stop"]))},{default:l(()=>[i(u,{"fixed-width":"",class:C(a.loading?"fa-spin-pulse":""),icon:a.loading?["fas","spinner"]:["fas","file-download"]},null,8,["class","icon"])]),_:1})]),default:l(()=>[v("pre",S,x(a.logData),1)]),_:1},8,["title"])}const I=_($,[["render",P],["__scopeId","data-v-a320c3d6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/debug_config/LogCard.vue"]]),q={name:"OpenwbDebuggingView",components:{OpenwbLogCard:I},mixins:[k],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/debug_level"],logFiles:[{title:"Main-Log",fileName:"/openWB/ramdisk/main.log"},{title:"Log des internen Ladepunktes",fileName:"/openWB/ramdisk/internal_chargepoint.log"},{title:"MQTT-Log",fileName:"/openWB/ramdisk/mqtt.log"},{title:"SoC-Log",fileName:"/openWB/ramdisk/soc.log"},{title:"Protokoll des letzten Updates",fileName:"/openWB/data/log/update.log"},{title:"Protokoll des Remote-Dienstes",fileName:"/openWB/ramdisk/remote_support.log"},{title:"Protokoll des SmartHome Dienstes",fileName:"/openWB/ramdisk/smarthome.log"},{title:"Protokoll der Datenmigration",fileName:"/openWB/data/log/data_migration.log"}]}}},z={class:"debugging"},V={name:"debugConfigForm"};function T(n,e,t,r,a,g){const u=s("openwb-base-button-group-input"),m=s("openwb-base-alert"),p=s("openwb-base-card"),c=s("openwb-base-submit-buttons"),h=s("openwb-log-card");return d(),b("div",z,[v("form",V,[i(p,{title:"Protokollierung"},{default:l(()=>[i(u,{title:"Debug Level",buttons:[{buttonValue:30,text:"Warnungen und Fehler"},{buttonValue:20,text:"Info"},{buttonValue:10,text:"Details"}],"model-value":n.$store.state.mqtt["openWB/system/debug_level"],"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateState("openWB/system/debug_level",o))},{help:l(()=>e[4]||(e[4]=[f(' Wenn der Debug Level auf "Info" oder "Details" gesetzt wird, werden mehr Informationen in die Logdateien geschrieben. Im normalen Betrieb sollte immer "Warnungen und Fehler" gewählt werden, um die Schreibvorgänge auf der SD-Karte zu reduzieren. ')])),_:1},8,["model-value"]),i(m,{subtype:"warning"},{default:l(()=>e[5]||(e[5]=[f(' Achtung! In den Einstellungen "Info" und "Details" können in den Logdateien sensible Daten wie Benutzernamen und Passwörter enthalten sein. Diese sollten vor dem Veröffentlichen z.B. im Forum unkenntlich gemacht werden. Private IP-Adressen (z.B. 192.168.x.x) müssen nicht maskiert werden, da diese nicht über das Internet erreichbar sind. ')])),_:1})]),_:1}),i(c,{"form-name":"debugConfigForm",onSave:e[1]||(e[1]=o=>n.$emit("save")),onReset:e[2]||(e[2]=o=>n.$emit("reset")),onDefaults:e[3]||(e[3]=o=>n.$emit("defaults"))})]),(d(!0),b(y,null,N(a.logFiles,o=>(d(),w(h,{key:o.fileName,title:o.title,"log-file":o.fileName},null,8,["title","log-file"]))),128))])}const G=_(q,[["render",T],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/DebugConfig.vue"]]);export{G as default}; diff --git a/web/settings/assets/GeneralChargeConfig-381b6e1a.js b/web/settings/assets/GeneralChargeConfig-efbc8743.js similarity index 87% rename from web/settings/assets/GeneralChargeConfig-381b6e1a.js rename to web/settings/assets/GeneralChargeConfig-efbc8743.js index 2a79f44581..3db8621950 100644 --- a/web/settings/assets/GeneralChargeConfig-381b6e1a.js +++ b/web/settings/assets/GeneralChargeConfig-efbc8743.js @@ -1 +1 @@ -import{_ as b,C as T}from"./index-3434d31b.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{_ as h,u as s,k as a,l as u,G as n,E as o,y as i,F as B,x as l,a1 as q,z as W,a2 as F,N as D,B as y}from"./vendor-06e11d0e.js";const U={props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},A=h(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/ElectricityTariffConfigMixin.vue"]]),N={name:"ElectricityTariffConfigFallback",mixins:[A]},Z={class:"backup-cloud-fallback"};function M(t,e,m,z,k,g){const d=s("openwb-base-alert"),p=s("openwb-base-textarea");return a(),u("div",Z,[n(d,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+B(t.electricityTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(p,{title:"Konfiguration",subtype:"json","model-value":t.electricityTariff.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[l("pre",null,B(JSON.stringify(t.electricityTariff.configuration,void 0,2)),1)]),_:1})])}const I=h(N,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffConfigFallback.vue"]]),j={name:"OpenwbElectricityTariffProxy",props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading electricity tariff cloud: ${this.electricityTariff.type}`),q({loader:()=>O(Object.assign({"./awattar/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-a29b5ab0.js"),["assets/electricity_tariff-a29b5ab0.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/index-3434d31b.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./energycharts/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-fc55453e.js"),["assets/electricity_tariff-fc55453e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/index-3434d31b.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rabot/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-129312d5.js"),["assets/electricity_tariff-129312d5.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/index-3434d31b.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tibber/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-f5c13e91.js"),["assets/electricity_tariff-f5c13e91.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/index-3434d31b.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./voltego/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-4c70986d.js"),["assets/electricity_tariff-4c70986d.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/index-3434d31b.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.electricityTariff.type}/electricity_tariff.vue`),errorComponent:I})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,m,z,k,g){const d=s("openwb-base-heading");return a(),u(D,null,[n(d,null,{default:o(()=>[i(' Einstellungen für Modul "'+B(m.electricityTariff.name)+'" ',1)]),_:1}),(a(),W(F(g.myComponent),{"electricity-tariff":m.electricityTariff,"onUpdate:configuration":e[0]||(e[0]=p=>g.updateConfiguration(p))},null,40,["electricity-tariff"]))],64)}const H=h(j,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffProxy.vue"]]),G={name:"OpenwbGeneralChargeConfigView",components:{OpenwbElectricityTariffProxy:H},mixins:[T],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/bat/config/power_limit_mode","openWB/bat/get/power_limit_controllable","openWB/general/extern","openWB/general/chargemode_config/phase_switch_delay","openWB/general/chargemode_config/retry_failed_phase_switches","openWB/general/chargemode_config/unbalanced_load","openWB/general/chargemode_config/unbalanced_load_limit","openWB/general/prices/bat","openWB/general/prices/grid","openWB/general/prices/pv","openWB/optional/et/provider","openWB/optional/ocpp/config","openWB/system/configurable/electricity_tariffs"]}},computed:{electricityTariffList(){return this.$store.state.mqtt["openWB/system/configurable/electricity_tariffs"]}},methods:{getElectricityTariffDefaultConfiguration(t){const e=this.electricityTariffList.find(m=>m.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedElectricityTariff(t){this.updateState("openWB/optional/et/provider",t,"type"),this.updateState("openWB/optional/et/provider",this.getElectricityTariffDefaultConfiguration(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},J={class:"generalChargeConfig"},K={name:"generalChargeConfigForm"},x={key:0},Q={key:1},X={key:2},Y={key:0},ee={key:1},te={key:0},ne={key:2},ie={key:3},re={key:0};function oe(t,e,m,z,k,g){const d=s("openwb-base-alert"),p=s("openwb-base-button-group-input"),_=s("openwb-base-range-input"),c=s("openwb-base-number-input"),v=s("openwb-base-heading"),w=s("openwb-base-card"),S=s("openwb-base-select-input"),V=s("openwb-electricity-tariff-proxy"),$=s("openwb-base-text-input"),L=s("openwb-base-submit-buttons");return a(),u("div",J,[l("form",K,[n(w,{title:"Allgemein"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),u("div",x,[n(d,{subtype:"info"},{default:o(()=>e[16]||(e[16]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),u("div",Q,[n(p,{title:"Begrenzung der Schieflast",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load",r))},{help:o(()=>e[17]||(e[17]=[i(" Wenn diese Option aktiviert ist, werden nicht-dreiphasige Ladevorgänge so geregelt, dass am Netzanschlusspunkt (EVU-Zähler) die eingestellte Grenze für die Schieflast nicht überschritten wird. Hierfür muss der EVU-Zähler einzelne Phasenströme bereitstellen!"),l("br",null,null,-1),i(' Weiterhin müssen bei den Ladepunkten sowie Fahrzeugen sämtliche Angaben zur Anzahl angeschlossener/unterstützter Phasen und der Phasenrotation hinterlegt werden, damit der Regelung bekannt ist, welcher Ladevorgang welche Phase am Netzanschluss beeinflusst. siehe "Konfiguration - Ladepunkte -> elektrischer Anschluss - Phase 1" und "Konfiguration - Fahrzeuge -> Fahrzeug-Profile" ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(a(),W(_,{key:0,title:"Erlaubte Schieflast",min:10,max:32,step:1,unit:"A","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load_limit"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load_limit",r))},{help:o(()=>e[18]||(e[18]=[i(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ")])),_:1},8,["model-value"])):y("",!0),n(p,{title:"Phasenumschaltung wiederholt anstoßen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/retry_failed_phase_switches"],"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/general/chargemode_config/retry_failed_phase_switches",r))},{help:o(()=>e[19]||(e[19]=[i(" Wenn diese Option aktiviert ist, werden bis zu drei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt."),l("br",null,null,-1),i(" Die gezählten Fehlversuche werden mit dem Abstecken zurückgesetzt. ")])),_:1},8,["model-value"]),n(c,{title:"Verzögerung automat. Phasenumschaltung",unit:"Min.",min:5,max:20,step:1,"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/phase_switch_delay"],"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateState("openWB/general/chargemode_config/phase_switch_delay",r))},{help:o(()=>e[20]||(e[20]=[i(" Um zu viele Umschaltungen zu vermeiden, wird mindestens die hier eingestellte Zeit zwischen zwei Umschaltungen abgewartet. Das Umschalten auf mehrphasiges Laden erfolgt nur, wenn mit der maximalen Stromstärke geladen wird und genug Leistung für mehrphasiges Laden zur Verfügung steht. Auf einphasiges Laden wird zurückgeschaltet, wenn auf die minimale Stromstärke heruntergeregelt wurde. Die Verzögerung wird nur bei der automatischen Phasenumschaltung bei Überschuss-Laden abgewartet."),l("br",null,null,-1),i(" Ist ausreichend Überschuss vorhanden, wird beim Ladestart die Umschaltverzögerung nicht abgewartet, sondern direkt mit mehrphasiger Ladung begonnen. ")])),_:1},8,["model-value"]),e[24]||(e[24]=l("hr",null,null,-1)),n(v,null,{help:o(()=>e[21]||(e[21]=[i(" Zur Berechnung der Ladekosten im Lade-Protokoll werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert."),l("br",null,null,-1),i(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ")])),default:o(()=>[e[22]||(e[22]=i(" Berechnung der Ladekosten "))]),_:1}),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),W(d,{key:1,subtype:"info"},{default:o(()=>e[23]||(e[23]=[i(" Für den Netzbezug wird der dynamische Strompreis des Anbieters für variable Stromtarife verwendet. ")])),_:1})):(a(),u("div",X,[n(c,{title:"Preis für Netzbezug",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/grid"]*1e5,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateState("openWB/general/prices/grid",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])])),n(c,{title:"Preis für Speicherentladung",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/bat"]*1e5,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateState("openWB/general/prices/bat",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"]),n(c,{title:"Preis für PV-Strom",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/pv"]*1e5,"onUpdate:modelValue":e[6]||(e[6]=r=>t.updateState("openWB/general/prices/pv",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])]))]),_:1}),n(w,{title:"Optional"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),u("div",Y,[n(d,{subtype:"info"},{default:o(()=>e[25]||(e[25]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),u("div",ee,[n(v,null,{default:o(()=>e[26]||(e[26]=[i(" Variable Stromtarife ")])),_:1}),n(d,{subtype:"info"},{default:o(()=>e[27]||(e[27]=[i(" Bei Sofort- und Zeitladen wird nur geladen, wenn der Strompreis unter dem angegebenen maximalen Strompreis liegt. Für Zielladen wird die Ladedauer ermittelt und dann zu den günstigsten Stunden geladen."),l("br",null,null,-1),i(" Wenn keine Preise abgefragt werden können, wird bei Sofort- und Zeitladen immer geladen und bei Zielladen zunächst mit PV-Überschuss und zum Erreichen des Zieltermins mit Netzstrom. ")])),_:1}),n(S,{class:"mb-2",title:"Anbieter",options:g.electricityTariffList,"model-value":t.$store.state.mqtt["openWB/optional/et/provider"]?t.$store.state.mqtt["openWB/optional/et/provider"].type:"","onUpdate:modelValue":e[7]||(e[7]=r=>g.updateSelectedElectricityTariff(r))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),u("div",te,[n(V,{"electricity-tariff":t.$store.state.mqtt["openWB/optional/et/provider"],"onUpdate:configuration":e[8]||(e[8]=r=>g.updateConfiguration("openWB/optional/et/provider",r))},null,8,["electricity-tariff"])])):y("",!0)])),e[31]||(e[31]=l("hr",null,null,-1)),n(v,null,{default:o(()=>e[28]||(e[28]=[i(" Speicher-Entladung ins Fahrzeug steuern ")])),_:1}),t.$store.state.mqtt["openWB/bat/get/power_limit_controllable"]===!0?(a(),u("div",ne,[n(p,{title:"Speicher-Entladung",buttons:[{buttonValue:"no_limit",text:"immer"},{buttonValue:"limit_stop",text:"gesperrt, wenn Fahrzeug lädt"},{buttonValue:"limit_to_home_consumption",text:"für Hausverbrauch"}],"model-value":t.$store.state.mqtt["openWB/bat/config/power_limit_mode"],"onUpdate:modelValue":e[9]||(e[9]=r=>t.updateState("openWB/bat/config/power_limit_mode",r))},{help:o(()=>e[29]||(e[29]=[i(" Wenn das Entladen des Speichers immer erlaubt ist, wird das Fahrzeug aus dem Speicher geladen anstatt Strom aus dem Netz zu beziehen. "),l("br",null,null,-1),i(' Im Modus "gesperrt, wenn Fahrzeug lädt", wird die Entladung nur zugelassen, wenn alle Fahrzeuge im Modus PV-Laden ohne Mindeststrom oder Zielladen mit PV-Überschuss laden.'),l("br",null,null,-1),i(' Wenn das Entladen des Speichers auf den Hausverbrauch begrenzt ist und mindestens Fahrzeuge nicht im Modus PV-Laden ohne Mindeststrom oder Zielladen lädt, wird die Entladung des Speichers in Höhe des Hausverbrauchs zugelassen. Kann die Entladung am Speicher nur komplett gesperrt werden, verhält sich diese Einstellung wie "gesperrt, wenn Fahrzeug lädt".'),l("br",null,null,-1),i(" Diese Einstellung übersteuert ggf die Einstellungen zur Speicher-Beachtung im Modus PV-Laden. ")])),_:1},8,["model-value"])])):(a(),u("div",ie,[n(d,{subtype:"info"},{default:o(()=>e[30]||(e[30]=[i(" Die Speicher-Entladung ins Fahrzeug kann nicht gesteuert werden, da die Entladeleistung nicht an den/die konfigurierten Speicher übergeben werden kann. ")])),_:1})]))]),_:1}),n(w,{title:"OCPP Anbindung"},{default:o(()=>{var r,P,E,C;return[n(p,{title:"OCPP aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(r=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:r.active,"onUpdate:modelValue":e[10]||(e[10]=f=>t.updateState("openWB/optional/ocpp/config",f,"active"))},null,8,["model-value"]),((P=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:P.active)===!0?(a(),u("div",re,[n(d,{subtype:"info"},{default:o(()=>e[32]||(e[32]=[i(" Die Ladepunkte übermitteln den ID-Tag, Heartbeat und den Zählerstand zum Zeitpunkt des Ansteckens, Absteckens und alle 5 Minuten. Eine Steuerung per OCPP ist nicht möglich."),l("br",null,null,-1),i(" Alle Ladepunkte, die ihre Daten an das OCPP-Backend übermitteln sollen, müssen zunächst im OCPP-Backend angelegt werden. Die dort eingetragene Chargebox ID muss in der openWB in den Einstellungen des Ladepunkts eingetragen werden. ")])),_:1}),n($,{title:"URL des OCPP-Backends",subtype:"host","model-value":(E=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:E.url,"onUpdate:modelValue":e[11]||(e[11]=f=>t.updateState("openWB/optional/ocpp/config",f,"url"))},null,8,["model-value"]),n(S,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"ocpp1.6",text:"OCPP 1.6"},{value:"ocpp2.0.1",text:"OCPP 2.0.1"}],"model-value":(C=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:C.version,"onUpdate:modelValue":e[12]||(e[12]=f=>t.updateState("openWB/optional/ocpp/config",f,"version"))},null,8,["model-value"])])):y("",!0)]}),_:1}),n(L,{"form-name":"generalChargeConfigForm",onSave:e[13]||(e[13]=r=>t.$emit("save")),onReset:e[14]||(e[14]=r=>t.$emit("reset")),onDefaults:e[15]||(e[15]=r=>t.$emit("defaults"))})])])}const ae=h(G,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]),de=Object.freeze(Object.defineProperty({__proto__:null,default:ae},Symbol.toStringTag,{value:"Module"}));export{A as E,de as G}; +import{_ as b,C as T}from"./index-6ffbdc7e.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{_ as h,u as s,l as a,m as u,G as n,E as o,y as i,F as B,x as l,a1 as q,z as W,a2 as F,N as D,B as y}from"./vendor-0c15df0c.js";const U={props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},A=h(U,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/ElectricityTariffConfigMixin.vue"]]),N={name:"ElectricityTariffConfigFallback",mixins:[A]},Z={class:"backup-cloud-fallback"};function M(t,e,m,z,k,g){const d=s("openwb-base-alert"),p=s("openwb-base-textarea");return a(),u("div",Z,[n(d,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für den Anbieter "'+B(t.electricityTariff.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(p,{title:"Konfiguration",subtype:"json","model-value":t.electricityTariff.configuration,"onUpdate:modelValue":e[0]||(e[0]=_=>t.updateConfiguration(_,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[l("pre",null,B(JSON.stringify(t.electricityTariff.configuration,void 0,2)),1)]),_:1})])}const I=h(N,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffConfigFallback.vue"]]),j={name:"OpenwbElectricityTariffProxy",props:{electricityTariff:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading electricity tariff cloud: ${this.electricityTariff.type}`),q({loader:()=>O(Object.assign({"./awattar/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-25c95a91.js"),["assets/electricity_tariff-25c95a91.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-6ffbdc7e.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./energycharts/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-c90db892.js"),["assets/electricity_tariff-c90db892.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-6ffbdc7e.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rabot/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-7404ac8d.js"),["assets/electricity_tariff-7404ac8d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-6ffbdc7e.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tibber/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-97cad0ee.js"),["assets/electricity_tariff-97cad0ee.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-6ffbdc7e.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./voltego/electricity_tariff.vue":()=>b(()=>import("./electricity_tariff-52f92b6b.js"),["assets/electricity_tariff-52f92b6b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-6ffbdc7e.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.electricityTariff.type}/electricity_tariff.vue`),errorComponent:I})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,m,z,k,g){const d=s("openwb-base-heading");return a(),u(D,null,[n(d,null,{default:o(()=>[i(' Einstellungen für Modul "'+B(m.electricityTariff.name)+'" ',1)]),_:1}),(a(),W(F(g.myComponent),{"electricity-tariff":m.electricityTariff,"onUpdate:configuration":e[0]||(e[0]=p=>g.updateConfiguration(p))},null,40,["electricity-tariff"]))],64)}const H=h(j,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/OpenwbElectricityTariffProxy.vue"]]),G={name:"OpenwbGeneralChargeConfigView",components:{OpenwbElectricityTariffProxy:H},mixins:[T],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/bat/config/power_limit_mode","openWB/bat/get/power_limit_controllable","openWB/general/extern","openWB/general/chargemode_config/phase_switch_delay","openWB/general/chargemode_config/retry_failed_phase_switches","openWB/general/chargemode_config/unbalanced_load","openWB/general/chargemode_config/unbalanced_load_limit","openWB/general/prices/bat","openWB/general/prices/grid","openWB/general/prices/pv","openWB/optional/et/provider","openWB/optional/ocpp/config","openWB/system/configurable/electricity_tariffs"]}},computed:{electricityTariffList(){return this.$store.state.mqtt["openWB/system/configurable/electricity_tariffs"]}},methods:{getElectricityTariffDefaultConfiguration(t){const e=this.electricityTariffList.find(m=>m.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedElectricityTariff(t){this.updateState("openWB/optional/et/provider",t,"type"),this.updateState("openWB/optional/et/provider",this.getElectricityTariffDefaultConfiguration(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},J={class:"generalChargeConfig"},K={name:"generalChargeConfigForm"},x={key:0},Q={key:1},X={key:2},Y={key:0},ee={key:1},te={key:0},ne={key:2},ie={key:3},re={key:0};function oe(t,e,m,z,k,g){const d=s("openwb-base-alert"),p=s("openwb-base-button-group-input"),_=s("openwb-base-range-input"),c=s("openwb-base-number-input"),v=s("openwb-base-heading"),w=s("openwb-base-card"),S=s("openwb-base-select-input"),V=s("openwb-electricity-tariff-proxy"),$=s("openwb-base-text-input"),L=s("openwb-base-submit-buttons");return a(),u("div",J,[l("form",K,[n(w,{title:"Allgemein"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),u("div",x,[n(d,{subtype:"info"},{default:o(()=>e[16]||(e[16]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),u("div",Q,[n(p,{title:"Begrenzung der Schieflast",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load",r))},{help:o(()=>e[17]||(e[17]=[i(" Wenn diese Option aktiviert ist, werden nicht-dreiphasige Ladevorgänge so geregelt, dass am Netzanschlusspunkt (EVU-Zähler) die eingestellte Grenze für die Schieflast nicht überschritten wird. Hierfür muss der EVU-Zähler einzelne Phasenströme bereitstellen!"),l("br",null,null,-1),i(' Weiterhin müssen bei den Ladepunkten sowie Fahrzeugen sämtliche Angaben zur Anzahl angeschlossener/unterstützter Phasen und der Phasenrotation hinterlegt werden, damit der Regelung bekannt ist, welcher Ladevorgang welche Phase am Netzanschluss beeinflusst. siehe "Konfiguration - Ladepunkte -> elektrischer Anschluss - Phase 1" und "Konfiguration - Fahrzeuge -> Fahrzeug-Profile" ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load"]?(a(),W(_,{key:0,title:"Erlaubte Schieflast",min:10,max:32,step:1,unit:"A","model-value":t.$store.state.mqtt["openWB/general/chargemode_config/unbalanced_load_limit"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/general/chargemode_config/unbalanced_load_limit",r))},{help:o(()=>e[18]||(e[18]=[i(" Hiermit wird festgelegt, welche Schieflast am Netzanschlusspunkt erlaubt ist. Bei Überschreitung werden gezielt einzelne Ladevorgänge in der Leistung begrenzt. ")])),_:1},8,["model-value"])):y("",!0),n(p,{title:"Phasenumschaltung wiederholt anstoßen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/retry_failed_phase_switches"],"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/general/chargemode_config/retry_failed_phase_switches",r))},{help:o(()=>e[19]||(e[19]=[i(" Wenn diese Option aktiviert ist, werden bis zu drei Umschaltversuche vorgenommen, wenn die vorgegebene und genutzte Phasenzahl nicht übereinstimmen. Wird die Option deaktiviert, wird nur eine Umschaltung durchgeführt."),l("br",null,null,-1),i(" Die gezählten Fehlversuche werden mit dem Abstecken zurückgesetzt. ")])),_:1},8,["model-value"]),n(c,{title:"Verzögerung automat. Phasenumschaltung",unit:"Min.",min:5,max:20,step:1,"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/phase_switch_delay"],"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateState("openWB/general/chargemode_config/phase_switch_delay",r))},{help:o(()=>e[20]||(e[20]=[i(" Um zu viele Umschaltungen zu vermeiden, wird mindestens die hier eingestellte Zeit zwischen zwei Umschaltungen abgewartet. Das Umschalten auf mehrphasiges Laden erfolgt nur, wenn mit der maximalen Stromstärke geladen wird und genug Leistung für mehrphasiges Laden zur Verfügung steht. Auf einphasiges Laden wird zurückgeschaltet, wenn auf die minimale Stromstärke heruntergeregelt wurde. Die Verzögerung wird nur bei der automatischen Phasenumschaltung bei Überschuss-Laden abgewartet."),l("br",null,null,-1),i(" Ist ausreichend Überschuss vorhanden, wird beim Ladestart die Umschaltverzögerung nicht abgewartet, sondern direkt mit mehrphasiger Ladung begonnen. ")])),_:1},8,["model-value"]),e[24]||(e[24]=l("hr",null,null,-1)),n(v,null,{help:o(()=>e[21]||(e[21]=[i(" Zur Berechnung der Ladekosten im Lade-Protokoll werden stundenweise die Anteile der Stromquellen (Speicher, Netz, PV) berechnet und mit den hier angegebenen Preisen multipliziert."),l("br",null,null,-1),i(" Ist die Abrechnung über das Ladeprotokoll, z.B. mit dem Arbeitgeber, vereinbart, ist bei allen drei Feldern der vereinbarte Preis einzutragen. ")])),default:o(()=>[e[22]||(e[22]=i(" Berechnung der Ladekosten "))]),_:1}),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),W(d,{key:1,subtype:"info"},{default:o(()=>e[23]||(e[23]=[i(" Für den Netzbezug wird der dynamische Strompreis des Anbieters für variable Stromtarife verwendet. ")])),_:1})):(a(),u("div",X,[n(c,{title:"Preis für Netzbezug",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/grid"]*1e5,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateState("openWB/general/prices/grid",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])])),n(c,{title:"Preis für Speicherentladung",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/bat"]*1e5,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateState("openWB/general/prices/bat",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"]),n(c,{title:"Preis für PV-Strom",step:.001,precision:3,unit:"ct/kWh",required:"","model-value":t.$store.state.mqtt["openWB/general/prices/pv"]*1e5,"onUpdate:modelValue":e[6]||(e[6]=r=>t.updateState("openWB/general/prices/pv",parseFloat((r/1e5).toFixed(7))))},null,8,["model-value"])]))]),_:1}),n(w,{title:"Optional"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),u("div",Y,[n(d,{subtype:"info"},{default:o(()=>e[25]||(e[25]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),u("div",ee,[n(v,null,{default:o(()=>e[26]||(e[26]=[i(" Variable Stromtarife ")])),_:1}),n(d,{subtype:"info"},{default:o(()=>e[27]||(e[27]=[i(" Bei Sofort- und Zeitladen wird nur geladen, wenn der Strompreis unter dem angegebenen maximalen Strompreis liegt. Für Zielladen wird die Ladedauer ermittelt und dann zu den günstigsten Stunden geladen."),l("br",null,null,-1),i(" Wenn keine Preise abgefragt werden können, wird bei Sofort- und Zeitladen immer geladen und bei Zielladen zunächst mit PV-Überschuss und zum Erreichen des Zieltermins mit Netzstrom. ")])),_:1}),n(S,{class:"mb-2",title:"Anbieter",options:g.electricityTariffList,"model-value":t.$store.state.mqtt["openWB/optional/et/provider"]?t.$store.state.mqtt["openWB/optional/et/provider"].type:"","onUpdate:modelValue":e[7]||(e[7]=r=>g.updateSelectedElectricityTariff(r))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/optional/et/provider"]&&t.$store.state.mqtt["openWB/optional/et/provider"].type?(a(),u("div",te,[n(V,{"electricity-tariff":t.$store.state.mqtt["openWB/optional/et/provider"],"onUpdate:configuration":e[8]||(e[8]=r=>g.updateConfiguration("openWB/optional/et/provider",r))},null,8,["electricity-tariff"])])):y("",!0)])),e[31]||(e[31]=l("hr",null,null,-1)),n(v,null,{default:o(()=>e[28]||(e[28]=[i(" Speicher-Entladung ins Fahrzeug steuern ")])),_:1}),t.$store.state.mqtt["openWB/bat/get/power_limit_controllable"]===!0?(a(),u("div",ne,[n(p,{title:"Speicher-Entladung",buttons:[{buttonValue:"no_limit",text:"immer"},{buttonValue:"limit_stop",text:"gesperrt, wenn Fahrzeug lädt"},{buttonValue:"limit_to_home_consumption",text:"für Hausverbrauch"}],"model-value":t.$store.state.mqtt["openWB/bat/config/power_limit_mode"],"onUpdate:modelValue":e[9]||(e[9]=r=>t.updateState("openWB/bat/config/power_limit_mode",r))},{help:o(()=>e[29]||(e[29]=[i(" Wenn das Entladen des Speichers immer erlaubt ist, wird das Fahrzeug aus dem Speicher geladen anstatt Strom aus dem Netz zu beziehen. "),l("br",null,null,-1),i(' Im Modus "gesperrt, wenn Fahrzeug lädt", wird die Entladung nur zugelassen, wenn alle Fahrzeuge im Modus PV-Laden ohne Mindeststrom oder Zielladen mit PV-Überschuss laden.'),l("br",null,null,-1),i(' Wenn das Entladen des Speichers auf den Hausverbrauch begrenzt ist und mindestens Fahrzeuge nicht im Modus PV-Laden ohne Mindeststrom oder Zielladen lädt, wird die Entladung des Speichers in Höhe des Hausverbrauchs zugelassen. Kann die Entladung am Speicher nur komplett gesperrt werden, verhält sich diese Einstellung wie "gesperrt, wenn Fahrzeug lädt".'),l("br",null,null,-1),i(" Diese Einstellung übersteuert ggf die Einstellungen zur Speicher-Beachtung im Modus PV-Laden. ")])),_:1},8,["model-value"])])):(a(),u("div",ie,[n(d,{subtype:"info"},{default:o(()=>e[30]||(e[30]=[i(" Die Speicher-Entladung ins Fahrzeug kann nicht gesteuert werden, da die Entladeleistung nicht an den/die konfigurierten Speicher übergeben werden kann. ")])),_:1})]))]),_:1}),n(w,{title:"OCPP Anbindung"},{default:o(()=>{var r,P,E,C;return[n(p,{title:"OCPP aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(r=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:r.active,"onUpdate:modelValue":e[10]||(e[10]=f=>t.updateState("openWB/optional/ocpp/config",f,"active"))},null,8,["model-value"]),((P=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:P.active)===!0?(a(),u("div",re,[n(d,{subtype:"info"},{default:o(()=>e[32]||(e[32]=[i(" Die Ladepunkte übermitteln den ID-Tag, Heartbeat und den Zählerstand zum Zeitpunkt des Ansteckens, Absteckens und alle 5 Minuten. Eine Steuerung per OCPP ist nicht möglich."),l("br",null,null,-1),i(" Alle Ladepunkte, die ihre Daten an das OCPP-Backend übermitteln sollen, müssen zunächst im OCPP-Backend angelegt werden. Die dort eingetragene Chargebox ID muss in der openWB in den Einstellungen des Ladepunkts eingetragen werden. ")])),_:1}),n($,{title:"URL des OCPP-Backends",subtype:"host","model-value":(E=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:E.url,"onUpdate:modelValue":e[11]||(e[11]=f=>t.updateState("openWB/optional/ocpp/config",f,"url"))},null,8,["model-value"]),n(S,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"ocpp1.6",text:"OCPP 1.6"},{value:"ocpp2.0.1",text:"OCPP 2.0.1"}],"model-value":(C=t.$store.state.mqtt["openWB/optional/ocpp/config"])==null?void 0:C.version,"onUpdate:modelValue":e[12]||(e[12]=f=>t.updateState("openWB/optional/ocpp/config",f,"version"))},null,8,["model-value"])])):y("",!0)]}),_:1}),n(L,{"form-name":"generalChargeConfigForm",onSave:e[13]||(e[13]=r=>t.$emit("save")),onReset:e[14]||(e[14]=r=>t.$emit("reset")),onDefaults:e[15]||(e[15]=r=>t.$emit("defaults"))})])])}const ae=h(G,[["render",oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralChargeConfig.vue"]]),de=Object.freeze(Object.defineProperty({__proto__:null,default:ae},Symbol.toStringTag,{value:"Module"}));export{A as E,de as G}; diff --git a/web/settings/assets/GeneralConfig-7d467a99.js b/web/settings/assets/GeneralConfig-7d467a99.js new file mode 100644 index 0000000000..627238b6f0 --- /dev/null +++ b/web/settings/assets/GeneralConfig-7d467a99.js @@ -0,0 +1 @@ +import{l as J,a2 as X,a3 as Q,F,Y,K as ee,z as te,ab as ne,ac as oe,ad as ae}from"./vendor-fortawesome-231ff303.js";import{_ as L,C as re}from"./index-6ffbdc7e.js";import{_ as j}from"./dynamic-import-helper-be004503.js";import{_ as h,u as b,l,m as d,z as v,E as o,y as a,F as c,G as n,x as s,a1 as M,a2 as I,N as G,B as _}from"./vendor-0c15df0c.js";const ie={props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},le=h(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/WebThemeConfigMixin.vue"]]),se={name:"WebThemeFallback",mixins:[le]},ue={class:"web-theme-fallback"},de={key:1};function pe(t,e,p,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-textarea");return l(),d("div",ue,[Object.keys(t.webTheme.configuration).length==0?(l(),v(g,{key:0,subtype:"info"},{default:o(()=>[a(' Das Web Theme "'+c(t.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",de,[n(g,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Web Theme "'+c(t.webTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Theme Konfiguration",subtype:"json","model-value":t.webTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=w=>t.updateConfiguration(w,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:o(()=>[s("pre",null,c(JSON.stringify(t.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const ge=h(se,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);J.add(X,Q);const me={name:"OpenwbWebThemeProxy",components:{FontAwesomeIcon:F},props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading web theme: ${this.webTheme.name}`),M({loader:()=>j(Object.assign({}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:ge})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function be(t,e,p,B,y,m){const g=b("font-awesome-icon"),r=b("openwb-base-alert"),w=b("openwb-base-heading");return l(),d(G,null,[p.webTheme.official?(l(),v(r,{key:0,subtype:"success"},{default:o(()=>[n(g,{"fixed-width":"",icon:["fas","certificate"]}),a(' Das ausgewählte Web Theme "'+c(p.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(l(),v(r,{key:1,subtype:"info"},{default:o(()=>[n(g,{"fixed-width":"",icon:["fas","people-group"]}),e[1]||(e[1]=a(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. "))]),_:1})),n(w,null,{default:o(()=>[a(' Einstellungen für Web Theme "'+c(p.webTheme.name)+'" ',1)]),_:1}),(l(),v(I(m.myComponent),{"web-theme":p.webTheme,"onUpdate:configuration":e[0]||(e[0]=W=>m.updateConfiguration(W))},null,40,["web-theme"]))],64)}const fe=h(me,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]),ce={props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},_e=h(ce,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/RippleControlReceiverConfigMixin.vue"]]),ve={name:"RippleControlReceiverConfigFallback",mixins:[_e]},we={class:"ripple-control-receiver-fallback"},he={key:1};function We(t,e,p,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-textarea");return l(),d("div",we,[Object.keys(t.rippleControlReceiver.configuration).length==0?(l(),v(g,{key:0,subtype:"info"},{default:o(()=>[a(' Das RSE-Modul "'+c(t.rippleControlReceiver.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",he,[n(g,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das RSE-Modul "'+c(t.rippleControlReceiver.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Konfiguration",subtype:"json","model-value":t.rippleControlReceiver.configuration,"onUpdate:modelValue":e[0]||(e[0]=w=>t.updateConfiguration(w,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:o(()=>[s("pre",null,c(JSON.stringify(t.rippleControlReceiver.configuration,void 0,2)),1)]),_:1})]))])}const Be=h(ve,[["render",We],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverConfigFallback.vue"]]),ye={name:"OpenwbRippleControlReceiverProxy",props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){return console.debug(`loading backup cloud: ${this.rippleControlReceiver.type}`),M({loader:()=>j(Object.assign({"./dimm_kit/ripple_control_receiver.vue":()=>L(()=>import("./ripple_control_receiver-f605174b.js"),["assets/ripple_control_receiver-f605174b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./gpio/ripple_control_receiver.vue":()=>L(()=>import("./ripple_control_receiver-a8ab1c06.js"),["assets/ripple_control_receiver-a8ab1c06.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.rippleControlReceiver.type}/ripple_control_receiver.vue`),errorComponent:Be})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function Se(t,e,p,B,y,m){const g=b("openwb-base-heading");return l(),d(G,null,[n(g,null,{default:o(()=>[a(' Einstellungen für RSE-Modul "'+c(p.rippleControlReceiver.name)+'" ',1)]),_:1}),(l(),v(I(m.myComponent),{"ripple-control-receiver":p.rippleControlReceiver,"onUpdate:configuration":e[0]||(e[0]=r=>m.updateConfiguration(r)),onSendCommand:e[1]||(e[1]=r=>m.sendCommand(r))},null,40,["ripple-control-receiver"]))],64)}const ke=h(ye,[["render",Se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverProxy.vue"]]);J.add(Y,ee,te,ne,oe,ae);const Ve={name:"OpenwbGeneralConfigView",components:{OpenwbWebThemeProxy:fe,OpenwbRippleControlReceiverProxy:ke,FontAwesomeIcon:F},mixins:[re],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/charge_log_data_config","openWB/general/control_interval","openWB/general/extern","openWB/general/external_buttons_hw","openWB/general/grid_protection_configured","openWB/general/http_api","openWB/general/modbus_control","openWB/general/notifications/configuration","openWB/general/notifications/plug","openWB/general/notifications/selected","openWB/general/notifications/smart_home","openWB/general/notifications/start_charging","openWB/general/notifications/stop_charging","openWB/general/price_kwh","openWB/general/range_unit","openWB/general/ripple_control_receiver/module","openWB/general/web_theme","openWB/system/configurable/ripple_control_receivers","openWB/system/configurable/web_themes","openWB/system/ip_address"]}},computed:{webThemeList:{get(){return this.$store.state.mqtt["openWB/system/configurable/web_themes"]}},webThemeGroupList:{get(){let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.webThemeList.forEach(e=>{e.official===!0?t[0].options.push(e):t[1].options.push(e)}),t}},rippleControlReceiverList(){return this.$store.state.mqtt["openWB/system/configurable/ripple_control_receivers"]}},methods:{getIpAddress(){return this.$store.state.mqtt["openWB/system/ip_address"]},getWebThemeDefaults(t){const e=this.webThemeList.find(p=>p.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for web theme type!",t),{})},updateSelectedWebTheme(t){this.updateState("openWB/general/web_theme",this.getWebThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},getRippleControlReceiverDefaultConfiguration(t){const e=this.rippleControlReceiverList.find(p=>p.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedRippleControlReceiverModule(t){this.updateState("openWB/general/ripple_control_receiver/module",t,"type"),this.updateState("openWB/general/ripple_control_receiver/module",this.getRippleControlReceiverDefaultConfiguration(t))}}},Ce={class:"generalConfig"},$e={name:"generalConfigForm"},Re={key:0},Te={key:1},qe={key:1},ze={class:"border border-info w-100 p-1"},Oe={class:"border border-info w-100 p-1"},De={key:0},Ee={key:1},Ne={key:0},Ae={key:2},Pe={key:0},xe={key:0},Ue={key:1},Le={key:0},Je={key:0},Fe={key:1};function je(t,e,p,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-button-group-input"),w=b("openwb-base-copy-to-clipboard"),W=b("openwb-base-card"),S=b("openwb-base-heading"),k=b("openwb-base-select-input"),K=b("openwb-ripple-control-receiver-proxy"),H=b("openwb-web-theme-proxy"),f=b("font-awesome-icon"),Z=b("openwb-base-submit-buttons");return l(),d("div",Ce,[s("form",$e,[n(W,{title:"Steuerungsmodus"},{default:o(()=>[n(g,{subtype:"info"},{default:o(()=>e[29]||(e[29]=[s("p",null,' Wird für den Steuerungsmodus "primary" gewählt, übernimmt diese openWB die alleinige Regelung und steuert ggf. vorhandene weitere openWB (z.B. secondary openWB, openWB Pro, Satellit u.a.) fern. Sie werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),s("p",null,[a(' Wird für den Steuerungsmodus "secondary" gewählt, übernimmt diese openWB keine Regelung und muss von einer anderen primary openWB ferngesteuert werden. Wichtig ist, dass in der secondary-openWB eine "interne openWB" mit der korrekten Bauart (= openWB-Hardwarevariante z.B. "Custom, Standard, Standard+, Duo, Buchse") konfiguriert ist. Bei einer Duo sind zwei "interne openWB" zu konfigurieren. Im "secondary"-Modus bleiben alle ausgeblendeten Einstellungen unbeachtet.'),s("br"),a(" Eine bebilderte Anleitung zur Konfiguration der Ladepunkte findest Du auf der "),s("a",{href:"https://openwb.de/main/?page_id=1025",target:"_blank",rel:"noopener noreferrer"}," Homepage "),a(". ")],-1)])),_:1}),n(r,{title:"Steuerungsmodus",buttons:[{buttonValue:!1,text:"primary",class:"btn-outline-danger"},{buttonValue:!0,text:"secondary",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/extern"],"onUpdate:modelValue":e[0]||(e[0]=u=>t.updateState("openWB/general/extern",u))},null,8,["model-value"]),p.installAssistantActive?_("",!0):(l(),d("div",Re,[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),v(r,{key:0,title:"Steuerung über Modbus als secondary",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/modbus_control"],"onUpdate:modelValue":e[1]||(e[1]=u=>t.updateState("openWB/general/modbus_control",u))},{help:o(()=>e[30]||(e[30]=[a(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind "),s("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),a(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ")])),_:1},8,["model-value"])):_("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0&&t.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(l(),d("div",Te,[n(g,{subtype:"info",class:"mb-2"},{default:o(()=>e[31]||(e[31]=[a(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ')])),_:1})])):_("",!0)])),p.installAssistantActive?_("",!0):(l(),d("div",qe,[n(r,{title:"HTTP-API",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/http_api"],"onUpdate:modelValue":e[2]||(e[2]=u=>t.updateState("openWB/general/http_api",u))},{help:o(()=>[e[38]||(e[38]=s("p",null," Mit der HTTP-API kann man den Wert eines MQTT-Topics per HTTPs (Port 8443) abfragen oder neu setzen. Topics können über GET oder POST abgefragt, neue Werte nur mit POST gesetzt werden. ",-1)),e[39]||(e[39]=s("p",null,"Beispiel 1: Abfrage des aktuellen Systemzeitstempels",-1)),s("ul",null,[s("li",null,[e[32]||(e[32]=a(" GET-Request:")),e[33]||(e[33]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[a(" https://"+c(m.getIpAddress())+":8443/v1/?topic=openWB/system/time ",1)]),_:1})]),s("li",null,[e[34]||(e[34]=a(" POST-Request über 'curl' mit privatem SSL-Zertifikat und Verarbeitung durch 'jq':")),e[35]||(e[35]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"Befehl kopieren"},{default:o(()=>[a(` curl -k -s -X POST --data '{"topic":"openWB/system/time"}' https://`+c(m.getIpAddress())+":8443/v1/ | jq . ",1)]),_:1})])]),e[40]||(e[40]=s("p",null,"Die zurückgegebenen Daten sind im JSON-Format. Der Inhalt ist nach folgendem Schema aufgebaut:",-1)),s("pre",ze,c(JSON.stringify({status:"success",topic:"openWB/system/time",message:1721287000646975e-6},null,4)),1),e[41]||(e[41]=s("p",null,'Im Fehlerfall wird der Status auf "failed" gesetzt und eine Fehlermeldung zurückgegeben.',-1)),e[42]||(e[42]=s("p",null,"Beispiel 2: integriertes Display abschalten",-1)),s("ul",null,[s("li",null,[e[36]||(e[36]=a(" POST-Request über 'curl' mit privatem SSL-Zertifikat und Verarbeitung durch 'jq':")),e[37]||(e[37]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"Befehl kopieren"},{default:o(()=>[a(` curl -k -s -X POST --data '{"topic": "openWB/set/optional/int_display/active", "message": false}' https://`+c(m.getIpAddress())+":8443/v1/ | jq . ",1)]),_:1})])]),e[43]||(e[43]=s("p",null,"Die zurückgegebenen Daten sind im JSON-Format. Der Inhalt ist nach folgendem Schema aufgebaut:",-1)),s("pre",Oe,c(JSON.stringify({status:"success",topic:"openWB/set/optional/int_display/active",message:!1},null,4)),1)]),_:1},8,["model-value"])]))]),_:1}),n(W,{title:"Hardware"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",De,[n(g,{subtype:"info"},{default:o(()=>e[44]||(e[44]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):_("",!0),p.installAssistantActive?_("",!0):(l(),d("div",Ee,[t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("div",Ne,[n(r,{title:"Geschwindigkeit Regelintervall",buttons:[{buttonValue:10,text:"Normal",class:"btn-outline-success"},{buttonValue:20,text:"Langsam",class:"btn-outline-warning"},{buttonValue:60,text:"Sehr Langsam",class:"btn-outline-danger"}],"model-value":t.$store.state.mqtt["openWB/general/control_interval"],"onUpdate:modelValue":e[3]||(e[3]=u=>t.updateState("openWB/general/control_interval",u))},{help:o(()=>e[45]||(e[45]=[a(' Sollten Probleme oder Fehlermeldungen auftauchen, stelle bitte zunächst das Regelintervall auf "Normal". Werden Module genutzt, welche z.B. eine Online-API zur Abfrage nutzen (höhere Latenzzeiten) oder möchte man weniger Regeleingriffe, so kann man das Regelintervall auf "Langsam" (20 Sekunden) herabsetzen. Die Einstellung „Sehr Langsam“ führt zu einer Regelzeit von 60 Sekunden.'),s("br",null,null,-1),s("span",{class:"text-danger"},' Nicht nur die Regelung der PV geführten Ladung, sondern auch die Ladestromänderung, beispielsweise “Stop“ etc., werden dann nur noch in diesem Intervall ausgeführt. Die Regelung wird insgesamt träger. Solange es keinen triftigen Grund gibt, sollte "Normal" gewählt werden. ',-1)])),_:1},8,["model-value"]),n(r,{title:"Netzschutz",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/grid_protection_configured"],"onUpdate:modelValue":e[4]||(e[4]=u=>t.updateState("openWB/general/grid_protection_configured",u))},{help:o(()=>e[46]||(e[46]=[a(' Diese Option ist standardmäßig aktiviert und sollte so belassen werden. Bei Unterschreitung einer kritischen Frequenz des Stromnetzes wird die Ladung nach einer zufälligen Zeit zwischen 1 und 90 Sekunden pausiert. Der Lademodus wechselt auf "Stop". Sobald die Frequenz wieder in einem normalen Bereich ist wird automatisch der zuletzt gewählte Lademodus wieder aktiviert. Ebenso wird die Ladung bei Überschreiten von 51,8 Hz unterbrochen. Dies ist dann der Fall, wenn der Energieversorger Wartungsarbeiten am (Teil-)Netz durchführt und auf einen vorübergehenden Generator-Betrieb umschaltet. Die Erhöhung der Frequenz wird durchgeführt, um die PV Anlagen abzuschalten.'),s("br",null,null,-1),s("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1)])),_:1},8,["model-value"])])):_("",!0),e[47]||(e[47]=s("hr",null,null,-1))])),t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("div",Ae,[n(S,{class:"mt-0"},{default:o(()=>e[48]||(e[48]=[a(" Steuerbare Verbrauchseinrichtung ")])),_:1}),n(g,{sub_type:"info"},{default:o(()=>e[49]||(e[49]=[a(' Aktuell unterstützt openWB die eingehende Steuerung als "Steuerbare Verbrauchseinrichtung" nur über potentialfreie Kontakte (Rundsteuerempfänger, RSE). Ebenfalls können derzeit bei Auslösung des RSE nur alle Ladevorgänge komplett beendet werden. Die Unterstützung von "Dimmung" im Sinne von §14a EnWG wird umgesetzt, sobald wir weitere Informationen von den Netzbetreibern erhalten, wie die Ansteuerung technisch umgesetzt wird. ')])),_:1}),n(k,{class:"mb-2",title:"Anbindung RSE-Kontakt",options:m.rippleControlReceiverList,"model-value":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]?t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type:"","onUpdate:modelValue":e[5]||(e[5]=u=>m.updateSelectedRippleControlReceiverModule(u))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]&&t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type?(l(),d("div",Pe,[n(K,{"ripple-control-receiver":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"],"onUpdate:configuration":e[6]||(e[6]=u=>m.updateConfiguration("openWB/general/ripple_control_receiver/module",u))},null,8,["ripple-control-receiver"])])):_("",!0)])):_("",!0)]),_:1}),p.installAssistantActive?_("",!0):(l(),v(W,{key:0,title:"Darstellung"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",xe,[n(g,{subtype:"info"},{default:o(()=>e[50]||(e[50]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),d("div",Ue,[n(S,{class:"mt-0"},{default:o(()=>e[51]||(e[51]=[a(" Hauptseite ")])),_:1}),t.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(l(),d("div",Le,[n(k,{class:"mb-2",title:"Theme",groups:m.webThemeGroupList,"model-value":t.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":e[7]||(e[7]=u=>m.updateSelectedWebTheme(u))},null,8,["groups","model-value"]),t.$store.state.mqtt["openWB/general/web_theme"].type?(l(),v(H,{key:0,"web-theme":t.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":e[8]||(e[8]=u=>m.updateConfiguration("openWB/general/web_theme",u))},null,8,["web-theme"])):_("",!0)])):_("",!0)]))]),_:1})),p.installAssistantActive?_("",!0):(l(),v(W,{key:1,title:"Lade-Protokoll"},{default:o(()=>{var u,V,C,$,R,T,q,z,O,D,E,N,A,P,x,U;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",Je,[n(g,{subtype:"info"},{default:o(()=>e[52]||(e[52]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),d("div",Fe,[n(r,{title:"Einheit für Entfernungen","model-value":t.$store.state.mqtt["openWB/general/range_unit"],buttons:[{buttonValue:"km",text:"Kilometer"},{buttonValue:"mi",text:"Meilen"}],"onUpdate:modelValue":e[9]||(e[9]=i=>t.updateState("openWB/general/range_unit",i))},null,8,["model-value"]),n(S,null,{default:o(()=>e[53]||(e[53]=[a(" Auswahl der Datenfelder ")])),_:1}),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(u=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:u.time_begin,"onUpdate:modelValue":e[10]||(e[10]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_begin"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","calendar"]}),e[54]||(e[54]=a(" Beginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(V=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:V.time_end,"onUpdate:modelValue":e[11]||(e[11]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","calendar"]}),e[55]||(e[55]=a(" Ende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(C=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:C.time_time_charged,"onUpdate:modelValue":e[12]||(e[12]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_time_charged"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","clock"]}),e[56]||(e[56]=a(" Dauer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":($=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:$.data_costs,"onUpdate:modelValue":e[13]||(e[13]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_costs"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","coins"]}),e[57]||(e[57]=a(" Kosten "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(R=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:R.data_power_source,"onUpdate:modelValue":e[14]||(e[14]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_power_source"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","pie-chart"]}),e[58]||(e[58]=a(" Energieaufteilung "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(T=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:T.vehicle_name,"onUpdate:modelValue":e[15]||(e[15]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_name"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[59]||(e[59]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(q=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:q.vehicle_chargemode,"onUpdate:modelValue":e[16]||(e[16]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_chargemode"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[60]||(e[60]=a(" Lademodus "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(z=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:z.vehicle_prio,"onUpdate:modelValue":e[17]||(e[17]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_prio"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[61]||(e[61]=a(" Priorität "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(O=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:O.vehicle_rfid,"onUpdate:modelValue":e[18]||(e[18]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_rfid"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[62]||(e[62]=a(" ID-Tag "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(D=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:D.vehicle_soc_at_start,"onUpdate:modelValue":e[19]||(e[19]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_start"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[63]||(e[63]=a(" SoC bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(E=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:E.vehicle_soc_at_end,"onUpdate:modelValue":e[20]||(e[20]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[64]||(e[64]=a(" SoC bei Ladende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(N=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:N.chargepoint_name,"onUpdate:modelValue":e[21]||(e[21]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_name"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[65]||(e[65]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(A=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:A.chargepoint_serial_number,"onUpdate:modelValue":e[22]||(e[22]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_serial_number"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[66]||(e[66]=a(" Seriennummer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(P=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:P.data_imported_since_mode_switch,"onUpdate:modelValue":e[23]||(e[23]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_imported_since_mode_switch"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[67]||(e[67]=a(" Geladene Energie "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(x=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:x.chargepoint_imported_at_start,"onUpdate:modelValue":e[24]||(e[24]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_start"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[68]||(e[68]=a(" Zählerstand bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(U=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:U.chargepoint_imported_at_end,"onUpdate:modelValue":e[25]||(e[25]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[69]||(e[69]=a(" Zählerstand bei Ladeende "))]),_:1},8,["model-value"])]))]}),_:1})),n(Z,{"form-name":"generalConfigForm",onSave:e[26]||(e[26]=u=>t.$emit("save")),onReset:e[27]||(e[27]=u=>t.$emit("reset")),onDefaults:e[28]||(e[28]=u=>t.$emit("defaults"))})])])}const Me=h(Ve,[["render",je],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]),Ze=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"}));export{Me as G,_e as R,Ze as a}; diff --git a/web/settings/assets/GeneralConfig-c40962a6.js b/web/settings/assets/GeneralConfig-c40962a6.js deleted file mode 100644 index 79fcb2f9b9..0000000000 --- a/web/settings/assets/GeneralConfig-c40962a6.js +++ /dev/null @@ -1 +0,0 @@ -import{l as J,a2 as X,a3 as Q,F,Y,K as ee,z as te,ab as ne,ac as oe,ad as ae}from"./vendor-fortawesome-05d7e447.js";import{_ as L,C as re}from"./index-3434d31b.js";import{_ as j}from"./dynamic-import-helper-be004503.js";import{_ as h,u as b,k as l,l as d,z as v,E as o,y as a,F as c,G as n,x as s,a1 as M,a2 as I,N as G,B as _}from"./vendor-06e11d0e.js";const ie={props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},le=h(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/WebThemeConfigMixin.vue"]]),se={name:"WebThemeFallback",mixins:[le]},ue={class:"web-theme-fallback"},de={key:1};function pe(t,e,p,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-textarea");return l(),d("div",ue,[Object.keys(t.webTheme.configuration).length==0?(l(),v(g,{key:0,subtype:"info"},{default:o(()=>[a(' Das Web Theme "'+c(t.webTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",de,[n(g,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das Web Theme "'+c(t.webTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Theme Konfiguration",subtype:"json","model-value":t.webTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=w=>t.updateConfiguration(w,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:o(()=>[s("pre",null,c(JSON.stringify(t.webTheme.configuration,void 0,2)),1)]),_:1})]))])}const ge=h(se,[["render",pe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeFallback.vue"]]);J.add(X,Q);const me={name:"OpenwbWebThemeProxy",components:{FontAwesomeIcon:F},props:{webTheme:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading web theme: ${this.webTheme.name}`),M({loader:()=>j(Object.assign({}),`./${this.webTheme.type}/webTheme.vue`),errorComponent:ge})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function be(t,e,p,B,y,m){const g=b("font-awesome-icon"),r=b("openwb-base-alert"),w=b("openwb-base-heading");return l(),d(G,null,[p.webTheme.official?(l(),v(r,{key:0,subtype:"success"},{default:o(()=>[n(g,{"fixed-width":"",icon:["fas","certificate"]}),a(' Das ausgewählte Web Theme "'+c(p.webTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(l(),v(r,{key:1,subtype:"info"},{default:o(()=>[n(g,{"fixed-width":"",icon:["fas","people-group"]}),e[1]||(e[1]=a(" Das ausgewählte Theme wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. "))]),_:1})),n(w,null,{default:o(()=>[a(' Einstellungen für Web Theme "'+c(p.webTheme.name)+'" ',1)]),_:1}),(l(),v(I(m.myComponent),{"web-theme":p.webTheme,"onUpdate:configuration":e[0]||(e[0]=W=>m.updateConfiguration(W))},null,40,["web-theme"]))],64)}const fe=h(me,[["render",be],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/web_themes/OpenwbWebThemeProxy.vue"]]),ce={props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},_e=h(ce,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/RippleControlReceiverConfigMixin.vue"]]),ve={name:"RippleControlReceiverConfigFallback",mixins:[_e]},we={class:"ripple-control-receiver-fallback"},he={key:1};function We(t,e,p,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-textarea");return l(),d("div",we,[Object.keys(t.rippleControlReceiver.configuration).length==0?(l(),v(g,{key:0,subtype:"info"},{default:o(()=>[a(' Das RSE-Modul "'+c(t.rippleControlReceiver.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(l(),d("div",he,[n(g,{subtype:"warning"},{default:o(()=>[a(' Es wurde keine Konfigurationsseite für das RSE-Modul "'+c(t.rippleControlReceiver.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(r,{title:"Konfiguration",subtype:"json","model-value":t.rippleControlReceiver.configuration,"onUpdate:modelValue":e[0]||(e[0]=w=>t.updateConfiguration(w,"configuration"))},{help:o(()=>e[1]||(e[1]=[a(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(g,{subtype:"info"},{default:o(()=>[s("pre",null,c(JSON.stringify(t.rippleControlReceiver.configuration,void 0,2)),1)]),_:1})]))])}const Be=h(ve,[["render",We],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverConfigFallback.vue"]]),ye={name:"OpenwbRippleControlReceiverProxy",props:{rippleControlReceiver:{type:Object,required:!0}},emits:["update:configuration","sendCommand"],computed:{myComponent(){return console.debug(`loading backup cloud: ${this.rippleControlReceiver.type}`),M({loader:()=>j(Object.assign({"./dimm_kit/ripple_control_receiver.vue":()=>L(()=>import("./ripple_control_receiver-4d665a54.js"),["assets/ripple_control_receiver-4d665a54.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./gpio/ripple_control_receiver.vue":()=>L(()=>import("./ripple_control_receiver-8f2861e9.js"),["assets/ripple_control_receiver-8f2861e9.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.rippleControlReceiver.type}/ripple_control_receiver.vue`),errorComponent:Be})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)},sendCommand(t){this.$emit("sendCommand",t)}}};function Se(t,e,p,B,y,m){const g=b("openwb-base-heading");return l(),d(G,null,[n(g,null,{default:o(()=>[a(' Einstellungen für RSE-Modul "'+c(p.rippleControlReceiver.name)+'" ',1)]),_:1}),(l(),v(I(m.myComponent),{"ripple-control-receiver":p.rippleControlReceiver,"onUpdate:configuration":e[0]||(e[0]=r=>m.updateConfiguration(r)),onSendCommand:e[1]||(e[1]=r=>m.sendCommand(r))},null,40,["ripple-control-receiver"]))],64)}const ke=h(ye,[["render",Se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/OpenwbRippleControlReceiverProxy.vue"]]);J.add(Y,ee,te,ne,oe,ae);const Ve={name:"OpenwbGeneralConfigView",components:{OpenwbWebThemeProxy:fe,OpenwbRippleControlReceiverProxy:ke,FontAwesomeIcon:F},mixins:[re],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/charge_log_data_config","openWB/general/control_interval","openWB/general/extern","openWB/general/external_buttons_hw","openWB/general/grid_protection_configured","openWB/general/http_api","openWB/general/modbus_control","openWB/general/notifications/configuration","openWB/general/notifications/plug","openWB/general/notifications/selected","openWB/general/notifications/smart_home","openWB/general/notifications/start_charging","openWB/general/notifications/stop_charging","openWB/general/price_kwh","openWB/general/range_unit","openWB/general/ripple_control_receiver/module","openWB/general/web_theme","openWB/system/configurable/ripple_control_receivers","openWB/system/configurable/web_themes","openWB/system/ip_address"]}},computed:{webThemeList:{get(){return this.$store.state.mqtt["openWB/system/configurable/web_themes"]}},webThemeGroupList:{get(){let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.webThemeList.forEach(e=>{e.official===!0?t[0].options.push(e):t[1].options.push(e)}),t}},rippleControlReceiverList(){return this.$store.state.mqtt["openWB/system/configurable/ripple_control_receivers"]}},methods:{getIpAddress(){return this.$store.state.mqtt["openWB/system/ip_address"]},getWebThemeDefaults(t){const e=this.webThemeList.find(p=>p.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for web theme type!",t),{})},updateSelectedWebTheme(t){this.updateState("openWB/general/web_theme",this.getWebThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},getRippleControlReceiverDefaultConfiguration(t){const e=this.rippleControlReceiverList.find(p=>p.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...e.defaults}:(console.warn("no default configuration found for electricity tariff type!",t),{})},updateSelectedRippleControlReceiverModule(t){this.updateState("openWB/general/ripple_control_receiver/module",t,"type"),this.updateState("openWB/general/ripple_control_receiver/module",this.getRippleControlReceiverDefaultConfiguration(t))}}},Ce={class:"generalConfig"},$e={name:"generalConfigForm"},Re={key:0},Te={key:1},qe={key:1},ze={class:"border border-info w-100 p-1"},Oe={class:"border border-info w-100 p-1"},De={key:0},Ee={key:1},Ne={key:0},Ae={key:2},Pe={key:0},xe={key:0},Ue={key:1},Le={key:0},Je={key:0},Fe={key:1};function je(t,e,p,B,y,m){const g=b("openwb-base-alert"),r=b("openwb-base-button-group-input"),w=b("openwb-base-copy-to-clipboard"),W=b("openwb-base-card"),S=b("openwb-base-heading"),k=b("openwb-base-select-input"),K=b("openwb-ripple-control-receiver-proxy"),H=b("openwb-web-theme-proxy"),f=b("font-awesome-icon"),Z=b("openwb-base-submit-buttons");return l(),d("div",Ce,[s("form",$e,[n(W,{title:"Steuerungsmodus"},{default:o(()=>[n(g,{subtype:"info"},{default:o(()=>e[29]||(e[29]=[s("p",null,' Wird für den Steuerungsmodus "primary" gewählt, übernimmt diese openWB die alleinige Regelung und steuert ggf. vorhandene weitere openWB (z.B. secondary openWB, openWB Pro, Satellit u.a.) fern. Sie werden in den Ladepunkt-Einstellungen der primary-openWB hinzugefügt. ',-1),s("p",null,[a(' Wird für den Steuerungsmodus "secondary" gewählt, übernimmt diese openWB keine Regelung und muss von einer anderen primary openWB ferngesteuert werden. Wichtig ist, dass in der secondary-openWB eine "interne openWB" mit der korrekten Bauart (= openWB-Hardwarevariante z.B. "Custom, Standard, Standard+, Duo, Buchse") konfiguriert ist. Bei einer Duo sind zwei "interne openWB" zu konfigurieren. Im "secondary"-Modus bleiben alle ausgeblendeten Einstellungen unbeachtet.'),s("br"),a(" Eine bebilderte Anleitung zur Konfiguration der Ladepunkte findest Du auf der "),s("a",{href:"https://openwb.de/main/?page_id=1025",target:"_blank",rel:"noopener noreferrer"}," Homepage "),a(". ")],-1)])),_:1}),n(r,{title:"Steuerungsmodus",buttons:[{buttonValue:!1,text:"primary",class:"btn-outline-danger"},{buttonValue:!0,text:"secondary",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/extern"],"onUpdate:modelValue":e[0]||(e[0]=u=>t.updateState("openWB/general/extern",u))},null,8,["model-value"]),p.installAssistantActive?_("",!0):(l(),d("div",Re,[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),v(r,{key:0,title:"Steuerung über Modbus als secondary",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/modbus_control"],"onUpdate:modelValue":e[1]||(e[1]=u=>t.updateState("openWB/general/modbus_control",u))},{help:o(()=>e[30]||(e[30]=[a(" Im secondary-Modus kann die openWB über die Modbus-Schnittstelle gesteuert werden. Die Register sind "),s("a",{href:"https://openwb.de/main/wp-content/uploads/2023/10/ModbusTCP-openWB-series2-Pro-1.pdf",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),a(" dokumentiert. Bei aktivierter Modbus-Schnittstelle darf die openWB nicht von einer primary-openWB gesteuert werden. ")])),_:1},8,["model-value"])):_("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0&&t.$store.state.mqtt["openWB/general/modbus_control"]!==!0?(l(),d("div",Te,[n(g,{subtype:"info",class:"mb-2"},{default:o(()=>e[31]||(e[31]=[a(' Wenn die Steuerung über Modbus auf "Aus" geändert wird, muss danach ein Neustart durchgeführt werden! ')])),_:1})])):_("",!0)])),p.installAssistantActive?_("",!0):(l(),d("div",qe,[n(r,{title:"HTTP-API",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/http_api"],"onUpdate:modelValue":e[2]||(e[2]=u=>t.updateState("openWB/general/http_api",u))},{help:o(()=>[e[38]||(e[38]=s("p",null," Mit der HTTP-API kann man den Wert eines MQTT-Topics per HTTPs (Port 8443) abfragen oder neu setzen. Topics können über GET oder POST abgefragt, neue Werte nur mit POST gesetzt werden. ",-1)),e[39]||(e[39]=s("p",null,"Beispiel 1: Abfrage des aktuellen Systemzeitstempels",-1)),s("ul",null,[s("li",null,[e[32]||(e[32]=a(" GET-Request:")),e[33]||(e[33]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[a(" https://"+c(m.getIpAddress())+":8443/v1/?topic=openWB/system/time ",1)]),_:1})]),s("li",null,[e[34]||(e[34]=a(" POST-Request über 'curl' mit privatem SSL-Zertifikat und Verarbeitung durch 'jq':")),e[35]||(e[35]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"Befehl kopieren"},{default:o(()=>[a(` curl -k -s -X POST --data '{"topic":"openWB/system/time"}' https://`+c(m.getIpAddress())+":8443/v1/ | jq . ",1)]),_:1})])]),e[40]||(e[40]=s("p",null,"Die zurückgegebenen Daten sind im JSON-Format. Der Inhalt ist nach folgendem Schema aufgebaut:",-1)),s("pre",ze,c(JSON.stringify({status:"success",topic:"openWB/system/time",message:1721287000646975e-6},null,4)),1),e[41]||(e[41]=s("p",null,'Im Fehlerfall wird der Status auf "failed" gesetzt und eine Fehlermeldung zurückgegeben.',-1)),e[42]||(e[42]=s("p",null,"Beispiel 2: integriertes Display abschalten",-1)),s("ul",null,[s("li",null,[e[36]||(e[36]=a(" POST-Request über 'curl' mit privatem SSL-Zertifikat und Verarbeitung durch 'jq':")),e[37]||(e[37]=s("br",null,null,-1)),n(w,{class:"text-info",tooltip:"Befehl kopieren"},{default:o(()=>[a(` curl -k -s -X POST --data '{"topic": "openWB/set/optional/int_display/active", "message": false}' https://`+c(m.getIpAddress())+":8443/v1/ | jq . ",1)]),_:1})])]),e[43]||(e[43]=s("p",null,"Die zurückgegebenen Daten sind im JSON-Format. Der Inhalt ist nach folgendem Schema aufgebaut:",-1)),s("pre",Oe,c(JSON.stringify({status:"success",topic:"openWB/set/optional/int_display/active",message:!1},null,4)),1)]),_:1},8,["model-value"])]))]),_:1}),n(W,{title:"Hardware"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",De,[n(g,{subtype:"info"},{default:o(()=>e[44]||(e[44]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):_("",!0),p.installAssistantActive?_("",!0):(l(),d("div",Ee,[t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("div",Ne,[n(r,{title:"Geschwindigkeit Regelintervall",buttons:[{buttonValue:10,text:"Normal",class:"btn-outline-success"},{buttonValue:20,text:"Langsam",class:"btn-outline-warning"},{buttonValue:60,text:"Sehr Langsam",class:"btn-outline-danger"}],"model-value":t.$store.state.mqtt["openWB/general/control_interval"],"onUpdate:modelValue":e[3]||(e[3]=u=>t.updateState("openWB/general/control_interval",u))},{help:o(()=>e[45]||(e[45]=[a(' Sollten Probleme oder Fehlermeldungen auftauchen, stelle bitte zunächst das Regelintervall auf "Normal". Werden Module genutzt, welche z.B. eine Online-API zur Abfrage nutzen (höhere Latenzzeiten) oder möchte man weniger Regeleingriffe, so kann man das Regelintervall auf "Langsam" (20 Sekunden) herabsetzen. Die Einstellung „Sehr Langsam“ führt zu einer Regelzeit von 60 Sekunden.'),s("br",null,null,-1),s("span",{class:"text-danger"},' Nicht nur die Regelung der PV geführten Ladung, sondern auch die Ladestromänderung, beispielsweise “Stop“ etc., werden dann nur noch in diesem Intervall ausgeführt. Die Regelung wird insgesamt träger. Solange es keinen triftigen Grund gibt, sollte "Normal" gewählt werden. ',-1)])),_:1},8,["model-value"]),n(r,{title:"Netzschutz",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/general/grid_protection_configured"],"onUpdate:modelValue":e[4]||(e[4]=u=>t.updateState("openWB/general/grid_protection_configured",u))},{help:o(()=>e[46]||(e[46]=[a(' Diese Option ist standardmäßig aktiviert und sollte so belassen werden. Bei Unterschreitung einer kritischen Frequenz des Stromnetzes wird die Ladung nach einer zufälligen Zeit zwischen 1 und 90 Sekunden pausiert. Der Lademodus wechselt auf "Stop". Sobald die Frequenz wieder in einem normalen Bereich ist wird automatisch der zuletzt gewählte Lademodus wieder aktiviert. Ebenso wird die Ladung bei Überschreiten von 51,8 Hz unterbrochen. Dies ist dann der Fall, wenn der Energieversorger Wartungsarbeiten am (Teil-)Netz durchführt und auf einen vorübergehenden Generator-Betrieb umschaltet. Die Erhöhung der Frequenz wird durchgeführt, um die PV Anlagen abzuschalten.'),s("br",null,null,-1),s("span",{class:"text-danger"}," Die Option ist nur aktiv, wenn der EVU-Zähler die Frequenz übermittelt. ",-1)])),_:1},8,["model-value"])])):_("",!0),e[47]||(e[47]=s("hr",null,null,-1))])),t.$store.state.mqtt["openWB/general/extern"]===!1?(l(),d("div",Ae,[n(S,{class:"mt-0"},{default:o(()=>e[48]||(e[48]=[a(" Steuerbare Verbrauchseinrichtung ")])),_:1}),n(g,{sub_type:"info"},{default:o(()=>e[49]||(e[49]=[a(' Aktuell unterstützt openWB die eingehende Steuerung als "Steuerbare Verbrauchseinrichtung" nur über potentialfreie Kontakte (Rundsteuerempfänger, RSE). Ebenfalls können derzeit bei Auslösung des RSE nur alle Ladevorgänge komplett beendet werden. Die Unterstützung von "Dimmung" im Sinne von §14a EnWG wird umgesetzt, sobald wir weitere Informationen von den Netzbetreibern erhalten, wie die Ansteuerung technisch umgesetzt wird. ')])),_:1}),n(k,{class:"mb-2",title:"Anbindung RSE-Kontakt",options:m.rippleControlReceiverList,"model-value":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]?t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type:"","onUpdate:modelValue":e[5]||(e[5]=u=>m.updateSelectedRippleControlReceiverModule(u))},null,8,["options","model-value"]),t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"]&&t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"].type?(l(),d("div",Pe,[n(K,{"ripple-control-receiver":t.$store.state.mqtt["openWB/general/ripple_control_receiver/module"],"onUpdate:configuration":e[6]||(e[6]=u=>m.updateConfiguration("openWB/general/ripple_control_receiver/module",u))},null,8,["ripple-control-receiver"])])):_("",!0)])):_("",!0)]),_:1}),p.installAssistantActive?_("",!0):(l(),v(W,{key:0,title:"Darstellung"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",xe,[n(g,{subtype:"info"},{default:o(()=>e[50]||(e[50]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),d("div",Ue,[n(S,{class:"mt-0"},{default:o(()=>e[51]||(e[51]=[a(" Hauptseite ")])),_:1}),t.$store.state.mqtt["openWB/general/web_theme"]!==void 0?(l(),d("div",Le,[n(k,{class:"mb-2",title:"Theme",groups:m.webThemeGroupList,"model-value":t.$store.state.mqtt["openWB/general/web_theme"].type,"onUpdate:modelValue":e[7]||(e[7]=u=>m.updateSelectedWebTheme(u))},null,8,["groups","model-value"]),t.$store.state.mqtt["openWB/general/web_theme"].type?(l(),v(H,{key:0,"web-theme":t.$store.state.mqtt["openWB/general/web_theme"],"onUpdate:configuration":e[8]||(e[8]=u=>m.updateConfiguration("openWB/general/web_theme",u))},null,8,["web-theme"])):_("",!0)])):_("",!0)]))]),_:1})),p.installAssistantActive?_("",!0):(l(),v(W,{key:1,title:"Lade-Protokoll"},{default:o(()=>{var u,V,C,$,R,T,q,z,O,D,E,N,A,P,x,U;return[t.$store.state.mqtt["openWB/general/extern"]===!0?(l(),d("div",Je,[n(g,{subtype:"info"},{default:o(()=>e[52]||(e[52]=[a(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(l(),d("div",Fe,[n(r,{title:"Einheit für Entfernungen","model-value":t.$store.state.mqtt["openWB/general/range_unit"],buttons:[{buttonValue:"km",text:"Kilometer"},{buttonValue:"mi",text:"Meilen"}],"onUpdate:modelValue":e[9]||(e[9]=i=>t.updateState("openWB/general/range_unit",i))},null,8,["model-value"]),n(S,null,{default:o(()=>e[53]||(e[53]=[a(" Auswahl der Datenfelder ")])),_:1}),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(u=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:u.time_begin,"onUpdate:modelValue":e[10]||(e[10]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_begin"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","calendar"]}),e[54]||(e[54]=a(" Beginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(V=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:V.time_end,"onUpdate:modelValue":e[11]||(e[11]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","calendar"]}),e[55]||(e[55]=a(" Ende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(C=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:C.time_time_charged,"onUpdate:modelValue":e[12]||(e[12]=i=>t.updateState("openWB/general/charge_log_data_config",i,"time_time_charged"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","clock"]}),e[56]||(e[56]=a(" Dauer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":($=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:$.data_costs,"onUpdate:modelValue":e[13]||(e[13]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_costs"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","coins"]}),e[57]||(e[57]=a(" Kosten "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(R=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:R.data_power_source,"onUpdate:modelValue":e[14]||(e[14]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_power_source"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","pie-chart"]}),e[58]||(e[58]=a(" Energieaufteilung "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(T=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:T.vehicle_name,"onUpdate:modelValue":e[15]||(e[15]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_name"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[59]||(e[59]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(q=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:q.vehicle_chargemode,"onUpdate:modelValue":e[16]||(e[16]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_chargemode"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[60]||(e[60]=a(" Lademodus "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(z=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:z.vehicle_prio,"onUpdate:modelValue":e[17]||(e[17]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_prio"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[61]||(e[61]=a(" Priorität "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(O=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:O.vehicle_rfid,"onUpdate:modelValue":e[18]||(e[18]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_rfid"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[62]||(e[62]=a(" ID-Tag "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(D=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:D.vehicle_soc_at_start,"onUpdate:modelValue":e[19]||(e[19]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_start"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[63]||(e[63]=a(" SoC bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(E=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:E.vehicle_soc_at_end,"onUpdate:modelValue":e[20]||(e[20]=i=>t.updateState("openWB/general/charge_log_data_config",i,"vehicle_soc_at_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","car"]}),e[64]||(e[64]=a(" SoC bei Ladende "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(N=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:N.chargepoint_name,"onUpdate:modelValue":e[21]||(e[21]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_name"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[65]||(e[65]=a(" Name "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(A=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:A.chargepoint_serial_number,"onUpdate:modelValue":e[22]||(e[22]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_serial_number"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[66]||(e[66]=a(" Seriennummer "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(P=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:P.data_imported_since_mode_switch,"onUpdate:modelValue":e[23]||(e[23]=i=>t.updateState("openWB/general/charge_log_data_config",i,"data_imported_since_mode_switch"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[67]||(e[67]=a(" Geladene Energie "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(x=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:x.chargepoint_imported_at_start,"onUpdate:modelValue":e[24]||(e[24]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_start"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[68]||(e[68]=a(" Zählerstand bei Ladebeginn "))]),_:1},8,["model-value"]),n(r,{buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":(U=t.$store.state.mqtt["openWB/general/charge_log_data_config"])==null?void 0:U.chargepoint_imported_at_end,"onUpdate:modelValue":e[25]||(e[25]=i=>t.updateState("openWB/general/charge_log_data_config",i,"chargepoint_imported_at_end"))},{title:o(()=>[n(f,{"fixed-width":"",icon:["fas","charging-station"]}),e[69]||(e[69]=a(" Zählerstand bei Ladeende "))]),_:1},8,["model-value"])]))]}),_:1})),n(Z,{"form-name":"generalConfigForm",onSave:e[26]||(e[26]=u=>t.$emit("save")),onReset:e[27]||(e[27]=u=>t.$emit("reset")),onDefaults:e[28]||(e[28]=u=>t.$emit("defaults"))})])])}const Me=h(Ve,[["render",je],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/GeneralConfig.vue"]]),Ze=Object.freeze(Object.defineProperty({__proto__:null,default:Me},Symbol.toStringTag,{value:"Module"}));export{Me as G,_e as R,Ze as a}; diff --git a/web/settings/assets/HardwareInstallation-61d444d7.js b/web/settings/assets/HardwareInstallation-61d444d7.js deleted file mode 100644 index 6a898288cc..0000000000 --- a/web/settings/assets/HardwareInstallation-61d444d7.js +++ /dev/null @@ -1 +0,0 @@ -import{l as S,d as q,t as U,ae as G,a7 as N,W as F,V as H,U as K,F as $}from"./vendor-fortawesome-05d7e447.js";import{_ as e,C as J}from"./index-3434d31b.js";import{_ as x}from"./dynamic-import-helper-be004503.js";import{_ as I,u as p,k as s,l as g,z as E,E as r,y as d,F as V,G as u,x as c,a1 as z,a2 as Z,B as P,N as L,M as k,q as Q}from"./vendor-06e11d0e.js";const X={props:{device:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,o=void 0){this.$emit("update:configuration",{value:t,object:o})}}},B=I(X,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/DeviceConfigMixin.vue"]]),Y={name:"DeviceFallback",mixins:[B]},ee={class:"device-fallback"},oe={key:1};function te(t,o,i,m,v,n){const l=p("openwb-base-alert"),T=p("openwb-base-textarea");return s(),g("div",ee,[Object.keys(t.device.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Gerät-Typ "'+V(t.device.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",oe,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Geräte-Typ "'+V(t.device.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(T,{title:"Konfiguration",subtype:"json","model-value":t.device.configuration,"onUpdate:modelValue":o[0]||(o[0]=O=>t.updateConfiguration(O,"configuration"))},{help:r(()=>o[1]||(o[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(t.device.configuration,void 0,2)),1)]),_:1})]))])}const _e=I(Y,[["render",te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ie={mixins:[B],props:{component:{type:Object,required:!0}}},re=I(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ComponentConfigMixin.vue"]]),ne={name:"ComponentFallback",mixins:[re]},ue={class:"component-fallback"},de={key:1};function se(t,o,i,m,v,n){const l=p("openwb-base-alert"),T=p("openwb-base-textarea");return s(),g("div",ue,[Object.keys(t.component.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Komponenten-Typ "'+V(t.component.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",de,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Komponenten-Typ "'+V(t.component.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(T,{title:"Konfiguration",subtype:"json","model-value":t.component.configuration,"onUpdate:modelValue":o[0]||(o[0]=O=>t.updateConfiguration(O,"configuration"))},{help:r(()=>o[1]||(o[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(t.component.configuration,void 0,2)),1)]),_:1})]))])}const ve=I(ne,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbComponentConfigFallback.vue"]]),ae={name:"OpenwbConfigProxy",props:{device:{type:Object,required:!0},component:{type:Object,required:!1,default:void 0}},emits:["update:configuration"],computed:{myComponent(){var t;return console.debug(`loading component: ${this.device.type} / ${(t=this.component)==null?void 0:t.type}`),this.component!==void 0?z({loader:()=>x(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-dd007760.js"),["assets/device-dd007760.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-5adae5d2.js"),["assets/device-5adae5d2.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-d1705c14.js"),["assets/device-d1705c14.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-50903165.js"),["assets/device-50903165.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-2d3b00aa.js"),["assets/device-2d3b00aa.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-248bd83c.js"),["assets/device-248bd83c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-180c0ac6.js"),["assets/counter-180c0ac6.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-3e871ec6.js"),["assets/device-3e871ec6.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/bat.vue":()=>e(()=>import("./bat-99942e1b.js"),["assets/bat-99942e1b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/counter.vue":()=>e(()=>import("./counter-e2fdeb9c.js"),["assets/counter-e2fdeb9c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-195e5065.js"),["assets/device-195e5065.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/inverter.vue":()=>e(()=>import("./inverter-d00ea683.js"),["assets/inverter-d00ea683.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/counter.vue":()=>e(()=>import("./counter-89e73977.js"),["assets/counter-89e73977.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-cf16ba2c.js"),["assets/device-cf16ba2c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/inverter.vue":()=>e(()=>import("./inverter-84d3e047.js"),["assets/inverter-84d3e047.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-850e79e3.js"),["assets/device-850e79e3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/counter.vue":()=>e(()=>import("./counter-40c7c5d7.js"),["assets/counter-40c7c5d7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-53a283dc.js"),["assets/device-53a283dc.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/inverter.vue":()=>e(()=>import("./inverter-d1620573.js"),["assets/inverter-d1620573.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/bat.vue":()=>e(()=>import("./bat-38a54c0e.js"),["assets/bat-38a54c0e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-3cca3b5e.js"),["assets/device-3cca3b5e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/bat.vue":()=>e(()=>import("./bat-78294adc.js"),["assets/bat-78294adc.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/counter.vue":()=>e(()=>import("./counter-df817a5d.js"),["assets/counter-df817a5d.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-37ed45ff.js"),["assets/device-37ed45ff.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/inverter.vue":()=>e(()=>import("./inverter-f11f9b43.js"),["assets/inverter-f11f9b43.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/bat.vue":()=>e(()=>import("./bat-71b96bc8.js"),["assets/bat-71b96bc8.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-dedded83.js"),["assets/counter_sm-dedded83.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-942efc8c.js"),["assets/device-942efc8c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-72974946.js"),["assets/inverter_secondary-72974946.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/bat.vue":()=>e(()=>import("./bat-1d125bf7.js"),["assets/bat-1d125bf7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/counter.vue":()=>e(()=>import("./counter-7d71450b.js"),["assets/counter-7d71450b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-231214e8.js"),["assets/device-231214e8.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/inverter.vue":()=>e(()=>import("./inverter-4c3402f9.js"),["assets/inverter-4c3402f9.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/bat.vue":()=>e(()=>import("./bat-7615ba77.js"),["assets/bat-7615ba77.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/counter.vue":()=>e(()=>import("./counter-e5ed3e29.js"),["assets/counter-e5ed3e29.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-9415f137.js"),["assets/device-9415f137.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/inverter.vue":()=>e(()=>import("./inverter-e8d1457f.js"),["assets/inverter-e8d1457f.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/bat.vue":()=>e(()=>import("./bat-0a3090c9.js"),["assets/bat-0a3090c9.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/counter.vue":()=>e(()=>import("./counter-5ff8b256.js"),["assets/counter-5ff8b256.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-40835085.js"),["assets/device-40835085.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/inverter.vue":()=>e(()=>import("./inverter-ec581ee5.js"),["assets/inverter-ec581ee5.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/virtual/counter.vue":()=>e(()=>import("./counter-b0ca7faa.js"),["assets/counter-b0ca7faa.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-7b42a570.js"),["assets/device-7b42a570.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-c4d8cd7c.js"),["assets/device-c4d8cd7c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-367f3038.js"),["assets/device-367f3038.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-50b59491.js"),["assets/bat-50b59491.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-4992be32.js"),["assets/counter-4992be32.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-904eab42.js"),["assets/device-904eab42.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-70406117.js"),["assets/inverter-70406117.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/counter.vue":()=>e(()=>import("./counter-28e7f2ff.js"),["assets/counter-28e7f2ff.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-e54596e7.js"),["assets/device-e54596e7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/counter.vue":()=>e(()=>import("./counter-63b739e0.js"),["assets/counter-63b739e0.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-6a1d320f.js"),["assets/device-6a1d320f.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/inverter.vue":()=>e(()=>import("./inverter-b90b6436.js"),["assets/inverter-b90b6436.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-7e2931f7.js"),["assets/device-7e2931f7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/counter.vue":()=>e(()=>import("./counter-2dc97d3b.js"),["assets/counter-2dc97d3b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-5ac1bbfa.js"),["assets/device-5ac1bbfa.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/counter.vue":()=>e(()=>import("./counter-7a313b17.js"),["assets/counter-7a313b17.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-4d1f570e.js"),["assets/device-4d1f570e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-cc58677a.js"),["assets/device-cc58677a.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/inverter.vue":()=>e(()=>import("./inverter-c2639469.js"),["assets/inverter-c2639469.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-bfb62013.js"),["assets/device-bfb62013.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/bat.vue":()=>e(()=>import("./bat-a372df67.js"),["assets/bat-a372df67.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/counter.vue":()=>e(()=>import("./counter-5eab1bb7.js"),["assets/counter-5eab1bb7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-0c91e95d.js"),["assets/device-0c91e95d.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/inverter.vue":()=>e(()=>import("./inverter-7851c37c.js"),["assets/inverter-7851c37c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-c048d228.js"),["assets/device-c048d228.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-a95f6a7b.js"),["assets/bat-a95f6a7b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-a2576dc3.js"),["assets/bat-a2576dc3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-72655dad.js"),["assets/counter-72655dad.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-63ce8f20.js"),["assets/inverter-63ce8f20.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/bat.vue":()=>e(()=>import("./bat-4776af34.js"),["assets/bat-4776af34.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-26f42077.js"),["assets/consumption_counter-26f42077.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/counter.vue":()=>e(()=>import("./counter-760bf6fc.js"),["assets/counter-760bf6fc.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-5d0369e3.js"),["assets/device-5d0369e3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/inverter.vue":()=>e(()=>import("./inverter-78a01fbf.js"),["assets/inverter-78a01fbf.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-df8704b1.js"),["assets/inverter-df8704b1.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/counter.vue":()=>e(()=>import("./counter-8eac897d.js"),["assets/counter-8eac897d.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-1117dee2.js"),["assets/device-1117dee2.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/counter.vue":()=>e(()=>import("./counter-b1f9312b.js"),["assets/counter-b1f9312b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-287b1638.js"),["assets/device-287b1638.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/inverter.vue":()=>e(()=>import("./inverter-6870bd1d.js"),["assets/inverter-6870bd1d.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-d277cbc9.js"),["assets/device-d277cbc9.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-d365a0c6.js"),["assets/device-d365a0c6.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-118d142e.js"),["assets/device-118d142e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/counter.vue":()=>e(()=>import("./counter-521971df.js"),["assets/counter-521971df.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-ba573cc4.js"),["assets/device-ba573cc4.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-1d30069b.js"),["assets/device-1d30069b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-9f0e08a0.js"),["assets/device-9f0e08a0.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/bat.vue":()=>e(()=>import("./bat-fa5acdaa.js"),["assets/bat-fa5acdaa.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/counter.vue":()=>e(()=>import("./counter-c73f3ac7.js"),["assets/counter-c73f3ac7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-1f763440.js"),["assets/device-1f763440.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/inverter.vue":()=>e(()=>import("./inverter-a90633de.js"),["assets/inverter-a90633de.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/counter.vue":()=>e(()=>import("./counter-d00faf2f.js"),["assets/counter-d00faf2f.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/inverter.vue":()=>e(()=>import("./inverter-b2642c6c.js"),["assets/inverter-b2642c6c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-c652d183.js"),["assets/bat-c652d183.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-a05c3639.js"),["assets/bat_smart_energy-a05c3639.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-6e222341.js"),["assets/counter-6e222341.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-d542e8ec.js"),["assets/device-d542e8ec.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-7036a739.js"),["assets/inverter-7036a739.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/bat.vue":()=>e(()=>import("./bat-0f7d8c0f.js"),["assets/bat-0f7d8c0f.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-20810946.js"),["assets/device-20810946.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-97e191dc.js"),["assets/device-97e191dc.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/counter.vue":()=>e(()=>import("./counter-093a7c60.js"),["assets/counter-093a7c60.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-f7567e84.js"),["assets/device-f7567e84.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/inverter.vue":()=>e(()=>import("./inverter-ae3b5905.js"),["assets/inverter-ae3b5905.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-e5439a4d.js"),["assets/device-e5439a4d.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-291b11ff.js"),["assets/device-291b11ff.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/counter.vue":()=>e(()=>import("./counter-d547bc75.js"),["assets/counter-d547bc75.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-9ce75bb7.js"),["assets/device-9ce75bb7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-d41cc05c.js"),["assets/device-d41cc05c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/inverter.vue":()=>e(()=>import("./inverter-06828851.js"),["assets/inverter-06828851.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-b726fad3.js"),["assets/device-b726fad3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-9904fa9e.js"),["assets/device-9904fa9e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/bat.vue":()=>e(()=>import("./bat-cb8e2bc7.js"),["assets/bat-cb8e2bc7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/counter.vue":()=>e(()=>import("./counter-760ef96a.js"),["assets/counter-760ef96a.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-149c2866.js"),["assets/device-149c2866.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-3ebf65eb.js"),["assets/external_inverter-3ebf65eb.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/inverter.vue":()=>e(()=>import("./inverter-53c9b65f.js"),["assets/inverter-53c9b65f.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/bat.vue":()=>e(()=>import("./bat-bcf104c8.js"),["assets/bat-bcf104c8.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-1d0ded93.js"),["assets/device-1d0ded93.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter.vue":()=>e(()=>import("./inverter-dc61eb50.js"),["assets/inverter-dc61eb50.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-ed76e5f3.js"),["assets/device-ed76e5f3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/bat.vue":()=>e(()=>import("./bat-277e39f3.js"),["assets/bat-277e39f3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/counter.vue":()=>e(()=>import("./counter-4bc32ac4.js"),["assets/counter-4bc32ac4.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-7ae1ec3c.js"),["assets/device-7ae1ec3c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/inverter.vue":()=>e(()=>import("./inverter-6ac061a0.js"),["assets/inverter-6ac061a0.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter.vue":()=>e(()=>import("./counter-021792a3.js"),["assets/counter-021792a3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-4a9b6651.js"),["assets/device-4a9b6651.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/bat.vue":()=>e(()=>import("./bat-9034da52.js"),["assets/bat-9034da52.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-08c658c9.js"),["assets/device-08c658c9.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/inverter.vue":()=>e(()=>import("./inverter-923718cb.js"),["assets/inverter-923718cb.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-4b8cf1fd.js"),["assets/device-4b8cf1fd.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-853fe6d3.js"),["assets/device-853fe6d3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-cd49ba10.js"),["assets/device-cd49ba10.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/counter.vue":()=>e(()=>import("./counter-a8c0823b.js"),["assets/counter-a8c0823b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-3903ab82.js"),["assets/device-3903ab82.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-20937cb6.js"),["assets/device-20937cb6.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/inverter.vue":()=>e(()=>import("./inverter-c8f0b617.js"),["assets/inverter-c8f0b617.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/bat.vue":()=>e(()=>import("./bat-caff4131.js"),["assets/bat-caff4131.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/counter.vue":()=>e(()=>import("./counter-f0940fea.js"),["assets/counter-f0940fea.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-36dada42.js"),["assets/device-36dada42.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/inverter.vue":()=>e(()=>import("./inverter-a2ee2377.js"),["assets/inverter-a2ee2377.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/counter.vue":()=>e(()=>import("./counter-b54b85f4.js"),["assets/counter-b54b85f4.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-57ea291e.js"),["assets/device-57ea291e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/inverter.vue":()=>e(()=>import("./inverter-cfb3d4a6.js"),["assets/inverter-cfb3d4a6.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-5d1ae794.js"),["assets/device-5d1ae794.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/inverter.vue":()=>e(()=>import("./inverter-c35b64f3.js"),["assets/inverter-c35b64f3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/${this.component.type}.vue`),errorComponent:ve}):z({loader:()=>x(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-dd007760.js"),["assets/device-dd007760.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-5adae5d2.js"),["assets/device-5adae5d2.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-d1705c14.js"),["assets/device-d1705c14.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-50903165.js"),["assets/device-50903165.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-2d3b00aa.js"),["assets/device-2d3b00aa.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-248bd83c.js"),["assets/device-248bd83c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-3e871ec6.js"),["assets/device-3e871ec6.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-195e5065.js"),["assets/device-195e5065.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-cf16ba2c.js"),["assets/device-cf16ba2c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-850e79e3.js"),["assets/device-850e79e3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-53a283dc.js"),["assets/device-53a283dc.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-3cca3b5e.js"),["assets/device-3cca3b5e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-37ed45ff.js"),["assets/device-37ed45ff.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-942efc8c.js"),["assets/device-942efc8c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-231214e8.js"),["assets/device-231214e8.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-9415f137.js"),["assets/device-9415f137.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-40835085.js"),["assets/device-40835085.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-7b42a570.js"),["assets/device-7b42a570.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-c4d8cd7c.js"),["assets/device-c4d8cd7c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-367f3038.js"),["assets/device-367f3038.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-904eab42.js"),["assets/device-904eab42.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-e54596e7.js"),["assets/device-e54596e7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-6a1d320f.js"),["assets/device-6a1d320f.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-7e2931f7.js"),["assets/device-7e2931f7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-5ac1bbfa.js"),["assets/device-5ac1bbfa.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-4d1f570e.js"),["assets/device-4d1f570e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-cc58677a.js"),["assets/device-cc58677a.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-bfb62013.js"),["assets/device-bfb62013.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-0c91e95d.js"),["assets/device-0c91e95d.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-c048d228.js"),["assets/device-c048d228.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-5d0369e3.js"),["assets/device-5d0369e3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-1117dee2.js"),["assets/device-1117dee2.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-287b1638.js"),["assets/device-287b1638.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-d277cbc9.js"),["assets/device-d277cbc9.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-d365a0c6.js"),["assets/device-d365a0c6.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-118d142e.js"),["assets/device-118d142e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-ba573cc4.js"),["assets/device-ba573cc4.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-1d30069b.js"),["assets/device-1d30069b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-9f0e08a0.js"),["assets/device-9f0e08a0.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-1f763440.js"),["assets/device-1f763440.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-d542e8ec.js"),["assets/device-d542e8ec.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-20810946.js"),["assets/device-20810946.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-97e191dc.js"),["assets/device-97e191dc.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-f7567e84.js"),["assets/device-f7567e84.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-e5439a4d.js"),["assets/device-e5439a4d.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-291b11ff.js"),["assets/device-291b11ff.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-9ce75bb7.js"),["assets/device-9ce75bb7.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-d41cc05c.js"),["assets/device-d41cc05c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-b726fad3.js"),["assets/device-b726fad3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-9904fa9e.js"),["assets/device-9904fa9e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-149c2866.js"),["assets/device-149c2866.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-1d0ded93.js"),["assets/device-1d0ded93.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-ed76e5f3.js"),["assets/device-ed76e5f3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-7ae1ec3c.js"),["assets/device-7ae1ec3c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-4a9b6651.js"),["assets/device-4a9b6651.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-08c658c9.js"),["assets/device-08c658c9.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-4b8cf1fd.js"),["assets/device-4b8cf1fd.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-853fe6d3.js"),["assets/device-853fe6d3.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-cd49ba10.js"),["assets/device-cd49ba10.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-3903ab82.js"),["assets/device-3903ab82.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-20937cb6.js"),["assets/device-20937cb6.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-36dada42.js"),["assets/device-36dada42.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-57ea291e.js"),["assets/device-57ea291e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-5d1ae794.js"),["assets/device-5d1ae794.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/device.vue`),errorComponent:_e})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function me(t,o,i,m,v,n){return s(),E(Z(n.myComponent),{device:i.device,component:i.component,configuration:i.component?i.component.configuration:i.device.configuration,"device-id":i.device.id,"device-type":i.device.type,"component-id":i.component?i.component.id:void 0,"component-type":i.component?i.component.type:void 0,"onUpdate:configuration":o[0]||(o[0]=l=>n.updateConfiguration(l))},null,40,["device","component","configuration","device-id","device-type","component-id","component-type"])}const pe=I(ae,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);S.add(q,U,G,N,F,H,K);const le={name:"OpenwbHardwareInstallationView",components:{FontAwesomeIcon:$,OpenwbConfigProxy:pe},mixins:[J],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/get/hierarchy","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/system/configurable/devices_components"],selectedVendor:void 0,deviceToAdd:void 0,showDeviceRemoveModal:!1,modalDevice:void 0,modalDeviceName:"",componentToAdd:[],showComponentRemoveModal:!1,modalComponent:void 0,modalComponentName:""}},computed:{installedDevices:{get(){return this.getWildcardTopics("openWB/system/device/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}},vendorList:{get(){return this.$store.state.mqtt["openWB/system/configurable/devices_components"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).map(([t,o])=>({label:o.group_name,options:Object.entries(o.vendors).map(([i,m])=>({value:[t,i],text:m.vendor_name})).sort((i,m)=>i.text.localeCompare(m.text))})).sort((t,o)=>-t.label.localeCompare(o.label))}},deviceList:{get(){if(this.selectedVendor===void 0)return[];let[t,o]=this.selectedVendor;return Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"][t].vendors[o].devices).map(([i,m])=>({value:[o,i],text:m.device_name})).sort((i,m)=>i.text.localeCompare(m.text))}}},methods:{getComponentTypeClass(t){return t.match(/^(.+_)?counter(_.+)?$/)?"danger":t.match(/^(.+_)?inverter(_.+)?$/)?"success":t.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(t){return t.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:t.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:t.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(t){return this.getWildcardTopics("openWB/system/device/"+t+"/component/+/config")},deviceHasConfiguredComponents(t){return Object.keys(this.getMyInstalledComponents(t)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{vendor:this.deviceToAdd[0],type:this.deviceToAdd[1]}})},removeDeviceModal(t,o,i){i.stopPropagation(),this.modalDevice=t,this.modalDeviceName=o,this.showDeviceRemoveModal=!0},removeDevice(t){this.showDeviceRemoveModal=!1,t=="confirm"&&(console.info("request removal of device '"+this.modalDevice+"'"),this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}}))},addComponent(t,o,i,m){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:t,deviceType:i,deviceVendor:o,type:m}})},removeComponentModal(t,o,i,m,v){v.stopPropagation(),this.modalComponent={deviceId:t,id:o,type:i},this.modalComponentName=m,this.showComponentRemoveModal=!0},removeComponent(t){this.showComponentRemoveModal=!1,t=="confirm"&&(console.info("request removal of component '"+this.modalComponent.id+"' from device '"+this.modalComponent.deviceId+"' type '"+this.modalComponent.type+"'"),this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent}))},getComponentList(t,o){if(t===void 0||o===void 0)return[];console.debug("finding components for",t,o);let i=[];return Object.values(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).every(m=>m.vendors[t]!==void 0?(m.vendors[t].devices[o]!==void 0&&(i=Object.entries(m.vendors[t].devices[o].components).map(([n,l])=>({value:n,text:l.component_name}))),!1):!0),i},updateConfiguration(t,o){console.debug("updateConfiguration",t,o),this.updateState(t,o.value,o.object)}}},ce={class:"hardwareInstallation"},Ee={name:"hardwareInstallationForm"},ge={key:0},fe={key:1},Ve={key:1},be={key:0};function Oe(t,o,i,m,v,n){const l=p("openwb-base-modal-dialog"),T=p("router-link"),O=p("openwb-base-alert"),A=p("font-awesome-icon"),D=p("openwb-base-avatar"),R=p("openwb-base-text-input"),C=p("openwb-config-proxy"),M=p("openwb-base-heading"),w=p("openwb-base-card"),y=p("openwb-base-select-input"),j=p("openwb-base-submit-buttons");return s(),g(L,null,[u(l,{show:v.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeDevice},{default:r(()=>[d(' Wollen Sie das Gerät "'+V(v.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),u(l,{show:v.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeComponent},{default:r(()=>[d(' Wollen Sie die Komponente "'+V(v.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),c("div",ce,[c("form",Ee,[i.installAssistantActive?P("",!0):(s(),E(O,{key:0,subtype:"info"},{default:r(()=>[o[7]||(o[7]=d(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das ")),u(T,{to:"/LoadManagementConfiguration"},{default:r(()=>o[6]||(o[6]=[d(" Lastmanagement ")])),_:1}),o[8]||(o[8]=d(" zu prüfen! "))]),_:1})),u(w,{title:"Geräte und Komponenten"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),g("div",ge,[u(O,{subtype:"info"},{default:r(()=>o[9]||(o[9]=[d(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),g("div",fe,[(s(!0),g(L,null,k(n.installedDevices,(_,h)=>(s(),E(w,{key:h,collapsible:!0,collapsed:!0,subtype:"dark"},{header:r(()=>[u(A,{"fixed-width":"",icon:["fas","network-wired"]}),d(" "+V(_==null?void 0:_.name),1)]),actions:r(a=>[a.collapsed?(s(),g("div",Ve,[(s(!0),g(L,null,k(n.getMyInstalledComponents(_==null?void 0:_.id),f=>(s(),E(D,{key:f.id,class:Q("ml-1 bg-"+n.getComponentTypeClass(f.type))},{default:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(f.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:f=>n.removeDeviceModal(_==null?void 0:_.id,_==null?void 0:_.name,f)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":_==null?void 0:_.name,"onUpdate:modelValue":a=>t.updateState(h,a,"name")},null,8,["model-value","onUpdate:modelValue"]),o[17]||(o[17]=c("hr",null,null,-1)),u(C,{device:_,"onUpdate:configuration":a=>n.updateConfiguration(h,a)},null,8,["device","onUpdate:configuration"]),o[18]||(o[18]=c("hr",null,null,-1)),u(M,null,{default:r(()=>[...o[10]||(o[10]=[d("Komponenten")])]),_:1}),n.deviceHasConfiguredComponents(_==null?void 0:_.id)?P("",!0):(s(),E(O,{key:0,subtype:"warning"},{default:r(()=>[...o[11]||(o[11]=[d(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ")])]),_:1})),(s(!0),g(L,null,k(n.getMyInstalledComponents(_.id),(a,f)=>(s(),E(w,{key:a.id,collapsible:!0,collapsed:!0,subtype:n.getComponentTypeClass(a.type)},{header:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(a.type)},null,8,["icon"]),d(" "+V(a.name),1)]),actions:r(b=>[b.collapsed?P("",!0):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:W=>n.removeComponentModal(_.id,a.id,a.type,a.name,W)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":a.name,"onUpdate:modelValue":b=>t.updateState(f,b,"name")},null,8,["model-value","onUpdate:modelValue"]),u(R,{title:"Hersteller",subtype:"text","model-value":a.info.manufacturer,"onUpdate:modelValue":b=>t.updateState(f,b,"info.manufacturer")},{help:r(()=>[...o[12]||(o[12]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),u(R,{title:"Modell",subtype:"text","model-value":a.info.model,"onUpdate:modelValue":b=>t.updateState(f,b,"info.model")},{help:r(()=>[...o[13]||(o[13]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o[14]||(o[14]=c("hr",null,null,-1)),u(C,{device:_,component:a,"onUpdate:configuration":b=>n.updateConfiguration(f,b)},null,8,["device","component","onUpdate:configuration"])]),_:2},1032,["subtype"]))),128)),o[19]||(o[19]=c("hr",null,null,-1)),n.getComponentList(_.vendor,_.type).length?(s(),E(y,{key:1,title:"Verfügbare Komponenten","not-selected":"Bitte auswählen",options:n.getComponentList(_.vendor,_.type),"model-value":v.componentToAdd[_.id],"add-button":!0,"onUpdate:modelValue":a=>v.componentToAdd[_.id]=a,"onInput:add":a=>n.addComponent(_.id,_.vendor,_.type,v.componentToAdd[_.id])},{help:r(()=>[...o[15]||(o[15]=[d(" Bitte eine Komponente auswählen, die hinzugefügt werden soll. Für jeden Datensatz, z.B. Wechselrichter- und Batteriedaten, muss eine Wechselrichter- und eine Batteriekomponente hinzugefügt werden. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue","onInput:add"])):(s(),E(O,{key:2,subtype:"info"},{default:r(()=>[...o[16]||(o[16]=[d(" Dieses System bietet keine Komponenten zur Installation an. ")])]),_:1}))]),_:2},1024))),128)),Object.keys(n.installedDevices).length>0?(s(),g("hr",be)):P("",!0),u(y,{modelValue:v.selectedVendor,"onUpdate:modelValue":o[0]||(o[0]=_=>v.selectedVendor=_),title:"Hersteller","not-selected":"Bitte auswählen",groups:n.vendorList},null,8,["modelValue","groups"]),u(y,{modelValue:v.deviceToAdd,"onUpdate:modelValue":[o[1]||(o[1]=_=>v.deviceToAdd=_),o[2]||(o[2]=_=>v.deviceToAdd=_)],title:"Verfügbare Geräte","not-selected":"Bitte auswählen",disabled:v.selectedVendor===void 0,options:n.deviceList,"model-value":v.deviceToAdd,"add-button":!0,"onInput:add":n.addDevice},{help:r(()=>o[20]||(o[20]=[c("p",null,[d(' Die openWB-Regelung ist auf Werte von Messpunkten (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),c("br"),d(' Ein "Gerät" wird hierbei durch seine Verbindungseinstellungen (z.B. IP-Adresse) spezifiziert (häufig durch manuelle Eingabe oder manchmal automatisch ermittelt) und kann über mehrere untergeordnete "Komponenten" verfügen, z.B. einen Messpunkt für PV-Erzeugung, einen Messpunkt für Netzeinspeisung/-bezug am EVU-Punkt usw.. Ein "Gerät" bedingt somit immer mindestens eine zugehörige "Komponente". ')],-1),c("p",null,[d(' Bsp: Werden die Werte von verschiedenen Messpunkten (z.B. PV und EVU) über die gleiche IP-Adresse abgefragt, wird dafür ein "Gerät" mit zwei "Komponenten" für PV- und EVU- Messpunkt angelegt.'),c("br"),d(' Verfügt dagegen jeder Messpunkt über eine eigene IP-Adresse, wird jeder Messpunkt als eigenes "Gerät" mit nur einer "Komponente" angelegt. ')],-1),c("p",null,' Das "Gerät" wird in der Dropdown-Liste ausgewählt und mit "+" der Regelung hinzugefügt. Im Anschluss erfolgt die Konfiguration des "Gerätes" innerhalb des schwarzen "Geräte"-Reiters. ',-1)])),_:1},8,["modelValue","disabled","options","model-value","onInput:add"])]))]),_:1}),u(j,{"form-name":"hardwareInstallationForm",onSave:o[3]||(o[3]=_=>t.$emit("save")),onReset:o[4]||(o[4]=_=>t.$emit("reset")),onDefaults:o[5]||(o[5]=_=>t.$emit("defaults"))})])])],64)}const Ie=I(le,[["render",Oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]),Le=Object.freeze(Object.defineProperty({__proto__:null,default:Ie},Symbol.toStringTag,{value:"Module"}));export{re as C,B as D,Ie as H,Le as a}; diff --git a/web/settings/assets/HardwareInstallation-774805b0.js b/web/settings/assets/HardwareInstallation-774805b0.js new file mode 100644 index 0000000000..7f8ea08cbb --- /dev/null +++ b/web/settings/assets/HardwareInstallation-774805b0.js @@ -0,0 +1 @@ +import{l as S,d as q,t as U,ae as G,a7 as N,W as F,V as H,U as K,F as $}from"./vendor-fortawesome-231ff303.js";import{_ as e,C as J}from"./index-6ffbdc7e.js";import{_ as x}from"./dynamic-import-helper-be004503.js";import{_ as I,u as p,l as s,m as g,z as E,E as r,y as d,F as V,G as u,x as c,a1 as z,a2 as Z,B as P,N as L,M as k,q as Q}from"./vendor-0c15df0c.js";const X={props:{device:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,o=void 0){this.$emit("update:configuration",{value:t,object:o})}}},B=I(X,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/DeviceConfigMixin.vue"]]),Y={name:"DeviceFallback",mixins:[B]},ee={class:"device-fallback"},oe={key:1};function te(t,o,i,m,v,n){const l=p("openwb-base-alert"),T=p("openwb-base-textarea");return s(),g("div",ee,[Object.keys(t.device.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Gerät-Typ "'+V(t.device.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",oe,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Geräte-Typ "'+V(t.device.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(T,{title:"Konfiguration",subtype:"json","model-value":t.device.configuration,"onUpdate:modelValue":o[0]||(o[0]=O=>t.updateConfiguration(O,"configuration"))},{help:r(()=>o[1]||(o[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(t.device.configuration,void 0,2)),1)]),_:1})]))])}const _e=I(Y,[["render",te],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbDeviceConfigFallback.vue"]]),ie={mixins:[B],props:{component:{type:Object,required:!0}}},re=I(ie,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ComponentConfigMixin.vue"]]),ne={name:"ComponentFallback",mixins:[re]},ue={class:"component-fallback"},de={key:1};function se(t,o,i,m,v,n){const l=p("openwb-base-alert"),T=p("openwb-base-textarea");return s(),g("div",ue,[Object.keys(t.component.configuration).length==0?(s(),E(l,{key:0,subtype:"info"},{default:r(()=>[d(' Der Komponenten-Typ "'+V(t.component.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),g("div",de,[u(l,{subtype:"warning"},{default:r(()=>[d(' Es wurde keine Konfigurationsseite für den Komponenten-Typ "'+V(t.component.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),u(T,{title:"Konfiguration",subtype:"json","model-value":t.component.configuration,"onUpdate:modelValue":o[0]||(o[0]=O=>t.updateConfiguration(O,"configuration"))},{help:r(()=>o[1]||(o[1]=[d(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),u(l,{subtype:"info"},{default:r(()=>[c("pre",null,V(JSON.stringify(t.component.configuration,void 0,2)),1)]),_:1})]))])}const ve=I(ne,[["render",se],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbComponentConfigFallback.vue"]]),ae={name:"OpenwbConfigProxy",props:{device:{type:Object,required:!0},component:{type:Object,required:!1,default:void 0}},emits:["update:configuration"],computed:{myComponent(){var t;return console.debug(`loading component: ${this.device.type} / ${(t=this.component)==null?void 0:t.type}`),this.component!==void 0?z({loader:()=>x(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-4a497af5.js"),["assets/device-4a497af5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-00a80420.js"),["assets/device-00a80420.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-f335e149.js"),["assets/device-f335e149.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-7cac1f38.js"),["assets/device-7cac1f38.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-33333654.js"),["assets/device-33333654.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/inverter.vue":()=>e(()=>import("./inverter-71e6379a.js"),["assets/inverter-71e6379a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-81d0ffd8.js"),["assets/device-81d0ffd8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/counter.vue":()=>e(()=>import("./counter-c1885724.js"),["assets/counter-c1885724.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-94c2d3d8.js"),["assets/device-94c2d3d8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/bat.vue":()=>e(()=>import("./bat-870c28db.js"),["assets/bat-870c28db.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/counter.vue":()=>e(()=>import("./counter-d34ae8f4.js"),["assets/counter-d34ae8f4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-66c1dd8c.js"),["assets/device-66c1dd8c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/inverter.vue":()=>e(()=>import("./inverter-b2bd5c94.js"),["assets/inverter-b2bd5c94.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/counter.vue":()=>e(()=>import("./counter-545253d4.js"),["assets/counter-545253d4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-f7801182.js"),["assets/device-f7801182.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/inverter.vue":()=>e(()=>import("./inverter-5d58d780.js"),["assets/inverter-5d58d780.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-f3bd838b.js"),["assets/device-f3bd838b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/counter.vue":()=>e(()=>import("./counter-37a8540a.js"),["assets/counter-37a8540a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-b8d9256b.js"),["assets/device-b8d9256b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/inverter.vue":()=>e(()=>import("./inverter-ed829838.js"),["assets/inverter-ed829838.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/bat.vue":()=>e(()=>import("./bat-a25507f4.js"),["assets/bat-a25507f4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-dde17a76.js"),["assets/device-dde17a76.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/bat.vue":()=>e(()=>import("./bat-2a741593.js"),["assets/bat-2a741593.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/counter.vue":()=>e(()=>import("./counter-6fe231bf.js"),["assets/counter-6fe231bf.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-a429bd10.js"),["assets/device-a429bd10.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/inverter.vue":()=>e(()=>import("./inverter-d5297a49.js"),["assets/inverter-d5297a49.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/bat.vue":()=>e(()=>import("./bat-8c39f8e9.js"),["assets/bat-8c39f8e9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/counter_sm.vue":()=>e(()=>import("./counter_sm-7e35d3f5.js"),["assets/counter_sm-7e35d3f5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-268e0f9c.js"),["assets/device-268e0f9c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/inverter_secondary.vue":()=>e(()=>import("./inverter_secondary-5a213e84.js"),["assets/inverter_secondary-5a213e84.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/bat.vue":()=>e(()=>import("./bat-7628ec93.js"),["assets/bat-7628ec93.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/counter.vue":()=>e(()=>import("./counter-10e20a5c.js"),["assets/counter-10e20a5c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-25aa0926.js"),["assets/device-25aa0926.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/inverter.vue":()=>e(()=>import("./inverter-134f0498.js"),["assets/inverter-134f0498.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/bat.vue":()=>e(()=>import("./bat-83911b35.js"),["assets/bat-83911b35.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/counter.vue":()=>e(()=>import("./counter-91dcf244.js"),["assets/counter-91dcf244.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-e2342c8e.js"),["assets/device-e2342c8e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/inverter.vue":()=>e(()=>import("./inverter-6e18b807.js"),["assets/inverter-6e18b807.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/bat.vue":()=>e(()=>import("./bat-fbcc91ad.js"),["assets/bat-fbcc91ad.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/counter.vue":()=>e(()=>import("./counter-0ec3b2dc.js"),["assets/counter-0ec3b2dc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-63436beb.js"),["assets/device-63436beb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/inverter.vue":()=>e(()=>import("./inverter-347f422e.js"),["assets/inverter-347f422e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/virtual/counter.vue":()=>e(()=>import("./counter-22fcfc81.js"),["assets/counter-22fcfc81.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-905e6026.js"),["assets/device-905e6026.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-b9e9acf2.js"),["assets/device-b9e9acf2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-ab3fcde4.js"),["assets/device-ab3fcde4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/bat.vue":()=>e(()=>import("./bat-be9befb6.js"),["assets/bat-be9befb6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/counter.vue":()=>e(()=>import("./counter-9c9e16ff.js"),["assets/counter-9c9e16ff.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-0c440e8d.js"),["assets/device-0c440e8d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/inverter.vue":()=>e(()=>import("./inverter-2945d14b.js"),["assets/inverter-2945d14b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/counter.vue":()=>e(()=>import("./counter-ffd7ad4c.js"),["assets/counter-ffd7ad4c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-93041fee.js"),["assets/device-93041fee.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/counter.vue":()=>e(()=>import("./counter-89c7a6c1.js"),["assets/counter-89c7a6c1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-5598de15.js"),["assets/device-5598de15.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/inverter.vue":()=>e(()=>import("./inverter-66e695f0.js"),["assets/inverter-66e695f0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-29777d02.js"),["assets/device-29777d02.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/counter.vue":()=>e(()=>import("./counter-82b43082.js"),["assets/counter-82b43082.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-3df0320c.js"),["assets/device-3df0320c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/counter.vue":()=>e(()=>import("./counter-6e0ab9a4.js"),["assets/counter-6e0ab9a4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-fdc63870.js"),["assets/device-fdc63870.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-79908023.js"),["assets/device-79908023.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/inverter.vue":()=>e(()=>import("./inverter-b5e0c408.js"),["assets/inverter-b5e0c408.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-7c4c382e.js"),["assets/device-7c4c382e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/bat.vue":()=>e(()=>import("./bat-d795c974.js"),["assets/bat-d795c974.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/counter.vue":()=>e(()=>import("./counter-7763e88b.js"),["assets/counter-7763e88b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-b66728c4.js"),["assets/device-b66728c4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/inverter.vue":()=>e(()=>import("./inverter-8c73f033.js"),["assets/inverter-8c73f033.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-070f8a80.js"),["assets/device-070f8a80.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/inverter.vue":()=>e(()=>import("./inverter-5a6e5f4b.js"),["assets/inverter-5a6e5f4b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_bat_kit/bat.vue":()=>e(()=>import("./bat-20a6fcc9.js"),["assets/bat-20a6fcc9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/bat.vue":()=>e(()=>import("./bat-88cf0311.js"),["assets/bat-88cf0311.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/counter.vue":()=>e(()=>import("./counter-ba937207.js"),["assets/counter-ba937207.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_evu_kit/inverter.vue":()=>e(()=>import("./inverter-5766bb1f.js"),["assets/inverter-5766bb1f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/bat.vue":()=>e(()=>import("./bat-7c112cdc.js"),["assets/bat-7c112cdc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/consumption_counter.vue":()=>e(()=>import("./consumption_counter-ed63d449.js"),["assets/consumption_counter-ed63d449.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/counter.vue":()=>e(()=>import("./counter-14d6468a.js"),["assets/counter-14d6468a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-a762ce9b.js"),["assets/device-a762ce9b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/inverter.vue":()=>e(()=>import("./inverter-52d24f2b.js"),["assets/inverter-52d24f2b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_pv_kit/inverter.vue":()=>e(()=>import("./inverter-b25f8a03.js"),["assets/inverter-b25f8a03.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/counter.vue":()=>e(()=>import("./counter-11d5e6ed.js"),["assets/counter-11d5e6ed.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-9e57dd90.js"),["assets/device-9e57dd90.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/counter.vue":()=>e(()=>import("./counter-07f62e38.js"),["assets/counter-07f62e38.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-ed98fdc8.js"),["assets/device-ed98fdc8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/inverter.vue":()=>e(()=>import("./inverter-2673061b.js"),["assets/inverter-2673061b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-9c10a4cc.js"),["assets/device-9c10a4cc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-30453e80.js"),["assets/device-30453e80.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-2ec17614.js"),["assets/device-2ec17614.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/counter.vue":()=>e(()=>import("./counter-03859dcb.js"),["assets/counter-03859dcb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-f90aae12.js"),["assets/device-f90aae12.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-13e18dae.js"),["assets/device-13e18dae.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-d92eab38.js"),["assets/device-d92eab38.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/bat.vue":()=>e(()=>import("./bat-7781f1e1.js"),["assets/bat-7781f1e1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/counter.vue":()=>e(()=>import("./counter-9360498c.js"),["assets/counter-9360498c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-6c890a4a.js"),["assets/device-6c890a4a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/inverter.vue":()=>e(()=>import("./inverter-82b7c98b.js"),["assets/inverter-82b7c98b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/counter.vue":()=>e(()=>import("./counter-38be6d97.js"),["assets/counter-38be6d97.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_shm/inverter.vue":()=>e(()=>import("./inverter-8310ec01.js"),["assets/inverter-8310ec01.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat.vue":()=>e(()=>import("./bat-84a208c4.js"),["assets/bat-84a208c4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/bat_smart_energy.vue":()=>e(()=>import("./bat_smart_energy-2bf06507.js"),["assets/bat_smart_energy-2bf06507.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/counter.vue":()=>e(()=>import("./counter-b4954c1e.js"),["assets/counter-b4954c1e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-214169c7.js"),["assets/device-214169c7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/inverter.vue":()=>e(()=>import("./inverter-89044d6c.js"),["assets/inverter-89044d6c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/bat.vue":()=>e(()=>import("./bat-2c4908b3.js"),["assets/bat-2c4908b3.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-7e892848.js"),["assets/device-7e892848.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-35fd4de7.js"),["assets/device-35fd4de7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/counter.vue":()=>e(()=>import("./counter-f17db2fe.js"),["assets/counter-f17db2fe.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-e2123884.js"),["assets/device-e2123884.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/inverter.vue":()=>e(()=>import("./inverter-56b4bbe6.js"),["assets/inverter-56b4bbe6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-86fa2d07.js"),["assets/device-86fa2d07.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-9dc72c28.js"),["assets/device-9dc72c28.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/counter.vue":()=>e(()=>import("./counter-27ba9eb0.js"),["assets/counter-27ba9eb0.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-efc532f9.js"),["assets/device-efc532f9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-7b536bd5.js"),["assets/device-7b536bd5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/inverter.vue":()=>e(()=>import("./inverter-919b759e.js"),["assets/inverter-919b759e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-c8b185aa.js"),["assets/device-c8b185aa.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-20337104.js"),["assets/device-20337104.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/bat.vue":()=>e(()=>import("./bat-84bdf828.js"),["assets/bat-84bdf828.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/counter.vue":()=>e(()=>import("./counter-555d9e52.js"),["assets/counter-555d9e52.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-1d33960e.js"),["assets/device-1d33960e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/external_inverter.vue":()=>e(()=>import("./external_inverter-54ff0a87.js"),["assets/external_inverter-54ff0a87.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/inverter.vue":()=>e(()=>import("./inverter-8e495d6b.js"),["assets/inverter-8e495d6b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/bat.vue":()=>e(()=>import("./bat-ea45b5c9.js"),["assets/bat-ea45b5c9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-287c38e2.js"),["assets/device-287c38e2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/inverter.vue":()=>e(()=>import("./inverter-8b788438.js"),["assets/inverter-8b788438.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-704661a5.js"),["assets/device-704661a5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/bat.vue":()=>e(()=>import("./bat-eee03fc7.js"),["assets/bat-eee03fc7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/counter.vue":()=>e(()=>import("./counter-8f282bba.js"),["assets/counter-8f282bba.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-5a25f4ee.js"),["assets/device-5a25f4ee.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/inverter.vue":()=>e(()=>import("./inverter-fec73288.js"),["assets/inverter-fec73288.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/counter.vue":()=>e(()=>import("./counter-c7f8da9b.js"),["assets/counter-c7f8da9b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-e9bc435f.js"),["assets/device-e9bc435f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/bat.vue":()=>e(()=>import("./bat-228b0596.js"),["assets/bat-228b0596.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-8b6844df.js"),["assets/device-8b6844df.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/inverter.vue":()=>e(()=>import("./inverter-e314dfcc.js"),["assets/inverter-e314dfcc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-fc9f3929.js"),["assets/device-fc9f3929.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-7342e098.js"),["assets/device-7342e098.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-5681fe33.js"),["assets/device-5681fe33.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/counter.vue":()=>e(()=>import("./counter-98d5e3dd.js"),["assets/counter-98d5e3dd.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-399c48e2.js"),["assets/device-399c48e2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-1492f387.js"),["assets/device-1492f387.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/inverter.vue":()=>e(()=>import("./inverter-7d78f503.js"),["assets/inverter-7d78f503.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/bat.vue":()=>e(()=>import("./bat-b21e9a69.js"),["assets/bat-b21e9a69.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/counter.vue":()=>e(()=>import("./counter-e388f3ab.js"),["assets/counter-e388f3ab.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-eeb62f62.js"),["assets/device-eeb62f62.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/inverter.vue":()=>e(()=>import("./inverter-d7aeaccd.js"),["assets/inverter-d7aeaccd.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/counter.vue":()=>e(()=>import("./counter-340cb2fe.js"),["assets/counter-340cb2fe.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-1cd92143.js"),["assets/device-1cd92143.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/inverter.vue":()=>e(()=>import("./inverter-9bb87746.js"),["assets/inverter-9bb87746.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-2d0e9682.js"),["assets/device-2d0e9682.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/inverter.vue":()=>e(()=>import("./inverter-d93788e4.js"),["assets/inverter-d93788e4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/${this.component.type}.vue`),errorComponent:ve}):z({loader:()=>x(Object.assign({"./alpha_ess/alpha_ess/device.vue":()=>e(()=>import("./device-4a497af5.js"),["assets/device-4a497af5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ampere/ampere/device.vue":()=>e(()=>import("./device-00a80420.js"),["assets/device-00a80420.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./azzurro_zcs/azzurro_zcs/device.vue":()=>e(()=>import("./device-f335e149.js"),["assets/device-f335e149.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./batterx/batterx/device.vue":()=>e(()=>import("./device-7cac1f38.js"),["assets/device-7cac1f38.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./benning/benning/device.vue":()=>e(()=>import("./device-33333654.js"),["assets/device-33333654.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./byd/byd/device.vue":()=>e(()=>import("./device-81d0ffd8.js"),["assets/device-81d0ffd8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./carlo_gavazzi/carlo_gavazzi/device.vue":()=>e(()=>import("./device-94c2d3d8.js"),["assets/device-94c2d3d8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./deye/deye/device.vue":()=>e(()=>import("./device-66c1dd8c.js"),["assets/device-66c1dd8c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./discovergy/discovergy/device.vue":()=>e(()=>import("./device-f7801182.js"),["assets/device-f7801182.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./e3dc/e3dc/device.vue":()=>e(()=>import("./device-f3bd838b.js"),["assets/device-f3bd838b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./enphase/enphase/device.vue":()=>e(()=>import("./device-b8d9256b.js"),["assets/device-b8d9256b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fems/fems/device.vue":()=>e(()=>import("./device-dde17a76.js"),["assets/device-dde17a76.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fox_ess/fox_ess/device.vue":()=>e(()=>import("./device-a429bd10.js"),["assets/device-a429bd10.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./fronius/fronius/device.vue":()=>e(()=>import("./device-268e0f9c.js"),["assets/device-268e0f9c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/http/device.vue":()=>e(()=>import("./device-25aa0926.js"),["assets/device-25aa0926.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/json/device.vue":()=>e(()=>import("./device-e2342c8e.js"),["assets/device-e2342c8e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./generic/mqtt/device.vue":()=>e(()=>import("./device-63436beb.js"),["assets/device-63436beb.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./good_we/good_we/device.vue":()=>e(()=>import("./device-905e6026.js"),["assets/device-905e6026.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./growatt/growatt/device.vue":()=>e(()=>import("./device-b9e9acf2.js"),["assets/device-b9e9acf2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei/device.vue":()=>e(()=>import("./device-ab3fcde4.js"),["assets/device-ab3fcde4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./huawei/huawei_smartlogger/device.vue":()=>e(()=>import("./device-0c440e8d.js"),["assets/device-0c440e8d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./janitza/janitza/device.vue":()=>e(()=>import("./device-93041fee.js"),["assets/device-93041fee.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko/device.vue":()=>e(()=>import("./device-5598de15.js"),["assets/device-5598de15.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_piko_old/device.vue":()=>e(()=>import("./device-29777d02.js"),["assets/device-29777d02.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_plenticore/device.vue":()=>e(()=>import("./device-3df0320c.js"),["assets/device-3df0320c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_sem/device.vue":()=>e(()=>import("./device-fdc63870.js"),["assets/device-fdc63870.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kostal/kostal_steca/device.vue":()=>e(()=>import("./device-79908023.js"),["assets/device-79908023.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./lg/lg/device.vue":()=>e(()=>import("./device-7c4c382e.js"),["assets/device-7c4c382e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mtec/mtec/device.vue":()=>e(()=>import("./device-b66728c4.js"),["assets/device-b66728c4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./opendtu/opendtu/device.vue":()=>e(()=>import("./device-070f8a80.js"),["assets/device-070f8a80.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./openwb/openwb_flex/device.vue":()=>e(()=>import("./device-a762ce9b.js"),["assets/device-a762ce9b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerdog/powerdog/device.vue":()=>e(()=>import("./device-9e57dd90.js"),["assets/device-9e57dd90.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./powerfox/powerfox/device.vue":()=>e(()=>import("./device-ed98fdc8.js"),["assets/device-ed98fdc8.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./qcells/qcells/device.vue":()=>e(()=>import("./device-9c10a4cc.js"),["assets/device-9c10a4cc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./rct/rct/device.vue":()=>e(()=>import("./device-30453e80.js"),["assets/device-30453e80.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./saxpower/saxpower/device.vue":()=>e(()=>import("./device-2ec17614.js"),["assets/device-2ec17614.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./shelly/shelly/device.vue":()=>e(()=>import("./device-f90aae12.js"),["assets/device-f90aae12.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens/device.vue":()=>e(()=>import("./device-13e18dae.js"),["assets/device-13e18dae.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./siemens/siemens_sentron/device.vue":()=>e(()=>import("./device-d92eab38.js"),["assets/device-d92eab38.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sigenergy/sigenergy/device.vue":()=>e(()=>import("./device-6c890a4a.js"),["assets/device-6c890a4a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_boy/device.vue":()=>e(()=>import("./device-214169c7.js"),["assets/device-214169c7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_sunny_island/device.vue":()=>e(()=>import("./device-7e892848.js"),["assets/device-7e892848.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sma/sma_webbox/device.vue":()=>e(()=>import("./device-35fd4de7.js"),["assets/device-35fd4de7.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smart_me/smart_me/device.vue":()=>e(()=>import("./device-e2123884.js"),["assets/device-e2123884.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smartfox/smartfox/device.vue":()=>e(()=>import("./device-86fa2d07.js"),["assets/device-86fa2d07.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sofar/sofar/device.vue":()=>e(()=>import("./device-9dc72c28.js"),["assets/device-9dc72c28.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_log/solar_log/device.vue":()=>e(()=>import("./device-efc532f9.js"),["assets/device-efc532f9.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_view/solar_view/device.vue":()=>e(()=>import("./device-7b536bd5.js"),["assets/device-7b536bd5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_watt/solar_watt/device.vue":()=>e(()=>import("./device-c8b185aa.js"),["assets/device-c8b185aa.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solar_world/solar_world/device.vue":()=>e(()=>import("./device-20337104.js"),["assets/device-20337104.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solaredge/solaredge/device.vue":()=>e(()=>import("./device-1d33960e.js"),["assets/device-1d33960e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solarmax/solarmax/device.vue":()=>e(()=>import("./device-287c38e2.js"),["assets/device-287c38e2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solax/solax/device.vue":()=>e(()=>import("./device-704661a5.js"),["assets/device-704661a5.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./solis/solis/device.vue":()=>e(()=>import("./device-5a25f4ee.js"),["assets/device-5a25f4ee.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sonnen/sonnenbatterie/device.vue":()=>e(()=>import("./device-e9bc435f.js"),["assets/device-e9bc435f.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./studer/studer/device.vue":()=>e(()=>import("./device-8b6844df.js"),["assets/device-8b6844df.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sungrow/sungrow/device.vue":()=>e(()=>import("./device-fc9f3929.js"),["assets/device-fc9f3929.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./sunways/sunways/device.vue":()=>e(()=>import("./device-7342e098.js"),["assets/device-7342e098.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tasmota/tasmota/device.vue":()=>e(()=>import("./device-5681fe33.js"),["assets/device-5681fe33.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/tesla/device.vue":()=>e(()=>import("./device-399c48e2.js"),["assets/device-399c48e2.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./varta/varta/device.vue":()=>e(()=>import("./device-1492f387.js"),["assets/device-1492f387.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./victron/victron/device.vue":()=>e(()=>import("./device-eeb62f62.js"),["assets/device-eeb62f62.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vzlogger/vzlogger/device.vue":()=>e(()=>import("./device-1cd92143.js"),["assets/device-1cd92143.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./youless/youless/device.vue":()=>e(()=>import("./device-2d0e9682.js"),["assets/device-2d0e9682.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.device.vendor}/${this.device.type}/device.vue`),errorComponent:_e})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function me(t,o,i,m,v,n){return s(),E(Z(n.myComponent),{device:i.device,component:i.component,configuration:i.component?i.component.configuration:i.device.configuration,"device-id":i.device.id,"device-type":i.device.type,"component-id":i.component?i.component.id:void 0,"component-type":i.component?i.component.type:void 0,"onUpdate:configuration":o[0]||(o[0]=l=>n.updateConfiguration(l))},null,40,["device","component","configuration","device-id","device-type","component-id","component-type"])}const pe=I(ae,[["render",me],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/OpenwbConfigProxy.vue"]]);S.add(q,U,G,N,F,H,K);const le={name:"OpenwbHardwareInstallationView",components:{FontAwesomeIcon:$,OpenwbConfigProxy:pe},mixins:[J],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/get/hierarchy","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/system/configurable/devices_components"],selectedVendor:void 0,deviceToAdd:void 0,showDeviceRemoveModal:!1,modalDevice:void 0,modalDeviceName:"",componentToAdd:[],showComponentRemoveModal:!1,modalComponent:void 0,modalComponentName:""}},computed:{installedDevices:{get(){return this.getWildcardTopics("openWB/system/device/+/config")}},installedComponents:{get(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")}},vendorList:{get(){return this.$store.state.mqtt["openWB/system/configurable/devices_components"]===void 0?[]:Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).map(([t,o])=>({label:o.group_name,options:Object.entries(o.vendors).map(([i,m])=>({value:[t,i],text:m.vendor_name})).sort((i,m)=>i.text.localeCompare(m.text))})).sort((t,o)=>-t.label.localeCompare(o.label))}},deviceList:{get(){if(this.selectedVendor===void 0)return[];let[t,o]=this.selectedVendor;return Object.entries(this.$store.state.mqtt["openWB/system/configurable/devices_components"][t].vendors[o].devices).map(([i,m])=>({value:[o,i],text:m.device_name})).sort((i,m)=>i.text.localeCompare(m.text))}}},methods:{getComponentTypeClass(t){return t.match(/^(.+_)?counter(_.+)?$/)?"danger":t.match(/^(.+_)?inverter(_.+)?$/)?"success":t.match(/^(.+_)?bat(_.+)?$/)?"warning":"dark"},getComponentTypeIcon(t){return t.match(/^(.+_)?counter(_.+)?$/)?["fas","fa-gauge-high"]:t.match(/^(.+_)?inverter(_.+)?$/)?["fas","fa-solar-panel"]:t.match(/^(.+_)?bat(_.+)?$/)?["fas","fa-car-battery"]:["fas","fa-microchip"]},getMyInstalledComponents(t){return this.getWildcardTopics("openWB/system/device/"+t+"/component/+/config")},deviceHasConfiguredComponents(t){return Object.keys(this.getMyInstalledComponents(t)).length>0},addDevice(){this.$emit("sendCommand",{command:"addDevice",data:{vendor:this.deviceToAdd[0],type:this.deviceToAdd[1]}})},removeDeviceModal(t,o,i){i.stopPropagation(),this.modalDevice=t,this.modalDeviceName=o,this.showDeviceRemoveModal=!0},removeDevice(t){this.showDeviceRemoveModal=!1,t=="confirm"&&(console.info("request removal of device '"+this.modalDevice+"'"),this.$emit("sendCommand",{command:"removeDevice",data:{id:this.modalDevice}}))},addComponent(t,o,i,m){this.$emit("sendCommand",{command:"addComponent",data:{deviceId:t,deviceType:i,deviceVendor:o,type:m}})},removeComponentModal(t,o,i,m,v){v.stopPropagation(),this.modalComponent={deviceId:t,id:o,type:i},this.modalComponentName=m,this.showComponentRemoveModal=!0},removeComponent(t){this.showComponentRemoveModal=!1,t=="confirm"&&(console.info("request removal of component '"+this.modalComponent.id+"' from device '"+this.modalComponent.deviceId+"' type '"+this.modalComponent.type+"'"),this.$emit("sendCommand",{command:"removeComponent",data:this.modalComponent}))},getComponentList(t,o){if(t===void 0||o===void 0)return[];console.debug("finding components for",t,o);let i=[];return Object.values(this.$store.state.mqtt["openWB/system/configurable/devices_components"]).every(m=>m.vendors[t]!==void 0?(m.vendors[t].devices[o]!==void 0&&(i=Object.entries(m.vendors[t].devices[o].components).map(([n,l])=>({value:n,text:l.component_name}))),!1):!0),i},updateConfiguration(t,o){console.debug("updateConfiguration",t,o),this.updateState(t,o.value,o.object)}}},ce={class:"hardwareInstallation"},Ee={name:"hardwareInstallationForm"},ge={key:0},fe={key:1},Ve={key:1},be={key:0};function Oe(t,o,i,m,v,n){const l=p("openwb-base-modal-dialog"),T=p("router-link"),O=p("openwb-base-alert"),A=p("font-awesome-icon"),D=p("openwb-base-avatar"),R=p("openwb-base-text-input"),C=p("openwb-config-proxy"),M=p("openwb-base-heading"),w=p("openwb-base-card"),y=p("openwb-base-select-input"),j=p("openwb-base-submit-buttons");return s(),g(L,null,[u(l,{show:v.showDeviceRemoveModal,title:"Gerät löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeDevice},{default:r(()=>[d(' Wollen Sie das Gerät "'+V(v.modalDeviceName)+'" inklusive aller Komponenten wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),u(l,{show:v.showComponentRemoveModal,title:"Komponente löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:n.removeComponent},{default:r(()=>[d(' Wollen Sie die Komponente "'+V(v.modalComponentName)+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show","onModalResult"]),c("div",ce,[c("form",Ee,[i.installAssistantActive?P("",!0):(s(),E(O,{key:0,subtype:"info"},{default:r(()=>[o[7]||(o[7]=d(" Wenn neue Komponenten - insbesondere Zähler - konfiguriert wurden, ist auch das ")),u(T,{to:"/LoadManagementConfiguration"},{default:r(()=>o[6]||(o[6]=[d(" Lastmanagement ")])),_:1}),o[8]||(o[8]=d(" zu prüfen! "))]),_:1})),u(w,{title:"Geräte und Komponenten"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),g("div",ge,[u(O,{subtype:"info"},{default:r(()=>o[9]||(o[9]=[d(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),g("div",fe,[(s(!0),g(L,null,k(n.installedDevices,(_,h)=>(s(),E(w,{key:h,collapsible:!0,collapsed:!0,subtype:"dark"},{header:r(()=>[u(A,{"fixed-width":"",icon:["fas","network-wired"]}),d(" "+V(_==null?void 0:_.name),1)]),actions:r(a=>[a.collapsed?(s(),g("div",Ve,[(s(!0),g(L,null,k(n.getMyInstalledComponents(_==null?void 0:_.id),f=>(s(),E(D,{key:f.id,class:Q("ml-1 bg-"+n.getComponentTypeClass(f.type))},{default:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(f.type)},null,8,["icon"])]),_:2},1032,["class"]))),128))])):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:f=>n.removeDeviceModal(_==null?void 0:_.id,_==null?void 0:_.name,f)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":_==null?void 0:_.name,"onUpdate:modelValue":a=>t.updateState(h,a,"name")},null,8,["model-value","onUpdate:modelValue"]),o[17]||(o[17]=c("hr",null,null,-1)),u(C,{device:_,"onUpdate:configuration":a=>n.updateConfiguration(h,a)},null,8,["device","onUpdate:configuration"]),o[18]||(o[18]=c("hr",null,null,-1)),u(M,null,{default:r(()=>[...o[10]||(o[10]=[d("Komponenten")])]),_:1}),n.deviceHasConfiguredComponents(_==null?void 0:_.id)?P("",!0):(s(),E(O,{key:0,subtype:"warning"},{default:r(()=>[...o[11]||(o[11]=[d(" Es wurden noch keine Komponenten zu diesem Gerät angelegt. ")])]),_:1})),(s(!0),g(L,null,k(n.getMyInstalledComponents(_.id),(a,f)=>(s(),E(w,{key:a.id,collapsible:!0,collapsed:!0,subtype:n.getComponentTypeClass(a.type)},{header:r(()=>[u(A,{"fixed-width":"",icon:n.getComponentTypeIcon(a.type)},null,8,["icon"]),d(" "+V(a.name),1)]),actions:r(b=>[b.collapsed?P("",!0):(s(),E(D,{key:0,class:"bg-danger clickable",onClick:W=>n.removeComponentModal(_.id,a.id,a.type,a.name,W)},{default:r(()=>[u(A,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),default:r(()=>[u(R,{title:"Bezeichnung",subtype:"text","model-value":a.name,"onUpdate:modelValue":b=>t.updateState(f,b,"name")},null,8,["model-value","onUpdate:modelValue"]),u(R,{title:"Hersteller",subtype:"text","model-value":a.info.manufacturer,"onUpdate:modelValue":b=>t.updateState(f,b,"info.manufacturer")},{help:r(()=>[...o[12]||(o[12]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),u(R,{title:"Modell",subtype:"text","model-value":a.info.model,"onUpdate:modelValue":b=>t.updateState(f,b,"info.model")},{help:r(()=>[...o[13]||(o[13]=[d(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o[14]||(o[14]=c("hr",null,null,-1)),u(C,{device:_,component:a,"onUpdate:configuration":b=>n.updateConfiguration(f,b)},null,8,["device","component","onUpdate:configuration"])]),_:2},1032,["subtype"]))),128)),o[19]||(o[19]=c("hr",null,null,-1)),n.getComponentList(_.vendor,_.type).length?(s(),E(y,{key:1,title:"Verfügbare Komponenten","not-selected":"Bitte auswählen",options:n.getComponentList(_.vendor,_.type),"model-value":v.componentToAdd[_.id],"add-button":!0,"onUpdate:modelValue":a=>v.componentToAdd[_.id]=a,"onInput:add":a=>n.addComponent(_.id,_.vendor,_.type,v.componentToAdd[_.id])},{help:r(()=>[...o[15]||(o[15]=[d(" Bitte eine Komponente auswählen, die hinzugefügt werden soll. Für jeden Datensatz, z.B. Wechselrichter- und Batteriedaten, muss eine Wechselrichter- und eine Batteriekomponente hinzugefügt werden. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue","onInput:add"])):(s(),E(O,{key:2,subtype:"info"},{default:r(()=>[...o[16]||(o[16]=[d(" Dieses System bietet keine Komponenten zur Installation an. ")])]),_:1}))]),_:2},1024))),128)),Object.keys(n.installedDevices).length>0?(s(),g("hr",be)):P("",!0),u(y,{modelValue:v.selectedVendor,"onUpdate:modelValue":o[0]||(o[0]=_=>v.selectedVendor=_),title:"Hersteller","not-selected":"Bitte auswählen",groups:n.vendorList},null,8,["modelValue","groups"]),u(y,{modelValue:v.deviceToAdd,"onUpdate:modelValue":[o[1]||(o[1]=_=>v.deviceToAdd=_),o[2]||(o[2]=_=>v.deviceToAdd=_)],title:"Verfügbare Geräte","not-selected":"Bitte auswählen",disabled:v.selectedVendor===void 0,options:n.deviceList,"model-value":v.deviceToAdd,"add-button":!0,"onInput:add":n.addDevice},{help:r(()=>o[20]||(o[20]=[c("p",null,[d(' Die openWB-Regelung ist auf Werte von Messpunkten (Zähler, Energy Meter usw.) angewiesen. Hierfür werden "Geräte" und "Komponenten" verwendet.'),c("br"),d(' Ein "Gerät" wird hierbei durch seine Verbindungseinstellungen (z.B. IP-Adresse) spezifiziert (häufig durch manuelle Eingabe oder manchmal automatisch ermittelt) und kann über mehrere untergeordnete "Komponenten" verfügen, z.B. einen Messpunkt für PV-Erzeugung, einen Messpunkt für Netzeinspeisung/-bezug am EVU-Punkt usw.. Ein "Gerät" bedingt somit immer mindestens eine zugehörige "Komponente". ')],-1),c("p",null,[d(' Bsp: Werden die Werte von verschiedenen Messpunkten (z.B. PV und EVU) über die gleiche IP-Adresse abgefragt, wird dafür ein "Gerät" mit zwei "Komponenten" für PV- und EVU- Messpunkt angelegt.'),c("br"),d(' Verfügt dagegen jeder Messpunkt über eine eigene IP-Adresse, wird jeder Messpunkt als eigenes "Gerät" mit nur einer "Komponente" angelegt. ')],-1),c("p",null,' Das "Gerät" wird in der Dropdown-Liste ausgewählt und mit "+" der Regelung hinzugefügt. Im Anschluss erfolgt die Konfiguration des "Gerätes" innerhalb des schwarzen "Geräte"-Reiters. ',-1)])),_:1},8,["modelValue","disabled","options","model-value","onInput:add"])]))]),_:1}),u(j,{"form-name":"hardwareInstallationForm",onSave:o[3]||(o[3]=_=>t.$emit("save")),onReset:o[4]||(o[4]=_=>t.$emit("reset")),onDefaults:o[5]||(o[5]=_=>t.$emit("defaults"))})])])],64)}const Ie=I(le,[["render",Oe],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/HardwareInstallation.vue"]]),Le=Object.freeze(Object.defineProperty({__proto__:null,default:Ie},Symbol.toStringTag,{value:"Module"}));export{re as C,B as D,Ie as H,Le as a}; diff --git a/web/settings/assets/InstallAssistant-4f07448c.js b/web/settings/assets/InstallAssistant-4f07448c.js new file mode 100644 index 0000000000..85d96f7b61 --- /dev/null +++ b/web/settings/assets/InstallAssistant-4f07448c.js @@ -0,0 +1 @@ +import{C as r,_ as t}from"./index-6ffbdc7e.js";import{_}from"./dynamic-import-helper-be004503.js";import{_ as m,a1 as p,u as d,l as i,m as u,G as A,E as v,z as E,a2 as I,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const P={name:"InstallAssistantView",mixins:[r],emits:["sendCommand","save","reset","defaults"],data(){return{currentPage:0,lastPage:10,showEndAssistantModal:!1}},computed:{myStepComponent(){return console.debug(`loading assistant page: ${this.currentPage}`),p({loader:()=>_(Object.assign({"../components/install_assistant/InstallAssistantStep0.vue":()=>t(()=>import("./InstallAssistantStep0-8492eef5.js"),["assets/InstallAssistantStep0-8492eef5.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep1.vue":()=>t(()=>import("./InstallAssistantStep1-4565052a.js"),["assets/InstallAssistantStep1-4565052a.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-3ab650ed.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep10.vue":()=>t(()=>import("./InstallAssistantStep10-3e98d8ca.js"),["assets/InstallAssistantStep10-3e98d8ca.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep2.vue":()=>t(()=>import("./InstallAssistantStep2-9baa5c9a.js"),["assets/InstallAssistantStep2-9baa5c9a.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/System-0113e541.js","assets/System-0f1d217b.css"]),"../components/install_assistant/InstallAssistantStep3.vue":()=>t(()=>import("./InstallAssistantStep3-d61c672d.js"),["assets/InstallAssistantStep3-d61c672d.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/GeneralConfig-7d467a99.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep4.vue":()=>t(()=>import("./InstallAssistantStep4-773f2173.js"),["assets/InstallAssistantStep4-773f2173.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-547f555f.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep5.vue":()=>t(()=>import("./InstallAssistantStep5-0196860a.js"),["assets/InstallAssistantStep5-0196860a.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/HardwareInstallation-774805b0.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep6.vue":()=>t(()=>import("./InstallAssistantStep6-d79d8279.js"),["assets/InstallAssistantStep6-d79d8279.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-547f555f.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep7.vue":()=>t(()=>import("./InstallAssistantStep7-7f7a803c.js"),["assets/InstallAssistantStep7-7f7a803c.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/LoadManagementConfig-854a9483.js","assets/OpenwbSortableList-c42720fc.js","assets/OpenwbSortableList-7ba533e4.css"]),"../components/install_assistant/InstallAssistantStep8.vue":()=>t(()=>import("./InstallAssistantStep8-92db0745.js"),["assets/InstallAssistantStep8-92db0745.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/VehicleConfig-87862d5f.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep9.vue":()=>t(()=>import("./InstallAssistantStep9-e8b788a4.js"),["assets/InstallAssistantStep9-e8b788a4.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-00616932.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-3ab650ed.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStepTemplate.vue":()=>t(()=>import("./InstallAssistantStepTemplate-00616932.js"),["assets/InstallAssistantStepTemplate-00616932.js","assets/index-6ffbdc7e.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-930e3c07.css"])}),`../components/install_assistant/InstallAssistantStep${this.currentPage}.vue`)})}},methods:{switchPage(s){s>=0&&s<=this.lastPage?this.currentPage=s:console.error(`invalid assistant page number: ${s}`)},endAssistantModal(){this.currentPage!=this.lastPage?this.showEndAssistantModal=!0:this.endAssistant("confirm")},endAssistant(s){this.showEndAssistantModal=!1,s=="confirm"&&(this.updateState("openWB/system/installAssistantDone",!0),this.$root.doPublish("openWB/set/system/installAssistantDone",!0),this.$router.push("/Status"))}}};function S(s,e,f,g,o,n){const l=d("openwb-base-modal-dialog");return i(),u("div",null,[A(l,{show:o.showEndAssistantModal,title:"Assistent beenden",subtype:"danger",buttons:[{text:"Beenden",event:"confirm",subtype:"danger"}],onModalResult:n.endAssistant},{default:v(()=>e[4]||(e[4]=[c(" Wollen Sie den Assistenten wirklich vorzeitig beenden? ")])),_:1},8,["show","onModalResult"]),(i(),E(I(n.myStepComponent),{onSendCommand:e[0]||(e[0]=a=>s.$emit("sendCommand",a)),onSave:e[1]||(e[1]=a=>s.$emit("save")),onReset:e[2]||(e[2]=a=>s.$emit("reset")),onDefaults:e[3]||(e[3]=a=>s.$emit("defaults")),onSwitchPage:n.switchPage,onEndAssistant:n.endAssistantModal},null,40,["onSwitchPage","onEndAssistant"]))])}const L=m(P,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstallAssistant.vue"]]);export{L as default}; diff --git a/web/settings/assets/InstallAssistant-c797080f.js b/web/settings/assets/InstallAssistant-c797080f.js deleted file mode 100644 index 56572925e5..0000000000 --- a/web/settings/assets/InstallAssistant-c797080f.js +++ /dev/null @@ -1 +0,0 @@ -import{C as r,_ as t}from"./index-3434d31b.js";import{_}from"./dynamic-import-helper-be004503.js";import{_ as m,a1 as p,u as d,k as i,l as u,G as A,E as v,z as E,a2 as I,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";const P={name:"InstallAssistantView",mixins:[r],emits:["sendCommand","save","reset","defaults"],data(){return{currentPage:0,lastPage:10,showEndAssistantModal:!1}},computed:{myStepComponent(){return console.debug(`loading assistant page: ${this.currentPage}`),p({loader:()=>_(Object.assign({"../components/install_assistant/InstallAssistantStep0.vue":()=>t(()=>import("./InstallAssistantStep0-f13b6c1a.js"),["assets/InstallAssistantStep0-f13b6c1a.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep1.vue":()=>t(()=>import("./InstallAssistantStep1-70fec0c3.js"),["assets/InstallAssistantStep1-70fec0c3.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-7cf51172.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep10.vue":()=>t(()=>import("./InstallAssistantStep10-c9b6c0ec.js"),["assets/InstallAssistantStep10-c9b6c0ec.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css"]),"../components/install_assistant/InstallAssistantStep2.vue":()=>t(()=>import("./InstallAssistantStep2-d336a62d.js"),["assets/InstallAssistantStep2-d336a62d.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/System-076fdc44.js","assets/System-0f1d217b.css"]),"../components/install_assistant/InstallAssistantStep3.vue":()=>t(()=>import("./InstallAssistantStep3-1700ca14.js"),["assets/InstallAssistantStep3-1700ca14.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/GeneralConfig-c40962a6.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep4.vue":()=>t(()=>import("./InstallAssistantStep4-b2e7acee.js"),["assets/InstallAssistantStep4-b2e7acee.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-d3922b37.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep5.vue":()=>t(()=>import("./InstallAssistantStep5-d6af630f.js"),["assets/InstallAssistantStep5-d6af630f.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/HardwareInstallation-61d444d7.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep6.vue":()=>t(()=>import("./InstallAssistantStep6-5c129200.js"),["assets/InstallAssistantStep6-5c129200.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/ChargePointInstallation-d3922b37.js","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"]),"../components/install_assistant/InstallAssistantStep7.vue":()=>t(()=>import("./InstallAssistantStep7-1873dbb3.js"),["assets/InstallAssistantStep7-1873dbb3.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/LoadManagementConfig-04d84ef8.js","assets/OpenwbSortableList-b0494c12.js","assets/OpenwbSortableList-7ba533e4.css"]),"../components/install_assistant/InstallAssistantStep8.vue":()=>t(()=>import("./InstallAssistantStep8-830e4199.js"),["assets/InstallAssistantStep8-830e4199.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/VehicleConfig-281e945c.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStep9.vue":()=>t(()=>import("./InstallAssistantStep9-167894f5.js"),["assets/InstallAssistantStep9-167894f5.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-e69c3da4.js","assets/InstallAssistantStepTemplate-930e3c07.css","assets/DataManagement-7cf51172.js","assets/dynamic-import-helper-be004503.js"]),"../components/install_assistant/InstallAssistantStepTemplate.vue":()=>t(()=>import("./InstallAssistantStepTemplate-e69c3da4.js"),["assets/InstallAssistantStepTemplate-e69c3da4.js","assets/index-3434d31b.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/InstallAssistantStepTemplate-930e3c07.css"])}),`../components/install_assistant/InstallAssistantStep${this.currentPage}.vue`)})}},methods:{switchPage(s){s>=0&&s<=this.lastPage?this.currentPage=s:console.error(`invalid assistant page number: ${s}`)},endAssistantModal(){this.currentPage!=this.lastPage?this.showEndAssistantModal=!0:this.endAssistant("confirm")},endAssistant(s){this.showEndAssistantModal=!1,s=="confirm"&&(this.updateState("openWB/system/installAssistantDone",!0),this.$root.doPublish("openWB/set/system/installAssistantDone",!0),this.$router.push("/Status"))}}};function S(s,e,f,g,o,n){const l=d("openwb-base-modal-dialog");return i(),u("div",null,[A(l,{show:o.showEndAssistantModal,title:"Assistent beenden",subtype:"danger",buttons:[{text:"Beenden",event:"confirm",subtype:"danger"}],onModalResult:n.endAssistant},{default:v(()=>e[4]||(e[4]=[c(" Wollen Sie den Assistenten wirklich vorzeitig beenden? ")])),_:1},8,["show","onModalResult"]),(i(),E(I(n.myStepComponent),{onSendCommand:e[0]||(e[0]=a=>s.$emit("sendCommand",a)),onSave:e[1]||(e[1]=a=>s.$emit("save")),onReset:e[2]||(e[2]=a=>s.$emit("reset")),onDefaults:e[3]||(e[3]=a=>s.$emit("defaults")),onSwitchPage:n.switchPage,onEndAssistant:n.endAssistantModal},null,40,["onSwitchPage","onEndAssistant"]))])}const L=m(P,[["render",S],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstallAssistant.vue"]]);export{L as default}; diff --git a/web/settings/assets/InstallAssistantStep0-f13b6c1a.js b/web/settings/assets/InstallAssistantStep0-8492eef5.js similarity index 85% rename from web/settings/assets/InstallAssistantStep0-f13b6c1a.js rename to web/settings/assets/InstallAssistantStep0-8492eef5.js index 171f90dcf3..55f1edc061 100644 --- a/web/settings/assets/InstallAssistantStep0-f13b6c1a.js +++ b/web/settings/assets/InstallAssistantStep0-8492eef5.js @@ -1 +1 @@ -import{C as u}from"./index-3434d31b.js";import d from"./InstallAssistantStepTemplate-e69c3da4.js";import{_ as p,u as i,k as m,z as g,E as a,G as h,y as f,x as t}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";const c={name:"InstallAssistantStep0",components:{InstallAssistantStepTemplate:d},mixins:[u],emits:["switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[],showModalWarning:!1}),methods:{requestNextPage(){this.showModalWarning=!0},nextPage(s){this.showModalWarning=!1,s==="confirm"&&this.$emit("switchPage",1)},previousPage(){},endAssistant(){this.$emit("endAssistant")}}};function b(s,e,A,w,P,n){const o=i("openwb-base-modal-dialog"),r=i("InstallAssistantStepTemplate");return m(),g(r,{title:"Start","hide-previous":!0,onNextPage:n.requestNextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{content:a(()=>[h(o,{show:s.showModalWarning,title:"Achtung!",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"success"}],onModalResult:e[0]||(e[0]=l=>n.nextPage(l))},{default:a(()=>e[1]||(e[1]=[f(" Bevor der Assistent gestartet wird, ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ")])),_:1},8,["show"]),e[2]||(e[2]=t("h2",null,"Vielen Dank, dass Du Dich für openWB entschieden hast.",-1)),e[3]||(e[3]=t("p",null,"Dieser Assistent führt Dich durch die Konfiguration der einzelnen Module:",-1)),e[4]||(e[4]=t("ol",null,[t("li",null,"Datensicherung der bestehenden Konfiguration"),t("li",null,"Aktualisierung des openWB-Systems"),t("li",null,"Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)")],-1)),e[5]||(e[5]=t("p",null," Wird diese openWB als secondary betrieben, so werden nur die lokalen Ladepunkte eingerichtet. Im Betriebsmodus primary werden die folgenden zusätzlichen Schritte durchlaufen: ",-1)),e[6]||(e[6]=t("ol",{start:"4"},[t("li",null,"Energiesystem - Geräte und Komponenten einrichten"),t("li",null,"Einrichten der Ladepunkte (openWB als primary)"),t("li",null,"Konfiguration des Lastmanagements"),t("li",null,"Einrichten der Fahrzeuge"),t("li",null,"Datensicherung der neuen Konfiguration")],-1)),e[7]||(e[7]=t("p",null,"Danach ist die Grundkonfiguration abgeschlossen.",-1))]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep0.vue"]]);export{D as default}; +import{C as u}from"./index-6ffbdc7e.js";import d from"./InstallAssistantStepTemplate-00616932.js";import{_ as p,u as i,l as m,z as g,E as a,G as h,y as f,x as t}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const c={name:"InstallAssistantStep0",components:{InstallAssistantStepTemplate:d},mixins:[u],emits:["switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[],showModalWarning:!1}),methods:{requestNextPage(){this.showModalWarning=!0},nextPage(s){this.showModalWarning=!1,s==="confirm"&&this.$emit("switchPage",1)},previousPage(){},endAssistant(){this.$emit("endAssistant")}}};function b(s,e,A,w,P,n){const o=i("openwb-base-modal-dialog"),r=i("InstallAssistantStepTemplate");return m(),g(r,{title:"Start","hide-previous":!0,onNextPage:n.requestNextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{content:a(()=>[h(o,{show:s.showModalWarning,title:"Achtung!",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"success"}],onModalResult:e[0]||(e[0]=l=>n.nextPage(l))},{default:a(()=>e[1]||(e[1]=[f(" Bevor der Assistent gestartet wird, ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ")])),_:1},8,["show"]),e[2]||(e[2]=t("h2",null,"Vielen Dank, dass Du Dich für openWB entschieden hast.",-1)),e[3]||(e[3]=t("p",null,"Dieser Assistent führt Dich durch die Konfiguration der einzelnen Module:",-1)),e[4]||(e[4]=t("ol",null,[t("li",null,"Datensicherung der bestehenden Konfiguration"),t("li",null,"Aktualisierung des openWB-Systems"),t("li",null,"Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)")],-1)),e[5]||(e[5]=t("p",null," Wird diese openWB als secondary betrieben, so werden nur die lokalen Ladepunkte eingerichtet. Im Betriebsmodus primary werden die folgenden zusätzlichen Schritte durchlaufen: ",-1)),e[6]||(e[6]=t("ol",{start:"4"},[t("li",null,"Energiesystem - Geräte und Komponenten einrichten"),t("li",null,"Einrichten der Ladepunkte (openWB als primary)"),t("li",null,"Konfiguration des Lastmanagements"),t("li",null,"Einrichten der Fahrzeuge"),t("li",null,"Datensicherung der neuen Konfiguration")],-1)),e[7]||(e[7]=t("p",null,"Danach ist die Grundkonfiguration abgeschlossen.",-1))]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep0.vue"]]);export{D as default}; diff --git a/web/settings/assets/InstallAssistantStep1-70fec0c3.js b/web/settings/assets/InstallAssistantStep1-4565052a.js similarity index 75% rename from web/settings/assets/InstallAssistantStep1-70fec0c3.js rename to web/settings/assets/InstallAssistantStep1-4565052a.js index 5ab2ac2d0a..7d475a4b41 100644 --- a/web/settings/assets/InstallAssistantStep1-70fec0c3.js +++ b/web/settings/assets/InstallAssistantStep1-4565052a.js @@ -1 +1 @@ -import{C as m}from"./index-3434d31b.js";import p from"./InstallAssistantStepTemplate-e69c3da4.js";import{D as l}from"./DataManagement-7cf51172.js";import{_ as d,u as a,k as u,z as g,E as o,x as f,G as v}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep1",components:{InstallAssistantStepTemplate:p,DataManagement:l},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",2)},previousPage(){this.$emit("switchPage",0)},endAssistant(){this.$emit("endAssistant")}}};function P(t,e,c,S,w,n){const i=a("DataManagement"),r=a("InstallAssistantStepTemplate");return u(),g(r,{title:"1. Datensicherung der bestehenden Konfiguration",onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[f("p",null," Wir empfehlen an dieser Stelle eine Sicherung der openWB zu erstellen, auf welche später zurückgegriffen werden kann, insbesondere, wenn die openWB schon konfiguriert war und der Assistent nun erneut ausgeführt wird. ",-1)])),content:o(()=>[v(i,{"install-assistant-active":!0,"show-backup-cloud-section":!1,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=d(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep1.vue"]]);export{N as default}; +import{C as m}from"./index-6ffbdc7e.js";import p from"./InstallAssistantStepTemplate-00616932.js";import{D as l}from"./DataManagement-3ab650ed.js";import{_ as d,u as a,l as u,z as g,E as o,x as f,G as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const A={name:"InstallAssistantStep1",components:{InstallAssistantStepTemplate:p,DataManagement:l},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",2)},previousPage(){this.$emit("switchPage",0)},endAssistant(){this.$emit("endAssistant")}}};function P(t,e,c,S,w,n){const i=a("DataManagement"),r=a("InstallAssistantStepTemplate");return u(),g(r,{title:"1. Datensicherung der bestehenden Konfiguration",onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[f("p",null," Wir empfehlen an dieser Stelle eine Sicherung der openWB zu erstellen, auf welche später zurückgegriffen werden kann, insbesondere, wenn die openWB schon konfiguriert war und der Assistent nun erneut ausgeführt wird. ",-1)])),content:o(()=>[v(i,{"install-assistant-active":!0,"show-backup-cloud-section":!1,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const N=d(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep1.vue"]]);export{N as default}; diff --git a/web/settings/assets/InstallAssistantStep10-c9b6c0ec.js b/web/settings/assets/InstallAssistantStep10-3e98d8ca.js similarity index 75% rename from web/settings/assets/InstallAssistantStep10-c9b6c0ec.js rename to web/settings/assets/InstallAssistantStep10-3e98d8ca.js index 2aed06cb57..ac55ff74ca 100644 --- a/web/settings/assets/InstallAssistantStep10-c9b6c0ec.js +++ b/web/settings/assets/InstallAssistantStep10-3e98d8ca.js @@ -1 +1 @@ -import{C as a}from"./index-3434d31b.js";import o from"./InstallAssistantStepTemplate-e69c3da4.js";import{_ as r,u as l,k as m,z as p,E as d,x as n}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";const u={name:"InstallAssistantStep10",components:{InstallAssistantStepTemplate:o},mixins:[a],emits:["switchPage","endAssistant","sendCommand"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){},previousPage(){this.$emit("switchPage",9)},sendCommand(t){this.$emit("sendCommand",t)},endAssistant(){this.$emit("endAssistant")}}};function g(t,s,c,f,A,e){const i=l("InstallAssistantStepTemplate");return m(),p(i,{title:"Abgeschlossen","hide-next":!0,onNextPage:e.nextPage,onPreviousPage:e.previousPage,onEndAssistant:e.endAssistant},{content:d(()=>s[0]||(s[0]=[n("h2",null,"Die Grundkonfiguration ist abgeschlossen.",-1),n("p",null," Die grundlegende Konfiguration der openWB ist abgeschlossen. Du wirst mit Beendigung dieses Assistenten auf die Statusseite weitergeleitet. Bitte überprüfe die dargestellten Informationen und passe bei Unstimmigkeiten die Einstellungen in den jeweiligen Konfigurationsseiten an (openWB -> Einstellungen -> Konfiguration). ",-1)])),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const w=r(u,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep10.vue"]]);export{w as default}; +import{C as a}from"./index-6ffbdc7e.js";import o from"./InstallAssistantStepTemplate-00616932.js";import{_ as r,u as l,l as m,z as p,E as d,x as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const u={name:"InstallAssistantStep10",components:{InstallAssistantStepTemplate:o},mixins:[a],emits:["switchPage","endAssistant","sendCommand"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){},previousPage(){this.$emit("switchPage",9)},sendCommand(t){this.$emit("sendCommand",t)},endAssistant(){this.$emit("endAssistant")}}};function g(t,s,c,f,A,e){const i=l("InstallAssistantStepTemplate");return m(),p(i,{title:"Abgeschlossen","hide-next":!0,onNextPage:e.nextPage,onPreviousPage:e.previousPage,onEndAssistant:e.endAssistant},{content:d(()=>s[0]||(s[0]=[n("h2",null,"Die Grundkonfiguration ist abgeschlossen.",-1),n("p",null," Die grundlegende Konfiguration der openWB ist abgeschlossen. Du wirst mit Beendigung dieses Assistenten auf die Statusseite weitergeleitet. Bitte überprüfe die dargestellten Informationen und passe bei Unstimmigkeiten die Einstellungen in den jeweiligen Konfigurationsseiten an (openWB -> Einstellungen -> Konfiguration). ",-1)])),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const w=r(u,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep10.vue"]]);export{w as default}; diff --git a/web/settings/assets/InstallAssistantStep2-d336a62d.js b/web/settings/assets/InstallAssistantStep2-9baa5c9a.js similarity index 77% rename from web/settings/assets/InstallAssistantStep2-d336a62d.js rename to web/settings/assets/InstallAssistantStep2-9baa5c9a.js index 7ca1358241..90188fc31b 100644 --- a/web/settings/assets/InstallAssistantStep2-d336a62d.js +++ b/web/settings/assets/InstallAssistantStep2-9baa5c9a.js @@ -1 +1 @@ -import{C as l}from"./index-3434d31b.js";import u from"./InstallAssistantStepTemplate-e69c3da4.js";import d from"./System-076fdc44.js";import{_ as p,u as a,k as f,z as g,E as o,x as s,G as S}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";const c={name:"InstallAssistantStep2",components:{InstallAssistantStepTemplate:u,SystemView:d},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",3)},previousPage(){this.$emit("switchPage",1)},endAssistant(){this.$emit("endAssistant")}}};function A(t,e,w,k,v,i){const r=a("SystemView"),m=a("InstallAssistantStepTemplate");return f(),g(m,{title:"2. Aktualisierung des openWB-Systems",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[s("p",null," Bitte ein System-Update durchführen, um die Software auf den neuesten Stand der Features und Funktionen zu bringen. ",-1),s("p",null," Hierzu Versions-Informationen / Aktualisierung auswählen, Informationen aktualisieren klicken und falls ein Update verfügbar ist, wird der Update-Button grün (zum Update bereit). ",-1),s("p",null," Bei openWB-Systemen mit integriertem Display muss nach Zurücksetzen auf Werkseinstellungen oder nach Ausführen eines Updates das Display wieder eingeschaltet werden. ",-1),s("p",null,' Ein Klick auf "Änderungen" zeigt die Modifikationen. Ein Klick auf "Update" startet die Aktualisierung, welche auch einen automatischen Reboot initiiert (bitte ca. 5 Minuten warten). Danach muss der Assistent neu gestartet werden. ',-1)])),content:o(()=>[S(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=n=>t.$emit("sendCommand",n)),onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const z=p(c,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep2.vue"]]);export{z as default}; +import{C as l}from"./index-6ffbdc7e.js";import u from"./InstallAssistantStepTemplate-00616932.js";import d from"./System-0113e541.js";import{_ as p,u as a,l as f,z as g,E as o,x as s,G as S}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const c={name:"InstallAssistantStep2",components:{InstallAssistantStepTemplate:u,SystemView:d},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",3)},previousPage(){this.$emit("switchPage",1)},endAssistant(){this.$emit("endAssistant")}}};function A(t,e,w,v,k,i){const r=a("SystemView"),m=a("InstallAssistantStepTemplate");return f(),g(m,{title:"2. Aktualisierung des openWB-Systems",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[s("p",null," Bitte ein System-Update durchführen, um die Software auf den neuesten Stand der Features und Funktionen zu bringen. ",-1),s("p",null," Hierzu Versions-Informationen / Aktualisierung auswählen, Informationen aktualisieren klicken und falls ein Update verfügbar ist, wird der Update-Button grün (zum Update bereit). ",-1),s("p",null," Bei openWB-Systemen mit integriertem Display muss nach Zurücksetzen auf Werkseinstellungen oder nach Ausführen eines Updates das Display wieder eingeschaltet werden. ",-1),s("p",null,' Ein Klick auf "Änderungen" zeigt die Modifikationen. Ein Klick auf "Update" startet die Aktualisierung, welche auch einen automatischen Reboot initiiert (bitte ca. 5 Minuten warten). Danach muss der Assistent neu gestartet werden. ',-1)])),content:o(()=>[S(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=n=>t.$emit("sendCommand",n)),onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const z=p(c,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep2.vue"]]);export{z as default}; diff --git a/web/settings/assets/InstallAssistantStep3-1700ca14.js b/web/settings/assets/InstallAssistantStep3-d61c672d.js similarity index 84% rename from web/settings/assets/InstallAssistantStep3-1700ca14.js rename to web/settings/assets/InstallAssistantStep3-d61c672d.js index 0bcbb0ed59..2b2bf68526 100644 --- a/web/settings/assets/InstallAssistantStep3-1700ca14.js +++ b/web/settings/assets/InstallAssistantStep3-d61c672d.js @@ -1 +1 @@ -import{C as u}from"./index-3434d31b.js";import d from"./InstallAssistantStepTemplate-e69c3da4.js";import{G as m}from"./GeneralConfig-c40962a6.js";import{_ as p,u as a,k as g,z as f,E as i,x as n,G as w}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"InstallAssistantStep3",components:{InstallAssistantStepTemplate:d,GeneralConfigView:m},mixins:[u],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),methods:{nextPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:5)},previousPage(){this.$emit("switchPage",2)},endAssistant(){this.$emit("endAssistant")}}};function B(t,e,S,c,h,r){const o=a("GeneralConfigView"),l=a("InstallAssistantStepTemplate");return g(),f(l,{title:"3. Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)",onNextPage:r.nextPage,onPreviousPage:r.previousPage,onEndAssistant:r.endAssistant},{help:i(()=>e[4]||(e[4]=[n("p",null," Hier wird abgefragt, ob Dein System mit mehreren openWBs oder nur mit einer openWB betrieben wird. Eine openWB kann andere openWBs steuern. ",-1),n("p",null,' Zuerst ist im Feld "Steuerungsmodus" festzulegen, ob die openWB als "steuernd" (primary) oder als ferngesteuert (secondary) arbeiten soll. Die Einstellung gilt für genau die WB, auf der aktuell konfiguriert wird (korrekte IP-Adresse beachten). ',-1),n("p",null," Eine openWB standalone hat keinen Ladepunkt und arbeitet nur als Steuerteil (primary). Eine openWB Standard(+), custom, Duo und Buchse können sowohl als steuernder primary oder als ferngesteuerte secondary betrieben werden (Duo mit 2 Ladepunkten). Eine openWB Pro und Satellit können nur als s.g. Ladepunkt genutzt werden und benötigen zwingend einen separaten primary als Steuerteil. ",-1),n("p",null,' Sofern openWB als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet werden soll, so ist für die VNB-Signaleingänge die entsprechende Hardware auszuwählen. -> s. Beschreibung zu "Steuerbare Verbrauchseinrichtung". ',-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:i(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep3.vue"]]);export{x as default}; +import{C as u}from"./index-6ffbdc7e.js";import d from"./InstallAssistantStepTemplate-00616932.js";import{G as m}from"./GeneralConfig-7d467a99.js";import{_ as p,u as a,l as g,z as f,E as i,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"InstallAssistantStep3",components:{InstallAssistantStepTemplate:d,GeneralConfigView:m},mixins:[u],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),methods:{nextPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:5)},previousPage(){this.$emit("switchPage",2)},endAssistant(){this.$emit("endAssistant")}}};function B(t,e,S,c,h,r){const o=a("GeneralConfigView"),l=a("InstallAssistantStepTemplate");return g(),f(l,{title:"3. Allgemeine Einstellungen: Auswahl des Betriebsmodus primary (steuernd) bzw. secondary (gesteuerte WB)",onNextPage:r.nextPage,onPreviousPage:r.previousPage,onEndAssistant:r.endAssistant},{help:i(()=>e[4]||(e[4]=[n("p",null," Hier wird abgefragt, ob Dein System mit mehreren openWBs oder nur mit einer openWB betrieben wird. Eine openWB kann andere openWBs steuern. ",-1),n("p",null,' Zuerst ist im Feld "Steuerungsmodus" festzulegen, ob die openWB als "steuernd" (primary) oder als ferngesteuert (secondary) arbeiten soll. Die Einstellung gilt für genau die WB, auf der aktuell konfiguriert wird (korrekte IP-Adresse beachten). ',-1),n("p",null," Eine openWB standalone hat keinen Ladepunkt und arbeitet nur als Steuerteil (primary). Eine openWB Standard(+), custom, Duo und Buchse können sowohl als steuernder primary oder als ferngesteuerte secondary betrieben werden (Duo mit 2 Ladepunkten). Eine openWB Pro und Satellit können nur als s.g. Ladepunkt genutzt werden und benötigen zwingend einen separaten primary als Steuerteil. ",-1),n("p",null,' Sofern openWB als Energiemanagementsystem für steuerbare Verbrauchseinrichtungen (SteuVE) gemäß §14a EnWG verwendet werden soll, so ist für die VNB-Signaleingänge die entsprechende Hardware auszuwählen. -> s. Beschreibung zu "Steuerbare Verbrauchseinrichtung". ',-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:i(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep3.vue"]]);export{x as default}; diff --git a/web/settings/assets/InstallAssistantStep4-b2e7acee.js b/web/settings/assets/InstallAssistantStep4-773f2173.js similarity index 78% rename from web/settings/assets/InstallAssistantStep4-b2e7acee.js rename to web/settings/assets/InstallAssistantStep4-773f2173.js index 440c4c3998..d896391a6a 100644 --- a/web/settings/assets/InstallAssistantStep4-b2e7acee.js +++ b/web/settings/assets/InstallAssistantStep4-773f2173.js @@ -1 +1 @@ -import{C as l}from"./index-3434d31b.js";import p from"./InstallAssistantStepTemplate-e69c3da4.js";import{b as u}from"./ChargePointInstallation-d3922b37.js";import{_ as m,u as a,k as g,z as f,E as o,x as n,G as w}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:p,ChargePointInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function k(t,e,h,B,v,i){const r=a("ChargePointInstallationView"),d=a("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Einrichten der Ladepunkte (openWB als secondary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[n("p",null,' Diese hier vorzukonfigurierende openWB wurde als "secondary" eingestellt und wird von einer anderen openWB oder standalone ferngesteuert. ',-1),n("p",null," Bei vorkonfigurierten openWBs ist ab Werk bereits ein (zwei bei einer DUO) interner Ladepunkt eingetragen, es müssen keine weiteren Ladepunkte hinzugefügt werden. ",-1),n("p",null,' Tragen Sie unter Ladepunkte bei verfügbare Ladepunkte "Interne openWB" ein und wählen Sie die Bauart der openWB (z.B. openWB series 1/2 custom, Standard (+) oder Buchse) aus. ',-1),n("p",null," Wenn eine openWB Duo gewählt wird, so sind zwei Ladepunkte mit Ladepunkt-Nummer 1 und 2 zu konfigurieren. Bei der openWB Pro und Satellit sind keine Einstellungen notwendig. ",-1),n("p",null,"Weitere Einstellungen sind bei der Vorkonfiguration einer secondary nicht notwendig.",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:o(()=>[w(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const E=m(c,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep4.vue"]]);export{E as default}; +import{C as l}from"./index-6ffbdc7e.js";import p from"./InstallAssistantStepTemplate-00616932.js";import{b as u}from"./ChargePointInstallation-547f555f.js";import{_ as m,u as a,l as g,z as f,E as o,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep4",components:{InstallAssistantStepTemplate:p,ChargePointInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,k,B,v,i){const r=a("ChargePointInstallationView"),d=a("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Einrichten der Ladepunkte (openWB als secondary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:o(()=>e[4]||(e[4]=[n("p",null,' Diese hier vorzukonfigurierende openWB wurde als "secondary" eingestellt und wird von einer anderen openWB oder standalone ferngesteuert. ',-1),n("p",null," Bei vorkonfigurierten openWBs ist ab Werk bereits ein (zwei bei einer DUO) interner Ladepunkt eingetragen, es müssen keine weiteren Ladepunkte hinzugefügt werden. ",-1),n("p",null,' Tragen Sie unter Ladepunkte bei verfügbare Ladepunkte "Interne openWB" ein und wählen Sie die Bauart der openWB (z.B. openWB series 1/2 custom, Standard (+) oder Buchse) aus. ',-1),n("p",null," Wenn eine openWB Duo gewählt wird, so sind zwei Ladepunkte mit Ladepunkt-Nummer 1 und 2 zu konfigurieren. Bei der openWB Pro und Satellit sind keine Einstellungen notwendig. ",-1),n("p",null,"Weitere Einstellungen sind bei der Vorkonfiguration einer secondary nicht notwendig.",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:o(()=>[w(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const E=m(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep4.vue"]]);export{E as default}; diff --git a/web/settings/assets/InstallAssistantStep5-d6af630f.js b/web/settings/assets/InstallAssistantStep5-0196860a.js similarity index 84% rename from web/settings/assets/InstallAssistantStep5-d6af630f.js rename to web/settings/assets/InstallAssistantStep5-0196860a.js index 777c7b505b..ae8cd74120 100644 --- a/web/settings/assets/InstallAssistantStep5-d6af630f.js +++ b/web/settings/assets/InstallAssistantStep5-0196860a.js @@ -1 +1 @@ -import{C as l}from"./index-3434d31b.js";import m from"./InstallAssistantStepTemplate-e69c3da4.js";import{H as u}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as r,k as g,z as f,E as a,x as n,G as w}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const h={name:"InstallAssistantStep5",components:{InstallAssistantStepTemplate:m,HardwareInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",6)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function c(t,e,v,S,b,i){const o=r("HardwareInstallationView"),d=r("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Energiesystem - Geräte und Komponenten einrichten",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null,' Diese openWB wurde als "primary" konfiguriert und übernimmt die Steuerung anderer openWBs, falls vorhanden, sowie die alleinige Regelung des Systems. Dazu müssen im Folgenden die Geräte und Komponenten eingerichtet werden. ',-1),n("p",null," Sofern das System nicht zurückgesetzt wurde, ist im Auslieferungszustand für erste Ladetests nach der WB-Montage ein virtueller Zähler vorkonfiguriert. Dieser muss zuerst gelöscht werden, wenn das im Gebäude installierte Energiesystem bestehend aus EVU-Zähler, PV-Anlage und ggf. Speicher in openWB konfiguriert wird. ",-1),n("p",null," Jedes verfügbare Gerät wird durch eine eigene IP-Adresse definiert. Dieses Gerät ist über den Herstellernamen des Energiesystems im Auswahlmenü der verfügbaren Geräte auszuwählen. Unterhalb des Gerätes werden die zugehörigen Komponenten EVU-Zähler, WR und Speicher konfiguriert. Es können je nach Bedarf beliebig viele Geräte und Komponenten miteinander kombiniert werden. ",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(h,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep5.vue"]]);export{x as default}; +import{C as l}from"./index-6ffbdc7e.js";import m from"./InstallAssistantStepTemplate-00616932.js";import{H as u}from"./HardwareInstallation-774805b0.js";import{_ as p,u as r,l as g,z as f,E as a,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"InstallAssistantStep5",components:{InstallAssistantStepTemplate:m,HardwareInstallationView:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",6)},previousPage(){this.$emit("switchPage",3)},endAssistant(){this.$emit("endAssistant")}}};function c(t,e,v,S,b,i){const o=r("HardwareInstallationView"),d=r("InstallAssistantStepTemplate");return g(),f(d,{title:"4. Energiesystem - Geräte und Komponenten einrichten",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null,' Diese openWB wurde als "primary" konfiguriert und übernimmt die Steuerung anderer openWBs, falls vorhanden, sowie die alleinige Regelung des Systems. Dazu müssen im Folgenden die Geräte und Komponenten eingerichtet werden. ',-1),n("p",null," Sofern das System nicht zurückgesetzt wurde, ist im Auslieferungszustand für erste Ladetests nach der WB-Montage ein virtueller Zähler vorkonfiguriert. Dieser muss zuerst gelöscht werden, wenn das im Gebäude installierte Energiesystem bestehend aus EVU-Zähler, PV-Anlage und ggf. Speicher in openWB konfiguriert wird. ",-1),n("p",null," Jedes verfügbare Gerät wird durch eine eigene IP-Adresse definiert. Dieses Gerät ist über den Herstellernamen des Energiesystems im Auswahlmenü der verfügbaren Geräte auszuwählen. Unterhalb des Gerätes werden die zugehörigen Komponenten EVU-Zähler, WR und Speicher konfiguriert. Es können je nach Bedarf beliebig viele Geräte und Komponenten miteinander kombiniert werden. ",-1),n("p",null," Bitte lesen Sie auch die Hinweistexte, welche durch Klicken auf das Fragezeichensymbol erscheinen. Hier sind weiterführende Informationen zu den Eingabefeldern zu finden. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const x=p(h,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep5.vue"]]);export{x as default}; diff --git a/web/settings/assets/InstallAssistantStep6-5c129200.js b/web/settings/assets/InstallAssistantStep6-d79d8279.js similarity index 79% rename from web/settings/assets/InstallAssistantStep6-5c129200.js rename to web/settings/assets/InstallAssistantStep6-d79d8279.js index bc8843ca38..df3944b5cc 100644 --- a/web/settings/assets/InstallAssistantStep6-5c129200.js +++ b/web/settings/assets/InstallAssistantStep6-d79d8279.js @@ -1 +1 @@ -import{C as l}from"./index-3434d31b.js";import u from"./InstallAssistantStepTemplate-e69c3da4.js";import{b as p}from"./ChargePointInstallation-d3922b37.js";import{_ as m,u as a,k as g,z as h,E as r,x as n,G as w}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const P={name:"InstallAssistantStep6",components:{InstallAssistantStepTemplate:u,ChargePointInstallationView:p},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",7)},previousPage(){this.$emit("switchPage",5)},endAssistant(){this.$emit("endAssistant")}}};function f(t,e,c,k,b,i){const o=a("ChargePointInstallationView"),d=a("InstallAssistantStepTemplate");return g(),h(d,{title:"5. Einrichten der Ladepunkte (openWB als primary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:r(()=>e[4]||(e[4]=[n("p",null,' Enthält die steuernde openWB (primary) Ladetechnik, wird bei "Verfügbare Ladepunkte" Interne openWB ausgewählt. Weitere LP werden im primary als secondary konfigurierte openWB oder andere WB-Typen wie Pro, Satellit eingebunden. ',-1),n("p",null,"Bei openWBs ab Werk kann hier bereits ein Ladepunkt eingetragen sein.",-1),n("p",null," Nachfolgend werden die Eigenschaften des Ladepunktes wie IP-Adresse und elektrischer Anschluss definiert. Die meisten openWB werden 3-phasig angeschlossen! Bei mehreren Ladepunkten ist auf phasenrotierten Anschluss der openWB-Zuleitung zu achten! Abschließend wird die korrekte Zuordnung der Phase 1 des Ladekabels zur zugehörigen EVU-Zählerphase konfiguriert. Dies ist sehr wichtig, um optimales Lastmanagement sicherzustellen! ",-1),n("p",null," Tipp zur Zuordnung: Verwende ein nur 1-phasig ladendes Auto (z.B. Hybrid) oder stelle bei openWB mit 1p3p-Phasenumschaltung temporär unter Sofortladen (s. Einstellungen -> Ladeeinstellungen) auf einphasig, um eine 1-phasige Ladung zu erzwingen. Gehe unter Status und vergleiche die Leistungen bzw. Ströme der 3 Phasen am EVU-Zähler (rot) beim und nach dem Autoladen (Sofortladen mit 16A/ Stop). Diejenige EVU-Phase, die deutlich erhöhte Werte anzeigt, ist die auszuwählende EVU-Phase. ",-1),n("p",null," Im grauen Menü Ladepunkt-Profile können neben dem Standard-Ladepunkt-Profil auch weitere Ladepunkt-Profile, die andere WB-Typen abbilden, erstellt werden. Dort sind Eintragungen bzgl. des Ladepunkt-Maximalstroms bei einer Phase bzw. mehreren Phasen vorzunehmen. Die Profile werden abschließend im jeweiligen blauen Ladepunkt mittels Auswahlmenü zugeordnet. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:r(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const $=m(P,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep6.vue"]]);export{$ as default}; +import{C as d}from"./index-6ffbdc7e.js";import u from"./InstallAssistantStepTemplate-00616932.js";import{b as p}from"./ChargePointInstallation-547f555f.js";import{_ as m,u as a,l as g,z as h,E as r,x as n,G as w}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const P={name:"InstallAssistantStep6",components:{InstallAssistantStepTemplate:u,ChargePointInstallationView:p},mixins:[d],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",7)},previousPage(){this.$emit("switchPage",5)},endAssistant(){this.$emit("endAssistant")}}};function f(t,e,c,b,k,i){const o=a("ChargePointInstallationView"),l=a("InstallAssistantStepTemplate");return g(),h(l,{title:"5. Einrichten der Ladepunkte (openWB als primary)",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:r(()=>e[4]||(e[4]=[n("p",null,' Enthält die steuernde openWB (primary) Ladetechnik, wird bei "Verfügbare Ladepunkte" Interne openWB ausgewählt. Weitere LP werden im primary als secondary konfigurierte openWB oder andere WB-Typen wie Pro, Satellit eingebunden. ',-1),n("p",null,"Bei openWBs ab Werk kann hier bereits ein Ladepunkt eingetragen sein.",-1),n("p",null," Nachfolgend werden die Eigenschaften des Ladepunktes wie IP-Adresse und elektrischer Anschluss definiert. Die meisten openWB werden 3-phasig angeschlossen! Bei mehreren Ladepunkten ist auf phasenrotierten Anschluss der openWB-Zuleitung zu achten! Abschließend wird die korrekte Zuordnung der Phase 1 des Ladekabels zur zugehörigen EVU-Zählerphase konfiguriert. Dies ist sehr wichtig, um optimales Lastmanagement sicherzustellen! ",-1),n("p",null," Tipp zur Zuordnung: Verwende ein nur 1-phasig ladendes Auto (z.B. Hybrid) oder stelle bei openWB mit 1p3p-Phasenumschaltung temporär unter Sofortladen (s. Einstellungen -> Ladeeinstellungen) auf einphasig, um eine 1-phasige Ladung zu erzwingen. Gehe unter Status und vergleiche die Leistungen bzw. Ströme der 3 Phasen am EVU-Zähler (rot) beim und nach dem Autoladen (Sofortladen mit 16A/ Stop). Diejenige EVU-Phase, die deutlich erhöhte Werte anzeigt, ist die auszuwählende EVU-Phase. ",-1),n("p",null," Im grauen Menü Ladepunkt-Profile können neben dem Standard-Ladepunkt-Profil auch weitere Ladepunkt-Profile, die andere WB-Typen abbilden, erstellt werden. Dort sind Eintragungen bzgl. des Ladepunkt-Maximalstroms bei einer Phase bzw. mehreren Phasen vorzunehmen. Die Profile werden abschließend im jeweiligen blauen Ladepunkt mittels Auswahlmenü zugeordnet. ",-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:r(()=>[w(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const $=m(P,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep6.vue"]]);export{$ as default}; diff --git a/web/settings/assets/InstallAssistantStep7-1873dbb3.js b/web/settings/assets/InstallAssistantStep7-7f7a803c.js similarity index 83% rename from web/settings/assets/InstallAssistantStep7-1873dbb3.js rename to web/settings/assets/InstallAssistantStep7-7f7a803c.js index ca35145298..af763131b3 100644 --- a/web/settings/assets/InstallAssistantStep7-1873dbb3.js +++ b/web/settings/assets/InstallAssistantStep7-7f7a803c.js @@ -1 +1 @@ -import{C as l}from"./index-3434d31b.js";import m from"./InstallAssistantStepTemplate-e69c3da4.js";import p from"./LoadManagementConfig-04d84ef8.js";import{_ as u,u as r,k as g,z as h,E as a,x as n,G as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./OpenwbSortableList-b0494c12.js";const f={name:"InstallAssistantStep7",components:{InstallAssistantStepTemplate:m,LoadManagementConfigView:p},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",8)},previousPage(){this.$emit("switchPage",6)},endAssistant(){this.$emit("endAssistant")}}};function b(t,e,S,w,A,i){const o=r("LoadManagementConfigView"),d=r("InstallAssistantStepTemplate");return g(),h(d,{title:"6. Konfiguration des Lastmanagements",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null," Im Lastmanagement werden die maximale Leistung sowie die maximalen Ströme für jede Phase des Zählermoduls sowie bei Hybrid-Systemen (per DC-angebundener Speicher) die maximale Ausgangsleistung des Wechselrichters der PV-Anlage eingetragen, falls eine solche vorhanden ist. ",-1),n("p",null,' Der erste Zähler ist in der Regel der Zähler am EVU-Punkt (Position des PV/Speicher-Smartmeters direkt hinter dem VNB-Zähler). In openWB ist hierzu auf die unterhalb der "Vorhandene Zählermodule" liegende (rote) EVU-Zähler-Komponente zu klicken, in welche die maximale EVU-Leistung sowie die Phasenströme eingetragen werden, für die der Hausanschluss abgesichert ist (Elektriker fragen, typisch f. EFH: 24kW/3x35A, 43kW/3x63A). ',-1),n("p",null," Ist ein Wechselrichter mit DC-angebundenem Speicher unter Geräte hinzugefügt worden, dann ist unter der (grünen) WR-Komponente noch die maximale Ausgangsleistung des WR einzutragen. ",-1),n("p",null," Der EVU-Zähler (rot) schließt alle weiteren Komponenten wie WR und Speicher unter sich ein. Bei AC-eingebundenen Speichern befinden sich WR und Speicher in derselben Ebene, bei DC-eingebundenen Speichern (Hybrid) der Speicher unterhalb des WR. Die Ladepunkte (z.B. secondary openWB) befinden sich auf derselben Ebene wie der WR und unterhalb des EVU-Zählers. Anpassungen der Anordnungen sind über die Pfeil-Bereiche der Komponenten durch einfaches Verschieben mit der Maus oder am Smartphone möglich. ",-1),n("p",null,null,-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[c(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const I=u(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep7.vue"]]);export{I as default}; +import{C as l}from"./index-6ffbdc7e.js";import m from"./InstallAssistantStepTemplate-00616932.js";import p from"./LoadManagementConfig-854a9483.js";import{_ as u,u as r,l as g,z as h,E as a,x as n,G as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./OpenwbSortableList-c42720fc.js";const f={name:"InstallAssistantStep7",components:{InstallAssistantStepTemplate:m,LoadManagementConfigView:p},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",8)},previousPage(){this.$emit("switchPage",6)},endAssistant(){this.$emit("endAssistant")}}};function b(t,e,S,w,A,i){const o=r("LoadManagementConfigView"),d=r("InstallAssistantStepTemplate");return g(),h(d,{title:"6. Konfiguration des Lastmanagements",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>e[4]||(e[4]=[n("p",null," Im Lastmanagement werden die maximale Leistung sowie die maximalen Ströme für jede Phase des Zählermoduls sowie bei Hybrid-Systemen (per DC-angebundener Speicher) die maximale Ausgangsleistung des Wechselrichters der PV-Anlage eingetragen, falls eine solche vorhanden ist. ",-1),n("p",null,' Der erste Zähler ist in der Regel der Zähler am EVU-Punkt (Position des PV/Speicher-Smartmeters direkt hinter dem VNB-Zähler). In openWB ist hierzu auf die unterhalb der "Vorhandene Zählermodule" liegende (rote) EVU-Zähler-Komponente zu klicken, in welche die maximale EVU-Leistung sowie die Phasenströme eingetragen werden, für die der Hausanschluss abgesichert ist (Elektriker fragen, typisch f. EFH: 24kW/3x35A, 43kW/3x63A). ',-1),n("p",null," Ist ein Wechselrichter mit DC-angebundenem Speicher unter Geräte hinzugefügt worden, dann ist unter der (grünen) WR-Komponente noch die maximale Ausgangsleistung des WR einzutragen. ",-1),n("p",null," Der EVU-Zähler (rot) schließt alle weiteren Komponenten wie WR und Speicher unter sich ein. Bei AC-eingebundenen Speichern befinden sich WR und Speicher in derselben Ebene, bei DC-eingebundenen Speichern (Hybrid) der Speicher unterhalb des WR. Die Ladepunkte (z.B. secondary openWB) befinden sich auf derselben Ebene wie der WR und unterhalb des EVU-Zählers. Anpassungen der Anordnungen sind über die Pfeil-Bereiche der Komponenten durch einfaches Verschieben mit der Maus oder am Smartphone möglich. ",-1),n("p",null,null,-1),n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1)])),content:a(()=>[c(o,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const I=u(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep7.vue"]]);export{I as default}; diff --git a/web/settings/assets/InstallAssistantStep8-830e4199.js b/web/settings/assets/InstallAssistantStep8-92db0745.js similarity index 85% rename from web/settings/assets/InstallAssistantStep8-830e4199.js rename to web/settings/assets/InstallAssistantStep8-92db0745.js index 858282bee5..9dba7ff473 100644 --- a/web/settings/assets/InstallAssistantStep8-830e4199.js +++ b/web/settings/assets/InstallAssistantStep8-92db0745.js @@ -1 +1 @@ -import{C as g}from"./index-3434d31b.js";import p from"./InstallAssistantStepTemplate-e69c3da4.js";import{a as h}from"./VehicleConfig-281e945c.js";import{F as f}from"./vendor-fortawesome-05d7e447.js";import{_ as z,u as r,k as w,z as P,E as a,x as n,y as o,G as d}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const F={name:"InstallAssistantStep8",components:{InstallAssistantStepTemplate:p,VehicleConfigView:h,FontAwesomeIcon:f},mixins:[g],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",7)},endAssistant(){this.$emit("endAssistant")}}},A={class:"font-weight-bold"};function v(t,e,c,S,V,i){const l=r("FontAwesomeIcon"),u=r("VehicleConfigView"),m=r("InstallAssistantStepTemplate");return w(),P(m,{title:"7. Einrichten der Fahrzeuge",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>[e[6]||(e[6]=n("p",null,"Vor dem eigentlichen Fahrzeug werden zuerst die Fahrzeug- und Lade-Profile konfiguriert.",-1)),e[7]||(e[7]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Fahrzeug-Profil aus. Bei mehreren Fahrzeugtypen werden weitere Fahrzeug-Profile hinzugefügt. Im Anschluss werden die Fahrzeug-Profile mit den passenden Einstellungen des Fahrzeugtyps versehen (Mindeststromstärke, Maximalstromstärke bei einer/mehreren Phase/n sowie Angaben zur Batterie und Handhabung der Phasen entsprechend den Daten des Automobilherstellers. Im Zweifelsfall den Hersteller des Autos oder im openWB-Forum nachfragen). ",-1)),n("p",A,[e[4]||(e[4]=o(' Wichtig: Die "Angaben zur Handhabung von Phasen" des Fahrzeugs sind richtig einzutragen! Beachte die Hilfstexte, die Du durch Klick auf ')),d(l,{icon:["far","question-circle"]}),e[5]||(e[5]=o(" anzeigen kannst. "))]),e[8]||(e[8]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Lade-Profil aus. Bei mehreren Fahrzeugen können weitere Lade-Profile hinzugefügt werden. Dies erlaubt die Nutzung unterschiedlicher Lademodi je Fahrzeug (z.B. EV1 = Sofortladen, EV2 = PV-Laden). Im Anschluss werden die Voreinstellungen zu den verschiedenen Lademodi konfiguriert. ",-1)),e[9]||(e[9]=n("p",null," Nun wird das eigentliche Fahrzeug angelegt und mit dem gewünschten Fahrzeug-Profil / Lade-Profil versehen. Ist nur ein Fahrzeug vorhanden, reicht das Standard-Fahrzeug aus. ",-1)),e[10]||(e[10]=n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1))]),content:a(()=>[d(u,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const T=z(F,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep8.vue"]]);export{T as default}; +import{C as g}from"./index-6ffbdc7e.js";import p from"./InstallAssistantStepTemplate-00616932.js";import{a as h}from"./VehicleConfig-87862d5f.js";import{F as f}from"./vendor-fortawesome-231ff303.js";import{_ as z,u as r,l as w,z as P,E as a,x as n,y as o,G as d}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const F={name:"InstallAssistantStep8",components:{InstallAssistantStepTemplate:p,VehicleConfigView:h,FontAwesomeIcon:f},mixins:[g],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:[]}),methods:{nextPage(){this.$emit("switchPage",9)},previousPage(){this.$emit("switchPage",7)},endAssistant(){this.$emit("endAssistant")}}},A={class:"font-weight-bold"};function v(t,e,c,S,V,i){const l=r("FontAwesomeIcon"),u=r("VehicleConfigView"),m=r("InstallAssistantStepTemplate");return w(),P(m,{title:"7. Einrichten der Fahrzeuge",onNextPage:i.nextPage,onPreviousPage:i.previousPage,onEndAssistant:i.endAssistant},{help:a(()=>[e[6]||(e[6]=n("p",null,"Vor dem eigentlichen Fahrzeug werden zuerst die Fahrzeug- und Lade-Profile konfiguriert.",-1)),e[7]||(e[7]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Fahrzeug-Profil aus. Bei mehreren Fahrzeugtypen werden weitere Fahrzeug-Profile hinzugefügt. Im Anschluss werden die Fahrzeug-Profile mit den passenden Einstellungen des Fahrzeugtyps versehen (Mindeststromstärke, Maximalstromstärke bei einer/mehreren Phase/n sowie Angaben zur Batterie und Handhabung der Phasen entsprechend den Daten des Automobilherstellers. Im Zweifelsfall den Hersteller des Autos oder im openWB-Forum nachfragen). ",-1)),n("p",A,[e[4]||(e[4]=o(' Wichtig: Die "Angaben zur Handhabung von Phasen" des Fahrzeugs sind richtig einzutragen! Beachte die Hilfstexte, die Du durch Klick auf ')),d(l,{icon:["far","question-circle"]}),e[5]||(e[5]=o(" anzeigen kannst. "))]),e[8]||(e[8]=n("p",null," Bei nur einem Fahrzeug reicht das Standard-Lade-Profil aus. Bei mehreren Fahrzeugen können weitere Lade-Profile hinzugefügt werden. Dies erlaubt die Nutzung unterschiedlicher Lademodi je Fahrzeug (z.B. EV1 = Sofortladen, EV2 = PV-Laden). Im Anschluss werden die Voreinstellungen zu den verschiedenen Lademodi konfiguriert. ",-1)),e[9]||(e[9]=n("p",null," Nun wird das eigentliche Fahrzeug angelegt und mit dem gewünschten Fahrzeug-Profil / Lade-Profil versehen. Ist nur ein Fahrzeug vorhanden, reicht das Standard-Fahrzeug aus. ",-1)),e[10]||(e[10]=n("p",{class:"font-weight-bold"},"Änderungen werden nur durch Klicken auf Speichern wirksam!",-1))]),content:a(()=>[d(u,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["onNextPage","onPreviousPage","onEndAssistant"])}const T=z(F,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep8.vue"]]);export{T as default}; diff --git a/web/settings/assets/InstallAssistantStep9-167894f5.js b/web/settings/assets/InstallAssistantStep9-e8b788a4.js similarity index 74% rename from web/settings/assets/InstallAssistantStep9-167894f5.js rename to web/settings/assets/InstallAssistantStep9-e8b788a4.js index d51bbfb399..a544b7cc4f 100644 --- a/web/settings/assets/InstallAssistantStep9-167894f5.js +++ b/web/settings/assets/InstallAssistantStep9-e8b788a4.js @@ -1 +1 @@ -import{C as l}from"./index-3434d31b.js";import p from"./InstallAssistantStepTemplate-e69c3da4.js";import{D as u}from"./DataManagement-7cf51172.js";import{_ as d,u as i,k as g,z as f,E as o,x as a,G as v}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep9",components:{InstallAssistantStepTemplate:p,DataManagement:u},mixins:[l],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),computed:{stepNumber(){return this.$store.state.mqtt["openWB/general/extern"]?5:8}},methods:{nextPage(){this.$emit("switchPage",10)},previousPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:8)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,P,S,$,n){const r=i("DataManagement"),m=i("InstallAssistantStepTemplate");return g(),f(m,{title:`${n.stepNumber}. Datensicherung der neuen Konfiguration`,onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[a("p",null," Wir empfehlen an dieser Stelle eine manuell initiierte Sicherung der neu konfigurierten openWB zu erstellen. ",-1),a("p",null," Dieser Vorgang sollte im Betrieb regelmäßig wiederholt werden (mindestens vor Updates), um sowohl die individuellen Log-Daten als auch auf ältere Konfigurationen zurückgreifen zu können (Backups). ",-1),a("p",null,' Die Sicherung kann auch automatisiert auf einem Cloud-Dienst durchgeführt werden. Hierzu bitte im unteren Bereich "Backup-Cloud" die entsprechenden Einstellungen vornehmen. ',-1)])),content:o(()=>[v(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["title","onNextPage","onPreviousPage","onEndAssistant"])}const W=d(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep9.vue"]]);export{W as default}; +import{C as m}from"./index-6ffbdc7e.js";import p from"./InstallAssistantStepTemplate-00616932.js";import{D as u}from"./DataManagement-3ab650ed.js";import{_ as d,u as i,l as g,z as f,E as o,x as a,G as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"InstallAssistantStep9",components:{InstallAssistantStepTemplate:p,DataManagement:u},mixins:[m],emits:["save","reset","defaults","sendCommand","switchPage","endAssistant"],data:()=>({mqttTopicsToSubscribe:["openWB/general/extern"]}),computed:{stepNumber(){return this.$store.state.mqtt["openWB/general/extern"]?5:8}},methods:{nextPage(){this.$emit("switchPage",10)},previousPage(){this.$emit("switchPage",this.$store.state.mqtt["openWB/general/extern"]?4:8)},endAssistant(){this.$emit("endAssistant")}}};function h(t,e,P,S,$,n){const r=i("DataManagement"),l=i("InstallAssistantStepTemplate");return g(),f(l,{title:`${n.stepNumber}. Datensicherung der neuen Konfiguration`,onNextPage:n.nextPage,onPreviousPage:n.previousPage,onEndAssistant:n.endAssistant},{help:o(()=>e[4]||(e[4]=[a("p",null," Wir empfehlen an dieser Stelle eine manuell initiierte Sicherung der neu konfigurierten openWB zu erstellen. ",-1),a("p",null," Dieser Vorgang sollte im Betrieb regelmäßig wiederholt werden (mindestens vor Updates), um sowohl die individuellen Log-Daten als auch auf ältere Konfigurationen zurückgreifen zu können (Backups). ",-1),a("p",null,' Die Sicherung kann auch automatisiert auf einem Cloud-Dienst durchgeführt werden. Hierzu bitte im unteren Bereich "Backup-Cloud" die entsprechenden Einstellungen vornehmen. ',-1)])),content:o(()=>[v(r,{"install-assistant-active":!0,onSendCommand:e[0]||(e[0]=s=>t.$emit("sendCommand",s)),onSave:e[1]||(e[1]=s=>t.$emit("save")),onReset:e[2]||(e[2]=s=>t.$emit("reset")),onDefaults:e[3]||(e[3]=s=>t.$emit("defaults"))})]),_:1},8,["title","onNextPage","onPreviousPage","onEndAssistant"])}const W=d(c,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStep9.vue"]]);export{W as default}; diff --git a/web/settings/assets/InstallAssistantStepTemplate-e69c3da4.js b/web/settings/assets/InstallAssistantStepTemplate-00616932.js similarity index 84% rename from web/settings/assets/InstallAssistantStepTemplate-e69c3da4.js rename to web/settings/assets/InstallAssistantStepTemplate-00616932.js index 83e2981d03..523a79f81b 100644 --- a/web/settings/assets/InstallAssistantStepTemplate-e69c3da4.js +++ b/web/settings/assets/InstallAssistantStepTemplate-00616932.js @@ -1 +1 @@ -import{C as g}from"./index-3434d31b.js";import{l as v,ap as y,aq as w,F as x}from"./vendor-fortawesome-05d7e447.js";import{_ as k,u as r,k as i,l as a,G as t,E as s,x as n,y as c,B as p,m as _}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";const B="/openWB/web/settings/img/openWB_logo_light.png";v.add(y,w);const h={name:"InstallAssistantStepTemplate",components:{FontAwesomeIcon:x},mixins:[g],props:{title:{type:String,required:!0},hidePrevious:{type:Boolean,required:!1,default:!1},hideNext:{type:Boolean,required:!1,default:!1},hideEnd:{type:Boolean,required:!1,default:!1}},emits:["previousPage","nextPage","endAssistant"],methods:{nextPage(){window.scrollTo(0,0),this.$emit("nextPage")},previousPage(){window.scrollTo(0,0),this.$emit("previousPage")},endAssistant(){this.$emit("endAssistant")}}},A={class:"row justify-content-center mb-1"},C={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},P={key:1,class:"col-md-4 d-flex py-1 justify-content-center"},S={key:2,class:"col-md-4 d-flex py-1 justify-content-center"},T={class:"row justify-content-center"},I={class:"page-help-text col-md-3 py-2"},N={class:"col py-2"};function $(u,e,o,j,q,l){const m=r("font-awesome-icon"),d=r("openwb-base-click-button"),b=r("openwb-base-card");return i(),a("div",null,[t(b,{title:o.title,"body-bg":"white",class:"p-0 mx-3"},{footer:s(()=>[n("div",A,[o.hidePrevious?p("",!0):(i(),a("div",C,[t(d,{class:"btn-block btn-warning",onButtonClicked:e[0]||(e[0]=f=>l.previousPage())},{default:s(()=>[t(m,{"fixed-width":"",icon:["fas","caret-left"]}),e[3]||(e[3]=c(" Zurück "))]),_:1})])),o.hideNext?p("",!0):(i(),a("div",P,[t(d,{class:"btn-block btn-success",onButtonClicked:e[1]||(e[1]=f=>l.nextPage())},{default:s(()=>[e[4]||(e[4]=c(" Weiter ")),t(m,{"fixed-width":"",icon:["fas","caret-right"]})]),_:1})])),o.hideEnd?p("",!0):(i(),a("div",S,[t(d,{class:"btn-block btn-danger",onButtonClicked:e[2]||(e[2]=f=>l.endAssistant())},{default:s(()=>e[5]||(e[5]=[c(" Assistent beenden ")])),_:1})]))])]),default:s(()=>[n("div",T,[n("div",I,[_(u.$slots,"help",{},()=>[e[6]||(e[6]=n("img",{src:B,alt:"openWB Logo",class:"w-100"},null,-1))],!0)]),n("div",N,[_(u.$slots,"content",{},void 0,!0)])])]),_:3},8,["title"])])}const Z=k(h,[["render",$],["__scopeId","data-v-db9e78cb"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStepTemplate.vue"]]);export{Z as default}; +import{C as g}from"./index-6ffbdc7e.js";import{l as v,ap as y,aq as w,F as x}from"./vendor-fortawesome-231ff303.js";import{_ as k,u as r,l as i,m as a,G as t,E as s,x as n,y as c,B as p,p as _}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const B="/openWB/web/settings/img/openWB_logo_light.png";v.add(y,w);const h={name:"InstallAssistantStepTemplate",components:{FontAwesomeIcon:x},mixins:[g],props:{title:{type:String,required:!0},hidePrevious:{type:Boolean,required:!1,default:!1},hideNext:{type:Boolean,required:!1,default:!1},hideEnd:{type:Boolean,required:!1,default:!1}},emits:["previousPage","nextPage","endAssistant"],methods:{nextPage(){window.scrollTo(0,0),this.$emit("nextPage")},previousPage(){window.scrollTo(0,0),this.$emit("previousPage")},endAssistant(){this.$emit("endAssistant")}}},A={class:"row justify-content-center mb-1"},C={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},P={key:1,class:"col-md-4 d-flex py-1 justify-content-center"},S={key:2,class:"col-md-4 d-flex py-1 justify-content-center"},T={class:"row justify-content-center"},I={class:"page-help-text col-md-3 py-2"},N={class:"col py-2"};function $(u,e,o,j,q,l){const m=r("font-awesome-icon"),d=r("openwb-base-click-button"),b=r("openwb-base-card");return i(),a("div",null,[t(b,{title:o.title,"body-bg":"white",class:"p-0 mx-3"},{footer:s(()=>[n("div",A,[o.hidePrevious?p("",!0):(i(),a("div",C,[t(d,{class:"btn-block btn-warning",onButtonClicked:e[0]||(e[0]=f=>l.previousPage())},{default:s(()=>[t(m,{"fixed-width":"",icon:["fas","caret-left"]}),e[3]||(e[3]=c(" Zurück "))]),_:1})])),o.hideNext?p("",!0):(i(),a("div",P,[t(d,{class:"btn-block btn-success",onButtonClicked:e[1]||(e[1]=f=>l.nextPage())},{default:s(()=>[e[4]||(e[4]=c(" Weiter ")),t(m,{"fixed-width":"",icon:["fas","caret-right"]})]),_:1})])),o.hideEnd?p("",!0):(i(),a("div",S,[t(d,{class:"btn-block btn-danger",onButtonClicked:e[2]||(e[2]=f=>l.endAssistant())},{default:s(()=>e[5]||(e[5]=[c(" Assistent beenden ")])),_:1})]))])]),default:s(()=>[n("div",T,[n("div",I,[_(u.$slots,"help",{},()=>[e[6]||(e[6]=n("img",{src:B,alt:"openWB Logo",class:"w-100"},null,-1))],!0)]),n("div",N,[_(u.$slots,"content",{},void 0,!0)])])]),_:3},8,["title"])])}const Z=k(h,[["render",$],["__scopeId","data-v-db9e78cb"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/install_assistant/InstallAssistantStepTemplate.vue"]]);export{Z as default}; diff --git a/web/settings/assets/InstantChargeConfig-9dff20c9.js b/web/settings/assets/InstantChargeConfig-e52b5c11.js similarity index 75% rename from web/settings/assets/InstantChargeConfig-9dff20c9.js rename to web/settings/assets/InstantChargeConfig-e52b5c11.js index 5308588bc8..aabecb99b6 100644 --- a/web/settings/assets/InstantChargeConfig-9dff20c9.js +++ b/web/settings/assets/InstantChargeConfig-e52b5c11.js @@ -1 +1 @@ -import{C as l}from"./index-3434d31b.js";import{_ as b,u as o,k as a,l as i,x as _,G as s,E as r,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";const f={name:"OpenwbInstantChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/instant_charging/phases_to_use"]}}},h={class:"instantChargeConfig"},c={name:"instantChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const p=o("openwb-base-alert"),m=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return a(),i("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),i("div",w,[s(m,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/instant_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/instant_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[u(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Sofortladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"instantChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const F=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstantChargeConfig.vue"]]);export{F as default}; +import{C as l}from"./index-6ffbdc7e.js";import{_ as b,u as o,l as a,m as i,x as _,G as s,E as r,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const f={name:"OpenwbInstantChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/instant_charging/phases_to_use"]}}},h={class:"instantChargeConfig"},c={name:"instantChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const m=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return a(),i("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(a(),i("div",v,[s(m,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[u(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(a(),i("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/instant_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/instant_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[u(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Sofortladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (s.g. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"instantChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const F=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/InstantChargeConfig.vue"]]);export{F as default}; diff --git a/web/settings/assets/LegalSettings-f52d0b00.js b/web/settings/assets/LegalSettings-744f5891.js similarity index 87% rename from web/settings/assets/LegalSettings-f52d0b00.js rename to web/settings/assets/LegalSettings-744f5891.js index ee8839ac0b..ff98a84b6f 100644 --- a/web/settings/assets/LegalSettings-f52d0b00.js +++ b/web/settings/assets/LegalSettings-744f5891.js @@ -1 +1 @@ -import{l as _,aa as k,F as y}from"./vendor-fortawesome-05d7e447.js";import{C as v}from"./index-3434d31b.js";import{_ as B,u as n,k as i,l as h,x as a,G as o,E as r,z as m,y as d,B as p}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";_.add(k);const z={name:"OpenwbDataProtectionView",components:{FontAwesomeIcon:y},mixins:[v],emits:["sendCommand","save"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},S={class:"dataProtection"},$={name:"dataProtectionForm"},C={class:"row justify-content-center"},V={class:"col-md-4 d-flex justify-content-center"};function W(t,e,N,x,A,b){const u=n("openwb-base-button-group-input"),c=n("font-awesome-icon"),g=n("openwb-base-click-button"),l=n("openwb-base-alert"),w=n("openwb-base-submit-buttons"),f=n("openwb-base-card");return i(),h("div",S,[a("form",$,[o(f,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:r(()=>[o(w,{"form-name":"dataProtectionForm","hide-reset":!0,"hide-defaults":!0,onSave:e[3]||(e[3]=s=>t.$emit("save"))})]),default:r(()=>[e[7]||(e[7]=a("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1)),e[8]||(e[8]=a("hr",null,null,-1)),o(u,{title:"Nutzungsbedingungen",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"],"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateState("openWB/system/usage_terms_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]?p("",!0):(i(),m(l,{key:0,subtype:"danger",class:"mb-1"},{default:r(()=>[e[5]||(e[5]=d(" Sie müssen die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. ")),a("div",C,[a("div",V,[o(g,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=s=>b.sendSystemCommand("systemShutdown"))},{default:r(()=>[e[4]||(e[4]=d(" Nicht akzeptieren und ausschalten ")),o(c,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),_:1})),o(u,{title:"Datenschutzerklärung",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"],"onUpdate:modelValue":e[2]||(e[2]=s=>t.updateState("openWB/system/dataprotection_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]?p("",!0):(i(),m(l,{key:1,subtype:"warning"},{default:r(()=>e[6]||(e[6]=[d(" Wenn Du nicht einwilligst, wird eine ggf. konfigurierte Cloud-Anbindung gelöscht. Die openWB arbeitet autark wie gewohnt weiter. Fernzugriff und Remote-Support sind dann nicht mehr möglich! ")])),_:1}))]),_:1})])])}const L=B(z,[["render",W],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{L as default}; +import{l as _,aa as k,F as y}from"./vendor-fortawesome-231ff303.js";import{C as v}from"./index-6ffbdc7e.js";import{_ as B,u as n,l as i,m as h,x as a,G as o,E as r,z as m,y as d,B as p}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";_.add(k);const z={name:"OpenwbDataProtectionView",components:{FontAwesomeIcon:y},mixins:[v],emits:["sendCommand","save"],data(){return{mqttTopicsToSubscribe:["openWB/system/dataprotection_acknowledged"]}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})}}},S={class:"dataProtection"},$={name:"dataProtectionForm"},C={class:"row justify-content-center"},V={class:"col-md-4 d-flex justify-content-center"};function W(t,e,N,x,A,b){const u=n("openwb-base-button-group-input"),c=n("font-awesome-icon"),g=n("openwb-base-click-button"),l=n("openwb-base-alert"),w=n("openwb-base-submit-buttons"),f=n("openwb-base-card");return i(),h("div",S,[a("form",$,[o(f,{title:"Nutzungsbedingungen & Datenschutzerklärung"},{footer:r(()=>[o(w,{"form-name":"dataProtectionForm","hide-reset":!0,"hide-defaults":!0,onSave:e[3]||(e[3]=s=>t.$emit("save"))})]),default:r(()=>[e[7]||(e[7]=a("iframe",{src:"dataProtection-usageTerms.html",width:"100%",height:"400px",class:"bg-light"},null,-1)),e[8]||(e[8]=a("hr",null,null,-1)),o(u,{title:"Nutzungsbedingungen",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"],"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateState("openWB/system/usage_terms_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/usage_terms_acknowledged"]?p("",!0):(i(),m(l,{key:0,subtype:"danger",class:"mb-1"},{default:r(()=>[e[5]||(e[5]=d(" Sie müssen die Nutzungsbedingungen akzeptieren, bevor openWB eingesetzt werden kann. ")),a("div",C,[a("div",V,[o(g,{class:"btn-danger",onButtonClicked:e[1]||(e[1]=s=>b.sendSystemCommand("systemShutdown"))},{default:r(()=>[e[4]||(e[4]=d(" Nicht akzeptieren und ausschalten ")),o(c,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),_:1})),o(u,{title:"Datenschutzerklärung",buttons:[{buttonValue:!1,text:"Ablehnen",class:"btn-outline-danger"},{buttonValue:!0,text:"Akzeptieren",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"],"onUpdate:modelValue":e[2]||(e[2]=s=>t.updateState("openWB/system/dataprotection_acknowledged",s))},null,8,["model-value"]),t.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]?p("",!0):(i(),m(l,{key:1,subtype:"warning"},{default:r(()=>e[6]||(e[6]=[d(" Wenn Du nicht einwilligst, wird eine ggf. konfigurierte Cloud-Anbindung gelöscht. Die openWB arbeitet autark wie gewohnt weiter. Fernzugriff und Remote-Support sind dann nicht mehr möglich! ")])),_:1}))]),_:1})])])}const L=B(z,[["render",W],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LegalSettings.vue"]]);export{L as default}; diff --git a/web/settings/assets/LoadManagementConfig-04d84ef8.js b/web/settings/assets/LoadManagementConfig-04d84ef8.js deleted file mode 100644 index 86f2bf8b04..0000000000 --- a/web/settings/assets/LoadManagementConfig-04d84ef8.js +++ /dev/null @@ -1 +0,0 @@ -import{l as y,V as C,U as L,F as x}from"./vendor-fortawesome-05d7e447.js";import{C as V}from"./index-3434d31b.js";import{S as $}from"./OpenwbSortableList-b0494c12.js";import{_ as q,u as l,k as u,l as m,x as d,G as s,E as o,y as i,N as w,M as v,z as W,F as _}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";y.add(C,L);const Z={name:"OpenwbLoadManagementConfigView",components:{SortableList:$,FontAwesomeIcon:x},mixins:[V],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/config/home_consumption_source_id","openWB/counter/config/consider_less_charging","openWB/counter/get/hierarchy","openWB/system/device/+/component/+/config","openWB/counter/+/config/max_power_errorcase","openWB/counter/+/config/max_currents","openWB/counter/+/config/max_total_power","openWB/pv/+/config/max_ac_out","openWB/chargepoint/+/config"]}},computed:{componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},counterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("counter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e==null?void 0:e.type,"counter")&&t.push({value:e.id,text:e.name});return t.sort((e,n)=>e.text==n.text?0:e.text>n.text?1:-1)},inverterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("inverter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},hierarchyLabels:{get(){let t={};for(const e of Object.values(this.$store.state.mqtt["openWB/counter/get/hierarchy"]))t={...t,...this.getElementTreeNames(e)};return t}},getHcSourceIdOptions(){let t=[{value:null,text:"von openWB berechnen (in 99% der Fälle die richtige Einstellung)"}],e=[{label:"Eingerichtete Zähler-Komponenten",options:[...this.counterOptions]}];return{options:t,groups:e}}},methods:{getElementTreeNames(t){let e={};if(t.type=="cp"){let n=this.getChargePoint(t.id);n&&(e[t.id]=n.name)}else{let n=this.getComponent(t.id);n&&(e[t.id]=n.name)}return t.children.forEach(n=>{e={...e,...this.getElementTreeNames(n)}}),e},getComponent(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/system/device/[0-9]+/component/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},getChargePoint(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/chargepoint/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},isComponentType(t,e){return t==null?void 0:t.split("_").includes(e)}}},M={class:"loadManagementConfig"},U={name:"loadManagementConfigForm"},A={key:0},E={key:1},F={key:0},D={key:1};function O(t,e,n,P,H,g){const h=l("openwb-base-alert"),k=l("openwb-base-button-group-input"),B=l("openwb-base-select-input"),f=l("openwb-base-heading"),b=l("font-awesome-icon"),p=l("openwb-base-number-input"),c=l("openwb-base-card"),S=l("sortable-list"),z=l("openwb-base-submit-buttons");return u(),m("div",M,[d("form",U,[s(c,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",A,[s(h,{subtype:"info"},{default:o(()=>e[6]||(e[6]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",E,[s(k,{title:"Fahrzeuge, die nicht mit Sollstrom laden",buttons:[{buttonValue:!1,text:"nicht berücksichtigen",class:"btn-outline-danger"},{buttonValue:!0,text:"berücksichtigen",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/counter/config/consider_less_charging"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/counter/config/consider_less_charging",r))},{help:o(()=>e[7]||(e[7]=[d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, im Lastmanagement berücksichtigt werden, wird für diese der Sollstrom reserviert. Dadurch können bei Eingreifen des Lastmanagements andere Fahrzeuge möglicherweise nur mit reduzierter Stromstärke laden und der reservierte Strom wird nicht genutzt. Wenn die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, nutzen sie den für sie reservierten Strom. ",-1),d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, nicht im Lastmanagement berücksichtigt werden, wird für diese auch kein Strom bei vorliegender Ladefreigabe reserviert bzw. es wird nur der tatsächlich genutzte Strom im Lastmanagement berücksichtigt. Andere Fahrzeuge können dadurch mit höherer Stromstärke laden. Wenn die maximalen Lastmanagement-Grenzen fast erreicht sind und die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, kann es zu einer kurzzeitigen Überschreitung der Lastmanagement-Grenzen kommen, bis im nächsten Zyklus die Stromstärken aller Ladepunkte an die neue Situation angepasst wurden. Das kurzzeitige Überschreiten der Maximal-Werte stellt für die Sicherungen in der Regel kein Problem dar. ",-1)])),_:1},8,["model-value"]),s(B,{title:"Hausverbrauch",options:g.getHcSourceIdOptions.options,groups:g.getHcSourceIdOptions.groups,"model-value":t.$store.state.mqtt["openWB/counter/config/home_consumption_source_id"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/counter/config/home_consumption_source_id",r))},{help:o(()=>e[8]||(e[8]=[i(" Meist ist der Zähler am EVU-Punkt installiert, dann muss hier 'von openWB berechnen' ausgewählt werden. Wenn der Zähler im Hausverbrauchszweig installiert ist, die Struktur wie im "),d("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"}," Wiki ",-1),i(" beschrieben anordnen und hier den Hausverbrauchszähler auswählen. Dann wird dieser Wert abzüglich der Ladeleistung als Hausverbrauch erfasst. ")])),_:1},8,["options","groups","model-value"]),s(f,null,{default:o(()=>e[9]||(e[9]=[i(" Vorhandene Zählermodule ")])),_:1}),s(h,{subtype:"info"},{default:o(()=>e[10]||(e[10]=[i(" Die maximale Leistung wird nur für den EVU-Zähler berücksichtigt. Bei Zwischenzählern begrenzt das Lastmanagement rein anhand der maximalen Phasenströme."),d("br",null,null,-1),i(" Wenn ein Zähler nicht auslesbar ist, wird weiterhin versucht, diesen auszulesen und nach 60s die angenommene Leistung im Fehlerfall verwendet, die unten für jeden Zähler eingestellt wird, um eine Überlast zu vermeiden. Die angenommene Leistung wird gleichmäßig auf die Phasen verteilt."),d("br",null,null,-1),i(" Überlicherweise sind Hausanschlüsse mit 24kW und 3*35A bzw. 43kW und 3*63A abgesichert. ")])),_:1}),(u(!0),m(w,null,v(g.counterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","gauge-high"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Leistung",min:1,step:.1,required:"",unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_total_power"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_total_power",a*1e3)},{help:o(()=>[...e[11]||(e[11]=[i(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L1",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][0],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"0")},{help:o(()=>[...e[12]||(e[12]=[i(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L2",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][1],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"1")},{help:o(()=>[...e[13]||(e[13]=[i(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L3",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][2],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"2")},{help:o(()=>[...e[14]||(e[14]=[i(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximale Leistung im Fehlerfall",min:0,step:.1,unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_power_errorcase"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_power_errorcase",a*1e3)},{help:o(()=>[...e[15]||(e[15]=[i(" Angenommen Leistung für diesen (Zwischen-)Zähler, falls vom Zähler keine Werte abgefragt werden können. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(f,null,{default:o(()=>e[16]||(e[16]=[i(" Vorhandene Wechselrichtermodule ")])),_:1}),(u(!0),m(w,null,v(g.inverterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","solar-panel"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Ausgangsleistung des Wechselrichters",min:0,step:.1,unit:"kW",required:"","model-value":t.$store.state.mqtt["openWB/pv/"+r.id+"/config/max_ac_out"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/pv/"+r.id+"/config/max_ac_out",a*1e3)},{help:o(()=>[...e[17]||(e[17]=[i(" Relevant bei Hybrid-Systemen mit DC-Speicher. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(c,{title:"Struktur",collapsible:!0,collapsed:!0},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",F,[s(h,{subtype:"info"},{default:o(()=>e[18]||(e[18]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",D,[s(S,{title:"Anordnung der Komponenten","model-value":t.$store.state.mqtt["openWB/counter/get/hierarchy"],labels:g.hierarchyLabels,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/counter/get/hierarchy",r))},{help:o(()=>e[19]||(e[19]=[i(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet."),d("br",null,null,-1),i(" An erster Stelle muss eine Zählerkomponente stehen, die den Netzanschlusspunkt erfasst. Dafür kann auch ein virtueller Zähler genutzt werden."),d("br",null,null,-1),i(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden."),d("br",null,null,-1),i(" Bei DC-gekoppelten Speichern sind diese hinter dem zugehörigen Wechselrichter zu platzieren, damit die Abhängigkeit in der Regelung berücksichtigt werden kann. ")])),_:1},8,["model-value","labels"])]))]),_:1}),s(z,{"form-name":"loadManagementConfigForm",onSave:e[3]||(e[3]=r=>t.$emit("save")),onReset:e[4]||(e[4]=r=>t.$emit("reset")),onDefaults:e[5]||(e[5]=r=>t.$emit("defaults"))})])])}const Q=q(Z,[["render",O],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{Q as default}; diff --git a/web/settings/assets/LoadManagementConfig-854a9483.js b/web/settings/assets/LoadManagementConfig-854a9483.js new file mode 100644 index 0000000000..07ade7d829 --- /dev/null +++ b/web/settings/assets/LoadManagementConfig-854a9483.js @@ -0,0 +1 @@ +import{l as y,V as C,U as L,F as x}from"./vendor-fortawesome-231ff303.js";import{C as V}from"./index-6ffbdc7e.js";import{S as $}from"./OpenwbSortableList-c42720fc.js";import{_ as q,u as l,l as u,m,x as d,G as s,E as o,y as i,N as w,M as v,z as W,F as _}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";y.add(C,L);const Z={name:"OpenwbLoadManagementConfigView",components:{SortableList:$,FontAwesomeIcon:x},mixins:[V],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/counter/config/home_consumption_source_id","openWB/counter/config/consider_less_charging","openWB/counter/get/hierarchy","openWB/system/device/+/component/+/config","openWB/counter/+/config/max_power_errorcase","openWB/counter/+/config/max_currents","openWB/counter/+/config/max_total_power","openWB/pv/+/config/max_ac_out","openWB/chargepoint/+/config"]}},computed:{componentConfigurations(){return this.getWildcardTopics("openWB/system/device/+/component/+/config")},counterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("counter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},counterOptions(){var t=[];for(const e of Object.values(this.componentConfigurations))this.isComponentType(e==null?void 0:e.type,"counter")&&t.push({value:e.id,text:e.name});return t.sort((e,n)=>e.text==n.text?0:e.text>n.text?1:-1)},inverterConfigs:{get(){let t=this.getWildcardTopics("openWB/system/device/+/component/+/config");return Object.keys(t).filter(e=>{var n;return(n=t[e])==null?void 0:n.type.includes("inverter")}).reduce((e,n)=>({...e,[n]:t[n]}),{})}},hierarchyLabels:{get(){let t={};for(const e of Object.values(this.$store.state.mqtt["openWB/counter/get/hierarchy"]))t={...t,...this.getElementTreeNames(e)};return t}},getHcSourceIdOptions(){let t=[{value:null,text:"von openWB berechnen (in 99% der Fälle die richtige Einstellung)"}],e=[{label:"Eingerichtete Zähler-Komponenten",options:[...this.counterOptions]}];return{options:t,groups:e}}},methods:{getElementTreeNames(t){let e={};if(t.type=="cp"){let n=this.getChargePoint(t.id);n&&(e[t.id]=n.name)}else{let n=this.getComponent(t.id);n&&(e[t.id]=n.name)}return t.children.forEach(n=>{e={...e,...this.getElementTreeNames(n)}}),e},getComponent(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/system/device/[0-9]+/component/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},getChargePoint(t){let e;return Object.keys(this.$store.state.mqtt).forEach(n=>{n.match("^openWB/chargepoint/"+t+"/config$")&&(e=this.$store.state.mqtt[n])}),e},isComponentType(t,e){return t==null?void 0:t.split("_").includes(e)}}},M={class:"loadManagementConfig"},U={name:"loadManagementConfigForm"},A={key:0},E={key:1},F={key:0},D={key:1};function O(t,e,n,P,H,g){const h=l("openwb-base-alert"),k=l("openwb-base-button-group-input"),B=l("openwb-base-select-input"),f=l("openwb-base-heading"),b=l("font-awesome-icon"),p=l("openwb-base-number-input"),c=l("openwb-base-card"),S=l("sortable-list"),z=l("openwb-base-submit-buttons");return u(),m("div",M,[d("form",U,[s(c,{title:"Einstellungen",collapsible:!0,collapsed:!1},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",A,[s(h,{subtype:"info"},{default:o(()=>e[6]||(e[6]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",E,[s(k,{title:"Fahrzeuge, die nicht mit Sollstrom laden",buttons:[{buttonValue:!1,text:"nicht berücksichtigen",class:"btn-outline-danger"},{buttonValue:!0,text:"berücksichtigen",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/counter/config/consider_less_charging"],"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateState("openWB/counter/config/consider_less_charging",r))},{help:o(()=>e[7]||(e[7]=[d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, im Lastmanagement berücksichtigt werden, wird für diese der Sollstrom reserviert. Dadurch können bei Eingreifen des Lastmanagements andere Fahrzeuge möglicherweise nur mit reduzierter Stromstärke laden und der reservierte Strom wird nicht genutzt. Wenn die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, nutzen sie den für sie reservierten Strom. ",-1),d("p",null," Wenn angesteckte Fahrzeuge, die nicht oder nicht mit der Sollstromstärke laden, nicht im Lastmanagement berücksichtigt werden, wird für diese auch kein Strom bei vorliegender Ladefreigabe reserviert bzw. es wird nur der tatsächlich genutzte Strom im Lastmanagement berücksichtigt. Andere Fahrzeuge können dadurch mit höherer Stromstärke laden. Wenn die maximalen Lastmanagement-Grenzen fast erreicht sind und die Fahrzeuge wieder Leistung beziehen, z.B. um vorzuklimatisieren, kann es zu einer kurzzeitigen Überschreitung der Lastmanagement-Grenzen kommen, bis im nächsten Zyklus die Stromstärken aller Ladepunkte an die neue Situation angepasst wurden. Das kurzzeitige Überschreiten der Maximal-Werte stellt für die Sicherungen in der Regel kein Problem dar. ",-1)])),_:1},8,["model-value"]),s(B,{title:"Hausverbrauch",options:g.getHcSourceIdOptions.options,groups:g.getHcSourceIdOptions.groups,"model-value":t.$store.state.mqtt["openWB/counter/config/home_consumption_source_id"],"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateState("openWB/counter/config/home_consumption_source_id",r))},{help:o(()=>e[8]||(e[8]=[i(" Meist ist der Zähler am EVU-Punkt installiert, dann muss hier 'von openWB berechnen' ausgewählt werden. Wenn der Zähler im Hausverbrauchszweig installiert ist, die Struktur wie im "),d("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"}," Wiki ",-1),i(" beschrieben anordnen und hier den Hausverbrauchszähler auswählen. Dann wird dieser Wert abzüglich der Ladeleistung als Hausverbrauch erfasst. ")])),_:1},8,["options","groups","model-value"]),s(f,null,{default:o(()=>e[9]||(e[9]=[i(" Vorhandene Zählermodule ")])),_:1}),s(h,{subtype:"info"},{default:o(()=>e[10]||(e[10]=[i(" Die maximale Leistung wird nur für den EVU-Zähler berücksichtigt. Bei Zwischenzählern begrenzt das Lastmanagement rein anhand der maximalen Phasenströme."),d("br",null,null,-1),i(" Wenn ein Zähler nicht auslesbar ist, wird weiterhin versucht, diesen auszulesen und nach 60s die angenommene Leistung im Fehlerfall verwendet, die unten für jeden Zähler eingestellt wird, um eine Überlast zu vermeiden. Die angenommene Leistung wird gleichmäßig auf die Phasen verteilt."),d("br",null,null,-1),i(" Überlicherweise sind Hausanschlüsse mit 24kW und 3*35A bzw. 43kW und 3*63A abgesichert. ")])),_:1}),(u(!0),m(w,null,v(g.counterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"danger"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","gauge-high"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Leistung",min:1,step:.1,required:"",unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_total_power"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_total_power",a*1e3)},{help:o(()=>[...e[11]||(e[11]=[i(" Maximal zulässige Leistung für diesen (Zwischen-)Zähler. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L1",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][0],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"0")},{help:o(()=>[...e[12]||(e[12]=[i(" Maximal zulässiger Strom für die Phase 1 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L2",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][1],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"1")},{help:o(()=>[...e[13]||(e[13]=[i(" Maximal zulässiger Strom für die Phase 2 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximaler Strom L3",min:16,step:1,unit:"A",required:"","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_currents"][2],"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_currents",a,"2")},{help:o(()=>[...e[14]||(e[14]=[i(" Maximal zulässiger Strom für die Phase 3 dieses (Zwischen-)Zählers. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),s(p,{title:"Maximale Leistung im Fehlerfall",min:0,step:.1,unit:"kW","model-value":t.$store.state.mqtt["openWB/counter/"+r.id+"/config/max_power_errorcase"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/counter/"+r.id+"/config/max_power_errorcase",a*1e3)},{help:o(()=>[...e[15]||(e[15]=[i(" Angenommen Leistung für diesen (Zwischen-)Zähler, falls vom Zähler keine Werte abgefragt werden können. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128)),s(f,null,{default:o(()=>e[16]||(e[16]=[i(" Vorhandene Wechselrichtermodule ")])),_:1}),(u(!0),m(w,null,v(g.inverterConfigs,r=>(u(),W(c,{key:r.id,collapsible:!0,collapsed:!0,subtype:"success"},{header:o(()=>[s(b,{"fixed-width":"",icon:["fas","solar-panel"]}),i(" "+_(r.name),1)]),default:o(()=>[s(p,{title:"Maximale Ausgangsleistung des Wechselrichters",min:0,step:.1,unit:"kW",required:"","model-value":t.$store.state.mqtt["openWB/pv/"+r.id+"/config/max_ac_out"]/1e3,"onUpdate:modelValue":a=>t.updateState("openWB/pv/"+r.id+"/config/max_ac_out",a*1e3)},{help:o(()=>[...e[17]||(e[17]=[i(" Relevant bei Hybrid-Systemen mit DC-Speicher. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1024))),128))]))]),_:1}),s(c,{title:"Struktur",collapsible:!0,collapsed:!0},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(u(),m("div",F,[s(h,{subtype:"info"},{default:o(()=>e[18]||(e[18]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(u(),m("div",D,[s(S,{title:"Anordnung der Komponenten","model-value":t.$store.state.mqtt["openWB/counter/get/hierarchy"],labels:g.hierarchyLabels,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateState("openWB/counter/get/hierarchy",r))},{help:o(()=>e[19]||(e[19]=[i(" Durch die Anordnung der Komponenten werden Abhängigkeiten abgebildet."),d("br",null,null,-1),i(" An erster Stelle muss eine Zählerkomponente stehen, die den Netzanschlusspunkt erfasst. Dafür kann auch ein virtueller Zähler genutzt werden."),d("br",null,null,-1),i(" Die weiteren Komponenten müssen hierarchisch so angeordnet werden, wie sie auch physisch im Stromnetz angeschlossen werden."),d("br",null,null,-1),i(" Bei DC-gekoppelten Speichern sind diese hinter dem zugehörigen Wechselrichter zu platzieren, damit die Abhängigkeit in der Regelung berücksichtigt werden kann. ")])),_:1},8,["model-value","labels"])]))]),_:1}),s(z,{"form-name":"loadManagementConfigForm",onSave:e[3]||(e[3]=r=>t.$emit("save")),onReset:e[4]||(e[4]=r=>t.$emit("reset")),onDefaults:e[5]||(e[5]=r=>t.$emit("defaults"))})])])}const Q=q(Z,[["render",O],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/LoadManagementConfig.vue"]]);export{Q as default}; diff --git a/web/settings/assets/MqttBridgeConfig-eb696aca.js b/web/settings/assets/MqttBridgeConfig-060f419f.js similarity index 93% rename from web/settings/assets/MqttBridgeConfig-eb696aca.js rename to web/settings/assets/MqttBridgeConfig-060f419f.js index fd9eeeff05..af67014338 100644 --- a/web/settings/assets/MqttBridgeConfig-eb696aca.js +++ b/web/settings/assets/MqttBridgeConfig-060f419f.js @@ -1 +1 @@ -import{l as x,d as C,a7 as A,F as q}from"./vendor-fortawesome-05d7e447.js";import{C as z}from"./index-3434d31b.js";import{_ as D,u,k as m,l as b,G as o,E as a,x as f,N as k,y as s,F as E,z as M,B as T,M as W}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";x.add(C,A);const y={name:"OpenwbMqttBridgeConfigurationView",components:{FontAwesomeIcon:q},mixins:[z],emits:["sendCommand","save","reset"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){let t=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,v]of Object.entries(t))v.remote.is_openwb_cloud&&delete t[e];return t}}},methods:{addMqttBridge(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(t){return parseInt(t.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(t,e){e.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(t),this.showMqttBridgeModal=!0},removeMqttBridge(t,e){this.showMqttBridgeModal=!1,e=="confirm"&&(console.info("request removal of mqtt bridge '"+t+"'"),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:t}}))},getMqttBridgeName(t){return this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t]?this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t].name:t}}},P={class:"mqttBridgeConfiguration"},Q={key:0},Z={key:1},I=["name"];function N(t,e,v,F,g,i){const U=u("openwb-base-modal-dialog"),c=u("openwb-base-alert"),h=u("font-awesome-icon"),w=u("openwb-base-avatar"),p=u("openwb-base-text-input"),d=u("openwb-base-button-group-input"),V=u("openwb-base-heading"),B=u("openwb-base-number-input"),S=u("openwb-base-submit-buttons"),_=u("openwb-base-card");return m(),b(k,null,[o(U,{show:g.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>i.removeMqttBridge(g.modalMqttBridgeIndex,r))},{default:a(()=>[s(' Wollen Sie die MQTT-Brücke "'+E(i.getMqttBridgeName(g.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),f("div",P,[o(c,{subtype:"danger"},{default:a(()=>e[1]||(e[1]=[s(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!"),f("br",null,null,-1),s(' Es wird dringend empfohlen, dies nur für nicht-öffentliche MQTT-Server unter Verwendung starker Transport-Verschlüsselung (TLS) mit persönlichem Login und strenger Zugriffskontrolle (zumindest für die MQTT-Themen unterhalb von "Entfernter Präfix") zu aktivieren! ')])),_:1}),o(_,{title:"Konfigurierte MQTT-Brücken"},{actions:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(m(),M(w,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):T("",!0)]),default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(m(),b("div",Q,[o(c,{subtype:"info"},{default:a(()=>e[2]||(e[2]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(m(),b("div",Z,[Object.keys(i.configuredMqttBridges).length===0?(m(),M(c,{key:0,subtype:"info"},{default:a(()=>e[3]||(e[3]=[s(" Es wurde noch keine MQTT-Brücke konfiguriert. ")])),_:1})):T("",!0),(m(!0),b(k,null,W(i.configuredMqttBridges,(r,l)=>(m(),b("form",{key:l,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l)},[o(_,{title:r.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:a(()=>[o(w,{class:"bg-danger clickable",onClick:n=>i.removeMqttBridgeModal(l,n)},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])]),footer:a(()=>[o(S,{"form-name":"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l),"hide-defaults":!0,onSave:n=>t.$emit("save",[l]),onReset:n=>t.$emit("reset",[l])},null,8,["form-name","onSave","onReset"])]),default:a(()=>[o(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":r.name,"onUpdate:modelValue":n=>t.updateState(l,n,"name")},{help:a(()=>[...e[4]||(e[4]=[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.active,"onUpdate:modelValue":n=>t.updateState(l,n,"active")},null,8,["model-value","onUpdate:modelValue"]),e[14]||(e[14]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[5]||(e[5]=[s(" Einstellungen zur Verbindung ")])]),_:1}),o(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":r.remote.host,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),o(B,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":r.remote.port,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":r.remote.username,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Passwort",subtype:"password",required:"","model-value":r.remote.password,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":r.remote.prefix,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.prefix")},{help:a(()=>[...e[6]||(e[6]=[s(' Das Präfix darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. Optional kann mit einem Schrägstrich "/" eine Topic-Struktur abgebildet werden. Am Ende des Präfixes muss ein Schrägstrich "/" stehen. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":r.remote.client_id,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.client_id")},{help:a(()=>[...e[7]||(e[7]=[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":r.remote.protocol,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),o(d,{title:"TLS Version",buttons:[{buttonValue:"auto",text:"Automatisch",class:"btn-outline-success"},{buttonValue:"tlsv1.0",text:"v1.0",class:"btn-outline-warning"},{buttonValue:"tlsv1.1",text:"v1.1",class:"btn-outline-warning"},{buttonValue:"tlsv1.2",text:"v1.2"}],"model-value":r.remote.tls_version,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.tls_version")},{help:a(()=>[...e[8]||(e[8]=[s(' In der Einstellung "Automatisch" wird die Version zwischen Client und Server ausgehandelt. Wenn erforderlich, kann eine spezielle Version erzwungen werden. Versionen kleiner 1.2 gelten als veraltet und sollten nicht mehr verwendet werden. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.remote.try_private,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.try_private")},{help:a(()=>[...e[9]||(e[9]=[s(" Aktiviert eine proprietäre Protokoll-Erweiterung des Mosquitto Brokers, welche dem entfernten Broker signalisiert, dass es sich um eine MQTT Brücke handelt. Ergibt bessere Leistung mit Mosquitto-Brokern, ist jedoch inkompatibel mit vielen anderen MQTT-Brokern. Daher bitte nur aktivieren, wenn der Ziel-Broker sicher ein Mosquitto-Broker ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[15]||(e[15]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[10]||(e[10]=[s(" Datenübertragung ")])]),_:1}),o(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.status,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.status")},{help:a(()=>[...e[11]||(e[11]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Datenserien für Diagramme",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.graph,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.graph")},{help:a(()=>[...e[12]||(e[12]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.configuration,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.configuration")},{help:a(()=>[...e[13]||(e[13]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1032,["title"])],8,I))),128))]))]),_:1})])],64)}const J=D(y,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{J as default}; +import{l as x,d as C,a7 as A,F as q}from"./vendor-fortawesome-231ff303.js";import{C as z}from"./index-6ffbdc7e.js";import{_ as D,u,l as m,m as b,G as o,E as a,x as f,N as M,y as s,F as E,z as k,B as T,M as W}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";x.add(C,A);const y={name:"OpenwbMqttBridgeConfigurationView",components:{FontAwesomeIcon:q},mixins:[z],emits:["sendCommand","save","reset"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/mqtt/bridge/+"],showMqttBridgeModal:!1,modalMqttBridgeIndex:void 0}},computed:{configuredMqttBridges:{get(){let t=this.getWildcardTopics("openWB/system/mqtt/bridge/+");for(const[e,v]of Object.entries(t))v.remote.is_openwb_cloud&&delete t[e];return t}}},methods:{addMqttBridge(t){t.stopPropagation(),this.$emit("sendCommand",{command:"addMqttBridge",data:{}})},getMqttBridgeIndex(t){return parseInt(t.match(/(?:\/)(\d+)$/)[1])},removeMqttBridgeModal(t,e){e.stopPropagation(),this.modalMqttBridgeIndex=this.getMqttBridgeIndex(t),this.showMqttBridgeModal=!0},removeMqttBridge(t,e){this.showMqttBridgeModal=!1,e=="confirm"&&(console.info("request removal of mqtt bridge '"+t+"'"),this.$emit("sendCommand",{command:"removeMqttBridge",data:{bridge:t}}))},getMqttBridgeName(t){return this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t]?this.$store.state.mqtt["openWB/system/mqtt/bridge/"+t].name:t}}},P={class:"mqttBridgeConfiguration"},Q={key:0},Z={key:1},I=["name"];function N(t,e,v,F,g,i){const U=u("openwb-base-modal-dialog"),c=u("openwb-base-alert"),h=u("font-awesome-icon"),w=u("openwb-base-avatar"),p=u("openwb-base-text-input"),d=u("openwb-base-button-group-input"),V=u("openwb-base-heading"),B=u("openwb-base-number-input"),S=u("openwb-base-submit-buttons"),_=u("openwb-base-card");return m(),b(M,null,[o(U,{show:g.showMqttBridgeModal,title:"MQTT-Brücke löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=r=>i.removeMqttBridge(g.modalMqttBridgeIndex,r))},{default:a(()=>[s(' Wollen Sie die MQTT-Brücke "'+E(i.getMqttBridgeName(g.modalMqttBridgeIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),f("div",P,[o(c,{subtype:"danger"},{default:a(()=>e[1]||(e[1]=[s(" ACHTUNG: Die Konfiguration einer MQTT-Brücke erlaubt allen Nutzern mit Zugang zum entfernten MQTT-Server alle weitergeleiteten Daten dieser openWB einzusehen!"),f("br",null,null,-1),s(' Es wird dringend empfohlen, dies nur für nicht-öffentliche MQTT-Server unter Verwendung starker Transport-Verschlüsselung (TLS) mit persönlichem Login und strenger Zugriffskontrolle (zumindest für die MQTT-Themen unterhalb von "Entfernter Präfix") zu aktivieren! ')])),_:1}),o(_,{title:"Konfigurierte MQTT-Brücken"},{actions:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(m(),k(w,{key:0,class:"bg-success clickable",onClick:i.addMqttBridge},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):T("",!0)]),default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(m(),b("div",Q,[o(c,{subtype:"info"},{default:a(()=>e[2]||(e[2]=[s(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(m(),b("div",Z,[Object.keys(i.configuredMqttBridges).length===0?(m(),k(c,{key:0,subtype:"info"},{default:a(()=>e[3]||(e[3]=[s(" Es wurde noch keine MQTT-Brücke konfiguriert. ")])),_:1})):T("",!0),(m(!0),b(M,null,W(i.configuredMqttBridges,(r,l)=>(m(),b("form",{key:l,name:"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l)},[o(_,{title:r.name,collapsible:!0,collapsed:!0,subtype:"primary"},{actions:a(()=>[o(w,{class:"bg-danger clickable",onClick:n=>i.removeMqttBridgeModal(l,n)},{default:a(()=>[o(h,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])]),footer:a(()=>[o(S,{"form-name":"mqttBridgeConfigurationForm"+i.getMqttBridgeIndex(l),"hide-defaults":!0,onSave:n=>t.$emit("save",[l]),onReset:n=>t.$emit("reset",[l])},null,8,["form-name","onSave","onReset"])]),default:a(()=>[o(p,{title:"Bezeichnung",subtype:"text",required:"",pattern:"[A-Za-z0-9]+","model-value":r.name,"onUpdate:modelValue":n=>t.updateState(l,n,"name")},{help:a(()=>[...e[4]||(e[4]=[s(" Die Bezeichnung darf nur aus Buchstaben ohne Umlaute und Zahlen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke aktivieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":r.active,"onUpdate:modelValue":n=>t.updateState(l,n,"active")},null,8,["model-value","onUpdate:modelValue"]),e[14]||(e[14]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[5]||(e[5]=[s(" Einstellungen zur Verbindung ")])]),_:1}),o(p,{title:"Entfernter Server",subtype:"host",required:"","model-value":r.remote.host,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.host")},null,8,["model-value","onUpdate:modelValue"]),o(B,{title:"Entfernter Port",required:"",min:1,max:65535,"model-value":r.remote.port,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.port")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Benutzername",subtype:"user",required:"",pattern:"[a-zA-Z0-9_\\-+.]+","model-value":r.remote.username,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.username")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Passwort",subtype:"password",required:"","model-value":r.remote.password,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.password")},null,8,["model-value","onUpdate:modelValue"]),o(p,{title:"Präfix",subtype:"text",pattern:"[A-Za-z0-9_\\-]+(\\/[A-Za-z0-9_\\-]+)?\\/","model-value":r.remote.prefix,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.prefix")},{help:a(()=>[...e[6]||(e[6]=[s(' Das Präfix darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. Optional kann mit einem Schrägstrich "/" eine Topic-Struktur abgebildet werden. Am Ende des Präfixes muss ein Schrägstrich "/" stehen. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(p,{title:"Client ID",subtype:"text",required:"",pattern:"[A-Za-z0-9_\\-]+","model-value":r.remote.client_id,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.client_id")},{help:a(()=>[...e[7]||(e[7]=[s(" Die Client ID darf nur aus Buchstaben ohne Umlaute, Zahlen, Binde- und Unterstrichen bestehen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"MQTT Protokoll",required:"required",buttons:[{buttonValue:"mqttv31",text:"v3.1"},{buttonValue:"mqttv311",text:"v3.1.1"}],"model-value":r.remote.protocol,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.protocol")},null,8,["model-value","onUpdate:modelValue"]),o(d,{title:"TLS Version",buttons:[{buttonValue:"auto",text:"Automatisch",class:"btn-outline-success"},{buttonValue:"tlsv1.0",text:"v1.0",class:"btn-outline-warning"},{buttonValue:"tlsv1.1",text:"v1.1",class:"btn-outline-warning"},{buttonValue:"tlsv1.2",text:"v1.2"}],"model-value":r.remote.tls_version,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.tls_version")},{help:a(()=>[...e[8]||(e[8]=[s(' In der Einstellung "Automatisch" wird die Version zwischen Client und Server ausgehandelt. Wenn erforderlich, kann eine spezielle Version erzwungen werden. Versionen kleiner 1.2 gelten als veraltet und sollten nicht mehr verwendet werden. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Brücke signalisieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.remote.try_private,"onUpdate:modelValue":n=>t.updateState(l,n,"remote.try_private")},{help:a(()=>[...e[9]||(e[9]=[s(" Aktiviert eine proprietäre Protokoll-Erweiterung des Mosquitto Brokers, welche dem entfernten Broker signalisiert, dass es sich um eine MQTT Brücke handelt. Ergibt bessere Leistung mit Mosquitto-Brokern, ist jedoch inkompatibel mit vielen anderen MQTT-Brokern. Daher bitte nur aktivieren, wenn der Ziel-Broker sicher ein Mosquitto-Broker ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[15]||(e[15]=f("hr",null,null,-1)),o(V,null,{default:a(()=>[...e[10]||(e[10]=[s(" Datenübertragung ")])]),_:1}),o(d,{title:"Alle Statusdaten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.status,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.status")},{help:a(()=>[...e[11]||(e[11]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Datenserien für Diagramme",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.graph,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.graph")},{help:a(()=>[...e[12]||(e[12]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),o(d,{title:"Fernkonfiguration ermöglichen",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":r.data_transfer.configuration,"onUpdate:modelValue":n=>t.updateState(l,n,"data_transfer.configuration")},{help:a(()=>[...e[13]||(e[13]=[s(" ToDo... ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]),_:2},1032,["title"])],8,I))),128))]))]),_:1})])],64)}const J=D(y,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/MqttBridgeConfig.vue"]]);export{J as default}; diff --git a/web/settings/assets/OpenwbSortableList-b0494c12.js b/web/settings/assets/OpenwbSortableList-c42720fc.js similarity index 86% rename from web/settings/assets/OpenwbSortableList-b0494c12.js rename to web/settings/assets/OpenwbSortableList-c42720fc.js index c23107b702..aa9e831548 100644 --- a/web/settings/assets/OpenwbSortableList-b0494c12.js +++ b/web/settings/assets/OpenwbSortableList-c42720fc.js @@ -1 +1 @@ -import{O as v}from"./index-3434d31b.js";import{_ as m,a3 as V,u as l,k as o,z as i,E as d,x as p,q as k,G as f,B as S,y as _,F as g,D as O,m as b,l as L}from"./vendor-06e11d0e.js";import{l as B,af as E,K as N,W as x,V as C,U as q,F as A}from"./vendor-fortawesome-05d7e447.js";B.add(E,N,x,C,q);const U={name:"OpenwbNestedList",components:{draggable:V,FontAwesomeIcon:A},props:{list:{type:Object,required:!1,default:void 0},labels:{type:Object,required:!1,default:void 0}},methods:{classes(e){var t="";switch(e.type){case"bat":t+="battery";break;case"cp":t+="charge-point";break;default:t+=e.type;break}return t},getElementLabel(e){return this.labels&&e in this.labels?this.labels[e]:e},getElementIcon(e){switch(e.type){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"inverter":return["fas","solar-panel"];default:return}}}};function W(e,t,n,h,w,a){const r=l("font-awesome-icon"),c=l("openwb-nested-list",!0),u=l("draggable");return o(),i(u,{class:"dragArea w-100 mb-0",tag:"ul",list:n.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:d(({element:s})=>[p("li",null,[p("div",{class:k(["element-titel",a.classes(s)])},[p("span",null,[f(r,{class:"handle","fixed-width":"",icon:["fas","arrows-alt"]}),a.getElementIcon(s)?(o(),i(r,{key:0,"fixed-width":"",icon:a.getElementIcon(s)},null,8,["icon"])):S("",!0),_(" "+g(a.getElementLabel(s.id)),1)])],2),f(c,{modelValue:s.children,"onUpdate:modelValue":y=>s.children=y,labels:n.labels},null,8,["modelValue","onUpdate:modelValue","labels"])])]),_:1},8,["list"])}const $=m(U,[["render",W],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]),j={name:"OpenwbSortableList",components:{OpenwbBaseSettingElement:v,OpenwbNestedList:$},props:{id:{type:String,required:!1,default:void 0},title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:void 0},labels:{type:Object,default:void 0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){console.debug("update in sortableList",e),this.$emit("update:modelValue",e)}}}},D={key:1};function F(e,t,n,h,w,a){const r=l("openwb-nested-list"),c=l("openwb-base-setting-element");return o(),i(c,null,O({title:d(()=>[b(e.$slots,"title",{},()=>[_(g(n.title),1)])]),default:d(()=>[a.value!==void 0?(o(),i(r,{key:0,modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=u=>a.value=u),labels:n.labels},null,8,["modelValue","labels"])):(o(),L("div",D,"Warte auf Daten..."))]),_:2},[e.$slots.help?{name:"help",fn:d(()=>[b(e.$slots,"help")]),key:"0"}:void 0]),1024)}const H=m(j,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{H as S}; +import{O as v}from"./index-6ffbdc7e.js";import{_ as m,a3 as V,u as l,l as o,z as i,E as d,x as p,q as S,G as f,B as k,y as _,F as g,D as O,p as b,m as L}from"./vendor-0c15df0c.js";import{l as B,af as E,K as N,W as x,V as C,U as q,F as A}from"./vendor-fortawesome-231ff303.js";B.add(E,N,x,C,q);const U={name:"OpenwbNestedList",components:{draggable:V,FontAwesomeIcon:A},props:{list:{type:Object,required:!1,default:void 0},labels:{type:Object,required:!1,default:void 0}},methods:{classes(e){var t="";switch(e.type){case"bat":t+="battery";break;case"cp":t+="charge-point";break;default:t+=e.type;break}return t},getElementLabel(e){return this.labels&&e in this.labels?this.labels[e]:e},getElementIcon(e){switch(e.type){case"bat":return["fas","car-battery"];case"counter":return["fas","gauge-high"];case"cp":return["fas","charging-station"];case"inverter":return["fas","solar-panel"];default:return}}}};function W(e,t,n,h,w,a){const r=l("font-awesome-icon"),c=l("openwb-nested-list",!0),u=l("draggable");return o(),i(u,{class:"dragArea w-100 mb-0",tag:"ul",list:n.list,group:{name:"g1"},"item-key":"id",handle:".handle"},{item:d(({element:s})=>[p("li",null,[p("div",{class:S(["element-titel",a.classes(s)])},[p("span",null,[f(r,{class:"handle","fixed-width":"",icon:["fas","arrows-alt"]}),a.getElementIcon(s)?(o(),i(r,{key:0,"fixed-width":"",icon:a.getElementIcon(s)},null,8,["icon"])):k("",!0),_(" "+g(a.getElementLabel(s.id)),1)])],2),f(c,{modelValue:s.children,"onUpdate:modelValue":y=>s.children=y,labels:n.labels},null,8,["modelValue","onUpdate:modelValue","labels"])])]),_:1},8,["list"])}const $=m(U,[["render",W],["__scopeId","data-v-82c9421a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbNestedList.vue"]]),j={name:"OpenwbSortableList",components:{OpenwbBaseSettingElement:v,OpenwbNestedList:$},props:{id:{type:String,required:!1,default:void 0},title:{type:String,required:!1,default:""},modelValue:{type:Array,required:!1,default:void 0},labels:{type:Object,default:void 0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(e){console.debug("update in sortableList",e),this.$emit("update:modelValue",e)}}}},D={key:1};function F(e,t,n,h,w,a){const r=l("openwb-nested-list"),c=l("openwb-base-setting-element");return o(),i(c,null,O({title:d(()=>[b(e.$slots,"title",{},()=>[_(g(n.title),1)])]),default:d(()=>[a.value!==void 0?(o(),i(r,{key:0,modelValue:a.value,"onUpdate:modelValue":t[0]||(t[0]=u=>a.value=u),labels:n.labels},null,8,["modelValue","labels"])):(o(),L("div",D,"Warte auf Daten..."))]),_:2},[e.$slots.help?{name:"help",fn:d(()=>[b(e.$slots,"help")]),key:"0"}:void 0]),1024)}const H=m(j,[["render",F],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbSortableList.vue"]]);export{H as S}; diff --git a/web/settings/assets/OptionalComponents-3432e925.js b/web/settings/assets/OptionalComponents-3432e925.js deleted file mode 100644 index ffd467f16a..0000000000 --- a/web/settings/assets/OptionalComponents-3432e925.js +++ /dev/null @@ -1,2 +0,0 @@ -import{_ as $,C}from"./index-3434d31b.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{l as S,a2 as z,a3 as V,F as L}from"./vendor-fortawesome-05d7e447.js";import{_ as v,u as p,k as s,l as r,z as y,E as o,y as i,F as g,G as n,x as l,a1 as E,a2 as I,N as F,B as _}from"./vendor-06e11d0e.js";const q={props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},M=v(q,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/DisplayThemeConfigMixin.vue"]]),N={name:"DisplayThemeFallback",mixins:[M]},j={class:"display-theme-fallback"},P={key:1};function A(t,e,u,c,w,b){const d=p("openwb-base-alert"),m=p("openwb-base-textarea");return s(),r("div",j,[Object.keys(t.displayTheme.configuration).length==0?(s(),y(d,{key:0,subtype:"info"},{default:o(()=>[i(' Das Display-Theme "'+g(t.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),r("div",P,[n(d,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für das Display-Theme "'+g(t.displayTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(m,{title:"Konfiguration",subtype:"json","model-value":t.displayTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=f=>t.updateConfiguration(f,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[l("pre",null,g(JSON.stringify(t.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const x=v(N,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);S.add(z,V);const U={name:"OpenwbDisplayThemeProxy",components:{FontAwesomeIcon:L},props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading display theme: ${this.displayTheme.type}`),E({loader:()=>O(Object.assign({"./cards/displayTheme.vue":()=>$(()=>import("./displayTheme-77327b55.js"),["assets/displayTheme-77327b55.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/index-3434d31b.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:x})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function H(t,e,u,c,w,b){const d=p("font-awesome-icon"),m=p("openwb-base-alert"),f=p("openwb-base-heading");return s(),r(F,null,[u.displayTheme.official?(s(),y(m,{key:0,subtype:"success"},{default:o(()=>[n(d,{"fixed-width":"",icon:["fas","certificate"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(s(),y(m,{key:1,subtype:"info"},{default:o(()=>[n(d,{"fixed-width":"",icon:["fas","people-group"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(f,null,{default:o(()=>[i(' Einstellungen für Display Theme "'+g(u.displayTheme.name)+'" ',1)]),_:1}),(s(),y(I(b.myComponent),{"display-theme":u.displayTheme,"onUpdate:configuration":e[0]||(e[0]=h=>b.updateConfiguration(h))},null,40,["display-theme"]))],64)}const R=v(U,[["render",H],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),J={name:"OpenwbOptionalComponentsView",components:{OpenwbDisplayThemeProxy:R},mixins:[C],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/optional/led/active","ToDo/optional/led/instant_blocked","ToDo/optional/led/pv_blocked","ToDo/optional/led/scheduled_blocked","ToDo/optional/led/standby_blocked","ToDo/optional/led/stop_blocked","ToDo/optional/led/instant","ToDo/optional/led/pv","ToDo/optional/led/scheduled","ToDo/optional/led/standby","ToDo/optional/led/stop","openWB/optional/int_display/active","openWB/optional/int_display/standby","openWB/optional/int_display/rotation","openWB/optional/int_display/on_if_plugged_in","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/theme","openWB/optional/int_display/only_local_charge_points","openWB/system/configurable/display_themes","openWB/optional/et/active","openWB/optional/et/config/provider","openWB/optional/et/config/max_price"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.displayThemeList.forEach(e=>{e.official===!0?t[0].options.push(e):t[1].options.push(e)}),t}},methods:{getIdFromTopic(t){return t.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,"")},updateIdTagList(){return Object.entries(this.getWildcardTopics("^openWB/chargepoint/[^+/]+/[gs]et/rfid$",!0)).forEach(t=>{t[1]!==null&&(this.tempIdTagList[t[1]]=`${t[1]} (${t[0].includes("/set/")?"zugewiesen":"erfasst"} an ${this.getChargePointName(this.getIdFromTopic(t[0]))})`)}),this.tempIdTagList},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getDisplayThemeDefaults(t){const e=this.displayThemeList.find(u=>u.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for display theme type!",t),{})},updateSelectedDisplayTheme(t){this.updateState("openWB/optional/int_display/theme",this.getDisplayThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},G={class:"optionalComponents"},K={name:"optionalComponentsForm"},Z={key:0},Q={key:1},X={key:0},Y=["innerHTML"],ee={key:0},te={key:1},ne={key:2},oe={key:0};function ie(t,e,u,c,w,b){const d=p("openwb-base-alert"),m=p("openwb-base-button-group-input"),f=p("openwb-base-textarea"),h=p("openwb-base-card"),T=p("openwb-base-heading"),B=p("openwb-base-range-input"),D=p("openwb-base-select-input"),W=p("openwb-display-theme-proxy"),k=p("openwb-base-submit-buttons");return s(),r("div",G,[l("form",K,[n(h,{title:"Identifikation"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),r("div",Z,[n(d,{subtype:"info"},{default:o(()=>e[10]||(e[10]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),r("div",Q,[n(m,{title:"Identifikation aktivieren","model-value":t.$store.state.mqtt["openWB/optional/rfid/active"],buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateState("openWB/optional/rfid/active",a))},{help:o(()=>e[11]||(e[11]=[i(" Die Identifikation kann zum Entsperren von Ladepunkten und/oder zur Zuordnung von Fahrzeugen genutzt werden und kann auf mehreren Wegen erfolgen: "),l("ul",null,[l("li",null," Über einen in der openWB verbauten RFID-Reader (optional, z.B. anhand des Lieferscheins prüfen). "),l("li",null," Durch die automatische Erkennung an einer openWB Pro (muss in den Einstellungen aktiviert werden). "),l("li",null,"Durch manuelle Eingabe einer ID am Display einer openWB.")],-1)])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(s(),r("div",X,[n(d,{subtype:"info",class:"mb-1"},{default:o(()=>[e[12]||(e[12]=i(" Die ID-Tags müssen in den Einstellungen der Fahrzeuge diesen zugeordnet werden.")),e[13]||(e[13]=l("br",null,null,-1)),e[14]||(e[14]=i(" Es kann zuerst das Fahrzeug angesteckt und dann der ID-Tag erfasst werden oder andersherum. Im letzten Fall muss innerhalb von 5 Minuten ein Fahrzeug angesteckt werden, sonst wird der ID-Tag verworfen.")),e[15]||(e[15]=l("br",null,null,-1)),l("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,Y)]),_:1}),n(f,{title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":b.idTagList.join(` -`)},{help:o(()=>e[16]||(e[16]=[i(" Solange diese Seite geöffnet ist, werden alle erfassten ID-Tags in dieser Liste aufgeführt. Bei der openWB Pro/Pro+ nur bei angestecktem Fahrzeug. ")])),_:1},8,["model-value"])])):_("",!0)]))]),_:1}),n(h,{title:"Display (intern oder extern)"},{default:o(()=>[n(m,{title:"Integriertes Display","model-value":t.$store.state.mqtt["openWB/optional/int_display/active"],buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateState("openWB/optional/int_display/active",a))},{help:o(()=>e[17]||(e[17]=[i(' Je nach Bestellung kann die openWB mit oder ohne Display geliefert worden sein. Auch die Variante "Standalone" bietet beide Optionen. Bitte prüfe zuerst die Hardwareausstattung deiner openWB (z.B. Lieferschein). ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/int_display/active"]==!0?(s(),r("div",ee,[n(m,{title:"Orientierung","model-value":t.$store.state.mqtt["openWB/optional/int_display/rotation"],buttons:[{buttonValue:0,text:"0°"},{buttonValue:90,text:"90°"},{buttonValue:180,text:"180°"},{buttonValue:270,text:"270°"}],"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateState("openWB/optional/int_display/rotation",a))},{help:o(()=>e[18]||(e[18]=[i(" Mit dieser Einstellung kann das Display im Uhrzeigersinn gedreht werden, falls erforderlich. Nach einer Änderung ist ein Neustart erforderlich!"),l("br",null,null,-1),i(" Diese Einstellung erfordert ein Raspberry Pi Display. Für eine openWB series2 mit integriertem Display muss 0° ausgewählt werden, für eine Standalone mit Display 180°. Anzeigen, welche über HDMI angeschlossen sind, werden nicht unterstützt. ")])),_:1},8,["model-value"]),e[21]||(e[21]=l("hr",null,null,-1)),n(T,null,{default:o(()=>e[19]||(e[19]=[i(" Display Standby ")])),_:1}),n(B,{title:"Ausschaltzeit",min:0,max:12,step:1,"model-value":t.$store.state.mqtt["openWB/optional/int_display/standby"],unit:"Sek",labels:[{label:"Immer an",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:30,value:30},{label:45,value:45},{label:"1 Min",value:60},{label:"1,5 Min",value:90},{label:"2 Min",value:120},{label:"3 Min",value:180},{label:"4 Min",value:240},{label:"5 Min",value:300},{label:"10 Min",value:600}],"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateState("openWB/optional/int_display/standby",a))},{help:o(()=>e[20]||(e[20]=[i(" Hier kann eine Zeitspanne angegeben werden, nach der das Display ausgeschaltet wird. ")])),_:1},8,["model-value"])])):_("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),r("div",te,[e[23]||(e[23]=l("hr",null,null,-1)),n(d,{subtype:"info"},{default:o(()=>e[22]||(e[22]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),r("div",ne,[e[26]||(e[26]=l("hr",null,null,-1)),n(m,{title:"Ladepunkte auf secondary openWB","model-value":t.$store.state.mqtt["openWB/optional/int_display/only_local_charge_points"],buttons:[{buttonValue:!1,text:"Alle",class:"btn-outline-danger"},{buttonValue:!0,text:"Nur Lokale",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=a=>t.updateState("openWB/optional/int_display/only_local_charge_points",a))},{help:o(()=>e[24]||(e[24]=[i(" Hiermit kann festgelegt werden, ob an angebundenen secondary openWB alle oder nur die jeweils lokalen Ladepunkte angezeigt werden sollen. ")])),_:1},8,["model-value"]),e[27]||(e[27]=l("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/int_display/theme"]!==void 0?(s(),r("div",oe,[n(D,{class:"mb-2",title:"Theme des Displays",groups:b.displayThemeGroupList,"model-value":t.$store.state.mqtt["openWB/optional/int_display/theme"].type,"onUpdate:modelValue":e[5]||(e[5]=a=>b.updateSelectedDisplayTheme(a))},{help:o(()=>e[25]||(e[25]=[i(" Hier können unterschiedliche Display-Anzeigen, s.g. Themes, ausgewählt werden. Die Anzahl der Themes wird sich mit zukünftigen Releases erhöhen. ")])),_:1},8,["groups","model-value"]),t.$store.state.mqtt["openWB/optional/int_display/theme"].type?(s(),y(W,{key:0,"display-theme":t.$store.state.mqtt["openWB/optional/int_display/theme"],"onUpdate:configuration":e[6]||(e[6]=a=>b.updateConfiguration("openWB/optional/int_display/theme",a))},null,8,["display-theme"])):_("",!0)])):_("",!0)]))]),_:1}),n(k,{"form-name":"optionalComponentsForm",onSave:e[7]||(e[7]=a=>t.$emit("save")),onReset:e[8]||(e[8]=a=>t.$emit("reset")),onDefaults:e[9]||(e[9]=a=>t.$emit("defaults"))})])])}const ae=v(J,[["render",ie],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/OptionalComponents.vue"]]),de=Object.freeze(Object.defineProperty({__proto__:null,default:ae},Symbol.toStringTag,{value:"Module"}));export{M as D,de as O}; diff --git a/web/settings/assets/OptionalComponents-49df496e.js b/web/settings/assets/OptionalComponents-49df496e.js new file mode 100644 index 0000000000..8c2ec9dfe5 --- /dev/null +++ b/web/settings/assets/OptionalComponents-49df496e.js @@ -0,0 +1,2 @@ +import{_ as T,C}from"./index-6ffbdc7e.js";import{_ as O}from"./dynamic-import-helper-be004503.js";import{l as S,a2 as z,a3 as V,F as E}from"./vendor-fortawesome-231ff303.js";import{_ as v,u as p,l as s,m as r,z as y,E as o,y as i,F as g,G as n,x as l,a1 as L,a2 as I,N as F,B as _}from"./vendor-0c15df0c.js";const q={props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},M=v(q,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/DisplayThemeConfigMixin.vue"]]),N={name:"DisplayThemeFallback",mixins:[M]},j={class:"display-theme-fallback"},P={key:1};function A(t,e,u,c,w,b){const d=p("openwb-base-alert"),m=p("openwb-base-textarea");return s(),r("div",j,[Object.keys(t.displayTheme.configuration).length==0?(s(),y(d,{key:0,subtype:"info"},{default:o(()=>[i(' Das Display-Theme "'+g(t.displayTheme.name)+'" bietet keine Einstellungen. ',1)]),_:1})):(s(),r("div",P,[n(d,{subtype:"warning"},{default:o(()=>[i(' Es wurde keine Konfigurationsseite für das Display-Theme "'+g(t.displayTheme.name)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),n(m,{title:"Konfiguration",subtype:"json","model-value":t.displayTheme.configuration,"onUpdate:modelValue":e[0]||(e[0]=f=>t.updateConfiguration(f,"configuration"))},{help:o(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),n(d,{subtype:"info"},{default:o(()=>[l("pre",null,g(JSON.stringify(t.displayTheme.configuration,void 0,2)),1)]),_:1})]))])}const x=v(N,[["render",A],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeFallback.vue"]]);S.add(z,V);const U={name:"OpenwbDisplayThemeProxy",components:{FontAwesomeIcon:E},props:{displayTheme:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading display theme: ${this.displayTheme.type}`),L({loader:()=>O(Object.assign({"./cards/displayTheme.vue":()=>T(()=>import("./displayTheme-e8fbe827.js"),["assets/displayTheme-e8fbe827.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-6ffbdc7e.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./colors/displayTheme.vue":()=>T(()=>import("./displayTheme-b7ce446c.js"),["assets/displayTheme-b7ce446c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/index-6ffbdc7e.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.displayTheme.type}/displayTheme.vue`),errorComponent:x})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function R(t,e,u,c,w,b){const d=p("font-awesome-icon"),m=p("openwb-base-alert"),f=p("openwb-base-heading");return s(),r(F,null,[u.displayTheme.official?(s(),y(m,{key:0,subtype:"success"},{default:o(()=>[n(d,{"fixed-width":"",icon:["fas","certificate"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird von openWB gepflegt. ',1)]),_:1})):(s(),y(m,{key:1,subtype:"info"},{default:o(()=>[n(d,{"fixed-width":"",icon:["fas","people-group"]}),i(' Das ausgewählte Display Theme "'+g(u.displayTheme.name)+'" wird in unserer Community gepflegt. Rückfragen oder Probleme bitte im Forum diskutieren. ',1)]),_:1})),n(f,null,{default:o(()=>[i(' Einstellungen für Display Theme "'+g(u.displayTheme.name)+'" ',1)]),_:1}),(s(),y(I(b.myComponent),{"display-theme":u.displayTheme,"onUpdate:configuration":e[0]||(e[0]=h=>b.updateConfiguration(h))},null,40,["display-theme"]))],64)}const H=v(U,[["render",R],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/OpenwbDisplayThemeProxy.vue"]]),J={name:"OpenwbOptionalComponentsView",components:{OpenwbDisplayThemeProxy:H},mixins:[C],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/+/config","openWB/chargepoint/+/get/rfid","openWB/chargepoint/+/get/rfid_timestamp","openWB/chargepoint/+/set/rfid","openWB/optional/rfid/active","openWB/optional/led/active","ToDo/optional/led/instant_blocked","ToDo/optional/led/pv_blocked","ToDo/optional/led/scheduled_blocked","ToDo/optional/led/standby_blocked","ToDo/optional/led/stop_blocked","ToDo/optional/led/instant","ToDo/optional/led/pv","ToDo/optional/led/scheduled","ToDo/optional/led/standby","ToDo/optional/led/stop","openWB/optional/int_display/active","openWB/optional/int_display/standby","openWB/optional/int_display/rotation","openWB/optional/int_display/on_if_plugged_in","openWB/optional/int_display/pin_active","openWB/optional/int_display/pin_code","openWB/optional/int_display/theme","openWB/optional/int_display/only_local_charge_points","openWB/system/configurable/display_themes","openWB/optional/et/active","openWB/optional/et/config/provider","openWB/optional/et/config/max_price"],tempIdTagList:{}}},computed:{idTagList(){return Object.values(this.updateIdTagList())},displayThemeList(){return this.$store.state.mqtt["openWB/system/configurable/display_themes"]},displayThemeGroupList(){let t=[{label:"openWB",options:[]},{label:"Community",options:[]}];return this.displayThemeList.forEach(e=>{e.official===!0?t[0].options.push(e):t[1].options.push(e)}),t}},methods:{getIdFromTopic(t){return t.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,"")},updateIdTagList(){return Object.entries(this.getWildcardTopics("^openWB/chargepoint/[^+/]+/[gs]et/rfid$",!0)).forEach(t=>{t[1]!==null&&(this.tempIdTagList[t[1]]=`${t[1]} (${t[0].includes("/set/")?"zugewiesen":"erfasst"} an ${this.getChargePointName(this.getIdFromTopic(t[0]))})`)}),this.tempIdTagList},getChargePointName(t){return this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"]?this.$store.state.mqtt["openWB/chargepoint/"+t+"/config"].name:"Ladepunkt "+t},getDisplayThemeDefaults(t){const e=this.displayThemeList.find(u=>u.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for display theme type!",t),{})},updateSelectedDisplayTheme(t){this.updateState("openWB/optional/int_display/theme",this.getDisplayThemeDefaults(t))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)}}},G={class:"optionalComponents"},K={name:"optionalComponentsForm"},Z={key:0},Q={key:1},X={key:0},Y=["innerHTML"],ee={key:0},te={key:1},ne={key:2},oe={key:0};function ie(t,e,u,c,w,b){const d=p("openwb-base-alert"),m=p("openwb-base-button-group-input"),f=p("openwb-base-textarea"),h=p("openwb-base-card"),B=p("openwb-base-heading"),D=p("openwb-base-range-input"),W=p("openwb-base-select-input"),k=p("openwb-display-theme-proxy"),$=p("openwb-base-submit-buttons");return s(),r("div",G,[l("form",K,[n(h,{title:"Identifikation"},{default:o(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),r("div",Z,[n(d,{subtype:"info"},{default:o(()=>e[10]||(e[10]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),r("div",Q,[n(m,{title:"Identifikation aktivieren","model-value":t.$store.state.mqtt["openWB/optional/rfid/active"],buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateState("openWB/optional/rfid/active",a))},{help:o(()=>e[11]||(e[11]=[i(" Die Identifikation kann zum Entsperren von Ladepunkten und/oder zur Zuordnung von Fahrzeugen genutzt werden und kann auf mehreren Wegen erfolgen: "),l("ul",null,[l("li",null," Über einen in der openWB verbauten RFID-Reader (optional, z.B. anhand des Lieferscheins prüfen). "),l("li",null," Durch die automatische Erkennung an einer openWB Pro (muss in den Einstellungen aktiviert werden). "),l("li",null,"Durch manuelle Eingabe einer ID am Display einer openWB.")],-1)])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0?(s(),r("div",X,[n(d,{subtype:"info",class:"mb-1"},{default:o(()=>[e[12]||(e[12]=i(" Die ID-Tags müssen in den Einstellungen der Fahrzeuge diesen zugeordnet werden.")),e[13]||(e[13]=l("br",null,null,-1)),e[14]||(e[14]=i(" Es kann zuerst das Fahrzeug angesteckt und dann der ID-Tag erfasst werden oder andersherum. Im letzten Fall muss innerhalb von 5 Minuten ein Fahrzeug angesteckt werden, sonst wird der ID-Tag verworfen.")),e[15]||(e[15]=l("br",null,null,-1)),l("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,Y)]),_:1}),n(f,{title:"Erkannte ID-Tags",readonly:"",disabled:"","model-value":b.idTagList.join(` +`)},{help:o(()=>e[16]||(e[16]=[i(" Solange diese Seite geöffnet ist, werden alle erfassten ID-Tags in dieser Liste aufgeführt. Bei der openWB Pro/Pro+ nur bei angestecktem Fahrzeug. ")])),_:1},8,["model-value"])])):_("",!0)]))]),_:1}),n(h,{title:"Display (intern oder extern)"},{default:o(()=>[n(m,{title:"Integriertes Display","model-value":t.$store.state.mqtt["openWB/optional/int_display/active"],buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateState("openWB/optional/int_display/active",a))},{help:o(()=>e[17]||(e[17]=[i(' Je nach Bestellung kann die openWB mit oder ohne Display geliefert worden sein. Auch die Variante "Standalone" bietet beide Optionen. Bitte prüfe zuerst die Hardwareausstattung deiner openWB (z.B. Lieferschein). ')])),_:1},8,["model-value"]),t.$store.state.mqtt["openWB/optional/int_display/active"]==!0?(s(),r("div",ee,[n(m,{title:"Orientierung","model-value":t.$store.state.mqtt["openWB/optional/int_display/rotation"],buttons:[{buttonValue:0,text:"0°"},{buttonValue:90,text:"90°"},{buttonValue:180,text:"180°"},{buttonValue:270,text:"270°"}],"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateState("openWB/optional/int_display/rotation",a))},{help:o(()=>e[18]||(e[18]=[i(" Mit dieser Einstellung kann das Display im Uhrzeigersinn gedreht werden, falls erforderlich. Nach einer Änderung ist ein Neustart erforderlich!"),l("br",null,null,-1),i(" Diese Einstellung erfordert ein Raspberry Pi Display. Für eine openWB series2 mit integriertem Display muss 0° ausgewählt werden, für eine Standalone mit Display 180°. Anzeigen, welche über HDMI angeschlossen sind, werden nicht unterstützt. ")])),_:1},8,["model-value"]),e[21]||(e[21]=l("hr",null,null,-1)),n(B,null,{default:o(()=>e[19]||(e[19]=[i(" Display Standby ")])),_:1}),n(D,{title:"Ausschaltzeit",min:0,max:12,step:1,"model-value":t.$store.state.mqtt["openWB/optional/int_display/standby"],unit:"Sek",labels:[{label:"Immer an",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:30,value:30},{label:45,value:45},{label:"1 Min",value:60},{label:"1,5 Min",value:90},{label:"2 Min",value:120},{label:"3 Min",value:180},{label:"4 Min",value:240},{label:"5 Min",value:300},{label:"10 Min",value:600}],"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateState("openWB/optional/int_display/standby",a))},{help:o(()=>e[20]||(e[20]=[i(" Hier kann eine Zeitspanne angegeben werden, nach der das Display ausgeschaltet wird. ")])),_:1},8,["model-value"])])):_("",!0),t.$store.state.mqtt["openWB/general/extern"]===!0?(s(),r("div",te,[e[23]||(e[23]=l("hr",null,null,-1)),n(d,{subtype:"info"},{default:o(()=>e[22]||(e[22]=[i(' Weitere Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),r("div",ne,[e[26]||(e[26]=l("hr",null,null,-1)),n(m,{title:"Ladepunkte auf secondary openWB","model-value":t.$store.state.mqtt["openWB/optional/int_display/only_local_charge_points"],buttons:[{buttonValue:!1,text:"Alle",class:"btn-outline-danger"},{buttonValue:!0,text:"Nur Lokale",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=a=>t.updateState("openWB/optional/int_display/only_local_charge_points",a))},{help:o(()=>e[24]||(e[24]=[i(" Hiermit kann festgelegt werden, ob an angebundenen secondary openWB alle oder nur die jeweils lokalen Ladepunkte angezeigt werden sollen. ")])),_:1},8,["model-value"]),e[27]||(e[27]=l("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/int_display/theme"]!==void 0?(s(),r("div",oe,[n(W,{class:"mb-2",title:"Theme des Displays",groups:b.displayThemeGroupList,"model-value":t.$store.state.mqtt["openWB/optional/int_display/theme"].type,"onUpdate:modelValue":e[5]||(e[5]=a=>b.updateSelectedDisplayTheme(a))},{help:o(()=>e[25]||(e[25]=[i(" Hier können unterschiedliche Display-Anzeigen, s.g. Themes, ausgewählt werden. Die Anzahl der Themes wird sich mit zukünftigen Releases erhöhen. ")])),_:1},8,["groups","model-value"]),t.$store.state.mqtt["openWB/optional/int_display/theme"].type?(s(),y(k,{key:0,"display-theme":t.$store.state.mqtt["openWB/optional/int_display/theme"],"onUpdate:configuration":e[6]||(e[6]=a=>b.updateConfiguration("openWB/optional/int_display/theme",a))},null,8,["display-theme"])):_("",!0)])):_("",!0)]))]),_:1}),n($,{"form-name":"optionalComponentsForm",onSave:e[7]||(e[7]=a=>t.$emit("save")),onReset:e[8]||(e[8]=a=>t.$emit("reset")),onDefaults:e[9]||(e[9]=a=>t.$emit("defaults"))})])])}const ae=v(J,[["render",ie],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/OptionalComponents.vue"]]),de=Object.freeze(Object.defineProperty({__proto__:null,default:ae},Symbol.toStringTag,{value:"Module"}));export{M as D,de as O}; diff --git a/web/settings/assets/PVChargeConfig-790ee8d2.js b/web/settings/assets/PVChargeConfig-64465e6d.js similarity index 97% rename from web/settings/assets/PVChargeConfig-790ee8d2.js rename to web/settings/assets/PVChargeConfig-64465e6d.js index 461c9b8808..03de974b78 100644 --- a/web/settings/assets/PVChargeConfig-790ee8d2.js +++ b/web/settings/assets/PVChargeConfig-64465e6d.js @@ -1 +1 @@ -import{C as B}from"./index-3434d31b.js";import{l as S,W as V,a4 as k,a5 as z,F as y}from"./vendor-fortawesome-05d7e447.js";import{_ as E,u as g,k as s,l as u,x as o,G as i,E as a,y as t,F as C,z as _,B as f}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";S.add(V,k,z);const M={name:"OpenwbPVChargeConfigView",components:{FontAwesomeIcon:y},mixins:[B],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/pv_charging/control_range","openWB/general/chargemode_config/pv_charging/feed_in_yield","openWB/general/chargemode_config/pv_charging/switch_on_threshold","openWB/general/chargemode_config/pv_charging/switch_on_delay","openWB/general/chargemode_config/pv_charging/switch_off_threshold","openWB/general/chargemode_config/pv_charging/switch_off_delay","openWB/general/chargemode_config/pv_charging/phases_to_use","openWB/general/chargemode_config/pv_charging/bat_mode","openWB/general/chargemode_config/pv_charging/bat_power_reserve","openWB/general/chargemode_config/pv_charging/bat_power_reserve_active","openWB/general/chargemode_config/pv_charging/bat_power_discharge","openWB/general/chargemode_config/pv_charging/bat_power_discharge_active","openWB/general/chargemode_config/pv_charging/min_bat_soc"],calculatedControlMode:void 0}},computed:{controlMode:{get(){if(this.calculatedControlMode!==void 0)return this.calculatedControlMode;const n="openWB/general/chargemode_config/pv_charging/control_range";let e=this.$store.state.mqtt[n];var p="individual";return typeof e<"u"&&(e[0]===-230&&e[1]===0?p="export":e[0]===0&&e[1]===230?p="import":e[0]===-115&&e[1]===115?p="balanced":p="individual"),p},set(n){const e="openWB/general/chargemode_config/pv_charging/control_range";switch(this.calculatedControlMode=n,n){case"export":this.updateState(e,[-230,0]);break;case"import":this.updateState(e,[0,230]);break;case"balanced":this.updateState(e,[-115,115]);break}}},batMode:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},set(n){this.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",n)}}},watch:{controlMode(n){this.calculatedControlMode=n}}},q={class:"pvChargeConfig"},L={name:"pvChargeConfigForm"},$={key:0},A={key:1},U={key:0},P={key:1},R={key:0},D={key:1},F={key:0};function N(n,e,p,I,G,l){const b=g("openwb-base-alert"),m=g("openwb-base-button-group-input"),d=g("openwb-base-number-input"),c=g("openwb-base-card"),h=g("font-awesome-icon"),w=g("openwb-base-range-input"),v=g("openwb-base-heading"),W=g("openwb-base-submit-buttons");return s(),u("div",q,[o("form",L,[i(c,{title:"Regelparameter"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",$,[i(b,{subtype:"info"},{default:a(()=>e[18]||(e[18]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),u("div",A,[i(m,{modelValue:l.controlMode,"onUpdate:modelValue":e[0]||(e[0]=r=>l.controlMode=r),title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}]},{help:a(()=>e[19]||(e[19]=[t(" Die Ladeleistung kann nicht mit absoluter Genauigkeit eingestellt werden, sodass am EVU-Punkt nicht auf exakt 0W geregelt werden kann. Der Regelmodus legt fest, ob diese Differenz am EVU-Punkt (ca. 200-300W) zu geringem Netzbezug oder geringer Netzeinspeisung führen soll."),o("br",null,null,-1),t(" Bei Speichervorrang erzeugt die Regelung bei Bedarf unabhängig vom eingestellten Regelmodus Einspeisung, damit der Speicher seine Ladeleistung erhöht."),o("br",null,null,-1),t(" Achtung: bei unlogischen Einstellungen kann die Regelung gestört werden! Im Zweifel bitte unsere vordefinierten Modi verwenden. ")])),_:1},8,["modelValue"]),i(d,{disabled:l.controlMode!=="individual",readonly:l.controlMode!=="individual",title:"Minimum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][0]/1e3:void 0,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"0"))},{help:a(()=>e[20]||(e[20]=[t(" Untere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),i(d,{disabled:l.controlMode!=="individual",readonly:l.controlMode!=="individual",title:"Maximum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][1]/1e3:void 0,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"1"))},{help:a(()=>e[21]||(e[21]=[t(" Obere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),e[27]||(e[27]=o("hr",null,null,-1)),i(b,{subtype:"danger"},{default:a(()=>[t(" Die Differenzleistung zw. Ein- und Abschaltschwelle sollte mind. 1.4kW (230V x 6A) betragen. (Konfiguriert: "+C((n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]+n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"])/1e3)+" kW) ",1)]),_:1}),i(d,{title:"Einschaltschwelle",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]/1e3,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_threshold",r*1e3))},{help:a(()=>e[22]||(e[22]=[t(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet."),o("br",null,null,-1),t(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ")])),_:1},8,["model-value"]),i(d,{title:"Einschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_delay"],"onUpdate:modelValue":e[4]||(e[4]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_delay",r))},{help:a(()=>e[23]||(e[23]=[t(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird weiter geladen, wenn die Abschaltschwelle nicht unterschritten wird. ")])),_:1},8,["model-value"]),e[28]||(e[28]=o("hr",null,null,-1)),i(d,{title:"Abschaltschwelle",step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3,"onUpdate:modelValue":e[5]||(e[5]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_threshold",r*1e3))},{help:a(()=>e[24]||(e[24]=[t(" Wird der Regelbereich in Richtung Netzbezug um diese Leistung überschritten, so wird der Ladevorgang beendet. Wenn ein Speicher im System vorhanden ist, gilt die Abschaltschwelle auch für die Speicherentladung. Die Abschaltschwelle übersteuert den Mindest-SoC des Speichers (siehe Speicher-Beachtung unten)."),o("br",null,null,-1),t(" Dieser Wert ist unabhängig von der Anzahl genutzter Phasen. ")])),_:1},8,["model-value"]),i(d,{title:"Abschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_delay"],"onUpdate:modelValue":e[6]||(e[6]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_delay",r))},{help:a(()=>e[25]||(e[25]=[t(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird die Ladung sofort beendet, wenn die Abschaltschwelle unterschritten wird. ")])),_:1},8,["model-value"]),e[29]||(e[29]=o("hr",null,null,-1)),i(d,{title:"Regelpunkt Einspeisegrenze",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[7]||(e[7]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",r*1e3))},{help:a(()=>e[26]||(e[26]=[t(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird."),o("br",null,null,-1),t(" Die Nutzung dieser Option ergibt nur Sinn, wenn ein Wechselrichter mit separatem Smart-Meter am EVU-Punkt verbaut ist (nicht der originale Zähler des Versorgers!), welches eine dynamische Begrenzung der Einspeiseleistung am EVU-Punkt durch den PV-Wechselrichter bietet (bitte bei ev. Problemen immer vorab prüfen lassen)."),o("br",null,null,-1),t(' Ist eine Einspeiseleistungsreduzierung verbaut (in vielen älteren, privaten Einspeiseverträgen z.B. als 70% Regelung bekannt), wird mit Eingabe des Wertes "Regelpunkt Einspeisegrenze" ein eigenverbrauchsoptimiertes Fahrzeugladen mit PV-Überschussenergie möglich, die sonst abgeregelt werden würde (Nutzung der PV-Peaks).'),o("br",null,null,-1),t(' Wird in einem "Ladeprofil" die Option "Einspeisegrenze beachten" eingeschaltet, so wird der Regelpunkt auf diesen Wert verschoben und die Ladung startet erst, wenn der hinterlegte Wert "Regelpunkt Einspeisegrenze" überschritten wird.'),o("br",null,null,-1),t(" Zur optimalen Eigenverbrauchssteuerung sollte der Wert einige hundert Watt UNTER der im Wechselrichter hinterlegten EVU-Einspeiseleistungsgrenze liegen, damit openWB die Ladung freigibt, BEVOR der Wechselrichter begrenzt wird. ")])),_:1},8,["model-value"])]))]),_:1}),i(c,{title:"Phasenumschaltung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",U,[i(b,{subtype:"info"},{default:a(()=>e[30]||(e[30]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),u("div",P,[i(m,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phases_to_use"],"onUpdate:modelValue":e[8]||(e[8]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/phases_to_use",r))},{help:a(()=>e[31]||(e[31]=[t(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "PV-Laden" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um den verfügbaren Überschuss in die Fahrzeuge zu laden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen einer und mehreren Phasen (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),i(c,{title:"Speicher-Beachtung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",R,[i(b,{subtype:"info"},{default:a(()=>e[32]||(e[32]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),u("div",D,[i(m,{modelValue:l.batMode,"onUpdate:modelValue":e[9]||(e[9]=r=>l.batMode=r),title:"Laden mit Überschuss",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}]},{"label-ev_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[33]||(e[33]=t(" Fahrzeuge "))]),"label-bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[34]||(e[34]=t(" Speicher "))]),"label-min_soc_bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[35]||(e[35]=t(" Mindest-SoC des Speichers "))]),help:a(()=>[e[42]||(e[42]=o("p",null,' Sofern ein Hausstromspeicher (im Folgenden "Speicher" genannt) im Energiesystem verbaut ist, kann dieser beim Fahrzeugladen mit berücksichtigt werden. Dies erfolgt passiv über die Berücksichtigung der Speicherleistungswerte und des Speicher-SoC. Eine aktive Speichersteuerung durch openWB ist aktuell mangels Speicherschnittstelle nicht möglich. ',-1)),o("p",null,[e[36]||(e[36]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[37]||(e[37]=t(' Fahrzeuge" wird der gesamte Überschuss in das EV geladen. Ist die maximale Ladeleistung der Fahrzeuge erreicht und es wird eingespeist, wird dieser Überschuss in den Speicher geladen. '))]),o("p",null,[e[38]||(e[38]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[39]||(e[39]=t(' Speicher" wird der gesamte Überschuss in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss unter Beachtung der Einschaltschwelle in die Fahrzeuge geladen. '))]),o("p",null,[e[40]||(e[40]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[41]||(e[41]=t(' Mindest-SoC des Speichers" wird der Überschuss bis zum Mindest-SoC in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss in die Fahrzeuge geladen. Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen. '))])]),_:1},8,["modelValue"]),l.batMode==="min_soc_bat_mode"?(s(),u("div",F,[i(w,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[10]||(e[10]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",r))},null,8,["model-value"]),i(v,null,{default:a(()=>e[43]||(e[43]=[t(" Speicher-SoC unterhalb Mindest-SoC ")])),_:1}),i(m,{title:"Ladeleistung für Speicher reservieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"],"onUpdate:modelValue":e[11]||(e[11]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",r))},{help:a(()=>e[44]||(e[44]=[t(" ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten."),o("br",null,null,-1),t(" Wird der Mindest-SoC des Speichers nicht erreicht, wird der Speicher mit der hier eingestellten Leistung geladen. Mit dem verbleibenden Überschuss werden die Fahrzeuge geladen. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(s(),_(d,{key:0,title:"Reserve Ladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[12]||(e[12]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",r*1e3))},null,8,["model-value"])):f("",!0),i(v,null,{default:a(()=>e[45]||(e[45]=[t(" Speicher-SoC oberhalb Mindest-SoC ")])),_:1}),i(m,{title:"Entladung des Speichers erlauben",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"],"onUpdate:modelValue":e[13]||(e[13]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",r))},{help:a(()=>e[46]||(e[46]=[t(" Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen und der Speicher mit der hier eingestellten Leistung in die Fahrzeuge entladen. Die Entladeleistung des Speichers wird dem Überschuss zum Erreichen der Einschaltschwelle hinzugerechnet. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(s(),_(d,{key:1,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[14]||(e[14]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",r*1e3))},null,8,["model-value"])):f("",!0)])):f("",!0)]))]),_:1}),i(W,{"form-name":"pvChargeConfigForm",onSave:e[15]||(e[15]=r=>n.$emit("save")),onReset:e[16]||(e[16]=r=>n.$emit("reset")),onDefaults:e[17]||(e[17]=r=>n.$emit("defaults"))})])])}const j=E(M,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/PVChargeConfig.vue"]]);export{j as default}; +import{C as B}from"./index-6ffbdc7e.js";import{l as S,W as V,a4 as k,a5 as z,F as y}from"./vendor-fortawesome-231ff303.js";import{_ as E,u as g,l as s,m as u,x as o,G as i,E as a,y as t,F as C,z as _,B as f}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";S.add(V,k,z);const M={name:"OpenwbPVChargeConfigView",components:{FontAwesomeIcon:y},mixins:[B],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/pv_charging/control_range","openWB/general/chargemode_config/pv_charging/feed_in_yield","openWB/general/chargemode_config/pv_charging/switch_on_threshold","openWB/general/chargemode_config/pv_charging/switch_on_delay","openWB/general/chargemode_config/pv_charging/switch_off_threshold","openWB/general/chargemode_config/pv_charging/switch_off_delay","openWB/general/chargemode_config/pv_charging/phases_to_use","openWB/general/chargemode_config/pv_charging/bat_mode","openWB/general/chargemode_config/pv_charging/bat_power_reserve","openWB/general/chargemode_config/pv_charging/bat_power_reserve_active","openWB/general/chargemode_config/pv_charging/bat_power_discharge","openWB/general/chargemode_config/pv_charging/bat_power_discharge_active","openWB/general/chargemode_config/pv_charging/min_bat_soc"],calculatedControlMode:void 0}},computed:{controlMode:{get(){if(this.calculatedControlMode!==void 0)return this.calculatedControlMode;const n="openWB/general/chargemode_config/pv_charging/control_range";let e=this.$store.state.mqtt[n];var p="individual";return typeof e<"u"&&(e[0]===-230&&e[1]===0?p="export":e[0]===0&&e[1]===230?p="import":e[0]===-115&&e[1]===115?p="balanced":p="individual"),p},set(n){const e="openWB/general/chargemode_config/pv_charging/control_range";switch(this.calculatedControlMode=n,n){case"export":this.updateState(e,[-230,0]);break;case"import":this.updateState(e,[0,230]);break;case"balanced":this.updateState(e,[-115,115]);break}}},batMode:{get(){return this.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_mode"]},set(n){this.updateState("openWB/general/chargemode_config/pv_charging/bat_mode",n)}}},watch:{controlMode(n){this.calculatedControlMode=n}}},q={class:"pvChargeConfig"},L={name:"pvChargeConfigForm"},$={key:0},A={key:1},U={key:0},P={key:1},R={key:0},D={key:1},F={key:0};function N(n,e,p,I,G,l){const b=g("openwb-base-alert"),m=g("openwb-base-button-group-input"),d=g("openwb-base-number-input"),c=g("openwb-base-card"),h=g("font-awesome-icon"),w=g("openwb-base-range-input"),v=g("openwb-base-heading"),W=g("openwb-base-submit-buttons");return s(),u("div",q,[o("form",L,[i(c,{title:"Regelparameter"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",$,[i(b,{subtype:"info"},{default:a(()=>e[18]||(e[18]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),u("div",A,[i(m,{modelValue:l.controlMode,"onUpdate:modelValue":e[0]||(e[0]=r=>l.controlMode=r),title:"Regelmodus",buttons:[{buttonValue:"export",text:"Einspeisung"},{buttonValue:"import",text:"Bezug"},{buttonValue:"balanced",text:"Ausgewogen"},{buttonValue:"individual",text:"Individuell"}]},{help:a(()=>e[19]||(e[19]=[t(" Die Ladeleistung kann nicht mit absoluter Genauigkeit eingestellt werden, sodass am EVU-Punkt nicht auf exakt 0W geregelt werden kann. Der Regelmodus legt fest, ob diese Differenz am EVU-Punkt (ca. 200-300W) zu geringem Netzbezug oder geringer Netzeinspeisung führen soll."),o("br",null,null,-1),t(" Bei Speichervorrang erzeugt die Regelung bei Bedarf unabhängig vom eingestellten Regelmodus Einspeisung, damit der Speicher seine Ladeleistung erhöht."),o("br",null,null,-1),t(" Achtung: bei unlogischen Einstellungen kann die Regelung gestört werden! Im Zweifel bitte unsere vordefinierten Modi verwenden. ")])),_:1},8,["modelValue"]),i(d,{disabled:l.controlMode!=="individual",readonly:l.controlMode!=="individual",title:"Minimum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][0]/1e3:void 0,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"0"))},{help:a(()=>e[20]||(e[20]=[t(" Untere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),i(d,{disabled:l.controlMode!=="individual",readonly:l.controlMode!=="individual",title:"Maximum",step:.005,unit:"kW",required:"","model-value":Array.isArray(n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"])?n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/control_range"][1]/1e3:void 0,"onUpdate:modelValue":e[2]||(e[2]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/control_range",r*1e3,"1"))},{help:a(()=>e[21]||(e[21]=[t(" Obere Grenze des Regelbereichs. ")])),_:1},8,["disabled","readonly","model-value"]),e[27]||(e[27]=o("hr",null,null,-1)),i(b,{subtype:"danger"},{default:a(()=>[t(" Die Differenzleistung zw. Ein- und Abschaltschwelle sollte mind. 1.4kW (230V x 6A) betragen. (Konfiguriert: "+C((n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]+n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"])/1e3)+" kW) ",1)]),_:1}),i(d,{title:"Einschaltschwelle",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_threshold"]/1e3,"onUpdate:modelValue":e[3]||(e[3]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_threshold",r*1e3))},{help:a(()=>e[22]||(e[22]=[t(" Wird der Regelbereich in Richtung Einspeisung um diese Leistung überschritten, so wird der Ladevorgang gestartet."),o("br",null,null,-1),t(" Dieser Wert wird pro Phase genutzt und ist daher immer für eine Phase anzugeben. ")])),_:1},8,["model-value"]),i(d,{title:"Einschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_on_delay"],"onUpdate:modelValue":e[4]||(e[4]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_on_delay",r))},{help:a(()=>e[23]||(e[23]=[t(" Die Einschaltschwelle muss für die hier angegebene Zeit dauerhaft überschritten werden, bevor ein Ladevorgang gestartet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird weiter geladen, wenn die Abschaltschwelle nicht unterschritten wird. ")])),_:1},8,["model-value"]),e[28]||(e[28]=o("hr",null,null,-1)),i(d,{title:"Abschaltschwelle",step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_threshold"]/1e3,"onUpdate:modelValue":e[5]||(e[5]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_threshold",r*1e3))},{help:a(()=>e[24]||(e[24]=[t(" Wird der Regelbereich in Richtung Netzbezug um diese Leistung überschritten, so wird der Ladevorgang beendet. Wenn ein Speicher im System vorhanden ist, gilt die Abschaltschwelle auch für die Speicherentladung. Die Abschaltschwelle übersteuert den Mindest-SoC des Speichers (siehe Speicher-Beachtung unten)."),o("br",null,null,-1),t(" Dieser Wert ist unabhängig von der Anzahl genutzter Phasen. ")])),_:1},8,["model-value"]),i(d,{title:"Abschaltverzögerung",min:0,step:1,unit:"s",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/switch_off_delay"],"onUpdate:modelValue":e[6]||(e[6]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/switch_off_delay",r))},{help:a(()=>e[25]||(e[25]=[t(" Die Abschaltschwelle muss für die hier angegebene Zeit dauerhaft unterschritten werden, bevor ein Ladevorgang beendet wird."),o("br",null,null,-1),t(" Wenn ein Ladevorgang aktiv ist und auf PV-Laden umgeschaltet wird, wird die Ladung sofort beendet, wenn die Abschaltschwelle unterschritten wird. ")])),_:1},8,["model-value"]),e[29]||(e[29]=o("hr",null,null,-1)),i(d,{title:"Regelpunkt Einspeisegrenze",min:0,step:.05,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/feed_in_yield"]/1e3,"onUpdate:modelValue":e[7]||(e[7]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/feed_in_yield",r*1e3))},{help:a(()=>e[26]||(e[26]=[t(" Ein Wert größer 0kW bewirkt, dass weniger PV-Leistung zum Laden benutzt wird."),o("br",null,null,-1),t(" Die Nutzung dieser Option ergibt nur Sinn, wenn ein Wechselrichter mit separatem Smart-Meter am EVU-Punkt verbaut ist (nicht der originale Zähler des Versorgers!), welches eine dynamische Begrenzung der Einspeiseleistung am EVU-Punkt durch den PV-Wechselrichter bietet (bitte bei ev. Problemen immer vorab prüfen lassen)."),o("br",null,null,-1),t(' Ist eine Einspeiseleistungsreduzierung verbaut (in vielen älteren, privaten Einspeiseverträgen z.B. als 70% Regelung bekannt), wird mit Eingabe des Wertes "Regelpunkt Einspeisegrenze" ein eigenverbrauchsoptimiertes Fahrzeugladen mit PV-Überschussenergie möglich, die sonst abgeregelt werden würde (Nutzung der PV-Peaks).'),o("br",null,null,-1),t(' Wird in einem "Ladeprofil" die Option "Einspeisegrenze beachten" eingeschaltet, so wird der Regelpunkt auf diesen Wert verschoben und die Ladung startet erst, wenn der hinterlegte Wert "Regelpunkt Einspeisegrenze" überschritten wird.'),o("br",null,null,-1),t(" Zur optimalen Eigenverbrauchssteuerung sollte der Wert einige hundert Watt UNTER der im Wechselrichter hinterlegten EVU-Einspeiseleistungsgrenze liegen, damit openWB die Ladung freigibt, BEVOR der Wechselrichter begrenzt wird. ")])),_:1},8,["model-value"])]))]),_:1}),i(c,{title:"Phasenumschaltung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",U,[i(b,{subtype:"info"},{default:a(()=>e[30]||(e[30]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),u("div",P,[i(m,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/phases_to_use"],"onUpdate:modelValue":e[8]||(e[8]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/phases_to_use",r))},{help:a(()=>e[31]||(e[31]=[t(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "PV-Laden" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um den verfügbaren Überschuss in die Fahrzeuge zu laden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen einer und mehreren Phasen (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),i(c,{title:"Speicher-Beachtung"},{default:a(()=>[n.$store.state.mqtt["openWB/general/extern"]===!0?(s(),u("div",R,[i(b,{subtype:"info"},{default:a(()=>e[32]||(e[32]=[t(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(s(),u("div",D,[i(m,{modelValue:l.batMode,"onUpdate:modelValue":e[9]||(e[9]=r=>l.batMode=r),title:"Laden mit Überschuss",buttons:[{buttonValue:"ev_mode"},{buttonValue:"bat_mode"},{buttonValue:"min_soc_bat_mode"}]},{"label-ev_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[33]||(e[33]=t(" Fahrzeuge "))]),"label-bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[34]||(e[34]=t(" Speicher "))]),"label-min_soc_bat_mode":a(()=>[i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[35]||(e[35]=t(" Mindest-SoC des Speichers "))]),help:a(()=>[e[42]||(e[42]=o("p",null,' Sofern ein Hausstromspeicher (im Folgenden "Speicher" genannt) im Energiesystem verbaut ist, kann dieser beim Fahrzeugladen mit berücksichtigt werden. Dies erfolgt passiv über die Berücksichtigung der Speicherleistungswerte und des Speicher-SoC. Eine aktive Speichersteuerung durch openWB ist aktuell mangels Speicherschnittstelle nicht möglich. ',-1)),o("p",null,[e[36]||(e[36]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","car-side"]}),e[37]||(e[37]=t(' Fahrzeuge" wird der gesamte Überschuss in das EV geladen. Ist die maximale Ladeleistung der Fahrzeuge erreicht und es wird eingespeist, wird dieser Überschuss in den Speicher geladen. '))]),o("p",null,[e[38]||(e[38]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-car-battery"]}),e[39]||(e[39]=t(' Speicher" wird der gesamte Überschuss in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss unter Beachtung der Einschaltschwelle in die Fahrzeuge geladen. '))]),o("p",null,[e[40]||(e[40]=t(' Bei Auswahl " ')),i(h,{"fixed-width":"",icon:["fas","fa-battery-half"]}),e[41]||(e[41]=t(' Mindest-SoC des Speichers" wird der Überschuss bis zum Mindest-SoC in den Speicher geladen. Ist die maximale Ladeleistung des Speichers erreicht und es wird eingespeist, wird dieser Überschuss in die Fahrzeuge geladen. Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen. '))])]),_:1},8,["modelValue"]),l.batMode==="min_soc_bat_mode"?(s(),u("div",F,[i(w,{title:"Mindest-SoC des Speichers",min:0,max:100,step:1,unit:"%",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/min_bat_soc"],"onUpdate:modelValue":e[10]||(e[10]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/min_bat_soc",r))},null,8,["model-value"]),i(v,null,{default:a(()=>e[43]||(e[43]=[t(" Speicher-SoC unterhalb Mindest-SoC ")])),_:1}),i(m,{title:"Ladeleistung für Speicher reservieren",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"],"onUpdate:modelValue":e[11]||(e[11]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve_active",r))},{help:a(()=>e[44]||(e[44]=[t(" ACHTUNG: Der hier eingestellte Wert darf die maximale Ladeleistung des Speichers nicht überschreiten."),o("br",null,null,-1),t(" Wird der Mindest-SoC des Speichers nicht erreicht, wird der Speicher mit der hier eingestellten Leistung geladen. Mit dem verbleibenden Überschuss werden die Fahrzeuge geladen. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve_active"]?(s(),_(d,{key:0,title:"Reserve Ladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_reserve"]/1e3,"onUpdate:modelValue":e[12]||(e[12]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_reserve",r*1e3))},null,8,["model-value"])):f("",!0),i(v,null,{default:a(()=>e[45]||(e[45]=[t(" Speicher-SoC oberhalb Mindest-SoC ")])),_:1}),i(m,{title:"Entladung des Speichers erlauben",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"],"onUpdate:modelValue":e[13]||(e[13]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge_active",r))},{help:a(()=>e[46]||(e[46]=[t(" Wird der Mindest-SoC überschritten, wird der Überschuss ins Fahrzeug geladen und der Speicher mit der hier eingestellten Leistung in die Fahrzeuge entladen. Die Entladeleistung des Speichers wird dem Überschuss zum Erreichen der Einschaltschwelle hinzugerechnet. ")])),_:1},8,["model-value"]),n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge_active"]?(s(),_(d,{key:1,title:"Erlaubte Entladeleistung",min:.1,step:.1,unit:"kW",required:"","model-value":n.$store.state.mqtt["openWB/general/chargemode_config/pv_charging/bat_power_discharge"]/1e3,"onUpdate:modelValue":e[14]||(e[14]=r=>n.updateState("openWB/general/chargemode_config/pv_charging/bat_power_discharge",r*1e3))},null,8,["model-value"])):f("",!0)])):f("",!0)]))]),_:1}),i(W,{"form-name":"pvChargeConfigForm",onSave:e[15]||(e[15]=r=>n.$emit("save")),onReset:e[16]||(e[16]=r=>n.$emit("reset")),onDefaults:e[17]||(e[17]=r=>n.$emit("defaults"))})])])}const j=E(M,[["render",N],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/PVChargeConfig.vue"]]);export{j as default}; diff --git a/web/settings/assets/ScheduledChargeConfig-9e3cdd82.js b/web/settings/assets/ScheduledChargeConfig-a5175cba.js similarity index 90% rename from web/settings/assets/ScheduledChargeConfig-9e3cdd82.js rename to web/settings/assets/ScheduledChargeConfig-a5175cba.js index adaf643dab..21a6281fff 100644 --- a/web/settings/assets/ScheduledChargeConfig-9e3cdd82.js +++ b/web/settings/assets/ScheduledChargeConfig-a5175cba.js @@ -1 +1 @@ -import{C as p}from"./index-3434d31b.js";import{_ as h,u as s,k as i,l as u,x as b,G as o,E as a,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";const c={name:"OpenwbScheduledChargeConfigView",mixins:[p],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/scheduled_charging/phases_to_use","openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"]}}},_={class:"scheduledChargeConfig"},f={name:"scheduledChargeConfigForm"},v={key:0},w={key:1};function k(t,e,C,V,B,$){const l=s("openwb-base-alert"),d=s("openwb-base-button-group-input"),g=s("openwb-base-card"),m=s("openwb-base-submit-buttons");return i(),u("div",_,[b("form",f,[o(g,{title:"Phasenumschaltung"},{default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u("div",v,[o(l,{subtype:"info"},{default:a(()=>e[5]||(e[5]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),u("div",w,[o(d,{title:"Anzahl Phasen Zielladen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use",n))},{help:a(()=>e[6]||(e[6]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"]),o(d,{title:"Anzahl Phasen bei PV-Überschuss",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv",n))},{help:a(()=>e[7]||(e[7]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" bei Laden mit PV-Überschuss mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),o(m,{"form-name":"scheduledChargeConfigForm",onSave:e[2]||(e[2]=n=>t.$emit("save")),onReset:e[3]||(e[3]=n=>t.$emit("reset")),onDefaults:e[4]||(e[4]=n=>t.$emit("defaults"))})])])}const P=h(c,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ScheduledChargeConfig.vue"]]);export{P as default}; +import{C as p}from"./index-6ffbdc7e.js";import{_ as h,u as s,l as i,m as u,x as b,G as o,E as a,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const c={name:"OpenwbScheduledChargeConfigView",mixins:[p],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/scheduled_charging/phases_to_use","openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"]}}},_={class:"scheduledChargeConfig"},f={name:"scheduledChargeConfigForm"},v={key:0},w={key:1};function k(t,e,C,V,B,$){const l=s("openwb-base-alert"),d=s("openwb-base-button-group-input"),g=s("openwb-base-card"),m=s("openwb-base-submit-buttons");return i(),u("div",_,[b("form",f,[o(g,{title:"Phasenumschaltung"},{default:a(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),u("div",v,[o(l,{subtype:"info"},{default:a(()=>e[5]||(e[5]=[r(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),u("div",w,[o(d,{title:"Anzahl Phasen Zielladen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use",n))},{help:a(()=>e[6]||(e[6]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"]),o(d,{title:"Anzahl Phasen bei PV-Überschuss",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"},{buttonValue:0,text:"Automatik"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateState("openWB/general/chargemode_config/scheduled_charging/phases_to_use_pv",n))},{help:a(()=>e[7]||(e[7]=[r(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zielladen" bei Laden mit PV-Überschuss mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Im Modus "Automatik" entscheidet die Regelung, welche Einstellung genutzt wird, um das Ziel zu erreichen. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),o(m,{"form-name":"scheduledChargeConfigForm",onSave:e[2]||(e[2]=n=>t.$emit("save")),onReset:e[3]||(e[3]=n=>t.$emit("reset")),onDefaults:e[4]||(e[4]=n=>t.$emit("defaults"))})])])}const P=h(c,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/ScheduledChargeConfig.vue"]]);export{P as default}; diff --git a/web/settings/assets/Status-2d9a7ca5.js b/web/settings/assets/Status-50b20d4f.js similarity index 98% rename from web/settings/assets/Status-2d9a7ca5.js rename to web/settings/assets/Status-50b20d4f.js index 63aafd85b4..81a02a313e 100644 --- a/web/settings/assets/Status-2d9a7ca5.js +++ b/web/settings/assets/Status-50b20d4f.js @@ -1 +1 @@ -import{C as f}from"./index-3434d31b.js";import{l as w,K as q,F as T,L as x,M as W,c as k,N as E,O as M,P as R,Q as D,R as G,S as H,T as Z,U as K,V as I,W as F,X as J,Y as U,Z as Q}from"./vendor-fortawesome-05d7e447.js";import{_ as y,u as l,k as r,z as b,E as i,G as c,y as m,x as e,F as a,l as n,q as S,B,N,M as $}from"./vendor-06e11d0e.js";import{C as X,p as Y,a as ee,L as te,b as se,P as oe,c as ae,T as ie,i as re,d as ce,e as ne}from"./vendor-chartjs-888a84c2.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./vendor-luxon-8ddd27a0.js";w.add(q);const le={name:"ChargePointSumCard",components:{FontAwesomeIcon:T},mixins:[f],computed:{baseTopic:{get(){return"openWB/chargepoint"}}}},de={class:"text-right"},pe={class:"row"},ue={class:"col text-right text-monospace"},he={class:"row"},me={class:"col-4 text-right text-monospace"},ge={class:"col-4 text-right text-monospace"},be={class:"row"},_e={class:"col-4 text-right text-monospace"},ve={class:"col-4 text-right text-monospace"};function fe(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card");return r(),b(d,{subtype:"primary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","charging-station"]}),o[0]||(o[0]=m(" Alle Ladepunkte "))]),actions:i(()=>[e("span",de,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),default:i(()=>[c(d,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row py-2"},[e("div",{class:"col font-weight-bold"},"Ladevorgang"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",pe,[e("div",ue,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001)),1)])]),_:1}),c(d,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:i(()=>[o[4]||(o[4]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",he,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",me,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001)+" kWh"),1),e("div",ge,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001)+" kWh"),1)]),e("div",be,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",_e,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001)+" kWh"),1),e("div",ve,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001)+" kWh"),1)])]),_:1})]),_:1})}const ye=y(le,[["render",fe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);w.add(x,W,k,q,E,M,R,D,G,H,Z);const we={name:"ChargePointCard",components:{FontAwesomeIcon:T},mixins:[f],props:{installedChargePointKey:{type:String,required:!0},installedChargePoint:{type:Object,required:!0}},computed:{chargePointIndex:{get(){return parseInt(this.installedChargePointKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},baseTopic:{get(){return"openWB/chargepoint/"+this.chargePointIndex}},chargingStatus:{get(){let t=this.chargePointIndex,o=this.$store.state.mqtt["openWB/chargepoint/"+t+"/get/plug_state"],u=this.$store.state.mqtt["openWB/chargepoint/"+t+"/get/charge_state"];return o==1&&u==1?{icon:["fas","plug-circle-bolt"],text:"Fahrzeug angesteckt, Ladevorgang aktiv"}:o==1?{icon:["fas","plug-circle-check"],text:"Fahrzeug angesteckt, kein Ladevorgang aktiv"}:{icon:["fas","plug-circle-minus"],text:"Kein Fahrzeug angesteckt"}}}}},Te={key:0,class:"text-right"},xe={key:0},We={key:1},ke={class:"row py-2"},Se={class:"col text-right"},Be={style:{"white-space":"pre-wrap"}},Ce={class:"row"},Ne={class:"col text-right text-monospace"},$e={class:"col text-right text-monospace"},Pe={class:"row"},qe={key:0,class:"col text-right text-monospace"},Ie={key:1,class:"col text-right text-monospace"},Fe={class:"col text-right text-monospace"},Ae={class:"row"},Le={class:"col-4 text-right text-monospace"},je={class:"col-4 text-right text-monospace"},Oe={class:"row"},Ve={class:"col-4 text-right text-monospace"},ze={class:"col-4 text-right text-monospace"},Ee={class:"row"},Me={class:"col text-right text-monospace"},Re={class:"col text-right text-monospace"},De={class:"col text-right text-monospace"},Ge={class:"row"},He={class:"col text-right text-monospace"},Ze={class:"col text-right text-monospace"},Ke={class:"col text-right text-monospace"},Je={class:"row"},Ue={class:"col text-right text-monospace"},Qe={class:"col text-right text-monospace"},Xe={class:"col text-right text-monospace"},Ye={class:"row"},et={class:"col text-right text-monospace"},tt={class:"col text-right text-monospace"},st={class:"col text-right text-monospace"},ot={class:"row"},at={class:"col text-center text-monospace"},it={class:"container"},rt={class:"row"},ct={class:"col px-0"},nt={style:{"white-space":"pre-wrap"}},lt={class:"col col-auto pr-0"},dt={class:"text-right"};function pt(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-alert"),h=l("openwb-base-card");return r(),b(h,{subtype:"primary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","charging-station"]}),m(" "+a(u.installedChargePoint.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",Te,[m(a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),c(p,{"fixed-width":"",icon:s.chargingStatus.icon,title:s.chargingStatus.text},null,8,["icon","title"])])):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",xe,"Warnung")):(r(),n("div",We,"Fehler"))],2))]),footer:i(()=>[e("div",it,[e("div",rt,[e("div",ct,[c(d,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[12]||(o[12]=m(" Modulmeldung: ")),e("span",nt,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",lt,[e("div",dt,"ID: "+a(s.chargePointIndex),1)])])])]),default:i(()=>[c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",ke,[o[0]||(o[0]=e("div",{class:"col col-auto font-weight-bold"},"Status",-1)),e("div",Se,[c(p,{"fixed-width":"",icon:s.chargingStatus.icon,title:s.chargingStatus.text},null,8,["icon","title"]),m(" "+a(s.chargingStatus.text),1)])]),c(d,{subtype:"info"},{default:i(()=>[o[1]||(o[1]=m(" Statusmeldung: ")),e("span",Be,a(t.$store.state.mqtt[s.baseTopic+"/get/state_str"]),1)]),_:1}),m(" max. Ladeleistung: "+a((t.max_power=t.formatNumberTopic("openWB/chargepoint/"+s.chargePointIndex+"/get/max_evse_current",0))=="-"?t.max_power:Math.floor(t.max_power*3*230/1e3))+" kW ",1)]),_:1}),c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Ladevorgang"},{default:i(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Ladestrom Vorgabe"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",Ce,[e("div",Ne,a(t.formatNumberTopic(s.baseTopic+"/set/current",2))+" A",1),e("div",$e,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Phasen Vorgabe"),e("div",{class:"col text-right"},"Phasen Aktuell")],-1)),e("div",Pe,[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),n("div",qe,a(t.formatNumberTopic("openWB/internal_chargepoint/"+s.chargePointIndex+"/data/phases_to_use")),1)):(r(),n("div",Ie,a(t.formatNumberTopic(s.baseTopic+"/set/phases_to_use")),1)),e("div",Fe,a(t.formatNumberTopic(s.baseTopic+"/get/phases_in_use")),1)])]),_:1}),c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:i(()=>[o[6]||(o[6]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",Ae,[o[4]||(o[4]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Le,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",je,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Oe,[o[5]||(o[5]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ve,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",ze,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Werte pro Phase"},{default:i(()=>[e("div",Ee,[o[7]||(o[7]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Spannung [V]",-1)),e("div",Me,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Re,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",De,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[2]),1)]),e("div",Ge,[o[8]||(o[8]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Strom [A]",-1)),e("div",He,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",Ze,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",Ke,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[2]),1)]),e("div",Je,[o[9]||(o[9]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",Ue,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",Qe,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",Xe,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)]),e("div",Ye,[o[10]||(o[10]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",et,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",tt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",st,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)]),e("div",ot,[o[11]||(o[11]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Netzfrequenz",-1)),e("div",at,a(t.formatNumberTopic(s.baseTopic+"/get/frequency",3))+" Hz ",1)])]),_:1})]),_:1})}const ut=y(we,[["render",pt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);w.add(x,W,k,K);const ht={name:"CounterCard",components:{FontAwesomeIcon:T},mixins:[f],props:{counter:{type:Object,required:!0}},computed:{baseTopic:{get(){return"openWB/counter/"+this.counter.id}}}},mt={key:0,class:"text-right"},gt={key:0},bt={key:1},_t={class:"row"},vt={class:"col text-right text-monospace pl-0"},ft={class:"col text-right text-monospace pl-0"},yt={class:"row"},wt={class:"col text-right text-monospace pl-0"},Tt={class:"col text-right text-monospace pl-0"},xt={class:"row"},Wt={class:"col"},kt={class:"row"},St={class:"col text-right text-monospace pl-0"},Bt={class:"col text-right text-monospace pl-0"},Ct={class:"col text-right text-monospace pl-0"},Nt={class:"row"},$t={class:"col"},Pt={class:"row"},qt={class:"col text-right text-monospace pl-0"},It={class:"col text-right text-monospace pl-0"},Ft={class:"col text-right text-monospace pl-0"},At={class:"row"},Lt={class:"col"},jt={class:"row"},Ot={class:"col text-right text-monospace pl-0"},Vt={class:"col text-right text-monospace pl-0"},zt={class:"col text-right text-monospace pl-0"},Et={class:"row"},Mt={class:"col"},Rt={class:"row"},Dt={class:"col text-right text-monospace pl-0"},Gt={class:"col text-right text-monospace pl-0"},Ht={class:"col text-right text-monospace pl-0"},Zt={class:"container"},Kt={class:"row"},Jt={class:"col px-0"},Ut={style:{"white-space":"pre-wrap"}},Qt={class:"col col-auto pr-0"},Xt={class:"text-right"};function Yt(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"danger",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","gauge-high"]}),m(" "+a(u.counter.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",mt,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",gt,"Warnung")):(r(),n("div",bt,"Fehler"))],2))]),footer:i(()=>[e("div",Zt,[e("div",Kt,[e("div",Jt,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[6]||(o[6]=m(" Modulmeldung: ")),e("span",Ut,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",Qt,[e("div",Xt,"ID: "+a(u.counter.id),1)])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Netzfrequenz")],-1)),e("div",_t,[e("div",vt,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001)+" kW"),1),e("div",ft,a(t.formatNumberTopic(s.baseTopic+"/get/frequency",3)+" Hz"),1)])]),_:1}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Export"),e("div",{class:"col-6 text-right"},"Import")],-1)),e("div",yt,[e("div",wt,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001)+" kWh"),1),e("div",Tt,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001)+" kWh"),1)])]),_:1}),c(d,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",xt,[o[2]||(o[2]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Spannung [V]",-1)),e("div",Wt,[e("div",kt,[e("div",St,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Bt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",Ct,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[2]),1)])])]),e("div",Nt,[o[3]||(o[3]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),e("div",$t,[e("div",Pt,[e("div",qt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",It,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",Ft,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[2]),1)])])]),e("div",At,[o[4]||(o[4]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",Lt,[e("div",jt,[e("div",Ot,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",Vt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",zt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)])])]),e("div",Et,[o[5]||(o[5]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",Mt,[e("div",Rt,[e("div",Dt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",Gt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",Ht,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)])])])]),_:1})]),_:1})}const es=y(ht,[["render",Yt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);w.add(x,W,k,I);const ts={name:"InverterSumCard",components:{FontAwesomeIcon:T},mixins:[f],computed:{baseTopic:{get(){return"openWB/pv"}}}},ss={key:0,class:"text-right"},os={key:0},as={key:1},is={class:"row"},rs={class:"col text-right text-monospace"},cs={class:"col text-right text-monospace"},ns={class:"row"},ls={class:"col text-right text-monospace"},ds={class:"col text-right text-monospace"},ps={class:"col text-right text-monospace"},us={class:"container"},hs={class:"row"},ms={class:"col px-0"},gs={style:{"white-space":"pre-wrap"}};function bs(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"success",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","solar-panel"]}),o[0]||(o[0]=m(" Alle Wechselrichter "))]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",ss,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",os,"Warnung")):(r(),n("div",as,"Fehler"))],2))]),footer:i(()=>[e("div",us,[e("div",hs,[e("div",ms,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[3]||(o[3]=m(" Modulmeldung: ")),e("span",gs,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",is,[e("div",rs,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",cs,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),c(d,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",ns,[e("div",ls,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",ds,a(t.formatNumberTopic(s.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",ps,a(t.formatNumberTopic(s.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1})}const _s=y(ts,[["render",bs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);w.add(x,W,k,I);const vs={name:"InverterCard",components:{FontAwesomeIcon:T},mixins:[f],props:{inverter:{type:Object,required:!0}},computed:{baseTopic:{get(){return"openWB/pv/"+this.inverter.id}}}},fs={key:0,class:"text-right"},ys={key:0},ws={key:1},Ts={class:"row"},xs={class:"col text-right text-monospace"},Ws={class:"col text-right text-monospace"},ks={class:"row"},Ss={class:"col text-right text-monospace"},Bs={class:"col text-right text-monospace"},Cs={class:"col text-right text-monospace"},Ns={class:"container"},$s={class:"row"},Ps={class:"col px-0"},qs={style:{"white-space":"pre-wrap"}},Is={class:"col col-auto pr-0"},Fs={class:"text-right"};function As(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"success",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","solar-panel"]}),m(" "+a(u.inverter.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",fs,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",ys,"Warnung")):(r(),n("div",ws,"Fehler"))],2))]),footer:i(()=>[e("div",Ns,[e("div",$s,[e("div",Ps,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[2]||(o[2]=m(" Modulmeldung: ")),e("span",qs,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",Is,[e("div",Fs,"ID: "+a(u.inverter.id),1)])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",Ts,[e("div",xs,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",Ws,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),c(d,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",ks,[e("div",Ss,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",Bs,a(t.formatNumberTopic(s.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",Cs,a(t.formatNumberTopic(s.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1})}const Ls=y(vs,[["render",As],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);w.add(x,W,k,F);const js={name:"BatterySumCard",components:{FontAwesomeIcon:T},mixins:[f],computed:{baseTopic:{get(){return"openWB/bat"}}}},Os={key:0,class:"text-right"},Vs={key:0},zs={key:1},Es={class:"row"},Ms={class:"col text-right text-monospace pl-0"},Rs={class:"col text-right text-monospace pl-0"},Ds={class:"row"},Gs={class:"col text-right text-monospace"},Hs={class:"col text-right text-monospace"},Zs={class:"row"},Ks={class:"col text-right text-monospace"},Js={class:"col text-right text-monospace"},Us={style:{"white-space":"pre-wrap"}};function Qs(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"warning",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","car-battery"]}),o[0]||(o[0]=m(" Alle Speicher "))]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",Os,a(t.formatNumberTopic(s.baseTopic+"/get/power",1,1,.001))+" kW / "+a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" % ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",Vs,"Warnung")):(r(),n("div",zs,"Fehler"))],2))]),footer:i(()=>[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[5]||(o[5]=m(" Modulmeldung: ")),e("span",Us,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",Es,[e("div",Ms,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",Rs,a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" %",1)])]),_:1}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[4]||(o[4]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",Ds,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Gs,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",Hs,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Zs,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ks,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",Js,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1})}const Xs=y(js,[["render",Qs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);w.add(x,W,k,F);const Ys={name:"BatteryCard",components:{FontAwesomeIcon:T},mixins:[f],props:{battery:{type:Object,required:!0}},computed:{baseTopic:{get(){return"openWB/bat/"+this.battery.id}}}},eo={key:0,class:"text-right"},to={key:0},so={key:1},oo={class:"row"},ao={class:"col text-right text-monospace pl-0"},io={class:"col text-right text-monospace pl-0"},ro={class:"row"},co={class:"col text-right text-monospace"},no={class:"col text-right text-monospace"},lo={class:"row"},po={class:"col text-right text-monospace"},uo={class:"col text-right text-monospace"},ho={class:"container"},mo={class:"row"},go={class:"col px-0"},bo={style:{"white-space":"pre-wrap"}},_o={class:"col col-auto pr-0"},vo={class:"text-right"};function fo(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"warning",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","car-battery"]}),m(" "+a(u.battery.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",eo,a(t.formatNumberTopic(s.baseTopic+"/get/power",1,1,.001))+" kW / "+a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" % ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",to,"Warnung")):(r(),n("div",so,"Fehler"))],2))]),footer:i(()=>[e("div",ho,[e("div",mo,[e("div",go,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[4]||(o[4]=m(" Modulmeldung: ")),e("span",bo,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",_o,[e("div",vo,"ID: "+a(u.battery.id),1)])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",oo,[e("div",ao,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",io,a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" %",1)])]),_:1}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",ro,[o[1]||(o[1]=e("div",{class:"col text-right"},"Heute",-1)),e("div",co,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",no,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",lo,[o[2]||(o[2]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",po,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",uo,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1})}const yo=y(Ys,[["render",fo],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);w.add(x,W,k,J);const wo={name:"RippleControlReceiverCard",components:{FontAwesomeIcon:T},mixins:[f],data(){return{mqttTopicsToSubscribe:["openWB/general/ripple_control_receiver/get/fault_state","openWB/general/ripple_control_receiver/get/fault_str","openWB/general/ripple_control_receiver/get/override_value","openWB/general/ripple_control_receiver/module"]}},computed:{baseTopic:{get(){return"openWB/general/ripple_control_receiver"}}}},To={class:"row"},xo={key:0,class:"col"},Wo={key:1,class:"col"},ko={style:{"white-space":"pre-wrap"}};function So(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return t.$store.state.mqtt[s.baseTopic+"/module"]&&t.$store.state.mqtt[s.baseTopic+"/module"].type?(r(),b(d,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{icon:["fas","tower-broadcast"]}),o[0]||(o[0]=m(" Steuerbare Verbrauchseinrichtung (RSE) "))]),footer:i(()=>[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[2]||(o[2]=m(" Modulmeldung: ")),e("span",ko,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",To,[o[1]||(o[1]=e("div",{class:"col"},"Status",-1)),t.$store.state.mqtt[s.baseTopic+"/get/override_value"]==0?(r(),n("div",xo," Laden gesperrt ")):(r(),n("div",Wo," Laden erlaubt ("+a(t.$store.state.mqtt[s.baseTopic+"/get/override_value"])+" %) ",1))])]),_:1})]),_:1})):B("",!0)}const Bo=y(wo,[["render",So],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/RippleControlReceiver.vue"]]);w.add(x,W,k,U);const Co={name:"VehicleCard",components:{FontAwesomeIcon:T},mixins:[f],props:{vehicle:{type:Object,required:!1,default:void 0},vehicleKey:{type:String,required:!0},vehicleName:{type:String,default:""}},computed:{vehicleIndex:{get(){return parseInt(this.vehicleKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},soc:{get(){return this.formatNumberTopic(this.baseTopic+"/get/soc")}},socTimestamp:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/soc_timestamp"]!==void 0?new Date(this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/soc_timestamp"]*1e3).toLocaleString():"-"}},socRange:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/range"]!==void 0?Math.round(this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/range"]):0}},getVehicleStatus:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/fault_state"]===void 0?"success":this.statusLevel[this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/fault_state"]]||"success"}},baseTopic:{get(){return"openWB/vehicle/"+this.vehicleIndex}}}},No={key:0,class:"text-right"},$o={key:0},Po={key:0},qo={key:1},Io={class:"row"},Fo={class:"col text-right text-monospace"},Ao={class:"col text-right text-monospace"},Lo={class:"col text-right text-monospace"},jo={class:"container"},Oo={class:"row"},Vo={class:"col px-0"},zo={style:{"white-space":"pre-wrap"}},Eo={class:"col col-auto pr-0"},Mo={class:"text-right"};function Ro(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"info",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","car"]}),m(" "+a(u.vehicleName),1)]),actions:i(()=>[s.getVehicleStatus=="success"?(r(),n("div",No,[s.soc!="-"?(r(),n("div",$o,a(s.soc)+" %",1)):B("",!0)])):(r(),n("span",{key:1,class:S(["subheader pill","bg-"+s.getVehicleStatus])},[s.getVehicleStatus=="warning"?(r(),n("div",Po,"Warnung")):(r(),n("div",qo,"Fehler"))],2))]),footer:i(()=>[e("div",jo,[e("div",Oo,[e("div",Vo,[c(h,{subtype:s.getVehicleStatus},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[1]||(o[1]=m(" Modulmeldung: ")),e("span",zo,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",Eo,[e("div",Mo,"ID: "+a(s.vehicleIndex),1)])])])]),default:i(()=>[c(d,{title:"Fahrzeugdaten",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col pr-0 text-right"},"Ladestand"),e("div",{class:"col pr-0 text-right"},"Reichweite"),e("div",{class:"col pr-0 text-right"},"Letzter Zeitstempel")],-1)),e("div",Io,[e("div",Fo,a(s.soc)+" %",1),e("div",Ao,a(s.socRange)+" km",1),e("div",Lo,a(s.socTimestamp),1)])]),_:1})]),_:1})}const Do=y(Co,[["render",Ro],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);w.add(x,W,k,Q);X.register(Y,ee,te,se,oe,ae,ie,re,ce);const Go={name:"ElectricityTariffCard",components:{ChartjsLine:ne,FontAwesomeIcon:T},mixins:[f],data(){return{mqttTopicsToSubscribe:["openWB/optional/et/provider","openWB/optional/et/get/fault_state","openWB/optional/et/get/fault_str","openWB/optional/et/get/prices"],chartDatasets:{datasets:[{label:"Stromtarif",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}}]},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0},legend:{display:!1}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"hour",text:"Zeit",maxTicksLimit:24},display:!0,title:{display:!0,text:"Uhrzeit"},ticks:{font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",title:{font:{size:12},display:!0,text:"Preis [ct/kWh]"},grid:{},ticks:{font:{size:12},stepSize:.01,maxTicksLimit:11}}}}}},computed:{electricityTariffConfigured(){const t=this.$store.state.mqtt["openWB/optional/et/provider"];return t!==void 0?t.type!==null:!1},chartDataRead(){return this.chartDataObject.datasets[0].data!=null},chartDataObject(){if(this.$store.state.mqtt["openWB/optional/et/get/prices"]){var t=this.$store.state.mqtt["openWB/optional/et/get/prices"],o=[];for(const[_,s]of Object.entries(t))o.push({timestamp:_*1e3,price:s*1e5});const g=o.slice(-1)[0];o.push({timestamp:g.timestamp+(60*60-1)*1e3,price:g.price})}const u=this.chartDatasets;return u.datasets[0].data=o,u},currentPrice(){return this.formatNumber(this.chartDataObject.datasets[0].data[0].price||0,2)},baseTopic:{get(){return"openWB/optional/et"}}}},Ho={key:0,class:"text-right"},Zo={key:0},Ko={key:1},Jo={class:"openwb-chart"},Uo={style:{"white-space":"pre-wrap"}};function Qo(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("chartjs-line"),h=l("openwb-base-card"),P=l("openwb-base-alert");return s.electricityTariffConfigured?(r(),b(h,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","ranking-star"]}),o[0]||(o[0]=m(" Variabler Stromtarif "))]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",Ho,a(s.currentPrice)+" ct/kWh ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",Zo,"Warnung")):(r(),n("div",Ko,"Fehler"))],2))]),footer:i(()=>[c(P,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[1]||(o[1]=m(" Modulmeldung: ")),e("span",Uo,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:i(()=>[c(h,{title:"Anbieter: "+t.$store.state.mqtt[s.baseTopic+"/provider"].name,subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",Jo,[s.chartDataRead?(r(),b(d,{key:0,ref:"myChart",data:s.chartDataObject,options:_.chartOptions},null,8,["data","options"])):B("",!0)])]),_:1},8,["title"])]),_:1})):B("",!0)}const Xo=y(Go,[["render",Qo],["__scopeId","data-v-f4769d2f"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityTariffCard.vue"]]);const Yo={name:"OpenwbStatusView",components:{ChargePointSumCard:ye,ChargePointCard:ut,CounterCard:es,InverterSumCard:_s,InverterCard:Ls,BatterySumCard:Xs,BatteryCard:yo,RippleControlReceiverCard:Bo,VehicleCard:Do,ElectricityTariffCard:Xo},mixins:[f],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/get/power","openWB/chargepoint/get/imported","openWB/chargepoint/get/exported","openWB/chargepoint/get/daily_imported","openWB/chargepoint/get/daily_exported","openWB/chargepoint/+/config","openWB/chargepoint/+/get/+","openWB/chargepoint/+/get/connected_vehicle/info","openWB/chargepoint/+/set/+","openWB/internal_chargepoint/+/data/phases_to_use","openWB/system/device/+/component/+/config","openWB/counter/+/get/+","openWB/pv/get/+","openWB/pv/+/get/+","openWB/bat/get/+","openWB/bat/+/get/+","openWB/vehicle/+/name","openWB/vehicle/+/get/+"]}},computed:{installedChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),o={};for(const[u,g]of Object.entries(t))(g.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(o[u]=g);return o}},numChargePointsInstalled:{get(){return Object.keys(this.installedChargePoints).length}},counterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"counter")}},numInvertersInstalled:{get(){return Object.keys(this.inverterConfigs).length}},inverterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"inverter")}},numBatteriesInstalled:{get(){return Object.keys(this.batteryConfigs).length}},batteryConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"bat")}},vehicleNames:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.getWildcardTopics("openWB/vehicle/+/name")}}},methods:{filterComponentsByType(t,o){return Object.keys(t).filter(u=>t[u].type.includes(o)).reduce((u,g)=>({...u,[g]:t[g]}),{})}}},ea={class:"status"};function ta(t,o,u,g,_,s){const p=l("charge-point-sum-card"),d=l("charge-point-card"),h=l("counter-card"),P=l("inverter-sum-card"),A=l("inverter-card"),L=l("battery-sum-card"),j=l("battery-card"),O=l("vehicle-card"),V=l("electricity-tariff-card"),z=l("ripple-control-receiver-card");return r(),n("div",ea,[s.numChargePointsInstalled>1&&t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),b(p,{key:0})):B("",!0),(r(!0),n(N,null,$(s.installedChargePoints,(v,C)=>(r(),b(d,{key:C,"installed-charge-point":v,"installed-charge-point-key":C},null,8,["installed-charge-point","installed-charge-point-key"]))),128)),(r(!0),n(N,null,$(s.counterConfigs,v=>(r(),b(h,{key:v.id,counter:v},null,8,["counter"]))),128)),s.numInvertersInstalled>1&&t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),b(P,{key:1})):B("",!0),(r(!0),n(N,null,$(s.inverterConfigs,v=>(r(),b(A,{key:v.id,inverter:v},null,8,["inverter"]))),128)),s.numBatteriesInstalled>1&&t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),b(L,{key:2})):B("",!0),(r(!0),n(N,null,$(s.batteryConfigs,v=>(r(),b(j,{key:v.id,battery:v},null,8,["battery"]))),128)),(r(!0),n(N,null,$(s.vehicleNames,(v,C)=>(r(),b(O,{key:C,"vehicle-key":C,"vehicle-name":v},null,8,["vehicle-key","vehicle-name"]))),128)),c(V),c(z)])}const pa=y(Yo,[["render",ta],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{pa as default}; +import{C as f}from"./index-6ffbdc7e.js";import{l as w,K as q,F as T,L as x,M as W,c as k,N as E,O as M,P as R,Q as D,R as G,S as H,T as Z,U as K,V as I,W as F,X as J,Y as U,Z as Q}from"./vendor-fortawesome-231ff303.js";import{_ as y,u as l,l as r,z as b,E as i,G as c,y as m,x as e,F as a,m as n,q as S,B,N,M as $}from"./vendor-0c15df0c.js";import{C as X,p as Y,a as ee,L as te,b as se,P as oe,c as ae,T as ie,i as re,d as ce,e as ne}from"./vendor-chartjs-53af3b3a.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-luxon-8ddd27a0.js";w.add(q);const le={name:"ChargePointSumCard",components:{FontAwesomeIcon:T},mixins:[f],computed:{baseTopic:{get(){return"openWB/chargepoint"}}}},de={class:"text-right"},pe={class:"row"},ue={class:"col text-right text-monospace"},he={class:"row"},me={class:"col-4 text-right text-monospace"},ge={class:"col-4 text-right text-monospace"},be={class:"row"},_e={class:"col-4 text-right text-monospace"},ve={class:"col-4 text-right text-monospace"};function fe(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card");return r(),b(d,{subtype:"primary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","charging-station"]}),o[0]||(o[0]=m(" Alle Ladepunkte "))]),actions:i(()=>[e("span",de,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),default:i(()=>[c(d,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row py-2"},[e("div",{class:"col font-weight-bold"},"Ladevorgang"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",pe,[e("div",ue,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001)),1)])]),_:1}),c(d,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:i(()=>[o[4]||(o[4]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",he,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",me,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001)+" kWh"),1),e("div",ge,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001)+" kWh"),1)]),e("div",be,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",_e,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001)+" kWh"),1),e("div",ve,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001)+" kWh"),1)])]),_:1})]),_:1})}const ye=y(le,[["render",fe],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointSumCard.vue"]]);w.add(x,W,k,q,E,M,R,D,G,H,Z);const we={name:"ChargePointCard",components:{FontAwesomeIcon:T},mixins:[f],props:{installedChargePointKey:{type:String,required:!0},installedChargePoint:{type:Object,required:!0}},computed:{chargePointIndex:{get(){return parseInt(this.installedChargePointKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},baseTopic:{get(){return"openWB/chargepoint/"+this.chargePointIndex}},chargingStatus:{get(){let t=this.chargePointIndex,o=this.$store.state.mqtt["openWB/chargepoint/"+t+"/get/plug_state"],u=this.$store.state.mqtt["openWB/chargepoint/"+t+"/get/charge_state"];return o==1&&u==1?{icon:["fas","plug-circle-bolt"],text:"Fahrzeug angesteckt, Ladevorgang aktiv"}:o==1?{icon:["fas","plug-circle-check"],text:"Fahrzeug angesteckt, kein Ladevorgang aktiv"}:{icon:["fas","plug-circle-minus"],text:"Kein Fahrzeug angesteckt"}}}}},Te={key:0,class:"text-right"},xe={key:0},We={key:1},ke={class:"row py-2"},Se={class:"col text-right"},Be={style:{"white-space":"pre-wrap"}},Ce={class:"row"},Ne={class:"col text-right text-monospace"},$e={class:"col text-right text-monospace"},Pe={class:"row"},qe={key:0,class:"col text-right text-monospace"},Ie={key:1,class:"col text-right text-monospace"},Fe={class:"col text-right text-monospace"},Ae={class:"row"},Le={class:"col-4 text-right text-monospace"},je={class:"col-4 text-right text-monospace"},Oe={class:"row"},Ve={class:"col-4 text-right text-monospace"},ze={class:"col-4 text-right text-monospace"},Ee={class:"row"},Me={class:"col text-right text-monospace"},Re={class:"col text-right text-monospace"},De={class:"col text-right text-monospace"},Ge={class:"row"},He={class:"col text-right text-monospace"},Ze={class:"col text-right text-monospace"},Ke={class:"col text-right text-monospace"},Je={class:"row"},Ue={class:"col text-right text-monospace"},Qe={class:"col text-right text-monospace"},Xe={class:"col text-right text-monospace"},Ye={class:"row"},et={class:"col text-right text-monospace"},tt={class:"col text-right text-monospace"},st={class:"col text-right text-monospace"},ot={class:"row"},at={class:"col text-center text-monospace"},it={class:"container"},rt={class:"row"},ct={class:"col px-0"},nt={style:{"white-space":"pre-wrap"}},lt={class:"col col-auto pr-0"},dt={class:"text-right"};function pt(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-alert"),h=l("openwb-base-card");return r(),b(h,{subtype:"primary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","charging-station"]}),m(" "+a(u.installedChargePoint.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",Te,[m(a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),c(p,{"fixed-width":"",icon:s.chargingStatus.icon,title:s.chargingStatus.text},null,8,["icon","title"])])):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",xe,"Warnung")):(r(),n("div",We,"Fehler"))],2))]),footer:i(()=>[e("div",it,[e("div",rt,[e("div",ct,[c(d,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[12]||(o[12]=m(" Modulmeldung: ")),e("span",nt,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",lt,[e("div",dt,"ID: "+a(s.chargePointIndex),1)])])])]),default:i(()=>[c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",ke,[o[0]||(o[0]=e("div",{class:"col col-auto font-weight-bold"},"Status",-1)),e("div",Se,[c(p,{"fixed-width":"",icon:s.chargingStatus.icon,title:s.chargingStatus.text},null,8,["icon","title"]),m(" "+a(s.chargingStatus.text),1)])]),c(d,{subtype:"info"},{default:i(()=>[o[1]||(o[1]=m(" Statusmeldung: ")),e("span",Be,a(t.$store.state.mqtt[s.baseTopic+"/get/state_str"]),1)]),_:1}),m(" max. Ladeleistung: "+a((t.max_power=t.formatNumberTopic("openWB/chargepoint/"+s.chargePointIndex+"/get/max_evse_current",0))=="-"?t.max_power:Math.floor(t.max_power*3*230/1e3))+" kW ",1)]),_:1}),c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Ladevorgang"},{default:i(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Ladestrom Vorgabe"),e("div",{class:"col text-right"},"Leistung")],-1)),e("div",Ce,[e("div",Ne,a(t.formatNumberTopic(s.baseTopic+"/set/current",2))+" A",1),e("div",$e,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)]),o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Phasen Vorgabe"),e("div",{class:"col text-right"},"Phasen Aktuell")],-1)),e("div",Pe,[t.$store.state.mqtt["openWB/general/extern"]===!0?(r(),n("div",qe,a(t.formatNumberTopic("openWB/internal_chargepoint/"+s.chargePointIndex+"/data/phases_to_use")),1)):(r(),n("div",Ie,a(t.formatNumberTopic(s.baseTopic+"/set/phases_to_use")),1)),e("div",Fe,a(t.formatNumberTopic(s.baseTopic+"/get/phases_in_use")),1)])]),_:1}),c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Zählerstände"},{default:i(()=>[o[6]||(o[6]=e("div",{class:"row justify-content-end"},[e("div",{class:"col-4 text-right"},"Geladen"),e("div",{class:"col-4 text-right"},"Entladen")],-1)),e("div",Ae,[o[4]||(o[4]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Le,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",je,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Oe,[o[5]||(o[5]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ve,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",ze,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),c(h,{subtype:"white","body-bg":"white",class:"py-1 mb-2",title:"Werte pro Phase"},{default:i(()=>[e("div",Ee,[o[7]||(o[7]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Spannung [V]",-1)),e("div",Me,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Re,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",De,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[2]),1)]),e("div",Ge,[o[8]||(o[8]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Strom [A]",-1)),e("div",He,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",Ze,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",Ke,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[2]),1)]),e("div",Je,[o[9]||(o[9]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",Ue,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",Qe,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",Xe,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)]),e("div",Ye,[o[10]||(o[10]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",et,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",tt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",st,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)]),e("div",ot,[o[11]||(o[11]=e("div",{class:"col-md-4 pr-1 text-center text-md-right"},"Netzfrequenz",-1)),e("div",at,a(t.formatNumberTopic(s.baseTopic+"/get/frequency",3))+" Hz ",1)])]),_:1})]),_:1})}const ut=y(we,[["render",pt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ChargePointCard.vue"]]);w.add(x,W,k,K);const ht={name:"CounterCard",components:{FontAwesomeIcon:T},mixins:[f],props:{counter:{type:Object,required:!0}},computed:{baseTopic:{get(){return"openWB/counter/"+this.counter.id}}}},mt={key:0,class:"text-right"},gt={key:0},bt={key:1},_t={class:"row"},vt={class:"col text-right text-monospace pl-0"},ft={class:"col text-right text-monospace pl-0"},yt={class:"row"},wt={class:"col text-right text-monospace pl-0"},Tt={class:"col text-right text-monospace pl-0"},xt={class:"row"},Wt={class:"col"},kt={class:"row"},St={class:"col text-right text-monospace pl-0"},Bt={class:"col text-right text-monospace pl-0"},Ct={class:"col text-right text-monospace pl-0"},Nt={class:"row"},$t={class:"col"},Pt={class:"row"},qt={class:"col text-right text-monospace pl-0"},It={class:"col text-right text-monospace pl-0"},Ft={class:"col text-right text-monospace pl-0"},At={class:"row"},Lt={class:"col"},jt={class:"row"},Ot={class:"col text-right text-monospace pl-0"},Vt={class:"col text-right text-monospace pl-0"},zt={class:"col text-right text-monospace pl-0"},Et={class:"row"},Mt={class:"col"},Rt={class:"row"},Dt={class:"col text-right text-monospace pl-0"},Gt={class:"col text-right text-monospace pl-0"},Ht={class:"col text-right text-monospace pl-0"},Zt={class:"container"},Kt={class:"row"},Jt={class:"col px-0"},Ut={style:{"white-space":"pre-wrap"}},Qt={class:"col col-auto pr-0"},Xt={class:"text-right"};function Yt(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"danger",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","gauge-high"]}),m(" "+a(u.counter.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",mt,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",gt,"Warnung")):(r(),n("div",bt,"Fehler"))],2))]),footer:i(()=>[e("div",Zt,[e("div",Kt,[e("div",Jt,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[6]||(o[6]=m(" Modulmeldung: ")),e("span",Ut,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",Qt,[e("div",Xt,"ID: "+a(u.counter.id),1)])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Netzfrequenz")],-1)),e("div",_t,[e("div",vt,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001)+" kW"),1),e("div",ft,a(t.formatNumberTopic(s.baseTopic+"/get/frequency",3)+" Hz"),1)])]),_:1}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Export"),e("div",{class:"col-6 text-right"},"Import")],-1)),e("div",yt,[e("div",wt,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001)+" kWh"),1),e("div",Tt,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001)+" kWh"),1)])]),_:1}),c(d,{title:"Werte pro Phase",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",xt,[o[2]||(o[2]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Spannung [V]",-1)),e("div",Wt,[e("div",kt,[e("div",St,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[0]),1),e("div",Bt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[1]),1),e("div",Ct,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/voltages",1).split(" / ")[2]),1)])])]),e("div",Nt,[o[3]||(o[3]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Strom [A]",-1)),e("div",$t,[e("div",Pt,[e("div",qt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[0]),1),e("div",It,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[1]),1),e("div",Ft,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/currents",2).split(" / ")[2]),1)])])]),e("div",At,[o[4]||(o[4]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Wirkleistung [kW]",-1)),e("div",Lt,[e("div",jt,[e("div",Ot,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[0]),1),e("div",Vt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[1]),1),e("div",zt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/powers",3,3,.001).split(" / ")[2]),1)])])]),e("div",Et,[o[5]||(o[5]=e("div",{class:"col-md-4 pr-0 text-center text-md-right"},"Leistungsfaktor",-1)),e("div",Mt,[e("div",Rt,[e("div",Dt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[0]),1),e("div",Gt,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[1]),1),e("div",Ht,a(t.formatPhaseArrayNumberTopic(s.baseTopic+"/get/power_factors",2).split(" / ")[2]),1)])])])]),_:1})]),_:1})}const es=y(ht,[["render",Yt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/CounterCard.vue"]]);w.add(x,W,k,I);const ts={name:"InverterSumCard",components:{FontAwesomeIcon:T},mixins:[f],computed:{baseTopic:{get(){return"openWB/pv"}}}},ss={key:0,class:"text-right"},os={key:0},as={key:1},is={class:"row"},rs={class:"col text-right text-monospace"},cs={class:"col text-right text-monospace"},ns={class:"row"},ls={class:"col text-right text-monospace"},ds={class:"col text-right text-monospace"},ps={class:"col text-right text-monospace"},us={class:"container"},hs={class:"row"},ms={class:"col px-0"},gs={style:{"white-space":"pre-wrap"}};function bs(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"success",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","solar-panel"]}),o[0]||(o[0]=m(" Alle Wechselrichter "))]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",ss,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",os,"Warnung")):(r(),n("div",as,"Fehler"))],2))]),footer:i(()=>[e("div",us,[e("div",hs,[e("div",ms,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[3]||(o[3]=m(" Modulmeldung: ")),e("span",gs,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",is,[e("div",rs,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",cs,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),c(d,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[2]||(o[2]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",ns,[e("div",ls,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",ds,a(t.formatNumberTopic(s.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",ps,a(t.formatNumberTopic(s.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1})}const _s=y(ts,[["render",bs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterSumCard.vue"]]);w.add(x,W,k,I);const vs={name:"InverterCard",components:{FontAwesomeIcon:T},mixins:[f],props:{inverter:{type:Object,required:!0}},computed:{baseTopic:{get(){return"openWB/pv/"+this.inverter.id}}}},fs={key:0,class:"text-right"},ys={key:0},ws={key:1},Ts={class:"row"},xs={class:"col text-right text-monospace"},Ws={class:"col text-right text-monospace"},ks={class:"row"},Ss={class:"col text-right text-monospace"},Bs={class:"col text-right text-monospace"},Cs={class:"col text-right text-monospace"},Ns={class:"container"},$s={class:"row"},Ps={class:"col px-0"},qs={style:{"white-space":"pre-wrap"}},Is={class:"col col-auto pr-0"},Fs={class:"text-right"};function As(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"success",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","solar-panel"]}),m(" "+a(u.inverter.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",fs,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",ys,"Warnung")):(r(),n("div",ws,"Fehler"))],2))]),footer:i(()=>[e("div",Ns,[e("div",$s,[e("div",Ps,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[2]||(o[2]=m(" Modulmeldung: ")),e("span",qs,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",Is,[e("div",Fs,"ID: "+a(u.inverter.id),1)])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Leistung"),e("div",{class:"col text-right"},"Zählerstand")],-1)),e("div",Ts,[e("div",xs,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",Ws,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1}),c(d,{title:"Erträge",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col text-right"},"Heute"),e("div",{class:"col text-right"},"Monat"),e("div",{class:"col text-right"},"Jahr")],-1)),e("div",ks,[e("div",Ss,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1),e("div",Bs,a(t.formatNumberTopic(s.baseTopic+"/get/monthly_exported",1,1,.001))+" kWh ",1),e("div",Cs,a(t.formatNumberTopic(s.baseTopic+"/get/yearly_exported",0,0,.001))+" kWh ",1)])]),_:1})]),_:1})}const Ls=y(vs,[["render",As],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/InverterCard.vue"]]);w.add(x,W,k,F);const js={name:"BatterySumCard",components:{FontAwesomeIcon:T},mixins:[f],computed:{baseTopic:{get(){return"openWB/bat"}}}},Os={key:0,class:"text-right"},Vs={key:0},zs={key:1},Es={class:"row"},Ms={class:"col text-right text-monospace pl-0"},Rs={class:"col text-right text-monospace pl-0"},Ds={class:"row"},Gs={class:"col text-right text-monospace"},Hs={class:"col text-right text-monospace"},Zs={class:"row"},Ks={class:"col text-right text-monospace"},Js={class:"col text-right text-monospace"},Us={style:{"white-space":"pre-wrap"}};function Qs(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"warning",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","car-battery"]}),o[0]||(o[0]=m(" Alle Speicher "))]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",Os,a(t.formatNumberTopic(s.baseTopic+"/get/power",1,1,.001))+" kW / "+a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" % ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",Vs,"Warnung")):(r(),n("div",zs,"Fehler"))],2))]),footer:i(()=>[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[5]||(o[5]=m(" Modulmeldung: ")),e("span",Us,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[1]||(o[1]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",Es,[e("div",Ms,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",Rs,a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" %",1)])]),_:1}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[4]||(o[4]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",Ds,[o[2]||(o[2]=e("div",{class:"col text-right"},"Heute",-1)),e("div",Gs,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",Hs,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",Zs,[o[3]||(o[3]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",Ks,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",Js,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1})}const Xs=y(js,[["render",Qs],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatterySumCard.vue"]]);w.add(x,W,k,F);const Ys={name:"BatteryCard",components:{FontAwesomeIcon:T},mixins:[f],props:{battery:{type:Object,required:!0}},computed:{baseTopic:{get(){return"openWB/bat/"+this.battery.id}}}},eo={key:0,class:"text-right"},to={key:0},so={key:1},oo={class:"row"},ao={class:"col text-right text-monospace pl-0"},io={class:"col text-right text-monospace pl-0"},ro={class:"row"},co={class:"col text-right text-monospace"},no={class:"col text-right text-monospace"},lo={class:"row"},po={class:"col text-right text-monospace"},uo={class:"col text-right text-monospace"},ho={class:"container"},mo={class:"row"},go={class:"col px-0"},bo={style:{"white-space":"pre-wrap"}},_o={class:"col col-auto pr-0"},vo={class:"text-right"};function fo(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"warning",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","car-battery"]}),m(" "+a(u.battery.name),1)]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",eo,a(t.formatNumberTopic(s.baseTopic+"/get/power",1,1,.001))+" kW / "+a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" % ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",to,"Warnung")):(r(),n("div",so,"Fehler"))],2))]),footer:i(()=>[e("div",ho,[e("div",mo,[e("div",go,[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[4]||(o[4]=m(" Modulmeldung: ")),e("span",bo,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",_o,[e("div",vo,"ID: "+a(u.battery.id),1)])])])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col-6 text-right"},"Leistung"),e("div",{class:"col-6 text-right"},"Ladestand")],-1)),e("div",oo,[e("div",ao,a(t.formatNumberTopic(s.baseTopic+"/get/power",3,3,.001))+" kW ",1),e("div",io,a(t.$store.state.mqtt[s.baseTopic+"/get/soc"])+" %",1)])]),_:1}),c(d,{title:"Zählerstände",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[3]||(o[3]=e("div",{class:"row"},[e("div",{class:"col"}),e("div",{class:"col text-right"},"Geladen"),e("div",{class:"col text-right"},"Entladen")],-1)),e("div",ro,[o[1]||(o[1]=e("div",{class:"col text-right"},"Heute",-1)),e("div",co,a(t.formatNumberTopic(s.baseTopic+"/get/daily_imported",3,3,.001))+" kWh ",1),e("div",no,a(t.formatNumberTopic(s.baseTopic+"/get/daily_exported",3,3,.001))+" kWh ",1)]),e("div",lo,[o[2]||(o[2]=e("div",{class:"col text-right"},"Gesamt",-1)),e("div",po,a(t.formatNumberTopic(s.baseTopic+"/get/imported",3,3,.001))+" kWh ",1),e("div",uo,a(t.formatNumberTopic(s.baseTopic+"/get/exported",3,3,.001))+" kWh ",1)])]),_:1})]),_:1})}const yo=y(Ys,[["render",fo],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/BatteryCard.vue"]]);w.add(x,W,k,J);const wo={name:"RippleControlReceiverCard",components:{FontAwesomeIcon:T},mixins:[f],data(){return{mqttTopicsToSubscribe:["openWB/general/ripple_control_receiver/get/fault_state","openWB/general/ripple_control_receiver/get/fault_str","openWB/general/ripple_control_receiver/get/override_value","openWB/general/ripple_control_receiver/module"]}},computed:{baseTopic:{get(){return"openWB/general/ripple_control_receiver"}}}},To={class:"row"},xo={key:0,class:"col"},Wo={key:1,class:"col"},ko={style:{"white-space":"pre-wrap"}};function So(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return t.$store.state.mqtt[s.baseTopic+"/module"]&&t.$store.state.mqtt[s.baseTopic+"/module"].type?(r(),b(d,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{icon:["fas","tower-broadcast"]}),o[0]||(o[0]=m(" Steuerbare Verbrauchseinrichtung (RSE) "))]),footer:i(()=>[c(h,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[2]||(o[2]=m(" Modulmeldung: ")),e("span",ko,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:i(()=>[c(d,{title:"Aktuelle Werte",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",To,[o[1]||(o[1]=e("div",{class:"col"},"Status",-1)),t.$store.state.mqtt[s.baseTopic+"/get/override_value"]==0?(r(),n("div",xo," Laden gesperrt ")):(r(),n("div",Wo," Laden erlaubt ("+a(t.$store.state.mqtt[s.baseTopic+"/get/override_value"])+" %) ",1))])]),_:1})]),_:1})):B("",!0)}const Bo=y(wo,[["render",So],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/RippleControlReceiver.vue"]]);w.add(x,W,k,U);const Co={name:"VehicleCard",components:{FontAwesomeIcon:T},mixins:[f],props:{vehicle:{type:Object,required:!1,default:void 0},vehicleKey:{type:String,required:!0},vehicleName:{type:String,default:""}},computed:{vehicleIndex:{get(){return parseInt(this.vehicleKey.match(/(?:\/)(\d+)(?=\/)/)[1])}},soc:{get(){return this.formatNumberTopic(this.baseTopic+"/get/soc")}},socTimestamp:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/soc_timestamp"]!==void 0?new Date(this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/soc_timestamp"]*1e3).toLocaleString():"-"}},socRange:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/range"]!==void 0?Math.round(this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/range"]):0}},getVehicleStatus:{get(){return this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/fault_state"]===void 0?"success":this.statusLevel[this.$store.state.mqtt["openWB/vehicle/"+this.vehicleIndex+"/get/fault_state"]]||"success"}},baseTopic:{get(){return"openWB/vehicle/"+this.vehicleIndex}}}},No={key:0,class:"text-right"},$o={key:0},Po={key:0},qo={key:1},Io={class:"row"},Fo={class:"col text-right text-monospace"},Ao={class:"col text-right text-monospace"},Lo={class:"col text-right text-monospace"},jo={class:"container"},Oo={class:"row"},Vo={class:"col px-0"},zo={style:{"white-space":"pre-wrap"}},Eo={class:"col col-auto pr-0"},Mo={class:"text-right"};function Ro(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("openwb-base-card"),h=l("openwb-base-alert");return r(),b(d,{subtype:"info",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","car"]}),m(" "+a(u.vehicleName),1)]),actions:i(()=>[s.getVehicleStatus=="success"?(r(),n("div",No,[s.soc!="-"?(r(),n("div",$o,a(s.soc)+" %",1)):B("",!0)])):(r(),n("span",{key:1,class:S(["subheader pill","bg-"+s.getVehicleStatus])},[s.getVehicleStatus=="warning"?(r(),n("div",Po,"Warnung")):(r(),n("div",qo,"Fehler"))],2))]),footer:i(()=>[e("div",jo,[e("div",Oo,[e("div",Vo,[c(h,{subtype:s.getVehicleStatus},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[1]||(o[1]=m(" Modulmeldung: ")),e("span",zo,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),e("div",Eo,[e("div",Mo,"ID: "+a(s.vehicleIndex),1)])])])]),default:i(()=>[c(d,{title:"Fahrzeugdaten",subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[o[0]||(o[0]=e("div",{class:"row"},[e("div",{class:"col pr-0 text-right"},"Ladestand"),e("div",{class:"col pr-0 text-right"},"Reichweite"),e("div",{class:"col pr-0 text-right"},"Letzter Zeitstempel")],-1)),e("div",Io,[e("div",Fo,a(s.soc)+" %",1),e("div",Ao,a(s.socRange)+" km",1),e("div",Lo,a(s.socTimestamp),1)])]),_:1})]),_:1})}const Do=y(Co,[["render",Ro],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/VehicleCard.vue"]]);w.add(x,W,k,Q);X.register(Y,ee,te,se,oe,ae,ie,re,ce);const Go={name:"ElectricityTariffCard",components:{ChartjsLine:ne,FontAwesomeIcon:T},mixins:[f],data(){return{mqttTopicsToSubscribe:["openWB/optional/et/provider","openWB/optional/et/get/fault_state","openWB/optional/et/get/fault_str","openWB/optional/et/get/prices"],chartDatasets:{datasets:[{label:"Stromtarif",unit:"ct/kWh",type:"line",stepped:!0,borderColor:"rgba(255, 0, 0, 0.7)",backgroundColor:"rgba(255, 10, 13, 0.3)",fill:!1,pointStyle:"circle",pointRadius:0,pointHoverRadius:4,cubicInterpolationMode:"monotone",hidden:!1,borderWidth:1,data:void 0,yAxisID:"y",parsing:{xAxisKey:"timestamp",yAxisKey:"price"}}]},chartOptions:{plugins:{title:{display:!1},tooltip:{enabled:!0},legend:{display:!1}},elements:{point:{radius:2}},responsive:!0,maintainAspectRatio:!1,interaction:{mode:"index",intersect:!1},scales:{x:{type:"time",time:{unit:"hour",text:"Zeit",maxTicksLimit:24},display:!0,title:{display:!0,text:"Uhrzeit"},ticks:{font:{size:12},maxTicksLimit:0},grid:{}},y:{position:"left",type:"linear",display:"auto",title:{font:{size:12},display:!0,text:"Preis [ct/kWh]"},grid:{},ticks:{font:{size:12},stepSize:.01,maxTicksLimit:11}}}}}},computed:{electricityTariffConfigured(){const t=this.$store.state.mqtt["openWB/optional/et/provider"];return t!==void 0?t.type!==null:!1},chartDataRead(){return this.chartDataObject.datasets[0].data!=null},chartDataObject(){if(this.$store.state.mqtt["openWB/optional/et/get/prices"]){var t=this.$store.state.mqtt["openWB/optional/et/get/prices"],o=[];for(const[_,s]of Object.entries(t))o.push({timestamp:_*1e3,price:s*1e5});const g=o.slice(-1)[0];o.push({timestamp:g.timestamp+(60*60-1)*1e3,price:g.price})}const u=this.chartDatasets;return u.datasets[0].data=o,u},currentPrice(){return this.formatNumber(this.chartDataObject.datasets[0].data[0].price||0,2)},baseTopic:{get(){return"openWB/optional/et"}}}},Ho={key:0,class:"text-right"},Zo={key:0},Ko={key:1},Jo={class:"openwb-chart"},Uo={style:{"white-space":"pre-wrap"}};function Qo(t,o,u,g,_,s){const p=l("font-awesome-icon"),d=l("chartjs-line"),h=l("openwb-base-card"),P=l("openwb-base-alert");return s.electricityTariffConfigured?(r(),b(h,{key:0,subtype:"secondary",collapsible:!0,collapsed:!0,class:"pb-0"},{header:i(()=>[c(p,{"fixed-width":"",icon:["fas","ranking-star"]}),o[0]||(o[0]=m(" Variabler Stromtarif "))]),actions:i(()=>[t.getFaultStateSubtype(s.baseTopic)=="success"?(r(),n("div",Ho,a(s.currentPrice)+" ct/kWh ",1)):(r(),n("span",{key:1,class:S("subheader pill bg-"+t.getFaultStateSubtype(s.baseTopic))},[t.getFaultStateSubtype(s.baseTopic)=="warning"?(r(),n("div",Zo,"Warnung")):(r(),n("div",Ko,"Fehler"))],2))]),footer:i(()=>[c(P,{subtype:t.getFaultStateSubtype(s.baseTopic)},{default:i(()=>[c(p,{"fixed-width":"",icon:t.stateIcon},null,8,["icon"]),o[1]||(o[1]=m(" Modulmeldung: ")),e("span",Uo,a(t.$store.state.mqtt[s.baseTopic+"/get/fault_str"]),1)]),_:1},8,["subtype"])]),default:i(()=>[c(h,{title:"Anbieter: "+t.$store.state.mqtt[s.baseTopic+"/provider"].name,subtype:"white","body-bg":"white",class:"py-1 mb-2"},{default:i(()=>[e("div",Jo,[s.chartDataRead?(r(),b(d,{key:0,ref:"myChart",data:s.chartDataObject,options:_.chartOptions},null,8,["data","options"])):B("",!0)])]),_:1},8,["title"])]),_:1})):B("",!0)}const Xo=y(Go,[["render",Qo],["__scopeId","data-v-f4769d2f"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/status/ElectricityTariffCard.vue"]]);const Yo={name:"OpenwbStatusView",components:{ChargePointSumCard:ye,ChargePointCard:ut,CounterCard:es,InverterSumCard:_s,InverterCard:Ls,BatterySumCard:Xs,BatteryCard:yo,RippleControlReceiverCard:Bo,VehicleCard:Do,ElectricityTariffCard:Xo},mixins:[f],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/chargepoint/get/power","openWB/chargepoint/get/imported","openWB/chargepoint/get/exported","openWB/chargepoint/get/daily_imported","openWB/chargepoint/get/daily_exported","openWB/chargepoint/+/config","openWB/chargepoint/+/get/+","openWB/chargepoint/+/get/connected_vehicle/info","openWB/chargepoint/+/set/+","openWB/internal_chargepoint/+/data/phases_to_use","openWB/system/device/+/component/+/config","openWB/counter/+/get/+","openWB/pv/get/+","openWB/pv/+/get/+","openWB/bat/get/+","openWB/bat/+/get/+","openWB/vehicle/+/name","openWB/vehicle/+/get/+"]}},computed:{installedChargePoints:{get(){let t=this.getWildcardTopics("openWB/chargepoint/+/config"),o={};for(const[u,g]of Object.entries(t))(g.type==="internal_openwb"||this.$store.state.mqtt["openWB/general/extern"]===!1)&&(o[u]=g);return o}},numChargePointsInstalled:{get(){return Object.keys(this.installedChargePoints).length}},counterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"counter")}},numInvertersInstalled:{get(){return Object.keys(this.inverterConfigs).length}},inverterConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"inverter")}},numBatteriesInstalled:{get(){return Object.keys(this.batteryConfigs).length}},batteryConfigs:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.filterComponentsByType(this.getWildcardTopics("openWB/system/device/+/component/+/config"),"bat")}},vehicleNames:{get(){return this.$store.state.mqtt["openWB/general/extern"]===!0?{}:this.getWildcardTopics("openWB/vehicle/+/name")}}},methods:{filterComponentsByType(t,o){return Object.keys(t).filter(u=>t[u].type.includes(o)).reduce((u,g)=>({...u,[g]:t[g]}),{})}}},ea={class:"status"};function ta(t,o,u,g,_,s){const p=l("charge-point-sum-card"),d=l("charge-point-card"),h=l("counter-card"),P=l("inverter-sum-card"),A=l("inverter-card"),L=l("battery-sum-card"),j=l("battery-card"),O=l("vehicle-card"),V=l("electricity-tariff-card"),z=l("ripple-control-receiver-card");return r(),n("div",ea,[s.numChargePointsInstalled>1&&t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),b(p,{key:0})):B("",!0),(r(!0),n(N,null,$(s.installedChargePoints,(v,C)=>(r(),b(d,{key:C,"installed-charge-point":v,"installed-charge-point-key":C},null,8,["installed-charge-point","installed-charge-point-key"]))),128)),(r(!0),n(N,null,$(s.counterConfigs,v=>(r(),b(h,{key:v.id,counter:v},null,8,["counter"]))),128)),s.numInvertersInstalled>1&&t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),b(P,{key:1})):B("",!0),(r(!0),n(N,null,$(s.inverterConfigs,v=>(r(),b(A,{key:v.id,inverter:v},null,8,["inverter"]))),128)),s.numBatteriesInstalled>1&&t.$store.state.mqtt["openWB/general/extern"]===!1?(r(),b(L,{key:2})):B("",!0),(r(!0),n(N,null,$(s.batteryConfigs,v=>(r(),b(j,{key:v.id,battery:v},null,8,["battery"]))),128)),(r(!0),n(N,null,$(s.vehicleNames,(v,C)=>(r(),b(O,{key:C,"vehicle-key":C,"vehicle-name":v},null,8,["vehicle-key","vehicle-name"]))),128)),c(V),c(z)])}const pa=y(Yo,[["render",ta],["__scopeId","data-v-051028a3"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Status.vue"]]);export{pa as default}; diff --git a/web/settings/assets/Support-a3a76d8d.js b/web/settings/assets/Support-66ab544c.js similarity index 94% rename from web/settings/assets/Support-a3a76d8d.js rename to web/settings/assets/Support-66ab544c.js index b22112ba9f..ef0c5ffff3 100644 --- a/web/settings/assets/Support-a3a76d8d.js +++ b/web/settings/assets/Support-66ab544c.js @@ -1,3 +1,3 @@ -import{l as D,g as V,F as W}from"./vendor-fortawesome-05d7e447.js";import{C as z}from"./index-3434d31b.js";import{_ as A,u,k as f,l as c,x as r,z as k,E as s,G as o,D as C,B as w,y as n,q as F}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";D.add(V);const x={name:"OpenwbSupportView",components:{FontAwesomeIcon:W},mixins:[z],emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/serial_number","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/vehicle/+/info"],email:void 0,components:void 0,vehicles:void 0,message:void 0,enableSendDebugButton:!0}},computed:{debugData(){return{email:this.email,serialNumber:this.$store.state.mqtt["openWB/system/serial_number"],installedComponents:this.installedComponents,vehicles:this.vehicleInfo,message:this.message}},installedComponents(){var b,m;if(this.components!==void 0)return this.components;let i="";const e=this.getWildcardTopics("openWB/system/device/+/component/+/config");for(const t of Object.values(e)){const a=t.id,d=((b=t.info)==null?void 0:b.manufacturer)||"N/A",p=((m=t.info)==null?void 0:m.model)||"N/A";i+=`(${a}) Hersteller: ${d}, Modell: ${p} +import{l as D,g as V,F as W}from"./vendor-fortawesome-231ff303.js";import{C as z}from"./index-6ffbdc7e.js";import{_ as A,u,l as f,m as c,x as r,z as k,E as s,G as o,D as C,B as w,y as n,q as F}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";D.add(V);const x={name:"OpenwbSupportView",components:{FontAwesomeIcon:W},mixins:[z],emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/system/dataprotection_acknowledged","openWB/system/serial_number","openWB/system/device/+/config","openWB/system/device/+/component/+/config","openWB/vehicle/+/name","openWB/vehicle/+/info"],email:void 0,components:void 0,vehicles:void 0,message:void 0,enableSendDebugButton:!0}},computed:{debugData(){return{email:this.email,serialNumber:this.$store.state.mqtt["openWB/system/serial_number"],installedComponents:this.installedComponents,vehicles:this.vehicleInfo,message:this.message}},installedComponents(){var b,m;if(this.components!==void 0)return this.components;let i="";const e=this.getWildcardTopics("openWB/system/device/+/component/+/config");for(const t of Object.values(e)){const a=t.id,d=((b=t.info)==null?void 0:b.manufacturer)||"N/A",p=((m=t.info)==null?void 0:m.model)||"N/A";i+=`(${a}) Hersteller: ${d}, Modell: ${p} `}return i.trim()},vehicleInfo(){if(this.vehicles!==void 0)return this.vehicles;let i="";const e=this.getWildcardTopics("openWB/vehicle/+/info");for(const[b,m]of Object.entries(e)){const t=parseInt(b.split("/")[2]);if(t!==0){const a=m.manufacturer||"N/A",d=m.model||"N/A";i+=`(${t}) Hersteller: ${a}, Modell: ${d} `}}return i.trim()}},methods:{sendDebugMessage(){if(document.forms.supportForm.reportValidity())this.$emit("sendCommand",{command:"sendDebug",data:this.debugData}),this.enableSendDebugButton=!1;else{console.warn("form invalid");return}}}},_={class:"support"},q={name:"supportForm"},I={key:1},N={key:0},T={class:"row justify-content-center"};function M(i,e,b,m,t,a){const d=u("router-link"),p=u("openwb-base-alert"),v=u("FontAwesomeIcon"),h=u("openwb-base-text-input"),g=u("openwb-base-textarea"),y=u("openwb-base-click-button"),B=u("openwb-base-card"),S=u("font-awesome-icon");return f(),c("div",_,[r("form",q,[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]!==!0?(f(),k(p,{key:0,subtype:"danger"},{default:s(()=>[e[6]||(e[6]=n(" Du musst der ")),o(d,{to:"/System/LegalSettings"},{default:s(()=>e[5]||(e[5]=[n(" Datenschutzerklärung ")])),_:1}),e[7]||(e[7]=n(" zustimmen, um einen Systembericht senden zu können. "))]),_:1})):(f(),c("div",I,[o(p,{subtype:"success"},{default:s(()=>[e[9]||(e[9]=n(" Du hast der ")),o(d,{to:"/System/LegalSettings"},{default:s(()=>e[8]||(e[8]=[n(" Datenschutzerklärung ")])),_:1}),e[10]||(e[10]=n(" zugestimmt und kannst Systemberichte senden. "))]),_:1}),o(B,{title:"Systembericht"},C({default:s(()=>[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?(f(),c("div",N,[o(p,{subtype:"info"},{default:s(()=>[r("ul",null,[r("li",null,[e[11]||(e[11]=n(" Lies bitte den Hilfetext, der durch Klick auf das ")),o(v,{icon:["far","question-circle"]}),e[12]||(e[12]=n(" angezeigt wird. Nimm das Wiki zur Hilfe. "))]),e[13]||(e[13]=r("li",null,'Vergewissere Dich , dass mindestens die aktuelle "Release" Version installiert ist.',-1)),e[14]||(e[14]=r("li",null," Stelle beim Absenden des Berichtes die Fehlerkonditionen her. Lädt ein Fahrzeug nicht, sollte es angeschlossen und nicht voll geladen sein. Ist PV laden betroffen, sollte die Sonne auch scheinen. Der Systembericht muss dann versendet werden, wenn der Fehler aktuell vorliegt. ",-1)),e[15]||(e[15]=r("li",null," Stelle sicher, dass der Lademodus gewählt ist und im Falle von nicht ladenden ladenden Fahrzeugen, dass der Ladepunkt auch entsperrt wurde. ",-1)),e[16]||(e[16]=r("li",null," Das Auslesen der Systemkonfiguration erfolgt direkt nach den Klick auf Absenden und kann einige Zeit in Anspruch nehmen. Du erhältst ca. 15 bis 30 Minuten nach Versand des Systemberichtes von uns automatisch eine E-Mail mit der Ticketnummer unter der die Anfrage bei uns registriert wurde. Wir melden uns bei Dir. Bitte kontrolliere daher immer auch den Spam Ordner auf eingehende Nachrichten. Erhältst Du trotzdem keine Ticketnummer, ist das Versenden des Systemberichtes vermutlich fehlgeschlagen. ",-1))])]),_:1}),o(h,{modelValue:t.email,"onUpdate:modelValue":e[0]||(e[0]=l=>t.email=l),title:"E-Mail",required:"",subtype:"email"},{help:s(()=>e[17]||(e[17]=[n(" Deine E-Mail-Adresse, an die der Support Dir antwortet. ")])),_:1},8,["modelValue"]),o(h,{title:"openWB Seriennummer",required:"","model-value":i.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[1]||(e[1]=l=>i.updateState("openWB/system/serial_number",l))},{help:s(()=>e[18]||(e[18]=[n(" Die Seriennummer der openWB findest Du außen am, bei älteren Installationen innen im Gehäuse. Du kannst uns aber auch eine Bestellnummer oder Rechnungsnummer übermitteln. Das Gehäuse muss nicht extra geöffnet werden!"),r("br",null,null,-1),n(" Bei einer gekauften openWB wird die Seriennummer automatisch ermittelt. ")])),_:1},8,["model-value"]),o(g,{title:"Verwendete Komponenten",required:"",minlength:"3",maxlength:"500","model-value":a.installedComponents,"onUpdate:modelValue":e[2]||(e[2]=l=>t.components=l)},{help:s(()=>[e[20]||(e[20]=n(" Gib hier möglichst detailliert an, welche Anlagenkomponenten (EVU, PV, Speicher) angebunden sind.")),e[21]||(e[21]=r("br",null,null,-1)),o(d,{to:"/HardwareInstallation"},{default:s(()=>e[19]||(e[19]=[n(" Die Angaben können auch direkt in der Konfiguration der Komponenten dauerhaft gespeichert werden. ")])),_:1})]),_:1},8,["model-value"]),o(g,{title:"Fahrzeuge",required:"",minlength:"3",maxlength:"500","model-value":a.vehicleInfo,"onUpdate:modelValue":e[3]||(e[3]=l=>t.vehicles=l)},{help:s(()=>[e[23]||(e[23]=n(" Gib hier an, welche Fahrzeuge geladen (Hersteller, Modell, Baujahr).")),e[24]||(e[24]=r("br",null,null,-1)),o(d,{to:"/VehicleConfiguration"},{default:s(()=>e[22]||(e[22]=[n(" Die Angaben können auch direkt in der Konfiguration der Fahrzeuge dauerhaft gespeichert werden. ")])),_:1})]),_:1},8,["model-value"]),o(g,{modelValue:t.message,"onUpdate:modelValue":e[4]||(e[4]=l=>t.message=l),title:"Problembeschreibung",required:"",minlength:"20",maxlength:"500"},null,8,["modelValue"])])):w("",!0)]),_:2},[i.$store.state.mqtt["openWB/system/dataprotection_acknowledged"]===!0?{name:"footer",fn:s(()=>[r("div",T,[o(y,{class:F(["col-4",t.enableSendDebugButton?"btn-success":"btn-outline-success"]),disabled:!t.enableSendDebugButton,onButtonClicked:a.sendDebugMessage},{default:s(()=>e[25]||(e[25]=[n(" Absenden ")])),_:1},8,["class","disabled","onButtonClicked"])])]),key:"0"}:void 0]),1024),t.enableSendDebugButton?w("",!0):(f(),k(p,{key:0,subtype:"success"},{default:s(()=>[e[26]||(e[26]=n(" Die Daten für den Fehlerbericht werden im Hintergrund zusammengestellt. Du kannst diese Seite jetzt verlassen. ")),o(S,{"fixed-width":"",icon:["fas","check"]})]),_:1}))]))])])}const $=A(x,[["render",M],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/Support.vue"]]);export{$ as default}; diff --git a/web/settings/assets/System-076fdc44.js b/web/settings/assets/System-0113e541.js similarity index 97% rename from web/settings/assets/System-076fdc44.js rename to web/settings/assets/System-0113e541.js index a5a8c0d647..7ab9ef4c39 100644 --- a/web/settings/assets/System-076fdc44.js +++ b/web/settings/assets/System-0113e541.js @@ -1 +1 @@ -import{l as W,aj as q,p as A,aa as C,$ as S,ak as $,F as U}from"./vendor-fortawesome-05d7e447.js";import{C as z}from"./index-3434d31b.js";import{_ as E,u as b,k as c,l as w,z as B,E as o,B as y,G as s,x as l,y as i,q as _,N as F,M as j,F as T}from"./vendor-06e11d0e.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";W.add(q,A,C,S,$);const x={name:"OpenwbSystemView",components:{FontAwesomeIcon:U},mixins:[z],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/current_commit","openWB/system/current_branch_commit","openWB/system/current_missing_commits","openWB/system/available_branches","openWB/system/current_branch","openWB/system/version","openWB/system/serial_number","openWB/system/ip_address","openWB/system/mac_address"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{updateAvailable(){return this.$store.state.mqtt["openWB/system/current_branch_commit"]&&this.$store.state.mqtt["openWB/system/current_branch_commit"]!=this.$store.state.mqtt["openWB/system/current_commit"]},releaseChangeValid(){return this.$store.state.mqtt["openWB/system/current_branch"]in this.$store.state.mqtt["openWB/system/available_branches"]&&"tags"in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]]&&this.selectedTag in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]].tags}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getBranchGroups(){const t="Release",e="Beta",u="master",v=[t,e],p=(a,d)=>a.value==d.value?0:a.value==t?-1:d.value==t?1:a.value==e?-1:d.value==e?1:a.value==u?-1:d.value==u||a.value>d.value?1:a.value[e[15]||(e[15]=l("h2",null,"Achtung!",-1)),e[16]||(e[16]=l("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),s(f,{modelValue:p.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=n=>p.warningAcknowledged=n),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),p.warningAcknowledged||u.installAssistantActive?(c(),w("div",L,[s(d,{title:"System Information",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.$store.state.mqtt["openWB/system/serial_number"]=n),title:"Seriennummer",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/ip_address"],"onUpdate:modelValue":e[2]||(e[2]=n=>t.$store.state.mqtt["openWB/system/ip_address"]=n),title:"IP-Adresse",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/mac_address"],"onUpdate:modelValue":e[3]||(e[3]=n=>t.$store.state.mqtt["openWB/system/mac_address"]=n),title:"MAC-Adresse",readonly:""},null,8,["modelValue"])]),_:1}),l("form",N,[s(d,{title:"Versions-Informationen / Aktualisierung",subtype:"success",collapsible:!0,collapsed:!u.installAssistantActive},{footer:o(()=>[l("div",R,[l("div",Z,[s(h,{class:"btn-info",onButtonClicked:e[8]||(e[8]=n=>r.sendSystemCommand("systemFetchVersions"))},{default:o(()=>[e[19]||(e[19]=i(" Informationen aktualisieren ")),s(g,{"fixed-width":"",icon:["fas","download"]})]),_:1})]),l("div",O,[s(h,{class:_(r.updateAvailable?"btn-success clickable":"btn-outline-success"),disabled:!r.updateAvailable,onButtonClicked:e[9]||(e[9]=n=>r.systemUpdate())},{default:o(()=>[e[20]||(e[20]=i(" Update ")),s(g,{"fixed-width":"",icon:["fas","arrow-alt-circle-up"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[4]||(e[4]=n=>t.$store.state.mqtt["openWB/system/current_branch"]=n),title:"Entwicklungszweig",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/version"],"onUpdate:modelValue":e[5]||(e[5]=n=>t.$store.state.mqtt["openWB/system/version"]=n),title:"Bezeichnung",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_commit"],"onUpdate:modelValue":e[6]||(e[6]=n=>t.$store.state.mqtt["openWB/system/current_commit"]=n),title:"installierte Version",readonly:"",class:_(r.updateAvailable?"text-danger":"text-success")},null,8,["modelValue","class"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch_commit"],"onUpdate:modelValue":e[7]||(e[7]=n=>t.$store.state.mqtt["openWB/system/current_branch_commit"]=n),title:"aktuellste Version",readonly:""},null,8,["modelValue"]),r.updateAvailable?(c(),B(d,{key:0,title:"Änderungen",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[l("ul",I,[(c(!0),w(F,null,j(t.$store.state.mqtt["openWB/system/current_missing_commits"],(n,V)=>(c(),w("li",{key:V},T(n),1))),128))])]),_:1})):y("",!0),s(m,{subtype:"danger"},{default:o(()=>e[17]||(e[17]=[i(" Nach einem Update wird die Ladestation direkt neu gestartet! Es werden alle eventuell vorhandenen lokalen Änderungen am Programmcode mit dem Update verworfen! ")])),_:1}),t.$store.state.mqtt["openWB/system/current_branch"]!="Release"?(c(),B(m,{key:1,subtype:"danger"},{default:o(()=>e[18]||(e[18]=[i(' Du bist nicht auf dem für den normalen Gebrauch empfohlenen Entwicklungszweig "Release". Wir empfehlen, auf diesen Zweig zu wechseln, sobald dort eine neue Version verfügbar ist.'),l("br",null,null,-1),i(" Bevor ein Update angestoßen wird, sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren. ")])),_:1})):y("",!0)]),_:1},8,["collapsed"])]),u.installAssistantActive?y("",!0):(c(),w("form",P,[s(d,{title:"Betrieb",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",G,[l("div",M,[s(h,{class:"btn-warning",onButtonClicked:e[10]||(e[10]=n=>r.sendSystemCommand("systemReboot"))},{default:o(()=>[e[22]||(e[22]=i(" Neustart ")),s(g,{"fixed-width":"",icon:["fas","undo"]})]),_:1})]),l("div",H,[s(h,{class:"btn-danger",onButtonClicked:e[11]||(e[11]=n=>r.sendSystemCommand("systemShutdown"))},{default:o(()=>[e[23]||(e[23]=i(" Ausschalten ")),s(g,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[21]||(e[21]=[i(" Wenn die Ladestation ausgeschaltet wird, muss sie komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")])),_:1})]),_:1})])),u.installAssistantActive?y("",!0):(c(),w("form",J,[s(d,{title:"Entwicklungszweig",subtype:"danger",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",K,[l("div",Q,[s(h,{class:_(r.releaseChangeValid?"btn-danger clickable":"btn-outline-danger"),disabled:!r.releaseChangeValid,onButtonClicked:e[14]||(e[14]=n=>r.switchBranch())},{default:o(()=>[s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[26]||(e[26]=i(" Branch und Tag wechseln ")),s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[24]||(e[24]=[i(" Nach einem Wechsel wird die Ladestation direkt neu gestartet! Es werden alle lokalen Änderungen mit dem Wechsel verworfen! ")])),_:1}),s(m,{subtype:"warning"},{default:o(()=>e[25]||(e[25]=[i(" Bevor auf einen neuen Entwicklungszweig gewechselt wird sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren."),l("br",null,null,-1),i(' Für den normalen Betrieb wird der Zweig "Release" empfohlen. Der Softwarestand wurde ausgiebig getestet, sodass ein Fehlverhalten relativ unwahrscheinlich ist.'),l("br",null,null,-1),i(' Der "Beta" Zweig beinhaltet Vorabversionen, bei denen die Entwicklung soweit abgeschlossen ist. Die enthaltenen Anpassungen wurden rudimentär getestet, können aber durchaus noch Fehler enthalten.'),l("br",null,null,-1),i(' Die aktuelle Softwareentwicklung findet im Zweig "master" statt. Die enthaltenen Anpassungen sind teilweise noch nicht getestet und enthalten potentiell Fehler.'),l("br",null,null,-1),i(' Einträge, die mit "feature" beginnen, sind experimentelle Entwicklungszweige, die nicht für den allgemeinen Gebrauch gedacht sind. ')])),_:1}),s(k,{title:"Entwicklungszweig",groups:r.getBranchGroups(),"model-value":t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[12]||(e[12]=n=>t.updateState("openWB/system/current_branch",n))},null,8,["groups","model-value"]),s(k,{modelValue:p.selectedTag,"onUpdate:modelValue":e[13]||(e[13]=n=>p.selectedTag=n),title:"Tag",options:r.getBranchTagOptions()},null,8,["modelValue","options"])]),_:1})]))])):y("",!0)])}const le=E(x,[["render",X],["__scopeId","data-v-059847f6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/System.vue"]]);export{le as default}; +import{l as W,aj as q,p as A,aa as C,$ as S,ak as $,F as U}from"./vendor-fortawesome-231ff303.js";import{C as z}from"./index-6ffbdc7e.js";import{_ as E,u as b,l as c,m as w,z as B,E as o,B as y,G as s,x as l,y as i,q as _,N as F,M as j,F as T}from"./vendor-0c15df0c.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";W.add(q,A,C,S,$);const x={name:"OpenwbSystemView",components:{FontAwesomeIcon:U},mixins:[z],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand"],data(){return{mqttTopicsToSubscribe:["openWB/system/optionBackup","openWB/system/current_commit","openWB/system/current_branch_commit","openWB/system/current_missing_commits","openWB/system/available_branches","openWB/system/current_branch","openWB/system/version","openWB/system/serial_number","openWB/system/ip_address","openWB/system/mac_address"],warningAcknowledged:!1,selectedTag:"*HEAD*"}},computed:{updateAvailable(){return this.$store.state.mqtt["openWB/system/current_branch_commit"]&&this.$store.state.mqtt["openWB/system/current_branch_commit"]!=this.$store.state.mqtt["openWB/system/current_commit"]},releaseChangeValid(){return this.$store.state.mqtt["openWB/system/current_branch"]in this.$store.state.mqtt["openWB/system/available_branches"]&&"tags"in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]]&&this.selectedTag in this.$store.state.mqtt["openWB/system/available_branches"][this.$store.state.mqtt["openWB/system/current_branch"]].tags}},methods:{sendSystemCommand(t,e={}){this.$emit("sendCommand",{command:t,data:e})},getBranchGroups(){const t="Release",e="Beta",u="master",v=[t,e],p=(a,d)=>a.value==d.value?0:a.value==t?-1:d.value==t?1:a.value==e?-1:d.value==e?1:a.value==u?-1:d.value==u||a.value>d.value?1:a.value[e[15]||(e[15]=l("h2",null,"Achtung!",-1)),e[16]||(e[16]=l("p",null," Vor allen Aktionen auf dieser Seite ist sicherzustellen, dass kein Ladevorgang aktiv ist! Zur Sicherheit bitte zusätzlich alle Fahrzeuge von der Ladestation / den Ladestationen abstecken! ",-1)),s(f,{modelValue:p.warningAcknowledged,"onUpdate:modelValue":e[0]||(e[0]=n=>p.warningAcknowledged=n),title:"Ich habe die Warnung verstanden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}]},null,8,["modelValue"])]),_:1})),p.warningAcknowledged||u.installAssistantActive?(c(),w("div",L,[s(d,{title:"System Information",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/serial_number"],"onUpdate:modelValue":e[1]||(e[1]=n=>t.$store.state.mqtt["openWB/system/serial_number"]=n),title:"Seriennummer",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/ip_address"],"onUpdate:modelValue":e[2]||(e[2]=n=>t.$store.state.mqtt["openWB/system/ip_address"]=n),title:"IP-Adresse",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/mac_address"],"onUpdate:modelValue":e[3]||(e[3]=n=>t.$store.state.mqtt["openWB/system/mac_address"]=n),title:"MAC-Adresse",readonly:""},null,8,["modelValue"])]),_:1}),l("form",N,[s(d,{title:"Versions-Informationen / Aktualisierung",subtype:"success",collapsible:!0,collapsed:!u.installAssistantActive},{footer:o(()=>[l("div",R,[l("div",Z,[s(h,{class:"btn-info",onButtonClicked:e[8]||(e[8]=n=>r.sendSystemCommand("systemFetchVersions"))},{default:o(()=>[e[19]||(e[19]=i(" Informationen aktualisieren ")),s(g,{"fixed-width":"",icon:["fas","download"]})]),_:1})]),l("div",O,[s(h,{class:_(r.updateAvailable?"btn-success clickable":"btn-outline-success"),disabled:!r.updateAvailable,onButtonClicked:e[9]||(e[9]=n=>r.systemUpdate())},{default:o(()=>[e[20]||(e[20]=i(" Update ")),s(g,{"fixed-width":"",icon:["fas","arrow-alt-circle-up"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[4]||(e[4]=n=>t.$store.state.mqtt["openWB/system/current_branch"]=n),title:"Entwicklungszweig",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/version"],"onUpdate:modelValue":e[5]||(e[5]=n=>t.$store.state.mqtt["openWB/system/version"]=n),title:"Bezeichnung",readonly:""},null,8,["modelValue"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_commit"],"onUpdate:modelValue":e[6]||(e[6]=n=>t.$store.state.mqtt["openWB/system/current_commit"]=n),title:"installierte Version",readonly:"",class:_(r.updateAvailable?"text-danger":"text-success")},null,8,["modelValue","class"]),s(a,{modelValue:t.$store.state.mqtt["openWB/system/current_branch_commit"],"onUpdate:modelValue":e[7]||(e[7]=n=>t.$store.state.mqtt["openWB/system/current_branch_commit"]=n),title:"aktuellste Version",readonly:""},null,8,["modelValue"]),r.updateAvailable?(c(),B(d,{key:0,title:"Änderungen",subtype:"info",collapsible:!0,collapsed:!0},{default:o(()=>[l("ul",I,[(c(!0),w(F,null,j(t.$store.state.mqtt["openWB/system/current_missing_commits"],(n,V)=>(c(),w("li",{key:V},T(n),1))),128))])]),_:1})):y("",!0),s(m,{subtype:"danger"},{default:o(()=>e[17]||(e[17]=[i(" Nach einem Update wird die Ladestation direkt neu gestartet! Es werden alle eventuell vorhandenen lokalen Änderungen am Programmcode mit dem Update verworfen! ")])),_:1}),t.$store.state.mqtt["openWB/system/current_branch"]!="Release"?(c(),B(m,{key:1,subtype:"danger"},{default:o(()=>e[18]||(e[18]=[i(' Du bist nicht auf dem für den normalen Gebrauch empfohlenen Entwicklungszweig "Release". Wir empfehlen, auf diesen Zweig zu wechseln, sobald dort eine neue Version verfügbar ist.'),l("br",null,null,-1),i(" Bevor ein Update angestoßen wird, sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren. ")])),_:1})):y("",!0)]),_:1},8,["collapsed"])]),u.installAssistantActive?y("",!0):(c(),w("form",P,[s(d,{title:"Betrieb",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",G,[l("div",M,[s(h,{class:"btn-warning",onButtonClicked:e[10]||(e[10]=n=>r.sendSystemCommand("systemReboot"))},{default:o(()=>[e[22]||(e[22]=i(" Neustart ")),s(g,{"fixed-width":"",icon:["fas","undo"]})]),_:1})]),l("div",H,[s(h,{class:"btn-danger",onButtonClicked:e[11]||(e[11]=n=>r.sendSystemCommand("systemShutdown"))},{default:o(()=>[e[23]||(e[23]=i(" Ausschalten ")),s(g,{"fixed-width":"",icon:["fas","power-off"]})]),_:1})])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[21]||(e[21]=[i(" Wenn die Ladestation ausgeschaltet wird, muss sie komplett spannungsfrei geschaltet werden. Erst beim erneuten Zuschalten der Spannung fährt das System wieder hoch. ")])),_:1})]),_:1})])),u.installAssistantActive?y("",!0):(c(),w("form",J,[s(d,{title:"Entwicklungszweig",subtype:"danger",collapsible:!0,collapsed:!0},{footer:o(()=>[l("div",K,[l("div",Q,[s(h,{class:_(r.releaseChangeValid?"btn-danger clickable":"btn-outline-danger"),disabled:!r.releaseChangeValid,onButtonClicked:e[14]||(e[14]=n=>r.switchBranch())},{default:o(()=>[s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]}),e[26]||(e[26]=i(" Branch und Tag wechseln ")),s(g,{"fixed-width":"",icon:["fas","skull-crossbones"]})]),_:1},8,["class","disabled"])])])]),default:o(()=>[s(m,{subtype:"danger"},{default:o(()=>e[24]||(e[24]=[i(" Nach einem Wechsel wird die Ladestation direkt neu gestartet! Es werden alle lokalen Änderungen mit dem Wechsel verworfen! ")])),_:1}),s(m,{subtype:"warning"},{default:o(()=>e[25]||(e[25]=[i(" Bevor auf einen neuen Entwicklungszweig gewechselt wird sollte immer eine Sicherung erstellt werden! Es kann zwar wieder auf eine ältere Version gewechselt werden, jedoch ist nicht sichergestellt, dass es dabei keine Probleme gibt. Gerade wenn das Datenformat in der neuen Version angepasst wurde, wird eine ältere damit Fehler produzieren."),l("br",null,null,-1),i(' Für den normalen Betrieb wird der Zweig "Release" empfohlen. Der Softwarestand wurde ausgiebig getestet, sodass ein Fehlverhalten relativ unwahrscheinlich ist.'),l("br",null,null,-1),i(' Der "Beta" Zweig beinhaltet Vorabversionen, bei denen die Entwicklung soweit abgeschlossen ist. Die enthaltenen Anpassungen wurden rudimentär getestet, können aber durchaus noch Fehler enthalten.'),l("br",null,null,-1),i(' Die aktuelle Softwareentwicklung findet im Zweig "master" statt. Die enthaltenen Anpassungen sind teilweise noch nicht getestet und enthalten potentiell Fehler.'),l("br",null,null,-1),i(' Einträge, die mit "feature" beginnen, sind experimentelle Entwicklungszweige, die nicht für den allgemeinen Gebrauch gedacht sind. ')])),_:1}),s(k,{title:"Entwicklungszweig",groups:r.getBranchGroups(),"model-value":t.$store.state.mqtt["openWB/system/current_branch"],"onUpdate:modelValue":e[12]||(e[12]=n=>t.updateState("openWB/system/current_branch",n))},null,8,["groups","model-value"]),s(k,{modelValue:p.selectedTag,"onUpdate:modelValue":e[13]||(e[13]=n=>p.selectedTag=n),title:"Tag",options:r.getBranchTagOptions()},null,8,["modelValue","options"])]),_:1})]))])):y("",!0)])}const le=E(x,[["render",X],["__scopeId","data-v-059847f6"],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/System.vue"]]);export{le as default}; diff --git a/web/settings/assets/TestingStore-73470264.js b/web/settings/assets/TestingStore-65231a11.js similarity index 96% rename from web/settings/assets/TestingStore-73470264.js rename to web/settings/assets/TestingStore-65231a11.js index 2d84fab19a..c1caacf521 100644 --- a/web/settings/assets/TestingStore-73470264.js +++ b/web/settings/assets/TestingStore-65231a11.js @@ -1 +1 @@ -import{C as k}from"./index-3434d31b.js";import{S as B}from"./OpenwbSortableList-b0494c12.js";import{_ as O,u as s,k as T,l as z,x as u,G as o,E as n,y as a,F as g}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";const N={name:"OpenwbTestingStoreView",components:{SortableList:B},mixins:[k],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:[]}}},Z={class:"testingStore"},G={name:"testingStoreForm"};function L(t,e,D,j,A,J){const d=s("OpenwbBaseHeading"),S=s("OpenwbBaseSettingElement"),w=s("openwb-base-button-input"),b=s("openwb-base-button-group-input"),i=s("openwb-base-card"),p=s("openwb-base-text-input"),m=s("openwb-base-number-input"),x=s("openwb-base-textarea"),v=s("openwb-base-range-input"),f=s("openwb-base-select-input"),$=s("openwb-base-checkbox-input"),V=s("openwb-base-array-input"),E=s("openwb-base-heading"),r=s("openwb-base-alert"),U=s("sortable-list"),y=s("openwb-base-submit-buttons");return T(),z("div",Z,[u("form",G,[o(i,{title:"Elemente mit BaseSettingElement"},{default:n(()=>[o(d,null,{default:n(()=>e[28]||(e[28]=[a(" Basiselement ")])),_:1}),o(S,null,{help:n(()=>e[29]||(e[29]=[a(" Basis-Element für alle weiteren Elemente. Das ist ein "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1}),o(d,null,{default:n(()=>e[30]||(e[30]=[a(" Abgeleitete Elemente ")])),_:1}),o(w,{title:"Button Input","button-text":"Klick mich",subtype:"info"},{help:n(()=>e[31]||(e[31]=[a(" Einfacher Click-Button für Aktionen. ")])),_:1}),o(b,{title:"Button Group Input",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[32]||(e[32]=[a(" Button-Group Element zur Auswahl weniger Optionen. Bei vielen Optionen besser ein Dropdown verwenden. "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Einfache Eingabefelder"},{default:n(()=>[o(p,{title:"1. Text","model-value":t.$store.state.examples.text1,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateState("text1",l))},{help:n(()=>e[33]||(e[33]=[a(" Einfacher Text ")])),_:1},8,["model-value"]),o(p,{title:"2. Text (E-Mail)",subtype:"email","model-value":t.$store.state.examples.text2,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateState("text2",l))},{help:n(()=>e[34]||(e[34]=[a(" Eingabefeld für E-Mailadressen ")])),_:1},8,["model-value"]),o(p,{title:"3. Text (Host)",subtype:"host","model-value":t.$store.state.examples.text3,"onUpdate:modelValue":e[3]||(e[3]=l=>t.updateState("text3",l))},{help:n(()=>e[35]||(e[35]=[a(" Eingabefeld für Hosts (IP oder Namen) ")])),_:1},8,["model-value"]),o(p,{title:"4. Text (URL)",subtype:"url","model-value":t.$store.state.examples.text4,"onUpdate:modelValue":e[4]||(e[4]=l=>t.updateState("text4",l))},{help:n(()=>e[36]||(e[36]=[a(" Eingabefeld für URLs ")])),_:1},8,["model-value"]),o(p,{title:"5. Text (User)",subtype:"user","model-value":t.$store.state.examples.text5,"onUpdate:modelValue":e[5]||(e[5]=l=>t.updateState("text5",l))},{help:n(()=>e[37]||(e[37]=[a(" Eingabefeld für Benutzernamen ")])),_:1},8,["model-value"]),o(p,{title:"6. Text (Time)",subtype:"time","model-value":t.$store.state.examples.text6,"onUpdate:modelValue":e[6]||(e[6]=l=>t.updateState("text6",l))},{help:n(()=>e[38]||(e[38]=[a(" Eingabefeld für Zeiten ")])),_:1},8,["model-value"]),o(p,{title:"7. Text (Date)",subtype:"date","model-value":t.$store.state.examples.text7,"onUpdate:modelValue":e[7]||(e[7]=l=>t.updateState("text7",l))},{help:n(()=>e[39]||(e[39]=[a(" Eingabefeld für ein Datum ")])),_:1},8,["model-value"]),e[45]||(e[45]=u("hr",null,null,-1)),o(m,{title:"1. Zahl",min:5,max:9,step:2,unit:"kW","model-value":t.$store.state.examples.number1,"onUpdate:modelValue":e[8]||(e[8]=l=>t.updateState("number1",l))},{help:n(()=>e[40]||(e[40]=[a(" Zahl mit Einheit ")])),_:1},8,["model-value"]),o(m,{title:"2. Zahl",min:10,max:32,step:2,"model-value":t.$store.state.examples.number2,"onUpdate:modelValue":e[9]||(e[9]=l=>t.updateState("number2",l))},{help:n(()=>e[41]||(e[41]=[a(" Eingabefeld für Zahlen ohne Einheit ")])),_:1},8,["model-value"]),o(m,{title:"3. Zahl",min:-30,max:30,step:.01,precision:2,unit:"ct/kWh","model-value":t.$store.state.examples.number3*1e5,"onUpdate:modelValue":e[10]||(e[10]=l=>t.updateState("number3",parseFloat((l/1e5).toFixed(7))))},{help:n(()=>e[42]||(e[42]=[a(" Eingabefeld für Zahlen mit Einheit und Nachkommastellen"),u("br",null,null,-1),a(' Zusätzlich zum optionalen Parameter "step" sollte immer auch "precision" gesetzt sein, um unvermeidbare Darstellungsfehler zu vermeiden.'),u("br",null,null,-1),a(" Wenn der dargestellte Wert eine andere Genauigkeit/Einheit als der Wert im Backend hat (z.B. €/Wh <-> ct/kWh), dann ist bei der Umrechnung darauf zu achten, dass es nicht erneut zu Ungenauigkeiten bei Dezimalzahlen kommt. ")])),_:1},8,["model-value"]),o(p,{title:"1. Passwort",subtype:"password","model-value":t.$store.state.examples.password1,"onUpdate:modelValue":e[11]||(e[11]=l=>t.updateState("password1",l))},{help:n(()=>e[43]||(e[43]=[a(" Das Passwort kann per Klick auf das Auge angezeigt werden. ")])),_:1},8,["model-value"]),e[46]||(e[46]=u("hr",null,null,-1)),o(x,{title:"1. Textarea",maxlength:"50","model-value":t.$store.state.examples.textarea1,"onUpdate:modelValue":e[12]||(e[12]=l=>t.updateState("textarea1",l))},{help:n(()=>e[44]||(e[44]=[a(" Textarea mit maximaler Länge von 50 Zeichen. ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Spezielle Elemente"},{default:n(()=>[o(v,{title:"1. Range",min:6,max:32,step:1,unit:"A","model-value":t.$store.state.examples.range1,"onUpdate:modelValue":e[13]||(e[13]=l=>t.updateState("range1",l))},{help:n(()=>e[47]||(e[47]=[a(" Range ohne spezielle Labels ")])),_:1},8,["model-value"]),o(v,{title:"2. Range",min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":t.$store.state.examples.range2,"onUpdate:modelValue":e[14]||(e[14]=l=>t.updateState("range2",l))},{help:n(()=>e[48]||(e[48]=[a(" Range mit speziellen Labels ")])),_:1},8,["model-value"]),e[53]||(e[53]=u("hr",null,null,-1)),o(f,{title:"1. Select","not-selected":"Bitte auswählen",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}],"model-value":t.$store.state.examples.select1,"onUpdate:modelValue":e[15]||(e[15]=l=>t.updateState("select1",l))},{help:n(()=>e[49]||(e[49]=[a(" Select mit einfachen Optionen ")])),_:1},8,["model-value"]),o(f,{title:"2. Select",groups:[{label:"Gruppe 1 (Number)",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}]},{label:"Gruppe 2 (String)",options:[{value:"three",text:"Drei"},{value:"four",text:"Vier"}]}],"not-selected":"Bitte auswählen","add-button":!0,"model-value":t.$store.state.examples.select2,"onUpdate:modelValue":e[16]||(e[16]=l=>t.updateState("select2",l)),"onInput:add":e[17]||(e[17]=l=>t.alert("add button pressed"))},{help:n(()=>e[50]||(e[50]=[a(" Select mit Gruppen und Add-Button. ")])),_:1},8,["model-value"]),e[54]||(e[54]=u("hr",null,null,-1)),o(b,{title:"1. Button-Group",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[18]||(e[18]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[51]||(e[51]=[a(" Hilfetext ")])),_:1},8,["model-value"]),e[55]||(e[55]=u("hr",null,null,-1)),o($,{title:"1. Checkbox","model-value":t.$store.state.examples.checkbox1,"onUpdate:modelValue":e[19]||(e[19]=l=>t.updateState("checkbox1",l))},{help:n(()=>e[52]||(e[52]=[a(" Hilfetext ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"JSON Gruppe"},{default:n(()=>[o(p,{title:"JSON 1",subtype:"json","model-value":t.$store.state.examples.json1,"onUpdate:modelValue":e[20]||(e[20]=l=>t.updateState("json1",l))},{help:n(()=>e[56]||(e[56]=[a(" JSON Objekt ")])),_:1},8,["model-value"]),o(p,{title:"JSON 1 Text","model-value":t.$store.state.examples.json1.text,"onUpdate:modelValue":e[21]||(e[21]=l=>t.updateState("json1",l,"text"))},{help:n(()=>e[57]||(e[57]=[a(" Text im JSON Objekt ")])),_:1},8,["model-value"]),o(m,{title:"JSON 1 Zahl","model-value":t.$store.state.examples.json1.number,"onUpdate:modelValue":e[22]||(e[22]=l=>t.updateState("json1",l,"number"))},{help:n(()=>e[58]||(e[58]=[a(" Zahl im JSON Objekt ")])),_:1},8,["model-value"]),o(V,{title:"Tag Array","model-value":t.$store.state.examples.tags,"onUpdate:modelValue":e[23]||(e[23]=l=>t.updateState("tags",l))},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.tags,void 0,2)),1)]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Meldungen"},{header:n(()=>e[59]||(e[59]=[u("span",{style:{"text-decoration":"underline","font-style":"italic"}},[a(" Styled "),u("span",{style:{"font-weight":"initial"}},"Header"),a(" Slot ")],-1)])),default:n(()=>[o(E,null,{help:n(()=>e[60]||(e[60]=[a(" Es sind auch Hilfetexte im #help Slot möglich. "),u("a",{href:"test"},"Link",-1)])),default:n(()=>[e[61]||(e[61]=a(" Das ist eine Überschrift "))]),_:1}),o(r,null,{default:n(()=>e[62]||(e[62]=[a(" Meldung ohne speziellen Subtype. ")])),_:1}),o(r,{subtype:"info"},{default:n(()=>e[63]||(e[63]=[a(" Infomeldung ")])),_:1}),o(r,{subtype:"warning"},{default:n(()=>e[64]||(e[64]=[a(" Warnmeldung ")])),_:1}),o(r,{subtype:"danger"},{default:n(()=>e[65]||(e[65]=[a(" Fehlermeldung ")])),_:1})]),_:1}),o(i,{title:"Listen"},{default:n(()=>[o(U,{modelValue:t.$store.state.examples.hierarchy1,"onUpdate:modelValue":e[24]||(e[24]=l=>t.$store.state.examples.hierarchy1=l),title:"Liste 1",labels:t.$store.state.examples.hierarchy1Labels},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.hierarchy1,void 0,2)),1)]),_:1},8,["modelValue","labels"])]),_:1}),o(y,{"form-name":"testingStoreForm",onSave:e[25]||(e[25]=l=>t.$emit("save")),onReset:e[26]||(e[26]=l=>t.$emit("reset")),onDefaults:e[27]||(e[27]=l=>t.$emit("defaults"))})])])}const K=O(N,[["render",L],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TestingStore.vue"]]);export{K as default}; +import{C as k}from"./index-6ffbdc7e.js";import{S as B}from"./OpenwbSortableList-c42720fc.js";import{_ as O,u as s,l as T,m as z,x as u,G as o,E as n,y as a,F as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const N={name:"OpenwbTestingStoreView",components:{SortableList:B},mixins:[k],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:[]}}},Z={class:"testingStore"},G={name:"testingStoreForm"};function L(t,e,D,j,A,J){const d=s("OpenwbBaseHeading"),S=s("OpenwbBaseSettingElement"),w=s("openwb-base-button-input"),b=s("openwb-base-button-group-input"),i=s("openwb-base-card"),p=s("openwb-base-text-input"),m=s("openwb-base-number-input"),x=s("openwb-base-textarea"),v=s("openwb-base-range-input"),f=s("openwb-base-select-input"),$=s("openwb-base-checkbox-input"),V=s("openwb-base-array-input"),E=s("openwb-base-heading"),r=s("openwb-base-alert"),U=s("sortable-list"),y=s("openwb-base-submit-buttons");return T(),z("div",Z,[u("form",G,[o(i,{title:"Elemente mit BaseSettingElement"},{default:n(()=>[o(d,null,{default:n(()=>e[28]||(e[28]=[a(" Basiselement ")])),_:1}),o(S,null,{help:n(()=>e[29]||(e[29]=[a(" Basis-Element für alle weiteren Elemente. Das ist ein "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1}),o(d,null,{default:n(()=>e[30]||(e[30]=[a(" Abgeleitete Elemente ")])),_:1}),o(w,{title:"Button Input","button-text":"Klick mich",subtype:"info"},{help:n(()=>e[31]||(e[31]=[a(" Einfacher Click-Button für Aktionen. ")])),_:1}),o(b,{title:"Button Group Input",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[32]||(e[32]=[a(" Button-Group Element zur Auswahl weniger Optionen. Bei vielen Optionen besser ein Dropdown verwenden. "),u("a",{href:"test"},"Link",-1),a(". ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Einfache Eingabefelder"},{default:n(()=>[o(p,{title:"1. Text","model-value":t.$store.state.examples.text1,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateState("text1",l))},{help:n(()=>e[33]||(e[33]=[a(" Einfacher Text ")])),_:1},8,["model-value"]),o(p,{title:"2. Text (E-Mail)",subtype:"email","model-value":t.$store.state.examples.text2,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateState("text2",l))},{help:n(()=>e[34]||(e[34]=[a(" Eingabefeld für E-Mailadressen ")])),_:1},8,["model-value"]),o(p,{title:"3. Text (Host)",subtype:"host","model-value":t.$store.state.examples.text3,"onUpdate:modelValue":e[3]||(e[3]=l=>t.updateState("text3",l))},{help:n(()=>e[35]||(e[35]=[a(" Eingabefeld für Hosts (IP oder Namen) ")])),_:1},8,["model-value"]),o(p,{title:"4. Text (URL)",subtype:"url","model-value":t.$store.state.examples.text4,"onUpdate:modelValue":e[4]||(e[4]=l=>t.updateState("text4",l))},{help:n(()=>e[36]||(e[36]=[a(" Eingabefeld für URLs ")])),_:1},8,["model-value"]),o(p,{title:"5. Text (User)",subtype:"user","model-value":t.$store.state.examples.text5,"onUpdate:modelValue":e[5]||(e[5]=l=>t.updateState("text5",l))},{help:n(()=>e[37]||(e[37]=[a(" Eingabefeld für Benutzernamen ")])),_:1},8,["model-value"]),o(p,{title:"6. Text (Time)",subtype:"time","model-value":t.$store.state.examples.text6,"onUpdate:modelValue":e[6]||(e[6]=l=>t.updateState("text6",l))},{help:n(()=>e[38]||(e[38]=[a(" Eingabefeld für Zeiten ")])),_:1},8,["model-value"]),o(p,{title:"7. Text (Date)",subtype:"date","model-value":t.$store.state.examples.text7,"onUpdate:modelValue":e[7]||(e[7]=l=>t.updateState("text7",l))},{help:n(()=>e[39]||(e[39]=[a(" Eingabefeld für ein Datum ")])),_:1},8,["model-value"]),e[45]||(e[45]=u("hr",null,null,-1)),o(m,{title:"1. Zahl",min:5,max:9,step:2,unit:"kW","model-value":t.$store.state.examples.number1,"onUpdate:modelValue":e[8]||(e[8]=l=>t.updateState("number1",l))},{help:n(()=>e[40]||(e[40]=[a(" Zahl mit Einheit ")])),_:1},8,["model-value"]),o(m,{title:"2. Zahl",min:10,max:32,step:2,"model-value":t.$store.state.examples.number2,"onUpdate:modelValue":e[9]||(e[9]=l=>t.updateState("number2",l))},{help:n(()=>e[41]||(e[41]=[a(" Eingabefeld für Zahlen ohne Einheit ")])),_:1},8,["model-value"]),o(m,{title:"3. Zahl",min:-30,max:30,step:.01,precision:2,unit:"ct/kWh","model-value":t.$store.state.examples.number3*1e5,"onUpdate:modelValue":e[10]||(e[10]=l=>t.updateState("number3",parseFloat((l/1e5).toFixed(7))))},{help:n(()=>e[42]||(e[42]=[a(" Eingabefeld für Zahlen mit Einheit und Nachkommastellen"),u("br",null,null,-1),a(' Zusätzlich zum optionalen Parameter "step" sollte immer auch "precision" gesetzt sein, um unvermeidbare Darstellungsfehler zu vermeiden.'),u("br",null,null,-1),a(" Wenn der dargestellte Wert eine andere Genauigkeit/Einheit als der Wert im Backend hat (z.B. €/Wh <-> ct/kWh), dann ist bei der Umrechnung darauf zu achten, dass es nicht erneut zu Ungenauigkeiten bei Dezimalzahlen kommt. ")])),_:1},8,["model-value"]),o(p,{title:"1. Passwort",subtype:"password","model-value":t.$store.state.examples.password1,"onUpdate:modelValue":e[11]||(e[11]=l=>t.updateState("password1",l))},{help:n(()=>e[43]||(e[43]=[a(" Das Passwort kann per Klick auf das Auge angezeigt werden. ")])),_:1},8,["model-value"]),e[46]||(e[46]=u("hr",null,null,-1)),o(x,{title:"1. Textarea",maxlength:"50","model-value":t.$store.state.examples.textarea1,"onUpdate:modelValue":e[12]||(e[12]=l=>t.updateState("textarea1",l))},{help:n(()=>e[44]||(e[44]=[a(" Textarea mit maximaler Länge von 50 Zeichen. ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"Spezielle Elemente"},{default:n(()=>[o(v,{title:"1. Range",min:6,max:32,step:1,unit:"A","model-value":t.$store.state.examples.range1,"onUpdate:modelValue":e[13]||(e[13]=l=>t.updateState("range1",l))},{help:n(()=>e[47]||(e[47]=[a(" Range ohne spezielle Labels ")])),_:1},8,["model-value"]),o(v,{title:"2. Range",min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":t.$store.state.examples.range2,"onUpdate:modelValue":e[14]||(e[14]=l=>t.updateState("range2",l))},{help:n(()=>e[48]||(e[48]=[a(" Range mit speziellen Labels ")])),_:1},8,["model-value"]),e[53]||(e[53]=u("hr",null,null,-1)),o(f,{title:"1. Select","not-selected":"Bitte auswählen",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}],"model-value":t.$store.state.examples.select1,"onUpdate:modelValue":e[15]||(e[15]=l=>t.updateState("select1",l))},{help:n(()=>e[49]||(e[49]=[a(" Select mit einfachen Optionen ")])),_:1},8,["model-value"]),o(f,{title:"2. Select",groups:[{label:"Gruppe 1 (Number)",options:[{value:1,text:"Eins"},{value:2,text:"Zwei"}]},{label:"Gruppe 2 (String)",options:[{value:"three",text:"Drei"},{value:"four",text:"Vier"}]}],"not-selected":"Bitte auswählen","add-button":!0,"model-value":t.$store.state.examples.select2,"onUpdate:modelValue":e[16]||(e[16]=l=>t.updateState("select2",l)),"onInput:add":e[17]||(e[17]=l=>t.alert("add button pressed"))},{help:n(()=>e[50]||(e[50]=[a(" Select mit Gruppen und Add-Button. ")])),_:1},8,["model-value"]),e[54]||(e[54]=u("hr",null,null,-1)),o(b,{title:"1. Button-Group",buttons:[{buttonValue:1,text:"Eins"},{buttonValue:2,text:"Zwei"}],"model-value":t.$store.state.examples.buttonGroup1,"onUpdate:modelValue":e[18]||(e[18]=l=>t.updateState("buttonGroup1",l))},{help:n(()=>e[51]||(e[51]=[a(" Hilfetext ")])),_:1},8,["model-value"]),e[55]||(e[55]=u("hr",null,null,-1)),o($,{title:"1. Checkbox","model-value":t.$store.state.examples.checkbox1,"onUpdate:modelValue":e[19]||(e[19]=l=>t.updateState("checkbox1",l))},{help:n(()=>e[52]||(e[52]=[a(" Hilfetext ")])),_:1},8,["model-value"])]),_:1}),o(i,{title:"JSON Gruppe"},{default:n(()=>[o(p,{title:"JSON 1",subtype:"json","model-value":t.$store.state.examples.json1,"onUpdate:modelValue":e[20]||(e[20]=l=>t.updateState("json1",l))},{help:n(()=>e[56]||(e[56]=[a(" JSON Objekt ")])),_:1},8,["model-value"]),o(p,{title:"JSON 1 Text","model-value":t.$store.state.examples.json1.text,"onUpdate:modelValue":e[21]||(e[21]=l=>t.updateState("json1",l,"text"))},{help:n(()=>e[57]||(e[57]=[a(" Text im JSON Objekt ")])),_:1},8,["model-value"]),o(m,{title:"JSON 1 Zahl","model-value":t.$store.state.examples.json1.number,"onUpdate:modelValue":e[22]||(e[22]=l=>t.updateState("json1",l,"number"))},{help:n(()=>e[58]||(e[58]=[a(" Zahl im JSON Objekt ")])),_:1},8,["model-value"]),o(V,{title:"Tag Array","model-value":t.$store.state.examples.tags,"onUpdate:modelValue":e[23]||(e[23]=l=>t.updateState("tags",l))},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.tags,void 0,2)),1)]),_:1},8,["model-value"])]),_:1}),o(i,{title:"Meldungen"},{header:n(()=>e[59]||(e[59]=[u("span",{style:{"text-decoration":"underline","font-style":"italic"}},[a(" Styled "),u("span",{style:{"font-weight":"initial"}},"Header"),a(" Slot ")],-1)])),default:n(()=>[o(E,null,{help:n(()=>e[60]||(e[60]=[a(" Es sind auch Hilfetexte im #help Slot möglich. "),u("a",{href:"test"},"Link",-1)])),default:n(()=>[e[61]||(e[61]=a(" Das ist eine Überschrift "))]),_:1}),o(r,null,{default:n(()=>e[62]||(e[62]=[a(" Meldung ohne speziellen Subtype. ")])),_:1}),o(r,{subtype:"info"},{default:n(()=>e[63]||(e[63]=[a(" Infomeldung ")])),_:1}),o(r,{subtype:"warning"},{default:n(()=>e[64]||(e[64]=[a(" Warnmeldung ")])),_:1}),o(r,{subtype:"danger"},{default:n(()=>e[65]||(e[65]=[a(" Fehlermeldung ")])),_:1})]),_:1}),o(i,{title:"Listen"},{default:n(()=>[o(U,{modelValue:t.$store.state.examples.hierarchy1,"onUpdate:modelValue":e[24]||(e[24]=l=>t.$store.state.examples.hierarchy1=l),title:"Liste 1",labels:t.$store.state.examples.hierarchy1Labels},{help:n(()=>[u("pre",null,g(JSON.stringify(t.$store.state.examples.hierarchy1,void 0,2)),1)]),_:1},8,["modelValue","labels"])]),_:1}),o(y,{"form-name":"testingStoreForm",onSave:e[25]||(e[25]=l=>t.$emit("save")),onReset:e[26]||(e[26]=l=>t.$emit("reset")),onDefaults:e[27]||(e[27]=l=>t.$emit("defaults"))})])])}const K=O(N,[["render",L],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TestingStore.vue"]]);export{K as default}; diff --git a/web/settings/assets/TimeChargeConfig-b3686dda.js b/web/settings/assets/TimeChargeConfig-faeb8d7d.js similarity index 84% rename from web/settings/assets/TimeChargeConfig-b3686dda.js rename to web/settings/assets/TimeChargeConfig-faeb8d7d.js index 3b260dd719..4fd712ebe6 100644 --- a/web/settings/assets/TimeChargeConfig-b3686dda.js +++ b/web/settings/assets/TimeChargeConfig-faeb8d7d.js @@ -1 +1 @@ -import{C as l}from"./index-3434d31b.js";import{_ as b,u as o,k as i,l as a,x as _,G as s,E as r,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";const f={name:"OpenwbTimeChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/time_charging/phases_to_use"]}}},h={class:"timeChargeConfig"},c={name:"timeChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const u=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return i(),a("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),a("div",v,[s(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[m(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),a("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/time_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/time_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[m(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zeitladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"timeChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const q=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TimeChargeConfig.vue"]]);export{q as default}; +import{C as l}from"./index-6ffbdc7e.js";import{_ as b,u as o,l as i,m as a,x as _,G as s,E as r,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";const f={name:"OpenwbTimeChargeConfigView",mixins:[l],emits:["save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/general/chargemode_config/time_charging/phases_to_use"]}}},h={class:"timeChargeConfig"},c={name:"timeChargeConfigForm"},v={key:0},w={key:1};function C(t,e,$,B,k,V){const u=o("openwb-base-alert"),p=o("openwb-base-button-group-input"),g=o("openwb-base-card"),d=o("openwb-base-submit-buttons");return i(),a("div",h,[_("form",c,[s(g,{title:"Phasenumschaltung"},{default:r(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(i(),a("div",v,[s(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[m(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(i(),a("div",w,[s(p,{title:"Anzahl Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:3,text:"Maximum"}],"model-value":t.$store.state.mqtt["openWB/general/chargemode_config/time_charging/phases_to_use"],"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateState("openWB/general/chargemode_config/time_charging/phases_to_use",n))},{help:r(()=>e[5]||(e[5]=[m(' Hier kann eingestellt werden, ob Ladevorgänge im Modus "Zeitladen" mit nur einer Phase oder dem möglichen Maximum in Abhängigkeit der "Ladepunkt"- und "Fahrzeug"-Einstellungen durchgeführt werden. Voraussetzung ist die verbaute Umschaltmöglichkeit zwischen 1- und 3-phasig (sog. 1p3p). ')])),_:1},8,["model-value"])]))]),_:1}),s(d,{"form-name":"timeChargeConfigForm",onSave:e[1]||(e[1]=n=>t.$emit("save")),onReset:e[2]||(e[2]=n=>t.$emit("reset")),onDefaults:e[3]||(e[3]=n=>t.$emit("defaults"))})])])}const q=b(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/TimeChargeConfig.vue"]]);export{q as default}; diff --git a/web/settings/assets/VehicleConfig-281e945c.js b/web/settings/assets/VehicleConfig-87862d5f.js similarity index 88% rename from web/settings/assets/VehicleConfig-281e945c.js rename to web/settings/assets/VehicleConfig-87862d5f.js index dc8ccc765e..47c8d45739 100644 --- a/web/settings/assets/VehicleConfig-281e945c.js +++ b/web/settings/assets/VehicleConfig-87862d5f.js @@ -1 +1 @@ -import{l as $,d as H,a7 as j,A as J,ag as G,ah as Y,z as Q,W as X,O as K,Y as ee,ai as te,N as ne,F as ae,I as le}from"./vendor-fortawesome-05d7e447.js";import{_ as k,C as ie}from"./index-3434d31b.js";import{_ as oe}from"./dynamic-import-helper-be004503.js";import{_ as q,u as V,k as d,l as g,z as p,E as l,y as i,F as C,G as a,x as h,a1 as re,a2 as de,N as P,B as m,M as E,D as F,q as x,A as N}from"./vendor-06e11d0e.js";const ue={props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},se=q(ue,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/VehicleConfigMixin.vue"]]),me={name:"VehicleConfigFallback",mixins:[se]},ge={class:"vehicle-fallback"},he={key:1};function ce(t,e,b,B,f,s){const W=V("openwb-base-alert"),v=V("openwb-base-textarea");return d(),g("div",ge,[Object.keys(t.vehicle.configuration).length==0?(d(),p(W,{key:0,subtype:"info"},{default:l(()=>[i(' Der Fahrzeug-Typ "'+C(t.vehicle.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(d(),g("div",he,[a(W,{subtype:"warning"},{default:l(()=>[i(' Es wurde keine Konfigurationsseite für den Fahrzeug-Typ "'+C(t.vehicle.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(v,{title:"Konfiguration",subtype:"json","model-value":t.vehicle.configuration,"onUpdate:modelValue":e[0]||(e[0]=T=>t.updateConfiguration(T,"configuration"))},{help:l(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(W,{subtype:"info"},{default:l(()=>[h("pre",null,C(JSON.stringify(t.vehicle.configuration,void 0,2)),1)]),_:1})]))])}const pe=q(me,[["render",ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleConfigFallback.vue"]]),be={name:"OpenwbVehicleProxy",props:{vehicleId:{type:Number,required:!0},vehicle:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading vehicle: ${this.vehicle.type}`),re({loader:()=>oe(Object.assign({"./aiways/vehicle.vue":()=>k(()=>import("./vehicle-61e65f73.js"),["assets/vehicle-61e65f73.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./bmwbc/vehicle.vue":()=>k(()=>import("./vehicle-0d0f888a.js"),["assets/vehicle-0d0f888a.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./evcc/vehicle.vue":()=>k(()=>import("./vehicle-12c1bc97.js"),["assets/vehicle-12c1bc97.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./evnotify/vehicle.vue":()=>k(()=>import("./vehicle-bba7a342.js"),["assets/vehicle-bba7a342.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./http/vehicle.vue":()=>k(()=>import("./vehicle-4083a50a.js"),["assets/vehicle-4083a50a.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./json/vehicle.vue":()=>k(()=>import("./vehicle-1bd23f96.js"),["assets/vehicle-1bd23f96.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kia/vehicle.vue":()=>k(()=>import("./vehicle-1a2703da.js"),["assets/vehicle-1a2703da.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./manual/vehicle.vue":()=>k(()=>import("./vehicle-78b94855.js"),["assets/vehicle-78b94855.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mercedeseq/vehicle.vue":()=>k(()=>import("./vehicle-d7550cc6.js"),["assets/vehicle-d7550cc6.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/vehicle.vue":()=>k(()=>import("./vehicle-b93c6372.js"),["assets/vehicle-b93c6372.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ovms/vehicle.vue":()=>k(()=>import("./vehicle-f1265f9c.js"),["assets/vehicle-f1265f9c.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./psa/vehicle.vue":()=>k(()=>import("./vehicle-f50fcc3e.js"),["assets/vehicle-f50fcc3e.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./psacc/vehicle.vue":()=>k(()=>import("./vehicle-2386edaa.js"),["assets/vehicle-2386edaa.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./renault/vehicle.vue":()=>k(()=>import("./vehicle-04bdb769.js"),["assets/vehicle-04bdb769.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./skodaconnect/vehicle.vue":()=>k(()=>import("./vehicle-334c2060.js"),["assets/vehicle-334c2060.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smarthello/vehicle.vue":()=>k(()=>import("./vehicle-cc6a42af.js"),["assets/vehicle-cc6a42af.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/vehicle.vue":()=>k(()=>import("./vehicle-23a37988.js"),["assets/vehicle-23a37988.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-axios-22b906fb.js","assets/index-3434d31b.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tronity/vehicle.vue":()=>k(()=>import("./vehicle-f1503767.js"),["assets/vehicle-f1503767.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vwid/vehicle.vue":()=>k(()=>import("./vehicle-ea6cdd7d.js"),["assets/vehicle-ea6cdd7d.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/index-3434d31b.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.vehicle.type}/vehicle.vue`),errorComponent:pe})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,b,B,f,s){const W=V("openwb-base-heading");return d(),g(P,null,[a(W,null,{default:l(()=>[i(' Einstellungen für SoC-Modul "'+C(b.vehicle.name)+'" ',1)]),_:1}),(d(),p(de(s.myComponent),{"vehicle-id":b.vehicleId,vehicle:b.vehicle,"onUpdate:configuration":e[0]||(e[0]=v=>s.updateConfiguration(v))},null,40,["vehicle-id","vehicle"]))],64)}const fe=q(be,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleProxy.vue"]]);$.add(H,j,J,G,Y,Q,X,K,ee,te,ne);const _e={name:"OpenwbVehicleConfigView",components:{FontAwesomeIcon:ae,FontAwesomeLayers:le,OpenwbVehicleProxy:fe},mixins:[ie],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/et/provider","openWB/optional/rfid/active","openWB/vehicle/template/ev_template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/template/charge_template/+/chargemode/scheduled_charging/plans/+","openWB/vehicle/template/charge_template/+/time_charging/plans/+","openWB/vehicle/+/name","openWB/vehicle/+/info","openWB/vehicle/+/charge_template","openWB/vehicle/+/ev_template","openWB/vehicle/+/tag_id","openWB/system/configurable/soc_modules","openWB/vehicle/+/soc_module/general_config","openWB/vehicle/+/soc_module/config"],showVehicleModal:!1,modalVehicleIndex:void 0,showEvTemplateModal:!1,modalEvTemplateIndex:void 0,showChargeTemplateModal:!1,modalChargeTemplateIndex:void 0,showChargeTemplateSchedulePlanModal:!1,modalChargeTemplateSchedulePlanIndex:void 0,showChargeTemplateTimeChargingPlanModal:!1,modalChargeTemplateTimeChargingPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}},evTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/ev_template/+")}},evTemplateList:{get(){let t=[];return Object.keys(this.evTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+b].name;t.push({value:b,text:B})}),t}},chargeTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/charge_template/+")}},chargeTemplateList:{get(){let t=[];return Object.keys(this.chargeTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+b].name;t.push({value:b,text:B})}),t}},socModuleList:{get(){return this.$store.state.mqtt["openWB/system/configurable/soc_modules"]}}},methods:{getChargeTemplateScheduledChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/chargemode/scheduled_charging/plans/+")},getChargeTemplateTimeChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/time_charging/plans/+")},addVehicle(t){t.stopPropagation(),console.info("requesting new vehicle..."),this.$emit("sendCommand",{command:"addVehicle",data:{}})},removeVehicleModal(t,e){e.stopPropagation(),this.modalVehicleIndex=t,this.showVehicleModal=!0},removeVehicle(t,e){this.showVehicleModal=!1,e=="confirm"&&(console.info("request removal of vehicle '"+t+"'"),this.$emit("sendCommand",{command:"removeVehicle",data:{id:t}}))},getVehicleName(t){return this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]:"Fahrzeug "+t},getSocDefaultConfiguration(t){const e=this.socModuleList.find(b=>b.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for soc type!",t),{})},updateSelectedSocModule(t,e){this.updateState("openWB/vehicle/"+t+"/soc_module/config",e,"type"),this.updateState("openWB/vehicle/"+t+"/soc_module/config",this.getSocDefaultConfiguration(e))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},addEvTemplate(t){t.stopPropagation(),console.info("requesting new ev template..."),this.$emit("sendCommand",{command:"addEvTemplate",data:{}})},removeEvTemplateModal(t,e){e.stopPropagation(),this.modalEvTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.showEvTemplateModal=!0},removeEvTemplate(t,e){this.showEvTemplateModal=!1,e=="confirm"&&(console.info("request removal of ev template '"+t+"'"),this.$emit("sendCommand",{command:"removeEvTemplate",data:{id:t}}))},getEvTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t].name:"Fahrzeug-Profil "+t},addChargeTemplate(t){t.stopPropagation(),console.info("requesting new charge template..."),this.$emit("sendCommand",{command:"addChargeTemplate",data:{}})},getChargeTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargeTemplateModal(t,e){e.stopPropagation(),this.modalChargeTemplateIndex=this.getChargeTemplateIndex(t),this.showChargeTemplateModal=!0},removeChargeTemplate(t,e){this.showChargeTemplateModal=!1,e=="confirm"&&(console.info("request removal of charge template '"+t+"'"),this.$emit("sendCommand",{command:"removeChargeTemplate",data:{id:t}}))},getChargeTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t].name:"Lade-Profil "+t},getChargeTemplateSchedulePlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e].name:"Zielladen Zeitplan "+t+"/"+e},addChargeTemplateSchedulePlan(t,e){e.stopPropagation(),console.info("requesting new charge template schedule plan...");let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:b}})},removeChargeTemplateSchedulePlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateSchedulePlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateSchedulePlanModal=!0},removeChargeTemplateSchedulePlan(t,e,b){this.showChargeTemplateSchedulePlanModal=!1,b=="confirm"&&(console.info("request removal of charge template '"+t+"' schedule plan '"+e+"'"),this.$emit("sendCommand",{command:"removeChargeTemplateSchedulePlan",data:{template:t,plan:e}}))},getChargeTemplateTimeChargingPlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e].name:"Zeitladen Zeitplan "+t+"/"+e},addChargeTemplateTimeChargingPlan(t,e){e.stopPropagation(),console.info("requesting new charge template time charging plan...");let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:b}})},removeChargeTemplateTimeChargingPlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateTimeChargingPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateTimeChargingPlanModal=!0},removeChargeTemplateTimeChargingPlan(t,e,b){this.showChargeTemplateTimeChargingPlanModal=!1,b=="confirm"&&(console.info("request removal of charge template '"+t+"' time charging plan '"+e+"'"),this.$emit("sendCommand",{command:"removeChargeTemplateTimeChargingPlan",data:{template:t,plan:e}}))}}},we={class:"vehicleConfig"},ke={name:"vehicleConfigForm"},Ve={key:0},Ce={key:1},Se={key:2},ze=["innerHTML"],Ue={key:3},Te={key:0},We={key:1},Le={key:0},Pe={key:1},Ae={key:0},ye={key:0},Ee={key:3},Be={key:0},Fe={key:1},qe={key:0},Me={key:0},De={key:0},Ze=["onClick"],xe={key:0},Ne={key:1},Oe={key:2},Ie={key:3},Re={key:4},$e={key:5},He={key:4},je=["onClick"],Je={key:0},Ge={key:1},Ye={key:2},Qe={key:3},Xe={key:4},Ke={key:5};function et(t,e,b,B,f,s){const W=V("openwb-base-modal-dialog"),v=V("font-awesome-icon"),T=V("openwb-base-avatar"),y=V("openwb-base-alert"),z=V("openwb-base-text-input"),M=V("openwb-base-select-input"),O=V("openwb-base-array-input"),_=V("openwb-base-button-group-input"),L=V("openwb-base-heading"),w=V("openwb-base-number-input"),I=V("openwb-vehicle-proxy"),A=V("openwb-base-card"),Z=V("font-awesome-layers"),S=V("openwb-base-range-input"),R=V("openwb-base-submit-buttons");return d(),g(P,null,[a(W,{show:f.showVehicleModal,title:"Fahrzeug löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>s.removeVehicle(f.modalVehicleIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug "'+C(s.getVehicleName(f.modalVehicleIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showEvTemplateModal,title:"Fahrzeug-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=o=>s.removeEvTemplate(f.modalEvTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug-Profil "'+C(s.getEvTemplateName(f.modalEvTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateModal,title:"Lade-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=o=>s.removeChargeTemplate(f.modalChargeTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Lade-Profil "'+C(s.getChargeTemplateName(f.modalChargeTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateSchedulePlanModal,title:"Zielladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[3]||(e[3]=o=>s.removeChargeTemplateSchedulePlan(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zielladen Zeitplan "'+C(s.getChargeTemplateSchedulePlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateTimeChargingPlanModal,title:"Zeitladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[4]||(e[4]=o=>s.removeChargeTemplateTimeChargingPlan(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zeitladen Zeitplan "'+C(s.getChargeTemplateTimeChargingPlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),h("div",we,[h("form",ke,[a(A,{subtype:"info",collapsible:!0,collapsed:t.$route.params.section!="vehicle"},{header:l(()=>[a(v,{"fixed-width":"",icon:["fas","car"]}),e[8]||(e[8]=i(" Fahrzeuge "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addVehicle},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Ve,[a(y,{subtype:"info"},{default:l(()=>e[9]||(e[9]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Ce,[(d(!0),g(P,null,E(s.vehicleIndexes,o=>(d(),p(A,{key:o,title:s.getVehicleName(o),collapsible:!0,collapsed:!(t.$route.params.section=="vehicle"&&parseInt(t.$route.params.section_index)==o),subtype:"info"},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/name"],disabled:o===0,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/name",r)},F({_:2},[o===0?{name:"help",fn:l(()=>[e[10]||(e[10]=i(" Das Standard-Fahrzeug kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),o!==0?(d(),p(z,{key:0,title:"Fahrzeughersteller ","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].manufacturer,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"manufacturer")},{help:l(()=>[...e[11]||(e[11]=[i(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),o!==0?(d(),p(z,{key:1,title:"Fahrzeugmodell","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].model,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"model")},{help:l(()=>[...e[12]||(e[12]=[i(" Optional: zusätzliche Information für den Systembericht."),h("br",null,null,-1),i(" Nach Möglichkeit auch Angabe des Baujahres, da es durchaus beim Verhalten des Fahrzeugs Unterschiede geben kann. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(y,{subtype:"info"},{default:l(()=>[...e[13]||(e[13]=[i(" Ein anderes Fahrzeug-Profil wird erst NACH dem Abstecken übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])]),_:1}),a(M,{title:"Fahrzeug-Profil",options:s.evTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/ev_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/ev_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),a(M,{title:"Lade-Profil",options:s.chargeTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/charge_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/charge_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),e[24]||(e[24]=h("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!b.installAssistantActive?(d(),g("div",Se,[a(O,{title:"Zugeordnete ID-Tags","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/tag_id"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/tag_id",r)},null,8,["model-value","onUpdate:modelValue"]),a(y,{subtype:"info"},{default:l(()=>[e[14]||(e[14]=i(" Die hier eingetragenen ID-Tags dienen ausschließlich der Fahrzeugzuordnung.")),e[15]||(e[15]=h("br",null,null,-1)),h("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,ze)]),_:1}),e[16]||(e[16]=h("hr",null,null,-1))])):m("",!0),a(M,{class:"mb-2",title:"SoC-Modul des Fahrzeugs",options:s.socModuleList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type,"onUpdate:modelValue":r=>s.updateSelectedSocModule(o,r)},{help:l(()=>[...e[17]||(e[17]=[i(" Mit einem SoC-Modul kann der Ladestand des Fahrzeugs ermittelt und geregelt werden. Z.B. lassen sich unabhängig vom Fahrzeug bestimmte SoC-Werte einstellen, um den Fahrzeugakku zu schonen. Aktuell werden die SoC-Werte mittels der App-Zugangsdaten aus dem Herstellerserver des Fahrzeuges ausgelesen. Zukünftig soll auch eine direkte SoC-Auslesung aus dem Fahrzeug möglich werden (openWB Pro)."),h("br",null,null,-1),i(" Die SoC-Abfrage erfolgt automatisch beim Anstecken des Fahrzeuges und zusätzlich über einstellbare Abfrageintervalle während des Ladens und Nichtladens. Die Abfrage kann auch manuell durch Klick auf den Reload-Pfeil auf der Hauptseite ausgelöst werden."),h("br",null,null,-1),i(" Wenn eine Abfrage fehlschlägt, wird noch drei weitere Male im Abstand von 5 Minuten versucht, den SoC abzufragen. Wenn dies nicht erfolgreich ist, wird der SoC auf 0% gesetzt um zu vermeiden, dass ein Auto beim SoC-basierten Laden nicht geladen wird. Die Abfrage erfolgt dann wieder in den oben genannten Intervallen."),h("br",null,null,-1),i(" Da aktuell die SoC-Abfragen über Onlineserver der Fahrzeughersteller laufen, ist infolge möglicher Umstellungen/Wartungen keine 100%-ig sichere SoC-Abfrage garantiert. Auch kann es zu SoC-Abweichungen infolge von zeitlicher Verzögerungen kommen. Hilfestellung erfolgt primär im openWB-Forum. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type?(d(),g("div",Ue,[a(_,{title:"SoC direkt aus Fahrzeug auslesen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].use_soc_from_cp,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"use_soc_from_cp")},{help:l(()=>[...e[18]||(e[18]=[i(" Wenn Ladepunkt und Fahrzeug das direkte Auslesen des SoCs über das Ladekabel unterstützen, wird der SoC nach dem Anstecken aus dem Fahrzeug ausgelesen und während der Ladung berechnet. Das direkte Auslesen des SoC aus dem Fahrzeug ist aktuell nur mit einer openWB Pro möglich. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{help:l(()=>[...e[19]||(e[19]=[i(" Einige Hersteller begrenzen die möglichen Abfragen. Sobald ein gewisses Limit in einem Zeitraum überschritten wird, werden weitere Anfragen blockiert. Die Zeitintervalle sollten daher nicht zu klein gewählt werden. ")])]),default:l(()=>[e[20]||(e[20]=i(" Aktualisierung der Fahrzeugdaten "))]),_:1}),a(w,{title:"Während der Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_charging")},{help:l(()=>[...e[21]||(e[21]=[i(" Der Ladestand des Fahrzeugs (SoC) wird bei einem laufenden Ladevorgang in dem hier eingestellten Intervall in Minuten abgefragt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Ohne laufende Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_not_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_not_charging")},{help:l(()=>[...e[22]||(e[22]=[i(" Der Ladestand des Fahrzeugs (SoC) wird in dem hier eingestellten Intervall in Minuten abgefragt, falls kein Ladevorgang aktiv ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Nur aktualisieren wenn angesteckt",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_only_plugged,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"request_only_plugged")},{help:l(()=>[...e[23]||(e[23]=[i(' Wird hier "Ja" ausgewählt, dann wird der Ladestand des Fahrzeugs nur abgefragt, wenn das Ladekabel angesteckt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(I,{"vehicle-id":o,vehicle:t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"],"onUpdate:configuration":r=>s.updateConfiguration("openWB/vehicle/"+o+"/soc_module/config",r)},null,8,["vehicle-id","vehicle","onUpdate:configuration"])])):m("",!0)]),_:2},[o!==0?{name:"actions",fn:l(r=>[r.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:n=>s.removeVehicleModal(o,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}:void 0]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),e[81]||(e[81]=h("hr",{class:"border-secondary"},null,-1)),a(L,null,{default:l(()=>e[25]||(e[25]=[i("Profile")])),_:1}),a(A,{collapsible:!0,collapsed:!0},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","car"],transform:"shrink-8"})]),_:1}),e[26]||(e[26]=i(" Fahrzeug-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addEvTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Te,[a(y,{subtype:"info"},{default:l(()=>e[27]||(e[27]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",We,[a(y,{subtype:"info"},{default:l(()=>e[28]||(e[28]=[i(" Ein anderes Fahrzeug-Profil wird erst "),h("span",{class:"text-uppercase font-weight-bold"}," nach dem Abstecken ",-1),i(" übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])),_:1}),(d(!0),g(P,null,E(s.evTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!0},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[29]||(e[29]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[30]||(e[30]=[i(" Angaben zur Batterie ")])]),_:1}),a(w,{title:"Kapazität der Batterie",unit:"kWh",min:1,step:1,required:"","model-value":o.battery_capacity/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"battery_capacity")},{help:l(()=>[...e[31]||(e[31]=[i(" Angabe der Netto-Kapazität der Fahrzeugbatterie. Dient zur Berechnung des manuellen SoC und der geladenen Reichweite. Die Netto-Kapazität unterscheidet sich meist von den Angaben der Fahrzeughersteller. So besitzt ein Tesla Model S 90 z. B. nur ca. 83kWh und nicht die durch die Typenbezeichnung suggerierten 90kWh. Andere Hersteller begrenzen die nutzbare Kapazität absichtlich, um eine höhere Lebensdauer der Akkus zu erreichen. Gängig sind eine Drosselung auf 90% der angegebenen Brutto-Kapazität. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Le,[a(w,{title:"Wirkungsgrad der Ladeelektronik",unit:"%",min:1,max:100,required:"","model-value":o.efficiency,"onUpdate:modelValue":n=>t.updateState(r,n,"efficiency")},{help:l(()=>[...e[32]||(e[32]=[i(" Durch Verluste in der Ladeelektronik (z. B. Umwandlung Wechselspannung in Gleichspannung) gelangt nicht die komplette Energie, welche durch den Zähler in der Wallbox gemessen wird, in den Akku des Fahrzeugs. Der anzugebende Wert liegt bei gängigen Fahrzeugen im Bereich 90-95%. Eine Ausnahme stellt der Zoe dar, dessen Chameleon-Lader je nach Modellversion und freigegebener Leistung der Wallbox teilweise nur auf ca. 50% kommt."),h("br",null,null,-1),i(" Liegen die Angaben der Wallbox und des Fahrzeugs nach der Ladung mehrere Prozent auseinander, dann kann mit dieser Einstellung eine Feinabstimmung erfolgen: "),h("br",null,null,-1),i(" SoC an der Wallbox zu hoch: Wirkungsgrad um ein paar Prozent reduzieren"),h("br",null,null,-1),i(" SoC an der Wallbox zu gering: Wirkungsgrad um ein paar Prozent erhöhen"),h("br",null,null,-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])])),a(w,{title:"Durchschnittsverbrauch",unit:"kWh / 100km",min:1,step:.1,required:"","model-value":o.average_consump/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"average_consump")},null,8,["model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),g("div",Pe,[a(L,null,{default:l(()=>[...e[33]||(e[33]=[i(" Angaben zur Ladeleistung (DC) ")])]),_:1}),a(w,{title:"Mindestleistung",min:5,unit:"kW","model-value":t.ac_current2dc_power(o.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_min_current")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Maximalleistung",unit:"kW","model-value":t.ac_current2dc_power(o.dc_max_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])])):m("",!0),a(L,null,{default:l(()=>[e[34]||(e[34]=i(" Angaben zum Ladestrom ")),s.dcChargingEnabled===!0?(d(),g("span",Ae," (AC) ")):m("",!0)]),_:1}),a(S,{title:"Mindeststrom",min:6,max:16,step:1,unit:"A","model-value":o.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"min_current")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":o.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":o.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Erlaubte Stromabweichung",step:.1,unit:"A","model-value":o.nominal_difference,"onUpdate:modelValue":n=>t.updateState(r,n,"nominal_difference")},{help:l(()=>[...e[35]||(e[35]=[i(" In manchen Lademodi, z.B. bei der automatischen Phasenumschaltung, wird geprüft, ob das Fahrzeug mit der vorgegebenen Stromstärke lädt. Manche Fahrzeuge laden nicht exakt mit der vorgegebenen Stromstärke. Die erlaubte Abweichung kann hier eingestellt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{default:l(()=>[e[36]||(e[36]=i(" Angaben zur Handhabung von Phasen ")),s.dcChargingEnabled===!0?(d(),g("span",ye," (AC) ")):m("",!0)]),_:1}),a(_,{title:"Unterstützte Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":o.max_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_phases")},{help:l(()=>[...e[37]||(e[37]=[i(" Anzahl der Phasen, die der Fahrzeuglader (s.g. OBC - OnboardCharger) bereitstellt. Plugin-Hybride haben meist nur eine Phase, reine E-Autos meist 2 bis 3 Phasen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"CP-Unterbrechung",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.control_pilot_interruption,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption")},{help:l(()=>[...e[38]||(e[38]=[i(' Erläuterung siehe "Konfiguration - Ladepunkte" -> Hardware-Optionen ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o.control_pilot_interruption?(d(),p(w,{key:2,title:"Dauer der CP-Unterbrechung",min:4,step:1,unit:"s","model-value":o.control_pilot_interruption_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption_duration")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Phasenumschaltung blockieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_phase_switch,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_phase_switch")},{help:l(()=>[...e[39]||(e[39]=[i(' Erläuterung zu 1p3p siehe "Ladeeinstellungen" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Ladung aktiv halten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_charge_stop,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_charge_stop")},{help:l(()=>[...e[40]||(e[40]=[i(" Der Ladevorgang wird in den Lademodi PV- und Zielladen nach Ladebeginn nicht unterbrochen, selbst wenn nicht mehr genug Überschuss vorhanden ist. Diese Einstellung sollte bei Fahrzeugen aktiviert werden, die nach einer Ladungsunterbrechung keine Ladung mehr starten. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Pause bei Phasenumschaltung",unit:"s",min:2,step:1,required:"","model-value":o.phase_switch_pause,"onUpdate:modelValue":n=>t.updateState(r,n,"phase_switch_pause")},null,8,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Ee,[a(w,{title:"Mindestzeit zwischen Umschaltungen",unit:"s",min:2,step:1,required:"","model-value":o.keep_charge_active_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"keep_charge_active_duration")},{help:l(()=>[...e[41]||(e[41]=[i(" Manche Fahrzeuge benötigen nach der Umschaltung einige Zeit, bis sie mit der vorgegebenen Phasenzahl laden. In dieser Zeit wird keine neue Phasenumschaltung angestoßen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[t.$store.state.mqtt["openWB/general/extern"]===!1&&!n.collapsed?(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeEvTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(A,{collapsible:!0,collapsed:t.$route.params.section!="charge_template"},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","plug"],transform:"shrink-8"})]),_:1}),e[42]||(e[42]=i(" Lade-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addChargeTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Be,[a(y,{subtype:"info"},{default:l(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Fe,[(d(!0),g(P,null,E(s.chargeTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!(t.$route.params.section=="charge_template"&&parseInt(t.$route.params.section_index)==s.getChargeTemplateIndex(r))},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[44]||(e[44]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[45]||(e[45]=[i(" Allgemeine Optionen ")])]),_:1}),a(_,{title:"Aktiver Lademodus",buttons:[{buttonValue:"instant_charging",text:"Sofortladen",class:"btn-outline-danger"},{buttonValue:"pv_charging",text:"PV",class:"btn-outline-success"},{buttonValue:"scheduled_charging",text:"Zielladen",class:"btn-outline-primary"},{buttonValue:"standby",text:"Standby",class:"btn-outline-secondary"},{buttonValue:"stop",text:"Stop",class:"btn-outline-dark"}],"model-value":o.chargemode.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.selected")},{help:l(()=>[...e[46]||(e[46]=[i(" Diese Einstellung entspricht dem gewählten Lademodus auf der Hauptseite und ist aktiv, wenn ein zugehöriges Fahrzeug angesteckt ist."),h("br",null,null,-1),i(" Die zur Verfügung stehende Leistung wird intern anhand folgender Prioritätenliste auf die Fahrzeuge bzw. Ladepunkte verteilt:"),h("br",null,null,-1),h("ol",null,[h("li",null,"Zielladen (Sofortladen) mit Priorität"),h("li",null,"Zielladen (Sofortladen)"),h("li",null,"Zeitladen mit Priorität"),h("li",null,"Zeitladen"),h("li",null,"Sofortladen mit Priorität"),h("li",null,"Sofortladen"),h("li",null,"PV (Min-Anteil) mit Priorität"),h("li",null,"PV (Min-Anteil)"),h("li",null,"Zielladen (PV) mit Priorität"),h("li",null,"Zielladen (PV)"),h("li",null,"PV (PV-Anteil) mit Priorität"),h("li",null,"PV (PV-Anteil)")],-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",qe,[a(_,{title:"Priorität",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.prio,"onUpdate:modelValue":n=>t.updateState(r,n,"prio")},{help:l(()=>[...e[47]||(e[47]=[i(" Die Ladefreigabe mit dem jeweils eingestellten Mindeststrom erfolgt für alle Fahrzeuge, soweit die verfügbare Leistung ausreicht. Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar. Erst wenn alle priorisierten Fahrzeuge die maximale Ladeleistung bekommen und noch zusätzlicher Überschuss vorhanden ist, wird auch für Fahrzeuge ohne Priorität mehr Leistung freigegeben. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitladen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.time_charging.active,"onUpdate:modelValue":n=>t.updateState(r,n,"time_charging.active")},{help:l(()=>[...e[48]||(e[48]=[i(' Der Lademodus Zeitladen kann parallel zu einem der anderen Lademodi aktiviert werden. Die Auswahl des Lademodus, der in der Regelung genutzt wird, erfolgt anhand der Übersicht in der Hilfe bei "Aktiver Lademodus". Wenn kein Zeitplan aktiv ist oder das Limit des Zeitplans erreicht wurde, wird der Lademodus verwendet, der bei "Aktiver Lademodus" ausgewählt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Standard nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.load_default,"onUpdate:modelValue":n=>t.updateState(r,n,"load_default")},{help:l(()=>[...e[49]||(e[49]=[i(" Falls diese Option aktiviert ist, wird der betroffene Ladepunkt nach dem Abstecken auf das Standard Fahrzeug zurückgesetzt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Strompreisbasiert Laden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.et.active,"onUpdate:modelValue":n=>t.updateState(r,n,"et.active")},null,8,["model-value","onUpdate:modelValue"]),o.et.active==!0?(d(),g("div",Me,[!t.$store.state.mqtt["openWB/optional/et/provider"]||!t.$store.state.mqtt["openWB/optional/et/provider"].type?(d(),g("div",De,[a(y,{subtype:"danger"},{default:l(()=>[...e[50]||(e[50]=[i(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. ")])]),_:1})])):m("",!0),a(w,{title:"Preisgrenze für Zeit- & Sofortladen",min:"-80",max:"80",step:"0.01",precision:2,unit:"ct/kWh","model-value":o.et.max_price*1e5,"onUpdate:modelValue":n=>t.updateState(r,parseFloat((n/1e5).toFixed(7)),"et.max_price")},{help:l(()=>[...e[51]||(e[51]=[i(" Für Zielladen werden die günstigsten Stunden ermittelt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):m("",!0),e[52]||(e[52]=h("hr",null,null,-1))])),a(L,null,{default:l(()=>[...e[53]||(e[53]=[i("Sofortladen")])]),_:1}),a(S,{title:"Soll-Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.instant_charging.current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:1,title:"Soll-Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.instant_charging.dc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.instant_charging.dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":o.chargemode.instant_charging.limit.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.selected")},{help:l(()=>[...e[54]||(e[54]=[i(" Sofortladen kann ohne Fahrzeug-SoC-Begrenzung (Aus), mit Begrenzung des Fahrzeug-SoC (SoC) bei konfiguriertem SoC-Auslesemodul oder mittels Vorgabe eine gewünschten Energiemenge in kWh (Energie) genutzt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":o.chargemode.instant_charging.limit.soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.soc")},{help:l(()=>[...e[55]||(e[55]=[i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":o.chargemode.instant_charging.limit.amount/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"chargemode.instant_charging.limit.amount")},{help:l(()=>[...e[56]||(e[56]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus oder nach dem Anstecken, wenn Sofortladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[79]||(e[79]=h("hr",null,null,-1)),a(L,null,{default:l(()=>[...e[57]||(e[57]=[i("PV-Laden")])]),_:1}),a(S,{title:"Minimaler Dauerstrom"+(s.dcChargingEnabled?" (AC)":""),min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":o.chargemode.pv_charging.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_current")},{help:l(()=>[...e[58]||(e[58]=[i(' Hier kann eine Stromstärke eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Stromwert empfohlen wird. Diese Einstellung entspricht weitestgehend dem Lademodus "Min+PV" der Version 1.x. ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:2,title:"Minimale Dauerleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_current")},{help:l(()=>[...e[59]||(e[59]=[i(" Hier kann eine Leistung eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Leistungswert empfohlen wird. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(S,{title:"SoC-Limit für das Fahrzeug",min:0,max:20,step:1,unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":o.chargemode.pv_charging.max_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.max_soc")},{help:l(()=>[...e[60]||(e[60]=[i(' Bei der Einstellung "100%" wird die Ladung sofort mit Erreichen der 100% beendet. Dadurch erfolgt KEIN Balancing der Batteriezellen. Ist dies gewünscht (sollte ab und an durchgeführt werden), muss hier "Aus" gewählt werden (Schieberegler ganz nach rechts stellen), um die Ladung MIT Balancing bis zur Beendigung durch das Fahrzeug weiterlaufen zu lassen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC für das Fahrzeug",min:0,max:19,step:1,unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":o.chargemode.pv_charging.min_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc")},{help:l(()=>[...e[61]||(e[61]=[i(' Liegt der Fahrzeug-Ladestand (SoC) unter dem hier eingestellten Wert, dann wird bis zum Erreichen dieses Wertes mit dem eingestellten "Mindest-SoC-Strom" geladen. Dies dient der Sicherstellung eines "Mindest-SoC" - z.B. für eine immer abzudeckende Fahrzeugreichweite - auch wenn kein oder zu wenig Überschuss verfügbar ist (=> Laden mit anteilig Netzstrom). Nach dem Erreichen des "Mindest-SoC" wird bei verfügbarem Überschuss geladen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC-Strom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.pv_charging.min_soc_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc_current")},{help:l(()=>[...e[62]||(e[62]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit dem hier festgelegten "Mindest-SoC-Strom" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:3,title:"Mindest-SoC-Leistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_soc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_soc_current")},{help:l(()=>[...e[63]||(e[63]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit der hier festgelegten "Mindest-SoC-Leistung" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Einspeisegrenze beachten",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.chargemode.pv_charging.feed_in_limit,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.feed_in_limit")},{help:l(()=>[...e[64]||(e[64]=[i(' Erläuterung siehe "Ladeeinstellungen" -> "PV-Laden" -> "Regelparameter" -> "Regelpunkt Einspeisegrenze" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[80]||(e[80]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateSchedulePlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[65]||(e[65]=[i(' Im Lademodus "Zielladen" wird der Ladestrom so angepasst, dass das Fahrzeug zum angegebenen Zeitpunkt den eingestellten SoC bzw. die einzuladende Energiemenge erreicht. Anhand des vorgegebenen Ladestroms wird der Zeitpunkt berechnet, an dem die Ladung spätestens starten muss.'),h("br",null,null,-1),i(' Ist der berechnete Zeitpunkt des Ladestarts noch nicht erreicht, wird mit Überschuss geladen. Auch nach Erreichen des Ziel-SoCs wird mit Überschuss geladen, solange bis das "SoC-Limit für das Fahrzeug" erreicht wird.'),h("br",null,null,-1),i(" Kann der Ziel-SoC bzw. die Energiemenge NICHT erreicht werden, z.B. weil das Auto zu spät angesteckt wurde oder das Lastmanagement eingegriffen hat, wird bis 20 Minuten nach dem angegebenen Termin mit der Maximalstromstärke geladen. Danach wird der Termin verworfen und mit Überschuss geladen. ")])]),default:l(()=>[e[66]||(e[66]=i(" Zielladen "))]),_:2},1024),(d(!0),g(P,null,E(s.getChargeTemplateScheduledChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",xe,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc_scheduled)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ne,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time)+" ",1),n.frequency.selected=="once"?(d(),g("span",Oe,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once)),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Ie,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Re,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,Ze)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateSchedulePlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitpunkt aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Ziel-Uhrzeit",subtype:"time","model-value":n.time,"onUpdate:modelValue":u=>t.updateState(c,u,"time")},{help:l(()=>[...e[67]||(e[67]=[i(" Hier ist die gewünschte Uhrzeit einzustellen, zu welcher das Fahrzeug den gewünschten SoC bzw. die zu ladende Energiemenge BEREITS ERREICHT haben soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},{help:l(()=>[...e[68]||(e[68]=[i(" Mit dieser Stromstärke wird der Zeitpunkt berechnet, wann die Ladung mit Netzbezug gestartet werden muss. Wird der Ziel-SoC nicht zum angegebenen Termin erreicht, weil z.B. das Auto erst später angesteckt wurde, wird auch mit einer höheren Stromstärke geladen. Um etwas Puffer zu haben, empfiehlt es sich, etwas weniger als die Maximalstromstärke des Fahrzeugs zu wählen. ")])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[69]||(e[69]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Fahrzeug-SoC zum Zielzeitpunkt",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_scheduled,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_scheduled")},{help:l(()=>[...e[70]||(e[70]=[i(" SoC, der zum angegebenen Zeitpunkt erreicht werden soll (Ziel-SoC). ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="soc"?(d(),p(S,{key:2,title:"Fahrzeug-SoC mit Überschuss",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_limit,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_limit")},{help:l(()=>[...e[71]||(e[71]=[i(" Nach Erreichen des Ziel-SoCs wird mit Überschuss weiter geladen, bis das SoC-Limit erreicht wird. Sobald das SoC-Limit erreicht wurde, findet keine Ladung mehr mit Überschuss statt! ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:3,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[72]||(e[72]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zielladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Datum",subtype:"date","model-value":n.frequency.once,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",$e,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128)),b.installAssistantActive?m("",!0):(d(),g("div",He,[e[75]||(e[75]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateTimeChargingPlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[73]||(e[73]=[i(" Mit einem Zeitplan kann ein klar abgegrenzter Zeitbereich zum Fahrzeugladen definiert werden. Dies wird häufig genutzt, um einem Fahrzeug kurz vor der Abfahrt Strom anzubieten, damit dessen Vorklimatisierung nicht aus dem Fahrzeugakku, sondern aus der openWB bezogen wird (Enteisung, Vorwärmung, Abkühlung). Nicht von der Vorklimatisierung benötigter Strom erhöht dabei den Fahrzeug-SoC. Um das Stromnetz am Morgen nicht unnötig zu strapazieren, sollte eine moderate Stromvorgabe und ein beschränkter Zeitbereich vorgegeben werden (z.B. max. 10A; 30min - in Übereinstimmung mit den Fahrzeug-App-Vorklimatisierungsvorgaben). ")])]),default:l(()=>[e[74]||(e[74]=i(" Laden nach Zeitplan "))]),_:2},1024)])),(d(!0),g(P,null,E(s.getChargeTemplateTimeChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",Je,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ge,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time[0])+" - "+C(n.time[1])+" ",1),n.frequency.selected=="once"?(d(),g("span",Ye,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Qe,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Xe,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,je)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateTimeChargingPlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[76]||(e[76]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Ziel-SoC für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc")},{help:l(()=>[...e[77]||(e[77]=[i(" Ladestand des Akku (State of Charge, SoC), bis zu welchem maximal geladen werden soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:2,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[78]||(e[78]=[i(" Maximal zu ladende Energie innerhalb des Zeitfensters. Eignet sich immer dann wenn kein SoC zur Verfügung steht. Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zeitladen schon aktiv ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(z,{title:"Zeitpunkt des Ladebeginns",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":u=>t.updateState(c,u,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Zeitpunkt des Ladeendes",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":u=>t.updateState(c,u,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:3,title:"Gültig ab",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Gültig bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",Ke,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[n.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeChargeTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),a(R,{"form-name":"vehicleConfigForm",onSave:e[5]||(e[5]=o=>t.$emit("save")),onReset:e[6]||(e[6]=o=>t.$emit("reset")),onDefaults:e[7]||(e[7]=o=>t.$emit("defaults"))})])])],64)}const tt=q(_e,[["render",et],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/VehicleConfig.vue"]]),ot=Object.freeze(Object.defineProperty({__proto__:null,default:tt},Symbol.toStringTag,{value:"Module"}));export{se as V,tt as a,ot as b}; +import{l as $,d as H,a7 as j,A as J,ag as G,ah as Y,z as Q,W as X,O as K,Y as ee,ai as te,N as ne,F as ae,I as le}from"./vendor-fortawesome-231ff303.js";import{_ as k,C as ie}from"./index-6ffbdc7e.js";import{_ as oe}from"./dynamic-import-helper-be004503.js";import{_ as q,u as V,l as d,m as g,z as p,E as l,y as i,F as C,G as a,x as h,a1 as re,a2 as de,N as P,B as m,M as E,D as F,q as x,A as N}from"./vendor-0c15df0c.js";const ue={props:{vehicleId:{required:!0,type:Number},vehicle:{required:!0,type:Object}},emits:["update:configuration"],methods:{updateConfiguration(t,e=void 0){this.$emit("update:configuration",{value:t,object:e})}}},se=q(ue,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/VehicleConfigMixin.vue"]]),me={name:"VehicleConfigFallback",mixins:[se]},ge={class:"vehicle-fallback"},he={key:1};function ce(t,e,b,B,f,s){const W=V("openwb-base-alert"),v=V("openwb-base-textarea");return d(),g("div",ge,[Object.keys(t.vehicle.configuration).length==0?(d(),p(W,{key:0,subtype:"info"},{default:l(()=>[i(' Der Fahrzeug-Typ "'+C(t.vehicle.type)+'" bietet keine Einstellungen. ',1)]),_:1})):(d(),g("div",he,[a(W,{subtype:"warning"},{default:l(()=>[i(' Es wurde keine Konfigurationsseite für den Fahrzeug-Typ "'+C(t.vehicle.type)+'" gefunden. Die Einstellungen können als JSON direkt bearbeitet werden. ',1)]),_:1}),a(v,{title:"Konfiguration",subtype:"json","model-value":t.vehicle.configuration,"onUpdate:modelValue":e[0]||(e[0]=T=>t.updateConfiguration(T,"configuration"))},{help:l(()=>e[1]||(e[1]=[i(" Bitte prüfen Sie, ob die Eingaben richtig interpretiert werden. ")])),_:1},8,["model-value"]),a(W,{subtype:"info"},{default:l(()=>[h("pre",null,C(JSON.stringify(t.vehicle.configuration,void 0,2)),1)]),_:1})]))])}const pe=q(me,[["render",ce],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleConfigFallback.vue"]]),be={name:"OpenwbVehicleProxy",props:{vehicleId:{type:Number,required:!0},vehicle:{type:Object,required:!0}},emits:["update:configuration"],computed:{myComponent(){return console.debug(`loading vehicle: ${this.vehicle.type}`),re({loader:()=>oe(Object.assign({"./aiways/vehicle.vue":()=>k(()=>import("./vehicle-8049a9ea.js"),["assets/vehicle-8049a9ea.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./bmwbc/vehicle.vue":()=>k(()=>import("./vehicle-d0dcb8af.js"),["assets/vehicle-d0dcb8af.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./evcc/vehicle.vue":()=>k(()=>import("./vehicle-11bd8bba.js"),["assets/vehicle-11bd8bba.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./evnotify/vehicle.vue":()=>k(()=>import("./vehicle-16cf3c3b.js"),["assets/vehicle-16cf3c3b.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./http/vehicle.vue":()=>k(()=>import("./vehicle-139f9053.js"),["assets/vehicle-139f9053.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./json/vehicle.vue":()=>k(()=>import("./vehicle-9a97c4c4.js"),["assets/vehicle-9a97c4c4.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./kia/vehicle.vue":()=>k(()=>import("./vehicle-acf0dddd.js"),["assets/vehicle-acf0dddd.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./manual/vehicle.vue":()=>k(()=>import("./vehicle-4e34d67d.js"),["assets/vehicle-4e34d67d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mercedeseq/vehicle.vue":()=>k(()=>import("./vehicle-5d403ab1.js"),["assets/vehicle-5d403ab1.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./mqtt/vehicle.vue":()=>k(()=>import("./vehicle-4799ea20.js"),["assets/vehicle-4799ea20.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./ovms/vehicle.vue":()=>k(()=>import("./vehicle-c5982e8c.js"),["assets/vehicle-c5982e8c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./psa/vehicle.vue":()=>k(()=>import("./vehicle-1d0e3089.js"),["assets/vehicle-1d0e3089.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./psacc/vehicle.vue":()=>k(()=>import("./vehicle-9ce0437c.js"),["assets/vehicle-9ce0437c.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./renault/vehicle.vue":()=>k(()=>import("./vehicle-33954f90.js"),["assets/vehicle-33954f90.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./skodaconnect/vehicle.vue":()=>k(()=>import("./vehicle-b7044ce6.js"),["assets/vehicle-b7044ce6.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./smarthello/vehicle.vue":()=>k(()=>import("./vehicle-6dfafe6a.js"),["assets/vehicle-6dfafe6a.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tesla/vehicle.vue":()=>k(()=>import("./vehicle-6a2e83cc.js"),["assets/vehicle-6a2e83cc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-axios-c9d2afa0.js","assets/index-6ffbdc7e.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./tronity/vehicle.vue":()=>k(()=>import("./vehicle-2566f4ec.js"),["assets/vehicle-2566f4ec.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"]),"./vwid/vehicle.vue":()=>k(()=>import("./vehicle-d33fdb18.js"),["assets/vehicle-d33fdb18.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/index-6ffbdc7e.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/index-932929b9.css","assets/dynamic-import-helper-be004503.js"])}),`./${this.vehicle.type}/vehicle.vue`),errorComponent:pe})}},methods:{updateConfiguration(t){this.$emit("update:configuration",t)}}};function ve(t,e,b,B,f,s){const W=V("openwb-base-heading");return d(),g(P,null,[a(W,null,{default:l(()=>[i(' Einstellungen für SoC-Modul "'+C(b.vehicle.name)+'" ',1)]),_:1}),(d(),p(de(s.myComponent),{"vehicle-id":b.vehicleId,vehicle:b.vehicle,"onUpdate:configuration":e[0]||(e[0]=v=>s.updateConfiguration(v))},null,40,["vehicle-id","vehicle"]))],64)}const fe=q(be,[["render",ve],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/OpenwbVehicleProxy.vue"]]);$.add(H,j,J,G,Y,Q,X,K,ee,te,ne);const _e={name:"OpenwbVehicleConfigView",components:{FontAwesomeIcon:ae,FontAwesomeLayers:le,OpenwbVehicleProxy:fe},mixins:[ie],props:{installAssistantActive:{type:Boolean,required:!1,default:!1}},emits:["sendCommand","save","reset","defaults"],data(){return{mqttTopicsToSubscribe:["openWB/general/extern","openWB/optional/dc_charging","openWB/optional/et/provider","openWB/optional/rfid/active","openWB/vehicle/template/ev_template/+","openWB/vehicle/template/charge_template/+","openWB/vehicle/template/charge_template/+/chargemode/scheduled_charging/plans/+","openWB/vehicle/template/charge_template/+/time_charging/plans/+","openWB/vehicle/+/name","openWB/vehicle/+/info","openWB/vehicle/+/charge_template","openWB/vehicle/+/ev_template","openWB/vehicle/+/tag_id","openWB/system/configurable/soc_modules","openWB/vehicle/+/soc_module/general_config","openWB/vehicle/+/soc_module/config"],showVehicleModal:!1,modalVehicleIndex:void 0,showEvTemplateModal:!1,modalEvTemplateIndex:void 0,showChargeTemplateModal:!1,modalChargeTemplateIndex:void 0,showChargeTemplateSchedulePlanModal:!1,modalChargeTemplateSchedulePlanIndex:void 0,showChargeTemplateTimeChargingPlanModal:!1,modalChargeTemplateTimeChargingPlanIndex:void 0}},computed:{dcChargingEnabled:{get(){return this.$store.state.mqtt["openWB/optional/dc_charging"]}},vehicleIndexes:{get(){return this.getWildcardIndexList("openWB/vehicle/+/name")}},evTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/ev_template/+")}},evTemplateList:{get(){let t=[];return Object.keys(this.evTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+b].name;t.push({value:b,text:B})}),t}},chargeTemplates:{get(){return this.getWildcardTopics("openWB/vehicle/template/charge_template/+")}},chargeTemplateList:{get(){let t=[];return Object.keys(this.chargeTemplates).forEach(e=>{let b=parseInt(e.match(/([0-9]+)$/g)[0]),B=this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+b].name;t.push({value:b,text:B})}),t}},socModuleList:{get(){return this.$store.state.mqtt["openWB/system/configurable/soc_modules"]}}},methods:{getChargeTemplateScheduledChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/chargemode/scheduled_charging/plans/+")},getChargeTemplateTimeChargingPlans(t){let e=t.match(/([^/]+)$/)[0];return this.getWildcardTopics("openWB/vehicle/template/charge_template/"+e+"/time_charging/plans/+")},addVehicle(t){t.stopPropagation(),console.info("requesting new vehicle..."),this.$emit("sendCommand",{command:"addVehicle",data:{}})},removeVehicleModal(t,e){e.stopPropagation(),this.modalVehicleIndex=t,this.showVehicleModal=!0},removeVehicle(t,e){this.showVehicleModal=!1,e=="confirm"&&(console.info("request removal of vehicle '"+t+"'"),this.$emit("sendCommand",{command:"removeVehicle",data:{id:t}}))},getVehicleName(t){return this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]?this.$store.state.mqtt["openWB/vehicle/"+t+"/name"]:"Fahrzeug "+t},getSocDefaultConfiguration(t){const e=this.socModuleList.find(b=>b.value==t);return Object.prototype.hasOwnProperty.call(e,"defaults")?{...JSON.parse(JSON.stringify(e.defaults))}:(console.warn("no default configuration found for soc type!",t),{})},updateSelectedSocModule(t,e){this.updateState("openWB/vehicle/"+t+"/soc_module/config",e,"type"),this.updateState("openWB/vehicle/"+t+"/soc_module/config",this.getSocDefaultConfiguration(e))},updateConfiguration(t,e){console.debug("updateConfiguration",t,e),this.updateState(t,e.value,e.object)},addEvTemplate(t){t.stopPropagation(),console.info("requesting new ev template..."),this.$emit("sendCommand",{command:"addEvTemplate",data:{}})},removeEvTemplateModal(t,e){e.stopPropagation(),this.modalEvTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.showEvTemplateModal=!0},removeEvTemplate(t,e){this.showEvTemplateModal=!1,e=="confirm"&&(console.info("request removal of ev template '"+t+"'"),this.$emit("sendCommand",{command:"removeEvTemplate",data:{id:t}}))},getEvTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/ev_template/"+t].name:"Fahrzeug-Profil "+t},addChargeTemplate(t){t.stopPropagation(),console.info("requesting new charge template..."),this.$emit("sendCommand",{command:"addChargeTemplate",data:{}})},getChargeTemplateIndex(t){return parseInt(t.match(/([^/]+)$/)[0])},removeChargeTemplateModal(t,e){e.stopPropagation(),this.modalChargeTemplateIndex=this.getChargeTemplateIndex(t),this.showChargeTemplateModal=!0},removeChargeTemplate(t,e){this.showChargeTemplateModal=!1,e=="confirm"&&(console.info("request removal of charge template '"+t+"'"),this.$emit("sendCommand",{command:"removeChargeTemplate",data:{id:t}}))},getChargeTemplateName(t){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t].name:"Lade-Profil "+t},getChargeTemplateSchedulePlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/chargemode/scheduled_charging/plans/"+e].name:"Zielladen Zeitplan "+t+"/"+e},addChargeTemplateSchedulePlan(t,e){e.stopPropagation(),console.info("requesting new charge template schedule plan...");let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateSchedulePlan",data:{template:b}})},removeChargeTemplateSchedulePlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateSchedulePlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateSchedulePlanModal=!0},removeChargeTemplateSchedulePlan(t,e,b){this.showChargeTemplateSchedulePlanModal=!1,b=="confirm"&&(console.info("request removal of charge template '"+t+"' schedule plan '"+e+"'"),this.$emit("sendCommand",{command:"removeChargeTemplateSchedulePlan",data:{template:t,plan:e}}))},getChargeTemplateTimeChargingPlanName(t,e){return this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e]?this.$store.state.mqtt["openWB/vehicle/template/charge_template/"+t+"/time_charging/plans/"+e].name:"Zeitladen Zeitplan "+t+"/"+e},addChargeTemplateTimeChargingPlan(t,e){e.stopPropagation(),console.info("requesting new charge template time charging plan...");let b=parseInt(t.match(/([^/]+)$/)[0]);this.$emit("sendCommand",{command:"addChargeTemplateTimeChargingPlan",data:{template:b}})},removeChargeTemplateTimeChargingPlanModal(t,e,b){b.stopPropagation(),this.modalChargeTemplateIndex=parseInt(t.match(/([^/]+)$/)[0]),this.modalChargeTemplateTimeChargingPlanIndex=parseInt(e.match(/([^/]+)$/)[0]),this.showChargeTemplateTimeChargingPlanModal=!0},removeChargeTemplateTimeChargingPlan(t,e,b){this.showChargeTemplateTimeChargingPlanModal=!1,b=="confirm"&&(console.info("request removal of charge template '"+t+"' time charging plan '"+e+"'"),this.$emit("sendCommand",{command:"removeChargeTemplateTimeChargingPlan",data:{template:t,plan:e}}))}}},we={class:"vehicleConfig"},ke={name:"vehicleConfigForm"},Ve={key:0},Ce={key:1},Se={key:2},ze=["innerHTML"],Ue={key:3},Te={key:0},We={key:1},Le={key:0},Pe={key:1},Ae={key:0},ye={key:0},Ee={key:3},Be={key:0},Fe={key:1},qe={key:0},Me={key:0},De={key:0},Ze=["onClick"],xe={key:0},Ne={key:1},Oe={key:2},Ie={key:3},Re={key:4},$e={key:5},He={key:4},je=["onClick"],Je={key:0},Ge={key:1},Ye={key:2},Qe={key:3},Xe={key:4},Ke={key:5};function et(t,e,b,B,f,s){const W=V("openwb-base-modal-dialog"),v=V("font-awesome-icon"),T=V("openwb-base-avatar"),y=V("openwb-base-alert"),z=V("openwb-base-text-input"),M=V("openwb-base-select-input"),O=V("openwb-base-array-input"),_=V("openwb-base-button-group-input"),L=V("openwb-base-heading"),w=V("openwb-base-number-input"),I=V("openwb-vehicle-proxy"),A=V("openwb-base-card"),Z=V("font-awesome-layers"),S=V("openwb-base-range-input"),R=V("openwb-base-submit-buttons");return d(),g(P,null,[a(W,{show:f.showVehicleModal,title:"Fahrzeug löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[0]||(e[0]=o=>s.removeVehicle(f.modalVehicleIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug "'+C(s.getVehicleName(f.modalVehicleIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showEvTemplateModal,title:"Fahrzeug-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[1]||(e[1]=o=>s.removeEvTemplate(f.modalEvTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Fahrzeug-Profil "'+C(s.getEvTemplateName(f.modalEvTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateModal,title:"Lade-Profil löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[2]||(e[2]=o=>s.removeChargeTemplate(f.modalChargeTemplateIndex,o))},{default:l(()=>[i(' Wollen Sie das Lade-Profil "'+C(s.getChargeTemplateName(f.modalChargeTemplateIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateSchedulePlanModal,title:"Zielladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[3]||(e[3]=o=>s.removeChargeTemplateSchedulePlan(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zielladen Zeitplan "'+C(s.getChargeTemplateSchedulePlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateSchedulePlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),a(W,{show:f.showChargeTemplateTimeChargingPlanModal,title:"Zeitladen Zeitplan löschen",subtype:"danger",buttons:[{text:"Löschen",event:"confirm",subtype:"danger"}],onModalResult:e[4]||(e[4]=o=>s.removeChargeTemplateTimeChargingPlan(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex,o))},{default:l(()=>[i(' Wollen Sie den Zeitladen Zeitplan "'+C(s.getChargeTemplateTimeChargingPlanName(f.modalChargeTemplateIndex,f.modalChargeTemplateTimeChargingPlanIndex))+'" wirklich entfernen? Dieser Vorgang kann nicht rückgängig gemacht werden! ',1)]),_:1},8,["show"]),h("div",we,[h("form",ke,[a(A,{subtype:"info",collapsible:!0,collapsed:t.$route.params.section!="vehicle"},{header:l(()=>[a(v,{"fixed-width":"",icon:["fas","car"]}),e[8]||(e[8]=i(" Fahrzeuge "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addVehicle},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Ve,[a(y,{subtype:"info"},{default:l(()=>e[9]||(e[9]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Ce,[(d(!0),g(P,null,E(s.vehicleIndexes,o=>(d(),p(A,{key:o,title:s.getVehicleName(o),collapsible:!0,collapsed:!(t.$route.params.section=="vehicle"&&parseInt(t.$route.params.section_index)==o),subtype:"info"},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/name"],disabled:o===0,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/name",r)},F({_:2},[o===0?{name:"help",fn:l(()=>[e[10]||(e[10]=i(" Das Standard-Fahrzeug kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),o!==0?(d(),p(z,{key:0,title:"Fahrzeughersteller ","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].manufacturer,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"manufacturer")},{help:l(()=>[...e[11]||(e[11]=[i(" Optional: zusätzliche Information für den Systembericht. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),o!==0?(d(),p(z,{key:1,title:"Fahrzeugmodell","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/info"].model,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/info",r,"model")},{help:l(()=>[...e[12]||(e[12]=[i(" Optional: zusätzliche Information für den Systembericht."),h("br",null,null,-1),i(" Nach Möglichkeit auch Angabe des Baujahres, da es durchaus beim Verhalten des Fahrzeugs Unterschiede geben kann. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(y,{subtype:"info"},{default:l(()=>[...e[13]||(e[13]=[i(" Ein anderes Fahrzeug-Profil wird erst NACH dem Abstecken übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])]),_:1}),a(M,{title:"Fahrzeug-Profil",options:s.evTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/ev_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/ev_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),a(M,{title:"Lade-Profil",options:s.chargeTemplateList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/charge_template"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/charge_template",r)},null,8,["options","model-value","onUpdate:modelValue"]),e[24]||(e[24]=h("hr",null,null,-1)),t.$store.state.mqtt["openWB/optional/rfid/active"]===!0&&!b.installAssistantActive?(d(),g("div",Se,[a(O,{title:"Zugeordnete ID-Tags","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/tag_id"],"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/tag_id",r)},null,8,["model-value","onUpdate:modelValue"]),a(y,{subtype:"info"},{default:l(()=>[e[14]||(e[14]=i(" Die hier eingetragenen ID-Tags dienen ausschließlich der Fahrzeugzuordnung.")),e[15]||(e[15]=h("br",null,null,-1)),h("span",{innerHTML:t.$store.state.text.rfidWiki},null,8,ze)]),_:1}),e[16]||(e[16]=h("hr",null,null,-1))])):m("",!0),a(M,{class:"mb-2",title:"SoC-Modul des Fahrzeugs",options:s.socModuleList,"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type,"onUpdate:modelValue":r=>s.updateSelectedSocModule(o,r)},{help:l(()=>[...e[17]||(e[17]=[i(" Mit einem SoC-Modul kann der Ladestand des Fahrzeugs ermittelt und geregelt werden. Z.B. lassen sich unabhängig vom Fahrzeug bestimmte SoC-Werte einstellen, um den Fahrzeugakku zu schonen. Aktuell werden die SoC-Werte mittels der App-Zugangsdaten aus dem Herstellerserver des Fahrzeuges ausgelesen. Zukünftig soll auch eine direkte SoC-Auslesung aus dem Fahrzeug möglich werden (openWB Pro)."),h("br",null,null,-1),i(" Die SoC-Abfrage erfolgt automatisch beim Anstecken des Fahrzeuges und zusätzlich über einstellbare Abfrageintervalle während des Ladens und Nichtladens. Die Abfrage kann auch manuell durch Klick auf den Reload-Pfeil auf der Hauptseite ausgelöst werden."),h("br",null,null,-1),i(" Wenn eine Abfrage fehlschlägt, wird noch drei weitere Male im Abstand von 5 Minuten versucht, den SoC abzufragen. Wenn dies nicht erfolgreich ist, wird der SoC auf 0% gesetzt um zu vermeiden, dass ein Auto beim SoC-basierten Laden nicht geladen wird. Die Abfrage erfolgt dann wieder in den oben genannten Intervallen."),h("br",null,null,-1),i(" Da aktuell die SoC-Abfragen über Onlineserver der Fahrzeughersteller laufen, ist infolge möglicher Umstellungen/Wartungen keine 100%-ig sichere SoC-Abfrage garantiert. Auch kann es zu SoC-Abweichungen infolge von zeitlicher Verzögerungen kommen. Hilfestellung erfolgt primär im openWB-Forum. ")])]),_:2},1032,["options","model-value","onUpdate:modelValue"]),t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"].type?(d(),g("div",Ue,[a(_,{title:"SoC direkt aus Fahrzeug auslesen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].use_soc_from_cp,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"use_soc_from_cp")},{help:l(()=>[...e[18]||(e[18]=[i(" Wenn Ladepunkt und Fahrzeug das direkte Auslesen des SoCs über das Ladekabel unterstützen, wird der SoC nach dem Anstecken aus dem Fahrzeug ausgelesen und während der Ladung berechnet. Das direkte Auslesen des SoC aus dem Fahrzeug ist aktuell nur mit einer openWB Pro möglich. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{help:l(()=>[...e[19]||(e[19]=[i(" Einige Hersteller begrenzen die möglichen Abfragen. Sobald ein gewisses Limit in einem Zeitraum überschritten wird, werden weitere Anfragen blockiert. Die Zeitintervalle sollten daher nicht zu klein gewählt werden. ")])]),default:l(()=>[e[20]||(e[20]=i(" Aktualisierung der Fahrzeugdaten "))]),_:1}),a(w,{title:"Während der Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_charging")},{help:l(()=>[...e[21]||(e[21]=[i(" Der Ladestand des Fahrzeugs (SoC) wird bei einem laufenden Ladevorgang in dem hier eingestellten Intervall in Minuten abgefragt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Ohne laufende Ladung",unit:"Min.",min:1,required:"","model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_interval_not_charging/60,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r*60,"request_interval_not_charging")},{help:l(()=>[...e[22]||(e[22]=[i(" Der Ladestand des Fahrzeugs (SoC) wird in dem hier eingestellten Intervall in Minuten abgefragt, falls kein Ladevorgang aktiv ist. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Nur aktualisieren wenn angesteckt",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/general_config"].request_only_plugged,"onUpdate:modelValue":r=>t.updateState("openWB/vehicle/"+o+"/soc_module/general_config",r,"request_only_plugged")},{help:l(()=>[...e[23]||(e[23]=[i(' Wird hier "Ja" ausgewählt, dann wird der Ladestand des Fahrzeugs nur abgefragt, wenn das Ladekabel angesteckt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(I,{"vehicle-id":o,vehicle:t.$store.state.mqtt["openWB/vehicle/"+o+"/soc_module/config"],"onUpdate:configuration":r=>s.updateConfiguration("openWB/vehicle/"+o+"/soc_module/config",r)},null,8,["vehicle-id","vehicle","onUpdate:configuration"])])):m("",!0)]),_:2},[o!==0?{name:"actions",fn:l(r=>[r.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:n=>s.removeVehicleModal(o,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}:void 0]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),e[81]||(e[81]=h("hr",{class:"border-secondary"},null,-1)),a(L,null,{default:l(()=>e[25]||(e[25]=[i("Profile")])),_:1}),a(A,{collapsible:!0,collapsed:!0},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","car"],transform:"shrink-8"})]),_:1}),e[26]||(e[26]=i(" Fahrzeug-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addEvTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Te,[a(y,{subtype:"info"},{default:l(()=>e[27]||(e[27]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",We,[a(y,{subtype:"info"},{default:l(()=>e[28]||(e[28]=[i(" Ein anderes Fahrzeug-Profil wird erst "),h("span",{class:"text-uppercase font-weight-bold"}," nach dem Abstecken ",-1),i(" übernommen, da es sonst durch die Änderung bestimmter Einstellungen im laufenden Ladevorgang zu Widersprüchen kommen kann. ")])),_:1}),(d(!0),g(P,null,E(s.evTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!0},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[29]||(e[29]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[30]||(e[30]=[i(" Angaben zur Batterie ")])]),_:1}),a(w,{title:"Kapazität der Batterie",unit:"kWh",min:1,step:1,required:"","model-value":o.battery_capacity/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"battery_capacity")},{help:l(()=>[...e[31]||(e[31]=[i(" Angabe der Netto-Kapazität der Fahrzeugbatterie. Dient zur Berechnung des manuellen SoC und der geladenen Reichweite. Die Netto-Kapazität unterscheidet sich meist von den Angaben der Fahrzeughersteller. So besitzt ein Tesla Model S 90 z. B. nur ca. 83kWh und nicht die durch die Typenbezeichnung suggerierten 90kWh. Andere Hersteller begrenzen die nutzbare Kapazität absichtlich, um eine höhere Lebensdauer der Akkus zu erreichen. Gängig sind eine Drosselung auf 90% der angegebenen Brutto-Kapazität. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Le,[a(w,{title:"Wirkungsgrad der Ladeelektronik",unit:"%",min:1,max:100,required:"","model-value":o.efficiency,"onUpdate:modelValue":n=>t.updateState(r,n,"efficiency")},{help:l(()=>[...e[32]||(e[32]=[i(" Durch Verluste in der Ladeelektronik (z. B. Umwandlung Wechselspannung in Gleichspannung) gelangt nicht die komplette Energie, welche durch den Zähler in der Wallbox gemessen wird, in den Akku des Fahrzeugs. Der anzugebende Wert liegt bei gängigen Fahrzeugen im Bereich 90-95%. Eine Ausnahme stellt der Zoe dar, dessen Chameleon-Lader je nach Modellversion und freigegebener Leistung der Wallbox teilweise nur auf ca. 50% kommt."),h("br",null,null,-1),i(" Liegen die Angaben der Wallbox und des Fahrzeugs nach der Ladung mehrere Prozent auseinander, dann kann mit dieser Einstellung eine Feinabstimmung erfolgen: "),h("br",null,null,-1),i(" SoC an der Wallbox zu hoch: Wirkungsgrad um ein paar Prozent reduzieren"),h("br",null,null,-1),i(" SoC an der Wallbox zu gering: Wirkungsgrad um ein paar Prozent erhöhen"),h("br",null,null,-1)])]),_:2},1032,["model-value","onUpdate:modelValue"])])),a(w,{title:"Durchschnittsverbrauch",unit:"kWh / 100km",min:1,step:.1,required:"","model-value":o.average_consump/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"average_consump")},null,8,["model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),g("div",Pe,[a(L,null,{default:l(()=>[...e[33]||(e[33]=[i(" Angaben zur Ladeleistung (DC) ")])]),_:1}),a(w,{title:"Mindestleistung",min:5,unit:"kW","model-value":t.ac_current2dc_power(o.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_min_current")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Maximalleistung",unit:"kW","model-value":t.ac_current2dc_power(o.dc_max_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"dc_max_current")},null,8,["model-value","onUpdate:modelValue"])])):m("",!0),a(L,null,{default:l(()=>[e[34]||(e[34]=i(" Angaben zum Ladestrom ")),s.dcChargingEnabled===!0?(d(),g("span",Ae," (AC) ")):m("",!0)]),_:1}),a(S,{title:"Mindeststrom",min:6,max:16,step:1,unit:"A","model-value":o.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"min_current")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom bei einer Phase",min:6,max:32,step:1,unit:"A","model-value":o.max_current_single_phase,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_single_phase")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Maximalstrom mehrere Phasen",min:6,max:32,step:1,unit:"A","model-value":o.max_current_multi_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_current_multi_phases")},null,8,["model-value","onUpdate:modelValue"]),a(w,{title:"Erlaubte Stromabweichung",step:.1,unit:"A","model-value":o.nominal_difference,"onUpdate:modelValue":n=>t.updateState(r,n,"nominal_difference")},{help:l(()=>[...e[35]||(e[35]=[i(" In manchen Lademodi, z.B. bei der automatischen Phasenumschaltung, wird geprüft, ob das Fahrzeug mit der vorgegebenen Stromstärke lädt. Manche Fahrzeuge laden nicht exakt mit der vorgegebenen Stromstärke. Die erlaubte Abweichung kann hier eingestellt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(L,null,{default:l(()=>[e[36]||(e[36]=i(" Angaben zur Handhabung von Phasen ")),s.dcChargingEnabled===!0?(d(),g("span",ye," (AC) ")):m("",!0)]),_:1}),a(_,{title:"Unterstützte Phasen",buttons:[{buttonValue:1,text:"1"},{buttonValue:2,text:"2"},{buttonValue:3,text:"3"}],"model-value":o.max_phases,"onUpdate:modelValue":n=>t.updateState(r,n,"max_phases")},{help:l(()=>[...e[37]||(e[37]=[i(" Anzahl der Phasen, die der Fahrzeuglader (s.g. OBC - OnboardCharger) bereitstellt. Plugin-Hybride haben meist nur eine Phase, reine E-Autos meist 2 bis 3 Phasen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"CP-Unterbrechung",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.control_pilot_interruption,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption")},{help:l(()=>[...e[38]||(e[38]=[i(' Erläuterung siehe "Konfiguration - Ladepunkte" -> Hardware-Optionen ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),o.control_pilot_interruption?(d(),p(w,{key:2,title:"Dauer der CP-Unterbrechung",min:4,step:1,unit:"s","model-value":o.control_pilot_interruption_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"control_pilot_interruption_duration")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Phasenumschaltung blockieren",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_phase_switch,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_phase_switch")},{help:l(()=>[...e[39]||(e[39]=[i(' Erläuterung zu 1p3p siehe "Ladeeinstellungen" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Ladung aktiv halten",buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":o.prevent_charge_stop,"onUpdate:modelValue":n=>t.updateState(r,n,"prevent_charge_stop")},{help:l(()=>[...e[40]||(e[40]=[i(" Der Ladevorgang wird in den Lademodi PV- und Zielladen nach Ladebeginn nicht unterbrochen, selbst wenn nicht mehr genug Überschuss vorhanden ist. Diese Einstellung sollte bei Fahrzeugen aktiviert werden, die nach einer Ladungsunterbrechung keine Ladung mehr starten. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Pause bei Phasenumschaltung",unit:"s",min:2,step:1,required:"","model-value":o.phase_switch_pause,"onUpdate:modelValue":n=>t.updateState(r,n,"phase_switch_pause")},null,8,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",Ee,[a(w,{title:"Mindestzeit zwischen Umschaltungen",unit:"s",min:2,step:1,required:"","model-value":o.keep_charge_active_duration,"onUpdate:modelValue":n=>t.updateState(r,n,"keep_charge_active_duration")},{help:l(()=>[...e[41]||(e[41]=[i(" Manche Fahrzeuge benötigen nach der Umschaltung einige Zeit, bis sie mit der vorgegebenen Phasenzahl laden. In dieser Zeit wird keine neue Phasenumschaltung angestoßen. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])]))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[t.$store.state.mqtt["openWB/general/extern"]===!1&&!n.collapsed?(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeEvTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),key:"0"}]),1032,["title"]))),128))]))]),_:1}),a(A,{collapsible:!0,collapsed:t.$route.params.section!="charge_template"},{header:l(()=>[a(Z,{"fixed-width":"",class:"fa-lg"},{default:l(()=>[a(v,{"fixed-width":"",icon:["far","file"]}),a(v,{"fixed-width":"",icon:["fas","plug"],transform:"shrink-8"})]),_:1}),e[42]||(e[42]=i(" Lade-Profile "))]),actions:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!1?(d(),p(T,{key:0,class:"bg-success clickable",onClick:s.addChargeTemplate},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:1},8,["onClick"])):m("",!0)]),default:l(()=>[t.$store.state.mqtt["openWB/general/extern"]===!0?(d(),g("div",Be,[a(y,{subtype:"info"},{default:l(()=>e[43]||(e[43]=[i(' Diese Einstellungen sind nicht verfügbar, solange sich diese openWB im Steuerungsmodus "secondary" befindet. ')])),_:1})])):(d(),g("div",Fe,[(d(!0),g(P,null,E(s.chargeTemplates,(o,r)=>(d(),p(A,{key:r,title:o.name?o.name:r,collapsible:!0,collapsed:!(t.$route.params.section=="charge_template"&&parseInt(t.$route.params.section_index)==s.getChargeTemplateIndex(r))},F({default:l(()=>[a(z,{title:"Bezeichnung","model-value":o.name,disabled:r.endsWith("/0"),"onUpdate:modelValue":n=>t.updateState(r,n,"name")},F({_:2},[r.endsWith("/0")?{name:"help",fn:l(()=>[e[44]||(e[44]=i(" Das Standard-Profil kann nicht umbenannt werden. "))]),key:"0"}:void 0]),1032,["model-value","disabled","onUpdate:modelValue"]),a(L,null,{default:l(()=>[...e[45]||(e[45]=[i(" Allgemeine Optionen ")])]),_:1}),a(_,{title:"Aktiver Lademodus",buttons:[{buttonValue:"instant_charging",text:"Sofortladen",class:"btn-outline-danger"},{buttonValue:"pv_charging",text:"PV",class:"btn-outline-success"},{buttonValue:"scheduled_charging",text:"Zielladen",class:"btn-outline-primary"},{buttonValue:"standby",text:"Standby",class:"btn-outline-secondary"},{buttonValue:"stop",text:"Stop",class:"btn-outline-dark"}],"model-value":o.chargemode.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.selected")},{help:l(()=>[...e[46]||(e[46]=[i(" Diese Einstellung entspricht dem gewählten Lademodus auf der Hauptseite und ist aktiv, wenn ein zugehöriges Fahrzeug angesteckt ist."),h("br",null,null,-1),i(" Die zur Verfügung stehende Leistung wird intern anhand folgender Prioritätenliste auf die Fahrzeuge bzw. Ladepunkte verteilt:"),h("br",null,null,-1),h("ol",null,[h("li",null,"Zielladen (Sofortladen) mit Priorität"),h("li",null,"Zielladen (Sofortladen)"),h("li",null,"Zeitladen mit Priorität"),h("li",null,"Zeitladen"),h("li",null,"Sofortladen mit Priorität"),h("li",null,"Sofortladen"),h("li",null,"PV (Min-Anteil) mit Priorität"),h("li",null,"PV (Min-Anteil)"),h("li",null,"Zielladen (PV) mit Priorität"),h("li",null,"Zielladen (PV)"),h("li",null,"PV (PV-Anteil) mit Priorität"),h("li",null,"PV (PV-Anteil)")],-1)])]),_:2},1032,["model-value","onUpdate:modelValue"]),b.installAssistantActive?m("",!0):(d(),g("div",qe,[a(_,{title:"Priorität",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.prio,"onUpdate:modelValue":n=>t.updateState(r,n,"prio")},{help:l(()=>[...e[47]||(e[47]=[i(" Die Ladefreigabe mit dem jeweils eingestellten Mindeststrom erfolgt für alle Fahrzeuge, soweit die verfügbare Leistung ausreicht. Fahrzeuge mit Priorität werden bevorzugt mit mehr Leistung geladen, falls verfügbar. Erst wenn alle priorisierten Fahrzeuge die maximale Ladeleistung bekommen und noch zusätzlicher Überschuss vorhanden ist, wird auch für Fahrzeuge ohne Priorität mehr Leistung freigegeben. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitladen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.time_charging.active,"onUpdate:modelValue":n=>t.updateState(r,n,"time_charging.active")},{help:l(()=>[...e[48]||(e[48]=[i(' Der Lademodus Zeitladen kann parallel zu einem der anderen Lademodi aktiviert werden. Die Auswahl des Lademodus, der in der Regelung genutzt wird, erfolgt anhand der Übersicht in der Hilfe bei "Aktiver Lademodus". Wenn kein Zeitplan aktiv ist oder das Limit des Zeitplans erreicht wurde, wird der Lademodus verwendet, der bei "Aktiver Lademodus" ausgewählt ist. ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Standard nach Abstecken",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.load_default,"onUpdate:modelValue":n=>t.updateState(r,n,"load_default")},{help:l(()=>[...e[49]||(e[49]=[i(" Falls diese Option aktiviert ist, wird der betroffene Ladepunkt nach dem Abstecken auf das Standard Fahrzeug zurückgesetzt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(_,{title:"Strompreisbasiert Laden",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.et.active,"onUpdate:modelValue":n=>t.updateState(r,n,"et.active")},null,8,["model-value","onUpdate:modelValue"]),o.et.active==!0?(d(),g("div",Me,[!t.$store.state.mqtt["openWB/optional/et/provider"]||!t.$store.state.mqtt["openWB/optional/et/provider"].type?(d(),g("div",De,[a(y,{subtype:"danger"},{default:l(()=>[...e[50]||(e[50]=[i(" Bitte in den übergreifenden Ladeeinstellungen einen Strompreis-Anbieter konfigurieren. ")])]),_:1})])):m("",!0),a(w,{title:"Preisgrenze für Zeit- & Sofortladen",min:"-80",max:"80",step:"0.01",precision:2,unit:"ct/kWh","model-value":o.et.max_price*1e5,"onUpdate:modelValue":n=>t.updateState(r,parseFloat((n/1e5).toFixed(7)),"et.max_price")},{help:l(()=>[...e[51]||(e[51]=[i(" Für Zielladen werden die günstigsten Stunden ermittelt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])])):m("",!0),e[52]||(e[52]=h("hr",null,null,-1))])),a(L,null,{default:l(()=>[...e[53]||(e[53]=[i("Sofortladen")])]),_:1}),a(S,{title:"Soll-Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.instant_charging.current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:1,title:"Soll-Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.instant_charging.dc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.instant_charging.dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Begrenzung",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":o.chargemode.instant_charging.limit.selected,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.selected")},{help:l(()=>[...e[54]||(e[54]=[i(" Sofortladen kann ohne Fahrzeug-SoC-Begrenzung (Aus), mit Begrenzung des Fahrzeug-SoC (SoC) bei konfiguriertem SoC-Auslesemodul oder mittels Vorgabe eine gewünschten Energiemenge in kWh (Energie) genutzt werden. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"SoC-Limit für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":o.chargemode.instant_charging.limit.soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.instant_charging.limit.soc")},{help:l(()=>[...e[55]||(e[55]=[i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(w,{title:"Energie-Limit",unit:"kWh",min:1,step:1,"model-value":o.chargemode.instant_charging.limit.amount/1e3,"onUpdate:modelValue":n=>t.updateState(r,n*1e3,"chargemode.instant_charging.limit.amount")},{help:l(()=>[...e[56]||(e[56]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus oder nach dem Anstecken, wenn Sofortladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[79]||(e[79]=h("hr",null,null,-1)),a(L,null,{default:l(()=>[...e[57]||(e[57]=[i("PV-Laden")])]),_:1}),a(S,{title:"Minimaler Dauerstrom"+(s.dcChargingEnabled?" (AC)":""),min:0,max:11,step:1,unit:"A",labels:[{label:"Aus",value:0},{label:6,value:6},{label:7,value:7},{label:8,value:8},{label:9,value:9},{label:10,value:10},{label:11,value:11},{label:12,value:12},{label:13,value:13},{label:14,value:14},{label:15,value:15},{label:16,value:16}],"model-value":o.chargemode.pv_charging.min_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_current")},{help:l(()=>[...e[58]||(e[58]=[i(' Hier kann eine Stromstärke eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Stromwert empfohlen wird. Diese Einstellung entspricht weitestgehend dem Lademodus "Min+PV" der Version 1.x. ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:2,title:"Minimale Dauerleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_current")},{help:l(()=>[...e[59]||(e[59]=[i(" Hier kann eine Leistung eingestellt werden, mit dem unabhängig vom vorhandenen Überschuss durchgeladen wird. Hierdurch wird z.B. an Tagen mit häufigem Sonne/Wolken-Wechsel oder mit nur wenig PV-Ertrag ein Laden ohne Unterbrechung ermöglicht. Folglich kann auch Netzbezug für das Fahrzeugladen entstehen, weshalb der niedrigste Leistungswert empfohlen wird. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(S,{title:"SoC-Limit für das Fahrzeug",min:0,max:20,step:1,unit:"%",labels:[{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95},{label:100,value:100},{label:"Aus",value:101}],"model-value":o.chargemode.pv_charging.max_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.max_soc")},{help:l(()=>[...e[60]||(e[60]=[i(' Bei der Einstellung "100%" wird die Ladung sofort mit Erreichen der 100% beendet. Dadurch erfolgt KEIN Balancing der Batteriezellen. Ist dies gewünscht (sollte ab und an durchgeführt werden), muss hier "Aus" gewählt werden (Schieberegler ganz nach rechts stellen), um die Ladung MIT Balancing bis zur Beendigung durch das Fahrzeug weiterlaufen zu lassen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC für das Fahrzeug",min:0,max:19,step:1,unit:"%",labels:[{label:"Aus",value:0},{label:5,value:5},{label:10,value:10},{label:15,value:15},{label:20,value:20},{label:25,value:25},{label:30,value:30},{label:35,value:35},{label:40,value:40},{label:45,value:45},{label:50,value:50},{label:55,value:55},{label:60,value:60},{label:65,value:65},{label:70,value:70},{label:75,value:75},{label:80,value:80},{label:85,value:85},{label:90,value:90},{label:95,value:95}],"model-value":o.chargemode.pv_charging.min_soc,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc")},{help:l(()=>[...e[61]||(e[61]=[i(' Liegt der Fahrzeug-Ladestand (SoC) unter dem hier eingestellten Wert, dann wird bis zum Erreichen dieses Wertes mit dem eingestellten "Mindest-SoC-Strom" geladen. Dies dient der Sicherstellung eines "Mindest-SoC" - z.B. für eine immer abzudeckende Fahrzeugreichweite - auch wenn kein oder zu wenig Überschuss verfügbar ist (=> Laden mit anteilig Netzstrom). Nach dem Erreichen des "Mindest-SoC" wird bei verfügbarem Überschuss geladen.'),h("br",null,null,-1),i(' Um die Fahrzeug-SoC-Begrenzung nutzen zu können, muss ein SoC-Modul für das jeweilige Fahrzeug eingerichtet sein (siehe "Konfiguration" -> "Fahrzeuge" -> "SoC-Modul"). ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Mindest-SoC-Strom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":o.chargemode.pv_charging.min_soc_current,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.min_soc_current")},{help:l(()=>[...e[62]||(e[62]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit dem hier festgelegten "Mindest-SoC-Strom" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:3,title:"Mindest-SoC-Leistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(o.chargemode.pv_charging.dc_min_soc_current),"onUpdate:modelValue":n=>t.updateState(r,t.dc_power2ac_current(n),"chargemode.pv_charging.dc_min_soc_current")},{help:l(()=>[...e[63]||(e[63]=[i(' Wird der oben eingestellte "Mindest-SoC" des Fahrzeuges unterschritten, dann wird unabhängig vom Überschuss ein Ladevorgang mit der hier festgelegten "Mindest-SoC-Leistung" initiiert (ggf. mit anteilig Netzbezug). ')])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Einspeisegrenze beachten",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":o.chargemode.pv_charging.feed_in_limit,"onUpdate:modelValue":n=>t.updateState(r,n,"chargemode.pv_charging.feed_in_limit")},{help:l(()=>[...e[64]||(e[64]=[i(' Erläuterung siehe "Ladeeinstellungen" -> "PV-Laden" -> "Regelparameter" -> "Regelpunkt Einspeisegrenze" ')])]),_:2},1032,["model-value","onUpdate:modelValue"]),e[80]||(e[80]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateSchedulePlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[65]||(e[65]=[i(' Im Lademodus "Zielladen" wird der Ladestrom so angepasst, dass das Fahrzeug zum angegebenen Zeitpunkt den eingestellten SoC bzw. die einzuladende Energiemenge erreicht. Anhand des vorgegebenen Ladestroms wird der Zeitpunkt berechnet, an dem die Ladung spätestens starten muss.'),h("br",null,null,-1),i(' Ist der berechnete Zeitpunkt des Ladestarts noch nicht erreicht, wird mit Überschuss geladen. Auch nach Erreichen des Ziel-SoCs wird mit Überschuss geladen, solange bis das "SoC-Limit für das Fahrzeug" erreicht wird.'),h("br",null,null,-1),i(" Kann der Ziel-SoC bzw. die Energiemenge NICHT erreicht werden, z.B. weil das Auto zu spät angesteckt wurde oder das Lastmanagement eingegriffen hat, wird bis 20 Minuten nach dem angegebenen Termin mit der Maximalstromstärke geladen. Danach wird der Termin verworfen und mit Überschuss geladen. ")])]),default:l(()=>[e[66]||(e[66]=i(" Zielladen "))]),_:2},1024),(d(!0),g(P,null,E(s.getChargeTemplateScheduledChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",xe,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc_scheduled)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ne,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time)+" ",1),n.frequency.selected=="once"?(d(),g("span",Oe,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once)),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Ie,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Re,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,Ze)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateSchedulePlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitpunkt aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Ziel-Uhrzeit",subtype:"time","model-value":n.time,"onUpdate:modelValue":u=>t.updateState(c,u,"time")},{help:l(()=>[...e[67]||(e[67]=[i(" Hier ist die gewünschte Uhrzeit einzustellen, zu welcher das Fahrzeug den gewünschten SoC bzw. die zu ladende Energiemenge BEREITS ERREICHT haben soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},{help:l(()=>[...e[68]||(e[68]=[i(" Mit dieser Stromstärke wird der Zeitpunkt berechnet, wann die Ladung mit Netzbezug gestartet werden muss. Wird der Ziel-SoC nicht zum angegebenen Termin erreicht, weil z.B. das Auto erst später angesteckt wurde, wird auch mit einer höheren Stromstärke geladen. Um etwas Puffer zu haben, empfiehlt es sich, etwas weniger als die Maximalstromstärke des Fahrzeugs zu wählen. ")])]),_:2},1032,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[69]||(e[69]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Fahrzeug-SoC zum Zielzeitpunkt",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_scheduled,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_scheduled")},{help:l(()=>[...e[70]||(e[70]=[i(" SoC, der zum angegebenen Zeitpunkt erreicht werden soll (Ziel-SoC). ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="soc"?(d(),p(S,{key:2,title:"Fahrzeug-SoC mit Überschuss",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc_limit,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc_limit")},{help:l(()=>[...e[71]||(e[71]=[i(" Nach Erreichen des Ziel-SoCs wird mit Überschuss weiter geladen, bis das SoC-Limit erreicht wird. Sobald das SoC-Limit erreicht wurde, findet keine Ladung mehr mit Überschuss statt! ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:3,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[72]||(e[72]=[i(" Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zielladen schon ausgewählt ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Datum",subtype:"date","model-value":n.frequency.once,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",$e,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128)),b.installAssistantActive?m("",!0):(d(),g("div",He,[e[75]||(e[75]=h("hr",null,null,-1)),a(L,null,{actions:l(()=>[a(T,{class:"bg-success clickable",onClick:n=>s.addChargeTemplateTimeChargingPlan(r,n)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","plus"]})]),_:2},1032,["onClick"])]),help:l(()=>[...e[73]||(e[73]=[i(" Mit einem Zeitplan kann ein klar abgegrenzter Zeitbereich zum Fahrzeugladen definiert werden. Dies wird häufig genutzt, um einem Fahrzeug kurz vor der Abfahrt Strom anzubieten, damit dessen Vorklimatisierung nicht aus dem Fahrzeugakku, sondern aus der openWB bezogen wird (Enteisung, Vorwärmung, Abkühlung). Nicht von der Vorklimatisierung benötigter Strom erhöht dabei den Fahrzeug-SoC. Um das Stromnetz am Morgen nicht unnötig zu strapazieren, sollte eine moderate Stromvorgabe und ein beschränkter Zeitbereich vorgegeben werden (z.B. max. 10A; 30min - in Übereinstimmung mit den Fahrzeug-App-Vorklimatisierungsvorgaben). ")])]),default:l(()=>[e[74]||(e[74]=i(" Laden nach Zeitplan "))]),_:2},1024)])),(d(!0),g(P,null,E(s.getChargeTemplateTimeChargingPlans(r),(n,c)=>(d(),p(A,{key:c,title:n.name,collapsible:!0,collapsed:!0},{actions:l(u=>[u.collapsed==!0?(d(),g("span",{key:0,class:x(["subheader pill clickable",n.active?"bg-success":"bg-danger"]),onClick:N(U=>t.updateState(c,!n.active,"active"),["stop"])},[n.limit.selected=="soc"?(d(),g("span",Je,[a(v,{"fixed-width":"",icon:["fas","car-battery"]}),i(" "+C(n.limit.soc)+"% ",1)])):m("",!0),n.limit.selected=="amount"?(d(),g("span",Ge,[a(v,{"fixed-width":"",icon:["fas","bolt"]}),i(" "+C(n.limit.amount/1e3)+"kWh ",1)])):m("",!0),a(v,{"fixed-width":"",icon:["fas","clock"]}),i(" "+C(n.time[0])+" - "+C(n.time[1])+" ",1),n.frequency.selected=="once"?(d(),g("span",Ye,[a(v,{"fixed-width":"",icon:["fas","calendar-day"]}),i(" "+C(t.formatDate(n.frequency.once[0])==t.formatDate(n.frequency.once[1])?t.formatDate(n.frequency.once[0]):t.formatDate(n.frequency.once[0])+" - "+t.formatDate(n.frequency.once[1])),1)])):m("",!0),n.frequency.selected=="daily"?(d(),g("span",Qe,[a(v,{"fixed-width":"",icon:["fas","calendar-week"]})])):m("",!0),n.frequency.selected=="weekly"?(d(),g("span",Xe,[a(v,{"fixed-width":"",icon:["fas","calendar-alt"]})])):m("",!0)],10,je)):m("",!0),u.collapsed==!1?(d(),p(T,{key:1,class:"bg-danger clickable",onClick:U=>s.removeChargeTemplateTimeChargingPlanModal(r,c,U)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"])):m("",!0)]),default:l(()=>[a(z,{title:"Bezeichnung","model-value":n.name,"onUpdate:modelValue":u=>t.updateState(c,u,"name")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Zeitplan aktiv",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.active,"onUpdate:modelValue":u=>t.updateState(c,u,"active")},null,8,["model-value","onUpdate:modelValue"]),a(S,{title:"Ladestrom"+(s.dcChargingEnabled?" (AC)":""),min:6,max:32,step:1,unit:"A","model-value":n.current,"onUpdate:modelValue":u=>t.updateState(c,u,"current")},null,8,["title","model-value","onUpdate:modelValue"]),s.dcChargingEnabled===!0?(d(),p(w,{key:0,title:"Ladeleistung (DC)",unit:"kW",min:0,"model-value":t.ac_current2dc_power(n.dc_current),"onUpdate:modelValue":u=>t.updateState(c,t.dc_power2ac_current(u),"dc_current")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),a(_,{title:"Ziel",buttons:[{buttonValue:"none",text:"Aus"},{buttonValue:"soc",text:"Fahrzeug-SoC"},{buttonValue:"amount",text:"Energie"}],"model-value":n.limit.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.selected")},{help:l(()=>[...e[76]||(e[76]=[i(" Bestimmt die Art der Grenze für den Ladevorgang. ")])]),_:2},1032,["model-value","onUpdate:modelValue"]),n.limit.selected=="soc"?(d(),p(S,{key:1,title:"Ziel-SoC für das Fahrzeug",min:5,max:100,step:5,unit:"%","model-value":n.limit.soc,"onUpdate:modelValue":u=>t.updateState(c,u,"limit.soc")},{help:l(()=>[...e[77]||(e[77]=[i(" Ladestand des Akku (State of Charge, SoC), bis zu welchem maximal geladen werden soll. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),n.limit.selected=="amount"?(d(),p(w,{key:2,title:"Ziel-Energie",unit:"kWh",min:1,step:.5,"model-value":n.limit.amount/1e3,"onUpdate:modelValue":u=>t.updateState(c,u*1e3,"limit.amount")},{help:l(()=>[...e[78]||(e[78]=[i(" Maximal zu ladende Energie innerhalb des Zeitfensters. Eignet sich immer dann wenn kein SoC zur Verfügung steht. Die geladene Energiemenge wird beim Wechsel des Lademodus, Wechsel des Plans oder nach dem Anstecken, wenn Zeitladen schon aktiv ist, neu gezählt. ")])]),_:2},1032,["model-value","onUpdate:modelValue"])):m("",!0),a(z,{title:"Zeitpunkt des Ladebeginns",subtype:"time","model-value":n.time[0],"onUpdate:modelValue":u=>t.updateState(c,u,"time.0")},null,8,["model-value","onUpdate:modelValue"]),a(z,{title:"Zeitpunkt des Ladeendes",subtype:"time","model-value":n.time[1],"onUpdate:modelValue":u=>t.updateState(c,u,"time.1")},null,8,["model-value","onUpdate:modelValue"]),a(_,{title:"Wiederholungen",buttons:[{buttonValue:"once",text:"Einmalig",class:"btn-outline-info"},{buttonValue:"daily",text:"Täglich",class:"btn-outline-info"},{buttonValue:"weekly",text:"Wöchentlich",class:"btn-outline-info"}],"model-value":n.frequency.selected,"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.selected")},null,8,["model-value","onUpdate:modelValue"]),n.frequency.selected=="once"?(d(),p(z,{key:3,title:"Gültig ab",subtype:"date","model-value":n.frequency.once[0],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.0")},null,8,["model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="once"?(d(),p(z,{key:4,title:"Gültig bis",subtype:"date",min:n.frequency.once[0],"model-value":n.frequency.once[1],"onUpdate:modelValue":u=>t.updateState(c,u,"frequency.once.1")},null,8,["min","model-value","onUpdate:modelValue"])):m("",!0),n.frequency.selected=="weekly"?(d(),g("div",Ke,[(d(!0),g(P,null,E(t.weekdays,(u,U)=>(d(),p(_,{key:U,title:u,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"model-value":n.frequency.weekly[U],"onUpdate:modelValue":D=>t.updateState(c,D,"frequency.weekly."+U)},null,8,["title","model-value","onUpdate:modelValue"]))),128))])):m("",!0)]),_:2},1032,["title"]))),128))]),_:2},[r.endsWith("/0")?void 0:{name:"actions",fn:l(n=>[n.collapsed?m("",!0):(d(),p(T,{key:0,class:"bg-danger clickable",onClick:c=>s.removeChargeTemplateModal(r,c)},{default:l(()=>[a(v,{"fixed-width":"",icon:["fas","trash"]})]),_:2},1032,["onClick"]))]),key:"0"}]),1032,["title","collapsed"]))),128))]))]),_:1},8,["collapsed"]),a(R,{"form-name":"vehicleConfigForm",onSave:e[5]||(e[5]=o=>t.$emit("save")),onReset:e[6]||(e[6]=o=>t.$emit("reset")),onDefaults:e[7]||(e[7]=o=>t.$emit("defaults"))})])])],64)}const tt=q(_e,[["render",et],["__file","/opt/openWB-dev/openwb-ui-settings/src/views/VehicleConfig.vue"]]),ot=Object.freeze(Object.defineProperty({__proto__:null,default:tt},Symbol.toStringTag,{value:"Module"}));export{se as V,tt as a,ot as b}; diff --git a/web/settings/assets/backup_cloud-1299a7eb.js b/web/settings/assets/backup_cloud-1299a7eb.js new file mode 100644 index 0000000000..5684799783 --- /dev/null +++ b/web/settings/assets/backup_cloud-1299a7eb.js @@ -0,0 +1 @@ +import{B as s}from"./DataManagement-3ab650ed.js";import{_ as a,u as r,l as i,m as l,G as u,E as d,y as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNextCloud",mixins:[s]},c={class:"backup-cloud-next-cloud"};function f(o,e,b,k,C,g){const n=r("openwb-base-text-input");return i(),l("div",c,[u(n,{title:"Cloud-URL",subtype:"host",required:"","model-value":o.backupCloud.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},{help:d(()=>e[3]||(e[3]=[p(" Die Cloud-URL wird in der Form 'https://nextcloud-url' und Benutzername im Eingabefeld oder mit Zugangstoken erwartet. Die URL kann je nach NextCloud Installation so 'https://nextcloud-url/s/user_token' oder so 'https://nextcloud-url/index.php/s/user_token' aussehen. ")])),_:1},8,["model-value"]),u(n,{title:"Benutzername",subtype:"user","model-value":o.backupCloud.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),u(n,{title:"Passwort",subtype:"password","model-value":o.backupCloud.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nextcloud/backup_cloud.vue"]]);export{$ as default}; diff --git a/web/settings/assets/backup_cloud-55c851b6.js b/web/settings/assets/backup_cloud-55c851b6.js deleted file mode 100644 index fcf49aad5f..0000000000 --- a/web/settings/assets/backup_cloud-55c851b6.js +++ /dev/null @@ -1 +0,0 @@ -import{B as s}from"./DataManagement-7cf51172.js";import{_ as a,u as r,k as i,l,G as u,E as d,y as p}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNextCloud",mixins:[s]},c={class:"backup-cloud-next-cloud"};function f(o,e,b,k,C,g){const n=r("openwb-base-text-input");return i(),l("div",c,[u(n,{title:"Cloud-URL",subtype:"host",required:"","model-value":o.backupCloud.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},{help:d(()=>e[3]||(e[3]=[p(" Die Cloud-URL wird in der Form 'https://nextcloud-url' und Benutzername im Eingabefeld oder mit Zugangstoken erwartet. Die URL kann je nach NextCloud Installation so 'https://nextcloud-url/s/user_token' oder so 'https://nextcloud-url/index.php/s/user_token' aussehen. ")])),_:1},8,["model-value"]),u(n,{title:"Benutzername",subtype:"user","model-value":o.backupCloud.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),u(n,{title:"Passwort",subtype:"password","model-value":o.backupCloud.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nextcloud/backup_cloud.vue"]]);export{$ as default}; diff --git a/web/settings/assets/backup_cloud-84c01439.js b/web/settings/assets/backup_cloud-84c01439.js new file mode 100644 index 0000000000..1fee5ce4a5 --- /dev/null +++ b/web/settings/assets/backup_cloud-84c01439.js @@ -0,0 +1 @@ +import{B as r}from"./DataManagement-3ab650ed.js";import{_ as p,u,l as i,m as l,G as d,E as c,y as o,x as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"BackupCloudNfs",mixins:[r]},f={class:"backup-cloud-nfs"};function _(t,e,b,k,v,x){const a=u("openwb-base-text-input");return i(),l("div",f,[d(a,{title:"Pfad zum NFS Share",pattern:"^([^/: ]+):(\\/[^/: ]+)+$",required:"","model-value":t.backupCloud.configuration.nfs_share,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.nfs_share"))},{help:c(()=>e[1]||(e[1]=[o(" 1. IP basierter Pfad: 1.2.3.4:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" 2. Host (FQDN) basierter Pfad: backupserver.domain.net:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" Bitte entgegen der Syntax das Protokoll nicht davor schreiben. Falsch wäre, “nfs://” davor zu setzen. ")])),_:1},8,["model-value"])])}const V=p(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nfs/backup_cloud.vue"]]);export{V as default}; diff --git a/web/settings/assets/backup_cloud-1c5d6d3f.js b/web/settings/assets/backup_cloud-d81a65ab.js similarity index 89% rename from web/settings/assets/backup_cloud-1c5d6d3f.js rename to web/settings/assets/backup_cloud-d81a65ab.js index 74eb555ebd..79d970739a 100644 --- a/web/settings/assets/backup_cloud-1c5d6d3f.js +++ b/web/settings/assets/backup_cloud-d81a65ab.js @@ -1 +1 @@ -import{B as c}from"./DataManagement-7cf51172.js";import{_ as m,u as a,k as b,l as f,G as t,E as r,y as n,x as i}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"BackupCloudOneDrive",mixins:[c]},v={class:"backup-cloud-one-drive"};function k(o,e,h,w,B,C){const d=a("openwb-base-alert"),u=a("openwb-base-text-input"),p=a("openwb-base-heading"),l=a("openwb-base-button-input");return b(),f("div",v,[t(d,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[n(" Zum Abruf der Zugangsberechtigung bitte die Konfiguration speichern, dann die Schritte 1-4 durchführen und danach die Konfiguration erneut speichern. "),i("br",null,null,-1),n(" Auth Code und URL werden nur einmal benötigt werden nach erfolgreicher Autorisierung wieder gelöscht. ")])),_:1}),t(u,{title:"Backupverzeichnis in OneDrive",subtype:"text",required:"",pattern:"^/(.*/)*","model-value":o.backupCloud.configuration.backuppath,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.backuppath"))},{help:r(()=>e[4]||(e[4]=[n(" In diesem Verzeichnis werden die Backupdateien erstellt. Bitte den Pfad mit / beenden. "),i("br",null,null,-1),n(" Beispiel: /openWB/Backup/ ")])),_:1},8,["model-value"]),t(u,{title:"Anmeldedaten auf openWB gespeichert",readonly:"","model-value":o.backupCloud.configuration.persistent_tokencache?"Ja":"Nein"},null,8,["model-value"]),t(p,null,{default:r(()=>e[5]||(e[5]=[n(" Zugang zu OneDrive für diese openWB autorisieren ")])),_:1}),t(l,{title:"1. Anmeldeanforderung erstellen","button-text":"Autorisierungs-Code anfordern",subtype:"success",onButtonClicked:e[1]||(e[1]=s=>o.sendSystemCommand("requestMSALAuthCode",{}))},{help:r(()=>e[6]||(e[6]=[n(" Es werden Zugangstokens für OneDrive angefordert. Diese werden nur lokal auf dieser openWB gespeichert. Genutzt wird Device Flow mit public application."),i("br",null,null,-1),n(" Weitere Infos:"),i("br",null,null,-1),i("a",{href:"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",target:"_blank",rel:"noopener noreferrer"},"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",-1),i("a",{href:"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",target:"_blank",rel:"noopener noreferrer"},"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",-1)])),_:1}),t(u,{title:"2. Diesen Code kopieren",subtype:"text",readonly:"","model-value":o.backupCloud.configuration.authcode},null,8,["model-value"]),t(u,{title:"3. Anmelde-URL aufrufen",subtype:"url",readonly:"","model-value":o.backupCloud.configuration.authurl},{help:r(()=>e[7]||(e[7]=[n(" Diese URL im Browser öffnen und den Code eingeben. Dies erzeugt die notwendigen Zugangsberechtigung für diese openWB. ")])),_:1},8,["model-value"]),t(l,{title:"4. Token abrufen und speichern","button-text":"Autorisierungs-Token abrufen",subtype:"success",onButtonClicked:e[2]||(e[2]=s=>o.sendSystemCommand("retrieveMSALTokens",{}))},{help:r(()=>e[8]||(e[8]=[n(" Zugangstoken wird abgerufen und gespeichert, damit das Backup durchgeführt werden kann. Zugangstoken werden nur lokal auf dieser openWB gespeichert. ")])),_:1})])}const L=m(g,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/onedrive/backup_cloud.vue"]]);export{L as default}; +import{B as c}from"./DataManagement-3ab650ed.js";import{_ as m,u as a,l as b,m as f,G as t,E as r,y as n,x as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"BackupCloudOneDrive",mixins:[c]},v={class:"backup-cloud-one-drive"};function k(o,e,h,w,B,C){const d=a("openwb-base-alert"),u=a("openwb-base-text-input"),p=a("openwb-base-heading"),l=a("openwb-base-button-input");return b(),f("div",v,[t(d,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[n(" Zum Abruf der Zugangsberechtigung bitte die Konfiguration speichern, dann die Schritte 1-4 durchführen und danach die Konfiguration erneut speichern. "),i("br",null,null,-1),n(" Auth Code und URL werden nur einmal benötigt werden nach erfolgreicher Autorisierung wieder gelöscht. ")])),_:1}),t(u,{title:"Backupverzeichnis in OneDrive",subtype:"text",required:"",pattern:"^/(.*/)*","model-value":o.backupCloud.configuration.backuppath,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.backuppath"))},{help:r(()=>e[4]||(e[4]=[n(" In diesem Verzeichnis werden die Backupdateien erstellt. Bitte den Pfad mit / beenden. "),i("br",null,null,-1),n(" Beispiel: /openWB/Backup/ ")])),_:1},8,["model-value"]),t(u,{title:"Anmeldedaten auf openWB gespeichert",readonly:"","model-value":o.backupCloud.configuration.persistent_tokencache?"Ja":"Nein"},null,8,["model-value"]),t(p,null,{default:r(()=>e[5]||(e[5]=[n(" Zugang zu OneDrive für diese openWB autorisieren ")])),_:1}),t(l,{title:"1. Anmeldeanforderung erstellen","button-text":"Autorisierungs-Code anfordern",subtype:"success",onButtonClicked:e[1]||(e[1]=s=>o.sendSystemCommand("requestMSALAuthCode",{}))},{help:r(()=>e[6]||(e[6]=[n(" Es werden Zugangstokens für OneDrive angefordert. Diese werden nur lokal auf dieser openWB gespeichert. Genutzt wird Device Flow mit public application."),i("br",null,null,-1),n(" Weitere Infos:"),i("br",null,null,-1),i("a",{href:"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",target:"_blank",rel:"noopener noreferrer"},"https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code",-1),i("a",{href:"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",target:"_blank",rel:"noopener noreferrer"},"https://learn.microsoft.com/en-us/azure/active-directory/develop/msal-client-applications",-1)])),_:1}),t(u,{title:"2. Diesen Code kopieren",subtype:"text",readonly:"","model-value":o.backupCloud.configuration.authcode},null,8,["model-value"]),t(u,{title:"3. Anmelde-URL aufrufen",subtype:"url",readonly:"","model-value":o.backupCloud.configuration.authurl},{help:r(()=>e[7]||(e[7]=[n(" Diese URL im Browser öffnen und den Code eingeben. Dies erzeugt die notwendigen Zugangsberechtigung für diese openWB. ")])),_:1},8,["model-value"]),t(l,{title:"4. Token abrufen und speichern","button-text":"Autorisierungs-Token abrufen",subtype:"success",onButtonClicked:e[2]||(e[2]=s=>o.sendSystemCommand("retrieveMSALTokens",{}))},{help:r(()=>e[8]||(e[8]=[n(" Zugangstoken wird abgerufen und gespeichert, damit das Backup durchgeführt werden kann. Zugangstoken werden nur lokal auf dieser openWB gespeichert. ")])),_:1})])}const L=m(g,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/onedrive/backup_cloud.vue"]]);export{L as default}; diff --git a/web/settings/assets/backup_cloud-f2929a4f.js b/web/settings/assets/backup_cloud-f2929a4f.js deleted file mode 100644 index 3e895196da..0000000000 --- a/web/settings/assets/backup_cloud-f2929a4f.js +++ /dev/null @@ -1 +0,0 @@ -import{B as r}from"./DataManagement-7cf51172.js";import{_ as p,u,k as i,l,G as d,E as c,y as o,x as n}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"BackupCloudNfs",mixins:[r]},m={class:"backup-cloud-nfs"};function _(t,e,b,k,v,x){const a=u("openwb-base-text-input");return i(),l("div",m,[d(a,{title:"Pfad zum NFS Share",pattern:"^([^/: ]+):(\\/[^/: ]+)+$",required:"","model-value":t.backupCloud.configuration.nfs_share,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.nfs_share"))},{help:c(()=>e[1]||(e[1]=[o(" 1. IP basierter Pfad: 1.2.3.4:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" 2. Host (FQDN) basierter Pfad: backupserver.domain.net:/pfad/zum/nfs-share"),n("br",null,null,-1),o(" Bitte entgegen der Syntax das Protokoll nicht davor schreiben. Falsch wäre, “nfs://” davor zu setzen. ")])),_:1},8,["model-value"])])}const V=p(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/nfs/backup_cloud.vue"]]);export{V as default}; diff --git a/web/settings/assets/backup_cloud-c9b44bce.js b/web/settings/assets/backup_cloud-fc4b5fba.js similarity index 77% rename from web/settings/assets/backup_cloud-c9b44bce.js rename to web/settings/assets/backup_cloud-fc4b5fba.js index e183bcf380..57e877e06f 100644 --- a/web/settings/assets/backup_cloud-c9b44bce.js +++ b/web/settings/assets/backup_cloud-fc4b5fba.js @@ -1 +1 @@ -import{B as r}from"./DataManagement-7cf51172.js";import{_ as i,u as s,k as p,l as d,G as t,E as m,y as a,x as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"BackupCloudSamba",mixins:[r]},f={class:"backup-cloud-samba"};function g(o,e,v,C,k,c){const u=s("openwb-base-text-input");return p(),d("div",f,[t(u,{title:"Server",subtype:"host",required:"","model-value":o.backupCloud.configuration.smb_server,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.smb_server"))},null,8,["model-value"]),t(u,{title:"Freigabe",required:"","model-value":o.backupCloud.configuration.smb_share,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.smb_share"))},null,8,["model-value"]),t(u,{title:"Unterordner (optional)","model-value":o.backupCloud.configuration.smb_path,pattern:'(^\\/$)|(^([^\\\\:"\\|*?<>]+\\/)+$)',required:"","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.smb_path"))},{help:m(()=>e[5]||(e[5]=[a(" Jeder Unterordner muss mit / enden."),l("br",null,null,-1),a(' Die Zeichen \\:"|*?<> sind verboten!'),l("br",null,null,-1),a(" Beispiel 1: openwb/ "),l("br",null,null,-1),a(" Beispiel 2: openwb/lp2/ ")])),_:1},8,["model-value"]),t(u,{title:"Benutzer",subtype:"user","model-value":o.backupCloud.configuration.smb_user,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.smb_user"))},null,8,["model-value"]),t(u,{title:"Kennwort",subtype:"password","model-value":o.backupCloud.configuration.smb_password,"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.smb_password"))},null,8,["model-value"])])}const E=i(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/samba/backup_cloud.vue"]]);export{E as default}; +import{B as r}from"./DataManagement-3ab650ed.js";import{_ as i,u as s,l as p,m as d,G as t,E as m,y as a,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"BackupCloudSamba",mixins:[r]},f={class:"backup-cloud-samba"};function g(o,e,v,C,c,k){const u=s("openwb-base-text-input");return p(),d("div",f,[t(u,{title:"Server",subtype:"host",required:"","model-value":o.backupCloud.configuration.smb_server,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.smb_server"))},null,8,["model-value"]),t(u,{title:"Freigabe",required:"","model-value":o.backupCloud.configuration.smb_share,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.smb_share"))},null,8,["model-value"]),t(u,{title:"Unterordner (optional)","model-value":o.backupCloud.configuration.smb_path,pattern:'(^\\/$)|(^([^\\\\:"\\|*?<>]+\\/)+$)',required:"","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.smb_path"))},{help:m(()=>e[5]||(e[5]=[a(" Jeder Unterordner muss mit / enden."),l("br",null,null,-1),a(' Die Zeichen \\:"|*?<> sind verboten!'),l("br",null,null,-1),a(" Beispiel 1: openwb/ "),l("br",null,null,-1),a(" Beispiel 2: openwb/lp2/ ")])),_:1},8,["model-value"]),t(u,{title:"Benutzer",subtype:"user","model-value":o.backupCloud.configuration.smb_user,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.smb_user"))},null,8,["model-value"]),t(u,{title:"Kennwort",subtype:"password","model-value":o.backupCloud.configuration.smb_password,"onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.smb_password"))},null,8,["model-value"])])}const E=i(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/backup_clouds/samba/backup_cloud.vue"]]);export{E as default}; diff --git a/web/settings/assets/bat-20a6fcc9.js b/web/settings/assets/bat-20a6fcc9.js new file mode 100644 index 0000000000..ce39c04851 --- /dev/null +++ b/web/settings/assets/bat-20a6fcc9.js @@ -0,0 +1 @@ +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as r,u as o,l,m,G as n,E as u,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbBatkitBat",mixins:[p]},_={class:"device-openwb-batkit-bat"};function b(t,e,f,v,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),m("div",_,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_bat_kit/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-9034da52.js b/web/settings/assets/bat-228b0596.js similarity index 50% rename from web/settings/assets/bat-9034da52.js rename to web/settings/assets/bat-228b0596.js index 9e8a5c8c95..7811b561c8 100644 --- a/web/settings/assets/bat-9034da52.js +++ b/web/settings/assets/bat-228b0596.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as t,k as u,l as d,G as n,E as m,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceStuderBat",mixins:[a]},_={class:"device-studer-bat"};function b(o,e,f,v,g,w){const i=t("openwb-base-heading"),s=t("openwb-base-number-input");return u(),d("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[l(" Einstellungen für Studer Batteriespeicher ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/bat.vue"]]);export{M as default}; +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as t,l as m,m as u,G as n,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceStuderBat",mixins:[a]},_={class:"device-studer-bat"};function b(o,e,f,v,g,w){const i=t("openwb-base-heading"),s=t("openwb-base-number-input");return m(),u("div",_,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Studer Batteriespeicher ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-277e39f3.js b/web/settings/assets/bat-277e39f3.js deleted file mode 100644 index 06ff03574a..0000000000 --- a/web/settings/assets/bat-277e39f3.js +++ /dev/null @@ -1 +0,0 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as n,k as m,l,G as t,E as u,y as d}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisBat",mixins:[r]},_={class:"device-solis-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-78294adc.js b/web/settings/assets/bat-2a741593.js similarity index 63% rename from web/settings/assets/bat-78294adc.js rename to web/settings/assets/bat-2a741593.js index 0eaf42367f..04bdcbe259 100644 --- a/web/settings/assets/bat-78294adc.js +++ b/web/settings/assets/bat-2a741593.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as n,k as m,l as u,G as t,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssBat",mixins:[r]},c={class:"device-fox_ess-bat"};function b(o,e,f,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const F=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/bat.vue"]]);export{F as default}; +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssBat",mixins:[r]},c={class:"device-fox_ess-bat"};function b(o,e,f,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const F=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/bat.vue"]]);export{F as default}; diff --git a/web/settings/assets/bat-0f7d8c0f.js b/web/settings/assets/bat-2c4908b3.js similarity index 53% rename from web/settings/assets/bat-0f7d8c0f.js rename to web/settings/assets/bat-2c4908b3.js index 4bda2bf61a..54fdaf189f 100644 --- a/web/settings/assets/bat-0f7d8c0f.js +++ b/web/settings/assets/bat-2c4908b3.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as o,k as m,l as u,G as t,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyIslandBat",mixins:[r]},c={class:"device-sunnyisland-bat"};function b(n,e,f,v,g,w){const s=o("openwb-base-heading"),i=o("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Sunny Island Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const h=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/bat.vue"]]);export{h as default}; +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as p,u as o,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyIslandBat",mixins:[r]},c={class:"device-sunnyisland-bat"};function b(n,e,f,v,g,w){const s=o("openwb-base-heading"),i=o("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Sunny Island Batteriespeicher ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const k=p(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-4776af34.js b/web/settings/assets/bat-4776af34.js deleted file mode 100644 index 9412f43a21..0000000000 --- a/web/settings/assets/bat-4776af34.js +++ /dev/null @@ -1 +0,0 @@ -import{C as l}from"./HardwareInstallation-61d444d7.js";import{_ as r,u as t,k as u,l as m,G as i,E as d,y as b}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenwbFlexBat",mixins:[l]},f={class:"device-openwb-flex-bat"};function _(o,e,v,w,g,x){const a=t("openwb-base-heading"),p=t("openwb-base-select-input"),s=t("openwb-base-number-input");return u(),m("div",f,[i(a,null,{default:d(()=>e[2]||(e[2]=[b(" Einstellungen für openWB-Flex Batteriespeicher ")])),_:1}),i(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(s,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const h=r(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/bat.vue"]]);export{h as default}; diff --git a/web/settings/assets/bat-7615ba77.js b/web/settings/assets/bat-7615ba77.js deleted file mode 100644 index de3b5f7c26..0000000000 --- a/web/settings/assets/bat-7615ba77.js +++ /dev/null @@ -1 +0,0 @@ -import{C as d}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as l,k as p,l as m,G as o,E as a,y as r,x as g}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceJsonBat",mixins:[d]},b={class:"device-json-bat"};function w(t,e,v,j,q,_){const s=l("openwb-base-heading"),i=l("openwb-base-text-input");return p(),m("div",b,[o(s,null,{default:a(()=>e[4]||(e[4]=[r(" Einstellungen für JSON Batteriespeicher ")])),_:1}),o(i,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":t.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.jq_power"))},{help:a(()=>e[5]||(e[5]=[r(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),r(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt (positiv Ladung, negativ Entladung) darstellt. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Ladestand",subtype:"text",required:"","model-value":t.component.configuration.jq_soc,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.jq_soc"))},null,8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Ladung",subtype:"text","model-value":t.component.configuration.jq_imported,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.jq_imported"))},{help:a(()=>e[6]||(e[6]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Entladung",subtype:"text","model-value":t.component.configuration.jq_exported,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.jq_exported"))},{help:a(()=>e[7]||(e[7]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const E=u(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/bat.vue"]]);export{E as default}; diff --git a/web/settings/assets/bat-1d125bf7.js b/web/settings/assets/bat-7628ec93.js similarity index 88% rename from web/settings/assets/bat-1d125bf7.js rename to web/settings/assets/bat-7628ec93.js index 403b785b7c..4f16bc3493 100644 --- a/web/settings/assets/bat-1d125bf7.js +++ b/web/settings/assets/bat-7628ec93.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as s,k as p,l as g,G as r,E as i,y as n,x as o}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpBat",mixins:[u]},b={class:"device-http-bat"};function f(t,e,v,w,c,k){const d=s("openwb-base-heading"),l=s("openwb-base-text-input");return p(),g("div",b,[r(d,null,{default:i(()=>e[4]||(e[4]=[n(" Einstellungen für Http Batteriespeicher ")])),_:1}),r(l,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.power_path"))},{help:i(()=>e[5]||(e[5]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Ladestand",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.soc_path,"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateConfiguration(a,"configuration.soc_path"))},{help:i(()=>e[6]||(e[6]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) in Prozent darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand laden",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateConfiguration(a,"configuration.imported_path"))},{help:i(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand entladen",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateConfiguration(a,"configuration.exported_path"))},{help:i(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),o("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const A=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/bat.vue"]]);export{A as default}; +import{C as u}from"./HardwareInstallation-774805b0.js";import{_ as m,u as s,l as p,m as g,G as r,E as i,y as n,x as o}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpBat",mixins:[u]},b={class:"device-http-bat"};function f(t,e,v,w,c,k){const d=s("openwb-base-heading"),l=s("openwb-base-text-input");return p(),g("div",b,[r(d,null,{default:i(()=>e[4]||(e[4]=[n(" Einstellungen für Http Batteriespeicher ")])),_:1}),r(l,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.power_path"))},{help:i(()=>e[5]||(e[5]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Ladestand",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.soc_path,"onUpdate:modelValue":e[1]||(e[1]=a=>t.updateConfiguration(a,"configuration.soc_path"))},{help:i(()=>e[6]||(e[6]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) in Prozent darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand laden",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[2]||(e[2]=a=>t.updateConfiguration(a,"configuration.imported_path"))},{help:i(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt. ")])),_:1},8,["model-value"]),r(l,{title:"Pfad für Zählerstand entladen",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[3]||(e[3]=a=>t.updateConfiguration(a,"configuration.exported_path"))},{help:i(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),o("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),o("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const A=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/bat.vue"]]);export{A as default}; diff --git a/web/settings/assets/bat-7781f1e1.js b/web/settings/assets/bat-7781f1e1.js new file mode 100644 index 0000000000..30ebe29af8 --- /dev/null +++ b/web/settings/assets/bat-7781f1e1.js @@ -0,0 +1 @@ +import{C as m}from"./HardwareInstallation-774805b0.js";import{_ as d,u as n,l as u,m as l,G as t,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyBat",mixins:[m]},b={class:"device-sigenergy-bat"};function _(o,e,c,f,v,y){const r=n("openwb-base-heading"),a=n("openwb-base-number-input");return u(),l("div",b,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Sigenergy Batteriespeicher ")])),_:1}),t(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const V=d(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/bat.vue"]]);export{V as default}; diff --git a/web/settings/assets/bat-7c112cdc.js b/web/settings/assets/bat-7c112cdc.js new file mode 100644 index 0000000000..686f028bfa --- /dev/null +++ b/web/settings/assets/bat-7c112cdc.js @@ -0,0 +1 @@ +import{C as l}from"./HardwareInstallation-774805b0.js";import{_ as r,u as t,l as u,m,G as i,E as d,y as b}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenwbFlexBat",mixins:[l]},f={class:"device-openwb-flex-bat"};function _(o,e,v,w,g,x){const a=t("openwb-base-heading"),p=t("openwb-base-select-input"),s=t("openwb-base-number-input");return u(),m("div",f,[i(a,null,{default:d(()=>e[2]||(e[2]=[b(" Einstellungen für openWB-Flex Batteriespeicher ")])),_:1}),i(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(s,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const k=r(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-83911b35.js b/web/settings/assets/bat-83911b35.js new file mode 100644 index 0000000000..4f3e10dd9a --- /dev/null +++ b/web/settings/assets/bat-83911b35.js @@ -0,0 +1 @@ +import{C as d}from"./HardwareInstallation-774805b0.js";import{_ as u,u as l,l as p,m,G as o,E as a,y as r,x as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceJsonBat",mixins:[d]},b={class:"device-json-bat"};function w(t,e,v,j,q,_){const s=l("openwb-base-heading"),i=l("openwb-base-text-input");return p(),m("div",b,[o(s,null,{default:a(()=>e[4]||(e[4]=[r(" Einstellungen für JSON Batteriespeicher ")])),_:1}),o(i,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":t.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.jq_power"))},{help:a(()=>e[5]||(e[5]=[r(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),r(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt (positiv Ladung, negativ Entladung) darstellt. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Ladestand",subtype:"text",required:"","model-value":t.component.configuration.jq_soc,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(n,"configuration.jq_soc"))},null,8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Ladung",subtype:"text","model-value":t.component.configuration.jq_imported,"onUpdate:modelValue":e[2]||(e[2]=n=>t.updateConfiguration(n,"configuration.jq_imported"))},{help:a(()=>e[6]||(e[6]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),o(i,{title:"Abfrage für Zählerstand Entladung",subtype:"text","model-value":t.component.configuration.jq_exported,"onUpdate:modelValue":e[3]||(e[3]=n=>t.updateConfiguration(n,"configuration.jq_exported"))},{help:a(()=>e[7]||(e[7]=[r(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const E=u(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/bat.vue"]]);export{E as default}; diff --git a/web/settings/assets/bat-c652d183.js b/web/settings/assets/bat-84a208c4.js similarity index 53% rename from web/settings/assets/bat-c652d183.js rename to web/settings/assets/bat-84a208c4.js index 7cce8d05c8..4944ac497a 100644 --- a/web/settings/assets/bat-c652d183.js +++ b/web/settings/assets/bat-84a208c4.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as n,k as m,l as u,G as t,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyBoyBat",mixins:[r]},b={class:"device-sunnyboy-bat"};function c(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",b,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const V=p(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat.vue"]]);export{V as default}; +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSunnyBoyBat",mixins:[r]},b={class:"device-sunnyboy-bat"};function c(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",b,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const h=p(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat.vue"]]);export{h as default}; diff --git a/web/settings/assets/bat-cb8e2bc7.js b/web/settings/assets/bat-84bdf828.js similarity index 58% rename from web/settings/assets/bat-cb8e2bc7.js rename to web/settings/assets/bat-84bdf828.js index 99b36b49d7..114ddb5da9 100644 --- a/web/settings/assets/bat-cb8e2bc7.js +++ b/web/settings/assets/bat-84bdf828.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as n,k as d,l as m,G as t,E as l,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeBat",mixins:[s]},_={class:"device-solaredge-bat"};function b(o,e,f,g,v,w){const i=n("openwb-base-heading"),a=n("openwb-base-number-input");return d(),m("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Batteriespeicher ")])),_:1}),t(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/bat.vue"]]);export{D as default}; +import{C as s}from"./HardwareInstallation-774805b0.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeBat",mixins:[s]},_={class:"device-solaredge-bat"};function b(o,e,f,g,v,w){const i=n("openwb-base-heading"),a=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Batteriespeicher ")])),_:1}),t(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/bat.vue"]]);export{D as default}; diff --git a/web/settings/assets/bat-99942e1b.js b/web/settings/assets/bat-870c28db.js similarity index 50% rename from web/settings/assets/bat-99942e1b.js rename to web/settings/assets/bat-870c28db.js index 93b0fb0fe5..7ddd86d997 100644 --- a/web/settings/assets/bat-99942e1b.js +++ b/web/settings/assets/bat-870c28db.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as n,k as m,l as d,G as t,E as u,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeBat",mixins:[r]},_={class:"device-deye-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const h=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/bat.vue"]]);export{h as default}; +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as p,u as n,l as m,m as d,G as t,E as u,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeBat",mixins:[r]},_={class:"device-deye-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const k=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-88cf0311.js b/web/settings/assets/bat-88cf0311.js new file mode 100644 index 0000000000..39fc5bf10a --- /dev/null +++ b/web/settings/assets/bat-88cf0311.js @@ -0,0 +1 @@ +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as r,u as o,l,m as u,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitBat",mixins:[a]},_={class:"device-openwb-evukit-bat"};function v(t,e,b,f,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),u("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-71b96bc8.js b/web/settings/assets/bat-8c39f8e9.js similarity index 63% rename from web/settings/assets/bat-71b96bc8.js rename to web/settings/assets/bat-8c39f8e9.js index b2a3d24914..bc4e8f7aa7 100644 --- a/web/settings/assets/bat-71b96bc8.js +++ b/web/settings/assets/bat-8c39f8e9.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as n,k as m,l as u,G as t,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFroniusBat",mixins:[a]},_={class:"device-fronius-bat"};function f(o,e,b,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Fronius Batteriespeicher ")])),_:1}),t(r,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":o.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.meter_id"))},null,8,["model-value"])])}const F=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/bat.vue"]]);export{F as default}; +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFroniusBat",mixins:[a]},_={class:"device-fronius-bat"};function f(o,e,b,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Fronius Batteriespeicher ")])),_:1}),t(r,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":o.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.meter_id"))},null,8,["model-value"])])}const F=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/bat.vue"]]);export{F as default}; diff --git a/web/settings/assets/bat-38a54c0e.js b/web/settings/assets/bat-a25507f4.js similarity index 53% rename from web/settings/assets/bat-38a54c0e.js rename to web/settings/assets/bat-a25507f4.js index c6064a1d1d..9ef52fe31e 100644 --- a/web/settings/assets/bat-38a54c0e.js +++ b/web/settings/assets/bat-a25507f4.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as o,k as m,l as u,G as t,E as l,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceFemsBat",mixins:[r]},f={class:"device-fems-bat"};function _(n,e,b,v,g,C){const i=o("openwb-base-heading"),s=o("openwb-base-number-input");return m(),u("div",f,[t(i,null,{default:l(()=>e[1]||(e[1]=[c(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Batteriespeicher ")])),_:1}),t(s,{title:"Anzahl der verbauten Speicher",required:"",min:1,max:2,"model-value":n.component.configuration.num,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.num"))},null,8,["model-value"])])}const N=p(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/bat.vue"]]);export{N as default}; +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as p,u as o,l as m,m as u,G as t,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceFemsBat",mixins:[r]},f={class:"device-fems-bat"};function _(n,e,b,v,g,C){const i=o("openwb-base-heading"),s=o("openwb-base-number-input");return m(),u("div",f,[t(i,null,{default:l(()=>e[1]||(e[1]=[c(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control Batteriespeicher ")])),_:1}),t(s,{title:"Anzahl der verbauten Speicher",required:"",min:1,max:2,"model-value":n.component.configuration.num,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.num"))},null,8,["model-value"])])}const S=p(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/bat.vue"]]);export{S as default}; diff --git a/web/settings/assets/bat-a2576dc3.js b/web/settings/assets/bat-a2576dc3.js deleted file mode 100644 index ed0c4dc365..0000000000 --- a/web/settings/assets/bat-a2576dc3.js +++ /dev/null @@ -1 +0,0 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as r,u as o,k as l,l as u,G as n,E as m,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitBat",mixins:[a]},_={class:"device-openwb-evukit-bat"};function v(t,e,b,f,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),u("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-a95f6a7b.js b/web/settings/assets/bat-a95f6a7b.js deleted file mode 100644 index 50dd5d77b1..0000000000 --- a/web/settings/assets/bat-a95f6a7b.js +++ /dev/null @@ -1 +0,0 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as r,u as o,k as l,l as m,G as n,E as u,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbBatkitBat",mixins:[p]},_={class:"device-openwb-batkit-bat"};function b(t,e,f,v,w,g){const i=o("openwb-base-heading"),s=o("openwb-base-select-input");return l(),m("div",_,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Batteriespeicher ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"SDM120"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=a=>t.updateConfiguration(a,"configuration.version"))},null,8,["model-value"])])}const $=r(d,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_bat_kit/bat.vue"]]);export{$ as default}; diff --git a/web/settings/assets/bat-caff4131.js b/web/settings/assets/bat-b21e9a69.js similarity index 63% rename from web/settings/assets/bat-caff4131.js rename to web/settings/assets/bat-b21e9a69.js index 2c452b9b76..f04ce90980 100644 --- a/web/settings/assets/bat-caff4131.js +++ b/web/settings/assets/bat-b21e9a69.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as n,k as m,l as u,G as t,E as d,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceVictronBat",mixins:[a]},_={class:"device-victron-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[c(" Einstellungen für Victron Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/bat.vue"]]);export{M as default}; +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as n,l as m,m as u,G as t,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceVictronBat",mixins:[a]},_={class:"device-victron-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[c(" Einstellungen für Victron Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-bcf104c8.js b/web/settings/assets/bat-bcf104c8.js deleted file mode 100644 index 74f6833136..0000000000 --- a/web/settings/assets/bat-bcf104c8.js +++ /dev/null @@ -1 +0,0 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as t,k as p,l,G as n,E as u,y as d}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxBat",mixins:[r]},b={class:"device-solarmax-bat"};function _(o,e,f,x,v,g){const a=t("openwb-base-alert"),s=t("openwb-base-number-input");return p(),l("div",b,[n(a,{subtype:"info"},{default:u(()=>e[1]||(e[1]=[d(" Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher sind Teil eines Hybridsystems. Daher muss auch eine Komponente Wechselrichter angelegt werden. ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const T=m(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/bat.vue"]]);export{T as default}; diff --git a/web/settings/assets/bat-50b59491.js b/web/settings/assets/bat-be9befb6.js similarity index 64% rename from web/settings/assets/bat-50b59491.js rename to web/settings/assets/bat-be9befb6.js index 76233fb66b..8177b5c741 100644 --- a/web/settings/assets/bat-50b59491.js +++ b/web/settings/assets/bat-be9befb6.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as t,k as p,l as u,G as n,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceHuaweiSmartLoggerBat",mixins:[s]},c={class:"device-huawei-smart-logger-bat"};function b(o,e,g,f,w,v){const i=t("openwb-base-heading"),a=t("openwb-base-number-input");return p(),u("div",c,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Batteriespeicher ")])),_:1}),n(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/bat.vue"]]);export{H as default}; +import{C as s}from"./HardwareInstallation-774805b0.js";import{_ as m,u as t,l as p,m as u,G as n,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceHuaweiSmartLoggerBat",mixins:[s]},c={class:"device-huawei-smart-logger-bat"};function b(o,e,g,f,w,v){const i=t("openwb-base-heading"),a=t("openwb-base-number-input");return p(),u("div",c,[n(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Batteriespeicher ")])),_:1}),n(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/bat.vue"]]);export{H as default}; diff --git a/web/settings/assets/bat-a372df67.js b/web/settings/assets/bat-d795c974.js similarity index 66% rename from web/settings/assets/bat-a372df67.js rename to web/settings/assets/bat-d795c974.js index bc9414e519..b707b605b2 100644 --- a/web/settings/assets/bat-a372df67.js +++ b/web/settings/assets/bat-d795c974.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as t,k as d,l as c,G as i,E as a,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMTecBat",mixins:[m]},_={class:"device-mtec-bat"};function f(o,e,v,g,w,C){const p=t("openwb-base-heading"),r=t("openwb-base-select-input"),u=t("openwb-base-number-input");return d(),c("div",_,[i(p,null,{default:a(()=>e[2]||(e[2]=[s(" Einstellungen für M-Tec Batteriespeicher ")])),_:1}),i(r,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:2,text:"Gen 2"},{value:3,text:"Gen 3"}],"model-value":o.component.configuration.generation,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.generation"))},null,8,["model-value"]),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},{help:a(()=>e[3]||(e[3]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const E=l(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/bat.vue"]]);export{E as default}; +import{C as m}from"./HardwareInstallation-774805b0.js";import{_ as l,u as t,l as d,m as c,G as i,E as a,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMTecBat",mixins:[m]},_={class:"device-mtec-bat"};function f(o,e,v,g,w,C){const p=t("openwb-base-heading"),r=t("openwb-base-select-input"),u=t("openwb-base-number-input");return d(),c("div",_,[i(p,null,{default:a(()=>e[2]||(e[2]=[s(" Einstellungen für M-Tec Batteriespeicher ")])),_:1}),i(r,{title:"Generation","not-selected":"Bitte auswählen",options:[{value:2,text:"Gen 2"},{value:3,text:"Gen 3"}],"model-value":o.component.configuration.generation,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.generation"))},null,8,["model-value"]),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},{help:a(()=>e[3]||(e[3]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const k=l(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/bat.vue"]]);export{k as default}; diff --git a/web/settings/assets/bat-ea45b5c9.js b/web/settings/assets/bat-ea45b5c9.js new file mode 100644 index 0000000000..dfb4e9bce3 --- /dev/null +++ b/web/settings/assets/bat-ea45b5c9.js @@ -0,0 +1 @@ +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as m,u as t,l as p,m as l,G as n,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxBat",mixins:[r]},b={class:"device-solarmax-bat"};function _(o,e,f,x,v,g){const a=t("openwb-base-alert"),s=t("openwb-base-number-input");return p(),l("div",b,[n(a,{subtype:"info"},{default:u(()=>e[1]||(e[1]=[d(" Solarmax MAX.STORAGE / MAX.STORAGE Ultimate Batteriespeicher sind Teil eines Hybridsystems. Daher muss auch eine Komponente Wechselrichter angelegt werden. ")])),_:1}),n(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const T=m(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/bat.vue"]]);export{T as default}; diff --git a/web/settings/assets/bat-eee03fc7.js b/web/settings/assets/bat-eee03fc7.js new file mode 100644 index 0000000000..885220217f --- /dev/null +++ b/web/settings/assets/bat-eee03fc7.js @@ -0,0 +1 @@ +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as p,u as n,l as m,m as l,G as t,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisBat",mixins:[r]},_={class:"device-solis-bat"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Batteriespeicher ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const M=p(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-fa5acdaa.js b/web/settings/assets/bat-fa5acdaa.js deleted file mode 100644 index b1d3f6d113..0000000000 --- a/web/settings/assets/bat-fa5acdaa.js +++ /dev/null @@ -1 +0,0 @@ -import{C as m}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as n,k as u,l,G as t,E as i,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyBat",mixins:[m]},b={class:"device-sigenergy-bat"};function _(o,e,c,f,v,y){const r=n("openwb-base-heading"),a=n("openwb-base-number-input");return u(),l("div",b,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Sigenergy Batteriespeicher ")])),_:1}),t(a,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const M=d(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/bat.vue"]]);export{M as default}; diff --git a/web/settings/assets/bat-0a3090c9.js b/web/settings/assets/bat-fbcc91ad.js similarity index 85% rename from web/settings/assets/bat-0a3090c9.js rename to web/settings/assets/bat-fbcc91ad.js index 96e1f4f185..3767b8c644 100644 --- a/web/settings/assets/bat-0a3090c9.js +++ b/web/settings/assets/bat-fbcc91ad.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as p,k as b,l as g,G as l,E as i,y as t,x as n,F as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceMqttBat",mixins:[a]},k={class:"device-mqtt-bat"};function B(o,e,z,x,w,W){const u=p("openwb-base-heading"),s=p("openwb-base-copy-to-clipboard"),d=p("openwb-base-alert");return b(),g("div",k,[l(u,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Batteriespeicher ")])),_:1}),l(d,{subtype:"info"},{default:i(()=>[e[26]||(e[26]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" Speicherleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Ladung, negativ Entladung")),e[3]||(e[3]=n("br",null,null,-1)),e[4]||(e[4]=t(" Beispiel: ")),e[5]||(e[5]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/imported ",1)]),_:1}),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[8]||(e[8]=n("br",null,null,-1)),e[9]||(e[9]=t(" Beispiel: ")),e[10]||(e[10]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/exported ",1)]),_:1}),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=t(" Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[13]||(e[13]=n("br",null,null,-1)),e[14]||(e[14]=t(" Beispiel: ")),e[15]||(e[15]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/soc ",1)]),_:1}),e[16]||(e[16]=n("br",null,null,-1)),e[17]||(e[17]=t(" Ladestand des Speichers, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, gültige Werte 0 bis 100")),e[18]||(e[18]=n("br",null,null,-1)),e[19]||(e[19]=t(" Beispiel: ")),e[20]||(e[20]=n("span",{class:"text-info"},"95",-1))])]),e[27]||(e[27]=t(" Optional: Wenn der Speicher dies unterstützt, kann folgendes Topic abonniert werden, um die Entladeleistung im Speicher zu setzen. Der Modus, um die Speicher-Entladung ins Fahrzeug zu steuern, kann in den übergreifenden Ladeeinstellungen gesetzt werden. ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/bat/"+r(o.component.id)+"/set/power_limit ",1)]),_:1}),e[21]||(e[21]=n("br",null,null,-1)),e[22]||(e[22]=t(" Entladeleistung in Watt (Float), die im Speicher gesetzt werden muss.")),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=t(" Beispiel: ")),e[25]||(e[25]=n("span",{class:"text-info"},"123.0",-1))])])]),_:1})])}const I=m(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/bat.vue"]]);export{I as default}; +import{C as m}from"./HardwareInstallation-774805b0.js";import{_ as a,u as p,l as b,m as g,G as l,E as i,y as t,x as n,F as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceMqttBat",mixins:[m]},k={class:"device-mqtt-bat"};function B(o,e,z,x,w,W){const u=p("openwb-base-heading"),s=p("openwb-base-copy-to-clipboard"),d=p("openwb-base-alert");return b(),g("div",k,[l(u,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Batteriespeicher ")])),_:1}),l(d,{subtype:"info"},{default:i(()=>[e[26]||(e[26]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" Speicherleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Ladung, negativ Entladung")),e[3]||(e[3]=n("br",null,null,-1)),e[4]||(e[4]=t(" Beispiel: ")),e[5]||(e[5]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/imported ",1)]),_:1}),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Geladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[8]||(e[8]=n("br",null,null,-1)),e[9]||(e[9]=t(" Beispiel: ")),e[10]||(e[10]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/exported ",1)]),_:1}),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=t(" Entladene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[13]||(e[13]=n("br",null,null,-1)),e[14]||(e[14]=t(" Beispiel: ")),e[15]||(e[15]=n("span",{class:"text-info"},"123.45",-1))]),n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/bat/"+r(o.component.id)+"/get/soc ",1)]),_:1}),e[16]||(e[16]=n("br",null,null,-1)),e[17]||(e[17]=t(" Ladestand des Speichers, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, gültige Werte 0 bis 100")),e[18]||(e[18]=n("br",null,null,-1)),e[19]||(e[19]=t(" Beispiel: ")),e[20]||(e[20]=n("span",{class:"text-info"},"95",-1))])]),e[27]||(e[27]=t(" Optional: Wenn der Speicher dies unterstützt, kann folgendes Topic abonniert werden, um die Entladeleistung im Speicher zu setzen. Der Modus, um die Speicher-Entladung ins Fahrzeug zu steuern, kann in den übergreifenden Ladeeinstellungen gesetzt werden. ")),n("ul",null,[n("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/bat/"+r(o.component.id)+"/set/power_limit ",1)]),_:1}),e[21]||(e[21]=n("br",null,null,-1)),e[22]||(e[22]=t(" Entladeleistung in Watt (Float), die im Speicher gesetzt werden muss.")),e[23]||(e[23]=n("br",null,null,-1)),e[24]||(e[24]=t(" Beispiel: ")),e[25]||(e[25]=n("span",{class:"text-info"},"123.0",-1))])])]),_:1})])}const I=a(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/bat.vue"]]);export{I as default}; diff --git a/web/settings/assets/bat_smart_energy-a05c3639.js b/web/settings/assets/bat_smart_energy-2bf06507.js similarity index 57% rename from web/settings/assets/bat_smart_energy-a05c3639.js rename to web/settings/assets/bat_smart_energy-2bf06507.js index e68d319d38..7519cb0981 100644 --- a/web/settings/assets/bat_smart_energy-a05c3639.js +++ b/web/settings/assets/bat_smart_energy-2bf06507.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as o,k as p,l as u,G as t,E as d,y as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceSunnyBoyBatSmartEnergy",mixins:[a]},b={class:"device-sunnyboy-bat-smart-energy"};function c(n,e,f,y,g,v){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return p(),u("div",b,[t(s,null,{default:d(()=>e[1]||(e[1]=[_(" Einstellungen für SMA Sunny Boy Smart Energy Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const V=m(l,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat_smart_energy.vue"]]);export{V as default}; +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as m,u as o,l as p,m as u,G as t,E as d,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceSunnyBoyBatSmartEnergy",mixins:[a]},b={class:"device-sunnyboy-bat-smart-energy"};function c(n,e,f,y,g,v){const s=o("openwb-base-heading"),r=o("openwb-base-number-input");return p(),u("div",b,[t(s,null,{default:d(()=>e[1]||(e[1]=[_(" Einstellungen für SMA Sunny Boy Smart Energy Batteriespeicher ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},null,8,["model-value"])])}const h=m(l,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/bat_smart_energy.vue"]]);export{h as default}; diff --git a/web/settings/assets/chargePoint-13c91f37.js b/web/settings/assets/chargePoint-13c91f37.js new file mode 100644 index 0000000000..3ae34c7934 --- /dev/null +++ b/web/settings/assets/chargePoint-13c91f37.js @@ -0,0 +1 @@ +import{C as r}from"./ChargePointInstallation-547f555f.js";import{_ as i,u as a,l as p,m as s,G as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbDcAdapter",mixins:[r]},m={class:"charge-point-openwb-dc-adapter"};function u(e,o,_,l,f,g){const t=a("openwb-base-text-input");return p(),s("div",m,[d(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":e.chargePoint.configuration.ip_address,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const k=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_dc_adapter/chargePoint.vue"]]);export{k as default}; diff --git a/web/settings/assets/chargePoint-4f9bcd83.js b/web/settings/assets/chargePoint-1b48e9d2.js similarity index 78% rename from web/settings/assets/chargePoint-4f9bcd83.js rename to web/settings/assets/chargePoint-1b48e9d2.js index b9cc2333d9..1147a5f47c 100644 --- a/web/settings/assets/chargePoint-4f9bcd83.js +++ b/web/settings/assets/chargePoint-1b48e9d2.js @@ -1 +1 @@ -import{C as u}from"./ChargePointInstallation-d3922b37.js";import{_ as p,u as t,k as i,l as d,G as m,z as l,E as c,y as g,B as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointInternalOpenwb",mixins:[u],methods:{updateMode(e){["series","socket","pro_plus"].includes(e)&&this.updateConfiguration(0,"configuration.duo_num"),this.updateConfiguration(e,"configuration.mode")}}},b={class:"charge-point-internal-openwb"};function h(e,o,B,v,w,a){const r=t("openwb-base-select-input"),s=t("openwb-base-number-input");return i(),d("div",b,[m(r,{title:"Bauart","not-selected":"Bitte auswählen",required:"",options:[{value:"series",text:"openWB series1/2 in den Varianten custom, standard & standard+"},{value:"duo",text:"openWB series1/2 Duo"},{value:"socket",text:"openWB series1/2 Buchse"},{value:"pro_plus",text:"openWB Pro+"}],"model-value":e.chargePoint.configuration.mode,"onUpdate:modelValue":o[0]||(o[0]=n=>a.updateMode(n))},null,8,["model-value"]),e.chargePoint.configuration.mode=="duo"?(i(),l(s,{key:0,title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":e.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n-1,"configuration.duo_num"))},{help:c(()=>o[2]||(o[2]=[g(' Bei einer openWB Duo können mit "1" oder "2" die beiden enthaltenen Ladepunkte angesprochen werden. ')])),_:1},8,["model-value"])):_("",!0)])}const q=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/chargePoint.vue"]]);export{q as default}; +import{C as u}from"./ChargePointInstallation-547f555f.js";import{_ as p,u as t,l as i,m as d,G as m,z as l,E as c,y as g,B as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointInternalOpenwb",mixins:[u],methods:{updateMode(e){["series","socket","pro_plus"].includes(e)&&this.updateConfiguration(0,"configuration.duo_num"),this.updateConfiguration(e,"configuration.mode")}}},b={class:"charge-point-internal-openwb"};function h(e,o,B,v,w,a){const r=t("openwb-base-select-input"),s=t("openwb-base-number-input");return i(),d("div",b,[m(r,{title:"Bauart","not-selected":"Bitte auswählen",required:"",options:[{value:"series",text:"openWB series1/2 in den Varianten custom, standard & standard+"},{value:"duo",text:"openWB series1/2 Duo"},{value:"socket",text:"openWB series1/2 Buchse"},{value:"pro_plus",text:"openWB Pro+"}],"model-value":e.chargePoint.configuration.mode,"onUpdate:modelValue":o[0]||(o[0]=n=>a.updateMode(n))},null,8,["model-value"]),e.chargePoint.configuration.mode=="duo"?(i(),l(s,{key:0,title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":e.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n-1,"configuration.duo_num"))},{help:c(()=>o[2]||(o[2]=[g(' Bei einer openWB Duo können mit "1" oder "2" die beiden enthaltenen Ladepunkte angesprochen werden. ')])),_:1},8,["model-value"])):_("",!0)])}const q=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/chargePoint.vue"]]);export{q as default}; diff --git a/web/settings/assets/chargePoint-4c86264f.js b/web/settings/assets/chargePoint-4c86264f.js new file mode 100644 index 0000000000..4a40590ac7 --- /dev/null +++ b/web/settings/assets/chargePoint-4c86264f.js @@ -0,0 +1 @@ +import{C as r}from"./ChargePointInstallation-547f555f.js";import{_ as i,u as p,l as s,m as a,G as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbPro",mixins:[r]},d={class:"charge-point-openwb-pro"};function u(o,e,_,l,f,g){const t=p("openwb-base-text-input");return s(),a("div",d,[m(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const k=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/chargePoint.vue"]]);export{k as default}; diff --git a/web/settings/assets/chargePoint-4f5b81e5.js b/web/settings/assets/chargePoint-4f5b81e5.js new file mode 100644 index 0000000000..f2638e85b6 --- /dev/null +++ b/web/settings/assets/chargePoint-4f5b81e5.js @@ -0,0 +1 @@ +import{C as p}from"./ChargePointInstallation-547f555f.js";import{_ as s,u as t,l as u,m,G as i,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointExternalOpenwb",mixins:[p]},c={class:"charge-point-external-openwb"};function g(n,e,b,f,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const E=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/external_openwb/chargePoint.vue"]]);export{E as default}; diff --git a/web/settings/assets/chargePoint-611917bd.js b/web/settings/assets/chargePoint-611917bd.js deleted file mode 100644 index 331e84f1d7..0000000000 --- a/web/settings/assets/chargePoint-611917bd.js +++ /dev/null @@ -1 +0,0 @@ -import{C as s}from"./ChargePointInstallation-d3922b37.js";import{_ as p,u as n,k as u,l as m,G as i,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"ChargePointSmartwb",mixins:[s]},b={class:"charge-point-smartwb"};function c(t,e,f,_,w,v){const r=n("openwb-base-text-input"),a=n("openwb-base-number-input");return u(),m("div",b,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Wartezeit",required:"",min:2,max:10,unit:"s","model-value":t.chargePoint.configuration.timeout,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:d(()=>e[2]||(e[2]=[l(" Zeitangabe in Sekunden, für die auf eine Antwort des Ladepunktes gewartet wird. Wird diese Zeit überschritten, so wird von einer Kommunikationsstörung ausgegangen. ")])),_:1},8,["model-value"])])}const q=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/smartwb/chargePoint.vue"]]);export{q as default}; diff --git a/web/settings/assets/chargePoint-89c4f522.js b/web/settings/assets/chargePoint-89c4f522.js new file mode 100644 index 0000000000..2abfcae8c5 --- /dev/null +++ b/web/settings/assets/chargePoint-89c4f522.js @@ -0,0 +1 @@ +import{C as p}from"./ChargePointInstallation-547f555f.js";import{_ as s,u as t,l as u,m,G as i,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointSatellite",mixins:[p]},c={class:"charge-point-openwb-satellite"};function g(n,e,f,b,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const N=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_series2_satellit/chargePoint.vue"]]);export{N as default}; diff --git a/web/settings/assets/chargePoint-9e678d43.js b/web/settings/assets/chargePoint-9e678d43.js new file mode 100644 index 0000000000..7ee03ecaa1 --- /dev/null +++ b/web/settings/assets/chargePoint-9e678d43.js @@ -0,0 +1 @@ +import{C as s}from"./ChargePointInstallation-547f555f.js";import{_ as p,u as n,l as u,m,G as i,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"ChargePointSmartwb",mixins:[s]},b={class:"charge-point-smartwb"};function c(t,e,f,_,w,v){const r=n("openwb-base-text-input"),a=n("openwb-base-number-input");return u(),m("div",b,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Wartezeit",required:"",min:2,max:10,unit:"s","model-value":t.chargePoint.configuration.timeout,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:d(()=>e[2]||(e[2]=[l(" Zeitangabe in Sekunden, für die auf eine Antwort des Ladepunktes gewartet wird. Wird diese Zeit überschritten, so wird von einer Kommunikationsstörung ausgegangen. ")])),_:1},8,["model-value"])])}const q=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/smartwb/chargePoint.vue"]]);export{q as default}; diff --git a/web/settings/assets/chargePoint-a40cb7ad.js b/web/settings/assets/chargePoint-a40cb7ad.js deleted file mode 100644 index 40083ca79e..0000000000 --- a/web/settings/assets/chargePoint-a40cb7ad.js +++ /dev/null @@ -1 +0,0 @@ -import{C as r}from"./ChargePointInstallation-d3922b37.js";import{_ as i,u as p,k as s,l as a,G as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbPro",mixins:[r]},d={class:"charge-point-openwb-pro"};function u(o,e,_,l,f,g){const t=p("openwb-base-text-input");return s(),a("div",d,[m(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const B=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/chargePoint.vue"]]);export{B as default}; diff --git a/web/settings/assets/chargePoint-a4336447.js b/web/settings/assets/chargePoint-a4336447.js deleted file mode 100644 index 55125803ba..0000000000 --- a/web/settings/assets/chargePoint-a4336447.js +++ /dev/null @@ -1 +0,0 @@ -import{C as d}from"./ChargePointInstallation-d3922b37.js";import{_ as g,u,k as a,l as f,G as e,E as i,y as t,x as l,F as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"ChargePointMqtt",mixins:[d]},b={class:"charge-point-mqtt"};function k(o,n,B,v,w,W){const p=u("openwb-base-alert"),s=u("openwb-base-copy-to-clipboard");return a(),f("div",b,[e(p,{subtype:"danger"},{default:i(()=>n[0]||(n[0]=[t(" Dieser Ladepunkt-Typ darf nur in Kombination mit dem Simulator zur Fehleranalyse genutzt werden. Eine andere Verwendung ist laut den Nutzungsbedingungen untersagt. ")])),_:1}),e(p,{subtype:"info"},{default:i(()=>[n[72]||(n[72]=t(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten von speziellen Topics im Broker gelesen bzw. geschrieben werden.")),n[73]||(n[73]=l("br",null,null,-1)),n[74]||(n[74]=t(" Alle Daten werden als gültiges JSON gesendet und auch so erwartet! Zahlen mit Nachkommastellen (Float) verwenden einen Punkt als Dezimaltrenner (internationales Format). ")),l("ol",null,[l("li",null,[n[11]||(n[11]=t(" von openWB gesendete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/current ",1)]),_:1}),n[1]||(n[1]=l("br",null,null,-1)),n[2]||(n[2]=t(" Sollwert des Ladestroms, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[3]||(n[3]=l("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=l("span",{class:"text-info"},"12.34",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/phases_to_use ",1)]),_:1}),n[6]||(n[6]=l("br",null,null,-1)),n[7]||(n[7]=t(" Sollwert für die Anzahl Phasen als Ganzzahl (Integer). Mögliche Werte: 1 oder 3")),n[8]||(n[8]=l("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=l("span",{class:"text-info"},"1",-1))])])]),l("li",null,[n[37]||(n[37]=t(" von openWB zwingend erwartete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/currents ",1)]),_:1}),n[12]||(n[12]=l("br",null,null,-1)),n[13]||(n[13]=t(" Aktuelle Phasenströme des Ladepunktes, Array mit drei Zahlen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[14]||(n[14]=l("br",null,null,-1)),n[15]||(n[15]=t(" Beispiel: ")),n[16]||(n[16]=l("span",{class:"text-info"},"[6.78,6.89,6.94]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power ",1)]),_:1}),n[17]||(n[17]=l("br",null,null,-1)),n[18]||(n[18]=t(" Leistung in Watt, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[19]||(n[19]=l("br",null,null,-1)),n[20]||(n[20]=t(" Beispiel: ")),n[21]||(n[21]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/plug_state ",1)]),_:1}),n[22]||(n[22]=l("br",null,null,-1)),n[23]||(n[23]=t(" Zeigt an, ob aktuell ein Fahrzeug angesteckt ist, Wahrheitswert (Bool).")),n[24]||(n[24]=l("br",null,null,-1)),n[25]||(n[25]=t(" Beispiel: ")),n[26]||(n[26]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/charge_state ",1)]),_:1}),n[27]||(n[27]=l("br",null,null,-1)),n[28]||(n[28]=t(" Zeigt an, ob ein Ladevorgang aktiv ist, Wahrheitswert (Bool).")),n[29]||(n[29]=l("br",null,null,-1)),n[30]||(n[30]=t(" Beispiel: ")),n[31]||(n[31]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/phases_in_use ",1)]),_:1}),n[32]||(n[32]=l("br",null,null,-1)),n[33]||(n[33]=t(" Anzahl der Phasen, mit denen geladen wird, Ganzzahl (Integer). Mögliche Werte: 0 bis 3")),n[34]||(n[34]=l("br",null,null,-1)),n[35]||(n[35]=t(" Beispiel: ")),n[36]||(n[36]=l("span",{class:"text-info"},"3",-1))])])]),l("li",null,[n[71]||(n[71]=t(" optionale Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/imported ",1)]),_:1}),n[38]||(n[38]=l("br",null,null,-1)),n[39]||(n[39]=t(" Geladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[40]||(n[40]=l("br",null,null,-1)),n[41]||(n[41]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[42]||(n[42]=l("br",null,null,-1)),n[43]||(n[43]=t(" Beispiel: ")),n[44]||(n[44]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/exported ",1)]),_:1}),n[45]||(n[45]=l("br",null,null,-1)),n[46]||(n[46]=t(" Entladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[47]||(n[47]=l("br",null,null,-1)),n[48]||(n[48]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[49]||(n[49]=l("br",null,null,-1)),n[50]||(n[50]=t(" Beispiel: ")),n[51]||(n[51]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/voltages ",1)]),_:1}),n[52]||(n[52]=l("br",null,null,-1)),n[53]||(n[53]=t(" Aktuelle Phasenspannungen des Ladepunktes, Array mit drei Zahlen (Float), nur positiv.")),n[54]||(n[54]=l("br",null,null,-1)),n[55]||(n[55]=t(" Die Spannungen werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[56]||(n[56]=l("br",null,null,-1)),n[57]||(n[57]=t(" Beispiel: ")),n[58]||(n[58]=l("span",{class:"text-info"},"[230.12,231.08,232.54]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power_factors ",1)]),_:1}),n[59]||(n[59]=l("br",null,null,-1)),n[60]||(n[60]=t(" Aktuelle Leistungsfaktoren des Ladepunktes, Array mit drei Zahlen (Float), Wertebereich von -1 bis 1.")),n[61]||(n[61]=l("br",null,null,-1)),n[62]||(n[62]=t(" Die Leistungsfaktoren werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[63]||(n[63]=l("br",null,null,-1)),n[64]||(n[64]=t(" Beispiel: ")),n[65]||(n[65]=l("span",{class:"text-info"},"[-0.87,0.96,1.0]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/rfid_tag ",1)]),_:1}),n[66]||(n[66]=l("br",null,null,-1)),n[67]||(n[67]=t(" Eine Zeichenfolge, die einen eingelesenen Tag für openWB repräsentiert.")),n[68]||(n[68]=l("br",null,null,-1)),n[69]||(n[69]=t(" Beispiel: ")),n[70]||(n[70]=l("span",{class:"text-info"},'"123654"',-1))])])])])]),_:1})])}const Z=g(m,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/mqtt/chargePoint.vue"]]);export{Z as default}; diff --git a/web/settings/assets/chargePoint-c17a3338.js b/web/settings/assets/chargePoint-c17a3338.js deleted file mode 100644 index fe78b2b3fb..0000000000 --- a/web/settings/assets/chargePoint-c17a3338.js +++ /dev/null @@ -1 +0,0 @@ -import{C as p}from"./ChargePointInstallation-d3922b37.js";import{_ as s,u as t,k as u,l as m,G as i,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointSatellite",mixins:[p]},c={class:"charge-point-openwb-satellite"};function g(n,e,f,b,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const N=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_series2_satellit/chargePoint.vue"]]);export{N as default}; diff --git a/web/settings/assets/chargePoint-ef8b1645.js b/web/settings/assets/chargePoint-ef8b1645.js deleted file mode 100644 index 59ab405474..0000000000 --- a/web/settings/assets/chargePoint-ef8b1645.js +++ /dev/null @@ -1 +0,0 @@ -import{C as r}from"./ChargePointInstallation-d3922b37.js";import{_ as i,u as a,k as p,l as s,G as d}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"ChargePointOpenwbDcAdapter",mixins:[r]},m={class:"charge-point-openwb-dc-adapter"};function u(e,o,_,l,f,g){const t=a("openwb-base-text-input");return p(),s("div",m,[d(t,{title:"IP oder Hostname",subtype:"host",required:"","model-value":e.chargePoint.configuration.ip_address,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])])}const B=i(c,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_dc_adapter/chargePoint.vue"]]);export{B as default}; diff --git a/web/settings/assets/chargePoint-ef96f71f.js b/web/settings/assets/chargePoint-ef96f71f.js deleted file mode 100644 index ef15f3bd27..0000000000 --- a/web/settings/assets/chargePoint-ef96f71f.js +++ /dev/null @@ -1 +0,0 @@ -import{C as p}from"./ChargePointInstallation-d3922b37.js";import{_ as s,u as t,k as u,l as m,G as i,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"ChargePointExternalOpenwb",mixins:[p]},c={class:"charge-point-external-openwb"};function g(n,e,b,f,h,w){const r=t("openwb-base-text-input"),a=t("openwb-base-number-input");return u(),m("div",c,[i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.chargePoint.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Ladepunkt-Nummer",required:"",min:1,max:2,"model-value":n.chargePoint.configuration.duo_num+1,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o-1,"configuration.duo_num"))},{help:d(()=>e[2]||(e[2]=[l(' Bei einfachen Ladepunkten ist hier immer eine "1" einzutragen. Lediglich bei einer openWB Duo kann mit "2" der zweite enthaltene Ladepunkt angesprochen werden. ')])),_:1},8,["model-value"])])}const E=s(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/external_openwb/chargePoint.vue"]]);export{E as default}; diff --git a/web/settings/assets/chargePoint-fa895620.js b/web/settings/assets/chargePoint-fa895620.js new file mode 100644 index 0000000000..8b22384341 --- /dev/null +++ b/web/settings/assets/chargePoint-fa895620.js @@ -0,0 +1 @@ +import{C as d}from"./ChargePointInstallation-547f555f.js";import{_ as g,u,l as a,m,G as e,E as i,y as t,x as l,F as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointMqtt",mixins:[d]},b={class:"charge-point-mqtt"};function k(o,n,B,v,w,W){const p=u("openwb-base-alert"),s=u("openwb-base-copy-to-clipboard");return a(),m("div",b,[e(p,{subtype:"danger"},{default:i(()=>n[0]||(n[0]=[t(" Dieser Ladepunkt-Typ darf nur in Kombination mit dem Simulator zur Fehleranalyse genutzt werden. Eine andere Verwendung ist laut den Nutzungsbedingungen untersagt. ")])),_:1}),e(p,{subtype:"info"},{default:i(()=>[n[72]||(n[72]=t(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten von speziellen Topics im Broker gelesen bzw. geschrieben werden.")),n[73]||(n[73]=l("br",null,null,-1)),n[74]||(n[74]=t(" Alle Daten werden als gültiges JSON gesendet und auch so erwartet! Zahlen mit Nachkommastellen (Float) verwenden einen Punkt als Dezimaltrenner (internationales Format). ")),l("ol",null,[l("li",null,[n[11]||(n[11]=t(" von openWB gesendete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/current ",1)]),_:1}),n[1]||(n[1]=l("br",null,null,-1)),n[2]||(n[2]=t(" Sollwert des Ladestroms, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[3]||(n[3]=l("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=l("span",{class:"text-info"},"12.34",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/chargepoint/"+r(o.chargePoint.id)+"/set/phases_to_use ",1)]),_:1}),n[6]||(n[6]=l("br",null,null,-1)),n[7]||(n[7]=t(" Sollwert für die Anzahl Phasen als Ganzzahl (Integer). Mögliche Werte: 1 oder 3")),n[8]||(n[8]=l("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=l("span",{class:"text-info"},"1",-1))])])]),l("li",null,[n[37]||(n[37]=t(" von openWB zwingend erwartete Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/currents ",1)]),_:1}),n[12]||(n[12]=l("br",null,null,-1)),n[13]||(n[13]=t(" Aktuelle Phasenströme des Ladepunktes, Array mit drei Zahlen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[14]||(n[14]=l("br",null,null,-1)),n[15]||(n[15]=t(" Beispiel: ")),n[16]||(n[16]=l("span",{class:"text-info"},"[6.78,6.89,6.94]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power ",1)]),_:1}),n[17]||(n[17]=l("br",null,null,-1)),n[18]||(n[18]=t(" Leistung in Watt, mit Nachkommastellen (Float), positiv (laden) oder negativ (entladen, falls vom Ladepunkt unterstützt).")),n[19]||(n[19]=l("br",null,null,-1)),n[20]||(n[20]=t(" Beispiel: ")),n[21]||(n[21]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/plug_state ",1)]),_:1}),n[22]||(n[22]=l("br",null,null,-1)),n[23]||(n[23]=t(" Zeigt an, ob aktuell ein Fahrzeug angesteckt ist, Wahrheitswert (Bool).")),n[24]||(n[24]=l("br",null,null,-1)),n[25]||(n[25]=t(" Beispiel: ")),n[26]||(n[26]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/charge_state ",1)]),_:1}),n[27]||(n[27]=l("br",null,null,-1)),n[28]||(n[28]=t(" Zeigt an, ob ein Ladevorgang aktiv ist, Wahrheitswert (Bool).")),n[29]||(n[29]=l("br",null,null,-1)),n[30]||(n[30]=t(" Beispiel: ")),n[31]||(n[31]=l("span",{class:"text-info"},"true",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/phases_in_use ",1)]),_:1}),n[32]||(n[32]=l("br",null,null,-1)),n[33]||(n[33]=t(" Anzahl der Phasen, mit denen geladen wird, Ganzzahl (Integer). Mögliche Werte: 0 bis 3")),n[34]||(n[34]=l("br",null,null,-1)),n[35]||(n[35]=t(" Beispiel: ")),n[36]||(n[36]=l("span",{class:"text-info"},"3",-1))])])]),l("li",null,[n[71]||(n[71]=t(" optionale Topics ")),l("ul",null,[l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/imported ",1)]),_:1}),n[38]||(n[38]=l("br",null,null,-1)),n[39]||(n[39]=t(" Geladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[40]||(n[40]=l("br",null,null,-1)),n[41]||(n[41]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[42]||(n[42]=l("br",null,null,-1)),n[43]||(n[43]=t(" Beispiel: ")),n[44]||(n[44]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/exported ",1)]),_:1}),n[45]||(n[45]=l("br",null,null,-1)),n[46]||(n[46]=t(" Entladene Energie in Wh, mit Nachkommastellen (Float), nur positiv")),n[47]||(n[47]=l("br",null,null,-1)),n[48]||(n[48]=t(" Wird dieses Topic nicht vom Ladepunkt gesendet, so wird intern ein Zählerstand anhand der Leistung simuliert.")),n[49]||(n[49]=l("br",null,null,-1)),n[50]||(n[50]=t(" Beispiel: ")),n[51]||(n[51]=l("span",{class:"text-info"},"123.45",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/voltages ",1)]),_:1}),n[52]||(n[52]=l("br",null,null,-1)),n[53]||(n[53]=t(" Aktuelle Phasenspannungen des Ladepunktes, Array mit drei Zahlen (Float), nur positiv.")),n[54]||(n[54]=l("br",null,null,-1)),n[55]||(n[55]=t(" Die Spannungen werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[56]||(n[56]=l("br",null,null,-1)),n[57]||(n[57]=t(" Beispiel: ")),n[58]||(n[58]=l("span",{class:"text-info"},"[230.12,231.08,232.54]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/power_factors ",1)]),_:1}),n[59]||(n[59]=l("br",null,null,-1)),n[60]||(n[60]=t(" Aktuelle Leistungsfaktoren des Ladepunktes, Array mit drei Zahlen (Float), Wertebereich von -1 bis 1.")),n[61]||(n[61]=l("br",null,null,-1)),n[62]||(n[62]=t(" Die Leistungsfaktoren werden nicht verarbeitet, sondern lediglich im Status angezeigt.")),n[63]||(n[63]=l("br",null,null,-1)),n[64]||(n[64]=t(" Beispiel: ")),n[65]||(n[65]=l("span",{class:"text-info"},"[-0.87,0.96,1.0]",-1))]),l("li",null,[e(s,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/chargepoint/"+r(o.chargePoint.id)+"/get/rfid_tag ",1)]),_:1}),n[66]||(n[66]=l("br",null,null,-1)),n[67]||(n[67]=t(" Eine Zeichenfolge, die einen eingelesenen Tag für openWB repräsentiert.")),n[68]||(n[68]=l("br",null,null,-1)),n[69]||(n[69]=t(" Beispiel: ")),n[70]||(n[70]=l("span",{class:"text-info"},'"123654"',-1))])])])])]),_:1})])}const Z=g(f,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/mqtt/chargePoint.vue"]]);export{Z as default}; diff --git a/web/settings/assets/commands-50a76288.js b/web/settings/assets/commands-50a76288.js deleted file mode 100644 index 868f9bf14c..0000000000 --- a/web/settings/assets/commands-50a76288.js +++ /dev/null @@ -1 +0,0 @@ -import{a as d}from"./ChargePointInstallation-d3922b37.js";import{_ as u,u as c,k as l,l as g,G as a,E as r,y as p}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"ChargePointCommandsOpenwbPro",mixins:[d],methods:{async triggerUpdate(){let t=new FormData;t.append("command","update"),t.append("data",'{"ip_address":"'+this.chargePoint.configuration.ip_address+'"}');const n="Die Aktualisierung der openWB Pro wird gestartet...";this.$root.postClientMessage(n,"info"),console.debug(location),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/openwb_pro/commands.php",t,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+this.chargePoint.configuration.ip_address,"_blank")}}},h={class:"charge-point-commands-openwb-pro"};function f(t,n,e,s,b,o){const i=c("openwb-base-button-input");return l(),g("div",h,[a(i,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.triggerUpdate},{help:r(()=>n[0]||(n[0]=[p(" Mit diesem Befehl können Sie die Aktualisierung der openWB Pro anstoßen. Bitte beachten Sie, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["disabled","onButtonClicked"]),a(i,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.openSettings},{help:r(()=>n[1]||(n[1]=[p(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["disabled","onButtonClicked"])])}const v=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/commands.vue"]]);export{v as default}; diff --git a/web/settings/assets/commands-632da742.js b/web/settings/assets/commands-632da742.js new file mode 100644 index 0000000000..b25aa88c99 --- /dev/null +++ b/web/settings/assets/commands-632da742.js @@ -0,0 +1 @@ +import{a as d}from"./ChargePointInstallation-547f555f.js";import{_ as u,u as c,l,m as g,G as a,E as r,y as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"ChargePointCommandsOpenwbPro",mixins:[d],methods:{async triggerUpdate(){let t=new FormData;t.append("command","update"),t.append("data",'{"ip_address":"'+this.chargePoint.configuration.ip_address+'"}');const n="Die Aktualisierung der openWB Pro wird gestartet...";this.$root.postClientMessage(n,"info"),console.debug(location),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/openwb_pro/commands.php",t,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+this.chargePoint.configuration.ip_address,"_blank")}}},h={class:"charge-point-commands-openwb-pro"};function f(t,n,e,s,b,o){const i=c("openwb-base-button-input");return l(),g("div",h,[a(i,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.triggerUpdate},{help:r(()=>n[0]||(n[0]=[p(" Mit diesem Befehl können Sie die Aktualisierung der openWB Pro anstoßen. Bitte beachten Sie, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["disabled","onButtonClicked"]),a(i,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",disabled:t.chargePoint.configuration.ip_address==null,onButtonClicked:o.openSettings},{help:r(()=>n[1]||(n[1]=[p(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["disabled","onButtonClicked"])])}const v=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/openwb_pro/commands.vue"]]);export{v as default}; diff --git a/web/settings/assets/commands-947e1b3d.js b/web/settings/assets/commands-ab280eb2.js similarity index 86% rename from web/settings/assets/commands-947e1b3d.js rename to web/settings/assets/commands-ab280eb2.js index d41ac83664..7dd45de117 100644 --- a/web/settings/assets/commands-947e1b3d.js +++ b/web/settings/assets/commands-ab280eb2.js @@ -1 +1 @@ -import{a as g}from"./ChargePointInstallation-d3922b37.js";import{_ as h,u,k as a,l as c,G as d,E as r,y as i,z as _,F as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointCommandsInternalOpenwb",mixins:[g],computed:{mode(){switch(this.chargePoint.configuration.mode){case"series":return"openWB series1/2 custom, standard & standard+";case"duo":return"openWB series1/2 Duo";case"socket":return"openWB series1/2 Buchse";case"pro_plus":return"openWB Pro+";default:return this.chargePoint.configuration.mode}}},methods:{async triggerUpdate(){let n=new FormData;n.append("command","update_pro_plus");const t="Die Aktualisierung der openWB Pro+ wird gestartet...";this.$root.postClientMessage(t,"info"),console.debug(location),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/internal_openwb/commands.php",n,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro+ wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+location.hostname+":8080","_blank")}}},b={class:"charge-point-commands-internal-openwb"},k={key:0};function B(n,t,e,s,w,o){const p=u("openwb-base-button-input"),m=u("openwb-base-alert");return a(),c("div",b,[n.chargePoint.configuration.mode=="pro_plus"?(a(),c("div",k,[d(p,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",onButtonClicked:o.triggerUpdate},{help:r(()=>t[0]||(t[0]=[i(" Hier können Sie die Aktualisierung der openWB Pro anstoßen. Bitte stellen Sie sicher, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["onButtonClicked"]),d(p,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",onButtonClicked:o.openSettings},{help:r(()=>t[1]||(t[1]=[i(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["onButtonClicked"])])):(a(),_(m,{key:1,subtype:"secondary"},{default:r(()=>[i(' Der Ladepunkt-Typ "'+l(n.chargePoint.type)+'" bietet für die Bauart "'+l(o.mode)+'" keine Befehle an. ',1)]),_:1}))])}const S=h(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/commands.vue"]]);export{S as default}; +import{a as g}from"./ChargePointInstallation-547f555f.js";import{_ as h,u,l as a,m as c,G as d,E as r,y as i,z as _,F as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"ChargePointCommandsInternalOpenwb",mixins:[g],computed:{mode(){switch(this.chargePoint.configuration.mode){case"series":return"openWB series1/2 custom, standard & standard+";case"duo":return"openWB series1/2 Duo";case"socket":return"openWB series1/2 Buchse";case"pro_plus":return"openWB Pro+";default:return this.chargePoint.configuration.mode}}},methods:{async triggerUpdate(){let n=new FormData;n.append("command","update_pro_plus");const t="Die Aktualisierung der openWB Pro+ wird gestartet...";this.$root.postClientMessage(t,"info"),console.debug(location),this.axios.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/charge_points/internal_openwb/commands.php",n,{timeout:5e3}).then(()=>{const e="Die Aktualisierung der openWB Pro+ wurde erfolgreich gestartet.";this.$root.postClientMessage(e,"success")}).catch(e=>{var s="Aktualisierung fehlgeschlagen!
";e.response?(console.error(e.response.status,e.response.data),s+=e.response.status+": "+e.response.data):e.request?(console.error(e.request),s+="Es wurde keine Antwort vom Server empfangen."):(console.error("Error",e.message),s+="Es ist ein unbekannter Fehler aufgetreten."),this.$root.postClientMessage(s,"danger")})},openSettings(){window.open("http://"+location.hostname+":8080","_blank")}}},b={class:"charge-point-commands-internal-openwb"},k={key:0};function B(n,t,e,s,w,o){const p=u("openwb-base-button-input"),m=u("openwb-base-alert");return a(),c("div",b,[n.chargePoint.configuration.mode=="pro_plus"?(a(),c("div",k,[d(p,{title:"Ladepunkt aktualisieren","button-text":"Update anfordern",subtype:"success",onButtonClicked:o.triggerUpdate},{help:r(()=>t[0]||(t[0]=[i(" Hier können Sie die Aktualisierung der openWB Pro anstoßen. Bitte stellen Sie sicher, dass kein Fahrzeug angesteckt ist. ")])),_:1},8,["onButtonClicked"]),d(p,{title:"Einstellungen öffnen","button-text":"Zu den Einstellungen",subtype:"success",onButtonClicked:o.openSettings},{help:r(()=>t[1]||(t[1]=[i(" Mit diesem Befehl können Sie die Einstellungen der openWB Pro in einem neuen Browser-Tab oder -Fenster öffnen. ")])),_:1},8,["onButtonClicked"])])):(a(),_(m,{key:1,subtype:"secondary"},{default:r(()=>[i(' Der Ladepunkt-Typ "'+l(n.chargePoint.type)+'" bietet für die Bauart "'+l(o.mode)+'" keine Befehle an. ',1)]),_:1}))])}const S=h(f,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/charge_points/internal_openwb/commands.vue"]]);export{S as default}; diff --git a/web/settings/assets/consumption_counter-26f42077.js b/web/settings/assets/consumption_counter-ed63d449.js similarity index 72% rename from web/settings/assets/consumption_counter-26f42077.js rename to web/settings/assets/consumption_counter-ed63d449.js index c3e04191ec..eb6fef3aac 100644 --- a/web/settings/assets/consumption_counter-26f42077.js +++ b/web/settings/assets/consumption_counter-ed63d449.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as o,k as b,l as c,G as t,E as s,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceOpenwbFlexConsumptionCounter",mixins:[d]},f={class:"device-openwb-flex-consumption-counter"};function g(n,e,w,v,x,B){const l=o("openwb-base-heading"),u=o("openwb-base-alert"),p=o("openwb-base-select-input"),a=o("openwb-base-number-input");return b(),c("div",f,[t(l,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für openWB-Flex Verbrauchszähler ")])),_:1}),t(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" Bei saldierenden Zählern (B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (SDM120, SDM630, SDM72D-M), wird der Zählerstand für den Bezug aus dem Zähler ausgelesen. Eine Messung der Einspeisung ist nicht möglich. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:"sdm120",text:"SDM120"},{value:"sdm630",text:"SDM630/SDM72D-M"},{value:"b23",text:"B23"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(a,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const k=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/consumption_counter.vue"]]);export{k as default}; +import{C as d}from"./HardwareInstallation-774805b0.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceOpenwbFlexConsumptionCounter",mixins:[d]},f={class:"device-openwb-flex-consumption-counter"};function g(n,e,w,v,x,B){const l=o("openwb-base-heading"),u=o("openwb-base-alert"),p=o("openwb-base-select-input"),a=o("openwb-base-number-input");return b(),c("div",f,[t(l,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für openWB-Flex Verbrauchszähler ")])),_:1}),t(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" Bei saldierenden Zählern (B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (SDM120, SDM630, SDM72D-M), wird der Zählerstand für den Bezug aus dem Zähler ausgelesen. Eine Messung der Einspeisung ist nicht möglich. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:"sdm120",text:"SDM120"},{value:"sdm630",text:"SDM630/SDM72D-M"},{value:"b23",text:"B23"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(a,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const z=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/consumption_counter.vue"]]);export{z as default}; diff --git a/web/settings/assets/counter-521971df.js b/web/settings/assets/counter-03859dcb.js similarity index 56% rename from web/settings/assets/counter-521971df.js rename to web/settings/assets/counter-03859dcb.js index 36cc7914fa..5b070de718 100644 --- a/web/settings/assets/counter-521971df.js +++ b/web/settings/assets/counter-03859dcb.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as c,u as t,k as m,l as u,G as o,E as s,y as l,x as n,F as d}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShellyCounter",mixins:[p]},f={class:"device-shelly-counter"},h={class:"small"};function b(r,e,y,g,x,v){const i=t("openwb-base-heading"),a=t("openwb-base-alert");return m(),u("div",f,[o(i,null,{default:s(()=>[e[0]||(e[0]=l(" Einstellungen für Shelly Zähler ")),n("span",h,"(Modul: "+d(r.$options.name)+")",1)]),_:1}),o(a,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n("span",{class:"text-danger"}," Als EVU-Zähler werden nur dreiphasige Shellys unterstützt (z.B. Shelly 3EM, Shelly Pro 3EM)",-1),n("br",null,null,-1),l(" Diese Komponente benötigt keine Einstellungen. ")])),_:1})])}const D=c(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/counter.vue"]]);export{D as default}; +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as m,u as t,l as c,m as u,G as o,E as s,y as l,x as n,F as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShellyCounter",mixins:[p]},f={class:"device-shelly-counter"},h={class:"small"};function b(r,e,y,g,x,v){const i=t("openwb-base-heading"),a=t("openwb-base-alert");return c(),u("div",f,[o(i,null,{default:s(()=>[e[0]||(e[0]=l(" Einstellungen für Shelly Zähler ")),n("span",h,"(Modul: "+d(r.$options.name)+")",1)]),_:1}),o(a,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n("span",{class:"text-danger"}," Als EVU-Zähler werden nur dreiphasige Shellys unterstützt (z.B. Shelly 3EM, Shelly Pro 3EM)",-1),n("br",null,null,-1),l(" Diese Komponente benötigt keine Einstellungen. ")])),_:1})])}const D=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/counter.vue"]]);export{D as default}; diff --git a/web/settings/assets/counter-b1f9312b.js b/web/settings/assets/counter-07f62e38.js similarity index 73% rename from web/settings/assets/counter-b1f9312b.js rename to web/settings/assets/counter-07f62e38.js index c2f27a214e..a3fecd1e7c 100644 --- a/web/settings/assets/counter-b1f9312b.js +++ b/web/settings/assets/counter-07f62e38.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as t,k as c,l as m,G as r,E as i,y as n,x as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxCounter",mixins:[u]},b={class:"device-powerfox-counter"};function g(o,e,w,x,_,h){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return c(),m("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Zähler ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/counter.vue"]]);export{$ as default}; +import{C as u}from"./HardwareInstallation-774805b0.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,y as n,x as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxCounter",mixins:[u]},b={class:"device-powerfox-counter"};function g(o,e,w,x,_,h){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Zähler ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-5ff8b256.js b/web/settings/assets/counter-0ec3b2dc.js similarity index 92% rename from web/settings/assets/counter-5ff8b256.js rename to web/settings/assets/counter-0ec3b2dc.js index 7075e5b28e..dbda99657e 100644 --- a/web/settings/assets/counter-5ff8b256.js +++ b/web/settings/assets/counter-0ec3b2dc.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-61d444d7.js";import{_ as a,u,k as f,l as g,G as l,E as o,y as t,x as e,F as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMqttCounter",mixins:[d]},k={class:"device-mqtt-counter"};function B(i,n,z,x,v,w){const p=u("openwb-base-heading"),s=u("openwb-base-copy-to-clipboard"),m=u("openwb-base-alert");return f(),g("div",k,[l(p,null,{default:o(()=>n[0]||(n[0]=[t(" Einstellungen für MQTT Zähler ")])),_:1}),l(m,{subtype:"info"},{default:o(()=>[n[41]||(n[41]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power ",1)]),_:1}),n[1]||(n[1]=e("br",null,null,-1)),n[2]||(n[2]=t(" Bezugsleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Bezug, negativ Einspeisung")),n[3]||(n[3]=e("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=e("span",{class:"text-info"},"-123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/imported ",1)]),_:1}),n[6]||(n[6]=e("br",null,null,-1)),n[7]||(n[7]=t(" Bezogene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[8]||(n[8]=e("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/exported ",1)]),_:1}),n[11]||(n[11]=e("br",null,null,-1)),n[12]||(n[12]=t(" Eingespeiste Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[13]||(n[13]=e("br",null,null,-1)),n[14]||(n[14]=t(" Beispiel: ")),n[15]||(n[15]=e("span",{class:"text-info"},"123.45",-1))])]),n[42]||(n[42]=t(" Ströme je Phase sind für phasenbasiertes Lastmanagement unbedingt erforderlich, sonst erfolgt das Lastmanagement ausschließlich auf Basis der Gesamtleistung am EVU-Punkt: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/currents ",1)]),_:1}),n[16]||(n[16]=e("br",null,null,-1)),n[17]||(n[17]=t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung")),n[18]||(n[18]=e("br",null,null,-1)),n[19]||(n[19]=t(" Beispiel: ")),n[20]||(n[20]=e("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])]),n[43]||(n[43]=t(" Die Netzfrequenz, Spannungen, Leistungen und Leistungsfaktoren jeder Phase werden ausschließlich zu Anzeigezwecken verwendet: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/frequency ",1)]),_:1}),n[21]||(n[21]=e("br",null,null,-1)),n[22]||(n[22]=t(" Netzfrequenz in Hz, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen")),n[23]||(n[23]=e("br",null,null,-1)),n[24]||(n[24]=t(" Beispiel: ")),n[25]||(n[25]=e("span",{class:"text-info"},"50.12",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/voltages ",1)]),_:1}),n[26]||(n[26]=e("br",null,null,-1)),n[27]||(n[27]=t(" Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float)")),n[28]||(n[28]=e("br",null,null,-1)),n[29]||(n[29]=t(" Beispiel: ")),n[30]||(n[30]=e("span",{class:"text-info"},"[222.2,223.3,222.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/powers ",1)]),_:1}),n[31]||(n[31]=e("br",null,null,-1)),n[32]||(n[32]=t(" Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float)")),n[33]||(n[33]=e("br",null,null,-1)),n[34]||(n[34]=t(" Beispiel: ")),n[35]||(n[35]=e("span",{class:"text-info"},"[12.3,23.4,-12.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power_factors ",1)]),_:1}),n[36]||(n[36]=e("br",null,null,-1)),n[37]||(n[37]=t(" Array mit den Leistungsfaktoren je Phase, mit Nachkommastellen (Float), Wertebereich -1 bis 1")),n[38]||(n[38]=e("br",null,null,-1)),n[39]||(n[39]=t(" Beispiel: ")),n[40]||(n[40]=e("span",{class:"text-info"},"[0.95,0.96,-0.95]",-1))])])]),_:1})])}const q=a(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/counter.vue"]]);export{q as default}; +import{C as d}from"./HardwareInstallation-774805b0.js";import{_ as a,u,l as f,m as g,G as l,E as o,y as t,x as e,F as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceMqttCounter",mixins:[d]},k={class:"device-mqtt-counter"};function B(i,n,z,x,v,w){const p=u("openwb-base-heading"),s=u("openwb-base-copy-to-clipboard"),m=u("openwb-base-alert");return f(),g("div",k,[l(p,null,{default:o(()=>n[0]||(n[0]=[t(" Einstellungen für MQTT Zähler ")])),_:1}),l(m,{subtype:"info"},{default:o(()=>[n[41]||(n[41]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power ",1)]),_:1}),n[1]||(n[1]=e("br",null,null,-1)),n[2]||(n[2]=t(" Bezugsleistung in Watt, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, positiv Bezug, negativ Einspeisung")),n[3]||(n[3]=e("br",null,null,-1)),n[4]||(n[4]=t(" Beispiel: ")),n[5]||(n[5]=e("span",{class:"text-info"},"-123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/imported ",1)]),_:1}),n[6]||(n[6]=e("br",null,null,-1)),n[7]||(n[7]=t(" Bezogene Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[8]||(n[8]=e("br",null,null,-1)),n[9]||(n[9]=t(" Beispiel: ")),n[10]||(n[10]=e("span",{class:"text-info"},"123.45",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/exported ",1)]),_:1}),n[11]||(n[11]=e("br",null,null,-1)),n[12]||(n[12]=t(" Eingespeiste Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),n[13]||(n[13]=e("br",null,null,-1)),n[14]||(n[14]=t(" Beispiel: ")),n[15]||(n[15]=e("span",{class:"text-info"},"123.45",-1))])]),n[42]||(n[42]=t(" Ströme je Phase sind für phasenbasiertes Lastmanagement unbedingt erforderlich, sonst erfolgt das Lastmanagement ausschließlich auf Basis der Gesamtleistung am EVU-Punkt: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/currents ",1)]),_:1}),n[16]||(n[16]=e("br",null,null,-1)),n[17]||(n[17]=t(" Array mit den Strömen je Phase in Ampere, mit Nachkommastellen (Float), positiv Bezug, negativ Einspeisung")),n[18]||(n[18]=e("br",null,null,-1)),n[19]||(n[19]=t(" Beispiel: ")),n[20]||(n[20]=e("span",{class:"text-info"},"[1.2,2.3,-2.1]",-1))])]),n[43]||(n[43]=t(" Die Netzfrequenz, Spannungen, Leistungen und Leistungsfaktoren jeder Phase werden ausschließlich zu Anzeigezwecken verwendet: ")),e("ul",null,[e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/frequency ",1)]),_:1}),n[21]||(n[21]=e("br",null,null,-1)),n[22]||(n[22]=t(" Netzfrequenz in Hz, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen")),n[23]||(n[23]=e("br",null,null,-1)),n[24]||(n[24]=t(" Beispiel: ")),n[25]||(n[25]=e("span",{class:"text-info"},"50.12",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/voltages ",1)]),_:1}),n[26]||(n[26]=e("br",null,null,-1)),n[27]||(n[27]=t(" Array mit den Spannungen je Phase in Volt, mit Nachkommastellen (Float)")),n[28]||(n[28]=e("br",null,null,-1)),n[29]||(n[29]=t(" Beispiel: ")),n[30]||(n[30]=e("span",{class:"text-info"},"[222.2,223.3,222.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/powers ",1)]),_:1}),n[31]||(n[31]=e("br",null,null,-1)),n[32]||(n[32]=t(" Array mit den Leistungen je Phase in Watt, mit Nachkommastellen (Float)")),n[33]||(n[33]=e("br",null,null,-1)),n[34]||(n[34]=t(" Beispiel: ")),n[35]||(n[35]=e("span",{class:"text-info"},"[12.3,23.4,-12.3]",-1))]),e("li",null,[l(s,{class:"text-info",tooltip:"Topic kopieren"},{default:o(()=>[t(" openWB/set/counter/"+r(i.component.id)+"/get/power_factors ",1)]),_:1}),n[36]||(n[36]=e("br",null,null,-1)),n[37]||(n[37]=t(" Array mit den Leistungsfaktoren je Phase, mit Nachkommastellen (Float), Wertebereich -1 bis 1")),n[38]||(n[38]=e("br",null,null,-1)),n[39]||(n[39]=t(" Beispiel: ")),n[40]||(n[40]=e("span",{class:"text-info"},"[0.95,0.96,-0.95]",-1))])])]),_:1})])}const q=a(b,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/counter.vue"]]);export{q as default}; diff --git a/web/settings/assets/counter-7d71450b.js b/web/settings/assets/counter-10e20a5c.js similarity index 92% rename from web/settings/assets/counter-7d71450b.js rename to web/settings/assets/counter-10e20a5c.js index 0137285098..fb9a3a0c59 100644 --- a/web/settings/assets/counter-7d71450b.js +++ b/web/settings/assets/counter-10e20a5c.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as s,k as p,l as g,G as i,E as a,y as n,x as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpCounter",mixins:[u]},b={class:"device-http-counter"};function f(t,e,w,v,k,S){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),g("div",b,[i(d,null,{default:a(()=>e[6]||(e[6]=[n(" Einstellungen für Http Zähler ")])),_:1}),i(o,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.power_path"))},{help:a(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Bezug",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateConfiguration(r,"configuration.imported_path"))},{help:a(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Einspeisung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateConfiguration(r,"configuration.exported_path"))},{help:a(()=>e[9]||(e[9]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 1",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l1_path,"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateConfiguration(r,"configuration.current_l1_path"))},{help:a(()=>e[10]||(e[10]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 1. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 2",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l2_path,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateConfiguration(r,"configuration.current_l2_path"))},{help:a(()=>e[11]||(e[11]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 2. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 3",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l3_path,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateConfiguration(r,"configuration.current_l3_path"))},{help:a(()=>e[12]||(e[12]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 3. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const F=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/counter.vue"]]);export{F as default}; +import{C as u}from"./HardwareInstallation-774805b0.js";import{_ as m,u as s,l as p,m as g,G as i,E as a,y as n,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpCounter",mixins:[u]},b={class:"device-http-counter"};function f(t,e,w,v,k,S){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),g("div",b,[i(d,null,{default:a(()=>e[6]||(e[6]=[n(" Einstellungen für Http Zähler ")])),_:1}),i(o,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.power_path"))},{help:a(()=>e[7]||(e[7]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Bezug",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.imported_path,"onUpdate:modelValue":e[1]||(e[1]=r=>t.updateConfiguration(r,"configuration.imported_path"))},{help:a(()=>e[8]||(e[8]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Zählerstand Einspeisung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[2]||(e[2]=r=>t.updateConfiguration(r,"configuration.exported_path"))},{help:a(()=>e[9]||(e[9]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 1",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l1_path,"onUpdate:modelValue":e[3]||(e[3]=r=>t.updateConfiguration(r,"configuration.current_l1_path"))},{help:a(()=>e[10]||(e[10]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 1. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 2",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l2_path,"onUpdate:modelValue":e[4]||(e[4]=r=>t.updateConfiguration(r,"configuration.current_l2_path"))},{help:a(()=>e[11]||(e[11]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 2. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"]),i(o,{title:"Pfad für Strom Phase 3",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.current_l3_path,"onUpdate:modelValue":e[5]||(e[5]=r=>t.updateConfiguration(r,"configuration.current_l3_path"))},{help:a(()=>e[12]||(e[12]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Stromstärke der 3. Phase in Ampere darstellt."),l("br",null,null,-1),n(" Wird dieses Feld leer gelassen, werden keine Phasenströme ermittelt und es kann kein Lastmanagement berechnet werden! ")])),_:1},8,["model-value"])])}const F=m(h,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/counter.vue"]]);export{F as default}; diff --git a/web/settings/assets/counter-11d5e6ed.js b/web/settings/assets/counter-11d5e6ed.js new file mode 100644 index 0000000000..00f72518da --- /dev/null +++ b/web/settings/assets/counter-11d5e6ed.js @@ -0,0 +1 @@ +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as u,u as t,l as a,m as l,G as n,E as m,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DevicePowerdogCounter",mixins:[p]},_={class:"device-powerdog-counter"};function b(e,o,f,g,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return a(),l("div",_,[n(i,null,{default:m(()=>o[1]||(o[1]=[d(" Einstellungen für Powerdog Zähler ")])),_:1}),n(r,{title:"Einbau-Position",buttons:[{buttonValue:!1,text:"Hausverbrauch"},{buttonValue:!0,text:"EVU-Punkt"}],"model-value":e.component.configuration.position_evu,"onUpdate:modelValue":o[0]||(o[0]=s=>e.updateConfiguration(s,"configuration.position_evu"))},null,8,["model-value"])])}const N=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/counter.vue"]]);export{N as default}; diff --git a/web/settings/assets/counter-760bf6fc.js b/web/settings/assets/counter-14d6468a.js similarity index 78% rename from web/settings/assets/counter-760bf6fc.js rename to web/settings/assets/counter-14d6468a.js index ad764824e4..8dc8b22342 100644 --- a/web/settings/assets/counter-760bf6fc.js +++ b/web/settings/assets/counter-14d6468a.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as o,k as b,l as c,G as t,E as r,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceOpenwbFlexCounter",mixins:[d]},_={class:"device-openwb-flex-counter"};function v(n,e,w,g,M,x){const l=o("openwb-base-heading"),a=o("openwb-base-alert"),p=o("openwb-base-select-input"),u=o("openwb-base-number-input");return b(),c("div",_,[t(l,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für openWB-Flex Zähler ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(" Bei saldierenden Zählern (MPM3PM, B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (Lovato, SDM630, SDM72D-M), werden die Zählerstände von der openWB berechnet. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(u,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/counter.vue"]]);export{$ as default}; +import{C as d}from"./HardwareInstallation-774805b0.js";import{_ as m,u as o,l as b,m as c,G as t,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceOpenwbFlexCounter",mixins:[d]},_={class:"device-openwb-flex-counter"};function v(n,e,w,g,M,x){const l=o("openwb-base-heading"),a=o("openwb-base-alert"),p=o("openwb-base-select-input"),u=o("openwb-base-number-input");return b(),c("div",_,[t(l,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für openWB-Flex Zähler ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(" Bei saldierenden Zählern (MPM3PM, B23) werden die Zählerstände für Einspeisung und Bezug aus dem Zähler ausgelesen. Bei Zählern, die nicht saldierend arbeiten (Lovato, SDM630, SDM72D-M), werden die Zählerstände von der openWB berechnet. ")])),_:1}),t(p,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.version"))},null,8,["model-value"]),t(u,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":n.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-b0ca7faa.js b/web/settings/assets/counter-22fcfc81.js similarity index 71% rename from web/settings/assets/counter-b0ca7faa.js rename to web/settings/assets/counter-22fcfc81.js index 43252c932a..21ed9b7245 100644 --- a/web/settings/assets/counter-b0ca7faa.js +++ b/web/settings/assets/counter-22fcfc81.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as t,k as m,l as d,G as o,E as i,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceVirtualCounter",mixins:[p]},_={class:"device-virtual-counter"};function f(n,e,b,g,v,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return m(),d("div",_,[o(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für virtuelle Zähler ")])),_:1}),o(a,{title:"Zusätzlicher Verbrauch",min:0,step:.05,unit:"kW",required:"","model-value":n.component.configuration.external_consumption/1e3,"onUpdate:modelValue":e[0]||(e[0]=u=>n.updateConfiguration(u*1e3,"configuration.external_consumption"))},{help:i(()=>e[2]||(e[2]=[r(" Die hier angegebene Leistung wird pauschal zu dem Leistungen der hinter dem Zähler liegenden Komponenten addiert. Damit lässt sich z. B. eine Reserve für nicht erfasste Verbraucher einstellen. ")])),_:1},8,["model-value"])])}const E=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/virtual/counter.vue"]]);export{E as default}; +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as l,u as t,l as m,m as d,G as o,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceVirtualCounter",mixins:[p]},_={class:"device-virtual-counter"};function f(n,e,b,g,v,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return m(),d("div",_,[o(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für virtuelle Zähler ")])),_:1}),o(a,{title:"Zusätzlicher Verbrauch",min:0,step:.05,unit:"kW",required:"","model-value":n.component.configuration.external_consumption/1e3,"onUpdate:modelValue":e[0]||(e[0]=u=>n.updateConfiguration(u*1e3,"configuration.external_consumption"))},{help:i(()=>e[2]||(e[2]=[r(" Die hier angegebene Leistung wird pauschal zu dem Leistungen der hinter dem Zähler liegenden Komponenten addiert. Damit lässt sich z. B. eine Reserve für nicht erfasste Verbraucher einstellen. ")])),_:1},8,["model-value"])])}const E=l(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/virtual/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-27ba9eb0.js b/web/settings/assets/counter-27ba9eb0.js new file mode 100644 index 0000000000..7fcfe36f71 --- /dev/null +++ b/web/settings/assets/counter-27ba9eb0.js @@ -0,0 +1 @@ +import{C as n}from"./HardwareInstallation-774805b0.js";import{_ as s,u as a,l as i,m as l,G as m,E as p,x as e,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarLogCounter",mixins:[n]},u={class:"device-solar_log-counter"};function d(_,o,g,h,f,b){const t=a("openwb-base-alert");return i(),l("div",u,[m(t,{subtype:"info"},{default:p(()=>o[0]||(o[0]=[e("span",{class:"text-danger"},[r(" Solar-Log Zähler geben keine Ströme aus, sodass nur ein Lastmanagement anhand der Gesamtleistung, aber nicht phasenbasiert möglich ist."),e("br")],-1),r(" Solar-Log Zähler sind Hausverbrauchs-Zähler. Um die Werte am EVU-Punkt zu ermitteln, muss ein virtueller Zähler konfiguriert werden. Eine Beispiel-Konfiguration mit Solar-Log Zähler findest Du im "),e("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"}," Wiki für Hausverbrauchs-Zähler ",-1),r(". ")])),_:1})])}const E=s(c,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-b54b85f4.js b/web/settings/assets/counter-340cb2fe.js similarity index 70% rename from web/settings/assets/counter-b54b85f4.js rename to web/settings/assets/counter-340cb2fe.js index 491f1be7e6..94d09e52ea 100644 --- a/web/settings/assets/counter-b54b85f4.js +++ b/web/settings/assets/counter-340cb2fe.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as r,k as m,l as g,G as t,E as l,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerCounter",mixins:[s]},_={class:"device-vzlogger-counter"};function c(n,e,b,v,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return m(),g("div",_,[t(a,null,{default:l(()=>e[3]||(e[3]=[u(" Einstellungen für VZLogger Zähler ")])),_:1}),t(p,{subtype:"info"},{default:l(()=>e[4]||(e[4]=[u(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),t(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.line_power"))},null,8,["model-value"]),t(i,{title:"Zeile der Einspeisung",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.line_exported"))},null,8,["model-value"]),t(i,{title:"Zeile des Bezugs",min:0,"model-value":n.component.configuration.line_imported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.line_imported"))},null,8,["model-value"])])}const x=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/counter.vue"]]);export{x as default}; +import{C as s}from"./HardwareInstallation-774805b0.js";import{_ as d,u as r,l as m,m as g,G as t,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerCounter",mixins:[s]},_={class:"device-vzlogger-counter"};function c(n,e,b,v,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return m(),g("div",_,[t(a,null,{default:l(()=>e[3]||(e[3]=[u(" Einstellungen für VZLogger Zähler ")])),_:1}),t(p,{subtype:"info"},{default:l(()=>e[4]||(e[4]=[u(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),t(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.line_power"))},null,8,["model-value"]),t(i,{title:"Zeile der Einspeisung",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.line_exported"))},null,8,["model-value"]),t(i,{title:"Zeile des Bezugs",min:0,"model-value":n.component.configuration.line_imported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.line_imported"))},null,8,["model-value"])])}const U=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/counter.vue"]]);export{U as default}; diff --git a/web/settings/assets/counter-37a8540a.js b/web/settings/assets/counter-37a8540a.js new file mode 100644 index 0000000000..b1686e55ac --- /dev/null +++ b/web/settings/assets/counter-37a8540a.js @@ -0,0 +1 @@ +import{C as m}from"./HardwareInstallation-774805b0.js";import{_ as u,u as o,l as d,m as l,G as t,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseCounter",mixins:[m]},_={class:"device-enphase-counter"};function f(n,e,b,v,g,E){const p=o("openwb-base-heading"),r=o("openwb-base-number-input");return d(),l("div",_,[t(p,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Enphase Envoy / IQ Gateway Zähler ")])),_:1}),t(r,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[s(' EID für "net-consumption" ')])),_:1},8,["model-value"])])}const V=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/counter.vue"]]);export{V as default}; diff --git a/web/settings/assets/counter-38be6d97.js b/web/settings/assets/counter-38be6d97.js new file mode 100644 index 0000000000..76a2691678 --- /dev/null +++ b/web/settings/assets/counter-38be6d97.js @@ -0,0 +1 @@ +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as u,u as t,l,m as d,G as r,E as i,y as n,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmCounter",mixins:[p]},f={class:"device-smahm-counter"};function b(o,e,g,v,M,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return l(),d("div",f,[r(s,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für SMA-HM/EM Zähler ")])),_:1}),r(a,{title:"Seriennummer","model-value":o.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.serials"))},{help:i(()=>e[2]||(e[2]=[n(" Eine Seriennummer ist nur erforderlich, wenn mehrere SMA HomeManager in Betrieb sind."),c("br",null,null,-1),n(" Funktioniert auch mit Energy Meter anstatt Home Manager. ")])),_:1},8,["model-value"])])}const H=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/counter.vue"]]);export{H as default}; diff --git a/web/settings/assets/counter-40c7c5d7.js b/web/settings/assets/counter-40c7c5d7.js deleted file mode 100644 index 620876b029..0000000000 --- a/web/settings/assets/counter-40c7c5d7.js +++ /dev/null @@ -1 +0,0 @@ -import{C as m}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as o,k as d,l,G as t,E as i,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseCounter",mixins:[m]},_={class:"device-enphase-counter"};function f(n,e,b,v,g,E){const p=o("openwb-base-heading"),r=o("openwb-base-number-input");return d(),l("div",_,[t(p,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für Enphase Envoy / IQ Gateway Zähler ")])),_:1}),t(r,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[s(' EID für "net-consumption" ')])),_:1},8,["model-value"])])}const I=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/counter.vue"]]);export{I as default}; diff --git a/web/settings/assets/counter-89e73977.js b/web/settings/assets/counter-545253d4.js similarity index 63% rename from web/settings/assets/counter-89e73977.js rename to web/settings/assets/counter-545253d4.js index 0baed0d045..71c5df7af8 100644 --- a/web/settings/assets/counter-89e73977.js +++ b/web/settings/assets/counter-545253d4.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as n,k as m,l as c,G as r,E as i,y as o,x as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDiscovergyCounter",mixins:[d]},g={class:"device-discovergy-counter"};function _(t,e,v,b,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return m(),c("div",g,[r(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Zähler ")])),_:1}),r(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const E=u(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/counter.vue"]]);export{E as default}; +import{C as d}from"./HardwareInstallation-774805b0.js";import{_ as m,u as n,l as u,m as c,G as r,E as i,y as o,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDiscovergyCounter",mixins:[d]},g={class:"device-discovergy-counter"};function _(t,e,v,b,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return u(),c("div",g,[r(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Zähler ")])),_:1}),r(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const E=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-760ef96a.js b/web/settings/assets/counter-555d9e52.js similarity index 66% rename from web/settings/assets/counter-760ef96a.js rename to web/settings/assets/counter-555d9e52.js index e6e218d569..eeb60b6f79 100644 --- a/web/settings/assets/counter-760ef96a.js +++ b/web/settings/assets/counter-555d9e52.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as r,k as p,l as f,G as n,E as s,y as a}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolaredgeCounter",mixins:[d]},b={class:"device-solaredge-counter"};function c(o,e,_,v,w,C){const l=r("openwb-base-heading"),u=r("openwb-base-alert"),i=r("openwb-base-number-input");return p(),f("div",b,[n(l,null,{default:s(()=>e[2]||(e[2]=[a(" Einstellungen für SolarEdge Zähler ")])),_:1}),n(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[a(" Hierfür muss ein EVU-Zähler am SolarEdge Wechselrichter per Modbus angebunden sein. Der Zähler muss an erster Position im Wechselrichter konfiguriert sein. ")])),_:1}),n(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(i,{title:"SolarEdge-Meter-ID","model-value":o.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"])])}const M=m(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/counter.vue"]]);export{M as default}; +import{C as m}from"./HardwareInstallation-774805b0.js";import{_ as d,u as r,l as p,m as f,G as n,E as s,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolaredgeCounter",mixins:[m]},b={class:"device-solaredge-counter"};function c(o,e,_,v,w,C){const l=r("openwb-base-heading"),u=r("openwb-base-alert"),i=r("openwb-base-number-input");return p(),f("div",b,[n(l,null,{default:s(()=>e[2]||(e[2]=[a(" Einstellungen für SolarEdge Zähler ")])),_:1}),n(u,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[a(" Hierfür muss ein EVU-Zähler am SolarEdge Wechselrichter per Modbus angebunden sein. Der Zähler muss an erster Position im Wechselrichter konfiguriert sein. ")])),_:1}),n(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(i,{title:"SolarEdge-Meter-ID","model-value":o.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"])])}const M=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/counter.vue"]]);export{M as default}; diff --git a/web/settings/assets/counter-5eab1bb7.js b/web/settings/assets/counter-5eab1bb7.js deleted file mode 100644 index 67abd12ef1..0000000000 --- a/web/settings/assets/counter-5eab1bb7.js +++ /dev/null @@ -1 +0,0 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as n,k as d,l as c,G as t,E as i,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecCounter",mixins:[a]},_={class:"device-mtec-counter"};function b(o,e,f,v,g,C){const r=n("openwb-base-heading"),p=n("openwb-base-number-input");return d(),c("div",_,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für M-Tec Zähler ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const V=u(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/counter.vue"]]);export{V as default}; diff --git a/web/settings/assets/counter-7a313b17.js b/web/settings/assets/counter-6e0ab9a4.js similarity index 59% rename from web/settings/assets/counter-7a313b17.js rename to web/settings/assets/counter-6e0ab9a4.js index 2b821319ba..9f8bb80068 100644 --- a/web/settings/assets/counter-7a313b17.js +++ b/web/settings/assets/counter-6e0ab9a4.js @@ -1 +1 @@ -import{C as o}from"./HardwareInstallation-61d444d7.js";import{_ as s,u as n,k as r,l as i,G as a,E as p,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalSemCounter",mixins:[o]},l={class:"device-kostal-sem-counter"};function d(_,e,u,f,b,h){const t=n("openwb-base-alert");return r(),i("div",l,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Diese Komponente ist nur richtig, wenn der Zähler NICHT direkt am Wechselrichter (Kostal Plenticore) angeschlossen ist und daher separat abgefragt werden muss. ")])),_:1})])}const N=s(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/counter.vue"]]);export{N as default}; +import{C as o}from"./HardwareInstallation-774805b0.js";import{_ as s,u as n,l as r,m as i,G as a,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalSemCounter",mixins:[o]},l={class:"device-kostal-sem-counter"};function d(_,e,u,f,b,h){const t=n("openwb-base-alert");return r(),i("div",l,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Diese Komponente ist nur richtig, wenn der Zähler NICHT direkt am Wechselrichter (Kostal Plenticore) angeschlossen ist und daher separat abgefragt werden muss. ")])),_:1})])}const N=s(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/counter.vue"]]);export{N as default}; diff --git a/web/settings/assets/counter-6e222341.js b/web/settings/assets/counter-6e222341.js deleted file mode 100644 index 31596657c8..0000000000 --- a/web/settings/assets/counter-6e222341.js +++ /dev/null @@ -1 +0,0 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as n,k as a,l as m,G as t,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoyCounter",mixins:[p]},_={class:"device-sunnyboy-counter"};function b(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return a(),m("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const V=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/counter.vue"]]);export{V as default}; diff --git a/web/settings/assets/counter-df817a5d.js b/web/settings/assets/counter-6fe231bf.js similarity index 63% rename from web/settings/assets/counter-df817a5d.js rename to web/settings/assets/counter-6fe231bf.js index d4be1916f3..5d5dc1e45e 100644 --- a/web/settings/assets/counter-df817a5d.js +++ b/web/settings/assets/counter-6fe231bf.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as n,k as m,l as u,G as t,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssCounter",mixins:[p]},c={class:"device-fox_ess-counter"};function f(o,e,b,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Zähler ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/counter.vue"]]);export{F as default}; +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssCounter",mixins:[p]},c={class:"device-fox_ess-counter"};function f(o,e,b,x,v,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Zähler ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/counter.vue"]]);export{F as default}; diff --git a/web/settings/assets/counter-72655dad.js b/web/settings/assets/counter-72655dad.js deleted file mode 100644 index 8c660a2295..0000000000 --- a/web/settings/assets/counter-72655dad.js +++ /dev/null @@ -1 +0,0 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as t,k as l,l as u,G as n,E as m,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitCounter",mixins:[r]},v={class:"device-openwb-evukit-counter"};function _(o,e,f,b,w,x){const i=t("openwb-base-heading"),s=t("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Zähler ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-7763e88b.js b/web/settings/assets/counter-7763e88b.js new file mode 100644 index 0000000000..257e558704 --- /dev/null +++ b/web/settings/assets/counter-7763e88b.js @@ -0,0 +1 @@ +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as u,u as n,l as d,m as c,G as t,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecCounter",mixins:[a]},_={class:"device-mtec-counter"};function b(o,e,f,v,g,C){const r=n("openwb-base-heading"),m=n("openwb-base-number-input");return d(),c("div",_,[t(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für M-Tec Zähler ")])),_:1}),t(m,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[s(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const k=u(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/counter.vue"]]);export{k as default}; diff --git a/web/settings/assets/counter-2dc97d3b.js b/web/settings/assets/counter-82b43082.js similarity index 64% rename from web/settings/assets/counter-2dc97d3b.js rename to web/settings/assets/counter-82b43082.js index 0651e0639a..58f02b3ca7 100644 --- a/web/settings/assets/counter-2dc97d3b.js +++ b/web/settings/assets/counter-82b43082.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as n,u as s,k as i,l as a,G as c,E as p,y as o,x as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalPlenticoreCounter",mixins:[r]},u={class:"device-kostal-plenticore-counter"};function _(d,e,f,b,h,v){const t=s("openwb-base-alert");return i(),a("div",u,[c(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),l("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/counter.vue"]]);export{$ as default}; +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as n,u as s,l as i,m as a,G as c,E as p,y as o,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceKostalPlenticoreCounter",mixins:[r]},u={class:"device-kostal-plenticore-counter"};function _(d,e,f,b,h,v){const t=s("openwb-base-alert");return i(),a("div",u,[c(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),l("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-63b739e0.js b/web/settings/assets/counter-89c7a6c1.js similarity index 64% rename from web/settings/assets/counter-63b739e0.js rename to web/settings/assets/counter-89c7a6c1.js index 0851beb816..6cab3cd795 100644 --- a/web/settings/assets/counter-63b739e0.js +++ b/web/settings/assets/counter-89c7a6c1.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as s,u as n,k as i,l as a,G as p,E as c,y as o,x as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceKostalPikoCounter",mixins:[r]},u={class:"device-kostal-piko-counter"};function _(d,e,f,b,h,k){const t=n("openwb-base-alert");return i(),a("div",u,[p(t,{subtype:"info"},{default:c(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),m("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=s(l,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/counter.vue"]]);export{$ as default}; +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as s,u as n,l as i,m as a,G as p,E as c,y as o,x as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceKostalPikoCounter",mixins:[r]},u={class:"device-kostal-piko-counter"};function _(d,e,f,b,h,k){const t=n("openwb-base-alert");return i(),a("div",u,[p(t,{subtype:"info"},{default:c(()=>e[0]||(e[0]=[o(" Wenn der Zähler im Hausverbrauchs-Zweig installiert ist, muss die Hierarchie wie im "),m("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Zähler",target:"_blank",rel:"noopener noreferrer"},"Wiki für Hausverbrauchs-Zähler",-1),o(" beschrieben, angeordnet werden. ")])),_:1})])}const $=s(l,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-8eac897d.js b/web/settings/assets/counter-8eac897d.js deleted file mode 100644 index d8435bd314..0000000000 --- a/web/settings/assets/counter-8eac897d.js +++ /dev/null @@ -1 +0,0 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as t,k as a,l,G as n,E as d,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DevicePowerdogCounter",mixins:[p]},_={class:"device-powerdog-counter"};function b(e,o,f,g,v,w){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return a(),l("div",_,[n(i,null,{default:d(()=>o[1]||(o[1]=[m(" Einstellungen für Powerdog Zähler ")])),_:1}),n(r,{title:"Einbau-Position",buttons:[{buttonValue:!1,text:"Hausverbrauch"},{buttonValue:!0,text:"EVU-Punkt"}],"model-value":e.component.configuration.position_evu,"onUpdate:modelValue":o[0]||(o[0]=s=>e.updateConfiguration(s,"configuration.position_evu"))},null,8,["model-value"])])}const N=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/counter.vue"]]);export{N as default}; diff --git a/web/settings/assets/counter-4bc32ac4.js b/web/settings/assets/counter-8f282bba.js similarity index 63% rename from web/settings/assets/counter-4bc32ac4.js rename to web/settings/assets/counter-8f282bba.js index ebae788b1e..63941f0fa8 100644 --- a/web/settings/assets/counter-4bc32ac4.js +++ b/web/settings/assets/counter-8f282bba.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as n,k as m,l as u,G as t,E as l,y as d}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisCounter",mixins:[p]},_={class:"device-solis-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/counter.vue"]]);export{M as default}; +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as n,l as m,m as u,G as t,E as l,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisCounter",mixins:[p]},_={class:"device-solis-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const M=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/counter.vue"]]);export{M as default}; diff --git a/web/settings/assets/counter-e5ed3e29.js b/web/settings/assets/counter-91dcf244.js similarity index 90% rename from web/settings/assets/counter-e5ed3e29.js rename to web/settings/assets/counter-91dcf244.js index 1e27eff4ce..896697a51b 100644 --- a/web/settings/assets/counter-e5ed3e29.js +++ b/web/settings/assets/counter-91dcf244.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-61d444d7.js";import{_ as p,u,k as m,l as f,G as t,E as a,y as l,x as g}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJsonCounter",mixins:[d]},w={class:"device-json-counter"};function v(n,e,j,q,P,C){const i=u("openwb-base-heading"),r=u("openwb-base-text-input"),s=u("openwb-base-alert");return m(),f("div",w,[t(i,null,{default:a(()=>e[9]||(e[9]=[l(" Einstellungen für JSON Zähler ")])),_:1}),t(r,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:a(()=>e[10]||(e[10]=[l(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),l(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Bezug",subtype:"text","model-value":n.component.configuration.jq_imported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_imported"))},{help:a(()=>e[11]||(e[11]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Einspeisung",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:a(()=>e[12]||(e[12]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(s,{subtype:"info"},{default:a(()=>e[13]||(e[13]=[l(" Werden sowohl Leistung als auch Strom auf den Einzelphasen leer gelassen, erfolgt das Lastmanagement am EVU-Punkt nur anhand der Gesamtleistung am EVU-Punkt. Wird der Zähler als Zwischenzähler verwendet, wird in diesem Fall kein Lastmanagement durchgeführt. ")])),_:1}),t(r,{title:"Abfrage für Leistung auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_power_l1,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.jq_power_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_power_l2,"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.jq_power_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_power_l3,"onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.jq_power_l3"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_current_l1,"onUpdate:modelValue":e[6]||(e[6]=o=>n.updateConfiguration(o,"configuration.jq_current_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_current_l2,"onUpdate:modelValue":e[7]||(e[7]=o=>n.updateConfiguration(o,"configuration.jq_current_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_current_l3,"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateConfiguration(o,"configuration.jq_current_l3"))},null,8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/counter.vue"]]);export{L as default}; +import{C as d}from"./HardwareInstallation-774805b0.js";import{_ as p,u,l as m,m as f,G as t,E as a,y as l,x as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJsonCounter",mixins:[d]},w={class:"device-json-counter"};function v(n,e,j,q,P,C){const i=u("openwb-base-heading"),r=u("openwb-base-text-input"),s=u("openwb-base-alert");return m(),f("div",w,[t(i,null,{default:a(()=>e[9]||(e[9]=[l(" Einstellungen für JSON Zähler ")])),_:1}),t(r,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:a(()=>e[10]||(e[10]=[l(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),l(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Bezug",subtype:"text","model-value":n.component.configuration.jq_imported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_imported"))},{help:a(()=>e[11]||(e[11]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(r,{title:"Abfrage für Zählerstand Einspeisung",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:a(()=>e[12]||(e[12]=[l(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"]),t(s,{subtype:"info"},{default:a(()=>e[13]||(e[13]=[l(" Werden sowohl Leistung als auch Strom auf den Einzelphasen leer gelassen, erfolgt das Lastmanagement am EVU-Punkt nur anhand der Gesamtleistung am EVU-Punkt. Wird der Zähler als Zwischenzähler verwendet, wird in diesem Fall kein Lastmanagement durchgeführt. ")])),_:1}),t(r,{title:"Abfrage für Leistung auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_power_l1,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.jq_power_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_power_l2,"onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.jq_power_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Leistung auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_power_l3,"onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.jq_power_l3"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 1",subtype:"text","model-value":n.component.configuration.jq_current_l1,"onUpdate:modelValue":e[6]||(e[6]=o=>n.updateConfiguration(o,"configuration.jq_current_l1"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 2",subtype:"text","model-value":n.component.configuration.jq_current_l2,"onUpdate:modelValue":e[7]||(e[7]=o=>n.updateConfiguration(o,"configuration.jq_current_l2"))},null,8,["model-value"]),t(r,{title:"Abfrage für Strom auf Phase 3",subtype:"text","model-value":n.component.configuration.jq_current_l3,"onUpdate:modelValue":e[8]||(e[8]=o=>n.updateConfiguration(o,"configuration.jq_current_l3"))},null,8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/counter.vue"]]);export{L as default}; diff --git a/web/settings/assets/counter-9360498c.js b/web/settings/assets/counter-9360498c.js new file mode 100644 index 0000000000..0e9ab037f9 --- /dev/null +++ b/web/settings/assets/counter-9360498c.js @@ -0,0 +1 @@ +import{C as m}from"./HardwareInstallation-774805b0.js";import{_ as u,u as n,l as d,m as l,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyCounter",mixins:[m]},_={class:"device-sigenergy-counter"};function c(o,e,b,f,v,y){const s=n("openwb-base-heading"),p=n("openwb-base-number-input");return d(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Zähler ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const V=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/counter.vue"]]);export{V as default}; diff --git a/web/settings/assets/counter-a8c0823b.js b/web/settings/assets/counter-98d5e3dd.js similarity index 57% rename from web/settings/assets/counter-a8c0823b.js rename to web/settings/assets/counter-98d5e3dd.js index abe4702323..9db38e1c1f 100644 --- a/web/settings/assets/counter-a8c0823b.js +++ b/web/settings/assets/counter-98d5e3dd.js @@ -1 +1 @@ -import{C as n}from"./HardwareInstallation-61d444d7.js";import{_ as o,u as s,k as r,l as a,G as i,E as m,y as p}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceTeslaCounter",mixins:[n]},l={class:"device-tesla-counter"};function _(d,e,u,f,v,x){const t=s("openwb-base-alert");return r(),a("div",l,[i(t,{subtype:"info"},{default:m(()=>e[0]||(e[0]=[p(" Je nach Firmware-Version ist nur ein Lastmanagement anhand der Gesamtleistung möglich, da nicht alle Firmware-Versionen Phasenströme liefern. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/counter.vue"]]);export{y as default}; +import{C as n}from"./HardwareInstallation-774805b0.js";import{_ as o,u as s,l as r,m as a,G as i,E as m,y as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceTeslaCounter",mixins:[n]},l={class:"device-tesla-counter"};function _(d,e,u,f,v,x){const t=s("openwb-base-alert");return r(),a("div",l,[i(t,{subtype:"info"},{default:m(()=>e[0]||(e[0]=[p(" Je nach Firmware-Version ist nur ein Lastmanagement anhand der Gesamtleistung möglich, da nicht alle Firmware-Versionen Phasenströme liefern. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/counter.vue"]]);export{y as default}; diff --git a/web/settings/assets/counter-4992be32.js b/web/settings/assets/counter-9c9e16ff.js similarity index 53% rename from web/settings/assets/counter-4992be32.js rename to web/settings/assets/counter-9c9e16ff.js index 7d51d1772b..756843800b 100644 --- a/web/settings/assets/counter-4992be32.js +++ b/web/settings/assets/counter-9c9e16ff.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as n,k as m,l as p,G as t,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerCounter",mixins:[s]},_={class:"device-huawei-smart-logger-counter"};function g(o,e,b,f,w,v){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),p("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const H=u(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/counter.vue"]]);export{H as default}; +import{C as s}from"./HardwareInstallation-774805b0.js";import{_ as m,u as n,l as u,m as p,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerCounter",mixins:[s]},_={class:"device-huawei-smart-logger-counter"};function g(o,e,b,f,w,v){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return u(),p("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/counter.vue"]]);export{H as default}; diff --git a/web/settings/assets/counter-b4954c1e.js b/web/settings/assets/counter-b4954c1e.js new file mode 100644 index 0000000000..b3aa991f18 --- /dev/null +++ b/web/settings/assets/counter-b4954c1e.js @@ -0,0 +1 @@ +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as u,u as n,l as a,m,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoyCounter",mixins:[p]},_={class:"device-sunnyboy-counter"};function b(o,e,f,v,y,g){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return a(),m("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für SMA Sunny Boy/Tripower Zähler ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const h=u(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/counter.vue"]]);export{h as default}; diff --git a/web/settings/assets/counter-ba937207.js b/web/settings/assets/counter-ba937207.js new file mode 100644 index 0000000000..b96895ab7b --- /dev/null +++ b/web/settings/assets/counter-ba937207.js @@ -0,0 +1 @@ +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as a,u as t,l,m as u,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitCounter",mixins:[r]},v={class:"device-openwb-evukit-counter"};function _(o,e,f,b,w,x){const i=t("openwb-base-heading"),s=t("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Zähler ")])),_:1}),n(s,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:3,text:"B23"},{value:1,text:"Lovato"},{value:0,text:"MPM3PM"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/counter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/counter-180c0ac6.js b/web/settings/assets/counter-c1885724.js similarity index 53% rename from web/settings/assets/counter-180c0ac6.js rename to web/settings/assets/counter-c1885724.js index 6b176501dd..31335d1255 100644 --- a/web/settings/assets/counter-180c0ac6.js +++ b/web/settings/assets/counter-c1885724.js @@ -1 +1 @@ -import{C as t}from"./HardwareInstallation-61d444d7.js";import{_ as n,u as r,k as s,l as a,G as i,E as p,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceCarloGavazziCounter",mixins:[t]},_={class:"device-carlo-gavazzi-counter"};function l(u,e,d,v,f,z){const o=r("openwb-base-alert");return s(),a("div",_,[i(o,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" ModbusTCP muss aktiviert sein. ")])),_:1})])}const E=n(m,[["render",l],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/counter.vue"]]);export{E as default}; +import{C as t}from"./HardwareInstallation-774805b0.js";import{_ as n,u as r,l as s,m as a,G as i,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceCarloGavazziCounter",mixins:[t]},_={class:"device-carlo-gavazzi-counter"};function l(u,e,d,v,f,z){const o=r("openwb-base-alert");return s(),a("div",_,[i(o,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" ModbusTCP muss aktiviert sein. ")])),_:1})])}const E=n(m,[["render",l],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-c73f3ac7.js b/web/settings/assets/counter-c73f3ac7.js deleted file mode 100644 index ce71287517..0000000000 --- a/web/settings/assets/counter-c73f3ac7.js +++ /dev/null @@ -1 +0,0 @@ -import{C as m}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as n,k as d,l,G as t,E as i,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyCounter",mixins:[m]},_={class:"device-sigenergy-counter"};function c(o,e,b,f,v,y){const s=n("openwb-base-heading"),p=n("openwb-base-number-input");return d(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Zähler ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const M=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/counter.vue"]]);export{M as default}; diff --git a/web/settings/assets/counter-021792a3.js b/web/settings/assets/counter-c7f8da9b.js similarity index 58% rename from web/settings/assets/counter-021792a3.js rename to web/settings/assets/counter-c7f8da9b.js index d9ba0305ca..17100db77b 100644 --- a/web/settings/assets/counter-021792a3.js +++ b/web/settings/assets/counter-c7f8da9b.js @@ -1 +1 @@ -import{C as t}from"./HardwareInstallation-61d444d7.js";import{_ as o,u as s,k as i,l as r,G as a,E as p,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSonnenbatterieCounter",mixins:[t]},d={class:"device-sonnenbatterie-counter"};function _(l,e,u,f,b,v){const n=s("openwb-base-alert");return i(),r("div",d,[a(n,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[m(" Mit diesem Modul ist kein phasenbasiertes Lastmanagement möglich, da keine Ströme der einzelnen Phasen gemessen werden. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/counter.vue"]]);export{y as default}; +import{C as t}from"./HardwareInstallation-774805b0.js";import{_ as o,u as s,l as i,m as r,G as a,E as p,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSonnenbatterieCounter",mixins:[t]},d={class:"device-sonnenbatterie-counter"};function _(l,e,u,f,b,v){const n=s("openwb-base-alert");return i(),r("div",d,[a(n,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[m(" Mit diesem Modul ist kein phasenbasiertes Lastmanagement möglich, da keine Ströme der einzelnen Phasen gemessen werden. ")])),_:1})])}const y=o(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/counter.vue"]]);export{y as default}; diff --git a/web/settings/assets/counter-d00faf2f.js b/web/settings/assets/counter-d00faf2f.js deleted file mode 100644 index 7d52076637..0000000000 --- a/web/settings/assets/counter-d00faf2f.js +++ /dev/null @@ -1 +0,0 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as t,k as l,l as d,G as r,E as i,y as n,x as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmCounter",mixins:[p]},f={class:"device-smahm-counter"};function b(o,e,g,v,M,h){const s=t("openwb-base-heading"),a=t("openwb-base-number-input");return l(),d("div",f,[r(s,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für SMA-HM/EM Zähler ")])),_:1}),r(a,{title:"Seriennummer","model-value":o.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.serials"))},{help:i(()=>e[2]||(e[2]=[n(" Eine Seriennummer ist nur erforderlich, wenn mehrere SMA HomeManager in Betrieb sind."),c("br",null,null,-1),n(" Funktioniert auch mit Energy Meter anstatt Home Manager. ")])),_:1},8,["model-value"])])}const H=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/counter.vue"]]);export{H as default}; diff --git a/web/settings/assets/counter-e2fdeb9c.js b/web/settings/assets/counter-d34ae8f4.js similarity index 50% rename from web/settings/assets/counter-e2fdeb9c.js rename to web/settings/assets/counter-d34ae8f4.js index a367bafb36..a13ec7e613 100644 --- a/web/settings/assets/counter-e2fdeb9c.js +++ b/web/settings/assets/counter-d34ae8f4.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as n,k as m,l as u,G as t,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeCounter",mixins:[p]},_={class:"device-deye-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const h=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/counter.vue"]]);export{h as default}; +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeCounter",mixins:[p]},_={class:"device-deye-counter"};function b(o,e,f,v,g,C){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Zähler ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const k=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/counter.vue"]]);export{k as default}; diff --git a/web/settings/assets/counter-d547bc75.js b/web/settings/assets/counter-d547bc75.js deleted file mode 100644 index 5ad5cf6775..0000000000 --- a/web/settings/assets/counter-d547bc75.js +++ /dev/null @@ -1 +0,0 @@ -import{C as n}from"./HardwareInstallation-61d444d7.js";import{_ as s,u as a,k as i,l,G as p,E as c,x as e,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceSolarLogCounter",mixins:[n]},u={class:"device-solar_log-counter"};function d(_,o,g,h,f,b){const t=a("openwb-base-alert");return i(),l("div",u,[p(t,{subtype:"info"},{default:c(()=>o[0]||(o[0]=[e("span",{class:"text-danger"},[r(" Solar-Log Zähler geben keine Ströme aus, sodass nur ein Lastmanagement anhand der Gesamtleistung, aber nicht phasenbasiert möglich ist."),e("br")],-1),r(" Solar-Log Zähler sind Hausverbrauchs-Zähler. Um die Werte am EVU-Punkt zu ermitteln, muss ein virtueller Zähler konfiguriert werden. Eine Beispiel-Konfiguration mit Solar-Log Zähler findest Du im "),e("a",{href:"https://github.com/openWB/core/wiki/Hausverbrauchs-Z%C3%A4hler",target:"_blank",rel:"noopener noreferrer"}," Wiki für Hausverbrauchs-Zähler ",-1),r(". ")])),_:1})])}const E=s(m,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/counter.vue"]]);export{E as default}; diff --git a/web/settings/assets/counter-e388f3ab.js b/web/settings/assets/counter-e388f3ab.js new file mode 100644 index 0000000000..fb52bc9214 --- /dev/null +++ b/web/settings/assets/counter-e388f3ab.js @@ -0,0 +1 @@ +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronCounter",mixins:[p]},_={class:"device-victron-counter"};function f(o,e,g,v,C,V){const r=t("openwb-base-heading"),u=t("openwb-base-number-input"),s=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Zähler ")])),_:1}),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(s,{title:"Messgerät",buttons:[{buttonValue:!1,text:"AC-In Victron GX"},{buttonValue:!0,text:"Energy Meter"}],"model-value":o.component.configuration.energy_meter,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.energy_meter"))},null,8,["model-value"])])}const G=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/counter.vue"]]);export{G as default}; diff --git a/web/settings/assets/counter-f0940fea.js b/web/settings/assets/counter-f0940fea.js deleted file mode 100644 index 4e248053cf..0000000000 --- a/web/settings/assets/counter-f0940fea.js +++ /dev/null @@ -1 +0,0 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as t,k as m,l,G as i,E as d,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronCounter",mixins:[p]},_={class:"device-victron-counter"};function f(o,e,g,v,C,V){const r=t("openwb-base-heading"),u=t("openwb-base-number-input"),s=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Zähler ")])),_:1}),i(u,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(s,{title:"Messgerät",buttons:[{buttonValue:!1,text:"AC-In Victron GX"},{buttonValue:!0,text:"Energy Meter"}],"model-value":o.component.configuration.energy_meter,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.energy_meter"))},null,8,["model-value"])])}const G=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/counter.vue"]]);export{G as default}; diff --git a/web/settings/assets/counter-093a7c60.js b/web/settings/assets/counter-f17db2fe.js similarity index 62% rename from web/settings/assets/counter-093a7c60.js rename to web/settings/assets/counter-f17db2fe.js index 2ff8ed5f88..6d1e68d908 100644 --- a/web/settings/assets/counter-093a7c60.js +++ b/web/settings/assets/counter-f17db2fe.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as t,k as p,l as u,G as n,E as l,y as d}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeCounter",mixins:[a]},_={class:"device-smart-me-counter"};function f(o,e,b,v,g,x){const r=t("openwb-base-heading"),i=t("openwb-base-text-input");return p(),u("div",_,[n(r,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für smart-me Zähler ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/counter.vue"]]);export{G as default}; +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as m,u as t,l as p,m as u,G as n,E as l,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeCounter",mixins:[a]},_={class:"device-smart-me-counter"};function f(o,e,b,v,g,x){const r=t("openwb-base-heading"),i=t("openwb-base-text-input");return p(),u("div",_,[n(r,null,{default:l(()=>e[1]||(e[1]=[d(" Einstellungen für smart-me Zähler ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/counter.vue"]]);export{G as default}; diff --git a/web/settings/assets/counter-28e7f2ff.js b/web/settings/assets/counter-ffd7ad4c.js similarity index 55% rename from web/settings/assets/counter-28e7f2ff.js rename to web/settings/assets/counter-ffd7ad4c.js index 9b833f3d37..189e0a4be9 100644 --- a/web/settings/assets/counter-28e7f2ff.js +++ b/web/settings/assets/counter-ffd7ad4c.js @@ -1 +1 @@ -import{C as o}from"./HardwareInstallation-61d444d7.js";import{_ as n,u as i,k as s,l as a,G as r,E as p,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceJanitzaBat",mixins:[o]},u={class:"device-janitza-counter"};function _(d,e,f,l,v,b){const t=i("openwb-base-alert");return s(),a("div",u,[r(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(' ModbusTCP muss im Janitza auf Port 502 aktiv und die ID auf "1" eingestellt sein. ')])),_:1})])}const y=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/counter.vue"]]);export{y as default}; +import{C as o}from"./HardwareInstallation-774805b0.js";import{_ as n,u as i,l as s,m as a,G as r,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceJanitzaBat",mixins:[o]},u={class:"device-janitza-counter"};function _(d,e,f,l,v,b){const t=i("openwb-base-alert");return s(),a("div",u,[r(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(' ModbusTCP muss im Janitza auf Port 502 aktiv und die ID auf "1" eingestellt sein. ')])),_:1})])}const y=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/counter.vue"]]);export{y as default}; diff --git a/web/settings/assets/counter_sm-dedded83.js b/web/settings/assets/counter_sm-7e35d3f5.js similarity index 75% rename from web/settings/assets/counter_sm-dedded83.js rename to web/settings/assets/counter_sm-7e35d3f5.js index 32b97e5ce6..570203cadf 100644 --- a/web/settings/assets/counter_sm-dedded83.js +++ b/web/settings/assets/counter_sm-7e35d3f5.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as f,u as i,k as g,l as c,G as o,E as a,y as t,x as l,F as b}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFroniusCounterSM",mixins:[p],computed:{meterRealtimeUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System`}}}},v={class:"device-fronius-counter-sm"},w=["href"];function D(n,e,M,k,S,s){const d=i("openwb-base-heading"),m=i("openwb-base-select-input"),u=i("openwb-base-number-input");return g(),c("div",v,[o(d,null,{default:a(()=>e[2]||(e[2]=[t(" Einstellungen für Fronius SmartMeter ")])),_:1}),o(m,{title:"Kompatibilitätsmodus","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Aus"},{value:1,text:"Variante 1"},{value:2,text:"Variante 2"}],"model-value":n.component.configuration.variant,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.variant"))},{help:a(()=>e[3]||(e[3]=[t(" Gegebenenfalls auch für alte Modelle nach einem Softwareupdate erforderlich. Fronius hat derzeit keine Konsistente Schnittstelle. Speziell beim Gen24 kann Variante 1 oder 2 erforderlich sein. Nach speichern sollten nach etwa 10-20 Sekunden Daten angezeigt werden. Ist dies nicht der Fall die andere Variante ausprobieren. ")])),_:1},8,["model-value"]),o(u,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":n.component.configuration.meter_id,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateConfiguration(r,"configuration.meter_id"))},{help:a(()=>[e[4]||(e[4]=t(" Die Meter ID des SmartMeters. Diese ist normalerweise 1. Bei mehreren SmartMetern im System kann es notwendig sein, die Meter ID zu ändern. Zur Ermittlung kann der folgende Link verwendet werden. Die Meter ID kann den zurückgegebenen JSON Daten entnommen werden. ")),l("a",{href:s.meterRealtimeUrl,target:"_blank",rel:"noopener noreferrer"},b(s.meterRealtimeUrl),9,w),e[5]||(e[5]=l("br",null,null,-1)),e[6]||(e[6]=t(' Im Abschnitt "Body" -> "Data" werden die installierten SmartMeter mit aktuellen Messwerten angezeigt. Die Meter ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Messwerten. '))]),_:1},8,["model-value"])])}const N=f(_,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/counter_sm.vue"]]);export{N as default}; +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as f,u as i,l as g,m as c,G as o,E as a,y as t,x as l,F as b}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFroniusCounterSM",mixins:[p],computed:{meterRealtimeUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetMeterRealtimeData.cgi?Scope=System`}}}},v={class:"device-fronius-counter-sm"},w=["href"];function D(n,e,M,S,h,s){const m=i("openwb-base-heading"),d=i("openwb-base-select-input"),u=i("openwb-base-number-input");return g(),c("div",v,[o(m,null,{default:a(()=>e[2]||(e[2]=[t(" Einstellungen für Fronius SmartMeter ")])),_:1}),o(d,{title:"Kompatibilitätsmodus","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Aus"},{value:1,text:"Variante 1"},{value:2,text:"Variante 2"}],"model-value":n.component.configuration.variant,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.variant"))},{help:a(()=>e[3]||(e[3]=[t(" Gegebenenfalls auch für alte Modelle nach einem Softwareupdate erforderlich. Fronius hat derzeit keine Konsistente Schnittstelle. Speziell beim Gen24 kann Variante 1 oder 2 erforderlich sein. Nach speichern sollten nach etwa 10-20 Sekunden Daten angezeigt werden. Ist dies nicht der Fall die andere Variante ausprobieren. ")])),_:1},8,["model-value"]),o(u,{title:"Meter ID",required:"",min:"0",max:"65535","model-value":n.component.configuration.meter_id,"onUpdate:modelValue":e[1]||(e[1]=r=>n.updateConfiguration(r,"configuration.meter_id"))},{help:a(()=>[e[4]||(e[4]=t(" Die Meter ID des SmartMeters. Diese ist normalerweise 1. Bei mehreren SmartMetern im System kann es notwendig sein, die Meter ID zu ändern. Zur Ermittlung kann der folgende Link verwendet werden. Die Meter ID kann den zurückgegebenen JSON Daten entnommen werden. ")),l("a",{href:s.meterRealtimeUrl,target:"_blank",rel:"noopener noreferrer"},b(s.meterRealtimeUrl),9,w),e[5]||(e[5]=l("br",null,null,-1)),e[6]||(e[6]=t(' Im Abschnitt "Body" -> "Data" werden die installierten SmartMeter mit aktuellen Messwerten angezeigt. Die Meter ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Messwerten. '))]),_:1},8,["model-value"])])}const N=f(_,[["render",D],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/counter_sm.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-00a80420.js b/web/settings/assets/device-00a80420.js new file mode 100644 index 0000000000..91f1e9c3c2 --- /dev/null +++ b/web/settings/assets/device-00a80420.js @@ -0,0 +1 @@ +import{D as s}from"./HardwareInstallation-774805b0.js";import{_ as d,u as i,l as u,m,G as t,E as l,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceAmpere",mixins:[s]},v={class:"device-ampere"};function _(o,e,c,g,w,C){const a=i("openwb-base-heading"),p=i("openwb-base-text-input"),r=i("openwb-base-number-input");return u(),m("div",v,[t(a,null,{default:l(()=>e[3]||(e[3]=[f(" Einstellungen für Ampere Pro")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const k=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ampere/ampere/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-c048d228.js b/web/settings/assets/device-070f8a80.js similarity index 50% rename from web/settings/assets/device-c048d228.js rename to web/settings/assets/device-070f8a80.js index 32178ae3db..583fa833a6 100644 --- a/web/settings/assets/device-c048d228.js +++ b/web/settings/assets/device-070f8a80.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as t,k as d,l as u,G as n,E as l,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenDTU",mixins:[r]},_={class:"device-opendtu"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),u("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[m("Einstellungen für OpenDTU")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.url"))},null,8,["model-value"])])}const V=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/device.vue"]]);export{V as default}; +import{D as r}from"./HardwareInstallation-774805b0.js";import{_ as a,u as t,l as d,m as u,G as n,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceOpenDTU",mixins:[r]},_={class:"device-opendtu"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),u("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[m("Einstellungen für OpenDTU")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.url"))},null,8,["model-value"])])}const h=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-904eab42.js b/web/settings/assets/device-0c440e8d.js similarity index 65% rename from web/settings/assets/device-904eab42.js rename to web/settings/assets/device-0c440e8d.js index f6796b0c2d..1ab59c588b 100644 --- a/web/settings/assets/device-904eab42.js +++ b/web/settings/assets/device-0c440e8d.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as n,k as d,l as m,G as i,E as l,y as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLogger",mixins:[p]},g={class:"device-huawei-smart-logger"};function f(o,e,b,v,w,x){const r=n("openwb-base-heading"),a=n("openwb-base-text-input"),s=n("openwb-base-number-input");return d(),m("div",g,[i(r,null,{default:l(()=>e[2]||(e[2]=[_(" Einstellungen für Huawei SmartLogger ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/device.vue"]]);export{q as default}; +import{D as p}from"./HardwareInstallation-774805b0.js";import{_ as u,u as n,l as m,m as d,G as i,E as l,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLogger",mixins:[p]},g={class:"device-huawei-smart-logger"};function f(o,e,b,v,w,x){const r=n("openwb-base-heading"),a=n("openwb-base-text-input"),s=n("openwb-base-number-input");return m(),d("div",g,[i(r,null,{default:l(()=>e[2]||(e[2]=[_(" Einstellungen für Huawei SmartLogger ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=u(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-118d142e.js b/web/settings/assets/device-118d142e.js deleted file mode 100644 index 2656c016f7..0000000000 --- a/web/settings/assets/device-118d142e.js +++ /dev/null @@ -1 +0,0 @@ -import{D as p}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as i,k as u,l,G as t,E as m,y as f}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSaxpower",mixins:[p]},v={class:"device-saxpower"};function _(o,e,c,g,w,x){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return u(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Saxpower ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/saxpower/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-1d30069b.js b/web/settings/assets/device-13e18dae.js similarity index 70% rename from web/settings/assets/device-1d30069b.js rename to web/settings/assets/device-13e18dae.js index 3311f8d6ea..1ed7c6c363 100644 --- a/web/settings/assets/device-1d30069b.js +++ b/web/settings/assets/device-13e18dae.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as i,k as b,l as f,G as t,E as r,y as a}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemens",mixins:[m]},v={class:"device-siemens"};function c(o,e,g,w,C,x){const p=i("openwb-base-heading"),d=i("openwb-base-alert"),u=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(p,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens ")])),_:1}),t(d,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Im Siemens-Speicher muss die Schnittstelle openWB gewählt werden. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const I=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens/device.vue"]]);export{I as default}; +import{D as m}from"./HardwareInstallation-774805b0.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemens",mixins:[m]},v={class:"device-siemens"};function c(o,e,g,w,C,x){const p=i("openwb-base-heading"),d=i("openwb-base-alert"),u=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(p,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens ")])),_:1}),t(d,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Im Siemens-Speicher muss die Schnittstelle openWB gewählt werden. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-1492f387.js b/web/settings/assets/device-1492f387.js new file mode 100644 index 0000000000..34b053589b --- /dev/null +++ b/web/settings/assets/device-1492f387.js @@ -0,0 +1 @@ +import{D as d}from"./HardwareInstallation-774805b0.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVarta",mixins:[d]},b={class:"device-varta"};function _(o,e,c,g,w,V){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",b,[t(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Varta ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-1cd92143.js b/web/settings/assets/device-1cd92143.js new file mode 100644 index 0000000000..5b5220e28c --- /dev/null +++ b/web/settings/assets/device-1cd92143.js @@ -0,0 +1 @@ +import{D as d}from"./HardwareInstallation-774805b0.js";import{_ as m,u as t,l,m as u,G as n,E as i,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceVZLogger",mixins:[d]},c={class:"device-vzlogger"};function _(o,e,v,f,b,w){const r=t("openwb-base-heading"),p=t("openwb-base-text-input");return l(),u("div",c,[n(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für VZLogger ")])),_:1}),n(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},{help:i(()=>e[2]||(e[2]=[s(" Bei Angabe des Ports muss auch das Schema mit angegeben werden: http://ip:port ")])),_:1},8,["model-value"])])}const k=m(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-1d0ded93.js b/web/settings/assets/device-1d0ded93.js deleted file mode 100644 index c62c8c6934..0000000000 --- a/web/settings/assets/device-1d0ded93.js +++ /dev/null @@ -1 +0,0 @@ -import{D as p}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as t,k as m,l as d,G as i,E as u,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarmax",mixins:[p]},f={class:"device-solarmax"};function b(o,e,v,g,x,w){const a=t("openwb-base-heading"),r=t("openwb-base-text-input"),s=t("openwb-base-number-input");return m(),d("div",f,[i(a,null,{default:u(()=>e[2]||(e[2]=[c(" Einstellungen für Solarmax ")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=l(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-149c2866.js b/web/settings/assets/device-1d33960e.js similarity index 76% rename from web/settings/assets/device-149c2866.js rename to web/settings/assets/device-1d33960e.js index 2f9b0aa030..dc833d8e8e 100644 --- a/web/settings/assets/device-149c2866.js +++ b/web/settings/assets/device-1d33960e.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as o,k as b,l as c,G as t,E as s,y as r,x as f}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolarEdge",mixins:[u]},_={class:"device-solaredge"};function v(n,e,w,h,B,k){const a=o("openwb-base-heading"),d=o("openwb-base-alert"),p=o("openwb-base-text-input"),l=o("openwb-base-number-input");return b(),c("div",_,[t(a,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für SolarEdge ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" ModbusTCP muss im Wechselrichter aktiviert werden und der Wechselrichter per LAN angebunden sein."),f("br",null,null,-1),r(" SolarEdge lässt nur eine ModbusTCP-Verbindung zu. Wenn Sie mit einem weiteren Smarthome-System, wie z.B. ioBroker oder openHAB, den SolarEdge-Wechselrichter abfragen, kann dies die Abfrage durch die openWB stören oder verhindern. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},{help:s(()=>e[4]||(e[4]=[r(" Je nach Produktionsdatum und Softwareversion ist 502 oder 1502 ab Werk eingestellt. Bitte im Wechselrichter überprüfen. ")])),_:1},8,["model-value"])])}const $=m(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/device.vue"]]);export{$ as default}; +import{D as u}from"./HardwareInstallation-774805b0.js";import{_ as m,u as o,l as b,m as c,G as t,E as s,y as r,x as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSolarEdge",mixins:[u]},_={class:"device-solaredge"};function v(n,e,w,h,B,S){const a=o("openwb-base-heading"),d=o("openwb-base-alert"),p=o("openwb-base-text-input"),l=o("openwb-base-number-input");return b(),c("div",_,[t(a,null,{default:s(()=>e[2]||(e[2]=[r(" Einstellungen für SolarEdge ")])),_:1}),t(d,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[r(" ModbusTCP muss im Wechselrichter aktiviert werden und der Wechselrichter per LAN angebunden sein."),f("br",null,null,-1),r(" SolarEdge lässt nur eine ModbusTCP-Verbindung zu. Wenn Sie mit einem weiteren Smarthome-System, wie z.B. ioBroker oder openHAB, den SolarEdge-Wechselrichter abfragen, kann dies die Abfrage durch die openWB stören oder verhindern. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},{help:s(()=>e[4]||(e[4]=[r(" Je nach Produktionsdatum und Softwareversion ist 502 oder 1502 ab Werk eingestellt. Bitte im Wechselrichter überprüfen. ")])),_:1},8,["model-value"])])}const $=m(g,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-20337104.js b/web/settings/assets/device-20337104.js new file mode 100644 index 0000000000..3da029f845 --- /dev/null +++ b/web/settings/assets/device-20337104.js @@ -0,0 +1 @@ +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as t,l as d,m as l,G as n,E as m,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarWorld",mixins:[a]},c={class:"device-solar_world"};function f(o,e,v,b,w,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),l("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für SolarWorld ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const k=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/solar_world/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-20810946.js b/web/settings/assets/device-20810946.js deleted file mode 100644 index b7cf26d887..0000000000 --- a/web/settings/assets/device-20810946.js +++ /dev/null @@ -1 +0,0 @@ -import{D as p}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as t,k as u,l,G as i,E as m,y as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyIsland",mixins:[p]},f={class:"device-sunnyisland"};function b(n,e,v,g,w,x){const s=t("openwb-base-heading"),a=t("openwb-base-text-input"),r=t("openwb-base-number-input");return u(),l("div",f,[i(s,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für Sunny Island ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const q=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-20937cb6.js b/web/settings/assets/device-20937cb6.js deleted file mode 100644 index 8b9ca75415..0000000000 --- a/web/settings/assets/device-20937cb6.js +++ /dev/null @@ -1 +0,0 @@ -import{D as d}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as i,k as p,l,G as t,E as m,y as v}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVarta",mixins:[d]},b={class:"device-varta"};function _(o,e,c,g,w,V){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",b,[t(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Varta ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-d542e8ec.js b/web/settings/assets/device-214169c7.js similarity index 74% rename from web/settings/assets/device-d542e8ec.js rename to web/settings/assets/device-214169c7.js index 1b56e95139..d82853ecbf 100644 --- a/web/settings/assets/device-d542e8ec.js +++ b/web/settings/assets/device-214169c7.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as n,k as b,l as _,G as t,E as r,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoy",mixins:[l]},f={class:"device-sunnyboy"};function v(o,e,w,y,g,x){const a=n("openwb-base-heading"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),u=n("openwb-base-number-input");return b(),_("div",f,[t(a,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für SMA Sunny Boy/Tripower ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(' ModbusTCP muss entweder direkt am Wechselrichter, per Sunny Portal oder über das Tool "Sunny Explorer" aktiviert werden. Dies ist standardmäßig deaktiviert. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const $=m(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/device.vue"]]);export{$ as default}; +import{D as l}from"./HardwareInstallation-774805b0.js";import{_ as m,u as n,l as b,m as _,G as t,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyBoy",mixins:[l]},f={class:"device-sunnyboy"};function v(o,e,w,y,g,x){const a=n("openwb-base-heading"),p=n("openwb-base-alert"),d=n("openwb-base-text-input"),u=n("openwb-base-number-input");return b(),_("div",f,[t(a,null,{default:r(()=>e[2]||(e[2]=[s(" Einstellungen für SMA Sunny Boy/Tripower ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[3]||(e[3]=[s(' ModbusTCP muss entweder direkt am Wechselrichter, per Sunny Portal oder über das Tool "Sunny Explorer" aktiviert werden. Dies ist standardmäßig deaktiviert. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(u,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const $=m(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-231214e8.js b/web/settings/assets/device-231214e8.js deleted file mode 100644 index 76ef9adccd..0000000000 --- a/web/settings/assets/device-231214e8.js +++ /dev/null @@ -1 +0,0 @@ -import{D as d}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as o,k as u,l as m,G as i,E as r,y as t,x as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceHttp",mixins:[d]},v={class:"device-http"};function _(n,e,b,g,x,w){const s=o("openwb-base-heading"),p=o("openwb-base-text-input");return u(),m("div",v,[i(s,null,{default:r(()=>e[1]||(e[1]=[t(" Einstellungen für Http ")])),_:1}),i(p,{title:"Server-URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.url"))},{help:r(()=>e[2]||(e[2]=[t(" Hier sind die Verbindungsangaben für den Http-Server einzutragen. Der Pfad für die einzelnen Daten wird in der Komponente hinterlegt."),c("br",null,null,-1),t(" Beispiel: http://mein.server:8080 ")])),_:1},8,["model-value"])])}const N=l(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-25aa0926.js b/web/settings/assets/device-25aa0926.js new file mode 100644 index 0000000000..dc4ec64f75 --- /dev/null +++ b/web/settings/assets/device-25aa0926.js @@ -0,0 +1 @@ +import{D as d}from"./HardwareInstallation-774805b0.js";import{_ as l,u as o,l as u,m,G as i,E as r,y as t,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceHttp",mixins:[d]},v={class:"device-http"};function _(n,e,b,g,x,w){const s=o("openwb-base-heading"),p=o("openwb-base-text-input");return u(),m("div",v,[i(s,null,{default:r(()=>e[1]||(e[1]=[t(" Einstellungen für Http ")])),_:1}),i(p,{title:"Server-URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.url"))},{help:r(()=>e[2]||(e[2]=[t(" Hier sind die Verbindungsangaben für den Http-Server einzutragen. Der Pfad für die einzelnen Daten wird in der Komponente hinterlegt."),c("br",null,null,-1),t(" Beispiel: http://mein.server:8080 ")])),_:1},8,["model-value"])])}const k=l(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-942efc8c.js b/web/settings/assets/device-268e0f9c.js similarity index 65% rename from web/settings/assets/device-942efc8c.js rename to web/settings/assets/device-268e0f9c.js index 398734dfff..0f2373d111 100644 --- a/web/settings/assets/device-942efc8c.js +++ b/web/settings/assets/device-268e0f9c.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as n,k as m,l as c,G as t,E as r,y as o,x as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFronius",mixins:[l]},b={class:"device-fronius"};function g(i,e,v,h,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),d=n("openwb-base-text-input");return m(),c("div",b,[t(s,null,{default:r(()=>e[1]||(e[1]=[o(" Einstellungen für Fronius ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[o(" Die Fronius API muss aktiviert sein."),_("br",null,null,-1),o(" Sind nur Symos in Nutzung, welche über Fronius Solar Net / DATCOM miteinander verbunden sind, muss nur ein Gerät mit einer Komponente Wechselrichter angelegt werden. Sind aber z.B. Symo und Symo Hybrid im Einsatz, muss für jeden Wechselrichter ein Gerät mit einer Komponente Wechselrichter angelegt werden. Die Zähler-Komponente für das Smart-Meter wird in dem Gerät angelegt, dass den Wechselrichter enthält, an den das SmartMeter angeschlossen ist. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.ip_address"))},null,8,["model-value"])])}const F=p(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/device.vue"]]);export{F as default}; +import{D as l}from"./HardwareInstallation-774805b0.js";import{_ as m,u as n,l as p,m as c,G as t,E as r,y as o,x as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFronius",mixins:[l]},b={class:"device-fronius"};function g(i,e,v,h,w,x){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),d=n("openwb-base-text-input");return p(),c("div",b,[t(s,null,{default:r(()=>e[1]||(e[1]=[o(" Einstellungen für Fronius ")])),_:1}),t(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[o(" Die Fronius API muss aktiviert sein."),_("br",null,null,-1),o(" Sind nur Symos in Nutzung, welche über Fronius Solar Net / DATCOM miteinander verbunden sind, muss nur ein Gerät mit einer Komponente Wechselrichter angelegt werden. Sind aber z.B. Symo und Symo Hybrid im Einsatz, muss für jeden Wechselrichter ein Gerät mit einer Komponente Wechselrichter angelegt werden. Die Zähler-Komponente für das Smart-Meter wird in dem Gerät angelegt, dass den Wechselrichter enthält, an den das SmartMeter angeschlossen ist. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":i.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=u=>i.updateConfiguration(u,"configuration.ip_address"))},null,8,["model-value"])])}const G=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/device.vue"]]);export{G as default}; diff --git a/web/settings/assets/device-287c38e2.js b/web/settings/assets/device-287c38e2.js new file mode 100644 index 0000000000..74102555d2 --- /dev/null +++ b/web/settings/assets/device-287c38e2.js @@ -0,0 +1 @@ +import{D as p}from"./HardwareInstallation-774805b0.js";import{_ as m,u as t,l,m as d,G as i,E as u,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarmax",mixins:[p]},f={class:"device-solarmax"};function b(o,e,v,g,x,w){const a=t("openwb-base-heading"),r=t("openwb-base-text-input"),s=t("openwb-base-number-input");return l(),d("div",f,[i(a,null,{default:u(()=>e[2]||(e[2]=[c(" Einstellungen für Solarmax ")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-291b11ff.js b/web/settings/assets/device-291b11ff.js deleted file mode 100644 index a53906c60d..0000000000 --- a/web/settings/assets/device-291b11ff.js +++ /dev/null @@ -1 +0,0 @@ -import{D as d}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as i,k as p,l,G as t,E as m,y as f}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSofar",mixins:[d]},v={class:"device-sofar"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f("Einstellungen für Sofar")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sofar/sofar/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-29777d02.js b/web/settings/assets/device-29777d02.js new file mode 100644 index 0000000000..b844baa38a --- /dev/null +++ b/web/settings/assets/device-29777d02.js @@ -0,0 +1 @@ +import{D as u}from"./HardwareInstallation-774805b0.js";import{_ as p,u as r,l as d,m,G as i,E as s,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPikoOld",mixins:[u]},v={class:"device-kostal-piko-old"};function c(o,e,g,b,w,k){const a=r("openwb-base-heading"),n=r("openwb-base-text-input");return d(),m("div",v,[i(a,null,{default:s(()=>e[3]||(e[3]=[l(" Einstellungen für Kostal Piko (alte Generation) ")])),_:1}),i(n,{title:"URL",subtype:"url",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.url"))},{help:s(()=>e[4]||(e[4]=[l(' Es wird eine komplette URL inklusive Protokoll erwartet. Normalerweise ist der Wechselrichter über "http://IP" zu erreichen. ')])),_:1},8,["model-value"]),i(n,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),i(n,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_old/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-2d0e9682.js b/web/settings/assets/device-2d0e9682.js new file mode 100644 index 0000000000..255b8a1269 --- /dev/null +++ b/web/settings/assets/device-2d0e9682.js @@ -0,0 +1 @@ +import{D as r}from"./HardwareInstallation-774805b0.js";import{_ as a,u as t,l as d,m as l,G as s,E as u,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceYouless",mixins:[r]},_={class:"device-youless"};function f(o,e,v,b,g,x){const n=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[s(n,null,{default:u(()=>e[1]||(e[1]=[m(" Einstellungen für Youless ")])),_:1}),s(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.ip_address"))},null,8,["model-value"])])}const k=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-2d3b00aa.js b/web/settings/assets/device-2d3b00aa.js deleted file mode 100644 index 4109e7bad4..0000000000 --- a/web/settings/assets/device-2d3b00aa.js +++ /dev/null @@ -1 +0,0 @@ -import{D as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as o,k as d,l,G as t,E as u,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBenning",mixins:[p]},_={class:"device-benning"};function f(n,e,b,g,v,x){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[m("Einstellungen für Benning")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.url"))},null,8,["model-value"])])}const y=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-2ec17614.js b/web/settings/assets/device-2ec17614.js new file mode 100644 index 0000000000..a8e2ef4cc0 --- /dev/null +++ b/web/settings/assets/device-2ec17614.js @@ -0,0 +1 @@ +import{D as p}from"./HardwareInstallation-774805b0.js";import{_ as d,u as i,l as u,m as l,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSaxpower",mixins:[p]},v={class:"device-saxpower"};function _(o,e,c,g,w,x){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return u(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Saxpower ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/saxpower/saxpower/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-d365a0c6.js b/web/settings/assets/device-30453e80.js similarity index 50% rename from web/settings/assets/device-d365a0c6.js rename to web/settings/assets/device-30453e80.js index cc83328b52..5f8e642985 100644 --- a/web/settings/assets/device-d365a0c6.js +++ b/web/settings/assets/device-30453e80.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as t,k as d,l as c,G as n,E as m,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceRCT",mixins:[p]},_={class:"device-rct"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),c("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[l(" Einstellungen für RCT ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const h=a(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/rct/device.vue"]]);export{h as default}; +import{D as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as t,l as d,m as c,G as n,E as m,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceRCT",mixins:[p]},_={class:"device-rct"};function f(o,e,v,b,g,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),c("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[l(" Einstellungen für RCT ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const k=a(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/rct/rct/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-33333654.js b/web/settings/assets/device-33333654.js new file mode 100644 index 0000000000..b6eaee248b --- /dev/null +++ b/web/settings/assets/device-33333654.js @@ -0,0 +1 @@ +import{D as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as o,l as d,m as l,G as t,E as m,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBenning",mixins:[p]},_={class:"device-benning"};function f(n,e,b,g,v,x){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),l("div",_,[t(i,null,{default:m(()=>e[1]||(e[1]=[u("Einstellungen für Benning")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=r=>n.updateConfiguration(r,"configuration.url"))},null,8,["model-value"])])}const y=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-35fd4de7.js b/web/settings/assets/device-35fd4de7.js new file mode 100644 index 0000000000..04b6607167 --- /dev/null +++ b/web/settings/assets/device-35fd4de7.js @@ -0,0 +1 @@ +import{D as p}from"./HardwareInstallation-774805b0.js";import{_ as r,u as t,l as d,m,G as n,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmaWebbox",mixins:[p]},_={class:"device-sma-webbox"};function b(o,e,f,v,x,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SMA Webbox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const k=r(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_webbox/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-3903ab82.js b/web/settings/assets/device-399c48e2.js similarity index 67% rename from web/settings/assets/device-3903ab82.js rename to web/settings/assets/device-399c48e2.js index 0b67f853ef..895fef2b93 100644 --- a/web/settings/assets/device-3903ab82.js +++ b/web/settings/assets/device-399c48e2.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-61d444d7.js";import{_ as r,u as a,k as d,l as p,G as i,E as u,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceTesla",mixins:[l]},v={class:"device-tesla"};function c(o,e,g,b,_,w){const s=a("openwb-base-heading"),n=a("openwb-base-text-input");return d(),p("div",v,[i(s,null,{default:u(()=>e[3]||(e[3]=[m(" Einstellungen für Tesla ")])),_:1}),i(n,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(n,{title:"E-Mail",subtype:"email",required:"","model-value":o.device.configuration.email,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.email"))},null,8,["model-value"]),i(n,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const D=r(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/device.vue"]]);export{D as default}; +import{D as l}from"./HardwareInstallation-774805b0.js";import{_ as r,u as a,l as d,m as p,G as i,E as u,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceTesla",mixins:[l]},v={class:"device-tesla"};function c(o,e,g,b,_,w){const s=a("openwb-base-heading"),n=a("openwb-base-text-input");return d(),p("div",v,[i(s,null,{default:u(()=>e[3]||(e[3]=[m(" Einstellungen für Tesla ")])),_:1}),i(n,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(n,{title:"E-Mail",subtype:"email",required:"","model-value":o.device.configuration.email,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.email"))},null,8,["model-value"]),i(n,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const T=r(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tesla/tesla/device.vue"]]);export{T as default}; diff --git a/web/settings/assets/device-3cca3b5e.js b/web/settings/assets/device-3cca3b5e.js deleted file mode 100644 index aa272c0f27..0000000000 --- a/web/settings/assets/device-3cca3b5e.js +++ /dev/null @@ -1 +0,0 @@ -import{D as d}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as i,k as m,l as u,G as n,E as a,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFems",mixins:[d]},c={class:"device-fems"};function v(o,e,_,b,g,w){const p=i("openwb-base-heading"),s=i("openwb-base-text-input");return m(),u("div",c,[n(p,null,{default:a(()=>e[2]||(e[2]=[r(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>e[3]||(e[3]=[r(" Bei Nutzung von Fenecon FEMS ist das Passwort im Normalfall user, bei Kaco mit Hy-Control ist das Passwort meist admin. ")])),_:1},8,["model-value"])])}const V=l(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-5ac1bbfa.js b/web/settings/assets/device-3df0320c.js similarity index 74% rename from web/settings/assets/device-5ac1bbfa.js rename to web/settings/assets/device-3df0320c.js index f98288a669..1bd02e2ec5 100644 --- a/web/settings/assets/device-5ac1bbfa.js +++ b/web/settings/assets/device-3df0320c.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as i,k as c,l as b,G as t,E as r,y as a}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPlenticore",mixins:[u]},_={class:"device-kostal-plenticore"};function v(o,e,g,w,k,C){const l=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return c(),b("div",_,[t(l,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Kostal Plenticore ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Wenn am Kostal Plenticore-Wechselrichter ein EM300 oder Kostal Energy Smart Meter (KSEM) angeschlossen ist, muss eine Zähler-und eine Wechselrichter-Komponente angelegt werden. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/device.vue"]]);export{$ as default}; +import{D as u}from"./HardwareInstallation-774805b0.js";import{_ as m,u as i,l as c,m as b,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPlenticore",mixins:[u]},_={class:"device-kostal-plenticore"};function v(o,e,g,w,C,E){const l=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return c(),b("div",_,[t(l,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Kostal Plenticore ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(" Wenn am Kostal Plenticore-Wechselrichter ein EM300 oder Kostal Energy Smart Meter (KSEM) angeschlossen ist, muss eine Zähler-und eine Wechselrichter-Komponente angelegt werden. ")])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const $=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_plenticore/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-3e871ec6.js b/web/settings/assets/device-3e871ec6.js deleted file mode 100644 index 753c996986..0000000000 --- a/web/settings/assets/device-3e871ec6.js +++ /dev/null @@ -1 +0,0 @@ -import{D as d}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as t,k as l,l as p,G as i,E as m,y as v}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceCarloGavazzi",mixins:[d]},f={class:"device-carlogavazzi"};function _(o,e,b,g,z,w){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),a=t("openwb-base-number-input");return l(),p("div",f,[i(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Carlo Gavazzi ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const G=u(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/device.vue"]]);export{G as default}; diff --git a/web/settings/assets/device-40835085.js b/web/settings/assets/device-40835085.js deleted file mode 100644 index d8b4550931..0000000000 --- a/web/settings/assets/device-40835085.js +++ /dev/null @@ -1 +0,0 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as t,k as l,l as m,G as i,E as s,y as n,x as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const p={name:"DeviceMqtt",mixins:[a]},u={class:"device-mqtt"};function g(_,e,b,f,h,v){const r=t("openwb-base-heading"),o=t("openwb-base-alert");return l(),m("div",u,[i(r,null,{default:s(()=>e[0]||(e[0]=[n("Einstellungen für MQTT")])),_:1}),i(o,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten an die angegebenen Topics im Broker gesendet werden. Da die Daten direkt an den Broker gesendet werden, erfolgt keine Verrechnung bei Hybrid-Systemen und auch keine Berechnung fehlender Werte, z.B. von Phasen-Leistung aus Spannung und Strömen. Beim Logging und im Lastmanagement, z.B. bei verschachtelten Zählern, werden die MQTT-Zähler wie gewohnt berücksichtigt."),c("br",null,null,-1),n(" Alle Daten sind als gültiges JSON zu senden! Zahlen mit Nachkommastellen (Float) müssen einen Punkt als Dezimaltrenner verwenden (internationales Format). ")])),_:1})])}const y=d(p,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-dd007760.js b/web/settings/assets/device-4a497af5.js similarity index 80% rename from web/settings/assets/device-dd007760.js rename to web/settings/assets/device-4a497af5.js index fd07c1e468..70de9a936c 100644 --- a/web/settings/assets/device-dd007760.js +++ b/web/settings/assets/device-4a497af5.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-61d444d7.js";import{_ as v,u as t,k as i,l as f,G as a,E as c,y as b,z as u,B as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceAlphaess",mixins:[m]},_={class:"device-alphaess"};function w(e,o,V,C,k,B){const d=t("openwb-base-heading"),r=t("openwb-base-select-input"),p=t("openwb-base-text-input"),l=t("openwb-base-number-input");return i(),f("div",_,[a(d,null,{default:c(()=>o[5]||(o[5]=[b(" Einstellungen für Alpha ESS ")])),_:1}),a(r,{title:"Ausleseart","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Alpha ESS-Kit"},{value:1,text:"Hi 5/10"}],"model-value":e.device.configuration.source,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.source"))},null,8,["model-value"]),e.device.configuration.source==1?(i(),u(p,{key:0,title:"IP oder Hostname",subtype:"host",required:"","model-value":e.device.configuration.ip_address,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:1,title:"Port",subtype:"host",required:"",min:1,max:65535,"model-value":e.device.configuration.port,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:2,title:"Modbus ID",required:"","model-value":e.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[3]||(o[3]=n=>e.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])):s("",!0),a(r,{title:"Firmware Version","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"EMS älter als 1.23V"},{value:1,text:"EMS 1.23V oder neuer"}],"model-value":e.device.configuration.version,"onUpdate:modelValue":o[4]||(o[4]=n=>e.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const h=v(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/alpha_ess/device.vue"]]);export{h as default}; +import{D as m}from"./HardwareInstallation-774805b0.js";import{_ as v,u as t,l as i,m as f,G as a,E as c,y as b,z as u,B as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceAlphaess",mixins:[m]},_={class:"device-alphaess"};function w(e,o,V,C,B,E){const d=t("openwb-base-heading"),r=t("openwb-base-select-input"),p=t("openwb-base-text-input"),l=t("openwb-base-number-input");return i(),f("div",_,[a(d,null,{default:c(()=>o[5]||(o[5]=[b(" Einstellungen für Alpha ESS ")])),_:1}),a(r,{title:"Ausleseart","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"Alpha ESS-Kit"},{value:1,text:"Hi 5/10"}],"model-value":e.device.configuration.source,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.source"))},null,8,["model-value"]),e.device.configuration.source==1?(i(),u(p,{key:0,title:"IP oder Hostname",subtype:"host",required:"","model-value":e.device.configuration.ip_address,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:1,title:"Port",subtype:"host",required:"",min:1,max:65535,"model-value":e.device.configuration.port,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])):s("",!0),e.device.configuration.source==1?(i(),u(l,{key:2,title:"Modbus ID",required:"","model-value":e.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":o[3]||(o[3]=n=>e.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])):s("",!0),a(r,{title:"Firmware Version","not-selected":"Bitte auswählen",required:"",options:[{value:0,text:"EMS älter als 1.23V"},{value:1,text:"EMS 1.23V oder neuer"}],"model-value":e.device.configuration.version,"onUpdate:modelValue":o[4]||(o[4]=n=>e.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const h=v(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/alpha_ess/alpha_ess/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-4d1f570e.js b/web/settings/assets/device-4d1f570e.js deleted file mode 100644 index 247ead4177..0000000000 --- a/web/settings/assets/device-4d1f570e.js +++ /dev/null @@ -1 +0,0 @@ -import{D as d}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as i,k as l,l as p,G as t,E as m,y as f}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceKostalSEM",mixins:[d]},v={class:"device-kostal-sem"};function _(o,e,c,g,w,k){const s=i("openwb-base-heading"),r=i("openwb-base-text-input"),a=i("openwb-base-number-input");return l(),p("div",v,[t(s,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Kostal Smart Energy Meter oder TQ EM 410 ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-50903165.js b/web/settings/assets/device-50903165.js deleted file mode 100644 index c92548d4f5..0000000000 --- a/web/settings/assets/device-50903165.js +++ /dev/null @@ -1 +0,0 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as o,k as d,l as m,G as n,E as l,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBatterX",mixins:[a]},_={class:"device-batterx"};function f(t,e,b,v,x,g){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für BatterX ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/batterx/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-5598de15.js b/web/settings/assets/device-5598de15.js new file mode 100644 index 0000000000..13b9a310e4 --- /dev/null +++ b/web/settings/assets/device-5598de15.js @@ -0,0 +1 @@ +import{D as d}from"./HardwareInstallation-774805b0.js";import{_ as u,u as t,l as c,m,G as o,E as s,y as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKostalPiko",mixins:[d]},f={class:"device-kostal-piko"};function b(n,e,v,g,k,h){const a=t("openwb-base-heading"),r=t("openwb-base-alert"),p=t("openwb-base-text-input");return c(),m("div",f,[o(a,null,{default:s(()=>e[1]||(e[1]=[i(" Einstellungen für Kostal Piko ")])),_:1}),o(r,{subtype:"info"},{default:s(()=>e[2]||(e[2]=[i(" Der Wechselrichter liefert Werte nur, solange er auch PV-Leistung liefert. Nachts geht er in den Standby. Die Hausanschlussüberwachung ist nur aktiv, wenn der Wechselrichter auch aktiv ist. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=l=>n.updateConfiguration(l,"configuration.ip_address"))},null,8,["model-value"])])}const B=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-cd49ba10.js b/web/settings/assets/device-5681fe33.js similarity index 71% rename from web/settings/assets/device-cd49ba10.js rename to web/settings/assets/device-5681fe33.js index 7b73ca3aca..a58d70be8c 100644 --- a/web/settings/assets/device-cd49ba10.js +++ b/web/settings/assets/device-5681fe33.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as n,k as u,l as d,G as a,E as m,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceTasmota",mixins:[r]},v={class:"device-tasmota"};function f(t,e,b,g,w,x){const i=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-select-input");return u(),d("div",v,[a(i,null,{default:m(()=>e[2]||(e[2]=[c("Einstellungen für Tasmota")])),_:1}),a(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(p,{title:"Phase","not-selected":"Bitte auswählen",options:[{value:1,text:"1"},{value:2,text:"2"},{value:3,text:"3"}],"model-value":t.device.configuration.phase,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.phase"))},null,8,["model-value"])])}const q=l(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tasmota/tasmota/device.vue"]]);export{q as default}; +import{D as r}from"./HardwareInstallation-774805b0.js";import{_ as l,u as n,l as u,m as d,G as a,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceTasmota",mixins:[r]},v={class:"device-tasmota"};function f(t,e,b,g,w,x){const i=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-select-input");return u(),d("div",v,[a(i,null,{default:m(()=>e[2]||(e[2]=[c("Einstellungen für Tasmota")])),_:1}),a(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(p,{title:"Phase","not-selected":"Bitte auswählen",options:[{value:1,text:"1"},{value:2,text:"2"},{value:3,text:"3"}],"model-value":t.device.configuration.phase,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.phase"))},null,8,["model-value"])])}const q=l(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/tasmota/tasmota/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-57ea291e.js b/web/settings/assets/device-57ea291e.js deleted file mode 100644 index 92196f6cbc..0000000000 --- a/web/settings/assets/device-57ea291e.js +++ /dev/null @@ -1 +0,0 @@ -import{D as d}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as t,k as l,l as u,G as n,E as i,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceVZLogger",mixins:[d]},c={class:"device-vzlogger"};function _(o,e,v,f,b,w){const r=t("openwb-base-heading"),p=t("openwb-base-text-input");return l(),u("div",c,[n(r,null,{default:i(()=>e[1]||(e[1]=[s(" Einstellungen für VZLogger ")])),_:1}),n(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},{help:i(()=>e[2]||(e[2]=[s(" Bei Angabe des Ports muss auch das Schema mit angegeben werden: http://ip:port ")])),_:1},8,["model-value"])])}const E=m(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/device.vue"]]);export{E as default}; diff --git a/web/settings/assets/device-5a25f4ee.js b/web/settings/assets/device-5a25f4ee.js new file mode 100644 index 0000000000..67276ff94b --- /dev/null +++ b/web/settings/assets/device-5a25f4ee.js @@ -0,0 +1 @@ +import{D as p}from"./HardwareInstallation-774805b0.js";import{_ as u,u as t,l as d,m,G as i,E as c,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolis",mixins:[p]},_={class:"device-solis"};function f(o,e,g,w,h,x){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),a=t("openwb-base-number-input"),l=t("openwb-base-select-input");return d(),m("div",_,[i(s,null,{default:c(()=>e[3]||(e[3]=[v("Einstellungen für Solis")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"inverter",text:"Wechselrichter ohne Speicheranbindung"},{value:"hybrid",text:"Hybridwechselrichter RHI/S Serie"}],"model-value":o.device.configuration.version,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const U=u(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-5adae5d2.js b/web/settings/assets/device-5adae5d2.js deleted file mode 100644 index 4a72f8d556..0000000000 --- a/web/settings/assets/device-5adae5d2.js +++ /dev/null @@ -1 +0,0 @@ -import{D as s}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as i,k as u,l as m,G as t,E as l,y as f}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceAmpere",mixins:[s]},v={class:"device-ampere"};function _(o,e,c,g,w,C){const a=i("openwb-base-heading"),p=i("openwb-base-text-input"),r=i("openwb-base-number-input");return u(),m("div",v,[t(a,null,{default:l(()=>e[3]||(e[3]=[f(" Einstellungen für Ampere Pro")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=d(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/ampere/ampere/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-5d0369e3.js b/web/settings/assets/device-5d0369e3.js deleted file mode 100644 index 65bda57260..0000000000 --- a/web/settings/assets/device-5d0369e3.js +++ /dev/null @@ -1 +0,0 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as t,k as l,l as u,G as i,E as m,y as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceOpenwbFlex",mixins:[a]},c={class:"device-openwb-flex"};function f(o,e,v,w,g,x){const p=t("openwb-base-heading"),s=t("openwb-base-text-input"),r=t("openwb-base-number-input");return l(),u("div",c,[i(p,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für openWB-Flex ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/device.vue"]]);export{F as default}; diff --git a/web/settings/assets/device-5d1ae794.js b/web/settings/assets/device-5d1ae794.js deleted file mode 100644 index 96c23b5222..0000000000 --- a/web/settings/assets/device-5d1ae794.js +++ /dev/null @@ -1 +0,0 @@ -import{D as r}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as t,k as d,l,G as s,E as u,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceYouless",mixins:[r]},_={class:"device-youless"};function f(o,e,v,b,g,x){const n=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[s(n,null,{default:u(()=>e[1]||(e[1]=[m(" Einstellungen für Youless ")])),_:1}),s(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.ip_address"))},null,8,["model-value"])])}const h=a(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-63436beb.js b/web/settings/assets/device-63436beb.js new file mode 100644 index 0000000000..9eab48ff59 --- /dev/null +++ b/web/settings/assets/device-63436beb.js @@ -0,0 +1 @@ +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as d,u as t,l,m,G as i,E as s,y as n,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const p={name:"DeviceMqtt",mixins:[a]},u={class:"device-mqtt"};function g(_,e,b,f,h,v){const r=t("openwb-base-heading"),o=t("openwb-base-alert");return l(),m("div",u,[i(r,null,{default:s(()=>e[0]||(e[0]=[n("Einstellungen für MQTT")])),_:1}),i(o,{subtype:"info"},{default:s(()=>e[1]||(e[1]=[n(" Das MQTT Modul stellt keine aktive Verbindung her, sondern erwartet, dass die Daten an die angegebenen Topics im Broker gesendet werden. Da die Daten direkt an den Broker gesendet werden, erfolgt keine Verrechnung bei Hybrid-Systemen und auch keine Berechnung fehlender Werte, z.B. von Phasen-Leistung aus Spannung und Strömen. Beim Logging und im Lastmanagement, z.B. bei verschachtelten Zählern, werden die MQTT-Zähler wie gewohnt berücksichtigt."),c("br",null,null,-1),n(" Alle Daten sind als gültiges JSON zu senden! Zahlen mit Nachkommastellen (Float) müssen einen Punkt als Dezimaltrenner verwenden (internationales Format). ")])),_:1})])}const y=d(p,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-195e5065.js b/web/settings/assets/device-66c1dd8c.js similarity index 74% rename from web/settings/assets/device-195e5065.js rename to web/settings/assets/device-66c1dd8c.js index faa805418f..d0ed4a6a4d 100644 --- a/web/settings/assets/device-195e5065.js +++ b/web/settings/assets/device-66c1dd8c.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as n,k as m,l as b,G as t,E as s,y as c,x as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDeye",mixins:[u]},v={class:"device-deye"};function g(o,e,w,y,x,C){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-number-input");return m(),b("div",v,[t(r,null,{default:s(()=>e[2]||(e[2]=[c("Einstellungen für Deye")])),_:1}),t(a,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[_("span",{class:"text-danger"}," Deye Wechselrichter verfügen über keine Modbus-TCP Schnittstelle. Für die Auslesung wird ein RS485/LAN-Adapter benötigt. ",-1)])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const q=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/device.vue"]]);export{q as default}; +import{D as u}from"./HardwareInstallation-774805b0.js";import{_ as l,u as n,l as m,m as b,G as t,E as s,y as c,x as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceDeye",mixins:[u]},v={class:"device-deye"};function g(o,e,w,y,x,C){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-number-input");return m(),b("div",v,[t(r,null,{default:s(()=>e[2]||(e[2]=[c("Einstellungen für Deye")])),_:1}),t(a,{subtype:"info"},{default:s(()=>e[3]||(e[3]=[_("span",{class:"text-danger"}," Deye Wechselrichter verfügen über keine Modbus-TCP Schnittstelle. Für die Auslesung wird ein RS485/LAN-Adapter benötigt. ",-1)])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.port"))},null,8,["model-value"])])}const q=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-6a1d320f.js b/web/settings/assets/device-6a1d320f.js deleted file mode 100644 index 8cd8aa8247..0000000000 --- a/web/settings/assets/device-6a1d320f.js +++ /dev/null @@ -1 +0,0 @@ -import{D as d}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as t,k as c,l as m,G as o,E as s,y as i}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceKostalPiko",mixins:[d]},f={class:"device-kostal-piko"};function b(n,e,v,g,k,h){const a=t("openwb-base-heading"),r=t("openwb-base-alert"),p=t("openwb-base-text-input");return c(),m("div",f,[o(a,null,{default:s(()=>e[1]||(e[1]=[i(" Einstellungen für Kostal Piko ")])),_:1}),o(r,{subtype:"info"},{default:s(()=>e[2]||(e[2]=[i(" Der Wechselrichter liefert Werte nur, solange er auch PV-Leistung liefert. Nachts geht er in den Standby. Die Hausanschlussüberwachung ist nur aktiv, wenn der Wechselrichter auch aktiv ist. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=l=>n.updateConfiguration(l,"configuration.ip_address"))},null,8,["model-value"])])}const B=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-1f763440.js b/web/settings/assets/device-6c890a4a.js similarity index 64% rename from web/settings/assets/device-1f763440.js rename to web/settings/assets/device-6c890a4a.js index c527770a38..42d6f59a8b 100644 --- a/web/settings/assets/device-1f763440.js +++ b/web/settings/assets/device-6c890a4a.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as t,k as u,l,G as i,E as m,y as g}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSigenergy",mixins:[a]},_={class:"device-sigenergy"};function f(o,e,b,v,w,y){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),l("div",_,[i(r,null,{default:m(()=>e[2]||(e[2]=[g("Einstellungen für Sigenergy")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSigenergy",mixins:[a]},_={class:"device-sigenergy"};function f(o,e,b,v,w,y){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",_,[i(r,null,{default:l(()=>e[2]||(e[2]=[g("Einstellungen für Sigenergy")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-ed76e5f3.js b/web/settings/assets/device-704661a5.js similarity index 79% rename from web/settings/assets/device-ed76e5f3.js rename to web/settings/assets/device-704661a5.js index 4ce4a54274..4beccef2db 100644 --- a/web/settings/assets/device-ed76e5f3.js +++ b/web/settings/assets/device-704661a5.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as i,k as m,l as g,G as t,E as r,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolax",mixins:[u]},f={class:"device-solax"};function v(o,e,c,_,x,w){const d=i("openwb-base-heading"),l=i("openwb-base-text-input"),a=i("openwb-base-number-input");return m(),g("div",f,[t(d,null,{default:r(()=>e[3]||(e[3]=[s(" Einstellungen für Solax ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",min:1,max:65535,placeholder:502,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},{help:r(()=>e[4]||(e[4]=[s(" Standardmäßig ist der Port 502. Dieser sollte nur geändert werden, wenn der Solax Wechselrichter auf einen anderen Port konfiguriert wurde. ")])),_:1},8,["model-value"]),t(a,{title:"Modbus-ID",required:"",min:0,max:255,"model-value":o.device.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},{help:r(()=>e[5]||(e[5]=[s(" Laut der Schnittstellenbeschreibung ist die ID bei Solax ab Werk auf 1 gesetzt. Entgegen der Beschreibung ist meist für Gen4 eine ID größer als 2 eingestellt. Bei Gen3 sogar (gegen jeglicher Modbus Standards) eine 0. ")])),_:1},8,["model-value"])])}const $=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/solax/device.vue"]]);export{$ as default}; +import{D as u}from"./HardwareInstallation-774805b0.js";import{_ as p,u as i,l as m,m as g,G as t,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolax",mixins:[u]},f={class:"device-solax"};function v(o,e,c,_,x,w){const d=i("openwb-base-heading"),l=i("openwb-base-text-input"),a=i("openwb-base-number-input");return m(),g("div",f,[t(d,null,{default:r(()=>e[3]||(e[3]=[s(" Einstellungen für Solax ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",min:1,max:65535,placeholder:502,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},{help:r(()=>e[4]||(e[4]=[s(" Standardmäßig ist der Port 502. Dieser sollte nur geändert werden, wenn der Solax Wechselrichter auf einen anderen Port konfiguriert wurde. ")])),_:1},8,["model-value"]),t(a,{title:"Modbus-ID",required:"",min:0,max:255,"model-value":o.device.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},{help:r(()=>e[5]||(e[5]=[s(" Laut der Schnittstellenbeschreibung ist die ID bei Solax ab Werk auf 1 gesetzt. Entgegen der Beschreibung ist meist für Gen4 eine ID größer als 2 eingestellt. Bei Gen3 sogar (gegen jeglicher Modbus Standards) eine 0. ")])),_:1},8,["model-value"])])}const $=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solax/solax/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-853fe6d3.js b/web/settings/assets/device-7342e098.js similarity index 69% rename from web/settings/assets/device-853fe6d3.js rename to web/settings/assets/device-7342e098.js index a2804224f4..c3f7adbbb3 100644 --- a/web/settings/assets/device-853fe6d3.js +++ b/web/settings/assets/device-7342e098.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as i,k as d,l as u,G as t,E as l,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunways",mixins:[r]},f={class:"device-sunways"};function v(o,e,w,_,b,g){const a=i("openwb-base-heading"),s=i("openwb-base-text-input");return d(),u("div",f,[t(a,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Sunways ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sunways/sunways/device.vue"]]);export{q as default}; +import{D as r}from"./HardwareInstallation-774805b0.js";import{_ as p,u as i,l as d,m as u,G as t,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunways",mixins:[r]},f={class:"device-sunways"};function v(o,e,w,_,b,g){const a=i("openwb-base-heading"),s=i("openwb-base-text-input");return d(),u("div",f,[t(a,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Sunways ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sunways/sunways/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-79908023.js b/web/settings/assets/device-79908023.js new file mode 100644 index 0000000000..9ee3c75695 --- /dev/null +++ b/web/settings/assets/device-79908023.js @@ -0,0 +1 @@ +import{D as r}from"./HardwareInstallation-774805b0.js";import{_ as p,u as t,l as d,m as l,G as n,E as c,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceKostalSteca",mixins:[r]},_={class:"device-kostal-steca"};function f(o,e,v,b,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[n(s,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept ")])),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const h=p(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-7ae1ec3c.js b/web/settings/assets/device-7ae1ec3c.js deleted file mode 100644 index 7d1be4efea..0000000000 --- a/web/settings/assets/device-7ae1ec3c.js +++ /dev/null @@ -1 +0,0 @@ -import{D as p}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as t,k as d,l as m,G as i,E as c,y as v}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolis",mixins:[p]},_={class:"device-solis"};function f(o,e,g,w,h,x){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),a=t("openwb-base-number-input"),l=t("openwb-base-select-input");return d(),m("div",_,[i(s,null,{default:c(()=>e[3]||(e[3]=[v("Einstellungen für Solis")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"inverter",text:"Wechselrichter ohne Speicheranbindung"},{value:"hybrid",text:"Hybridwechselrichter RHI/S Serie"}],"model-value":o.device.configuration.version,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"])])}const H=u(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/device.vue"]]);export{H as default}; diff --git a/web/settings/assets/device-d41cc05c.js b/web/settings/assets/device-7b536bd5.js similarity index 73% rename from web/settings/assets/device-d41cc05c.js rename to web/settings/assets/device-7b536bd5.js index 32f86b6659..bbf933d86e 100644 --- a/web/settings/assets/device-d41cc05c.js +++ b/web/settings/assets/device-7b536bd5.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as i,k as p,l as d,G as t,E as m,y as v}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarView",mixins:[u]},_={class:"device-solar-view"};function c(o,e,b,g,w,V){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),d("div",_,[t(a,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für SolarView ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Timeout",required:"","model-value":o.device.configuration.timeout,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.timeout"))},null,8,["model-value"])])}const y=l(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/device.vue"]]);export{y as default}; +import{D as u}from"./HardwareInstallation-774805b0.js";import{_ as l,u as i,l as p,m as d,G as t,E as m,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarView",mixins:[u]},_={class:"device-solar-view"};function c(o,e,b,g,w,V){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),d("div",_,[t(a,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für SolarView ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Timeout",required:"","model-value":o.device.configuration.timeout,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.timeout"))},null,8,["model-value"])])}const y=l(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-7c4c382e.js b/web/settings/assets/device-7c4c382e.js new file mode 100644 index 0000000000..ec6c5617db --- /dev/null +++ b/web/settings/assets/device-7c4c382e.js @@ -0,0 +1 @@ +import{D as m}from"./HardwareInstallation-774805b0.js";import{_ as u,u as s,l as p,m as l,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceLG",mixins:[m]},f={class:"device-lg"};function c(n,e,v,b,_,w){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),l("div",f,[t(d,null,{default:r(()=>e[2]||(e[2]=[a(" Einstellungen für LG ESS V1.0 ")])),_:1}),t(o,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(o,{title:"Passwort",subtype:"password",required:"","model-value":n.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.password"))},{help:r(()=>e[3]||(e[3]=[a(' Passwort, um sich in den LG ESS V1.0 einzuloggen. Das Passwort ist standardmäßig die Registrierungsnummer, die sich auf einem Aufkleber auf dem PCS (dem Hybridwechselrichter und Batteriemanagementsystem) befindet. Alternativ findet man die Registrierungsnummer in der App unter dem Menüpunkt "Systeminformationen". Mit der Registrierungsnummer kann man sich dann in der Rolle "installer" einloggen. ')])),_:1},8,["model-value"])])}const B=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/lg/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-7cac1f38.js b/web/settings/assets/device-7cac1f38.js new file mode 100644 index 0000000000..752b39ef0b --- /dev/null +++ b/web/settings/assets/device-7cac1f38.js @@ -0,0 +1 @@ +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as o,l as d,m,G as n,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceBatterX",mixins:[a]},_={class:"device-batterx"};function f(t,e,b,v,x,g){const i=o("openwb-base-heading"),s=o("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für BatterX ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/batterx/batterx/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-7e2931f7.js b/web/settings/assets/device-7e2931f7.js deleted file mode 100644 index cb3b3031f6..0000000000 --- a/web/settings/assets/device-7e2931f7.js +++ /dev/null @@ -1 +0,0 @@ -import{D as u}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as r,k as d,l as m,G as i,E as s,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceKostalPikoOld",mixins:[u]},v={class:"device-kostal-piko-old"};function c(o,e,g,b,k,w){const a=r("openwb-base-heading"),n=r("openwb-base-text-input");return d(),m("div",v,[i(a,null,{default:s(()=>e[3]||(e[3]=[l(" Einstellungen für Kostal Piko (alte Generation) ")])),_:1}),i(n,{title:"URL",subtype:"url",required:"","model-value":o.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.url"))},{help:s(()=>e[4]||(e[4]=[l(' Es wird eine komplette URL inklusive Protokoll erwartet. Normalerweise ist der Wechselrichter über "http://IP" zu erreichen. ')])),_:1},8,["model-value"]),i(n,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),i(n,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko_old/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-7e892848.js b/web/settings/assets/device-7e892848.js new file mode 100644 index 0000000000..56afaff1ec --- /dev/null +++ b/web/settings/assets/device-7e892848.js @@ -0,0 +1 @@ +import{D as p}from"./HardwareInstallation-774805b0.js";import{_ as d,u as t,l as u,m as l,G as i,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSunnyIsland",mixins:[p]},f={class:"device-sunnyisland"};function b(n,e,v,g,w,x){const s=t("openwb-base-heading"),a=t("openwb-base-text-input"),r=t("openwb-base-number-input");return u(),l("div",f,[i(s,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für Sunny Island ")])),_:1}),i(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"])])}const q=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_island/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-248bd83c.js b/web/settings/assets/device-81d0ffd8.js similarity index 67% rename from web/settings/assets/device-248bd83c.js rename to web/settings/assets/device-81d0ffd8.js index f64b7bc3fd..57cfb4cb16 100644 --- a/web/settings/assets/device-248bd83c.js +++ b/web/settings/assets/device-81d0ffd8.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as s,k as u,l as p,G as t,E as l,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceBYD",mixins:[a]},v={class:"device-byd"};function b(o,e,c,g,_,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return u(),p("div",v,[t(r,null,{default:l(()=>e[3]||(e[3]=[m(" Einstellungen für BYD ")])),_:1}),t(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.user"))},null,8,["model-value"]),t(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const E=d(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/byd/byd/device.vue"]]);export{E as default}; +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as d,u as s,l as u,m as p,G as t,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceBYD",mixins:[a]},v={class:"device-byd"};function b(o,e,c,g,_,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return u(),p("div",v,[t(r,null,{default:l(()=>e[3]||(e[3]=[m(" Einstellungen für BYD ")])),_:1}),t(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.user"))},null,8,["model-value"]),t(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.password"))},null,8,["model-value"])])}const U=d(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/byd/byd/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-850e79e3.js b/web/settings/assets/device-850e79e3.js deleted file mode 100644 index 063ed73bef..0000000000 --- a/web/settings/assets/device-850e79e3.js +++ /dev/null @@ -1 +0,0 @@ -import{D as s}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as i,k as p,l,G as t,E as m,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceE3dc",mixins:[s]},b={class:"device-e3dc"};function v(o,e,_,g,w,C){const a=i("openwb-base-heading"),r=i("openwb-base-text-input"),d=i("openwb-base-number-input");return p(),l("div",b,[t(a,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für E3DC ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/e3dc/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-e5439a4d.js b/web/settings/assets/device-86fa2d07.js similarity index 56% rename from web/settings/assets/device-e5439a4d.js rename to web/settings/assets/device-86fa2d07.js index 34087a7b63..7b8336d1de 100644 --- a/web/settings/assets/device-e5439a4d.js +++ b/web/settings/assets/device-86fa2d07.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as t,k as d,l as m,G as n,E as l,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartfox",mixins:[a]},f={class:"device-smartfox"};function _(o,e,v,x,b,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),m("div",f,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für Smartfox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/smartfox/device.vue"]]);export{y as default}; +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as t,l as m,m as d,G as n,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartfox",mixins:[a]},f={class:"device-smartfox"};function _(o,e,v,x,b,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return m(),d("div",f,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für Smartfox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smartfox/smartfox/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-08c658c9.js b/web/settings/assets/device-8b6844df.js similarity index 64% rename from web/settings/assets/device-08c658c9.js rename to web/settings/assets/device-8b6844df.js index a960996432..581e23039c 100644 --- a/web/settings/assets/device-08c658c9.js +++ b/web/settings/assets/device-8b6844df.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as n,k as u,l,G as i,E as m,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuder",mixins:[a]},f={class:"device-studer"};function b(o,e,v,g,w,x){const r=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-number-input");return u(),l("div",f,[i(r,null,{default:m(()=>e[2]||(e[2]=[c(" Einstellungen für Studer ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as d,u as n,l as u,m,G as i,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuder",mixins:[a]},f={class:"device-studer"};function b(o,e,v,g,w,x){const r=n("openwb-base-heading"),s=n("openwb-base-text-input"),p=n("openwb-base-number-input");return u(),m("div",f,[i(r,null,{default:l(()=>e[2]||(e[2]=[c(" Einstellungen für Studer ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-7b42a570.js b/web/settings/assets/device-905e6026.js similarity index 81% rename from web/settings/assets/device-7b42a570.js rename to web/settings/assets/device-905e6026.js index 4f08771071..a633eb5844 100644 --- a/web/settings/assets/device-7b42a570.js +++ b/web/settings/assets/device-905e6026.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-61d444d7.js";import{_ as v,u as t,k as b,l as f,G as i,E as r,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceGoodWe",mixins:[m]},w={class:"device-goodwe"};function _(o,e,W,c,D,V){const l=t("openwb-base-heading"),a=t("openwb-base-alert"),p=t("openwb-base-text-input"),d=t("openwb-base-number-input"),u=t("openwb-base-select-input");return b(),f("div",w,[i(l,null,{default:r(()=>e[5]||(e[5]=[s("Einstellungen für GoodWe")])),_:1}),i(a,{subtype:"info"},{default:r(()=>e[6]||(e[6]=[s(" GoodWe-Wechselrichter verfügen über 3 Dongle: Den WiFi-Dongle, das Wifi-Lan-Kit und das Wifi-Lan-Kit 2.0. Die Einbindung über dieses Modul ist nur mit den Wifi-Lan-Kits möglich. Welches Kit benötigt wird ist vom Wechselrichter abhängig und kann bei GoodWe erfragt werden. ")])),_:1}),i(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"API-Version","not-selected":"Bitte auswählen",options:[{value:"v_1_7",text:"v1.7"},{value:"v_1_1",text:"v1.0/ v1.1"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.version"))},{help:r(()=>e[7]||(e[7]=[s(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"]),i(u,{title:"Firmware","not-selected":"Bitte auswählen",options:[{value:8,text:"ARM < 9.0"},{value:9,text:"ARM ab 9.0"}],"model-value":o.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.firmware"))},{help:r(()=>e[8]||(e[8]=[s(" Die Auswahl der Firmware-Version beeinflusst die Auslesung der Wirkleistung und der Phasenströme des Zählers. ")])),_:1},8,["model-value"])])}const I=v(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/good_we/device.vue"]]);export{I as default}; +import{D as m}from"./HardwareInstallation-774805b0.js";import{_ as v,u as t,l as b,m as f,G as i,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceGoodWe",mixins:[m]},w={class:"device-goodwe"};function _(o,e,W,c,D,V){const l=t("openwb-base-heading"),a=t("openwb-base-alert"),p=t("openwb-base-text-input"),d=t("openwb-base-number-input"),u=t("openwb-base-select-input");return b(),f("div",w,[i(l,null,{default:r(()=>e[5]||(e[5]=[s("Einstellungen für GoodWe")])),_:1}),i(a,{subtype:"info"},{default:r(()=>e[6]||(e[6]=[s(" GoodWe-Wechselrichter verfügen über 3 Dongle: Den WiFi-Dongle, das Wifi-Lan-Kit und das Wifi-Lan-Kit 2.0. Die Einbindung über dieses Modul ist nur mit den Wifi-Lan-Kits möglich. Welches Kit benötigt wird ist vom Wechselrichter abhängig und kann bei GoodWe erfragt werden. ")])),_:1}),i(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"API-Version","not-selected":"Bitte auswählen",options:[{value:"v_1_7",text:"v1.7"},{value:"v_1_1",text:"v1.0/ v1.1"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.version"))},{help:r(()=>e[7]||(e[7]=[s(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"]),i(u,{title:"Firmware","not-selected":"Bitte auswählen",options:[{value:8,text:"ARM < 9.0"},{value:9,text:"ARM ab 9.0"}],"model-value":o.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=n=>o.updateConfiguration(n,"configuration.firmware"))},{help:r(()=>e[8]||(e[8]=[s(" Die Auswahl der Firmware-Version beeinflusst die Auslesung der Wirkleistung und der Phasenströme des Zählers. ")])),_:1},8,["model-value"])])}const M=v(g,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/good_we/good_we/device.vue"]]);export{M as default}; diff --git a/web/settings/assets/device-93041fee.js b/web/settings/assets/device-93041fee.js new file mode 100644 index 0000000000..308cdf411f --- /dev/null +++ b/web/settings/assets/device-93041fee.js @@ -0,0 +1 @@ +import{D as d}from"./HardwareInstallation-774805b0.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJanitza",mixins:[d]},v={class:"device-janitza"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Janitza ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-94c2d3d8.js b/web/settings/assets/device-94c2d3d8.js new file mode 100644 index 0000000000..19b3d17733 --- /dev/null +++ b/web/settings/assets/device-94c2d3d8.js @@ -0,0 +1 @@ +import{D as d}from"./HardwareInstallation-774805b0.js";import{_ as u,u as t,l,m as p,G as i,E as m,y as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceCarloGavazzi",mixins:[d]},f={class:"device-carlogavazzi"};function _(o,e,b,g,z,w){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),a=t("openwb-base-number-input");return l(),p("div",f,[i(r,null,{default:m(()=>e[3]||(e[3]=[v(" Einstellungen für Carlo Gavazzi ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),i(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=u(c,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/carlo_gavazzi/carlo_gavazzi/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-97e191dc.js b/web/settings/assets/device-97e191dc.js deleted file mode 100644 index 313618617a..0000000000 --- a/web/settings/assets/device-97e191dc.js +++ /dev/null @@ -1 +0,0 @@ -import{D as p}from"./HardwareInstallation-61d444d7.js";import{_ as r,u as t,k as d,l as m,G as n,E as l,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmaWebbox",mixins:[p]},_={class:"device-sma-webbox"};function b(o,e,f,v,x,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),m("div",_,[n(i,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SMA Webbox ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const h=r(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_webbox/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-9904fa9e.js b/web/settings/assets/device-9904fa9e.js deleted file mode 100644 index 7f967306b3..0000000000 --- a/web/settings/assets/device-9904fa9e.js +++ /dev/null @@ -1 +0,0 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as t,k as d,l,G as n,E as m,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarWorld",mixins:[a]},c={class:"device-solar_world"};function f(o,e,v,b,w,g){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return d(),l("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für SolarWorld ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const h=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_world/solar_world/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-d277cbc9.js b/web/settings/assets/device-9c10a4cc.js similarity index 73% rename from web/settings/assets/device-d277cbc9.js rename to web/settings/assets/device-9c10a4cc.js index 72ad619864..0c729d7d2f 100644 --- a/web/settings/assets/device-d277cbc9.js +++ b/web/settings/assets/device-9c10a4cc.js @@ -1 +1 @@ -import{D as r}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as i,k as u,l as p,G as t,E as m,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceQCells",mixins:[r]},b={class:"device-qcells"};function v(o,e,_,g,w,C){const l=i("openwb-base-heading"),a=i("openwb-base-text-input"),s=i("openwb-base-number-input");return u(),p("div",b,[t(l,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für QCells ESS ")])),_:1}),t(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/qcells/device.vue"]]);export{y as default}; +import{D as r}from"./HardwareInstallation-774805b0.js";import{_ as d,u as i,l as u,m as p,G as t,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceQCells",mixins:[r]},b={class:"device-qcells"};function v(o,e,_,g,w,C){const l=i("openwb-base-heading"),a=i("openwb-base-text-input"),s=i("openwb-base-number-input");return u(),p("div",b,[t(l,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für QCells ESS ")])),_:1}),t(a,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/qcells/qcells/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-9ce75bb7.js b/web/settings/assets/device-9ce75bb7.js deleted file mode 100644 index cee40e68f4..0000000000 --- a/web/settings/assets/device-9ce75bb7.js +++ /dev/null @@ -1 +0,0 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as t,k as l,l as d,G as n,E as m,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarLog",mixins:[a]},c={class:"device-solar_log"};function f(o,e,g,v,b,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return l(),d("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für Solar-Log ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-9dc72c28.js b/web/settings/assets/device-9dc72c28.js new file mode 100644 index 0000000000..3d9e10e1ae --- /dev/null +++ b/web/settings/assets/device-9dc72c28.js @@ -0,0 +1 @@ +import{D as d}from"./HardwareInstallation-774805b0.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSofar",mixins:[d]},v={class:"device-sofar"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f("Einstellungen für Sofar")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sofar/sofar/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-1117dee2.js b/web/settings/assets/device-9e57dd90.js similarity index 75% rename from web/settings/assets/device-1117dee2.js rename to web/settings/assets/device-9e57dd90.js index fbba847d2f..f791216c82 100644 --- a/web/settings/assets/device-1117dee2.js +++ b/web/settings/assets/device-9e57dd90.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as i,k as b,l as f,G as t,E as s,y as d}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DevicePowerdog",mixins:[l]},v={class:"device-powerdog"};function g(o,e,c,w,C,x){const a=i("openwb-base-heading"),p=i("openwb-base-alert"),u=i("openwb-base-text-input"),r=i("openwb-base-number-input");return b(),f("div",v,[t(a,null,{default:s(()=>e[3]||(e[3]=[d(" Einstellungen für Powerdog ")])),_:1}),t(p,{subtype:"info"},{default:s(()=>e[4]||(e[4]=[d(" ModbusTCP muss aktiviert sein. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const M=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/device.vue"]]);export{M as default}; +import{D as l}from"./HardwareInstallation-774805b0.js";import{_ as m,u as i,l as b,m as f,G as t,E as s,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DevicePowerdog",mixins:[l]},v={class:"device-powerdog"};function g(o,e,c,w,C,x){const a=i("openwb-base-heading"),p=i("openwb-base-alert"),u=i("openwb-base-text-input"),r=i("openwb-base-number-input");return b(),f("div",v,[t(a,null,{default:s(()=>e[3]||(e[3]=[d(" Einstellungen für Powerdog ")])),_:1}),t(p,{subtype:"info"},{default:s(()=>e[4]||(e[4]=[d(" ModbusTCP muss aktiviert sein. ")])),_:1}),t(u,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const M=m(_,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerdog/powerdog/device.vue"]]);export{M as default}; diff --git a/web/settings/assets/device-37ed45ff.js b/web/settings/assets/device-a429bd10.js similarity index 64% rename from web/settings/assets/device-37ed45ff.js rename to web/settings/assets/device-a429bd10.js index 93e074a6dc..d22c371d39 100644 --- a/web/settings/assets/device-37ed45ff.js +++ b/web/settings/assets/device-a429bd10.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as t,k as u,l,G as i,E as m,y as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFoxEss",mixins:[a]},f={class:"device-fox_ess"};function b(o,e,v,g,x,w){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),l("div",f,[i(s,null,{default:m(()=>e[2]||(e[2]=[_("Einstellungen für FoxEss")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/device.vue"]]);export{F as default}; +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceFoxEss",mixins:[a]},f={class:"device-fox_ess"};function b(o,e,v,g,x,w){const s=t("openwb-base-heading"),r=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[_("Einstellungen für FoxEss")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/device.vue"]]);export{F as default}; diff --git a/web/settings/assets/device-a762ce9b.js b/web/settings/assets/device-a762ce9b.js new file mode 100644 index 0000000000..d03f568390 --- /dev/null +++ b/web/settings/assets/device-a762ce9b.js @@ -0,0 +1 @@ +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as d,u as t,l,m as u,G as i,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceOpenwbFlex",mixins:[a]},c={class:"device-openwb-flex"};function f(o,e,v,w,g,x){const p=t("openwb-base-heading"),s=t("openwb-base-text-input"),r=t("openwb-base-number-input");return l(),u("div",c,[i(p,null,{default:m(()=>e[2]||(e[2]=[_(" Einstellungen für openWB-Flex ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const F=d(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/device.vue"]]);export{F as default}; diff --git a/web/settings/assets/device-367f3038.js b/web/settings/assets/device-ab3fcde4.js similarity index 76% rename from web/settings/assets/device-367f3038.js rename to web/settings/assets/device-ab3fcde4.js index 1b6d45ca3b..2b1c66391b 100644 --- a/web/settings/assets/device-367f3038.js +++ b/web/settings/assets/device-ab3fcde4.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-61d444d7.js";import{_ as b,u as o,k as g,l as v,G as t,E as s,y as r,x as f}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceHuawei",mixins:[m]},c={class:"device-huawei"};function _(n,e,h,D,k,H){const u=o("openwb-base-heading"),l=o("openwb-base-alert"),d=o("openwb-base-text-input"),a=o("openwb-base-number-input"),p=o("openwb-base-select-input");return g(),v("div",c,[t(u,null,{default:s(()=>e[4]||(e[4]=[r(" Einstellungen für Huawei ")])),_:1}),t(l,{subtype:"info"},{default:s(()=>e[5]||(e[5]=[r(' Die Antwort der Huawei Wechselrichter benötigt sehr viel Zeit. Es wird empfohlen, dass Regelintervall der openWB auf "sehr langsam" zu stellen. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},{help:s(()=>e[6]||(e[6]=[r(' Sind mehrere Huawei Wechselrichter als "Schwarm" verbunden, dann besitzt der Master vermutlich die ID "16". Über diese ID werden dann alle Daten in Summe zur Verfügung gestellt.'),f("br",null,null,-1),r(" Die IDs 1 bis 15 sind für einzelne Wechselrichter reserviert. ")])),_:1},8,["model-value"]),t(p,{title:"Anbindung","not-selected":"Bitte auswählen",options:[{value:"s_dongle",text:"SDongle"},{value:"modbus_rtu",text:"Modbus RTU (bspw via Protoss)"}],"model-value":n.device.configuration.type,required:"","onUpdate:modelValue":e[3]||(e[3]=i=>n.updateConfiguration(i,"configuration.type"))},{help:s(()=>e[7]||(e[7]=[r(' Die Anbindung über den Huawei SDongle erfordert die Regelgeschwindigkeit "sehr langsam". Alternativ kann Huawei auch mittels Wandler (bspw Protoss) über den Modbus RTU Ausgang des Wechselrichters abgefragt werden. Hier gibt es keine Einschränkungen der Regelgeschwindigkeit. Eine gleichzeitige Nutzung von SDongle und Modbus RTU ist nicht möglich. ')])),_:1},8,["model-value"])])}const R=b(w,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei/device.vue"]]);export{R as default}; +import{D as m}from"./HardwareInstallation-774805b0.js";import{_ as g,u as o,l as b,m as v,G as t,E as s,y as r,x as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceHuawei",mixins:[m]},c={class:"device-huawei"};function _(n,e,h,D,H,V){const u=o("openwb-base-heading"),l=o("openwb-base-alert"),d=o("openwb-base-text-input"),a=o("openwb-base-number-input"),p=o("openwb-base-select-input");return b(),v("div",c,[t(u,null,{default:s(()=>e[4]||(e[4]=[r(" Einstellungen für Huawei ")])),_:1}),t(l,{subtype:"info"},{default:s(()=>e[5]||(e[5]=[r(' Die Antwort der Huawei Wechselrichter benötigt sehr viel Zeit. Es wird empfohlen, dass Regelintervall der openWB auf "sehr langsam" zu stellen. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=i=>n.updateConfiguration(i,"configuration.modbus_id"))},{help:s(()=>e[6]||(e[6]=[r(' Sind mehrere Huawei Wechselrichter als "Schwarm" verbunden, dann besitzt der Master vermutlich die ID "16". Über diese ID werden dann alle Daten in Summe zur Verfügung gestellt.'),f("br",null,null,-1),r(" Die IDs 1 bis 15 sind für einzelne Wechselrichter reserviert. ")])),_:1},8,["model-value"]),t(p,{title:"Anbindung","not-selected":"Bitte auswählen",options:[{value:"s_dongle",text:"SDongle"},{value:"modbus_rtu",text:"Modbus RTU (bspw via Protoss)"}],"model-value":n.device.configuration.type,required:"","onUpdate:modelValue":e[3]||(e[3]=i=>n.updateConfiguration(i,"configuration.type"))},{help:s(()=>e[7]||(e[7]=[r(' Die Anbindung über den Huawei SDongle erfordert die Regelgeschwindigkeit "sehr langsam". Alternativ kann Huawei auch mittels Wandler (z.B. Protoss) über den Modbus RTU Ausgang des Wechselrichters abgefragt werden. Hier gibt es keine Einschränkungen der Regelgeschwindigkeit. Eine gleichzeitige Nutzung von SDongle und Modbus RTU ist nicht möglich. ')])),_:1},8,["model-value"])])}const R=g(w,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei/device.vue"]]);export{R as default}; diff --git a/web/settings/assets/device-0c91e95d.js b/web/settings/assets/device-b66728c4.js similarity index 63% rename from web/settings/assets/device-0c91e95d.js rename to web/settings/assets/device-b66728c4.js index 2bee7674ac..6e187c9c7c 100644 --- a/web/settings/assets/device-0c91e95d.js +++ b/web/settings/assets/device-b66728c4.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as n,k as u,l as m,G as i,E as l,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceMTec",mixins:[a]},f={class:"device-mtec"};function b(o,e,v,g,w,x){const s=n("openwb-base-heading"),r=n("openwb-base-text-input"),p=n("openwb-base-number-input");return u(),m("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[c("Einstellungen für M-Tec")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/device.vue"]]);export{q as default}; +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as d,u as n,l as m,m as u,G as i,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceMTec",mixins:[a]},f={class:"device-mtec"};function b(o,e,v,g,w,x){const s=n("openwb-base-heading"),r=n("openwb-base-text-input"),p=n("openwb-base-number-input");return m(),u("div",f,[i(s,null,{default:l(()=>e[2]||(e[2]=[c("Einstellungen für M-Tec")])),_:1}),i(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"])])}const q=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-53a283dc.js b/web/settings/assets/device-b8d9256b.js similarity index 88% rename from web/settings/assets/device-53a283dc.js rename to web/settings/assets/device-b8d9256b.js index 4dba0e598a..d9d203e575 100644 --- a/web/settings/assets/device-53a283dc.js +++ b/web/settings/assets/device-b8d9256b.js @@ -1 +1 @@ -import{D as f}from"./HardwareInstallation-61d444d7.js";import{_ as g,u as d,k as t,l as b,G as l,E as a,y as i,z as s,B as u,x as p}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceEnphase",mixins:[f]},y={class:"device-enphase"};function k(n,e,V,c,E,h){const m=d("openwb-base-heading"),r=d("openwb-base-text-input"),v=d("openwb-base-select-input");return t(),b("div",y,[l(m,null,{default:a(()=>e[6]||(e[6]=[i(" Einstellungen für Enphase Envoy / IQ Gateway ")])),_:1}),l(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.hostname,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hostname"))},{help:a(()=>e[7]||(e[7]=[i(' Bitte geben Sie die IP-Adresse oder den Hostnamen des Enphase Envoy oder IQ Gateway an. Die Info finden Sie in Ihrem Router. Ab Werk ist der Hostname "envoy" oder "envoy.local". ')])),_:1},8,["model-value"]),l(v,{title:"Version",required:"",options:[{value:1,text:"Firmware < 7.0"},{value:2,text:"Firmware ab 7.0"}],"model-value":n.device.configuration.version,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[8]||(e[8]=[i(" Bitte wählen Sie die Version des Enphase Envoy oder IQ Gateway aus. Die Version 1 ist für Geräte mit einer Firmware-Version unter 7.0, die Version 2 für Geräte mit einer Firmware-Version ab 7.0. Ein angebundener Speicher wird nur bei Version 2 unterstützt. ")])),_:1},8,["model-value"]),n.device.configuration.version>1?(t(),s(r,{key:0,title:"Benutzer",subtype:"user","model-value":n.device.configuration.user,required:"","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.user"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:1,title:"Kennwort",subtype:"password","model-value":n.device.configuration.password,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:2,title:"Envoy Seriennummer","model-value":n.device.configuration.serial,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.serial"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:3,title:"Token",subtype:"password","model-value":n.device.configuration.token,required:"","onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.token"))},{help:a(()=>e[9]||(e[9]=[i(" Wenn Benutzer, Kennwort und Seriennummer des Envoys angegeben werden, wird das Token automatisch beim Speichern abgerufen. Ebenfalls wird ein abgelaufenes Token (derzeit nach einem Jahr) automatisch erneuert."),p("br",null,null,-1),i(" Wenn Sie ein Token manuell erstellen möchten, können Sie dies auf der "),p("a",{href:"https://developer.enphase.com/docs/quickstart.html",target:"_blank",rel:"noopener"}," Enphase-Webseite ",-1),i(" erledigen. ")])),_:1},8,["model-value"])):u("",!0)])}const T=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/device.vue"]]);export{T as default}; +import{D as f}from"./HardwareInstallation-774805b0.js";import{_ as g,u as d,l as t,m as b,G as l,E as a,y as i,z as s,B as u,x as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceEnphase",mixins:[f]},y={class:"device-enphase"};function k(n,e,V,c,E,h){const m=d("openwb-base-heading"),r=d("openwb-base-text-input"),v=d("openwb-base-select-input");return t(),b("div",y,[l(m,null,{default:a(()=>e[6]||(e[6]=[i(" Einstellungen für Enphase Envoy / IQ Gateway ")])),_:1}),l(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.hostname,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hostname"))},{help:a(()=>e[7]||(e[7]=[i(' Bitte geben Sie die IP-Adresse oder den Hostnamen des Enphase Envoy oder IQ Gateway an. Die Info finden Sie in Ihrem Router. Ab Werk ist der Hostname "envoy" oder "envoy.local". ')])),_:1},8,["model-value"]),l(v,{title:"Version",required:"",options:[{value:1,text:"Firmware < 7.0"},{value:2,text:"Firmware ab 7.0"}],"model-value":n.device.configuration.version,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[8]||(e[8]=[i(" Bitte wählen Sie die Version des Enphase Envoy oder IQ Gateway aus. Die Version 1 ist für Geräte mit einer Firmware-Version unter 7.0, die Version 2 für Geräte mit einer Firmware-Version ab 7.0. Ein angebundener Speicher wird nur bei Version 2 unterstützt. ")])),_:1},8,["model-value"]),n.device.configuration.version>1?(t(),s(r,{key:0,title:"Benutzer",subtype:"user","model-value":n.device.configuration.user,required:"","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.user"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:1,title:"Kennwort",subtype:"password","model-value":n.device.configuration.password,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.password"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:2,title:"Envoy Seriennummer","model-value":n.device.configuration.serial,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.serial"))},null,8,["model-value"])):u("",!0),n.device.configuration.version>1?(t(),s(r,{key:3,title:"Token",subtype:"password","model-value":n.device.configuration.token,required:"","onUpdate:modelValue":e[5]||(e[5]=o=>n.updateConfiguration(o,"configuration.token"))},{help:a(()=>e[9]||(e[9]=[i(" Wenn Benutzer, Kennwort und Seriennummer des Envoys angegeben werden, wird das Token automatisch beim Speichern abgerufen. Ebenfalls wird ein abgelaufenes Token (derzeit nach einem Jahr) automatisch erneuert."),p("br",null,null,-1),i(" Wenn Sie ein Token manuell erstellen möchten, können Sie dies auf der "),p("a",{href:"https://developer.enphase.com/docs/quickstart.html",target:"_blank",rel:"noopener"}," Enphase-Webseite ",-1),i(" erledigen. ")])),_:1},8,["model-value"])):u("",!0)])}const T=g(w,[["render",k],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/device.vue"]]);export{T as default}; diff --git a/web/settings/assets/device-c4d8cd7c.js b/web/settings/assets/device-b9e9acf2.js similarity index 80% rename from web/settings/assets/device-c4d8cd7c.js rename to web/settings/assets/device-b9e9acf2.js index aac60e5151..4ceb9d2593 100644 --- a/web/settings/assets/device-c4d8cd7c.js +++ b/web/settings/assets/device-b9e9acf2.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as i,k as v,l as b,G as n,E as s,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceGrowatt",mixins:[p]},g={class:"device-growatt"};function _(o,e,c,w,V,C){const a=i("openwb-base-heading"),d=i("openwb-base-text-input"),r=i("openwb-base-number-input"),l=i("openwb-base-select-input");return v(),b("div",g,[n(a,null,{default:s(()=>e[4]||(e[4]=[u("Einstellungen für Growatt")])),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"MAX",text:"MAX Series"},{value:"TL-X",text:"TL-X Inverter"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.version"))},{help:s(()=>e[5]||(e[5]=[u(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"])])}const X=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/growatt/growatt/device.vue"]]);export{X as default}; +import{D as p}from"./HardwareInstallation-774805b0.js";import{_ as m,u as i,l as v,m as b,G as n,E as s,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceGrowatt",mixins:[p]},g={class:"device-growatt"};function _(o,e,c,w,V,C){const a=i("openwb-base-heading"),d=i("openwb-base-text-input"),r=i("openwb-base-number-input"),l=i("openwb-base-select-input");return v(),b("div",g,[n(a,null,{default:s(()=>e[4]||(e[4]=[u("Einstellungen für Growatt")])),_:1}),n(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.port"))},null,8,["model-value"]),n(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),n(l,{title:"Version","not-selected":"Bitte auswählen",options:[{value:"MAX",text:"MAX Series"},{value:"TL-X",text:"TL-X Inverter"}],"model-value":o.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=t=>o.updateConfiguration(t,"configuration.version"))},{help:s(()=>e[5]||(e[5]=[u(" Die Wahl der API-Version beeinflusst die Auslesung der Speicherleistung und der Import/ Export Werte des Zählers. ")])),_:1},8,["model-value"])])}const X=m(f,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/growatt/growatt/device.vue"]]);export{X as default}; diff --git a/web/settings/assets/device-bfb62013.js b/web/settings/assets/device-bfb62013.js deleted file mode 100644 index 433a0ca5f1..0000000000 --- a/web/settings/assets/device-bfb62013.js +++ /dev/null @@ -1 +0,0 @@ -import{D as m}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as s,k as p,l,G as t,E as r,y as a}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceLG",mixins:[m]},f={class:"device-lg"};function c(n,e,v,b,_,w){const d=s("openwb-base-heading"),o=s("openwb-base-text-input");return p(),l("div",f,[t(d,null,{default:r(()=>e[2]||(e[2]=[a(" Einstellungen für LG ESS V1.0 ")])),_:1}),t(o,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>n.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),t(o,{title:"Passwort",subtype:"password",required:"","model-value":n.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=i=>n.updateConfiguration(i,"configuration.password"))},{help:r(()=>e[3]||(e[3]=[a(' Passwort, um sich in den LG ESS V1.0 einzuloggen. Das Passwort ist standardmäßig die Registrierungsnummer, die sich auf einem Aufkleber auf dem PCS (dem Hybridwechselrichter und Batteriemanagementsystem) befindet. Alternativ findet man die Registrierungsnummer in der App unter dem Menüpunkt "Systeminformationen". Mit der Registrierungsnummer kann man sich dann in der Rolle "installer" einloggen. ')])),_:1},8,["model-value"])])}const B=u(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/lg/lg/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/device-b726fad3.js b/web/settings/assets/device-c8b185aa.js similarity index 66% rename from web/settings/assets/device-b726fad3.js rename to web/settings/assets/device-c8b185aa.js index a720b6f912..82846b60ff 100644 --- a/web/settings/assets/device-b726fad3.js +++ b/web/settings/assets/device-c8b185aa.js @@ -1 +1 @@ -import{D as p}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as n,k as m,l as _,G as a,E as i,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarwatt",mixins:[p]},v={class:"device-solarwatt"};function c(t,e,w,b,g,x){const s=n("openwb-base-heading"),l=n("openwb-base-text-input"),d=n("openwb-base-select-input");return m(),_("div",v,[a(s,null,{default:i(()=>e[2]||(e[2]=[r(" Einstellungen für Solarwatt/My Reserve ")])),_:1}),a(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Abrufmethode","not-selected":"Bitte auswählen",options:[{value:0,text:"Gateway"},{value:1,text:"Energy Manager"}],"model-value":t.device.configuration.energy_manager,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.energy_manager"))},{help:i(()=>e[3]||(e[3]=[r(" Wenn beide Abrufmethoden verwendet werden sollen, muss für jede Methode ein Gerät erstellt werden. ")])),_:1},8,["model-value"])])}const D=u(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/solar_watt/device.vue"]]);export{D as default}; +import{D as p}from"./HardwareInstallation-774805b0.js";import{_ as u,u as n,l as m,m as _,G as a,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSolarwatt",mixins:[p]},v={class:"device-solarwatt"};function c(t,e,w,b,g,x){const s=n("openwb-base-heading"),l=n("openwb-base-text-input"),d=n("openwb-base-select-input");return m(),_("div",v,[a(s,null,{default:i(()=>e[2]||(e[2]=[r(" Einstellungen für Solarwatt/My Reserve ")])),_:1}),a(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),a(d,{title:"Abrufmethode","not-selected":"Bitte auswählen",options:[{value:0,text:"Gateway"},{value:1,text:"Energy Manager"}],"model-value":t.device.configuration.energy_manager,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.energy_manager"))},{help:i(()=>e[3]||(e[3]=[r(" Wenn beide Abrufmethoden verwendet werden sollen, muss für jede Methode ein Gerät erstellt werden. ")])),_:1},8,["model-value"])])}const G=u(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_watt/solar_watt/device.vue"]]);export{G as default}; diff --git a/web/settings/assets/device-cc58677a.js b/web/settings/assets/device-cc58677a.js deleted file mode 100644 index 6c1dd2c24b..0000000000 --- a/web/settings/assets/device-cc58677a.js +++ /dev/null @@ -1 +0,0 @@ -import{D as r}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as t,k as d,l,G as n,E as c,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceKostalSteca",mixins:[r]},_={class:"device-kostal-steca"};function f(o,e,v,b,g,k){const s=t("openwb-base-heading"),i=t("openwb-base-text-input");return d(),l("div",_,[n(s,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept ")])),_:1}),n(i,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>o.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"])])}const h=p(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/device.vue"]]);export{h as default}; diff --git a/web/settings/assets/device-d1705c14.js b/web/settings/assets/device-d1705c14.js deleted file mode 100644 index aba77a1592..0000000000 --- a/web/settings/assets/device-d1705c14.js +++ /dev/null @@ -1 +0,0 @@ -import{D as u}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as i,k as p,l,G as t,E as m,y as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceZCS",mixins:[u]},f={class:"device-azzurro_zcs"};function b(o,e,v,g,z,w){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),l("div",f,[t(a,null,{default:m(()=>e[3]||(e[3]=[_(" Einstellungen für Azzurro ZCS ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const U=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/azzurro_zcs/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-9f0e08a0.js b/web/settings/assets/device-d92eab38.js similarity index 72% rename from web/settings/assets/device-9f0e08a0.js rename to web/settings/assets/device-d92eab38.js index a90a6807ef..dc5bf86a3a 100644 --- a/web/settings/assets/device-9f0e08a0.js +++ b/web/settings/assets/device-d92eab38.js @@ -1 +1 @@ -import{D as m}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as i,k as b,l as f,G as t,E as r,y as a}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemensSentron",mixins:[m]},v={class:"device-siemens-sentron"};function c(n,e,g,w,C,x){const u=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(u,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens Sentron ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(' Derzeit werden nur Messgeräte vom Typ "7KM PAC2200" mit Ethernet-Schnittstelle unterstützt. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const B=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens_sentron/device.vue"]]);export{B as default}; +import{D as m}from"./HardwareInstallation-774805b0.js";import{_ as l,u as i,l as b,m as f,G as t,E as r,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSiemensSentron",mixins:[m]},v={class:"device-siemens-sentron"};function c(n,e,g,w,C,x){const u=i("openwb-base-heading"),p=i("openwb-base-alert"),d=i("openwb-base-text-input"),s=i("openwb-base-number-input");return b(),f("div",v,[t(u,null,{default:r(()=>e[3]||(e[3]=[a(" Einstellungen für Siemens Sentron ")])),_:1}),t(p,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[a(' Derzeit werden nur Messgeräte vom Typ "7KM PAC2200" mit Ethernet-Schnittstelle unterstützt. ')])),_:1}),t(d,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(s,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(s,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"])])}const P=l(_,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/siemens/siemens_sentron/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-dde17a76.js b/web/settings/assets/device-dde17a76.js new file mode 100644 index 0000000000..6d4c4fefbb --- /dev/null +++ b/web/settings/assets/device-dde17a76.js @@ -0,0 +1 @@ +import{D as d}from"./HardwareInstallation-774805b0.js";import{_ as m,u as i,l,m as u,G as n,E as a,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceFems",mixins:[d]},c={class:"device-fems"};function v(o,e,_,b,g,w){const p=i("openwb-base-heading"),s=i("openwb-base-text-input");return l(),u("div",c,[n(p,null,{default:a(()=>e[2]||(e[2]=[r(" Einstellungen für openEMS, Fenecon FEMS, CENTURIO 10, Kaco Hy-Control ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.ip_address"))},null,8,["model-value"]),n(s,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},{help:a(()=>e[3]||(e[3]=[r(" Bei Nutzung von Fenecon FEMS ist das Passwort im Normalfall user, bei Kaco mit Hy-Control ist das Passwort meist admin. ")])),_:1},8,["model-value"])])}const V=m(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fems/fems/device.vue"]]);export{V as default}; diff --git a/web/settings/assets/device-f7567e84.js b/web/settings/assets/device-e2123884.js similarity index 63% rename from web/settings/assets/device-f7567e84.js rename to web/settings/assets/device-e2123884.js index 1d4aa6a27c..e380c7700e 100644 --- a/web/settings/assets/device-f7567e84.js +++ b/web/settings/assets/device-e2123884.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as s,k as u,l as m,G as n,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMe",mixins:[a]},f={class:"device-smart-me"};function v(o,e,_,b,g,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return u(),m("div",f,[n(r,null,{default:d(()=>e[2]||(e[2]=[l(" Einstellungen für smart-me ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/device.vue"]]);export{q as default}; +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as s,l as m,m as u,G as n,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMe",mixins:[a]},f={class:"device-smart-me"};function v(o,e,_,b,g,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return m(),u("div",f,[n(r,null,{default:d(()=>e[2]||(e[2]=[l(" Einstellungen für smart-me ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-9415f137.js b/web/settings/assets/device-e2342c8e.js similarity index 59% rename from web/settings/assets/device-9415f137.js rename to web/settings/assets/device-e2342c8e.js index 92f1be49da..22b36289bf 100644 --- a/web/settings/assets/device-9415f137.js +++ b/web/settings/assets/device-e2342c8e.js @@ -1 +1 @@ -import{D as l}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as t,k as m,l as u,G as i,E as s,y as o,x as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceJson",mixins:[l]},f={class:"device-json"};function b(n,e,v,g,w,x){const r=t("openwb-base-heading"),a=t("openwb-base-text-input");return m(),u("div",f,[i(r,null,{default:s(()=>e[1]||(e[1]=[o(" Einstellungen für JSON ")])),_:1}),i(a,{title:"URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>n.updateConfiguration(p,"configuration.url"))},{help:s(()=>e[2]||(e[2]=[o(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein."),c("br",null,null,-1),o(" Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"])])}const $=d(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/device.vue"]]);export{$ as default}; +import{D as l}from"./HardwareInstallation-774805b0.js";import{_ as m,u as t,l as d,m as u,G as i,E as s,y as o,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceJson",mixins:[l]},f={class:"device-json"};function b(n,e,v,g,w,x){const r=t("openwb-base-heading"),a=t("openwb-base-text-input");return d(),u("div",f,[i(r,null,{default:s(()=>e[1]||(e[1]=[o(" Einstellungen für JSON ")])),_:1}),i(a,{title:"URL",subtype:"url",required:"","model-value":n.device.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=p=>n.updateConfiguration(p,"configuration.url"))},{help:s(()=>e[2]||(e[2]=[o(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein."),c("br",null,null,-1),o(" Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-e54596e7.js b/web/settings/assets/device-e54596e7.js deleted file mode 100644 index 6c599f0b73..0000000000 --- a/web/settings/assets/device-e54596e7.js +++ /dev/null @@ -1 +0,0 @@ -import{D as d}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as i,k as p,l,G as t,E as m,y as f}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceJanitza",mixins:[d]},v={class:"device-janitza"};function _(o,e,c,g,w,C){const r=i("openwb-base-heading"),s=i("openwb-base-text-input"),a=i("openwb-base-number-input");return p(),l("div",v,[t(r,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Janitza ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const E=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/janitza/janitza/device.vue"]]);export{E as default}; diff --git a/web/settings/assets/device-4a9b6651.js b/web/settings/assets/device-e9bc435f.js similarity index 83% rename from web/settings/assets/device-4a9b6651.js rename to web/settings/assets/device-e9bc435f.js index 8dc103d7e8..711ecd95f0 100644 --- a/web/settings/assets/device-4a9b6651.js +++ b/web/settings/assets/device-e9bc435f.js @@ -1 +1 @@ -import{D as v}from"./HardwareInstallation-61d444d7.js";import{_ as g,u as o,k as m,l as _,G as s,E as u,y as i,x as n,F as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const A={name:"DeviceSonnenbatterie",mixins:[v],computed:{linkRestApi1(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery"},linkRestApi2(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery/M05"},linkJsonApi1(){return"http://"+this.device.configuration.ip_address+"/api/v1/status"},linkJsonApi2(){return"http://"+this.device.configuration.ip_address+"/api/v2/status"}}},k={class:"device-sonnenbatterie"},w={style:{display:"block"}},B=["href"],J=["href"],R=["href"],I=["href"];function P(r,e,x,h,C,t){const d=o("openwb-base-heading"),p=o("openwb-base-alert"),f=o("openwb-base-text-input"),b=o("openwb-base-select-input");return m(),_("div",k,[s(d,null,{default:u(()=>e[2]||(e[2]=[i(" Einstellungen für SonnenBatterie ")])),_:1}),s(p,{subtype:"info"},{default:u(()=>e[3]||(e[3]=[i(' Die Leistung steht nur in den Varianten "Rest-API 2" und "JSON-API" zur Verfügung. ')])),_:1}),s(f,{title:"IP oder Hostname",subtype:"host",required:"","model-value":r.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>r.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"]),s(b,{title:"Datenverbindung",required:"","not-selected":"Bitte auswählen",options:[{value:0,text:"Rest-API 1 (z.B. ECO 4)"},{value:2,text:"Rest-API 2 (z.B. ECO 6)"},{value:1,text:"JSON-API v1(z.B. ECO 8 oder 10)"},{value:3,text:"JSON-API v2(z.B. ECO 8 oder 10)"}],"model-value":r.device.configuration.variant,"onUpdate:modelValue":e[1]||(e[1]=a=>r.updateConfiguration(a,"configuration.variant"))},{help:u(()=>[n("span",w,[e[4]||(e[4]=i(" Je nach SonnenBatterie muss die richtige Datenverbindung ausgewählt werden. Folgende URLs werden zum Abruf der Daten genutzt und können auch manuell über einen Browser abgefragt werden, um die richtige Einstellung zu finden:")),e[5]||(e[5]=n("br",null,null,-1)),e[6]||(e[6]=i(" Rest-API 1: ")),n("a",{href:t.linkRestApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi1),9,B),e[7]||(e[7]=n("br",null,null,-1)),e[8]||(e[8]=i(" Rest-API 2: ")),n("a",{href:t.linkRestApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi2),9,J),e[9]||(e[9]=n("br",null,null,-1)),e[10]||(e[10]=i(" JSON-API v1: ")),n("a",{href:t.linkJsonApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi1),9,R),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=i(" JSON-API v2: ")),n("a",{href:t.linkJsonApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi2),9,I)])]),_:1},8,["model-value"])])}const U=g(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/device.vue"]]);export{U as default}; +import{D as v}from"./HardwareInstallation-774805b0.js";import{_ as m,u as o,l as g,m as _,G as s,E as u,y as i,x as n,F as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const A={name:"DeviceSonnenbatterie",mixins:[v],computed:{linkRestApi1(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery"},linkRestApi2(){return"http://"+this.device.configuration.ip_address+":7979/rest/devices/battery/M05"},linkJsonApi1(){return"http://"+this.device.configuration.ip_address+"/api/v1/status"},linkJsonApi2(){return"http://"+this.device.configuration.ip_address+"/api/v2/status"}}},k={class:"device-sonnenbatterie"},w={style:{display:"block"}},B=["href"],J=["href"],R=["href"],I=["href"];function P(r,e,x,h,C,t){const d=o("openwb-base-heading"),p=o("openwb-base-alert"),f=o("openwb-base-text-input"),b=o("openwb-base-select-input");return g(),_("div",k,[s(d,null,{default:u(()=>e[2]||(e[2]=[i(" Einstellungen für SonnenBatterie ")])),_:1}),s(p,{subtype:"info"},{default:u(()=>e[3]||(e[3]=[i(' Die Leistung steht nur in den Varianten "Rest-API 2" und "JSON-API" zur Verfügung. ')])),_:1}),s(f,{title:"IP oder Hostname",subtype:"host",required:"","model-value":r.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=a=>r.updateConfiguration(a,"configuration.ip_address"))},null,8,["model-value"]),s(b,{title:"Datenverbindung",required:"","not-selected":"Bitte auswählen",options:[{value:0,text:"Rest-API 1 (z.B. ECO 4)"},{value:2,text:"Rest-API 2 (z.B. ECO 6)"},{value:1,text:"JSON-API v1(z.B. ECO 8 oder 10)"},{value:3,text:"JSON-API v2(z.B. ECO 8 oder 10)"}],"model-value":r.device.configuration.variant,"onUpdate:modelValue":e[1]||(e[1]=a=>r.updateConfiguration(a,"configuration.variant"))},{help:u(()=>[n("span",w,[e[4]||(e[4]=i(" Je nach SonnenBatterie muss die richtige Datenverbindung ausgewählt werden. Folgende URLs werden zum Abruf der Daten genutzt und können auch manuell über einen Browser abgefragt werden, um die richtige Einstellung zu finden:")),e[5]||(e[5]=n("br",null,null,-1)),e[6]||(e[6]=i(" Rest-API 1: ")),n("a",{href:t.linkRestApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi1),9,B),e[7]||(e[7]=n("br",null,null,-1)),e[8]||(e[8]=i(" Rest-API 2: ")),n("a",{href:t.linkRestApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkRestApi2),9,J),e[9]||(e[9]=n("br",null,null,-1)),e[10]||(e[10]=i(" JSON-API v1: ")),n("a",{href:t.linkJsonApi1,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi1),9,R),e[11]||(e[11]=n("br",null,null,-1)),e[12]||(e[12]=i(" JSON-API v2: ")),n("a",{href:t.linkJsonApi2,target:"_blank",rel:"noopener noreferrer"},l(t.linkJsonApi2),9,I)])]),_:1},8,["model-value"])])}const U=m(A,[["render",P],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sonnen/sonnenbatterie/device.vue"]]);export{U as default}; diff --git a/web/settings/assets/device-287b1638.js b/web/settings/assets/device-ed98fdc8.js similarity index 58% rename from web/settings/assets/device-287b1638.js rename to web/settings/assets/device-ed98fdc8.js index 0b3a4707a7..2a6ee59696 100644 --- a/web/settings/assets/device-287b1638.js +++ b/web/settings/assets/device-ed98fdc8.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as r,k as u,l as d,G as n,E as l,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfox",mixins:[a]},c={class:"device-powerfox"};function v(o,e,w,_,b,g){const s=r("openwb-base-heading"),i=r("openwb-base-text-input");return u(),d("div",c,[n(s,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Powerfox ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const P=p(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/device.vue"]]);export{P as default}; +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as r,l as u,m as d,G as n,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfox",mixins:[a]},c={class:"device-powerfox"};function v(o,e,w,_,b,g){const s=r("openwb-base-heading"),i=r("openwb-base-text-input");return u(),d("div",c,[n(s,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Powerfox ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const k=p(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-36dada42.js b/web/settings/assets/device-eeb62f62.js similarity index 64% rename from web/settings/assets/device-36dada42.js rename to web/settings/assets/device-eeb62f62.js index 62604c1917..7b30716ea8 100644 --- a/web/settings/assets/device-36dada42.js +++ b/web/settings/assets/device-eeb62f62.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as t,k as u,l,G as i,E as m,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceVictron",mixins:[a]},v={class:"device-victron"};function f(o,e,b,g,w,x){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),l("div",v,[i(r,null,{default:m(()=>e[2]||(e[2]=[c(" Einstellungen für Victron ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/device.vue"]]);export{N as default}; +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as d,u as t,l as u,m,G as i,E as l,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceVictron",mixins:[a]},v={class:"device-victron"};function f(o,e,b,g,w,x){const r=t("openwb-base-heading"),s=t("openwb-base-text-input"),p=t("openwb-base-number-input");return u(),m("div",v,[i(r,null,{default:l(()=>e[2]||(e[2]=[c(" Einstellungen für Victron ")])),_:1}),i(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),i(p,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"])])}const N=d(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/device.vue"]]);export{N as default}; diff --git a/web/settings/assets/device-efc532f9.js b/web/settings/assets/device-efc532f9.js new file mode 100644 index 0000000000..bc00d4b434 --- /dev/null +++ b/web/settings/assets/device-efc532f9.js @@ -0,0 +1 @@ +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as t,l,m as d,G as n,E as m,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSolarLog",mixins:[a]},c={class:"device-solar_log"};function f(o,e,g,v,b,x){const i=t("openwb-base-heading"),s=t("openwb-base-text-input");return l(),d("div",c,[n(i,null,{default:m(()=>e[1]||(e[1]=[u(" Einstellungen für Solar-Log ")])),_:1}),n(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.ip_address"))},null,8,["model-value"])])}const y=p(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_log/solar_log/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-f335e149.js b/web/settings/assets/device-f335e149.js new file mode 100644 index 0000000000..e06a938495 --- /dev/null +++ b/web/settings/assets/device-f335e149.js @@ -0,0 +1 @@ +import{D as u}from"./HardwareInstallation-774805b0.js";import{_ as d,u as i,l as p,m as l,G as t,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceZCS",mixins:[u]},f={class:"device-azzurro_zcs"};function b(o,e,v,g,z,w){const a=i("openwb-base-heading"),s=i("openwb-base-text-input"),r=i("openwb-base-number-input");return p(),l("div",f,[t(a,null,{default:m(()=>e[3]||(e[3]=[_(" Einstellungen für Azzurro ZCS ")])),_:1}),t(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const k=d(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/azzurro_zcs/azzurro_zcs/device.vue"]]);export{k as default}; diff --git a/web/settings/assets/device-f3bd838b.js b/web/settings/assets/device-f3bd838b.js new file mode 100644 index 0000000000..fad7ea9ec1 --- /dev/null +++ b/web/settings/assets/device-f3bd838b.js @@ -0,0 +1 @@ +import{D as s}from"./HardwareInstallation-774805b0.js";import{_ as u,u as i,l as p,m as l,G as t,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceE3dc",mixins:[s]},b={class:"device-e3dc"};function v(o,e,_,g,w,C){const a=i("openwb-base-heading"),r=i("openwb-base-text-input"),d=i("openwb-base-number-input");return p(),l("div",b,[t(a,null,{default:m(()=>e[3]||(e[3]=[c(" Einstellungen für E3DC ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.address"))},null,8,["model-value"]),t(d,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(d,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const y=u(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/e3dc/e3dc/device.vue"]]);export{y as default}; diff --git a/web/settings/assets/device-cf16ba2c.js b/web/settings/assets/device-f7801182.js similarity index 69% rename from web/settings/assets/device-cf16ba2c.js rename to web/settings/assets/device-f7801182.js index c64d26cbbf..752990b8be 100644 --- a/web/settings/assets/device-cf16ba2c.js +++ b/web/settings/assets/device-f7801182.js @@ -1 +1 @@ -import{D as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as s,k as d,l as u,G as n,E as l,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDiscovergy",mixins:[a]},v={class:"device-discovergy"};function f(o,e,g,_,b,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return d(),u("div",v,[n(r,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Discovergy ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/device.vue"]]);export{q as default}; +import{D as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as s,l as d,m as u,G as n,E as l,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDiscovergy",mixins:[a]},v={class:"device-discovergy"};function f(o,e,g,_,b,w){const r=s("openwb-base-heading"),i=s("openwb-base-text-input");return d(),u("div",v,[n(r,null,{default:l(()=>e[2]||(e[2]=[m(" Einstellungen für Discovergy ")])),_:1}),n(i,{title:"Benutzername",subtype:"user",required:"","model-value":o.device.configuration.user,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user"))},null,8,["model-value"]),n(i,{title:"Passwort",subtype:"password",required:"","model-value":o.device.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"])])}const q=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/device.vue"]]);export{q as default}; diff --git a/web/settings/assets/device-ba573cc4.js b/web/settings/assets/device-f90aae12.js similarity index 78% rename from web/settings/assets/device-ba573cc4.js rename to web/settings/assets/device-f90aae12.js index 5aa3985e79..b1e470c131 100644 --- a/web/settings/assets/device-ba573cc4.js +++ b/web/settings/assets/device-f90aae12.js @@ -1 +1 @@ -import{D as u}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as n,k as c,l as f,G as o,E as l,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShelly",mixins:[u]},v={class:"device-shelly"};function b(t,e,g,h,w,y){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-select-input");return c(),f("div",v,[o(r,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für Shelly ")])),_:1}),o(a,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(" Unterstützt werden theoretisch alle ein- und dreiphasigen Shellys der Generation 1-3. Getestete Modelle sind Shelly 1pm, 1pm plus, Pro Pro 3EM, Plug S. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),o(d,{title:"Vorzeichen invertieren","not-selected":"Bitte auswählen",options:[{value:-1,text:"ja"},{value:1,text:"nein"}],"model-value":t.device.configuration.factor,required:"","onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.factor"))},{help:l(()=>e[4]||(e[4]=[s(" Einige Shelly Modelle liefern die Leistung mit umgedrehtem Vorzeichen. Falls dies der Fall sein sollte, das Vorzeichen invertieren. ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/device.vue"]]);export{$ as default}; +import{D as u}from"./HardwareInstallation-774805b0.js";import{_ as m,u as n,l as c,m as f,G as o,E as l,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceShelly",mixins:[u]},v={class:"device-shelly"};function b(t,e,g,h,w,y){const r=n("openwb-base-heading"),a=n("openwb-base-alert"),p=n("openwb-base-text-input"),d=n("openwb-base-select-input");return c(),f("div",v,[o(r,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für Shelly ")])),_:1}),o(a,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(" Unterstützt werden theoretisch alle ein- und dreiphasigen Shellys der Generation 1-3. Getestete Modelle sind Shelly 1pm, 1pm plus, Pro Pro 3EM, Plug S. ")])),_:1}),o(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":t.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.ip_address"))},null,8,["model-value"]),o(d,{title:"Vorzeichen invertieren","not-selected":"Bitte auswählen",options:[{value:-1,text:"ja"},{value:1,text:"nein"}],"model-value":t.device.configuration.factor,required:"","onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.factor"))},{help:l(()=>e[4]||(e[4]=[s(" Einige Shelly Modelle liefern die Leistung mit umgedrehtem Vorzeichen. Falls dies der Fall sein sollte, das Vorzeichen invertieren. ")])),_:1},8,["model-value"])])}const $=m(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/shelly/shelly/device.vue"]]);export{$ as default}; diff --git a/web/settings/assets/device-4b8cf1fd.js b/web/settings/assets/device-fc9f3929.js similarity index 88% rename from web/settings/assets/device-4b8cf1fd.js rename to web/settings/assets/device-fc9f3929.js index 3b89c35669..09eda0566f 100644 --- a/web/settings/assets/device-4b8cf1fd.js +++ b/web/settings/assets/device-fc9f3929.js @@ -1 +1 @@ -import{D as b}from"./HardwareInstallation-61d444d7.js";import{_ as v,u as i,k as s,l as g,G as t,E as a,y as r,z as f,x as w,B as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const S={name:"DeviceSungrow",mixins:[b]},N={class:"device-sungrow"};function _(n,e,D,V,H,h){const d=i("openwb-base-heading"),m=i("openwb-base-alert"),p=i("openwb-base-text-input"),l=i("openwb-base-number-input"),u=i("openwb-base-select-input");return s(),g("div",N,[t(d,null,{default:a(()=>e[5]||(e[5]=[r(" Einstellungen für Sungrow ")])),_:1}),t(m,{subtype:"info"},{default:a(()=>e[6]||(e[6]=[r(" Bitte zur Fehlervermeidung die Firmware des Sungrow Wechselrichters und WiNet-S Dongles aktuell halten. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(l,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"]),t(u,{title:"Version",options:[{value:0,text:"SH (Hybrid)"},{value:3,text:"SH (Hybrid) über WiNet-S Dongle"},{value:1,text:"SG (kein Hybrid)"},{value:2,text:"SG (kein Hybrid) über WiNet-S Dongle"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[7]||(e[7]=[r(" Die Variante SH sollte möglichst über den internen LAN-Port genutzt werden (befindet sich am Wechselrichter hinter dem WiNet-S Dongle), da nur hier alle Werte vollständig ausgelesen werden können. Den WiNet-S Dongle zusätzlich ins Heimnetz (per LAN oder WLAN) einbinden, um iSolarCloud nutzen zu können. ")])),_:1},8,["model-value"]),n.device.configuration.version===0?(s(),f(u,{key:0,title:"Firmware",options:[{value:"v1",text:"bis November 2024"},{value:"v2",text:"ab November 2024"}],"model-value":n.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.firmware"))},{help:a(()=>e[8]||(e[8]=[r(' Mit einem Firmwareupdate hat Sungrow ab November 2024 die Auslesung der Speicherleistung verändert. Sollte ab November 2024 selbst oder vom Installateur ein Firmwareupdate gemacht worden sein bitte "ab November 2024" als Firmware wählen. Ohne dieses Update ist "bis November 2024" die richtige Auswahl (Standard).'),w("br",null,null,-1),r(' Für Benutzer mit Installateur-Account: Dies entspricht einer Version des MDSP Moduls größer gleich "SAPPHIRE-H_03011.95.03" ')])),_:1},8,["model-value"])):c("",!0)])}const P=v(S,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/sungrow/device.vue"]]);export{P as default}; +import{D as b}from"./HardwareInstallation-774805b0.js";import{_ as v,u as i,l as s,m as g,G as t,E as a,y as r,z as f,x as w,B as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const S={name:"DeviceSungrow",mixins:[b]},N={class:"device-sungrow"};function _(n,e,D,V,H,h){const d=i("openwb-base-heading"),m=i("openwb-base-alert"),p=i("openwb-base-text-input"),l=i("openwb-base-number-input"),u=i("openwb-base-select-input");return s(),g("div",N,[t(d,null,{default:a(()=>e[5]||(e[5]=[r(" Einstellungen für Sungrow ")])),_:1}),t(m,{subtype:"info"},{default:a(()=>e[6]||(e[6]=[r(" Bitte zur Fehlervermeidung die Firmware des Sungrow Wechselrichters und WiNet-S Dongles aktuell halten. ")])),_:1}),t(p,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.ip_address"))},null,8,["model-value"]),t(l,{title:"Port",required:"",min:1,max:65535,"model-value":n.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.port"))},null,8,["model-value"]),t(l,{title:"Modbus ID",required:"","model-value":n.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},null,8,["model-value"]),t(u,{title:"Version",options:[{value:0,text:"SH (Hybrid)"},{value:3,text:"SH (Hybrid) über WiNet-S Dongle"},{value:1,text:"SG (kein Hybrid)"},{value:2,text:"SG (kein Hybrid) über WiNet-S Dongle"}],"model-value":n.device.configuration.version,required:"","onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.version"))},{help:a(()=>e[7]||(e[7]=[r(" Die Variante SH sollte möglichst über den internen LAN-Port genutzt werden (befindet sich am Wechselrichter hinter dem WiNet-S Dongle), da nur hier alle Werte vollständig ausgelesen werden können. Den WiNet-S Dongle zusätzlich ins Heimnetz (per LAN oder WLAN) einbinden, um iSolarCloud nutzen zu können. ")])),_:1},8,["model-value"]),n.device.configuration.version===0?(s(),f(u,{key:0,title:"Firmware",options:[{value:"v1",text:"bis November 2024"},{value:"v2",text:"ab November 2024"}],"model-value":n.device.configuration.firmware,required:"","onUpdate:modelValue":e[4]||(e[4]=o=>n.updateConfiguration(o,"configuration.firmware"))},{help:a(()=>e[8]||(e[8]=[r(' Mit einem Firmwareupdate hat Sungrow ab November 2024 die Auslesung der Speicherleistung verändert. Sollte ab November 2024 selbst oder vom Installateur ein Firmwareupdate gemacht worden sein bitte "ab November 2024" als Firmware wählen. Ohne dieses Update ist "bis November 2024" die richtige Auswahl (Standard).'),w("br",null,null,-1),r(' Für Benutzer mit Installateur-Account: Dies entspricht einer Version des MDSP Moduls größer gleich "SAPPHIRE-H_03011.95.03" ')])),_:1},8,["model-value"])):c("",!0)])}const P=v(S,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sungrow/sungrow/device.vue"]]);export{P as default}; diff --git a/web/settings/assets/device-fdc63870.js b/web/settings/assets/device-fdc63870.js new file mode 100644 index 0000000000..03c8542968 --- /dev/null +++ b/web/settings/assets/device-fdc63870.js @@ -0,0 +1 @@ +import{D as d}from"./HardwareInstallation-774805b0.js";import{_ as u,u as i,l,m as p,G as t,E as m,y as f}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceKostalSEM",mixins:[d]},v={class:"device-kostal-sem"};function _(o,e,c,g,w,C){const s=i("openwb-base-heading"),r=i("openwb-base-text-input"),a=i("openwb-base-number-input");return l(),p("div",v,[t(s,null,{default:m(()=>e[3]||(e[3]=[f(" Einstellungen für Kostal Smart Energy Meter oder TQ EM 410 ")])),_:1}),t(r,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.device.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(a,{title:"Port",required:"",min:1,max:65535,"model-value":o.device.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(a,{title:"Modbus ID",required:"","model-value":o.device.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=u(b,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_sem/device.vue"]]);export{B as default}; diff --git a/web/settings/assets/displayTheme-b7ce446c.js b/web/settings/assets/displayTheme-b7ce446c.js new file mode 100644 index 0000000000..d039fca6c7 --- /dev/null +++ b/web/settings/assets/displayTheme-b7ce446c.js @@ -0,0 +1 @@ +import{D as d}from"./OptionalComponents-49df496e.js";import{_ as m,u as n,l as i,m as c,G as p,E as s,y as a,z as b,B as g}from"./vendor-0c15df0c.js";import"./index-6ffbdc7e.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeColors",mixins:[d]},f={class:"display-theme-colors"};function h(o,e,y,w,k,v){const r=n("openwb-base-heading"),l=n("openwb-base-button-group-input"),u=n("openwb-base-text-input");return i(),c("div",f,[p(r,null,{default:s(()=>e[2]||(e[2]=[a("Bediensperre")])),_:1}),p(l,{title:"Bedienung sperren","model-value":o.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.lock_changes"))},{help:s(()=>e[3]||(e[3]=[a(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),o.displayTheme.configuration.lock_changes?(i(),b(u,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":o.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.lock_changes_code"))},{help:s(()=>e[4]||(e[4]=[a(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):g("",!0)])}const A=m(_,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/colors/displayTheme.vue"]]);export{A as default}; diff --git a/web/settings/assets/displayTheme-77327b55.js b/web/settings/assets/displayTheme-e8fbe827.js similarity index 93% rename from web/settings/assets/displayTheme-77327b55.js rename to web/settings/assets/displayTheme-e8fbe827.js index 9462c60b37..849dfd5e40 100644 --- a/web/settings/assets/displayTheme-77327b55.js +++ b/web/settings/assets/displayTheme-e8fbe827.js @@ -1 +1 @@ -import{D as g}from"./OptionalComponents-3432e925.js";import{_ as m,u as i,k as d,l as f,G as a,E as l,y as u,z as r,B as b}from"./vendor-06e11d0e.js";import"./index-3434d31b.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeCards",mixins:[g]},c={class:"display-theme-cards"};function v(n,e,V,h,y,w){const s=i("openwb-base-heading"),o=i("openwb-base-button-group-input"),p=i("openwb-base-text-input");return d(),f("div",c,[a(s,null,{default:l(()=>e[13]||(e[13]=[u("Bediensperre")])),_:1}),a(o,{title:"Bedienung sperren","model-value":n.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.lock_changes"))},{help:l(()=>e[14]||(e[14]=[u(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),n.displayTheme.configuration.lock_changes?(d(),r(p,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":n.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.lock_changes_code"))},{help:l(()=>e[15]||(e[15]=[u(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):b("",!0),a(s,null,{default:l(()=>e[16]||(e[16]=[u("Ansichten")])),_:1}),a(o,{title:"Übersicht anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_view"))},null,8,["model-value"]),a(o,{title:"Energiefluss anzeigen","model-value":n.displayTheme.configuration.enable_energy_flow_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.enable_energy_flow_view"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_charge_points_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.enable_charge_points_view"))},null,8,["model-value"]),n.displayTheme.configuration.enable_charge_points_view==!0?(d(),r(o,{key:1,title:"Einfache Ansicht der Ladepunkte","model-value":n.displayTheme.configuration.simple_charge_point_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateConfiguration(t,"configuration.simple_charge_point_view"))},null,8,["model-value"])):b("",!0),a(o,{title:"Status anzeigen","model-value":n.displayTheme.configuration.enable_status_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[6]||(e[6]=t=>n.updateConfiguration(t,"configuration.enable_status_view"))},null,8,["model-value"]),a(s,null,{help:l(()=>e[17]||(e[17]=[u(' Hier kann festgelegt werden, welche Daten in den Ansichten "Übersicht" und "Energiefluss" angezeigt werden. ')])),default:l(()=>[e[18]||(e[18]=u(" Datenauswahl "))]),_:1}),a(o,{title:"EVU anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_grid,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[7]||(e[7]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_grid"))},null,8,["model-value"]),a(o,{title:"Hausverbrauch anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_home_consumption,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[8]||(e[8]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_home_consumption"))},null,8,["model-value"]),a(o,{title:"PV anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_inverter_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[9]||(e[9]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_inverter_sum"))},null,8,["model-value"]),a(o,{title:"Batteriespeicher anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_battery_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[10]||(e[10]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_battery_sum"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_charge_point_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[11]||(e[11]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_charge_point_sum"))},null,8,["model-value"]),a(o,{title:"Fahrzeuge anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_vehicles,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[12]||(e[12]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_vehicles"))},null,8,["model-value"])])}const x=m(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/cards/displayTheme.vue"]]);export{x as default}; +import{D as g}from"./OptionalComponents-49df496e.js";import{_ as m,u as i,l as d,m as f,G as a,E as l,y as u,z as r,B as b}from"./vendor-0c15df0c.js";import"./index-6ffbdc7e.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DisplayThemeCards",mixins:[g]},c={class:"display-theme-cards"};function v(n,e,V,h,y,w){const s=i("openwb-base-heading"),o=i("openwb-base-button-group-input"),p=i("openwb-base-text-input");return d(),f("div",c,[a(s,null,{default:l(()=>e[13]||(e[13]=[u("Bediensperre")])),_:1}),a(o,{title:"Bedienung sperren","model-value":n.displayTheme.configuration.lock_changes,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.lock_changes"))},{help:l(()=>e[14]||(e[14]=[u(' Die Bedienung wird automatisch nach der eingestellten Ausschaltzeit (siehe "Display Standby") wieder gesperrt. ')])),_:1},8,["model-value"]),n.displayTheme.configuration.lock_changes?(d(),r(p,{key:0,title:"PIN zur Freigabe",subtype:"password",required:"",pattern:"[0-9]{4,10}","model-value":n.displayTheme.configuration.lock_changes_code,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.lock_changes_code"))},{help:l(()=>e[15]||(e[15]=[u(" Der PIN muss aus 4 bis 10 Zahlen bestehen. ")])),_:1},8,["model-value"])):b("",!0),a(s,null,{default:l(()=>e[16]||(e[16]=[u("Ansichten")])),_:1}),a(o,{title:"Übersicht anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_view"))},null,8,["model-value"]),a(o,{title:"Energiefluss anzeigen","model-value":n.displayTheme.configuration.enable_energy_flow_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.enable_energy_flow_view"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_charge_points_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[4]||(e[4]=t=>n.updateConfiguration(t,"configuration.enable_charge_points_view"))},null,8,["model-value"]),n.displayTheme.configuration.enable_charge_points_view==!0?(d(),r(o,{key:1,title:"Einfache Ansicht der Ladepunkte","model-value":n.displayTheme.configuration.simple_charge_point_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[5]||(e[5]=t=>n.updateConfiguration(t,"configuration.simple_charge_point_view"))},null,8,["model-value"])):b("",!0),a(o,{title:"Status anzeigen","model-value":n.displayTheme.configuration.enable_status_view,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[6]||(e[6]=t=>n.updateConfiguration(t,"configuration.enable_status_view"))},null,8,["model-value"]),a(s,null,{help:l(()=>e[17]||(e[17]=[u(' Hier kann festgelegt werden, welche Daten in den Ansichten "Übersicht" und "Energiefluss" angezeigt werden. ')])),default:l(()=>[e[18]||(e[18]=u(" Datenauswahl "))]),_:1}),a(o,{title:"EVU anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_grid,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[7]||(e[7]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_grid"))},null,8,["model-value"]),a(o,{title:"Hausverbrauch anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_home_consumption,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[8]||(e[8]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_home_consumption"))},null,8,["model-value"]),a(o,{title:"PV anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_inverter_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[9]||(e[9]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_inverter_sum"))},null,8,["model-value"]),a(o,{title:"Batteriespeicher anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_battery_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[10]||(e[10]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_battery_sum"))},null,8,["model-value"]),a(o,{title:"Ladepunkte anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_charge_point_sum,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[11]||(e[11]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_charge_point_sum"))},null,8,["model-value"]),a(o,{title:"Fahrzeuge anzeigen","model-value":n.displayTheme.configuration.enable_dashboard_card_vehicles,buttons:[{buttonValue:!1,text:"Aus",class:"btn-outline-danger"},{buttonValue:!0,text:"An",class:"btn-outline-success"}],"onUpdate:modelValue":e[12]||(e[12]=t=>n.updateConfiguration(t,"configuration.enable_dashboard_card_vehicles"))},null,8,["model-value"])])}const x=m(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/display_themes/cards/displayTheme.vue"]]);export{x as default}; diff --git a/web/settings/assets/electricity_tariff-a29b5ab0.js b/web/settings/assets/electricity_tariff-25c95a91.js similarity index 58% rename from web/settings/assets/electricity_tariff-a29b5ab0.js rename to web/settings/assets/electricity_tariff-25c95a91.js index 07b6981982..4a26ef3d8c 100644 --- a/web/settings/assets/electricity_tariff-a29b5ab0.js +++ b/web/settings/assets/electricity_tariff-25c95a91.js @@ -1 +1 @@ -import{E as o}from"./GeneralChargeConfig-381b6e1a.js";import{_ as a,u as n,k as s,l as c,G as l,E as p,y as f}from"./vendor-06e11d0e.js";import"./index-3434d31b.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffAwattar",mixins:[o]},u={class:"electricity-tariff-awattar"};function m(t,e,_,w,y,b){const i=n("openwb-base-select-input");return s(),c("div",u,[l(i,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.country"))},{help:p(()=>e[1]||(e[1]=[f(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ")])),_:1},8,["model-value"])])}const $=a(d,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/awattar/electricity_tariff.vue"]]);export{$ as default}; +import{E as o}from"./GeneralChargeConfig-efbc8743.js";import{_ as a,u as n,l as s,m as c,G as l,E as p,y as f}from"./vendor-0c15df0c.js";import"./index-6ffbdc7e.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffAwattar",mixins:[o]},u={class:"electricity-tariff-awattar"};function m(t,e,_,w,y,b){const i=n("openwb-base-select-input");return s(),c("div",u,[l(i,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"de",text:"Deutschland"},{value:"at",text:"Österreich"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=r=>t.updateConfiguration(r,"configuration.country"))},{help:p(()=>e[1]||(e[1]=[f(" Es werden die abgefragten Börsenpreise verwendet, die aWATTar bereitstellt. aWATTar-Gebühren oder Steuern werden nicht berücksichtigt. ")])),_:1},8,["model-value"])])}const k=a(d,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/awattar/electricity_tariff.vue"]]);export{k as default}; diff --git a/web/settings/assets/electricity_tariff-4c70986d.js b/web/settings/assets/electricity_tariff-52f92b6b.js similarity index 67% rename from web/settings/assets/electricity_tariff-4c70986d.js rename to web/settings/assets/electricity_tariff-52f92b6b.js index 199ba98a9b..2b667c5562 100644 --- a/web/settings/assets/electricity_tariff-4c70986d.js +++ b/web/settings/assets/electricity_tariff-52f92b6b.js @@ -1 +1 @@ -import{E as l}from"./GeneralChargeConfig-381b6e1a.js";import{_ as s,u as r,k as c,l as p,G as o,E as u,y as f}from"./vendor-06e11d0e.js";import"./index-3434d31b.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffVoltego",mixins:[l]},m={class:"electricity-tariff-voltego"};function _(t,e,g,b,y,v){const a=r("openwb-base-alert"),n=r("openwb-base-text-input");return c(),p("div",m,[o(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Voltego. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Voltego-Account abfragen lassen! ")])),_:1}),o(n,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),o(n,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const D=s(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/voltego/electricity_tariff.vue"]]);export{D as default}; +import{E as l}from"./GeneralChargeConfig-efbc8743.js";import{_ as s,u as r,l as c,m as p,G as o,E as u,y as f}from"./vendor-0c15df0c.js";import"./index-6ffbdc7e.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffVoltego",mixins:[l]},m={class:"electricity-tariff-voltego"};function _(t,e,g,b,y,v){const a=r("openwb-base-alert"),n=r("openwb-base-text-input");return c(),p("div",m,[o(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Voltego. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Voltego-Account abfragen lassen! ")])),_:1}),o(n,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),o(n,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const I=s(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/voltego/electricity_tariff.vue"]]);export{I as default}; diff --git a/web/settings/assets/electricity_tariff-129312d5.js b/web/settings/assets/electricity_tariff-7404ac8d.js similarity index 68% rename from web/settings/assets/electricity_tariff-129312d5.js rename to web/settings/assets/electricity_tariff-7404ac8d.js index ed50600aa7..61aea2c55a 100644 --- a/web/settings/assets/electricity_tariff-129312d5.js +++ b/web/settings/assets/electricity_tariff-7404ac8d.js @@ -1 +1 @@ -import{E as s}from"./GeneralChargeConfig-381b6e1a.js";import{_ as l,u as r,k as c,l as p,G as n,E as u,y as f}from"./vendor-06e11d0e.js";import"./index-3434d31b.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffRabot",mixins:[s]},m={class:"electricity-tariff-rabot"};function _(t,e,b,y,g,v){const a=r("openwb-base-alert"),o=r("openwb-base-text-input");return c(),p("div",m,[n(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Rabot. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Rabot-Account abfragen lassen! ")])),_:1}),n(o,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),n(o,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const I=l(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/rabot/electricity_tariff.vue"]]);export{I as default}; +import{E as s}from"./GeneralChargeConfig-efbc8743.js";import{_ as l,u as r,l as c,m as p,G as n,E as u,y as f}from"./vendor-0c15df0c.js";import"./index-6ffbdc7e.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"ElectricityTariffRabot",mixins:[s]},m={class:"electricity-tariff-rabot"};function _(t,e,b,y,g,v){const a=r("openwb-base-alert"),o=r("openwb-base-text-input");return c(),p("div",m,[n(a,{subtype:"info"},{default:u(()=>e[2]||(e[2]=[f(" Ihre persönlichen Zugangsdaten (Client-ID und Client-Secret) erhalten Sie direkt von Rabot. Behandeln Sie diese Daten wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Rabot-Account abfragen lassen! ")])),_:1}),n(o,{title:"Client-ID",subtype:"user",required:"","model-value":t.electricityTariff.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.client_id"))},null,8,["model-value"]),n(o,{title:"Client-Secret",subtype:"password",required:"","model-value":t.electricityTariff.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.client_secret"))},null,8,["model-value"])])}const S=l(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/rabot/electricity_tariff.vue"]]);export{S as default}; diff --git a/web/settings/assets/electricity_tariff-f5c13e91.js b/web/settings/assets/electricity_tariff-97cad0ee.js similarity index 88% rename from web/settings/assets/electricity_tariff-f5c13e91.js rename to web/settings/assets/electricity_tariff-97cad0ee.js index 1519d7cf05..a5314aa72c 100644 --- a/web/settings/assets/electricity_tariff-f5c13e91.js +++ b/web/settings/assets/electricity_tariff-97cad0ee.js @@ -1 +1 @@ -import{E as m}from"./GeneralChargeConfig-381b6e1a.js";import{_ as g,u as s,k as h,l as _,G as n,E as y,y as l,x as T}from"./vendor-06e11d0e.js";import"./index-3434d31b.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const k={name:"ElectricityTariffTibber",mixins:[m],data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{async getTibberHomeList(){if(this.electricityTariff.configuration.token===null)return;const i='{ "query": "{viewer {homes{id address{address1 address2 address3 postalCode city country}}}}" }';try{const e=await this.axios.post(this.tibberAPI,i,{headers:{Authorization:"Bearer "+this.electricityTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=e.data.data.viewer.homes.map(t=>{let r=t.address.address1;return t.address.address2&&(r=r+", "+t.address.address2),t.address.address3&&(r=r+", "+t.address.address3),r=r+`, ${t.address.postalCode} ${t.address.city}, ${t.address.country}`,{value:t.id,text:r}}),this.electricityTariff.configuration.home_id||this.updateConfiguration(this.tibberHomeList[0].value,"configuration.home_id"),this.$root.postClientMessage("Home IDs erfolgreich abgerufen.","success")}catch(e){console.error(e),this.$root.postClientMessage("Beim Abfragen der Tibber API ist ein Fehler aufgetreten!
"+e+"
","danger")}}}},v={class:"electricity-tariff-tibber"};function w(i,e,t,r,u,c){var d;const b=s("openwb-base-alert"),a=s("openwb-base-text-input"),p=s("openwb-base-button-input"),f=s("openwb-base-select-input");return h(),_("div",v,[n(b,{subtype:"info"},{default:y(()=>e[3]||(e[3]=[l(" Ihren persönlichen Tibber-Token erhalten Sie über die "),T("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1),l(" . Behandeln Sie Ihren Token wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Tibber-Account abfragen lassen! Die Home-ID können Sie (wenn bekannt) in das Eingabefeld selbst eintragen oder nach Eingabe Ihres Token durch Klick auf den Button von der openWB ermitteln lassen. Unerlaubte Zeichen werden aus dem Token und der Home-ID automatisch gelöscht. ")])),_:1}),n(a,{ref:"tokenInput",title:"Token",required:"","model-value":i.electricityTariff.configuration.token,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.token"))},null,8,["model-value"]),n(p,{title:"Home-IDs abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:!((d=i.electricityTariff.configuration.token)!=null&&d.length),onButtonClicked:c.getTibberHomeList},null,8,["disabled","onButtonClicked"]),n(f,{title:"Verfügbare Home-IDs",options:u.tibberHomeList,"model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["options","model-value"]),n(a,{title:"Home-ID",required:"","model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["model-value"])])}const A=g(k,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/tibber/electricity_tariff.vue"]]);export{A as default}; +import{E as m}from"./GeneralChargeConfig-efbc8743.js";import{_ as g,u as s,l as h,m as _,G as n,E as y,y as l,x as T}from"./vendor-0c15df0c.js";import"./index-6ffbdc7e.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const k={name:"ElectricityTariffTibber",mixins:[m],data(){return{tibberAPI:"https://api.tibber.com/v1-beta/gql",tibberHomeList:[]}},methods:{async getTibberHomeList(){if(this.electricityTariff.configuration.token===null)return;const i='{ "query": "{viewer {homes{id address{address1 address2 address3 postalCode city country}}}}" }';try{const e=await this.axios.post(this.tibberAPI,i,{headers:{Authorization:"Bearer "+this.electricityTariff.configuration.token,"Content-Type":"application/json"}});this.tibberHomeList=e.data.data.viewer.homes.map(t=>{let r=t.address.address1;return t.address.address2&&(r=r+", "+t.address.address2),t.address.address3&&(r=r+", "+t.address.address3),r=r+`, ${t.address.postalCode} ${t.address.city}, ${t.address.country}`,{value:t.id,text:r}}),this.electricityTariff.configuration.home_id||this.updateConfiguration(this.tibberHomeList[0].value,"configuration.home_id"),this.$root.postClientMessage("Home IDs erfolgreich abgerufen.","success")}catch(e){console.error(e),this.$root.postClientMessage("Beim Abfragen der Tibber API ist ein Fehler aufgetreten!
"+e+"
","danger")}}}},v={class:"electricity-tariff-tibber"};function w(i,e,t,r,u,c){var d;const b=s("openwb-base-alert"),a=s("openwb-base-text-input"),p=s("openwb-base-button-input"),f=s("openwb-base-select-input");return h(),_("div",v,[n(b,{subtype:"info"},{default:y(()=>e[3]||(e[3]=[l(" Ihren persönlichen Tibber-Token erhalten Sie über die "),T("a",{href:"https://developer.tibber.com/explorer",target:"_blank",rel:"noopener noreferrer"}," Tibber-Developer-Seite ",-1),l(" . Behandeln Sie Ihren Token wie ein Passwort, da sich darüber auch persönliche Daten aus Ihrem Tibber-Account abfragen lassen! Die Home-ID können Sie (wenn bekannt) in das Eingabefeld selbst eintragen oder nach Eingabe Ihres Token durch Klick auf den Button von der openWB ermitteln lassen. Unerlaubte Zeichen werden aus dem Token und der Home-ID automatisch gelöscht. ")])),_:1}),n(a,{ref:"tokenInput",title:"Token",required:"","model-value":i.electricityTariff.configuration.token,"onUpdate:modelValue":e[0]||(e[0]=o=>i.updateConfiguration(o,"configuration.token"))},null,8,["model-value"]),n(p,{title:"Home-IDs abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:!((d=i.electricityTariff.configuration.token)!=null&&d.length),onButtonClicked:c.getTibberHomeList},null,8,["disabled","onButtonClicked"]),n(f,{title:"Verfügbare Home-IDs",options:u.tibberHomeList,"model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[1]||(e[1]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["options","model-value"]),n(a,{title:"Home-ID",required:"","model-value":i.electricityTariff.configuration.home_id,"onUpdate:modelValue":e[2]||(e[2]=o=>i.updateConfiguration(o,"configuration.home_id"))},null,8,["model-value"])])}const A=g(k,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/tibber/electricity_tariff.vue"]]);export{A as default}; diff --git a/web/settings/assets/electricity_tariff-fc55453e.js b/web/settings/assets/electricity_tariff-c90db892.js similarity index 82% rename from web/settings/assets/electricity_tariff-fc55453e.js rename to web/settings/assets/electricity_tariff-c90db892.js index d443af20a3..e488320aa2 100644 --- a/web/settings/assets/electricity_tariff-fc55453e.js +++ b/web/settings/assets/electricity_tariff-c90db892.js @@ -1 +1 @@ -import{E as c}from"./GeneralChargeConfig-381b6e1a.js";import{_ as p,u as r,k as d,l as f,G as i,E as o,y as s,x as m}from"./vendor-06e11d0e.js";import"./index-3434d31b.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"ElectricityTariffEnergyCharts",mixins:[c]},h={class:"electricity-tariff-energycharts"};function b(t,e,y,_,w,v){const a=r("openwb-base-alert"),l=r("openwb-base-select-input"),u=r("openwb-base-number-input");return d(),f("div",h,[i(a,{subtype:"info"},{default:o(()=>e[2]||(e[2]=[s(" Börsenstrompreise von Energy Charts (energy-charts.info)"),m("br",null,null,-1),s(" Die Rohdaten werden von Wissenschaftlern des Fraunhofer-Instituts für Solare Energiesysteme ISE aus zahlreichen Quellen stündlich oder täglich abgerufen und für die Darstellung aufbereitet. ")])),_:1}),i(l,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"DE-LU",text:"Deutschland"},{value:"AT",text:"Österreich"},{value:"CH",text:"Schweiz"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.country"))},null,8,["model-value"]),i(u,{title:"Aufschlag zum Börsenstrompreis",min:0,step:.001,precision:3,required:"",unit:"ct/kWh","model-value":t.electricityTariff.configuration.surcharge,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(parseFloat(n.toFixed(3)),"configuration.surcharge"))},{help:o(()=>e[3]||(e[3]=[s(" Die Auswahl (Energy-Charts) kann für alle Stromanbieter ausgewählt werden, die die Börsenstrompreise in einem variablen/dynamischen Tarif an die Kunden weitergeben. Das Modul soll es ermöglichen, dass zu tagesaktuellen Strompreisen unter Berücksichtigung eines Aufschlags zu günstigen Zeiten automatisch geladen werden kann und somit die Preisschwankungen an der Börse optimal ausgenutzt werden. ")])),_:1},8,["model-value"])])}const V=p(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/energycharts/electricity_tariff.vue"]]);export{V as default}; +import{E as c}from"./GeneralChargeConfig-efbc8743.js";import{_ as p,u as r,l as d,m as f,G as i,E as o,y as s,x as m}from"./vendor-0c15df0c.js";import"./index-6ffbdc7e.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"ElectricityTariffEnergyCharts",mixins:[c]},h={class:"electricity-tariff-energycharts"};function b(t,e,y,_,w,v){const a=r("openwb-base-alert"),l=r("openwb-base-select-input"),u=r("openwb-base-number-input");return d(),f("div",h,[i(a,{subtype:"info"},{default:o(()=>e[2]||(e[2]=[s(" Börsenstrompreise von Energy Charts (energy-charts.info)"),m("br",null,null,-1),s(" Die Rohdaten werden von Wissenschaftlern des Fraunhofer-Instituts für Solare Energiesysteme ISE aus zahlreichen Quellen stündlich oder täglich abgerufen und für die Darstellung aufbereitet. ")])),_:1}),i(l,{title:"Land","not-selected":"Bitte auswählen",options:[{value:"DE-LU",text:"Deutschland"},{value:"AT",text:"Österreich"},{value:"CH",text:"Schweiz"}],"model-value":t.electricityTariff.configuration.country,"onUpdate:modelValue":e[0]||(e[0]=n=>t.updateConfiguration(n,"configuration.country"))},null,8,["model-value"]),i(u,{title:"Aufschlag zum Börsenstrompreis",min:0,step:.001,precision:3,required:"",unit:"ct/kWh","model-value":t.electricityTariff.configuration.surcharge,"onUpdate:modelValue":e[1]||(e[1]=n=>t.updateConfiguration(parseFloat(n.toFixed(3)),"configuration.surcharge"))},{help:o(()=>e[3]||(e[3]=[s(" Die Auswahl (Energy-Charts) kann für alle Stromanbieter ausgewählt werden, die die Börsenstrompreise in einem variablen/dynamischen Tarif an die Kunden weitergeben. Das Modul soll es ermöglichen, dass zu tagesaktuellen Strompreisen unter Berücksichtigung eines Aufschlags zu günstigen Zeiten automatisch geladen werden kann und somit die Preisschwankungen an der Börse optimal ausgenutzt werden. ")])),_:1},8,["model-value"])])}const V=p(g,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/electricity_tariffs/energycharts/electricity_tariff.vue"]]);export{V as default}; diff --git a/web/settings/assets/external_inverter-3ebf65eb.js b/web/settings/assets/external_inverter-54ff0a87.js similarity index 82% rename from web/settings/assets/external_inverter-3ebf65eb.js rename to web/settings/assets/external_inverter-54ff0a87.js index 35ebdfeac5..2acde47e69 100644 --- a/web/settings/assets/external_inverter-3ebf65eb.js +++ b/web/settings/assets/external_inverter-54ff0a87.js @@ -1 +1 @@ -import{C as m}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as i,k as g,l as f,G as o,E as r,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolaredgeExternalInverter",mixins:[m]},c={class:"device-solaredge-external-inverter"};function v(n,e,_,w,x,E){const l=i("openwb-base-heading"),u=i("openwb-base-alert"),a=i("openwb-base-number-input"),d=i("openwb-base-select-input");return g(),f("div",c,[o(l,null,{default:r(()=>e[3]||(e[3]=[s(" Einstellungen für SolarEdge externen Wechselrichter ")])),_:1}),o(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[s(' Diese Komponente nur konfigurieren, wenn ein weiteres Solaredge SmartMeter verbaut ist, welches z.B. die Leistung einer vorhandenen Bestands-PV-Anlage erfasst. Dieses zusätzliche SmartMeter muss dann als "Zähler 2" / "Position 2" im Wechselrichter-Konfigurationsmenü konfiguriert sein. ')])),_:1}),o(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),o(a,{title:"SolarEdge-Meter-ID","model-value":n.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"]),o(d,{title:"Leistung invertieren","not-selected":"Bitte auswählen",options:[{value:1,text:"nein"},{value:-1,text:"ja"}],"model-value":n.component.configuration.factor,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.factor"))},{help:r(()=>e[5]||(e[5]=[s(" Einige externe SolarEdge Wechselrichter liefern die Leistung mit falschem Vorzeichen. In diesem Fall ist die Leistung zu invertieren. ")])),_:1},8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/external_inverter.vue"]]);export{L as default}; +import{C as m}from"./HardwareInstallation-774805b0.js";import{_ as p,u as i,l as g,m as f,G as o,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceSolaredgeExternalInverter",mixins:[m]},c={class:"device-solaredge-external-inverter"};function v(n,e,_,w,x,E){const l=i("openwb-base-heading"),u=i("openwb-base-alert"),a=i("openwb-base-number-input"),d=i("openwb-base-select-input");return g(),f("div",c,[o(l,null,{default:r(()=>e[3]||(e[3]=[s(" Einstellungen für SolarEdge externen Wechselrichter ")])),_:1}),o(u,{subtype:"info"},{default:r(()=>e[4]||(e[4]=[s(' Diese Komponente nur konfigurieren, wenn ein weiteres Solaredge SmartMeter verbaut ist, welches z.B. die Leistung einer vorhandenen Bestands-PV-Anlage erfasst. Dieses zusätzliche SmartMeter muss dann als "Zähler 2" / "Position 2" im Wechselrichter-Konfigurationsmenü konfiguriert sein. ')])),_:1}),o(a,{title:"SolarEdge-Geräte-ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.modbus_id"))},null,8,["model-value"]),o(a,{title:"SolarEdge-Meter-ID","model-value":n.component.configuration.meter_id,min:"1",max:"255",required:"","onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.meter_id"))},null,8,["model-value"]),o(d,{title:"Leistung invertieren","not-selected":"Bitte auswählen",options:[{value:1,text:"nein"},{value:-1,text:"ja"}],"model-value":n.component.configuration.factor,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.factor"))},{help:r(()=>e[5]||(e[5]=[s(" Einige externe SolarEdge Wechselrichter liefern die Leistung mit falschem Vorzeichen. In diesem Fall ist die Leistung zu invertieren. ")])),_:1},8,["model-value"])])}const L=p(b,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/external_inverter.vue"]]);export{L as default}; diff --git a/web/settings/assets/index-3434d31b.js b/web/settings/assets/index-3434d31b.js deleted file mode 100644 index bd6465539c..0000000000 --- a/web/settings/assets/index-3434d31b.js +++ /dev/null @@ -1 +0,0 @@ -import{_ as y,k as l,l as u,m as g,q as O,u as b,x as a,y as p,z as h,A as E,B as f,D as V,E as c,F as v,G as m,I as B,J as T,K as S,L as X,M as q,N as I,O as ee,P as te,Q as ne,T as F,R as se,S as R,U as oe,V as ae,W as ie,X as le,Y as re,Z as de,$ as ue}from"./vendor-06e11d0e.js";import{l as C,f as H,a as U,F as $,b as ce,c as pe,d as z,e as me,g as L,h as fe,i as _e,j as ge,k as be,m as he,n as ve,o as ye,p as we,q as ke,r as G,s as Se,t as Be,u as Oe,v as Ce,w as J,x as $e,y as Te,z as Ie,A as xe,B as Me,C as Ve,D as Ae,E as Pe,G as qe,H as De,I as Ee,J as Le}from"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import{p as je,a as We}from"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./vendor-jquery-9fc083b4.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))d(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&d(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function d(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const Re={name:"OpenwbAlert",props:{subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}}};function Ne(t,e,n,d,i,s){return l(),u("div",{class:O(["card-text alert","alert-"+n.subtype])},[g(t.$slots,"default",{},void 0,!0)],2)}const Fe=y(Re,[["render",Ne],["__scopeId","data-v-055c15aa"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),He=Object.freeze(Object.defineProperty({__proto__:null,default:Fe},Symbol.toStringTag,{value:"Module"}));C.add(H,U);const Ue={name:"OpenwbBaseSettingElement",components:{FontAwesomeIcon:$},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},ze={class:"form-row mb-1"},Ge={class:"col-md-4 col-form-label"},Je={class:"col-md-8"},Ke={class:"form-row"},Qe={class:"form-row"},Ye={key:0,class:"form-text alert alert-info my-1 small flex-fill"};function Ze(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",ze,[a("label",Ge,[g(t.$slots,"title",{},()=>[e[0]||(e[0]=p("*TITLE*"))]),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable ml-1",i.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):f("",!0)]),a("div",Je,[a("div",Ke,[g(t.$slots,"default",{},()=>[e[1]||(e[1]=p("*ELEMENT MISSING*"))])]),a("div",Qe,[i.showHelp?(l(),u("span",Ye,[g(t.$slots,"help")])):f("",!0)])])])}const M=y(Ue,[["render",Ze],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSettingElement.vue"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"}));C.add(ce,pe,z,me);const et={name:"OpenwbArrayInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."}},emits:["update:modelValue"],data(){return{newTag:"",showHelp:!1}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},newTagValid:{get(){return this.newTag.length>0&&!this.value.includes(this.newTag)}}},methods:{addTag(){if(this.newTagValid){const t=[...this.value,this.newTag].sort();this.value=t,this.newTag=""}this.$refs.tagInput.focus()},removeTag(t){let e=[...this.value];e.splice(t,1),this.value=e}}},tt={class:"w-100"},nt={class:"input-group"},st={class:"input-group-prepend"},ot={class:"input-group-text"},at={class:"input-group-append"},it={class:"tagList mt-1 w-100"},lt={key:0,class:"noTag"};function rt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",tt,[a("div",nt,[a("div",st,[a("div",ot,[g(t.$slots,"input-prefix",{},()=>[m(o,{"fixed-width":"",icon:["fas","tag"]})],!0)])]),B(a("input",S({ref:"tagInput","onUpdate:modelValue":e[0]||(e[0]=r=>i.newTag=r),type:"text",class:"form-control"},t.$attrs,{onKeyup:e[1]||(e[1]=X((...r)=>s.addTag&&s.addTag(...r),["enter"]))}),null,16),[[T,i.newTag]]),a("div",at,[a("div",{class:O(["input-group-text",s.newTagValid?"bg-success clickable":"not-clickable"]),onClick:e[2]||(e[2]=(...r)=>s.addTag&&s.addTag(...r))},[g(t.$slots,"input-add",{},()=>[m(o,{"fixed-width":"",icon:["fas","plus"]})],!0)],2)])])]),a("div",it,[s.value.length==0?(l(),u("span",lt,[m(o,{icon:["fas","info-circle"]}),p(" "+v(n.noElementsMessage),1)])):f("",!0),(l(!0),u(I,null,q(s.value,(r,k)=>(l(),u("span",{key:k,class:"tag"},[g(t.$slots,"element-prefix",{},()=>[m(o,{icon:["fas","tag"]})],!0),p(" "+v(r)+" ",1),m(o,{class:"clickable remove-element",icon:["fas","times-circle"],onClick:x=>s.removeTag(k)},null,8,["onClick"])]))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const dt=y(et,[["render",rt],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),ut=Object.freeze(Object.defineProperty({__proto__:null,default:dt},Symbol.toStringTag,{value:"Module"}));const ct={name:"OpenwbAvatar"},pt={class:"avatar"};function mt(t,e,n,d,i,s){return l(),u("div",pt,[g(t.$slots,"default",{},()=>[e[0]||(e[0]=p("?"))],!0)])}const ft=y(ct,[["render",mt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),_t=Object.freeze(Object.defineProperty({__proto__:null,default:ft},Symbol.toStringTag,{value:"Module"}));C.add(L);const gt={name:"OpenwbButtonGroupInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Boolean],default:void 0},buttons:{type:Array,required:!0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},bt={class:"btn-group btn-block btn-group-toggle"},ht=["value"];function vt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",bt,[(l(!0),u(I,null,q(n.buttons,r=>(l(),u("label",{key:r.value,class:O(["btn",[s.value==r.buttonValue?"active":"",r.class?r.class:"btn-outline-info"]])},[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=k=>s.value=k),type:"radio",value:r.buttonValue,ref_for:!0},t.$attrs),null,16,ht),[[ee,s.value]]),g(t.$slots,"label-"+r.buttonValue,{},()=>[p(v(r.text),1)]),m(o,{"fixed-width":"",icon:["fas","check"],style:te([s.value==r.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])],2))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const yt=y(gt,[["render",vt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),wt=Object.freeze(Object.defineProperty({__proto__:null,default:yt},Symbol.toStringTag,{value:"Module"}));const kt={name:"OpenwbClickButton",props:{title:{type:String,required:!1,default:""}},emits:["buttonClicked"],methods:{click(t){this.$emit("buttonClicked",t)}}};function St(t,e,n,d,i,s){return l(),u("button",{type:"button",class:"btn btn-block",onClick:e[0]||(e[0]=E((...o)=>s.click&&s.click(...o),["prevent"]))},[g(t.$slots,"default",{},()=>[p(v(n.title),1)],!0)])}const K=y(kt,[["render",St],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),Bt=Object.freeze(Object.defineProperty({__proto__:null,default:K},Symbol.toStringTag,{value:"Module"})),Ot={name:"OpenwbButtonInput",components:{OpenwbBaseSettingElement:M,OpenwbBaseClickButton:K},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},buttonText:{type:String,required:!1,default:void 0},disabled:{type:Boolean,default:!1},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}},emits:["buttonClicked"],methods:{handleClick(t){this.$emit("buttonClicked",t)}}};function Ct(t,e,n,d,i,s){const o=b("openwb-base-click-button"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[m(o,S({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},t.$attrs,{onButtonClicked:s.handleClick}),{default:c(()=>[p(v(n.buttonText),1)]),_:1},16,["class","disabled","onButtonClicked"])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const $t=y(Ot,[["render",Ct],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),Tt=Object.freeze(Object.defineProperty({__proto__:null,default:$t},Symbol.toStringTag,{value:"Module"}));C.add(fe,_e);const It={name:"OpenwbCard",components:{FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,default:void 0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"secondary"},bodyBg:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"light"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed)}}},xt={class:"form-group mb-0"},Mt={class:"form-row vaRow mb-0 py-2"},Vt={class:"col"},At={class:"card-actions ml-4"},Pt={key:0,class:"card-actions mr-4"},qt={key:2,class:"card-footer"};function Dt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",{class:O(["card","border-"+n.subtype])},[n.title!==void 0||t.$slots.header?(l(),u("div",{key:0,class:O(["card-header py-1","bg-"+n.subtype]),onClick:e[0]||(e[0]=(..._)=>s.toggleBody&&s.toggleBody(..._))},[a("div",xt,[a("div",Mt,[a("div",Vt,[g(t.$slots,"header",{collapsed:i.isCollapsed},()=>[p(v(n.title),1)])])])]),a("span",At,[t.$slots.actions?(l(),u("span",Pt,[g(t.$slots,"actions",{collapsed:i.isCollapsed})])):f("",!0),n.collapsible?(l(),h(o,{key:1,"fixed-width":"",icon:i.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):f("",!0)])],2)):f("",!0),i.isCollapsed===!1?(l(),u("div",S({key:1,class:["card-body",[n.title==null&&!t.$slots.header?"border-radius-top-inherit":"",t.$slots.footer?"":"border-radius-bottom-inherit","bg-"+n.bodyBg]]},t.$attrs),[g(t.$slots,"default")],16)):f("",!0),t.$slots.footer&&i.isCollapsed===!1?(l(),u("div",qt,[g(t.$slots,"footer")])):f("",!0)],2)}const Et=y(It,[["render",Dt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),Lt=Object.freeze(Object.defineProperty({__proto__:null,default:Et},Symbol.toStringTag,{value:"Module"})),jt={name:"OpenwbCheckboxInput",components:{OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Boolean}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},Wt={class:"col-md-8"};function Rt(t,e,n,d,i,s){const o=b("openwb-base-setting-element");return l(),h(o,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",Wt,[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=_=>s.value=_),class:"form-control",type:"checkbox"},t.$attrs),null,16),[[ne,s.value]])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Nt=y(jt,[["render",Rt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),Ft=Object.freeze(Object.defineProperty({__proto__:null,default:Nt},Symbol.toStringTag,{value:"Module"}));C.add(ge,be);const Ht={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:$},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{clipboardApiAvailable:navigator.clipboard!=null,isCopied:!1}},methods:{click(){if(console.debug(this.$refs["slot-wrapper"].innerText),this.clipboardApiAvailable)navigator.clipboard.writeText(this.$refs["slot-wrapper"].innerText).then(()=>{this.isCopied=!0},()=>{console.error("copy to clipboard failed")});else{if(console.debug("clipboard api not supported/enabled, fallback to select"),window.getSelection){console.debug("using 'window.getSelection'");const t=window.getSelection(),e=document.createRange();e.selectNodeContents(this.$refs["slot-wrapper"]),t.removeAllRanges(),t.addRange(e);return}if(document.body.createTextRange){console.debug("using 'document.body.createTextRange'");const t=document.body.createTextRange();t.moveToElementText(this.$refs["slot-wrapper"]),t.select()}else console.warn("could not select text, unsupported browser")}}}},Ut=["title"];function zt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("span",{ref:"slot-wrapper",title:n.tooltip,class:"copy-me",onClick:e[0]||(e[0]=(..._)=>s.click&&s.click(..._))},[g(t.$slots,"default",{},void 0,!0),m(o,{"fixed-width":"",icon:i.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])],8,Ut)}const Gt=y(Ht,[["render",zt],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),Jt=Object.freeze(Object.defineProperty({__proto__:null,default:Gt},Symbol.toStringTag,{value:"Module"}));C.add(H,U,L);const Kt={name:"OpenwbHeading",components:{FontAwesomeIcon:$},inheritAttrs:!1,data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},Qt={class:"heading-text"},Yt={key:0,class:"actions"},Zt={class:""},Xt={key:0,class:"form-row alert alert-info small flex-fill"};function en(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u(I,null,[a("div",S({class:"card-text card-text-heading"},t.$attrs),[a("div",Qt,[g(t.$slots,"default",{},void 0,!0),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable",i.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):f("",!0)]),t.$slots.actions?(l(),u("span",Yt,[g(t.$slots,"actions",{},void 0,!0)])):f("",!0)],16),a("div",Zt,[i.showHelp?(l(),u("span",Xt,[g(t.$slots,"help",{},void 0,!0)])):f("",!0)])],64)}const tn=y(Kt,[["render",en],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),nn=Object.freeze(Object.defineProperty({__proto__:null,default:tn},Symbol.toStringTag,{value:"Module"})),sn={name:"OpenwbModalDialog",props:{title:{type:String,required:!1,default:""},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},buttons:{type:Array,default:void 0},footerAlignment:{type:String,validator:function(t){return["around","between","center","end","start"].indexOf(t)!==-1},default:"end"},preventClose:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},emits:["modal-result"],computed:{myButtons(){var t=[];return this.buttons!==void 0&&(t=this.buttons),this.preventClose||t.push({text:"Schließen",event:"close"}),t}},methods:{handleClick(t){t.stopPropagation();let e=t.target.getAttribute("data-event");e===null&&(e="close"),(e!="close"||!this.preventClose)&&this.$emit("modal-result",e)}}},on={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},an={class:"modal-content"},ln={class:"modal-title"},rn={class:"modal-body"},dn=["data-event"];function un(t,e,n,d,i,s){return n.show?(l(),h(F,{key:0,to:"body"},[e[4]||(e[4]=a("div",{class:"modal-backdrop fade show"},null,-1)),a("div",{class:"modal fade d-block show",role:"dialog",onClick:e[2]||(e[2]=(...o)=>s.handleClick&&s.handleClick(...o))},[a("div",on,[a("div",an,[a("div",{class:O(["modal-header","bg-"+n.subtype])},[a("h4",ln,v(n.title),1),n.preventClose?f("",!0):(l(),u("button",{key:0,type:"button",class:"close",onClick:e[0]||(e[0]=(...o)=>s.handleClick&&s.handleClick(...o))}," × "))],2),a("div",rn,[g(t.$slots,"default",{},()=>[e[3]||(e[3]=p("# Body #"))])]),s.myButtons.length>0?(l(),u("div",{key:0,class:O(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(l(!0),u(I,null,q(s.myButtons,o=>(l(),u("button",{key:o.text,type:"button",class:O(["btn",o.subtype?"btn-"+o.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":o.event?o.event:"close",onClick:e[1]||(e[1]=(..._)=>s.handleClick&&s.handleClick(..._))},v(o.text),11,dn))),128))],2)):f("",!0)])])])])):f("",!0)}const cn=y(sn,[["render",un],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),pn=Object.freeze(Object.defineProperty({__proto__:null,default:cn},Symbol.toStringTag,{value:"Module"}));C.add(he);const mn={name:"OpenwbNumberInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},precision:{type:Number,default:void 0},emptyValue:{type:[Number,null],required:!1,default:null}},emits:["update:modelValue"],computed:{value:{get(){return this.precision!==void 0?parseFloat(Math.round(this.modelValue*Math.pow(10,this.precision))/Math.pow(10,this.precision)):this.modelValue},set(t){(isNaN(t)||typeof t!="number")&&(t=this.emptyValue),this.$emit("update:modelValue",t)}}}},fn={class:"input-group"},_n={class:"input-group-prepend"},gn={class:"input-group-text"},bn={key:0,class:"input-group-append"},hn={class:"input-group-text"};function vn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",fn,[a("div",_n,[a("div",gn,[m(o,{"fixed-width":"",icon:["fas","calculator"]})])]),B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16),[[T,s.value,void 0,{number:!0}]]),n.unit?(l(),u("div",bn,[a("div",hn,v(n.unit),1)])):f("",!0)])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const yn=y(mn,[["render",vn],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),wn=Object.freeze(Object.defineProperty({__proto__:null,default:yn},Symbol.toStringTag,{value:"Module"}));C.add(ve,ye);const kn={name:"OpenwbRangeInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},min:{type:Number,required:!0,default:0},max:{type:Number,required:!0,default:100},step:{type:Number,required:!1,default:1},labels:{type:Array,required:!1,default:void 0}},emits:["update:modelValue"],computed:{label(){var t;return this.labels&&this.sliderValue!=null?this.sliderValue[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",Sn,[a("div",Bn,[s.label?(l(),u("label",On,v(s.label),1)):f("",!0),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[0]||(e[0]=(...r)=>s.decrement&&s.decrement(...r))},[m(o,{icon:["fas","step-backward"]})]),a("div",Cn,[B(a("input",S({"onUpdate:modelValue":e[1]||(e[1]=r=>s.sliderValue=r),type:"range",class:"form-control-range rangeInput",min:n.min,max:n.max,step:n.step},t.$attrs),null,16,$n),[[T,s.sliderValue,void 0,{number:!0}]])]),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[2]||(e[2]=(...r)=>s.increment&&s.increment(...r))},[m(o,{icon:["fas","step-forward"]})])])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const In=y(kn,[["render",Tn],["__scopeId","data-v-449fb0a5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseRangeInput.vue"]]),xn=Object.freeze(Object.defineProperty({__proto__:null,default:In},Symbol.toStringTag,{value:"Module"}));C.add(z);const Mn={name:"OpenwbSelectInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Array,null],required:!1,default:void 0},groups:{type:Array,required:!1,default:void 0},options:{type:Array,required:!1,default:void 0},notSelected:{type:String,default:void 0},addButton:{type:Boolean,default:!1}},emits:["update:modelValue","input:add"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},addDisabled:{get(){return this.value===void 0}}},methods:{addClicked(){this.addDisabled||this.$emit("input:add")}}},Vn={class:"w-100"},An={class:"input-group"},Pn={key:0,class:"input-group-prepend"},qn={class:"input-group-text"},Dn={key:0,value:void 0,disabled:""},En=["value"],Ln=["label"],jn=["value"],Wn={key:1,class:"input-group-append"};function Rn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",Vn,[a("div",An,[t.$slots.prefix?(l(),u("div",Pn,[a("div",qn,[g(t.$slots,"prefix")])])):f("",!0),B(a("select",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"col form-control"},t.$attrs),[n.notSelected!==void 0?(l(),u("option",Dn," -- "+v(n.notSelected)+" -- ",1)):f("",!0),(l(!0),u(I,null,q(n.options,r=>(l(),u("option",{key:r.value,value:r.value},v(r.text),9,En))),128)),(l(!0),u(I,null,q(n.groups,r=>(l(),u("optgroup",{key:r.label,label:r.label},[(l(!0),u(I,null,q(r.options,k=>(l(),u("option",{key:k.value,value:k.value},v(k.text),9,jn))),128))],8,Ln))),128))],16),[[se,s.value]]),n.addButton?(l(),u("div",Wn,[a("div",{class:O(["input-group-text",s.addDisabled?"not-clickable":"bg-success clickable"]),onClick:e[1]||(e[1]=r=>s.addClicked())},[g(t.$slots,"inputAdd",{},()=>[m(o,{"fixed-width":"",icon:["fas","plus"]})])],2)])):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Nn=y(Mn,[["render",Rn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSelectInput.vue"]]),Fn=Object.freeze(Object.defineProperty({__proto__:null,default:Nn},Symbol.toStringTag,{value:"Module"}));C.add(L,we,ke);const Hn={name:"OpenwbSubmitButtons",components:{FontAwesomeIcon:$},props:{formName:{type:String,default:void 0},hideReset:{type:Boolean,default:!1},hideDefaults:{type:Boolean,default:!0}},emits:["reset","defaults","save"],data(){return{showModalReset:!1,showModalDefaults:!1}},computed:{showModalSave(){return this.$store.state.local.savingData}},methods:{showResetModal(){this.showModalReset=!0},handleModalReset(t){this.showModalReset=!1,t=="confirm"&&this.$emit("reset")},showDefaultsModal(){this.showModalDefaults=!0},handleModalDefaults(t){this.showModalDefaults=!1,t=="confirm"&&this.$emit("defaults")},saveSettings(){if(this.formName){if(!document.forms[this.formName].reportValidity()){console.debug("form invalid");return}}else console.debug("no form to validate");this.$emit("save")}}},Un={class:"row justify-content-center mb-1"},zn={class:"col-md-4 d-flex py-1 justify-content-center"},Gn={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},Jn={key:1,class:"col-md-4 d-flex py-1 justify-content-center"};function Kn(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog"),_=b("font-awesome-icon");return l(),u(I,null,[m(o,{show:s.showModalSave,title:"Speichern",subtype:"success","prevent-close":!0},{default:c(()=>e[3]||(e[3]=[p(" Einstellungen werden gespeichert... ")])),_:1},8,["show"]),m(o,{show:i.showModalReset,title:"Änderungen verwerfen",subtype:"warning",buttons:[{text:"Ok",event:"confirm",subtype:"warning"}],onModalResult:s.handleModalReset},{default:c(()=>e[4]||(e[4]=[p(" Wollen Sie die nicht gespeicherten Änderungen wirklich verwerfen? ")])),_:1},8,["show","onModalResult"]),m(o,{show:i.showModalDefaults,title:"Werkseinstellungen",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"danger"}],onModalResult:s.handleModalDefaults},{default:c(()=>e[5]||(e[5]=[p(" Wollen Sie wirklich alle Werte dieser Seite auf die Werkseinstellungen zurücksetzen? ")])),_:1},8,["show","onModalResult"]),a("div",Un,[a("div",zn,[a("button",{id:"saveSettingsBtn",type:"button",class:"btn btn-block btn-success",onClick:e[0]||(e[0]=(...r)=>s.saveSettings&&s.saveSettings(...r))},[e[6]||(e[6]=p(" Speichern ")),m(_,{"fixed-width":"",icon:["fas","check"]})])]),n.hideReset?f("",!0):(l(),u("div",Gn,[a("button",{id:"modalResetBtn",type:"button",class:"btn btn-block btn-warning",onClick:e[1]||(e[1]=(...r)=>s.showResetModal&&s.showResetModal(...r))},[e[7]||(e[7]=p(" Änderungen verwerfen ")),m(_,{"fixed-width":"",icon:["fas","undo"]})])])),n.hideDefaults?f("",!0):(l(),u("div",Jn,[a("button",{id:"modalDefaultsBtn",type:"button",class:"btn btn-block btn-danger",onClick:e[2]||(e[2]=(...r)=>s.showDefaultsModal&&s.showDefaultsModal(...r))},[e[8]||(e[8]=p(" Werkseinstellungen ")),m(_,{"fixed-width":"",icon:["fas","times"]})])]))])],64)}const Qn=y(Hn,[["render",Kn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSubmitButtons.vue"]]),Yn=Object.freeze(Object.defineProperty({__proto__:null,default:Qn},Symbol.toStringTag,{value:"Module"}));C.add(G,Se,Be,Oe,Ce,J,$e,Te,Ie,xe,Me,Ve);const Zn={name:"OpenwbTextInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","email","host","url","user","json","password","time","date","month","year"].indexOf(t)!==-1},default:"text"},pattern:{type:String,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},emptyValue:{type:[String,Object,null],required:!1,default:null},showQuickButtons:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{showPassword:!1,inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.warn("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.error("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else t==""&&(t=this.emptyValue),this.$emit("update:modelValue",t)}},inputRef(){switch(this.subtype){case"json":return this.$refs.jsonInput;case"password":return this.$refs.passwordInput;case"host":return this.$refs.hostInput;case"email":case"url":return this.$refs.urlInput;case"time":return this.$refs.timeInput;case"date":return this.$refs.dateInput;case"month":return this.$refs.monthInput;case"year":return this.$refs.yearInput}return this.$refs.textInput}},methods:{togglePassword(){this.showPassword=!this.showPassword},modify(t){var e,n=new Date(this.modelValue);switch(this.subtype){case"date":n.setDate(n.getDate()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0")+"-"+String(n.getDate()).padStart(2,"0");break;case"month":n.setMonth(n.getMonth()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0");break;case"year":n.setYear(n.getFullYear()+t),e=String(n.getFullYear());break;default:console.warn(`cannot modify input of subtype '${this.subtype}'`);return}e>this.inputRef.max||e[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",Xn,[a("div",es,[a("div",ts,[a("div",ns,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):f("",!0),n.subtype=="email"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","envelope"]})):f("",!0),n.subtype=="host"?(l(),h(o,{key:2,"fixed-width":"",icon:["fas","network-wired"]})):f("",!0),n.subtype=="url"?(l(),h(o,{key:3,"fixed-width":"",icon:["fas","globe"]})):f("",!0),n.subtype=="user"?(l(),h(o,{key:4,"fixed-width":"",icon:["fas","user"]})):f("",!0),n.subtype=="json"?(l(),h(o,{key:5,"fixed-width":"",icon:["fas","code"]})):f("",!0),n.subtype=="password"?(l(),h(o,{key:6,"fixed-width":"",icon:i.showPassword?["fas","unlock"]:["fas","lock"]},null,8,["icon"])):f("",!0),n.subtype=="time"?(l(),h(o,{key:7,"fixed-width":"",icon:["fas","clock"]})):f("",!0),n.subtype=="date"||n.subtype=="month"||n.subtype=="year"?(l(),h(o,{key:8,"fixed-width":"",icon:["fas","calendar-day"]})):f("",!0)])]),["text","user"].includes(n.subtype)?B((l(),u("input",S({key:0,ref:"textInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"text",class:["form-control",{invalid:i.inputInvalid}]},t.$attrs,{pattern:n.pattern}),null,16,ss)),[[T,s.value]]):f("",!0),n.subtype=="json"?B((l(),u("input",S({key:1,ref:"jsonInput","onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,os)),[[T,s.value]]):f("",!0),n.subtype=="password"?B((l(),u("input",S({key:2,ref:"passwordInput","onUpdate:modelValue":e[2]||(e[2]=r=>s.value=r),type:i.showPassword?"text":"password",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,as)),[[R,s.value]]):f("",!0),n.subtype=="host"?B((l(),u("input",S({key:3,ref:"hostInput","onUpdate:modelValue":e[3]||(e[3]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs),null,16)),[[T,s.value]]):f("",!0),["email","url"].includes(n.subtype)?B((l(),u("input",S({key:4,"onUpdate:modelValue":e[4]||(e[4]=r=>s.value=r),refs:"urlInput",type:n.subtype,class:"form-control"},t.$attrs),null,16,is)),[[R,s.value]]):f("",!0),n.subtype=="time"?B((l(),u("input",S({key:5,ref:"timeInput","onUpdate:modelValue":e[5]||(e[5]=r=>s.value=r),type:"time",class:"form-control"},t.$attrs),null,16)),[[T,s.value]]):f("",!0),n.subtype=="date"?B((l(),u("input",S({key:6,ref:"dateInput","onUpdate:modelValue":e[6]||(e[6]=r=>s.value=r),type:"date",class:"form-control"},t.$attrs),null,16)),[[T,s.value]]):f("",!0),n.subtype=="month"?B((l(),u("input",S({key:7,ref:"monthInput","onUpdate:modelValue":e[7]||(e[7]=r=>s.value=r),type:"month",class:"form-control"},t.$attrs),null,16)),[[T,s.value]]):f("",!0),n.subtype=="year"?B((l(),u("input",S({key:8,ref:"yearInput","onUpdate:modelValue":e[8]||(e[8]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16)),[[T,s.value]]):f("",!0),n.unit?(l(),u("div",ls,[a("div",rs,v(n.unit),1)])):f("",!0),n.subtype=="password"?(l(),u("div",{key:10,class:"input-group-append clickable",onClick:e[9]||(e[9]=(...r)=>s.togglePassword&&s.togglePassword(...r))},[a("div",ds,[m(o,{"fixed-width":"",icon:i.showPassword?["far","eye"]:["far","eye-slash"]},null,8,["icon"])])])):f("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:11,class:"input-group-append clickable",onClick:e[10]||(e[10]=r=>s.modify(-1))},e[12]||(e[12]=[a("div",{class:"input-group-text"},"-",-1)]))):f("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:12,class:"input-group-append clickable",onClick:e[11]||(e[11]=r=>s.modify(1))},e[13]||(e[13]=[a("div",{class:"input-group-text"},"+",-1)]))):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const cs=y(Zn,[["render",us],["__scopeId","data-v-6927d479"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextInput.vue"]]),ps=Object.freeze(Object.defineProperty({__proto__:null,default:cs},Symbol.toStringTag,{value:"Module"}));C.add(G,J);const ms={name:"OpenwbTextareaInput",components:{OpenwbBaseSettingElement:M,FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","json"].indexOf(t)!==-1},default:"text"}},emits:["update:modelValue"],data(){return{inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.debug("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue,void 0,2):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.warn("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else this.$emit("update:modelValue",t)}},length:{get(){return this.value!==void 0?this.value.length:0}}}},fs={class:"w-100"},_s={class:"input-group"},gs={class:"input-group-prepend"},bs={class:"input-group-text"},hs={key:2,class:"input-group-append"},vs={class:"input-group-text"},ys={class:"form-text text-muted text-right"};function ws(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",fs,[a("div",_s,[a("div",gs,[a("div",bs,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):f("",!0),n.subtype=="json"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","code"]})):f("",!0)])]),n.subtype==="json"?B((l(),u("textarea",S({key:0,ref:"jsonInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[T,s.value,void 0,{lazy:!0}]]):B((l(),u("textarea",S({key:1,"onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[T,s.value]]),t.$attrs.maxlength?(l(),u("div",hs,[a("div",vs,[a("small",ys,v(s.length)+" / "+v(t.$attrs.maxlength),1)])])):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const ks=y(ms,[["render",ws],["__scopeId","data-v-3d93046b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextarea.vue"]]),Ss=Object.freeze(Object.defineProperty({__proto__:null,default:ks},Symbol.toStringTag,{value:"Module"}));const Bs={name:"OpenwbToast",props:{topic:{type:String,required:!0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},source:{type:String,required:!0,validator:function(t){return["system","client","command"].indexOf(t)!==-1}},timestamp:{type:Number,required:!0}},emits:["dismiss","hide"],data(){return{handle:void 0,relativeTime:void 0,hidden:!1}},mounted(){this.handle=window.setInterval(this.updateRelativeTime,1e3)},unmounted(){window.clearInterval(this.handle)},methods:{dismiss(){this.$emit("dismiss",{topic:this.topic})},updateRelativeTime(){const t={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3};var e=new Intl.RelativeTimeFormat("de",{numeric:"auto"});const d=new Date-this.timestamp*1e3;for(var i in t)if(Math.abs(d)>t[i]){this.relativeTime=e.format(Math.round(-d/t[i]),i);break}d>10*1e3&&!this.hidden&&(this.hidden=!0,this.$emit("hide",{topic:this.topic}))}}},Os={key:0,class:"time-diff"},Cs={class:"toast-body"};function $s(t,e,n,d,i,s){return l(),u("div",{class:O(["toast","border-"+n.subtype]),role:"alert"},[a("div",{class:O(["toast-header","bg-"+n.subtype])},[e[2]||(e[2]=a("strong",{class:"pr-2 mr-auto"},"openWB",-1)),n.timestamp?(l(),u("small",Os,v(i.relativeTime),1)):f("",!0),a("button",{type:"button",class:"ml-2 mb-1 close","data-dismiss":"toast","aria-label":"Close",onClick:e[0]||(e[0]=(...o)=>s.dismiss&&s.dismiss(...o))},e[1]||(e[1]=[a("span",{"aria-hidden":"true"},"×",-1)]))],2),a("div",Cs,[g(t.$slots,"default",{},void 0,!0)])],2)}const Ts=y(Bs,[["render",$s],["__scopeId","data-v-c51b5764"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseToast.vue"]]),Is=Object.freeze(Object.defineProperty({__proto__:null,default:Ts},Symbol.toStringTag,{value:"Module"}));C.add(Ae);const xs={name:"OpenwbNavBar",components:{FontAwesomeIcon:$},computed:{nodeEnv(){return"development"}},watch:{$route(){this.$refs.collapsibleNavbar.classList.remove("show"),this.$refs.navbarButton.classList.add("collapsed"),this.$refs.navbarButton.setAttribute("aria-expanded",!1)}}},Ms={class:"navbar navbar-expand-lg bg-dark navbar-dark fixed-top"},Vs={ref:"navbarButton",class:"navbar-toggler mr-5",type:"button","data-toggle":"collapse","data-target":"#collapsibleNavbar"},As={id:"collapsibleNavbar",ref:"collapsibleNavbar",class:"collapse navbar-collapse navbar-nav-scroll"},Ps={class:"navbar-nav"},qs={class:"nav-item"},Ds={class:"nav-item dropdown nav-separator-after"},Es={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ls={class:"nav-item dropdown"},js={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ws={class:"nav-item dropdown"},Rs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ns={class:"nav-item dropdown"},Fs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Hs={class:"nav-item dropdown"},Us={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},zs={class:"nav-item nav-separator-before"},Gs={class:"nav-link",href:"https://github.com/openWB/core/wiki",target:"_blank"};function Js(t,e,n,d,i,s){const o=b("router-link"),_=b("font-awesome-icon");return l(),u("nav",Ms,[e[31]||(e[31]=a("a",{class:"navbar-brand",href:"/openWB/web/"},[a("span",null,"openWB")],-1)),a("button",Vs,e[0]||(e[0]=[a("span",{class:"navbar-toggler-icon"},null,-1)]),512),a("div",As,[a("ul",Ps,[a("li",qs,[m(o,{to:"/Status",class:"nav-link","active-class":"active disabled"},{default:c(()=>e[1]||(e[1]=[p(" Status ")])),_:1})]),a("li",Ds,[e[4]||(e[4]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Auswertungen ",-1)),a("div",Es,[m(o,{to:"/Logging/ChargeLog",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[2]||(e[2]=[p(" Ladeprotokoll ")])),_:1}),m(o,{to:"/Logging/Chart",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[3]||(e[3]=[p(" Diagramme ")])),_:1})])]),a("li",Ls,[e[7]||(e[7]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Einstellungen ",-1)),a("div",js,[m(o,{to:"/GeneralConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[5]||(e[5]=[p(" Allgemein ")])),_:1}),m(o,{to:"/OptionalComponents",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[6]||(e[6]=[p(" Optionale Hardware ")])),_:1})])]),a("li",Ws,[e[13]||(e[13]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Ladeeinstellungen ",-1)),a("div",Rs,[m(o,{to:"/GeneralChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[8]||(e[8]=[p(" Übergreifendes ")])),_:1}),m(o,{to:"/InstantChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[9]||(e[9]=[p(" Sofortladen ")])),_:1}),m(o,{to:"/PVChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[10]||(e[10]=[p(" PV-Laden ")])),_:1}),m(o,{to:"/TimeChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[11]||(e[11]=[p(" Zeitladen ")])),_:1}),m(o,{to:"/ScheduledChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[12]||(e[12]=[p(" Zielladen ")])),_:1})])]),a("li",Ns,[e[20]||(e[20]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Konfiguration ",-1)),a("div",Fs,[m(o,{to:"/HardwareInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[14]||(e[14]=[p(" Geräte und Komponenten ")])),_:1}),m(o,{to:"/LoadManagementConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[15]||(e[15]=[p(" Lastmanagement ")])),_:1}),m(o,{to:"/ChargePointInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[16]||(e[16]=[p(" Ladepunkte ")])),_:1}),m(o,{to:"/VehicleConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[17]||(e[17]=[p(" Fahrzeuge ")])),_:1}),e[18]||(e[18]=a("div",{class:"dropdown-divider"},null,-1)),e[19]||(e[19]=a("a",{href:"modules/legacy_smart_home/smarthomeconfig.php",class:"dropdown-item",target:"_blank"}," SmartHome ",-1))])]),a("li",Hs,[e[29]||(e[29]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," System ",-1)),a("div",Us,[m(o,{to:"/System/InstallAssistant",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[21]||(e[21]=[p(" Einrichtungsassistent ")])),_:1}),m(o,{to:"/System/CloudConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[22]||(e[22]=[p(" openWB Cloud ")])),_:1}),m(o,{to:"/System/MqttBridgeConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[23]||(e[23]=[p(" MQTT-Brücken ")])),_:1}),m(o,{to:"/System/DebugConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[24]||(e[24]=[p(" Fehlersuche ")])),_:1}),m(o,{to:"/System/Support",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[25]||(e[25]=[p(" Support ")])),_:1}),m(o,{to:"/System/DataManagement",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[26]||(e[26]=[p(" Datenverwaltung ")])),_:1}),m(o,{to:"/System/SystemConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[27]||(e[27]=[p(" System ")])),_:1}),m(o,{to:"/System/LegalSettings",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[28]||(e[28]=[p(" Rechtliches ")])),_:1})])]),a("li",zs,[a("a",Gs,[e[30]||(e[30]=p(" Wiki ")),m(_,{"fixed-width":"",icon:["fas","external-link-alt"]})])])])],512)])}const Ks=y(xs,[["render",Js],["__scopeId","data-v-e7a6d0c0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageNavbar.vue"]]);const Qs={name:"OpenwbPageFooter"},Ys={id:"footer",class:"footer bg-dark text-light font-small"},Zs={class:"container text-center"};function Xs(t,e,n,d,i,s){return l(),u("footer",Ys,[a("div",Zs,[a("small",null," Sie befinden sich hier: Einstellungen / "+v(t.$route.meta.heading),1)])])}const eo=y(Qs,[["render",Xs],["__scopeId","data-v-3c9a239a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageFooter.vue"]]);C.add(Pe);const to={name:"OpenwbDonationBanner",components:{FontAwesomeIcon:$}},no={class:"mt-3 alert alert-dark text-center"},so={action:"https://www.paypal.com/cgi-bin/webscr",method:"post",target:"_blank"},oo={type:"submit",class:"btn btn-primary"};function ao(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",no,[e[3]||(e[3]=p(" Open Source made with love!")),e[4]||(e[4]=a("br",null,null,-1)),e[5]||(e[5]=p(" Jede Spende hilft die Weiterentwicklung von openWB voranzutreiben")),e[6]||(e[6]=a("br",null,null,-1)),a("form",so,[e[1]||(e[1]=a("input",{type:"hidden",name:"cmd",value:"_s-xclick"},null,-1)),e[2]||(e[2]=a("input",{type:"hidden",name:"hosted_button_id",value:"2K8C4Y2JTGH7U"},null,-1)),a("button",oo,[e[0]||(e[0]=p(" Spenden ")),m(o,{icon:["fab","paypal"]})])])])}const io=y(to,[["render",ao],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageDonationBanner.vue"]]),lo={name:"ComponentState",emits:["reset","defaults","save"],data(){return{mqttTopicsToSubscribe:[]}},computed:{weekdays(){return["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]},chargeModes(){return["instant_charging","pv_charging","scheduled_charging","time_charging","standby","stop"]},statusLevel(){return["success","warning","danger"]},stateIcon:{get(){switch(this.$store.state.mqtt[this.baseTopic+"/get/fault_state"]){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","check-circle"]}}}},mounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doSubscribe(this.mqttTopicsToSubscribe)},unmounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doUnsubscribe(this.mqttTopicsToSubscribe)},methods:{updateState(t,e,n=void 0){console.debug("updateState:",t,e,n),this.$store.commit({type:"updateTopic",topic:t,objectPath:n,payload:e})},ac_current2dc_power(t){return parseFloat((t*3*230/1e3).toFixed(2))},dc_power2ac_current(t){return parseFloat((t*1e3/230/3).toFixed(2))},getWildcardIndexList(t,e=!1){let n=t;e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let d=Object.keys(this.$store.state.mqtt).filter(i=>i.match(n));return d.forEach((i,s,o)=>{o[s]=parseInt(i.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),d},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})},formatDate(t,e={year:"numeric",month:"2-digit",day:"2-digit"}){return new Date(t).toLocaleDateString(void 0,e)},formatNumber(t,e=0,n=e,d=1){if(!(t==null||isNaN(t)))return t=t*d,t.toLocaleString(void 0,{minimumFractionDigits:e,maximumFractionDigits:n})},formatNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.formatNumber(this.$store.state.mqtt[t],e,n,d):"-"},formatPhaseArrayNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.$store.state.mqtt[t].map(i=>this.formatNumber(i,e,n,d)).join(" / "):"- / - / -"},translateChargeMode(t){switch(t){case"instant_charging":return"Sofort";case"pv_charging":return"PV";case"scheduled_charging":return"Zielladen";case"time_charging":return"Zeitladen";case"standby":return"Standby";case"stop":return"Stop";default:return console.warn("unknown charge mode:",t),t}},getFaultStateSubtype(t){const e=this.$store.state.mqtt[t+"/get/fault_state"];if(e===void 0)return"warning";switch(e){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}}}},Q=y(lo,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/ComponentState.vue"]]);C.add(qe,De);const ro={name:"OpenwbPageMessages",components:{FontAwesomeIcon:$,FontAwesomeLayers:Ee,FontAwesomeLayersText:Le},mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/messages/+","openWB/command/"+this.$root.mqttClientId+"/messages/+"],showAllMessages:!1,hiddenMessages:[]}},computed:{alertLevel(){return this.messages.reduce((e,n)=>((e=="light"&&["info","success","warning","danger"].includes(n.type)||e=="info"&&["success","warning","danger"].includes(n.type)||e=="success"&&["warning","danger"].includes(n.type)||e=="warning"&&n.type=="danger")&&(e=n.type),e),"light")},messages(){const t=[];return this.systemMessages.forEach(e=>{t.push(e)}),this.clientMessages.forEach(e=>{t.push(e)}),t.sort(this.compareMessagesByTimestamp),t},recentMessages(){return this.showAllMessages?this.messages:this.messages.filter(t=>!this.hiddenMessages.includes(t.topic))},messageIndicatorClass(){return"text-"+this.alertLevel},systemMessages(){let t=this.getWildcardTopics("openWB/system/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e},clientMessages(){let t=this.getWildcardTopics("openWB/command/"+this.$root.mqttClientId+"/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e}},methods:{toggleAllMessages(){this.showAllMessages=!this.showAllMessages},compareMessagesByTimestamp(t,e){return e.timestamp-t.timestamp},clearTopic(t){this.$root.doPublish(t,void 0)},dismissMessage(t){this.clearTopic(t.topic);var e=this.hiddenMessages.indexOf(t.topic);e>-1&&this.hiddenMessages.splice(e,1)},dismissAllMessages(){this.messages.forEach(t=>{this.clearTopic(t.topic)}),this.hiddenMessages=[],this.toggleAllMessages()},hideMessage(t){this.hiddenMessages.includes(t.topic)||this.hiddenMessages.push(t.topic)}}},uo=["innerHTML"];function co(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("font-awesome-layers-text"),r=b("font-awesome-layers"),k=b("openwb-base-alert"),x=b("openwb-base-click-button"),A=b("openwb-base-toast");return l(),u(I,null,[(l(),h(F,{to:"body"},[a("div",{id:"message-indicator",class:O(["text-light mt-1 p-2 mr-1 clickable",i.showAllMessages?"active":""]),onClick:e[0]||(e[0]=(...P)=>s.toggleAllMessages&&s.toggleAllMessages(...P))},[m(r,{"full-width":"",style:{"font-size":"175%"}},{default:c(()=>[m(o,{"fixed-width":"",icon:i.showAllMessages?["fas","bell"]:["far","bell"],class:O(s.messageIndicatorClass)},null,8,["icon","class"]),s.messages.length>0?(l(),h(_,{key:0,counter:"",value:s.messages.length,position:"top-right",class:"message-counter bg-light text-dark"},null,8,["value"])):f("",!0)]),_:1})],2)])),s.recentMessages.length>0||i.showAllMessages?(l(),u("div",{key:0,class:O(["openwb-toast-container",i.showAllMessages?"full-height":""])},[s.recentMessages.length==0?(l(),h(k,{key:0,subtype:"info"},{default:c(()=>e[1]||(e[1]=[p(" Keine Nachrichten vorhanden. ")])),_:1})):i.showAllMessages?(l(),h(x,{key:1,class:"btn-sm btn-secondary mb-1",onButtonClicked:s.dismissAllMessages},{default:c(()=>e[2]||(e[2]=[p(" Alle Nachrichten löschen ")])),_:1},8,["onButtonClicked"])):f("",!0),(l(!0),u(I,null,q(s.recentMessages,P=>(l(),h(A,{key:P.topic,topic:P.topic,source:P.source,subtype:P.type,timestamp:P.timestamp,onDismiss:s.dismissMessage,onHide:s.hideMessage},{default:c(()=>[a("span",{innerHTML:P.message},null,8,uo)]),_:2},1032,["topic","source","subtype","timestamp","onDismiss","onHide"]))),128))],2)):f("",!0)],64)}const po=y(ro,[["render",co],["__scopeId","data-v-2c25f0d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageMessages.vue"]]),mo={name:"OpenwbPageBlocker",mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/boot_done","openWB/system/update_in_progress"]}},computed:{title(){return this.bootInProgress||this.updateInProgress?"openWB ist noch nicht bereit":this.reloadRequired?"Neues Laden der Seite erforderlich":"???"},myButtons(){return!(this.bootInProgress||this.updateInProgress)&&this.reloadRequired?[{text:"Jetzt neu laden",subtype:"success",event:"reload"}]:[]},bootInProgress(){return this.$store.state.mqtt["openWB/system/boot_done"]==null?!0:!this.$store.state.mqtt["openWB/system/boot_done"]},updateInProgress(){return this.$store.state.mqtt["openWB/system/update_in_progress"]==null?!1:this.$store.state.mqtt["openWB/system/update_in_progress"]},reloadRequired(){return this.$store.state.local.reloadRequired},showModalBlocker(){return this.bootInProgress||this.updateInProgress||this.reloadRequired}},methods:{handleModalResult(t){t=="reload"?location.reload():console.warn("unknown event",t)}}},fo={class:"openwb-blocker"},_o={key:0},go={key:1},bo={key:2},ho={key:3};function vo(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog");return l(),u("div",fo,[m(o,{show:s.showModalBlocker,title:s.title,subtype:"dark","prevent-close":!0,buttons:s.myButtons,onModalResult:e[0]||(e[0]=_=>s.handleModalResult(_))},{default:c(()=>[s.bootInProgress?(l(),u("p",_o,"Der Systemstart ist noch nicht abgeschlossen.")):f("",!0),s.updateInProgress?(l(),u("p",go,"Es wird eine Systemaktualisierung ausgeführt.")):f("",!0),!(s.bootInProgress||s.updateInProgress)&&s.reloadRequired?(l(),u("p",bo,"Bitte die Seite neu laden.")):(l(),u("p",ho,"Bitte warten..."))]),_:1},8,["show","title","buttons"])])}const yo=y(mo,[["render",vo],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageBlocker.vue"]]);const wo={name:"OpenwbSettingsApp",components:{NavBar:Ks,PageFooter:eo,DonationBanner:io,Messages:po,Blocker:yo},data(){return{client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3}}},computed:{mqttClientId(){try{return this.client.options.clientId}catch(t){console.error("mqttClientId error",t);return}},topicList(){return Object.keys(this.$store.state.mqtt)}},created(){this.createConnection()},methods:{async saveValues(t=void 0){function e(d){return new Promise(i=>setTimeout(i,d))}console.debug("saving values..."),this.$store.state.local.savingData=!0;let n={};t===void 0?(console.debug("no topics defined, so save everything we have in store"),n=this.$store.state.mqtt):Array.isArray(t)?t.forEach(d=>{n[d]=this.$store.state.mqtt[d]}):console.error("expected array, got ",typeof t);for(const[d,i]of Object.entries(n)){let s=d.replace("openWB/","openWB/set/");console.debug("saving data:",s,i),this.doPublish(s,i),await e(100)}console.debug("done saving data"),this.$store.state.local.savingData=!1},resetValues(t=this.topicList){console.debug("resetting values..."),console.debug("topics: ",t),this.doUnsubscribe(t),this.doSubscribe(t)},setDefaultValues(){console.debug("setting default values... (ToDo)")},sendCommand(t){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",t,!1)},createConnection(){const{protocol:t,host:e,port:n,endpoint:d,...i}=this.connection,s=`${t}://${e}:${n}${d}`;console.debug("connecting to broker:",s);try{this.client=oe.connect(s,i)}catch(o){console.error("mqtt.connect error",o)}this.client.on("connect",()=>{console.debug("Connection succeeded! ClientId: ",this.client.options.clientId),this.doSubscribe(["openWB/system/usage_terms_acknowledged"]),this.doSubscribe(["openWB/system/installAssistantDone"])}),this.client.on("error",o=>{console.error("Connection failed",o)}),this.client.on("message",(o,_)=>{if(_.toString().length>0){let r;try{r=JSON.parse(_.toString())}catch(k){console.debug("Json parsing failed, fallback to string: ",o,k),r=_.toString()}this.$store.commit("updateTopic",{topic:o,payload:r})}else this.$store.commit("removeTopic",o)})},doSubscribe(t){console.debug("doSubscribe",t),t.forEach(e=>{this.$store.commit("addSubscription",e),this.$store.getters.subscriptionCount(e)==1?(e.includes("#")||e.includes("+")?console.debug("skipping init of wildcard topic:",e):this.$store.commit("addTopic",{topic:e,payload:void 0}),this.client.subscribe(e,{},n=>{if(n){console.error("Subscribe to topics error",n);return}})):console.debug("Already subscribed to topic: ",e)})},doUnsubscribe(t){console.debug("doUnsubscribe",t),t.forEach(e=>{this.$store.commit("removeSubscription",e),this.$store.getters.subscriptionCount(e)==0?(this.client.unsubscribe(e,n=>{n&&console.error("Unsubscribe error",n)}),e.includes("#")||e.includes("+")?(console.debug("expanding wildcard topic:",e),Object.keys(this.getWildcardTopics(e)).forEach(n=>{console.debug("removing wildcardTopic:",n),this.$store.commit("removeTopic",n)})):(console.debug("removing topic:",e),this.$store.commit("removeTopic",e))):console.debug("Still subscribed to topic: ",e)})},doPublish(t,e,n=!0,d=2){let i={qos:d,retain:n};this.client.publish(t,JSON.stringify(e),i,s=>{s&&console.error("Publish error",s)})},postClientMessage(t,e="secondary"){console.debug("postMessage:",t,e);const n=Date.now(),d="openWB/command/"+this.mqttClientId+"/messages/"+n;this.$store.commit({type:"addTopic",topic:d,payload:{message:t,type:e,source:"client",timestamp:Math.floor(n/1e3)}})},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})}}},ko={role:"main",class:"container"},So={id:"content"};function Bo(t,e,n,d,i,s){const o=b("nav-bar"),_=b("router-view"),r=b("donation-banner"),k=b("page-footer"),x=b("messages"),A=b("blocker");return l(),u(I,null,[a("header",null,[m(o)]),a("div",ko,[a("div",So,[a("h1",null,v(t.$route.meta.heading),1),m(_,{onSave:s.saveValues,onReset:s.resetValues,onDefaults:s.setDefaultValues,onSendCommand:s.sendCommand},null,8,["onSave","onReset","onDefaults","onSendCommand"])]),m(r)]),m(k),m(x),m(A)],64)}const Oo=y(wo,[["render",Bo],["__file","/opt/openWB-dev/openwb-ui-settings/src/App.vue"]]),Co="modulepreload",$o=function(t){return"/openWB/web/settings/"+t},N={},w=function(e,n,d){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=$o(s),s in N)return;N[s]=!0;const o=s.endsWith(".css"),_=o?'[rel="stylesheet"]':"";if(!!d)for(let x=i.length-1;x>=0;x--){const A=i[x];if(A.href===s&&(!o||A.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${_}`))return;const k=document.createElement("link");if(k.rel=o?"stylesheet":Co,o||(k.as="script",k.crossOrigin=""),k.href=s,document.head.appendChild(k),o)return new Promise((x,A)=>{k.addEventListener("load",x),k.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};let Y={mqtt:{},mqttSubscriptions:{},local:{reloadRequired:!1,savingData:!1},text:{rfidWiki:'Bitte auch hiervon abhängige Einstellungen beachten. Eine Übersicht gibt es im Wiki.'}};Y.examples={text1:"Text...",text2:"mail@domain.com",text3:"openwb.local",text4:"http://www.openwb.de",text5:"Benutzername",text6:"12:34",text7:"2021-10-31",number1:5,number2:10,number3:28e-5,password1:"GeHeiM!",textarea1:"Langer Text...",range1:6,range2:10,select1:1,select2:void 0,buttonGroup1:1,checkbox1:!0,json1:{text:"Text",number:123},hierarchy1:[{id:0,type:"counter",children:[{id:3,type:"inverter",children:[]},{id:4,type:"bat",children:[]},{id:1,type:"cp",children:[]},{id:2,type:"cp",children:[]}]}],hierarchy1Labels:{0:"EVU",1:"Ladepunkt 1",2:"Ladepunkt 2",3:"Wechselrichter",4:"Batteriespeicher"},tags:["1234","2345","3456"]};const D=ae({state:Y,mutations:{storeLocal(t,e){t.local[e.name]=e.value},addTopic(t,e){Object.keys(t.mqtt).includes(e.topic)?console.warn("topic already exists: ",e.topic):t.mqtt[e.topic]=e.payload},removeTopic(t,e){delete t.mqtt[e]},updateTopic(t,e){const n=(d,i,s)=>i.split(".").reduce((o,_,r)=>o[_]=i.split(".").length===++r?s:o[_]||{},d);e.topic in t.mqtt||!(e.topic in t.examples)?e.objectPath!=null?n(t.mqtt[e.topic],e.objectPath,e.payload):t.mqtt[e.topic]=e.payload:(console.debug("topic not found in state.mqtt: ",e.topic),e.topic in t.examples?e.objectPath!=null?n(t.examples[e.topic],e.objectPath,e.payload):t.examples[e.topic]=e.payload:console.warn("topic not found in state: ",e.topic," giving up"))},addSubscription(t,e){e in t.mqttSubscriptions?t.mqttSubscriptions[e]+=1:t.mqttSubscriptions[e]=1,console.debug("subscription count: ",e,t.mqttSubscriptions[e])},removeSubscription(t,e){e in t.mqttSubscriptions&&(t.mqttSubscriptions[e]-=1,t.mqttSubscriptions[e]<=0&&delete t.mqttSubscriptions[e])}},actions:{},modules:{},getters:{usageTermsAcknowledged(t){return new Promise(e=>{if(t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0)e(t.mqtt["openWB/system/usage_terms_acknowledged"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/usage_terms_acknowledged"]))},100)}})},installAssistantDone(t){return new Promise(e=>{if(t.mqtt["openWB/system/installAssistantDone"]!==void 0)e(t.mqtt["openWB/system/installAssistantDone"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/installAssistantDone"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/installAssistantDone"]))},100)}})},subscriptionCount:t=>e=>t.mqttSubscriptions[e]||0}}),Z=[{path:"/",redirect:"/GeneralConfig"},{path:"/Status",name:"Status",meta:{heading:"Status"},component:()=>w(()=>import("./Status-2d9a7ca5.js"),["assets/Status-2d9a7ca5.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-chartjs-888a84c2.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/Status-9ecf39ed.css"])},{path:"/Logging/ChargeLog",name:"ChargeLog",meta:{heading:"Auswertungen - Ladeprotokoll"},component:()=>w(()=>import("./ChargeLog-de1004c6.js"),["assets/ChargeLog-de1004c6.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/ChargeLog-1fb3fa68.css"])},{path:"/Logging/Chart/:chartRange?/:initialDate?",name:"DailyChart",meta:{heading:"Auswertungen - Diagramme"},component:()=>w(()=>import("./Chart-b7c3f024.js"),["assets/Chart-b7c3f024.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-chartjs-888a84c2.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/Chart-e20451b4.css"])},{path:"/GeneralConfig",name:"GeneralConfig",meta:{heading:"Einstellungen - Allgemein"},component:()=>w(()=>import("./GeneralConfig-c40962a6.js").then(t=>t.a),["assets/GeneralConfig-c40962a6.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/OptionalComponents",name:"OptionalComponents",meta:{heading:"Einstellungen - Optionale Hardware"},component:()=>w(()=>import("./OptionalComponents-3432e925.js").then(t=>t.O),["assets/OptionalComponents-3432e925.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css"])},{path:"/GeneralChargeConfig",name:"GeneralChargeConfig",meta:{heading:"Ladeeinstellungen - Übergreifendes"},component:()=>w(()=>import("./GeneralChargeConfig-381b6e1a.js").then(t=>t.G),["assets/GeneralChargeConfig-381b6e1a.js","assets/dynamic-import-helper-be004503.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css"])},{path:"/InstantChargeConfig",name:"InstantChargeConfig",meta:{heading:"Ladeeinstellungen - Sofortladen"},component:()=>w(()=>import("./InstantChargeConfig-9dff20c9.js"),["assets/InstantChargeConfig-9dff20c9.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])},{path:"/PVChargeConfig",name:"PVChargeConfig",meta:{heading:"Ladeeinstellungen - PV-Laden"},component:()=>w(()=>import("./PVChargeConfig-790ee8d2.js"),["assets/PVChargeConfig-790ee8d2.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])},{path:"/TimeChargeConfig",name:"TimeChargeConfig",meta:{heading:"Ladeeinstellungen - Zeitladen"},component:()=>w(()=>import("./TimeChargeConfig-b3686dda.js"),["assets/TimeChargeConfig-b3686dda.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])},{path:"/ScheduledChargeConfig",name:"ScheduledChargeConfig",meta:{heading:"Ladeeinstellungen - Zielladen"},component:()=>w(()=>import("./ScheduledChargeConfig-9e3cdd82.js"),["assets/ScheduledChargeConfig-9e3cdd82.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])},{path:"/HardwareInstallation",name:"HardwareInstallation",meta:{heading:"Konfiguration - Geräte und Komponenten"},component:()=>w(()=>import("./HardwareInstallation-61d444d7.js").then(t=>t.a),["assets/HardwareInstallation-61d444d7.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/LoadManagementConfiguration",name:"LoadManagementConfiguration",meta:{heading:"Konfiguration - Lastmanagement"},component:()=>w(()=>import("./LoadManagementConfig-04d84ef8.js"),["assets/LoadManagementConfig-04d84ef8.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/OpenwbSortableList-b0494c12.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])},{path:"/ChargePointInstallation",name:"ChargePointInstallation",meta:{heading:"Konfiguration - Ladepunkte"},component:()=>w(()=>import("./ChargePointInstallation-d3922b37.js").then(t=>t.c),["assets/ChargePointInstallation-d3922b37.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"])},{path:"/VehicleConfiguration/:section?/:section_index?/:section_part?/:action?",name:"VehicleConfiguration",meta:{heading:"Konfiguration - Fahrzeuge"},component:()=>w(()=>import("./VehicleConfig-281e945c.js").then(t=>t.b),["assets/VehicleConfig-281e945c.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/CloudConfiguration",name:"CloudConfig",meta:{heading:"System - openWB Cloud"},component:()=>w(()=>import("./CloudConfig-a98f3c60.js"),["assets/CloudConfig-a98f3c60.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])},{path:"/System/MqttBridgeConfiguration",name:"MqttBridgeConfig",meta:{heading:"System - MQTT-Brücken"},component:()=>w(()=>import("./MqttBridgeConfig-eb696aca.js"),["assets/MqttBridgeConfig-eb696aca.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])},{path:"/System/DebugConfiguration",name:"Debugging",meta:{heading:"System - Fehlersuche"},component:()=>w(()=>import("./DebugConfig-050c9871.js"),["assets/DebugConfig-050c9871.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/DebugConfig-e21ab72c.css"])},{path:"/System/Support",name:"Support",meta:{heading:"System - Support"},component:()=>w(()=>import("./Support-a3a76d8d.js"),["assets/Support-a3a76d8d.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])},{path:"/System/LegalSettings",name:"LegalSettings",meta:{heading:"System - Rechtliches"},component:()=>w(()=>import("./LegalSettings-f52d0b00.js"),["assets/LegalSettings-f52d0b00.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])},{path:"/System/SystemConfiguration",name:"SystemConfig",meta:{heading:"System - System"},component:()=>w(()=>import("./System-076fdc44.js"),["assets/System-076fdc44.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js","assets/System-0f1d217b.css"])},{path:"/System/DataManagement",name:"DataManagement",meta:{heading:"System - Datenverwaltung"},component:()=>w(()=>import("./DataManagement-7cf51172.js").then(t=>t.a),["assets/DataManagement-7cf51172.js","assets/vendor-fortawesome-05d7e447.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/InstallAssistant",name:"InstallAssistant",meta:{heading:"System - Einrichtungsassistent"},component:()=>w(()=>import("./InstallAssistant-c797080f.js"),["assets/InstallAssistant-c797080f.js","assets/dynamic-import-helper-be004503.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])}];Z.push({path:"/TestingStore",name:"VUEX Store",meta:{heading:"Beispiele - VUEX Store"},component:()=>w(()=>import("./TestingStore-73470264.js"),["assets/TestingStore-73470264.js","assets/OpenwbSortableList-b0494c12.js","assets/vendor-06e11d0e.js","assets/vendor-sortablejs-0bb60e5b.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-05d7e447.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-4263d7eb.js","assets/vendor-jquery-9fc083b4.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-22b906fb.js"])});const j=ie({history:le(),routes:Z});j.beforeEach(async t=>{if(await D.getters.usageTermsAcknowledged){if(!await D.getters.installAssistantDone&&t.name!=="InstallAssistant")return{name:"InstallAssistant"}}else if(t.name!=="LegalSettings")return{name:"LegalSettings"}});j.afterEach(t=>{t.meta.heading?document.title="openWB | "+t.meta.heading:document.title="openWB"});const W=re(Oo);W.use(D).use(j).use(je,We);const To=Object.assign({"./components/OpenwbBaseAlert.vue":He,"./components/OpenwbBaseArrayInput.vue":ut,"./components/OpenwbBaseAvatar.vue":_t,"./components/OpenwbBaseButtonGroupInput.vue":wt,"./components/OpenwbBaseButtonInput.vue":Tt,"./components/OpenwbBaseCard.vue":Lt,"./components/OpenwbBaseCheckboxInput.vue":Ft,"./components/OpenwbBaseClickButton.vue":Bt,"./components/OpenwbBaseCopyToClipboard.vue":Jt,"./components/OpenwbBaseHeading.vue":nn,"./components/OpenwbBaseModalDialog.vue":pn,"./components/OpenwbBaseNumberInput.vue":wn,"./components/OpenwbBaseRangeInput.vue":xn,"./components/OpenwbBaseSelectInput.vue":Fn,"./components/OpenwbBaseSettingElement.vue":Xe,"./components/OpenwbBaseSubmitButtons.vue":Yn,"./components/OpenwbBaseTextInput.vue":ps,"./components/OpenwbBaseTextarea.vue":Ss,"./components/OpenwbBaseToast.vue":Is});Object.entries(To).forEach(([t,e])=>{const n=de(ue(t.split("/").pop().replace(/\.\w+$/,"")));W.component(n,e.default)});W.mount("#app");export{Q as C,M as O,w as _}; diff --git a/web/settings/assets/index-6ffbdc7e.js b/web/settings/assets/index-6ffbdc7e.js new file mode 100644 index 0000000000..15da5bbecb --- /dev/null +++ b/web/settings/assets/index-6ffbdc7e.js @@ -0,0 +1 @@ +import{_ as y,l,m as u,p as g,q as O,u as b,x as a,y as p,z as h,A as E,B as f,D as V,E as c,F as v,G as m,I as B,J as T,K as S,L as X,M as q,N as I,O as ee,P as te,Q as ne,T as F,R as se,S as R,U as oe,V as ae,W as ie,X as le,Y as re,Z as de,$ as ue}from"./vendor-0c15df0c.js";import{l as C,f as H,a as U,F as $,b as ce,c as pe,d as z,e as me,g as L,h as fe,i as _e,j as ge,k as be,m as he,n as ve,o as ye,p as we,q as ke,r as G,s as Se,t as Be,u as Oe,v as Ce,w as J,x as $e,y as Te,z as Ie,A as xe,B as Me,C as Ve,D as Ae,E as Pe,G as qe,H as De,I as Ee,J as Le}from"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import{p as je,a as We}from"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-jquery-84e2bf4a.js";(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))d(i);new MutationObserver(i=>{for(const s of i)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&d(o)}).observe(document,{childList:!0,subtree:!0});function n(i){const s={};return i.integrity&&(s.integrity=i.integrity),i.referrerPolicy&&(s.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?s.credentials="include":i.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function d(i){if(i.ep)return;i.ep=!0;const s=n(i);fetch(i.href,s)}})();const Re={name:"OpenwbAlert",props:{subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}}};function Ne(t,e,n,d,i,s){return l(),u("div",{class:O(["card-text alert","alert-"+n.subtype])},[g(t.$slots,"default",{},void 0,!0)],2)}const Fe=y(Re,[["render",Ne],["__scopeId","data-v-055c15aa"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAlert.vue"]]),He=Object.freeze(Object.defineProperty({__proto__:null,default:Fe},Symbol.toStringTag,{value:"Module"}));C.add(H,U);const Ue={name:"OpenwbBaseSettingElement",components:{FontAwesomeIcon:$},data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},ze={class:"form-row mb-1"},Ge={class:"col-md-4 col-form-label"},Je={class:"col-md-8"},Ke={class:"form-row"},Qe={class:"form-row"},Ye={key:0,class:"form-text alert alert-info my-1 small flex-fill"};function Ze(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",ze,[a("label",Ge,[g(t.$slots,"title",{},()=>[e[0]||(e[0]=p("*TITLE*"))]),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable ml-1",i.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):f("",!0)]),a("div",Je,[a("div",Ke,[g(t.$slots,"default",{},()=>[e[1]||(e[1]=p("*ELEMENT MISSING*"))])]),a("div",Qe,[i.showHelp?(l(),u("span",Ye,[g(t.$slots,"help")])):f("",!0)])])])}const M=y(Ue,[["render",Ze],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSettingElement.vue"]]),Xe=Object.freeze(Object.defineProperty({__proto__:null,default:M},Symbol.toStringTag,{value:"Module"}));C.add(ce,pe,z,me);const et={name:"OpenwbArrayInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!0,default:"#TITLE#"},modelValue:{type:Array,default:()=>[]},noElementsMessage:{type:String,default:()=>"Keine Elemente zugeordnet."}},emits:["update:modelValue"],data(){return{newTag:"",showHelp:!1}},computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},newTagValid:{get(){return this.newTag.length>0&&!this.value.includes(this.newTag)}}},methods:{addTag(){if(this.newTagValid){const t=[...this.value,this.newTag].sort();this.value=t,this.newTag=""}this.$refs.tagInput.focus()},removeTag(t){let e=[...this.value];e.splice(t,1),this.value=e}}},tt={class:"w-100"},nt={class:"input-group"},st={class:"input-group-prepend"},ot={class:"input-group-text"},at={class:"input-group-append"},it={class:"tagList mt-1 w-100"},lt={key:0,class:"noTag"};function rt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",tt,[a("div",nt,[a("div",st,[a("div",ot,[g(t.$slots,"input-prefix",{},()=>[m(o,{"fixed-width":"",icon:["fas","tag"]})],!0)])]),B(a("input",S({ref:"tagInput","onUpdate:modelValue":e[0]||(e[0]=r=>i.newTag=r),type:"text",class:"form-control"},t.$attrs,{onKeyup:e[1]||(e[1]=X((...r)=>s.addTag&&s.addTag(...r),["enter"]))}),null,16),[[T,i.newTag]]),a("div",at,[a("div",{class:O(["input-group-text",s.newTagValid?"bg-success clickable":"not-clickable"]),onClick:e[2]||(e[2]=(...r)=>s.addTag&&s.addTag(...r))},[g(t.$slots,"input-add",{},()=>[m(o,{"fixed-width":"",icon:["fas","plus"]})],!0)],2)])])]),a("div",it,[s.value.length==0?(l(),u("span",lt,[m(o,{icon:["fas","info-circle"]}),p(" "+v(n.noElementsMessage),1)])):f("",!0),(l(!0),u(I,null,q(s.value,(r,k)=>(l(),u("span",{key:k,class:"tag"},[g(t.$slots,"element-prefix",{},()=>[m(o,{icon:["fas","tag"]})],!0),p(" "+v(r)+" ",1),m(o,{class:"clickable remove-element",icon:["fas","times-circle"],onClick:x=>s.removeTag(k)},null,8,["onClick"])]))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const dt=y(et,[["render",rt],["__scopeId","data-v-9de93d37"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseArrayInput.vue"]]),ut=Object.freeze(Object.defineProperty({__proto__:null,default:dt},Symbol.toStringTag,{value:"Module"}));const ct={name:"OpenwbAvatar"},pt={class:"avatar"};function mt(t,e,n,d,i,s){return l(),u("div",pt,[g(t.$slots,"default",{},()=>[e[0]||(e[0]=p("?"))],!0)])}const ft=y(ct,[["render",mt],["__scopeId","data-v-06082a1a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseAvatar.vue"]]),_t=Object.freeze(Object.defineProperty({__proto__:null,default:ft},Symbol.toStringTag,{value:"Module"}));C.add(L);const gt={name:"OpenwbButtonGroupInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Boolean],default:void 0},buttons:{type:Array,required:!0}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},bt={class:"btn-group btn-block btn-group-toggle"},ht=["value"];function vt(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",bt,[(l(!0),u(I,null,q(n.buttons,r=>(l(),u("label",{key:r.value,class:O(["btn",[s.value==r.buttonValue?"active":"",r.class?r.class:"btn-outline-info"]])},[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=k=>s.value=k),type:"radio",value:r.buttonValue,ref_for:!0},t.$attrs),null,16,ht),[[ee,s.value]]),g(t.$slots,"label-"+r.buttonValue,{},()=>[p(v(r.text),1)]),m(o,{"fixed-width":"",icon:["fas","check"],style:te([s.value==r.buttonValue?"visibility: visible":"visibility: hidden"])},null,8,["style"])],2))),128))])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const yt=y(gt,[["render",vt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonGroupInput.vue"]]),wt=Object.freeze(Object.defineProperty({__proto__:null,default:yt},Symbol.toStringTag,{value:"Module"}));const kt={name:"OpenwbClickButton",props:{title:{type:String,required:!1,default:""}},emits:["buttonClicked"],methods:{click(t){this.$emit("buttonClicked",t)}}};function St(t,e,n,d,i,s){return l(),u("button",{type:"button",class:"btn btn-block",onClick:e[0]||(e[0]=E((...o)=>s.click&&s.click(...o),["prevent"]))},[g(t.$slots,"default",{},()=>[p(v(n.title),1)],!0)])}const K=y(kt,[["render",St],["__scopeId","data-v-2e9c095b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseClickButton.vue"]]),Bt=Object.freeze(Object.defineProperty({__proto__:null,default:K},Symbol.toStringTag,{value:"Module"})),Ot={name:"OpenwbButtonInput",components:{OpenwbBaseSettingElement:M,OpenwbBaseClickButton:K},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},buttonText:{type:String,required:!1,default:void 0},disabled:{type:Boolean,default:!1},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"}},emits:["buttonClicked"],methods:{handleClick(t){this.$emit("buttonClicked",t)}}};function Ct(t,e,n,d,i,s){const o=b("openwb-base-click-button"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[m(o,S({class:(n.disabled?"btn-outline-":"btn-")+n.subtype,disabled:n.disabled},t.$attrs,{onButtonClicked:s.handleClick}),{default:c(()=>[p(v(n.buttonText),1)]),_:1},16,["class","disabled","onButtonClicked"])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const $t=y(Ot,[["render",Ct],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseButtonInput.vue"]]),Tt=Object.freeze(Object.defineProperty({__proto__:null,default:$t},Symbol.toStringTag,{value:"Module"}));C.add(fe,_e);const It={name:"OpenwbCard",components:{FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,default:void 0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"secondary"},bodyBg:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark","pink","white"].indexOf(t)!==-1},default:"light"},collapsible:{type:Boolean,default:!1},collapsed:{type:Boolean,default:!1}},data(){return{isCollapsed:this.collapsible&&this.collapsed}},methods:{toggleBody(){this.collapsible===!0&&(this.isCollapsed=!this.isCollapsed)}}},xt={class:"form-group mb-0"},Mt={class:"form-row vaRow mb-0 py-2"},Vt={class:"col"},At={class:"card-actions ml-4"},Pt={key:0,class:"card-actions mr-4"},qt={key:2,class:"card-footer"};function Dt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",{class:O(["card","border-"+n.subtype])},[n.title!==void 0||t.$slots.header?(l(),u("div",{key:0,class:O(["card-header py-1","bg-"+n.subtype]),onClick:e[0]||(e[0]=(..._)=>s.toggleBody&&s.toggleBody(..._))},[a("div",xt,[a("div",Mt,[a("div",Vt,[g(t.$slots,"header",{collapsed:i.isCollapsed},()=>[p(v(n.title),1)])])])]),a("span",At,[t.$slots.actions?(l(),u("span",Pt,[g(t.$slots,"actions",{collapsed:i.isCollapsed})])):f("",!0),n.collapsible?(l(),h(o,{key:1,"fixed-width":"",icon:i.isCollapsed?["fas","chevron-right"]:["fas","chevron-down"]},null,8,["icon"])):f("",!0)])],2)):f("",!0),i.isCollapsed===!1?(l(),u("div",S({key:1,class:["card-body",[n.title==null&&!t.$slots.header?"border-radius-top-inherit":"",t.$slots.footer?"":"border-radius-bottom-inherit","bg-"+n.bodyBg]]},t.$attrs),[g(t.$slots,"default")],16)):f("",!0),t.$slots.footer&&i.isCollapsed===!1?(l(),u("div",qt,[g(t.$slots,"footer")])):f("",!0)],2)}const Et=y(It,[["render",Dt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCard.vue"]]),Lt=Object.freeze(Object.defineProperty({__proto__:null,default:Et},Symbol.toStringTag,{value:"Module"})),jt={name:"OpenwbCheckboxInput",components:{OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Boolean}},emits:["update:modelValue"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}}}},Wt={class:"col-md-8"};function Rt(t,e,n,d,i,s){const o=b("openwb-base-setting-element");return l(),h(o,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",Wt,[B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=_=>s.value=_),class:"form-control",type:"checkbox"},t.$attrs),null,16),[[ne,s.value]])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Nt=y(jt,[["render",Rt],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCheckboxInput.vue"]]),Ft=Object.freeze(Object.defineProperty({__proto__:null,default:Nt},Symbol.toStringTag,{value:"Module"}));C.add(ge,be);const Ht={name:"OpenwbCopyToClipboard",components:{FontAwesomeIcon:$},props:{tooltip:{type:String,default:"Wert kopieren"}},data(){return{clipboardApiAvailable:navigator.clipboard!=null,isCopied:!1}},methods:{click(){if(console.debug(this.$refs["slot-wrapper"].innerText),this.clipboardApiAvailable)navigator.clipboard.writeText(this.$refs["slot-wrapper"].innerText).then(()=>{this.isCopied=!0},()=>{console.error("copy to clipboard failed")});else{if(console.debug("clipboard api not supported/enabled, fallback to select"),window.getSelection){console.debug("using 'window.getSelection'");const t=window.getSelection(),e=document.createRange();e.selectNodeContents(this.$refs["slot-wrapper"]),t.removeAllRanges(),t.addRange(e);return}if(document.body.createTextRange){console.debug("using 'document.body.createTextRange'");const t=document.body.createTextRange();t.moveToElementText(this.$refs["slot-wrapper"]),t.select()}else console.warn("could not select text, unsupported browser")}}}},Ut=["title"];function zt(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("span",{ref:"slot-wrapper",title:n.tooltip,class:"copy-me",onClick:e[0]||(e[0]=(..._)=>s.click&&s.click(..._))},[g(t.$slots,"default",{},void 0,!0),m(o,{"fixed-width":"",icon:i.isCopied?["fas","clipboard-check"]:["fas","clipboard"]},null,8,["icon"])],8,Ut)}const Gt=y(Ht,[["render",zt],["__scopeId","data-v-81826ebe"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseCopyToClipboard.vue"]]),Jt=Object.freeze(Object.defineProperty({__proto__:null,default:Gt},Symbol.toStringTag,{value:"Module"}));C.add(H,U,L);const Kt={name:"OpenwbHeading",components:{FontAwesomeIcon:$},inheritAttrs:!1,data(){return{showHelp:!1}},methods:{toggleHelp(){this.showHelp=!this.showHelp&&this.$slots.help!==void 0}}},Qt={class:"heading-text"},Yt={key:0,class:"actions"},Zt={class:""},Xt={key:0,class:"form-row alert alert-info small flex-fill"};function en(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u(I,null,[a("div",S({class:"card-text card-text-heading"},t.$attrs),[a("div",Qt,[g(t.$slots,"default",{},void 0,!0),t.$slots.help?(l(),h(o,{key:0,icon:i.showHelp?["fas","question-circle"]:["far","question-circle"],class:O(["clickable",i.showHelp?"text-info":""]),onClick:E(s.toggleHelp,["stop"])},null,8,["icon","class","onClick"])):f("",!0)]),t.$slots.actions?(l(),u("span",Yt,[g(t.$slots,"actions",{},void 0,!0)])):f("",!0)],16),a("div",Zt,[i.showHelp?(l(),u("span",Xt,[g(t.$slots,"help",{},void 0,!0)])):f("",!0)])],64)}const tn=y(Kt,[["render",en],["__scopeId","data-v-cbe4e96e"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseHeading.vue"]]),nn=Object.freeze(Object.defineProperty({__proto__:null,default:tn},Symbol.toStringTag,{value:"Module"})),sn={name:"OpenwbModalDialog",props:{title:{type:String,required:!1,default:""},subtype:{type:String,validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},buttons:{type:Array,default:void 0},footerAlignment:{type:String,validator:function(t){return["around","between","center","end","start"].indexOf(t)!==-1},default:"end"},preventClose:{type:Boolean,default:!1},show:{type:Boolean,default:!1}},emits:["modal-result"],computed:{myButtons(){var t=[];return this.buttons!==void 0&&(t=this.buttons),this.preventClose||t.push({text:"Schließen",event:"close"}),t}},methods:{handleClick(t){t.stopPropagation();let e=t.target.getAttribute("data-event");e===null&&(e="close"),(e!="close"||!this.preventClose)&&this.$emit("modal-result",e)}}},on={class:"modal-dialog modal-dialog-centered modal-dialog-scrollable",role:"document"},an={class:"modal-content"},ln={class:"modal-title"},rn={class:"modal-body"},dn=["data-event"];function un(t,e,n,d,i,s){return n.show?(l(),h(F,{key:0,to:"body"},[e[4]||(e[4]=a("div",{class:"modal-backdrop fade show"},null,-1)),a("div",{class:"modal fade d-block show",role:"dialog",onClick:e[2]||(e[2]=(...o)=>s.handleClick&&s.handleClick(...o))},[a("div",on,[a("div",an,[a("div",{class:O(["modal-header","bg-"+n.subtype])},[a("h4",ln,v(n.title),1),n.preventClose?f("",!0):(l(),u("button",{key:0,type:"button",class:"close",onClick:e[0]||(e[0]=(...o)=>s.handleClick&&s.handleClick(...o))}," × "))],2),a("div",rn,[g(t.$slots,"default",{},()=>[e[3]||(e[3]=p("# Body #"))])]),s.myButtons.length>0?(l(),u("div",{key:0,class:O(["modal-footer d-flex","justify-content-"+n.footerAlignment])},[(l(!0),u(I,null,q(s.myButtons,o=>(l(),u("button",{key:o.text,type:"button",class:O(["btn",o.subtype?"btn-"+o.subtype:"btn-secondary"]),"data-dismiss":"modal","data-event":o.event?o.event:"close",onClick:e[1]||(e[1]=(..._)=>s.handleClick&&s.handleClick(..._))},v(o.text),11,dn))),128))],2)):f("",!0)])])])])):f("",!0)}const cn=y(sn,[["render",un],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseModalDialog.vue"]]),pn=Object.freeze(Object.defineProperty({__proto__:null,default:cn},Symbol.toStringTag,{value:"Module"}));C.add(he);const mn={name:"OpenwbNumberInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},precision:{type:Number,default:void 0},emptyValue:{type:[Number,null],required:!1,default:null}},emits:["update:modelValue"],computed:{value:{get(){return this.precision!==void 0?parseFloat(Math.round(this.modelValue*Math.pow(10,this.precision))/Math.pow(10,this.precision)):this.modelValue},set(t){(isNaN(t)||typeof t!="number")&&(t=this.emptyValue),this.$emit("update:modelValue",t)}}}},fn={class:"input-group"},_n={class:"input-group-prepend"},gn={class:"input-group-text"},bn={key:0,class:"input-group-append"},hn={class:"input-group-text"};function vn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",fn,[a("div",_n,[a("div",gn,[m(o,{"fixed-width":"",icon:["fas","calculator"]})])]),B(a("input",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16),[[T,s.value,void 0,{number:!0}]]),n.unit?(l(),u("div",bn,[a("div",hn,v(n.unit),1)])):f("",!0)])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const yn=y(mn,[["render",vn],["__scopeId","data-v-c2fb7eef"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseNumberInput.vue"]]),wn=Object.freeze(Object.defineProperty({__proto__:null,default:yn},Symbol.toStringTag,{value:"Module"}));C.add(ve,ye);const kn={name:"OpenwbRangeInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:Number,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},min:{type:Number,required:!0,default:0},max:{type:Number,required:!0,default:100},step:{type:Number,required:!1,default:1},labels:{type:Array,required:!1,default:void 0}},emits:["update:modelValue"],computed:{label(){var t;return this.labels&&this.sliderValue!=null?this.sliderValue[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",Sn,[a("div",Bn,[s.label?(l(),u("label",On,v(s.label),1)):f("",!0),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[0]||(e[0]=(...r)=>s.decrement&&s.decrement(...r))},[m(o,{icon:["fas","step-backward"]})]),a("div",Cn,[B(a("input",S({"onUpdate:modelValue":e[1]||(e[1]=r=>s.sliderValue=r),type:"range",class:"form-control-range rangeInput",min:n.min,max:n.max,step:n.step},t.$attrs),null,16,$n),[[T,s.sliderValue,void 0,{number:!0}]])]),a("button",{class:"col-1 btn btn-block btn-info",type:"button",onClick:e[2]||(e[2]=(...r)=>s.increment&&s.increment(...r))},[m(o,{icon:["fas","step-forward"]})])])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const In=y(kn,[["render",Tn],["__scopeId","data-v-449fb0a5"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseRangeInput.vue"]]),xn=Object.freeze(Object.defineProperty({__proto__:null,default:In},Symbol.toStringTag,{value:"Module"}));C.add(z);const Mn={name:"OpenwbSelectInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Number,Array,null],required:!1,default:void 0},groups:{type:Array,required:!1,default:void 0},options:{type:Array,required:!1,default:void 0},notSelected:{type:String,default:void 0},addButton:{type:Boolean,default:!1}},emits:["update:modelValue","input:add"],computed:{value:{get(){return this.modelValue},set(t){this.$emit("update:modelValue",t)}},addDisabled:{get(){return this.value===void 0}}},methods:{addClicked(){this.addDisabled||this.$emit("input:add")}}},Vn={class:"w-100"},An={class:"input-group"},Pn={key:0,class:"input-group-prepend"},qn={class:"input-group-text"},Dn={key:0,value:void 0,disabled:""},En=["value"],Ln=["label"],jn=["value"],Wn={key:1,class:"input-group-append"};function Rn(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)])]),default:c(()=>[a("div",Vn,[a("div",An,[t.$slots.prefix?(l(),u("div",Pn,[a("div",qn,[g(t.$slots,"prefix")])])):f("",!0),B(a("select",S({"onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"col form-control"},t.$attrs),[n.notSelected!==void 0?(l(),u("option",Dn," -- "+v(n.notSelected)+" -- ",1)):f("",!0),(l(!0),u(I,null,q(n.options,r=>(l(),u("option",{key:r.value,value:r.value},v(r.text),9,En))),128)),(l(!0),u(I,null,q(n.groups,r=>(l(),u("optgroup",{key:r.label,label:r.label},[(l(!0),u(I,null,q(r.options,k=>(l(),u("option",{key:k.value,value:k.value},v(k.text),9,jn))),128))],8,Ln))),128))],16),[[se,s.value]]),n.addButton?(l(),u("div",Wn,[a("div",{class:O(["input-group-text",s.addDisabled?"not-clickable":"bg-success clickable"]),onClick:e[1]||(e[1]=r=>s.addClicked())},[g(t.$slots,"inputAdd",{},()=>[m(o,{"fixed-width":"",icon:["fas","plus"]})])],2)])):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help")]),key:"0"}:void 0]),1024)}const Nn=y(Mn,[["render",Rn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSelectInput.vue"]]),Fn=Object.freeze(Object.defineProperty({__proto__:null,default:Nn},Symbol.toStringTag,{value:"Module"}));C.add(L,we,ke);const Hn={name:"OpenwbSubmitButtons",components:{FontAwesomeIcon:$},props:{formName:{type:String,default:void 0},hideReset:{type:Boolean,default:!1},hideDefaults:{type:Boolean,default:!0}},emits:["reset","defaults","save"],data(){return{showModalReset:!1,showModalDefaults:!1}},computed:{showModalSave(){return this.$store.state.local.savingData}},methods:{showResetModal(){this.showModalReset=!0},handleModalReset(t){this.showModalReset=!1,t=="confirm"&&this.$emit("reset")},showDefaultsModal(){this.showModalDefaults=!0},handleModalDefaults(t){this.showModalDefaults=!1,t=="confirm"&&this.$emit("defaults")},saveSettings(){if(this.formName){if(!document.forms[this.formName].reportValidity()){console.debug("form invalid");return}}else console.debug("no form to validate");this.$emit("save")}}},Un={class:"row justify-content-center mb-1"},zn={class:"col-md-4 d-flex py-1 justify-content-center"},Gn={key:0,class:"col-md-4 d-flex py-1 justify-content-center"},Jn={key:1,class:"col-md-4 d-flex py-1 justify-content-center"};function Kn(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog"),_=b("font-awesome-icon");return l(),u(I,null,[m(o,{show:s.showModalSave,title:"Speichern",subtype:"success","prevent-close":!0},{default:c(()=>e[3]||(e[3]=[p(" Einstellungen werden gespeichert... ")])),_:1},8,["show"]),m(o,{show:i.showModalReset,title:"Änderungen verwerfen",subtype:"warning",buttons:[{text:"Ok",event:"confirm",subtype:"warning"}],onModalResult:s.handleModalReset},{default:c(()=>e[4]||(e[4]=[p(" Wollen Sie die nicht gespeicherten Änderungen wirklich verwerfen? ")])),_:1},8,["show","onModalResult"]),m(o,{show:i.showModalDefaults,title:"Werkseinstellungen",subtype:"danger",buttons:[{text:"Ok",event:"confirm",subtype:"danger"}],onModalResult:s.handleModalDefaults},{default:c(()=>e[5]||(e[5]=[p(" Wollen Sie wirklich alle Werte dieser Seite auf die Werkseinstellungen zurücksetzen? ")])),_:1},8,["show","onModalResult"]),a("div",Un,[a("div",zn,[a("button",{id:"saveSettingsBtn",type:"button",class:"btn btn-block btn-success",onClick:e[0]||(e[0]=(...r)=>s.saveSettings&&s.saveSettings(...r))},[e[6]||(e[6]=p(" Speichern ")),m(_,{"fixed-width":"",icon:["fas","check"]})])]),n.hideReset?f("",!0):(l(),u("div",Gn,[a("button",{id:"modalResetBtn",type:"button",class:"btn btn-block btn-warning",onClick:e[1]||(e[1]=(...r)=>s.showResetModal&&s.showResetModal(...r))},[e[7]||(e[7]=p(" Änderungen verwerfen ")),m(_,{"fixed-width":"",icon:["fas","undo"]})])])),n.hideDefaults?f("",!0):(l(),u("div",Jn,[a("button",{id:"modalDefaultsBtn",type:"button",class:"btn btn-block btn-danger",onClick:e[2]||(e[2]=(...r)=>s.showDefaultsModal&&s.showDefaultsModal(...r))},[e[8]||(e[8]=p(" Werkseinstellungen ")),m(_,{"fixed-width":"",icon:["fas","times"]})])]))])],64)}const Qn=y(Hn,[["render",Kn],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseSubmitButtons.vue"]]),Yn=Object.freeze(Object.defineProperty({__proto__:null,default:Qn},Symbol.toStringTag,{value:"Module"}));C.add(G,Se,Be,Oe,Ce,J,$e,Te,Ie,xe,Me,Ve);const Zn={name:"OpenwbTextInput",components:{FontAwesomeIcon:$,OpenwbBaseSettingElement:M},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","email","host","url","user","json","password","time","date","month","year"].indexOf(t)!==-1},default:"text"},pattern:{type:String,required:!1,default:void 0},unit:{type:String,required:!1,default:void 0},emptyValue:{type:[String,Object,null],required:!1,default:null},showQuickButtons:{type:Boolean,default:!1}},emits:["update:modelValue"],data(){return{showPassword:!1,inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.warn("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.error("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else t==""&&(t=this.emptyValue),this.$emit("update:modelValue",t)}},inputRef(){switch(this.subtype){case"json":return this.$refs.jsonInput;case"password":return this.$refs.passwordInput;case"host":return this.$refs.hostInput;case"email":case"url":return this.$refs.urlInput;case"time":return this.$refs.timeInput;case"date":return this.$refs.dateInput;case"month":return this.$refs.monthInput;case"year":return this.$refs.yearInput}return this.$refs.textInput}},methods:{togglePassword(){this.showPassword=!this.showPassword},modify(t){var e,n=new Date(this.modelValue);switch(this.subtype){case"date":n.setDate(n.getDate()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0")+"-"+String(n.getDate()).padStart(2,"0");break;case"month":n.setMonth(n.getMonth()+t),e=String(n.getFullYear())+"-"+String(n.getMonth()+1).padStart(2,"0");break;case"year":n.setYear(n.getFullYear()+t),e=String(n.getFullYear());break;default:console.warn(`cannot modify input of subtype '${this.subtype}'`);return}e>this.inputRef.max||e[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",Xn,[a("div",es,[a("div",ts,[a("div",ns,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):f("",!0),n.subtype=="email"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","envelope"]})):f("",!0),n.subtype=="host"?(l(),h(o,{key:2,"fixed-width":"",icon:["fas","network-wired"]})):f("",!0),n.subtype=="url"?(l(),h(o,{key:3,"fixed-width":"",icon:["fas","globe"]})):f("",!0),n.subtype=="user"?(l(),h(o,{key:4,"fixed-width":"",icon:["fas","user"]})):f("",!0),n.subtype=="json"?(l(),h(o,{key:5,"fixed-width":"",icon:["fas","code"]})):f("",!0),n.subtype=="password"?(l(),h(o,{key:6,"fixed-width":"",icon:i.showPassword?["fas","unlock"]:["fas","lock"]},null,8,["icon"])):f("",!0),n.subtype=="time"?(l(),h(o,{key:7,"fixed-width":"",icon:["fas","clock"]})):f("",!0),n.subtype=="date"||n.subtype=="month"||n.subtype=="year"?(l(),h(o,{key:8,"fixed-width":"",icon:["fas","calendar-day"]})):f("",!0)])]),["text","user"].includes(n.subtype)?B((l(),u("input",S({key:0,ref:"textInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),type:"text",class:["form-control",{invalid:i.inputInvalid}]},t.$attrs,{pattern:n.pattern}),null,16,ss)),[[T,s.value]]):f("",!0),n.subtype=="json"?B((l(),u("input",S({key:1,ref:"jsonInput","onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,os)),[[T,s.value]]):f("",!0),n.subtype=="password"?B((l(),u("input",S({key:2,ref:"passwordInput","onUpdate:modelValue":e[2]||(e[2]=r=>s.value=r),type:i.showPassword?"text":"password",class:"form-control"},t.$attrs,{pattern:n.pattern}),null,16,as)),[[R,s.value]]):f("",!0),n.subtype=="host"?B((l(),u("input",S({key:3,ref:"hostInput","onUpdate:modelValue":e[3]||(e[3]=r=>s.value=r),type:"text",class:"form-control"},t.$attrs),null,16)),[[T,s.value]]):f("",!0),["email","url"].includes(n.subtype)?B((l(),u("input",S({key:4,"onUpdate:modelValue":e[4]||(e[4]=r=>s.value=r),refs:"urlInput",type:n.subtype,class:"form-control"},t.$attrs),null,16,is)),[[R,s.value]]):f("",!0),n.subtype=="time"?B((l(),u("input",S({key:5,ref:"timeInput","onUpdate:modelValue":e[5]||(e[5]=r=>s.value=r),type:"time",class:"form-control"},t.$attrs),null,16)),[[T,s.value]]):f("",!0),n.subtype=="date"?B((l(),u("input",S({key:6,ref:"dateInput","onUpdate:modelValue":e[6]||(e[6]=r=>s.value=r),type:"date",class:"form-control"},t.$attrs),null,16)),[[T,s.value]]):f("",!0),n.subtype=="month"?B((l(),u("input",S({key:7,ref:"monthInput","onUpdate:modelValue":e[7]||(e[7]=r=>s.value=r),type:"month",class:"form-control"},t.$attrs),null,16)),[[T,s.value]]):f("",!0),n.subtype=="year"?B((l(),u("input",S({key:8,ref:"yearInput","onUpdate:modelValue":e[8]||(e[8]=r=>s.value=r),type:"number",class:"form-control"},t.$attrs),null,16)),[[T,s.value]]):f("",!0),n.unit?(l(),u("div",ls,[a("div",rs,v(n.unit),1)])):f("",!0),n.subtype=="password"?(l(),u("div",{key:10,class:"input-group-append clickable",onClick:e[9]||(e[9]=(...r)=>s.togglePassword&&s.togglePassword(...r))},[a("div",ds,[m(o,{"fixed-width":"",icon:i.showPassword?["far","eye"]:["far","eye-slash"]},null,8,["icon"])])])):f("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:11,class:"input-group-append clickable",onClick:e[10]||(e[10]=r=>s.modify(-1))},e[12]||(e[12]=[a("div",{class:"input-group-text"},"-",-1)]))):f("",!0),n.showQuickButtons&&(n.subtype=="date"||n.subtype=="month"||n.subtype=="year")?(l(),u("div",{key:12,class:"input-group-append clickable",onClick:e[11]||(e[11]=r=>s.modify(1))},e[13]||(e[13]=[a("div",{class:"input-group-text"},"+",-1)]))):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const cs=y(Zn,[["render",us],["__scopeId","data-v-6927d479"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextInput.vue"]]),ps=Object.freeze(Object.defineProperty({__proto__:null,default:cs},Symbol.toStringTag,{value:"Module"}));C.add(G,J);const ms={name:"OpenwbTextareaInput",components:{OpenwbBaseSettingElement:M,FontAwesomeIcon:$},inheritAttrs:!1,props:{title:{type:String,required:!1,default:""},modelValue:{type:[String,Object],required:!1,default:void 0},subtype:{validator:function(t){return["text","json"].indexOf(t)!==-1},default:"text"}},emits:["update:modelValue"],data(){return{inputInvalid:!1,tempValue:this.modelValue}},computed:{value:{get(){return this.subtype=="json"?this.inputInvalid?(console.debug("returning invalid String"),this.tempValue):JSON.stringify(this.tempValue,void 0,2):this.modelValue},set(t){if(this.subtype=="json")try{let e=JSON.parse(t);this.inputInvalid=!1,this.$refs.jsonInput.setCustomValidity(""),this.tempValue=e,this.$emit("update:modelValue",e)}catch(e){console.warn("parsing JSON failed: "+t,e),this.inputInvalid=!0,this.$refs.jsonInput.setCustomValidity("Ungültiger JSON Ausdruck!"),this.tempValue=t}else this.$emit("update:modelValue",t)}},length:{get(){return this.value!==void 0?this.value.length:0}}}},fs={class:"w-100"},_s={class:"input-group"},gs={class:"input-group-prepend"},bs={class:"input-group-text"},hs={key:2,class:"input-group-append"},vs={class:"input-group-text"},ys={class:"form-text text-muted text-right"};function ws(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("openwb-base-setting-element");return l(),h(_,null,V({title:c(()=>[g(t.$slots,"title",{},()=>[p(v(n.title),1)],!0)]),default:c(()=>[a("div",fs,[a("div",_s,[a("div",gs,[a("div",bs,[n.subtype=="text"?(l(),h(o,{key:0,"fixed-width":"",icon:["fas","keyboard"]})):f("",!0),n.subtype=="json"?(l(),h(o,{key:1,"fixed-width":"",icon:["fas","code"]})):f("",!0)])]),n.subtype==="json"?B((l(),u("textarea",S({key:0,ref:"jsonInput","onUpdate:modelValue":e[0]||(e[0]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[T,s.value,void 0,{lazy:!0}]]):B((l(),u("textarea",S({key:1,"onUpdate:modelValue":e[1]||(e[1]=r=>s.value=r),class:"form-control"},t.$attrs),null,16)),[[T,s.value]]),t.$attrs.maxlength?(l(),u("div",hs,[a("div",vs,[a("small",ys,v(s.length)+" / "+v(t.$attrs.maxlength),1)])])):f("",!0)])])]),_:2},[t.$slots.help?{name:"help",fn:c(()=>[g(t.$slots,"help",{},void 0,!0)]),key:"0"}:void 0]),1024)}const ks=y(ms,[["render",ws],["__scopeId","data-v-3d93046b"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseTextarea.vue"]]),Ss=Object.freeze(Object.defineProperty({__proto__:null,default:ks},Symbol.toStringTag,{value:"Module"}));const Bs={name:"OpenwbToast",props:{topic:{type:String,required:!0},subtype:{validator:function(t){return["info","success","warning","danger","primary","secondary","light","dark"].indexOf(t)!==-1},default:"secondary"},source:{type:String,required:!0,validator:function(t){return["system","client","command"].indexOf(t)!==-1}},timestamp:{type:Number,required:!0}},emits:["dismiss","hide"],data(){return{handle:void 0,relativeTime:void 0,hidden:!1}},mounted(){this.handle=window.setInterval(this.updateRelativeTime,1e3)},unmounted(){window.clearInterval(this.handle)},methods:{dismiss(){this.$emit("dismiss",{topic:this.topic})},updateRelativeTime(){const t={year:31536e6,month:2628e6,day:864e5,hour:36e5,minute:6e4,second:1e3};var e=new Intl.RelativeTimeFormat("de",{numeric:"auto"});const d=new Date-this.timestamp*1e3;for(var i in t)if(Math.abs(d)>t[i]){this.relativeTime=e.format(Math.round(-d/t[i]),i);break}d>10*1e3&&!this.hidden&&(this.hidden=!0,this.$emit("hide",{topic:this.topic}))}}},Os={key:0,class:"time-diff"},Cs={class:"toast-body"};function $s(t,e,n,d,i,s){return l(),u("div",{class:O(["toast","border-"+n.subtype]),role:"alert"},[a("div",{class:O(["toast-header","bg-"+n.subtype])},[e[2]||(e[2]=a("strong",{class:"pr-2 mr-auto"},"openWB",-1)),n.timestamp?(l(),u("small",Os,v(i.relativeTime),1)):f("",!0),a("button",{type:"button",class:"ml-2 mb-1 close","data-dismiss":"toast","aria-label":"Close",onClick:e[0]||(e[0]=(...o)=>s.dismiss&&s.dismiss(...o))},e[1]||(e[1]=[a("span",{"aria-hidden":"true"},"×",-1)]))],2),a("div",Cs,[g(t.$slots,"default",{},void 0,!0)])],2)}const Ts=y(Bs,[["render",$s],["__scopeId","data-v-c51b5764"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbBaseToast.vue"]]),Is=Object.freeze(Object.defineProperty({__proto__:null,default:Ts},Symbol.toStringTag,{value:"Module"}));C.add(Ae);const xs={name:"OpenwbNavBar",components:{FontAwesomeIcon:$},computed:{nodeEnv(){return"development"}},watch:{$route(){this.$refs.collapsibleNavbar.classList.remove("show"),this.$refs.navbarButton.classList.add("collapsed"),this.$refs.navbarButton.setAttribute("aria-expanded",!1)}}},Ms={class:"navbar navbar-expand-lg bg-dark navbar-dark fixed-top"},Vs={ref:"navbarButton",class:"navbar-toggler mr-5",type:"button","data-toggle":"collapse","data-target":"#collapsibleNavbar"},As={id:"collapsibleNavbar",ref:"collapsibleNavbar",class:"collapse navbar-collapse navbar-nav-scroll"},Ps={class:"navbar-nav"},qs={class:"nav-item"},Ds={class:"nav-item dropdown nav-separator-after"},Es={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ls={class:"nav-item dropdown"},js={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ws={class:"nav-item dropdown"},Rs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Ns={class:"nav-item dropdown"},Fs={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},Hs={class:"nav-item dropdown"},Us={class:"dropdown-menu","aria-labelledby":"navbarDropdown"},zs={class:"nav-item nav-separator-before"},Gs={class:"nav-link",href:"https://github.com/openWB/core/wiki",target:"_blank"};function Js(t,e,n,d,i,s){const o=b("router-link"),_=b("font-awesome-icon");return l(),u("nav",Ms,[e[31]||(e[31]=a("a",{class:"navbar-brand",href:"/openWB/web/"},[a("span",null,"openWB")],-1)),a("button",Vs,e[0]||(e[0]=[a("span",{class:"navbar-toggler-icon"},null,-1)]),512),a("div",As,[a("ul",Ps,[a("li",qs,[m(o,{to:"/Status",class:"nav-link","active-class":"active disabled"},{default:c(()=>e[1]||(e[1]=[p(" Status ")])),_:1})]),a("li",Ds,[e[4]||(e[4]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Auswertungen ",-1)),a("div",Es,[m(o,{to:"/Logging/ChargeLog",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[2]||(e[2]=[p(" Ladeprotokoll ")])),_:1}),m(o,{to:"/Logging/Chart",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[3]||(e[3]=[p(" Diagramme ")])),_:1})])]),a("li",Ls,[e[7]||(e[7]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Einstellungen ",-1)),a("div",js,[m(o,{to:"/GeneralConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[5]||(e[5]=[p(" Allgemein ")])),_:1}),m(o,{to:"/OptionalComponents",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[6]||(e[6]=[p(" Optionale Hardware ")])),_:1})])]),a("li",Ws,[e[13]||(e[13]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Ladeeinstellungen ",-1)),a("div",Rs,[m(o,{to:"/GeneralChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[8]||(e[8]=[p(" Übergreifendes ")])),_:1}),m(o,{to:"/InstantChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[9]||(e[9]=[p(" Sofortladen ")])),_:1}),m(o,{to:"/PVChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[10]||(e[10]=[p(" PV-Laden ")])),_:1}),m(o,{to:"/TimeChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[11]||(e[11]=[p(" Zeitladen ")])),_:1}),m(o,{to:"/ScheduledChargeConfig",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[12]||(e[12]=[p(" Zielladen ")])),_:1})])]),a("li",Ns,[e[20]||(e[20]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," Konfiguration ",-1)),a("div",Fs,[m(o,{to:"/HardwareInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[14]||(e[14]=[p(" Geräte und Komponenten ")])),_:1}),m(o,{to:"/LoadManagementConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[15]||(e[15]=[p(" Lastmanagement ")])),_:1}),m(o,{to:"/ChargePointInstallation",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[16]||(e[16]=[p(" Ladepunkte ")])),_:1}),m(o,{to:"/VehicleConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[17]||(e[17]=[p(" Fahrzeuge ")])),_:1}),e[18]||(e[18]=a("div",{class:"dropdown-divider"},null,-1)),e[19]||(e[19]=a("a",{href:"modules/legacy_smart_home/smarthomeconfig.php",class:"dropdown-item",target:"_blank"}," SmartHome ",-1))])]),a("li",Hs,[e[29]||(e[29]=a("a",{class:"nav-link dropdown-toggle",href:"#",role:"button","data-toggle":"dropdown","aria-expanded":"false"}," System ",-1)),a("div",Us,[m(o,{to:"/System/InstallAssistant",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[21]||(e[21]=[p(" Einrichtungsassistent ")])),_:1}),m(o,{to:"/System/CloudConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[22]||(e[22]=[p(" openWB Cloud ")])),_:1}),m(o,{to:"/System/MqttBridgeConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[23]||(e[23]=[p(" MQTT-Brücken ")])),_:1}),m(o,{to:"/System/DebugConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[24]||(e[24]=[p(" Fehlersuche ")])),_:1}),m(o,{to:"/System/Support",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[25]||(e[25]=[p(" Support ")])),_:1}),m(o,{to:"/System/DataManagement",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[26]||(e[26]=[p(" Datenverwaltung ")])),_:1}),m(o,{to:"/System/SystemConfiguration",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[27]||(e[27]=[p(" System ")])),_:1}),m(o,{to:"/System/LegalSettings",class:"dropdown-item","active-class":"active disabled"},{default:c(()=>e[28]||(e[28]=[p(" Rechtliches ")])),_:1})])]),a("li",zs,[a("a",Gs,[e[30]||(e[30]=p(" Wiki ")),m(_,{"fixed-width":"",icon:["fas","external-link-alt"]})])])])],512)])}const Ks=y(xs,[["render",Js],["__scopeId","data-v-e7a6d0c0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageNavbar.vue"]]);const Qs={name:"OpenwbPageFooter"},Ys={id:"footer",class:"footer bg-dark text-light font-small"},Zs={class:"container text-center"};function Xs(t,e,n,d,i,s){return l(),u("footer",Ys,[a("div",Zs,[a("small",null," Sie befinden sich hier: Einstellungen / "+v(t.$route.meta.heading),1)])])}const eo=y(Qs,[["render",Xs],["__scopeId","data-v-3c9a239a"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageFooter.vue"]]);C.add(Pe);const to={name:"OpenwbDonationBanner",components:{FontAwesomeIcon:$}},no={class:"mt-3 alert alert-dark text-center"},so={action:"https://www.paypal.com/cgi-bin/webscr",method:"post",target:"_blank"},oo={type:"submit",class:"btn btn-primary"};function ao(t,e,n,d,i,s){const o=b("font-awesome-icon");return l(),u("div",no,[e[3]||(e[3]=p(" Open Source made with love!")),e[4]||(e[4]=a("br",null,null,-1)),e[5]||(e[5]=p(" Jede Spende hilft die Weiterentwicklung von openWB voranzutreiben")),e[6]||(e[6]=a("br",null,null,-1)),a("form",so,[e[1]||(e[1]=a("input",{type:"hidden",name:"cmd",value:"_s-xclick"},null,-1)),e[2]||(e[2]=a("input",{type:"hidden",name:"hosted_button_id",value:"2K8C4Y2JTGH7U"},null,-1)),a("button",oo,[e[0]||(e[0]=p(" Spenden ")),m(o,{icon:["fab","paypal"]})])])])}const io=y(to,[["render",ao],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageDonationBanner.vue"]]),lo={name:"ComponentState",emits:["reset","defaults","save"],data(){return{mqttTopicsToSubscribe:[]}},computed:{weekdays(){return["Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag","Sonntag"]},chargeModes(){return["instant_charging","pv_charging","scheduled_charging","time_charging","standby","stop"]},statusLevel(){return["success","warning","danger"]},stateIcon:{get(){switch(this.$store.state.mqtt[this.baseTopic+"/get/fault_state"]){case 0:return["fas","check-circle"];case 1:return["fas","exclamation-triangle"];case 2:return["fas","times-circle"];default:return["fas","check-circle"]}}}},mounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doSubscribe(this.mqttTopicsToSubscribe)},unmounted(){this.mqttTopicsToSubscribe.length>0&&this.$root.doUnsubscribe(this.mqttTopicsToSubscribe)},methods:{updateState(t,e,n=void 0){console.debug("updateState:",t,e,n),this.$store.commit({type:"updateTopic",topic:t,objectPath:n,payload:e})},ac_current2dc_power(t){return parseFloat((t*3*230/1e3).toFixed(2))},dc_power2ac_current(t){return parseFloat((t*1e3/230/3).toFixed(2))},getWildcardIndexList(t,e=!1){let n=t;e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$");let d=Object.keys(this.$store.state.mqtt).filter(i=>i.match(n));return d.forEach((i,s,o)=>{o[s]=parseInt(i.match(/(?:\/)([0-9]+)(?=\/)*/g)[0].replace(/[^0-9]+/g,""))}),d},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})},formatDate(t,e={year:"numeric",month:"2-digit",day:"2-digit"}){return new Date(t).toLocaleDateString(void 0,e)},formatNumber(t,e=0,n=e,d=1){if(!(t==null||isNaN(t)))return t=t*d,t.toLocaleString(void 0,{minimumFractionDigits:e,maximumFractionDigits:n})},formatNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.formatNumber(this.$store.state.mqtt[t],e,n,d):"-"},formatPhaseArrayNumberTopic(t,e=0,n=e,d=1){return this.$store.state.mqtt[t]?this.$store.state.mqtt[t].map(i=>this.formatNumber(i,e,n,d)).join(" / "):"- / - / -"},translateChargeMode(t){switch(t){case"instant_charging":return"Sofort";case"pv_charging":return"PV";case"scheduled_charging":return"Zielladen";case"time_charging":return"Zeitladen";case"standby":return"Standby";case"stop":return"Stop";default:return console.warn("unknown charge mode:",t),t}},getFaultStateSubtype(t){const e=this.$store.state.mqtt[t+"/get/fault_state"];if(e===void 0)return"warning";switch(e){case 0:return"success";case 1:return"warning";case 2:return"danger";default:return"dark"}}}},Q=y(lo,[["__file","/opt/openWB-dev/openwb-ui-settings/src/components/mixins/ComponentState.vue"]]);C.add(qe,De);const ro={name:"OpenwbPageMessages",components:{FontAwesomeIcon:$,FontAwesomeLayers:Ee,FontAwesomeLayersText:Le},mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/messages/+","openWB/command/"+this.$root.mqttClientId+"/messages/+"],showAllMessages:!1,hiddenMessages:[]}},computed:{alertLevel(){return this.messages.reduce((e,n)=>((e=="light"&&["info","success","warning","danger"].includes(n.type)||e=="info"&&["success","warning","danger"].includes(n.type)||e=="success"&&["warning","danger"].includes(n.type)||e=="warning"&&n.type=="danger")&&(e=n.type),e),"light")},messages(){const t=[];return this.systemMessages.forEach(e=>{t.push(e)}),this.clientMessages.forEach(e=>{t.push(e)}),t.sort(this.compareMessagesByTimestamp),t},recentMessages(){return this.showAllMessages?this.messages:this.messages.filter(t=>!this.hiddenMessages.includes(t.topic))},messageIndicatorClass(){return"text-"+this.alertLevel},systemMessages(){let t=this.getWildcardTopics("openWB/system/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e},clientMessages(){let t=this.getWildcardTopics("openWB/command/"+this.$root.mqttClientId+"/messages/+");var e=[];for(const[n,d]of Object.entries(t))e.push({topic:n,...d});return e}},methods:{toggleAllMessages(){this.showAllMessages=!this.showAllMessages},compareMessagesByTimestamp(t,e){return e.timestamp-t.timestamp},clearTopic(t){this.$root.doPublish(t,void 0)},dismissMessage(t){this.clearTopic(t.topic);var e=this.hiddenMessages.indexOf(t.topic);e>-1&&this.hiddenMessages.splice(e,1)},dismissAllMessages(){this.messages.forEach(t=>{this.clearTopic(t.topic)}),this.hiddenMessages=[],this.toggleAllMessages()},hideMessage(t){this.hiddenMessages.includes(t.topic)||this.hiddenMessages.push(t.topic)}}},uo=["innerHTML"];function co(t,e,n,d,i,s){const o=b("font-awesome-icon"),_=b("font-awesome-layers-text"),r=b("font-awesome-layers"),k=b("openwb-base-alert"),x=b("openwb-base-click-button"),A=b("openwb-base-toast");return l(),u(I,null,[(l(),h(F,{to:"body"},[a("div",{id:"message-indicator",class:O(["text-light mt-1 p-2 mr-1 clickable",i.showAllMessages?"active":""]),onClick:e[0]||(e[0]=(...P)=>s.toggleAllMessages&&s.toggleAllMessages(...P))},[m(r,{"full-width":"",style:{"font-size":"175%"}},{default:c(()=>[m(o,{"fixed-width":"",icon:i.showAllMessages?["fas","bell"]:["far","bell"],class:O(s.messageIndicatorClass)},null,8,["icon","class"]),s.messages.length>0?(l(),h(_,{key:0,counter:"",value:s.messages.length,position:"top-right",class:"message-counter bg-light text-dark"},null,8,["value"])):f("",!0)]),_:1})],2)])),s.recentMessages.length>0||i.showAllMessages?(l(),u("div",{key:0,class:O(["openwb-toast-container",i.showAllMessages?"full-height":""])},[s.recentMessages.length==0?(l(),h(k,{key:0,subtype:"info"},{default:c(()=>e[1]||(e[1]=[p(" Keine Nachrichten vorhanden. ")])),_:1})):i.showAllMessages?(l(),h(x,{key:1,class:"btn-sm btn-secondary mb-1",onButtonClicked:s.dismissAllMessages},{default:c(()=>e[2]||(e[2]=[p(" Alle Nachrichten löschen ")])),_:1},8,["onButtonClicked"])):f("",!0),(l(!0),u(I,null,q(s.recentMessages,P=>(l(),h(A,{key:P.topic,topic:P.topic,source:P.source,subtype:P.type,timestamp:P.timestamp,onDismiss:s.dismissMessage,onHide:s.hideMessage},{default:c(()=>[a("span",{innerHTML:P.message},null,8,uo)]),_:2},1032,["topic","source","subtype","timestamp","onDismiss","onHide"]))),128))],2)):f("",!0)],64)}const po=y(ro,[["render",co],["__scopeId","data-v-2c25f0d0"],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageMessages.vue"]]),mo={name:"OpenwbPageBlocker",mixins:[Q],data(){return{mqttTopicsToSubscribe:["openWB/system/boot_done","openWB/system/update_in_progress"]}},computed:{title(){return this.bootInProgress||this.updateInProgress?"openWB ist noch nicht bereit":this.reloadRequired?"Neues Laden der Seite erforderlich":"???"},myButtons(){return!(this.bootInProgress||this.updateInProgress)&&this.reloadRequired?[{text:"Jetzt neu laden",subtype:"success",event:"reload"}]:[]},bootInProgress(){return this.$store.state.mqtt["openWB/system/boot_done"]==null?!0:!this.$store.state.mqtt["openWB/system/boot_done"]},updateInProgress(){return this.$store.state.mqtt["openWB/system/update_in_progress"]==null?!1:this.$store.state.mqtt["openWB/system/update_in_progress"]},reloadRequired(){return this.$store.state.local.reloadRequired},showModalBlocker(){return this.bootInProgress||this.updateInProgress||this.reloadRequired}},methods:{handleModalResult(t){t=="reload"?location.reload():console.warn("unknown event",t)}}},fo={class:"openwb-blocker"},_o={key:0},go={key:1},bo={key:2},ho={key:3};function vo(t,e,n,d,i,s){const o=b("openwb-base-modal-dialog");return l(),u("div",fo,[m(o,{show:s.showModalBlocker,title:s.title,subtype:"dark","prevent-close":!0,buttons:s.myButtons,onModalResult:e[0]||(e[0]=_=>s.handleModalResult(_))},{default:c(()=>[s.bootInProgress?(l(),u("p",_o,"Der Systemstart ist noch nicht abgeschlossen.")):f("",!0),s.updateInProgress?(l(),u("p",go,"Es wird eine Systemaktualisierung ausgeführt.")):f("",!0),!(s.bootInProgress||s.updateInProgress)&&s.reloadRequired?(l(),u("p",bo,"Bitte die Seite neu laden.")):(l(),u("p",ho,"Bitte warten..."))]),_:1},8,["show","title","buttons"])])}const yo=y(mo,[["render",vo],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/OpenwbPageBlocker.vue"]]);const wo={name:"OpenwbSettingsApp",components:{NavBar:Ks,PageFooter:eo,DonationBanner:io,Messages:po,Blocker:yo},data(){return{client:{connected:!1},connection:{protocol:location.protocol=="https:"?"wss":"ws",host:location.hostname,port:parseInt(location.port)||(location.protocol=="https:"?443:80),endpoint:"/ws",connectTimeout:4e3,reconnectPeriod:4e3}}},computed:{mqttClientId(){try{return this.client.options.clientId}catch(t){console.error("mqttClientId error",t);return}},topicList(){return Object.keys(this.$store.state.mqtt)}},created(){this.createConnection()},methods:{async saveValues(t=void 0){function e(d){return new Promise(i=>setTimeout(i,d))}console.debug("saving values..."),this.$store.state.local.savingData=!0;let n={};t===void 0?(console.debug("no topics defined, so save everything we have in store"),n=this.$store.state.mqtt):Array.isArray(t)?t.forEach(d=>{n[d]=this.$store.state.mqtt[d]}):console.error("expected array, got ",typeof t);for(const[d,i]of Object.entries(n)){let s=d.replace("openWB/","openWB/set/");console.debug("saving data:",s,i),this.doPublish(s,i),await e(100)}console.debug("done saving data"),this.$store.state.local.savingData=!1},resetValues(t=this.topicList){console.debug("resetting values..."),console.debug("topics: ",t),this.doUnsubscribe(t),this.doSubscribe(t)},setDefaultValues(){console.debug("setting default values... (ToDo)")},sendCommand(t){this.doPublish("openWB/set/command/"+this.client.options.clientId+"/todo",t,!1)},createConnection(){const{protocol:t,host:e,port:n,endpoint:d,...i}=this.connection,s=`${t}://${e}:${n}${d}`;console.debug("connecting to broker:",s);try{this.client=oe.connect(s,i)}catch(o){console.error("mqtt.connect error",o)}this.client.on("connect",()=>{console.debug("Connection succeeded! ClientId: ",this.client.options.clientId),this.doSubscribe(["openWB/system/usage_terms_acknowledged"]),this.doSubscribe(["openWB/system/installAssistantDone"])}),this.client.on("error",o=>{console.error("Connection failed",o)}),this.client.on("message",(o,_)=>{if(_.toString().length>0){let r;try{r=JSON.parse(_.toString())}catch(k){console.debug("Json parsing failed, fallback to string: ",o,k),r=_.toString()}this.$store.commit("updateTopic",{topic:o,payload:r})}else this.$store.commit("removeTopic",o)})},doSubscribe(t){console.debug("doSubscribe",t),t.forEach(e=>{this.$store.commit("addSubscription",e),this.$store.getters.subscriptionCount(e)==1?(e.includes("#")||e.includes("+")?console.debug("skipping init of wildcard topic:",e):this.$store.commit("addTopic",{topic:e,payload:void 0}),this.client.subscribe(e,{},n=>{if(n){console.error("Subscribe to topics error",n);return}})):console.debug("Already subscribed to topic: ",e)})},doUnsubscribe(t){console.debug("doUnsubscribe",t),t.forEach(e=>{this.$store.commit("removeSubscription",e),this.$store.getters.subscriptionCount(e)==0?(this.client.unsubscribe(e,n=>{n&&console.error("Unsubscribe error",n)}),e.includes("#")||e.includes("+")?(console.debug("expanding wildcard topic:",e),Object.keys(this.getWildcardTopics(e)).forEach(n=>{console.debug("removing wildcardTopic:",n),this.$store.commit("removeTopic",n)})):(console.debug("removing topic:",e),this.$store.commit("removeTopic",e))):console.debug("Still subscribed to topic: ",e)})},doPublish(t,e,n=!0,d=2){let i={qos:d,retain:n};this.client.publish(t,JSON.stringify(e),i,s=>{s&&console.error("Publish error",s)})},postClientMessage(t,e="secondary"){console.debug("postMessage:",t,e);const n=Date.now(),d="openWB/command/"+this.mqttClientId+"/messages/"+n;this.$store.commit({type:"addTopic",topic:d,payload:{message:t,type:e,source:"client",timestamp:Math.floor(n/1e3)}})},getWildcardTopics(t,e=!1){let n=t;return e||(n="^"+t.replaceAll("/","\\/").replaceAll("+","[^+/]+").replaceAll("#","[^#/]+")+"$"),Object.keys(this.$store.state.mqtt).filter(d=>d.match(n)).reduce((d,i)=>({...d,[i]:this.$store.state.mqtt[i]}),{})}}},ko={role:"main",class:"container"},So={id:"content"};function Bo(t,e,n,d,i,s){const o=b("nav-bar"),_=b("router-view"),r=b("donation-banner"),k=b("page-footer"),x=b("messages"),A=b("blocker");return l(),u(I,null,[a("header",null,[m(o)]),a("div",ko,[a("div",So,[a("h1",null,v(t.$route.meta.heading),1),m(_,{onSave:s.saveValues,onReset:s.resetValues,onDefaults:s.setDefaultValues,onSendCommand:s.sendCommand},null,8,["onSave","onReset","onDefaults","onSendCommand"])]),m(r)]),m(k),m(x),m(A)],64)}const Oo=y(wo,[["render",Bo],["__file","/opt/openWB-dev/openwb-ui-settings/src/App.vue"]]),Co="modulepreload",$o=function(t){return"/openWB/web/settings/"+t},N={},w=function(e,n,d){if(!n||n.length===0)return e();const i=document.getElementsByTagName("link");return Promise.all(n.map(s=>{if(s=$o(s),s in N)return;N[s]=!0;const o=s.endsWith(".css"),_=o?'[rel="stylesheet"]':"";if(!!d)for(let x=i.length-1;x>=0;x--){const A=i[x];if(A.href===s&&(!o||A.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${s}"]${_}`))return;const k=document.createElement("link");if(k.rel=o?"stylesheet":Co,o||(k.as="script",k.crossOrigin=""),k.href=s,document.head.appendChild(k),o)return new Promise((x,A)=>{k.addEventListener("load",x),k.addEventListener("error",()=>A(new Error(`Unable to preload CSS for ${s}`)))})})).then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};let Y={mqtt:{},mqttSubscriptions:{},local:{reloadRequired:!1,savingData:!1},text:{rfidWiki:'Bitte auch hiervon abhängige Einstellungen beachten. Eine Übersicht gibt es im Wiki.'}};Y.examples={text1:"Text...",text2:"mail@domain.com",text3:"openwb.local",text4:"http://www.openwb.de",text5:"Benutzername",text6:"12:34",text7:"2021-10-31",number1:5,number2:10,number3:28e-5,password1:"GeHeiM!",textarea1:"Langer Text...",range1:6,range2:10,select1:1,select2:void 0,buttonGroup1:1,checkbox1:!0,json1:{text:"Text",number:123},hierarchy1:[{id:0,type:"counter",children:[{id:3,type:"inverter",children:[]},{id:4,type:"bat",children:[]},{id:1,type:"cp",children:[]},{id:2,type:"cp",children:[]}]}],hierarchy1Labels:{0:"EVU",1:"Ladepunkt 1",2:"Ladepunkt 2",3:"Wechselrichter",4:"Batteriespeicher"},tags:["1234","2345","3456"]};const D=ae({state:Y,mutations:{storeLocal(t,e){t.local[e.name]=e.value},addTopic(t,e){Object.keys(t.mqtt).includes(e.topic)?console.warn("topic already exists: ",e.topic):t.mqtt[e.topic]=e.payload},removeTopic(t,e){delete t.mqtt[e]},updateTopic(t,e){const n=(d,i,s)=>i.split(".").reduce((o,_,r)=>o[_]=i.split(".").length===++r?s:o[_]||{},d);e.topic in t.mqtt||!(e.topic in t.examples)?e.objectPath!=null?n(t.mqtt[e.topic],e.objectPath,e.payload):t.mqtt[e.topic]=e.payload:(console.debug("topic not found in state.mqtt: ",e.topic),e.topic in t.examples?e.objectPath!=null?n(t.examples[e.topic],e.objectPath,e.payload):t.examples[e.topic]=e.payload:console.warn("topic not found in state: ",e.topic," giving up"))},addSubscription(t,e){e in t.mqttSubscriptions?t.mqttSubscriptions[e]+=1:t.mqttSubscriptions[e]=1,console.debug("subscription count: ",e,t.mqttSubscriptions[e])},removeSubscription(t,e){e in t.mqttSubscriptions&&(t.mqttSubscriptions[e]-=1,t.mqttSubscriptions[e]<=0&&delete t.mqttSubscriptions[e])}},actions:{},modules:{},getters:{usageTermsAcknowledged(t){return new Promise(e=>{if(t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0)e(t.mqtt["openWB/system/usage_terms_acknowledged"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/usage_terms_acknowledged"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/usage_terms_acknowledged"]))},100)}})},installAssistantDone(t){return new Promise(e=>{if(t.mqtt["openWB/system/installAssistantDone"]!==void 0)e(t.mqtt["openWB/system/installAssistantDone"]);else{var n,d;n=setTimeout(()=>{clearInterval(d),e(!1)},5e3),d=setInterval(()=>{t.mqtt["openWB/system/installAssistantDone"]!==void 0&&(clearTimeout(n),clearInterval(d),e(t.mqtt["openWB/system/installAssistantDone"]))},100)}})},subscriptionCount:t=>e=>t.mqttSubscriptions[e]||0}}),Z=[{path:"/",redirect:"/GeneralConfig"},{path:"/Status",name:"Status",meta:{heading:"Status"},component:()=>w(()=>import("./Status-50b20d4f.js"),["assets/Status-50b20d4f.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-chartjs-53af3b3a.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/Status-9ecf39ed.css"])},{path:"/Logging/ChargeLog",name:"ChargeLog",meta:{heading:"Auswertungen - Ladeprotokoll"},component:()=>w(()=>import("./ChargeLog-b852c618.js"),["assets/ChargeLog-b852c618.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/ChargeLog-1fb3fa68.css"])},{path:"/Logging/Chart/:chartRange?/:initialDate?",name:"DailyChart",meta:{heading:"Auswertungen - Diagramme"},component:()=>w(()=>import("./Chart-1566a9bc.js"),["assets/Chart-1566a9bc.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-chartjs-53af3b3a.js","assets/vendor-luxon-8ddd27a0.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/Chart-e20451b4.css"])},{path:"/GeneralConfig",name:"GeneralConfig",meta:{heading:"Einstellungen - Allgemein"},component:()=>w(()=>import("./GeneralConfig-7d467a99.js").then(t=>t.a),["assets/GeneralConfig-7d467a99.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/OptionalComponents",name:"OptionalComponents",meta:{heading:"Einstellungen - Optionale Hardware"},component:()=>w(()=>import("./OptionalComponents-49df496e.js").then(t=>t.O),["assets/OptionalComponents-49df496e.js","assets/dynamic-import-helper-be004503.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css"])},{path:"/GeneralChargeConfig",name:"GeneralChargeConfig",meta:{heading:"Ladeeinstellungen - Übergreifendes"},component:()=>w(()=>import("./GeneralChargeConfig-efbc8743.js").then(t=>t.G),["assets/GeneralChargeConfig-efbc8743.js","assets/dynamic-import-helper-be004503.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css"])},{path:"/InstantChargeConfig",name:"InstantChargeConfig",meta:{heading:"Ladeeinstellungen - Sofortladen"},component:()=>w(()=>import("./InstantChargeConfig-e52b5c11.js"),["assets/InstantChargeConfig-e52b5c11.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/PVChargeConfig",name:"PVChargeConfig",meta:{heading:"Ladeeinstellungen - PV-Laden"},component:()=>w(()=>import("./PVChargeConfig-64465e6d.js"),["assets/PVChargeConfig-64465e6d.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/TimeChargeConfig",name:"TimeChargeConfig",meta:{heading:"Ladeeinstellungen - Zeitladen"},component:()=>w(()=>import("./TimeChargeConfig-faeb8d7d.js"),["assets/TimeChargeConfig-faeb8d7d.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/ScheduledChargeConfig",name:"ScheduledChargeConfig",meta:{heading:"Ladeeinstellungen - Zielladen"},component:()=>w(()=>import("./ScheduledChargeConfig-a5175cba.js"),["assets/ScheduledChargeConfig-a5175cba.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/HardwareInstallation",name:"HardwareInstallation",meta:{heading:"Konfiguration - Geräte und Komponenten"},component:()=>w(()=>import("./HardwareInstallation-774805b0.js").then(t=>t.a),["assets/HardwareInstallation-774805b0.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/LoadManagementConfiguration",name:"LoadManagementConfiguration",meta:{heading:"Konfiguration - Lastmanagement"},component:()=>w(()=>import("./LoadManagementConfig-854a9483.js"),["assets/LoadManagementConfig-854a9483.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/OpenwbSortableList-c42720fc.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/ChargePointInstallation",name:"ChargePointInstallation",meta:{heading:"Konfiguration - Ladepunkte"},component:()=>w(()=>import("./ChargePointInstallation-547f555f.js").then(t=>t.c),["assets/ChargePointInstallation-547f555f.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js","assets/ChargePointInstallation-7b9399a8.css"])},{path:"/VehicleConfiguration/:section?/:section_index?/:section_part?/:action?",name:"VehicleConfiguration",meta:{heading:"Konfiguration - Fahrzeuge"},component:()=>w(()=>import("./VehicleConfig-87862d5f.js").then(t=>t.b),["assets/VehicleConfig-87862d5f.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/CloudConfiguration",name:"CloudConfig",meta:{heading:"System - openWB Cloud"},component:()=>w(()=>import("./CloudConfig-ab2aae30.js"),["assets/CloudConfig-ab2aae30.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/MqttBridgeConfiguration",name:"MqttBridgeConfig",meta:{heading:"System - MQTT-Brücken"},component:()=>w(()=>import("./MqttBridgeConfig-060f419f.js"),["assets/MqttBridgeConfig-060f419f.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/DebugConfiguration",name:"Debugging",meta:{heading:"System - Fehlersuche"},component:()=>w(()=>import("./DebugConfig-e9d90cc1.js"),["assets/DebugConfig-e9d90cc1.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/DebugConfig-e21ab72c.css"])},{path:"/System/Support",name:"Support",meta:{heading:"System - Support"},component:()=>w(()=>import("./Support-66ab544c.js"),["assets/Support-66ab544c.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/LegalSettings",name:"LegalSettings",meta:{heading:"System - Rechtliches"},component:()=>w(()=>import("./LegalSettings-744f5891.js"),["assets/LegalSettings-744f5891.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])},{path:"/System/SystemConfiguration",name:"SystemConfig",meta:{heading:"System - System"},component:()=>w(()=>import("./System-0113e541.js"),["assets/System-0113e541.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js","assets/System-0f1d217b.css"])},{path:"/System/DataManagement",name:"DataManagement",meta:{heading:"System - Datenverwaltung"},component:()=>w(()=>import("./DataManagement-3ab650ed.js").then(t=>t.a),["assets/DataManagement-3ab650ed.js","assets/vendor-fortawesome-231ff303.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/dynamic-import-helper-be004503.js"])},{path:"/System/InstallAssistant",name:"InstallAssistant",meta:{heading:"System - Einrichtungsassistent"},component:()=>w(()=>import("./InstallAssistant-4f07448c.js"),["assets/InstallAssistant-4f07448c.js","assets/dynamic-import-helper-be004503.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])}];Z.push({path:"/TestingStore",name:"VUEX Store",meta:{heading:"Beispiele - VUEX Store"},component:()=>w(()=>import("./TestingStore-65231a11.js"),["assets/TestingStore-65231a11.js","assets/OpenwbSortableList-c42720fc.js","assets/vendor-0c15df0c.js","assets/vendor-sortablejs-1a751103.js","assets/vendor-aab9f734.css","assets/vendor-fortawesome-231ff303.js","assets/OpenwbSortableList-7ba533e4.css","assets/vendor-bootstrap-83e2d5a1.js","assets/vendor-jquery-84e2bf4a.js","assets/vendor-bootstrap-c4951098.css","assets/vendor-axios-c9d2afa0.js"])});const j=ie({history:le(),routes:Z});j.beforeEach(async t=>{if(await D.getters.usageTermsAcknowledged){if(!await D.getters.installAssistantDone&&t.name!=="InstallAssistant")return{name:"InstallAssistant"}}else if(t.name!=="LegalSettings")return{name:"LegalSettings"}});j.afterEach(t=>{t.meta.heading?document.title="openWB | "+t.meta.heading:document.title="openWB"});const W=re(Oo);W.use(D).use(j).use(je,We);const To=Object.assign({"./components/OpenwbBaseAlert.vue":He,"./components/OpenwbBaseArrayInput.vue":ut,"./components/OpenwbBaseAvatar.vue":_t,"./components/OpenwbBaseButtonGroupInput.vue":wt,"./components/OpenwbBaseButtonInput.vue":Tt,"./components/OpenwbBaseCard.vue":Lt,"./components/OpenwbBaseCheckboxInput.vue":Ft,"./components/OpenwbBaseClickButton.vue":Bt,"./components/OpenwbBaseCopyToClipboard.vue":Jt,"./components/OpenwbBaseHeading.vue":nn,"./components/OpenwbBaseModalDialog.vue":pn,"./components/OpenwbBaseNumberInput.vue":wn,"./components/OpenwbBaseRangeInput.vue":xn,"./components/OpenwbBaseSelectInput.vue":Fn,"./components/OpenwbBaseSettingElement.vue":Xe,"./components/OpenwbBaseSubmitButtons.vue":Yn,"./components/OpenwbBaseTextInput.vue":ps,"./components/OpenwbBaseTextarea.vue":Ss,"./components/OpenwbBaseToast.vue":Is});Object.entries(To).forEach(([t,e])=>{const n=de(ue(t.split("/").pop().replace(/\.\w+$/,"")));W.component(n,e.default)});W.mount("#app");export{Q as C,M as O,w as _}; diff --git a/web/settings/assets/inverter-4c3402f9.js b/web/settings/assets/inverter-134f0498.js similarity index 83% rename from web/settings/assets/inverter-4c3402f9.js rename to web/settings/assets/inverter-134f0498.js index 9aa84bbb96..36cb6fc164 100644 --- a/web/settings/assets/inverter-4c3402f9.js +++ b/web/settings/assets/inverter-134f0498.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as l,k as m,l as g,G as r,E as o,y as n,x as a}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpInverter",mixins:[p]},c={class:"device-http-inverter"};function b(t,e,v,f,w,_){const d=l("openwb-base-heading"),s=l("openwb-base-text-input");return m(),g("div",c,[r(d,null,{default:o(()=>e[2]||(e[2]=[n(" Einstellungen für Http Wechselrichter ")])),_:1}),r(s,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.power_path"))},{help:o(()=>e[3]||(e[3]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Pfad für Zählerstand Erzeugung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.exported_path"))},{help:o(()=>e[4]||(e[4]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"])])}const W=u(h,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/inverter.vue"]]);export{W as default}; +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as u,u as l,l as m,m as g,G as r,E as o,y as n,x as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const h={name:"DeviceHttpInverter",mixins:[p]},c={class:"device-http-inverter"};function b(t,e,v,f,w,_){const d=l("openwb-base-heading"),s=l("openwb-base-text-input");return m(),g("div",c,[r(d,null,{default:o(()=>e[2]||(e[2]=[n(" Einstellungen für Http Wechselrichter ")])),_:1}),r(s,{title:"Pfad für Leistung",subtype:"text",required:"",pattern:"^/[-a-zA-Z0-9@:%_\\+.~#?&/=]*","model-value":t.component.configuration.power_path,"onUpdate:modelValue":e[0]||(e[0]=i=>t.updateConfiguration(i,"configuration.power_path"))},{help:o(()=>e[3]||(e[3]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Pfad für Zählerstand Erzeugung",subtype:"text",pattern:"^(/[-a-zA-Z0-9@:%_\\+.~#?&/=]*)","model-value":t.component.configuration.exported_path,"onUpdate:modelValue":e[1]||(e[1]=i=>t.updateConfiguration(i,"configuration.exported_path"))},{help:o(()=>e[4]||(e[4]=[n(' Diese Angabe wird an die Server-URL angehängt und muss mit einem Schrägstrich "/" beginnen.'),a("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen absoluten Zählerstand in Wh darstellt."),a("br",null,null,-1),n(" Wird dieses Feld leer gelassen, wird der Zählerstand intern simuliert. ")])),_:1},8,["model-value"])])}const W=u(h,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/http/inverter.vue"]]);export{W as default}; diff --git a/web/settings/assets/inverter-6870bd1d.js b/web/settings/assets/inverter-2673061b.js similarity index 77% rename from web/settings/assets/inverter-6870bd1d.js rename to web/settings/assets/inverter-2673061b.js index cd2ce6bd6a..2a857a9565 100644 --- a/web/settings/assets/inverter-6870bd1d.js +++ b/web/settings/assets/inverter-2673061b.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as t,k as m,l as c,G as r,E as i,y as n,x as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxInverter",mixins:[u]},b={class:"device-powerfox-inverter"};function g(o,e,v,w,x,_){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Wechselrichter ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/inverter.vue"]]);export{$ as default}; +import{C as u}from"./HardwareInstallation-774805b0.js";import{_ as l,u as t,l as m,m as c,G as r,E as i,y as n,x as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DevicePowerfoxInverter",mixins:[u]},b={class:"device-powerfox-inverter"};function g(o,e,v,w,x,_){const a=t("openwb-base-heading"),p=t("openwb-base-text-input");return m(),c("div",b,[r(a,null,{default:i(()=>e[1]||(e[1]=[n(" Einstellungen für Powerfox Wechselrichter ")])),_:1}),r(p,{title:"ID",required:"","model-value":o.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=d=>o.updateConfiguration(d,"configuration.id"))},{help:i(()=>e[2]||(e[2]=[n(" Um die ID herauszufinden mit dem Browser die Adresse "),s("a",{href:"https://backend.powerfox.energy/api/2.0/my/all/devices",target:"_blank",rel:"noopener noreferrer"}," https://backend.powerfox.energy/api/2.0/my/all/devices ",-1),n(" aufrufen und dort Benutzername und Passwort eingeben. Die DeviceID ist exakt so einzutragen, wie in der Antwort des Servers. Das bedeutet insbesondere auch, die Groß-/Kleinschreibung ist zu beachten! In dem Feld ist nur die Zeichenfolge direkt hinter "),s("span",{class:"font-weight-bold text-monospace",style:{display:"contents"}},' "DeviceID" ',-1),n(" ohne den Doppelpunkt und Anführungszeichen einzutragen. ")])),_:1},8,["model-value"])])}const $=l(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/powerfox/powerfox/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-70406117.js b/web/settings/assets/inverter-2945d14b.js similarity index 65% rename from web/settings/assets/inverter-70406117.js rename to web/settings/assets/inverter-2945d14b.js index b55b12e903..cae5995706 100644 --- a/web/settings/assets/inverter-70406117.js +++ b/web/settings/assets/inverter-2945d14b.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as n,k as p,l as u,G as t,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerInverter",mixins:[a]},_={class:"device-huawei-smart-logger-inverter"};function g(o,e,b,f,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return p(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/inverter.vue"]]);export{H as default}; +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as m,u as n,l as p,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceHuaweiSmartLoggerInverter",mixins:[a]},_={class:"device-huawei-smart-logger-inverter"};function g(o,e,b,f,v,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return p(),u("div",_,[t(i,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für Huawei SmartLogger Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const H=m(c,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/huawei/huawei_smartlogger/inverter.vue"]]);export{H as default}; diff --git a/web/settings/assets/inverter-ec581ee5.js b/web/settings/assets/inverter-347f422e.js similarity index 81% rename from web/settings/assets/inverter-ec581ee5.js rename to web/settings/assets/inverter-347f422e.js index 0f5ec427f8..73fffc5700 100644 --- a/web/settings/assets/inverter-ec581ee5.js +++ b/web/settings/assets/inverter-347f422e.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as s,k as b,l as f,G as o,E as i,y as t,x as n,F as p}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceMqttInverter",mixins:[u]},v={class:"device-mqtt-inverter"};function w(r,e,c,x,z,B){const a=s("openwb-base-heading"),l=s("openwb-base-copy-to-clipboard"),m=s("openwb-base-alert");return b(),f("div",v,[o(a,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Wechselrichter ")])),_:1}),o(m,{subtype:"info"},{default:i(()=>[e[9]||(e[9]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" PV-Leistung in Watt als Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) Beispiel: ")),e[3]||(e[3]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/exported ",1)]),_:1}),e[4]||(e[4]=n("br",null,null,-1)),e[5]||(e[5]=t(" Erzeugte Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Beispiel: ")),e[8]||(e[8]=n("span",{class:"text-info"},"123.45",-1))])])]),_:1})])}const N=d(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/inverter.vue"]]);export{N as default}; +import{C as u}from"./HardwareInstallation-774805b0.js";import{_ as d,u as s,l as b,m as f,G as o,E as i,y as t,x as n,F as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceMqttInverter",mixins:[u]},v={class:"device-mqtt-inverter"};function w(r,e,c,x,z,B){const a=s("openwb-base-heading"),l=s("openwb-base-copy-to-clipboard"),m=s("openwb-base-alert");return b(),f("div",v,[o(a,null,{default:i(()=>e[0]||(e[0]=[t(" Einstellungen für MQTT Wechselrichter ")])),_:1}),o(m,{subtype:"info"},{default:i(()=>[e[9]||(e[9]=t(" Die folgenden Topics sind für einen reibungslosen Betrieb unbedingt erforderlich: ")),n("ul",null,[n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/power ",1)]),_:1}),e[1]||(e[1]=n("br",null,null,-1)),e[2]||(e[2]=t(" PV-Leistung in Watt als Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) Beispiel: ")),e[3]||(e[3]=n("span",{class:"text-info"},"-123",-1))]),n("li",null,[o(l,{class:"text-info",tooltip:"Topic kopieren"},{default:i(()=>[t(" openWB/set/pv/"+p(r.component.id)+"/get/exported ",1)]),_:1}),e[4]||(e[4]=n("br",null,null,-1)),e[5]||(e[5]=t(" Erzeugte Energie in Wh, Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen, nur positiv")),e[6]||(e[6]=n("br",null,null,-1)),e[7]||(e[7]=t(" Beispiel: ")),e[8]||(e[8]=n("span",{class:"text-info"},"123.45",-1))])])]),_:1})])}const N=d(g,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/mqtt/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-52d24f2b.js b/web/settings/assets/inverter-52d24f2b.js new file mode 100644 index 0000000000..f7383fd719 --- /dev/null +++ b/web/settings/assets/inverter-52d24f2b.js @@ -0,0 +1 @@ +import{C as s}from"./HardwareInstallation-774805b0.js";import{_ as a,u as t,l as u,m,G as i,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceOpenwbFlexInverter",mixins:[s]},b={class:"device-openwb-flex-inverter"};function f(o,e,_,w,x,g){const r=t("openwb-base-heading"),l=t("openwb-base-select-input"),p=t("openwb-base-number-input");return u(),m("div",b,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für openWB-Flex Wechselrichter ")])),_:1}),i(l,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"},{value:3,text:"SDM120"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(p,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const W=a(v,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/inverter.vue"]]);export{W as default}; diff --git a/web/settings/assets/inverter-56b4bbe6.js b/web/settings/assets/inverter-56b4bbe6.js new file mode 100644 index 0000000000..e456be6f14 --- /dev/null +++ b/web/settings/assets/inverter-56b4bbe6.js @@ -0,0 +1 @@ +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as m,u as o,l as p,m as l,G as n,E as d,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeInverter",mixins:[a]},_={class:"device-smart-me-inverter"};function f(t,e,v,b,g,x){const r=o("openwb-base-heading"),i=o("openwb-base-text-input");return p(),l("div",_,[n(r,null,{default:d(()=>e[1]||(e[1]=[u(" Einstellungen für smart-me Wechselrichter ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":t.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/inverter.vue"]]);export{G as default}; diff --git a/web/settings/assets/inverter-5766bb1f.js b/web/settings/assets/inverter-5766bb1f.js new file mode 100644 index 0000000000..62c600df88 --- /dev/null +++ b/web/settings/assets/inverter-5766bb1f.js @@ -0,0 +1 @@ +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as o,l,m as u,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitInverter",mixins:[p]},v={class:"device-openwb-evukit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-5a6e5f4b.js b/web/settings/assets/inverter-5a6e5f4b.js new file mode 100644 index 0000000000..45d4f7992c --- /dev/null +++ b/web/settings/assets/inverter-5a6e5f4b.js @@ -0,0 +1 @@ +import{C as e}from"./HardwareInstallation-774805b0.js";import{_ as t,l as o,m as n}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const r={name:"DeviceOpenDTUInverter",mixins:[e]},i={class:"device-opendtu-inverter"};function p(s,c,m,a,_,d){return o(),n("div",i)}const h=t(r,[["render",p],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/opendtu/opendtu/inverter.vue"]]);export{h as default}; diff --git a/web/settings/assets/inverter-84d3e047.js b/web/settings/assets/inverter-5d58d780.js similarity index 72% rename from web/settings/assets/inverter-84d3e047.js rename to web/settings/assets/inverter-5d58d780.js index 694c9351f4..aca7d3bc88 100644 --- a/web/settings/assets/inverter-84d3e047.js +++ b/web/settings/assets/inverter-5d58d780.js @@ -1 +1 @@ -import{C as d}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as r,k as u,l as c,G as n,E as i,y as o,x as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceDiscovergyInverter",mixins:[d]},f={class:"device-discovergy-inverter"};function g(t,e,_,b,w,x){const s=r("openwb-base-heading"),a=r("openwb-base-text-input");return u(),c("div",f,[n(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Wechselrichter ")])),_:1}),n(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const z=m(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/inverter.vue"]]);export{z as default}; +import{C as d}from"./HardwareInstallation-774805b0.js";import{_ as m,u as r,l as u,m as c,G as n,E as i,y as o,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceDiscovergyInverter",mixins:[d]},f={class:"device-discovergy-inverter"};function g(t,e,_,b,w,x){const s=r("openwb-base-heading"),a=r("openwb-base-text-input");return u(),c("div",f,[n(s,null,{default:i(()=>e[1]||(e[1]=[o(" Einstellungen für Discovergy Wechselrichter ")])),_:1}),n(a,{title:"Meter-ID",required:"","model-value":t.component.configuration.meter_id,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.meter_id"))},{help:i(()=>e[2]||(e[2]=[o(" Um die ID herauszufinden mit dem Browser die Adresse "),l("a",{href:"https://api.discovergy.com/public/v1/meters",target:"_blank",rel:"noopener noreferrer"}," https://api.discovergy.com/public/v1/meters ",-1),o(" aufrufen und dort Benutzername und Passwort eingeben. Hier wird nun u.a. die ID des Zählers angezeigt. ")])),_:1},8,["model-value"])])}const z=m(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/discovergy/discovergy/inverter.vue"]]);export{z as default}; diff --git a/web/settings/assets/inverter-63ce8f20.js b/web/settings/assets/inverter-63ce8f20.js deleted file mode 100644 index f4691b0329..0000000000 --- a/web/settings/assets/inverter-63ce8f20.js +++ /dev/null @@ -1 +0,0 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as o,k as l,l as u,G as n,E as m,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbEvukitInverter",mixins:[p]},v={class:"device-openwb-evukit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),u("div",v,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für openWB EVU-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_evu_kit/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-66e695f0.js b/web/settings/assets/inverter-66e695f0.js new file mode 100644 index 0000000000..4ed3671d88 --- /dev/null +++ b/web/settings/assets/inverter-66e695f0.js @@ -0,0 +1 @@ +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as t,l as u,m as l,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalPikoInverter",mixins:[a]},_={class:"device-kostal-piko-inverter"};function f(o,e,b,v,g,k){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return u(),l("div",_,[n(i,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Kostal Piko Wechselrichter ")])),_:1}),n(r,{title:"Speicher",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":o.component.configuration.bat_configured,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.bat_configured"))},null,8,["model-value"])])}const N=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-6ac061a0.js b/web/settings/assets/inverter-6ac061a0.js deleted file mode 100644 index f2cf53d253..0000000000 --- a/web/settings/assets/inverter-6ac061a0.js +++ /dev/null @@ -1 +0,0 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as n,k as m,l,G as t,E as u,y as d}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisInverter",mixins:[p]},_={class:"device-solis-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Wechselrichter ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const I=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-6e18b807.js b/web/settings/assets/inverter-6e18b807.js new file mode 100644 index 0000000000..43b13396c1 --- /dev/null +++ b/web/settings/assets/inverter-6e18b807.js @@ -0,0 +1 @@ +import{C as d}from"./HardwareInstallation-774805b0.js";import{_ as u,u as a,l as p,m,G as r,E as i,y as t,x as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceJsonInverter",mixins:[d]},f={class:"device-json-inverter"};function b(n,e,c,v,_,h){const l=a("openwb-base-heading"),s=a("openwb-base-text-input");return p(),m("div",f,[r(l,null,{default:i(()=>e[2]||(e[2]=[t(" Einstellungen für JSON Wechselrichter ")])),_:1}),r(s,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:i(()=>e[3]||(e[3]=[t(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Abfrage für Zählerstand",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:i(()=>e[4]||(e[4]=[t(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const B=u(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-71e6379a.js b/web/settings/assets/inverter-71e6379a.js new file mode 100644 index 0000000000..e80c9de70a --- /dev/null +++ b/web/settings/assets/inverter-71e6379a.js @@ -0,0 +1 @@ +import{C as e}from"./HardwareInstallation-774805b0.js";import{_ as n,l as t,m as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const o={name:"DeviceBenningInverter",mixins:[e]},r={class:"device-benning-inverter"};function s(p,c,m,a,_,v){return t(),i("div",r)}const C=n(o,[["render",s],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/benning/benning/inverter.vue"]]);export{C as default}; diff --git a/web/settings/assets/inverter-7851c37c.js b/web/settings/assets/inverter-7851c37c.js deleted file mode 100644 index 751d2caf04..0000000000 --- a/web/settings/assets/inverter-7851c37c.js +++ /dev/null @@ -1 +0,0 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as n,k as u,l as c,G as t,E as i,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecInverter",mixins:[a]},_={class:"device-mtec-inverter"};function b(o,e,f,v,g,w){const s=n("openwb-base-heading"),p=n("openwb-base-number-input");return u(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für M-Tec Wechselrichter ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const I=d(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-78a01fbf.js b/web/settings/assets/inverter-78a01fbf.js deleted file mode 100644 index f4be07aef2..0000000000 --- a/web/settings/assets/inverter-78a01fbf.js +++ /dev/null @@ -1 +0,0 @@ -import{C as s}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as t,k as u,l as m,G as i,E as d,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const v={name:"DeviceOpenwbFlexInverter",mixins:[s]},b={class:"device-openwb-flex-inverter"};function f(o,e,_,w,x,g){const r=t("openwb-base-heading"),l=t("openwb-base-select-input"),p=t("openwb-base-number-input");return u(),m("div",b,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für openWB-Flex Wechselrichter ")])),_:1}),i(l,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"},{value:3,text:"SDM120"}],"model-value":o.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.version"))},null,8,["model-value"]),i(p,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.component.configuration.id,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.id"))},null,8,["model-value"])])}const S=a(v,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_flex/inverter.vue"]]);export{S as default}; diff --git a/web/settings/assets/inverter-c8f0b617.js b/web/settings/assets/inverter-7d78f503.js similarity index 60% rename from web/settings/assets/inverter-c8f0b617.js rename to web/settings/assets/inverter-7d78f503.js index de01ac820c..472b10011f 100644 --- a/web/settings/assets/inverter-c8f0b617.js +++ b/web/settings/assets/inverter-7d78f503.js @@ -1 +1 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as n,u as s,k as o,l as i,G as a,E as p,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceVartaInverter",mixins:[r]},d={class:"varta-inverter"};function _(l,e,u,v,f,b){const t=s("openwb-base-alert");return o(),i("div",d,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Die Leistung des Wechselrichters ist nur verfügbar, wenn dieser über Sensor an Varta angebunden ist. Wechselrichter die per Modbus mit dem Speicher kommunizieren lassen sich nicht über den Varta PV-Sensor auslesen. ")])),_:1})])}const S=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/inverter.vue"]]);export{S as default}; +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as n,u as s,l as o,m as i,G as a,E as p,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"DeviceVartaInverter",mixins:[r]},d={class:"varta-inverter"};function _(l,e,u,v,f,b){const t=s("openwb-base-alert");return o(),i("div",d,[a(t,{subtype:"info"},{default:p(()=>e[0]||(e[0]=[c(" Die Leistung des Wechselrichters ist nur verfügbar, wenn dieser über Sensor an Varta angebunden ist. Wechselrichter die per Modbus mit dem Speicher kommunizieren lassen sich nicht über den Varta PV-Sensor auslesen. ")])),_:1})])}const S=n(m,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/varta/varta/inverter.vue"]]);export{S as default}; diff --git a/web/settings/assets/inverter-82b7c98b.js b/web/settings/assets/inverter-82b7c98b.js new file mode 100644 index 0000000000..48b94ceb7b --- /dev/null +++ b/web/settings/assets/inverter-82b7c98b.js @@ -0,0 +1 @@ +import{C as m}from"./HardwareInstallation-774805b0.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyInverter",mixins:[m]},_={class:"device-sigenergy-inverter"};function c(n,e,b,f,v,y){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Wechselrichter ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const M=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/inverter.vue"]]);export{M as default}; diff --git a/web/settings/assets/inverter-b2642c6c.js b/web/settings/assets/inverter-8310ec01.js similarity index 72% rename from web/settings/assets/inverter-b2642c6c.js rename to web/settings/assets/inverter-8310ec01.js index e65875b990..87749130da 100644 --- a/web/settings/assets/inverter-b2642c6c.js +++ b/web/settings/assets/inverter-8310ec01.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as n,k as d,l as c,G as o,E as r,y as i}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmInverter",mixins:[l]},f={class:"device-smahm-inverter"};function b(t,e,v,g,h,w){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),m=n("openwb-base-number-input");return d(),c("div",f,[o(s,null,{default:r(()=>e[1]||(e[1]=[i(" Einstellungen für SMA-HM/EM Wechselrichter ")])),_:1}),o(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[i(' Dies ist nur die richtige Komponente, wenn ein extra EnergyMeter ausschließlich für die PV-Messung vorhanden ist. Wenn nur ein HomeManager vorhanden ist, muss ein Gerät "SMA Sunny Boy" mit der entsprechenden Wechselrichter-Komponente angelegt werden. ')])),_:1}),o(m,{title:"Seriennummer",required:"","model-value":t.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.serials"))},null,8,["model-value"])])}const $=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/inverter.vue"]]);export{$ as default}; +import{C as l}from"./HardwareInstallation-774805b0.js";import{_ as u,u as n,l as d,m as c,G as o,E as r,y as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceSmahmInverter",mixins:[l]},f={class:"device-smahm-inverter"};function b(t,e,v,g,h,w){const s=n("openwb-base-heading"),a=n("openwb-base-alert"),m=n("openwb-base-number-input");return d(),c("div",f,[o(s,null,{default:r(()=>e[1]||(e[1]=[i(" Einstellungen für SMA-HM/EM Wechselrichter ")])),_:1}),o(a,{subtype:"info"},{default:r(()=>e[2]||(e[2]=[i(' Dies ist nur die richtige Komponente, wenn ein extra EnergyMeter ausschließlich für die PV-Messung vorhanden ist. Wenn nur ein HomeManager vorhanden ist, muss ein Gerät "SMA Sunny Boy" mit der entsprechenden Wechselrichter-Komponente angelegt werden. ')])),_:1}),o(m,{title:"Seriennummer",required:"","model-value":t.component.configuration.serials,"onUpdate:modelValue":e[0]||(e[0]=p=>t.updateConfiguration(p,"configuration.serials"))},null,8,["model-value"])])}const $=u(_,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_shm/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-7036a739.js b/web/settings/assets/inverter-89044d6c.js similarity index 82% rename from web/settings/assets/inverter-7036a739.js rename to web/settings/assets/inverter-89044d6c.js index 262ee6bbfd..16cbb3de20 100644 --- a/web/settings/assets/inverter-7036a739.js +++ b/web/settings/assets/inverter-89044d6c.js @@ -1 +1 @@ -import{C as l}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as t,k as b,l as v,G as r,E as i,y as a}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSunnyBoyInverter",mixins:[l]},_={class:"device-sunnyboy-inverter"};function g(n,e,y,c,w,C){const s=t("openwb-base-heading"),u=t("openwb-base-button-group-input"),d=t("openwb-base-select-input"),p=t("openwb-base-number-input");return b(),v("div",_,[r(s,null,{default:i(()=>e[3]||(e[3]=[a(" Einstellungen für SMA Sunny Boy/Tripower Wechselrichter ")])),_:1}),r(u,{title:"Hybrid-System",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":n.component.configuration.hybrid,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hybrid"))},{help:i(()=>e[4]||(e[4]=[a(" Diese Option aktivieren, wenn ein Tripower Smart Energy, Sunny Boy Smart Energy oder ein anderes Hybrid-System verbaut ist. ")])),_:1},8,["model-value"]),r(d,{title:"Version","not-selected":"Bitte auswählen",options:[{value:0,text:"Standard"},{value:1,text:"Core-2"},{value:2,text:"Data Manager/Cluster Controller"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"]),r(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},{help:i(()=>e[5]||(e[5]=[a(" Für die Standardversion ist die Standardmodbus-ID 3, für Core-2 ist sie 1 und für Data Manager/Cluster Controller 2. Wurde eine abweichende Modbus ID konfiguriert, entsprechend anpassen. ")])),_:1},8,["model-value"])])}const I=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/inverter.vue"]]);export{I as default}; +import{C as l}from"./HardwareInstallation-774805b0.js";import{_ as m,u as t,l as b,m as v,G as r,E as i,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceSunnyBoyInverter",mixins:[l]},_={class:"device-sunnyboy-inverter"};function g(n,e,y,c,w,C){const s=t("openwb-base-heading"),u=t("openwb-base-button-group-input"),d=t("openwb-base-select-input"),p=t("openwb-base-number-input");return b(),v("div",_,[r(s,null,{default:i(()=>e[3]||(e[3]=[a(" Einstellungen für SMA Sunny Boy/Tripower Wechselrichter ")])),_:1}),r(u,{title:"Hybrid-System",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":n.component.configuration.hybrid,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.hybrid"))},{help:i(()=>e[4]||(e[4]=[a(" Diese Option aktivieren, wenn ein Tripower Smart Energy, Sunny Boy Smart Energy oder ein anderes Hybrid-System verbaut ist. ")])),_:1},8,["model-value"]),r(d,{title:"Version","not-selected":"Bitte auswählen",options:[{value:0,text:"Standard"},{value:1,text:"Core-2"},{value:2,text:"Data Manager/Cluster Controller"}],"model-value":n.component.configuration.version,required:"","onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.version"))},null,8,["model-value"]),r(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.modbus_id"))},{help:i(()=>e[5]||(e[5]=[a(" Für die Standardversion ist die Standardmodbus-ID 3, für Core-2 ist sie 1 und für Data Manager/Cluster Controller 2. Wurde eine abweichende Modbus ID konfiguriert, entsprechend anpassen. ")])),_:1},8,["model-value"])])}const I=m(f,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sma/sma_sunny_boy/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-8b788438.js b/web/settings/assets/inverter-8b788438.js new file mode 100644 index 0000000000..e98b249a8d --- /dev/null +++ b/web/settings/assets/inverter-8b788438.js @@ -0,0 +1 @@ +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as m,u as n,l as p,m as l,G as t,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxInverter",mixins:[a]},_={class:"device-solarmax-inverter"};function b(o,e,f,v,x,g){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return p(),l("div",_,[t(r,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solarmax Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const I=m(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-8c73f033.js b/web/settings/assets/inverter-8c73f033.js new file mode 100644 index 0000000000..7773674755 --- /dev/null +++ b/web/settings/assets/inverter-8c73f033.js @@ -0,0 +1 @@ +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as d,u as n,l as u,m as c,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"DeviceMTecInverter",mixins:[a]},_={class:"device-mtec-inverter"};function b(o,e,f,v,g,w){const s=n("openwb-base-heading"),m=n("openwb-base-number-input");return u(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für M-Tec Wechselrichter ")])),_:1}),t(m,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=p=>o.updateConfiguration(p,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von M-Tec ist 247 ")])),_:1},8,["model-value"])])}const V=d(l,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/mtec/mtec/inverter.vue"]]);export{V as default}; diff --git a/web/settings/assets/inverter-53c9b65f.js b/web/settings/assets/inverter-8e495d6b.js similarity index 58% rename from web/settings/assets/inverter-53c9b65f.js rename to web/settings/assets/inverter-8e495d6b.js index 22d83aed50..bf2291b58f 100644 --- a/web/settings/assets/inverter-53c9b65f.js +++ b/web/settings/assets/inverter-8e495d6b.js @@ -1 +1 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as n,k as d,l as m,G as t,E as l,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeInverter",mixins:[a]},_={class:"device-solaredge-inverter"};function f(o,e,g,b,v,w){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return d(),m("div",_,[t(r,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Wechselrichter ")])),_:1}),t(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/inverter.vue"]]);export{D as default}; +import{C as a}from"./HardwareInstallation-774805b0.js";import{_ as p,u as n,l as m,m as d,G as t,E as l,y as u}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolaredgeInverter",mixins:[a]},_={class:"device-solaredge-inverter"};function f(o,e,g,b,v,w){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),d("div",_,[t(r,null,{default:l(()=>e[1]||(e[1]=[u(" Einstellungen für SolarEdge Wechselrichter ")])),_:1}),t(i,{title:"SolarEdge-Geräte-ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const D=p(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solaredge/solaredge/inverter.vue"]]);export{D as default}; diff --git a/web/settings/assets/inverter-06828851.js b/web/settings/assets/inverter-919b759e.js similarity index 68% rename from web/settings/assets/inverter-06828851.js rename to web/settings/assets/inverter-919b759e.js index 659d2d3782..b8f24b59d0 100644 --- a/web/settings/assets/inverter-06828851.js +++ b/web/settings/assets/inverter-919b759e.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as l,u as n,k as d,l as c,G as t,E as i,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceSolarViewInverter",mixins:[p]},_={class:"device-solar-view-inverter"};function f(o,e,v,g,w,b){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return d(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für SolarView Wechselrichter ")])),_:1}),t(a,{title:"Kommando für die Abfrage",required:"","model-value":o.component.configuration.command,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.command"))},{help:i(()=>e[2]||(e[2]=[r(" Kommandos gemäß SolarView-Dokumentation, z.B.: 00* (gesamte Anlage), 01* (Wechselrichter 1), 02* (Wechselrichter 2) ")])),_:1},8,["model-value"])])}const S=l(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/inverter.vue"]]);export{S as default}; +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as l,u as n,l as d,m as c,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const u={name:"DeviceSolarViewInverter",mixins:[p]},_={class:"device-solar-view-inverter"};function f(o,e,v,g,w,b){const s=n("openwb-base-heading"),a=n("openwb-base-text-input");return d(),c("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für SolarView Wechselrichter ")])),_:1}),t(a,{title:"Kommando für die Abfrage",required:"","model-value":o.component.configuration.command,"onUpdate:modelValue":e[0]||(e[0]=m=>o.updateConfiguration(m,"configuration.command"))},{help:i(()=>e[2]||(e[2]=[r(" Kommandos gemäß SolarView-Dokumentation, z.B.: 00* (gesamte Anlage), 01* (Wechselrichter 1), 02* (Wechselrichter 2) ")])),_:1},8,["model-value"])])}const S=l(u,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solar_view/solar_view/inverter.vue"]]);export{S as default}; diff --git a/web/settings/assets/inverter-cfb3d4a6.js b/web/settings/assets/inverter-9bb87746.js similarity index 65% rename from web/settings/assets/inverter-cfb3d4a6.js rename to web/settings/assets/inverter-9bb87746.js index 9237be2584..236418d042 100644 --- a/web/settings/assets/inverter-cfb3d4a6.js +++ b/web/settings/assets/inverter-9bb87746.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as r,k as m,l as g,G as o,E as l,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerInverter",mixins:[u]},_={class:"device-vzlogger-inverter"};function c(n,e,v,b,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return m(),g("div",_,[o(a,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für VZLogger Wechselrichter ")])),_:1}),o(p,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),o(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.line_power"))},null,8,["model-value"]),o(i,{title:"Zeile der exportierten Energie (Ertrag)",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.line_exported"))},null,8,["model-value"])])}const k=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/inverter.vue"]]);export{k as default}; +import{C as u}from"./HardwareInstallation-774805b0.js";import{_ as m,u as r,l as d,m as g,G as o,E as l,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"DeviceVZLoggerInverter",mixins:[u]},_={class:"device-vzlogger-inverter"};function c(n,e,v,b,w,Z){const a=r("openwb-base-heading"),p=r("openwb-base-alert"),i=r("openwb-base-number-input");return d(),g("div",_,[o(a,null,{default:l(()=>e[2]||(e[2]=[s(" Einstellungen für VZLogger Wechselrichter ")])),_:1}),o(p,{subtype:"info"},{default:l(()=>e[3]||(e[3]=[s(' Bitte auf der Shell ausführen: "curl -s IPdesVZLogger:Port | jq .|cat -n" Zählen, in welcher Zeile der gesuchte Wert steht. Bei der ersten Zeile mit 1 anfangen zu zählen. ')])),_:1}),o(i,{title:"Zeile der Leistung",required:"",min:0,"model-value":n.component.configuration.line_power,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.line_power"))},null,8,["model-value"]),o(i,{title:"Zeile der exportierten Energie (Ertrag)",min:0,"model-value":n.component.configuration.line_exported,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.line_exported"))},null,8,["model-value"])])}const W=m(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/vzlogger/vzlogger/inverter.vue"]]);export{W as default}; diff --git a/web/settings/assets/inverter-a2ee2377.js b/web/settings/assets/inverter-a2ee2377.js deleted file mode 100644 index 1f291e1a90..0000000000 --- a/web/settings/assets/inverter-a2ee2377.js +++ /dev/null @@ -1 +0,0 @@ -import{C as s}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as t,k as m,l,G as i,E as d,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronInverter",mixins:[s]},_={class:"device-victron-inverter"};function f(o,e,v,g,w,V){const r=t("openwb-base-heading"),p=t("openwb-base-number-input"),u=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Wechselrichter ")])),_:1}),i(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"MPPT",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":o.component.configuration.mppt,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.mppt"))},null,8,["model-value"])])}const I=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-a90633de.js b/web/settings/assets/inverter-a90633de.js deleted file mode 100644 index 04f3778704..0000000000 --- a/web/settings/assets/inverter-a90633de.js +++ /dev/null @@ -1 +0,0 @@ -import{C as m}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as o,k as u,l,G as t,E as i,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"DeviceSigenergyInverter",mixins:[m]},_={class:"device-sigenergy-inverter"};function c(n,e,b,f,v,y){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Sigenergy Wechselrichter ")])),_:1}),t(p,{title:"Modbus ID",required:"","model-value":n.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.modbus_id"))},{help:i(()=>e[2]||(e[2]=[r(" Die Standard-Modbus-ID von Sigenergy ist 247 ")])),_:1},8,["model-value"])])}const I=d(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/sigenergy/sigenergy/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-ae3b5905.js b/web/settings/assets/inverter-ae3b5905.js deleted file mode 100644 index d0f1a26263..0000000000 --- a/web/settings/assets/inverter-ae3b5905.js +++ /dev/null @@ -1 +0,0 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as o,k as p,l,G as n,E as d,y as u}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSmartMeInverter",mixins:[a]},_={class:"device-smart-me-inverter"};function f(t,e,v,b,g,x){const r=o("openwb-base-heading"),i=o("openwb-base-text-input");return p(),l("div",_,[n(r,null,{default:d(()=>e[1]||(e[1]=[u(" Einstellungen für smart-me Wechselrichter ")])),_:1}),n(i,{title:"Geräte-ID",required:"","model-value":t.component.configuration.id,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.id"))},null,8,["model-value"])])}const G=m(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/smart_me/smart_me/inverter.vue"]]);export{G as default}; diff --git a/web/settings/assets/inverter-b25f8a03.js b/web/settings/assets/inverter-b25f8a03.js new file mode 100644 index 0000000000..4421680bb5 --- /dev/null +++ b/web/settings/assets/inverter-b25f8a03.js @@ -0,0 +1 @@ +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as o,l,m,G as n,E as u,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbPvkitInverter",mixins:[p]},v={class:"device-openwb-pvkit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),m("div",v,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB PV-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_pv_kit/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-d00ea683.js b/web/settings/assets/inverter-b2bd5c94.js similarity index 55% rename from web/settings/assets/inverter-d00ea683.js rename to web/settings/assets/inverter-b2bd5c94.js index 12eb530788..f8bb99f63f 100644 --- a/web/settings/assets/inverter-d00ea683.js +++ b/web/settings/assets/inverter-b2bd5c94.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as n,k as m,l as d,G as t,E as u,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeInverter",mixins:[p]},_={class:"device-deye-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const V=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/inverter.vue"]]);export{V as default}; +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as n,l as m,m as d,G as t,E as u,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceDeyeInverter",mixins:[p]},_={class:"device-deye-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),r=n("openwb-base-number-input");return m(),d("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[l(" Einstellungen für Deye Wechselrichter ")])),_:1}),t(r,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const k=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/deye/deye/inverter.vue"]]);export{k as default}; diff --git a/web/settings/assets/inverter-b5e0c408.js b/web/settings/assets/inverter-b5e0c408.js new file mode 100644 index 0000000000..c6aa5a9064 --- /dev/null +++ b/web/settings/assets/inverter-b5e0c408.js @@ -0,0 +1 @@ +import{C as r}from"./HardwareInstallation-774805b0.js";import{_ as p,u as o,l,m as u,G as n,E as c,y as m}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalStecaInverter",mixins:[r]},_={class:"device-kostal-steca-inverter"};function f(t,e,v,b,g,k){const a=o("openwb-base-heading"),i=o("openwb-base-button-group-input");return l(),u("div",_,[n(a,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept Wechselrichter ")])),_:1}),n(i,{title:"Variante",buttons:[{buttonValue:!1,text:"Kostal Piko MP (non-plus)"},{buttonValue:!0,text:"Kostal Piko MP oder Steca Grid Coolcept"}],"model-value":t.component.configuration.variant_steca,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.variant_steca"))},null,8,["model-value"])])}const B=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-b90b6436.js b/web/settings/assets/inverter-b90b6436.js deleted file mode 100644 index 6359c0cf14..0000000000 --- a/web/settings/assets/inverter-b90b6436.js +++ /dev/null @@ -1 +0,0 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as t,k as u,l,G as n,E as c,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalPikoInverter",mixins:[a]},_={class:"device-kostal-piko-inverter"};function f(o,e,b,v,g,k){const i=t("openwb-base-heading"),r=t("openwb-base-button-group-input");return u(),l("div",_,[n(i,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko Wechselrichter ")])),_:1}),n(r,{title:"Speicher",buttons:[{buttonValue:!1,text:"nicht vorhanden"},{buttonValue:!0,text:"vorhanden"}],"model-value":o.component.configuration.bat_configured,"onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.bat_configured"))},null,8,["model-value"])])}const N=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_piko/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-c2639469.js b/web/settings/assets/inverter-c2639469.js deleted file mode 100644 index 4e9b1b6a4c..0000000000 --- a/web/settings/assets/inverter-c2639469.js +++ /dev/null @@ -1 +0,0 @@ -import{C as r}from"./HardwareInstallation-61d444d7.js";import{_ as p,u as o,k as l,l as u,G as n,E as c,y as m}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceKostalStecaInverter",mixins:[r]},_={class:"device-kostal-steca-inverter"};function f(t,e,v,b,g,k){const a=o("openwb-base-heading"),i=o("openwb-base-button-group-input");return l(),u("div",_,[n(a,null,{default:c(()=>e[1]||(e[1]=[m(" Einstellungen für Kostal Piko MP oder Steca Grid Coolcept Wechselrichter ")])),_:1}),n(i,{title:"Variante",buttons:[{buttonValue:!1,text:"Kostal Piko MP (non-plus)"},{buttonValue:!0,text:"Kostal Piko MP oder Steca Grid Coolcept"}],"model-value":t.component.configuration.variant_steca,"onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.variant_steca"))},null,8,["model-value"])])}const B=p(d,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/kostal/kostal_steca/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-c35b64f3.js b/web/settings/assets/inverter-c35b64f3.js deleted file mode 100644 index d29fe29ab9..0000000000 --- a/web/settings/assets/inverter-c35b64f3.js +++ /dev/null @@ -1 +0,0 @@ -import{C as u}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as t,k as p,l,G as n,E as m,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceYoulessInverter",mixins:[u]},d={class:"device-youless-inverter"};function f(o,e,b,v,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-button-group-input");return p(),l("div",d,[n(s,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Youless LS120 Wechselrichter ")])),_:1}),n(i,{title:"S0-Eingang auslesen",buttons:[{buttonValue:!1,text:"nein"},{buttonValue:!0,text:"ja"}],"model-value":o.component.configuration.source_s0,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.source_s0"))},null,8,["model-value"])])}const N=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-d1620573.js b/web/settings/assets/inverter-d1620573.js deleted file mode 100644 index 6a9cb7f513..0000000000 --- a/web/settings/assets/inverter-d1620573.js +++ /dev/null @@ -1 +0,0 @@ -import{C as m}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as o,k as u,l,G as t,E as i,y as r}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseInverter",mixins:[m]},_={class:"device-enphase-inverter"};function f(n,e,v,b,g,E){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Enphase Envoy / IQ Gateway Wechselrichter ")])),_:1}),t(p,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[r(' EID für "production" ')])),_:1},8,["model-value"])])}const D=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/inverter.vue"]]);export{D as default}; diff --git a/web/settings/assets/inverter-f11f9b43.js b/web/settings/assets/inverter-d5297a49.js similarity index 63% rename from web/settings/assets/inverter-f11f9b43.js rename to web/settings/assets/inverter-d5297a49.js index b570811c02..dadea44794 100644 --- a/web/settings/assets/inverter-f11f9b43.js +++ b/web/settings/assets/inverter-d5297a49.js @@ -1 +1 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as n,k as m,l as u,G as t,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssInverter",mixins:[p]},c={class:"device-fox_ess-inverter"};function f(o,e,b,v,x,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/inverter.vue"]]);export{F as default}; +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as n,l as m,m as u,G as t,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceFoxEssInverter",mixins:[p]},c={class:"device-fox_ess-inverter"};function f(o,e,b,v,x,g){const s=n("openwb-base-heading"),i=n("openwb-base-number-input");return m(),u("div",c,[t(s,null,{default:d(()=>e[1]||(e[1]=[l(" Einstellungen für FoxEss Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const F=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fox_ess/fox_ess/inverter.vue"]]);export{F as default}; diff --git a/web/settings/assets/inverter-d7aeaccd.js b/web/settings/assets/inverter-d7aeaccd.js new file mode 100644 index 0000000000..8542445e8f --- /dev/null +++ b/web/settings/assets/inverter-d7aeaccd.js @@ -0,0 +1 @@ +import{C as s}from"./HardwareInstallation-774805b0.js";import{_ as a,u as t,l as m,m as l,G as i,E as d,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"DeviceVictronInverter",mixins:[s]},_={class:"device-victron-inverter"};function f(o,e,v,g,w,V){const r=t("openwb-base-heading"),p=t("openwb-base-number-input"),u=t("openwb-base-button-group-input");return m(),l("div",_,[i(r,null,{default:d(()=>e[2]||(e[2]=[c(" Einstellungen für Victron Wechselrichter ")])),_:1}),i(p,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"]),i(u,{title:"MPPT",buttons:[{buttonValue:!1,text:"Nein"},{buttonValue:!0,text:"Ja"}],"model-value":o.component.configuration.mppt,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.mppt"))},null,8,["model-value"])])}const I=a(b,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/victron/victron/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-d93788e4.js b/web/settings/assets/inverter-d93788e4.js new file mode 100644 index 0000000000..3d7fc16a9e --- /dev/null +++ b/web/settings/assets/inverter-d93788e4.js @@ -0,0 +1 @@ +import{C as u}from"./HardwareInstallation-774805b0.js";import{_ as a,u as t,l as p,m as l,G as n,E as m,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceYoulessInverter",mixins:[u]},d={class:"device-youless-inverter"};function f(o,e,b,v,g,x){const s=t("openwb-base-heading"),i=t("openwb-base-button-group-input");return p(),l("div",d,[n(s,null,{default:m(()=>e[1]||(e[1]=[c(" Einstellungen für Youless LS120 Wechselrichter ")])),_:1}),n(i,{title:"S0-Eingang auslesen",buttons:[{buttonValue:!1,text:"nein"},{buttonValue:!0,text:"ja"}],"model-value":o.component.configuration.source_s0,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.source_s0"))},null,8,["model-value"])])}const N=a(_,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/youless/youless/inverter.vue"]]);export{N as default}; diff --git a/web/settings/assets/inverter-dc61eb50.js b/web/settings/assets/inverter-dc61eb50.js deleted file mode 100644 index c8879bdf1f..0000000000 --- a/web/settings/assets/inverter-dc61eb50.js +++ /dev/null @@ -1 +0,0 @@ -import{C as a}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as n,k as p,l,G as t,E as u,y as d}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolarmaxInverter",mixins:[a]},_={class:"device-solarmax-inverter"};function b(o,e,f,v,x,g){const r=n("openwb-base-heading"),i=n("openwb-base-number-input");return p(),l("div",_,[t(r,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solarmax Wechselrichter ")])),_:1}),t(i,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=s=>o.updateConfiguration(s,"configuration.modbus_id"))},null,8,["model-value"])])}const I=m(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solarmax/solarmax/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter-df8704b1.js b/web/settings/assets/inverter-df8704b1.js deleted file mode 100644 index 2131010901..0000000000 --- a/web/settings/assets/inverter-df8704b1.js +++ /dev/null @@ -1 +0,0 @@ -import{C as p}from"./HardwareInstallation-61d444d7.js";import{_ as a,u as o,k as l,l as m,G as n,E as u,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"DeviceOpenwbPvkitInverter",mixins:[p]},v={class:"device-openwb-pvkit-inverter"};function _(t,e,f,b,w,g){const i=o("openwb-base-heading"),r=o("openwb-base-select-input");return l(),m("div",v,[n(i,null,{default:u(()=>e[1]||(e[1]=[c(" Einstellungen für openWB PV-Kit Wechselrichter ")])),_:1}),n(r,{title:"Zählermodell","not-selected":"Bitte auswählen",options:[{value:0,text:"MPM3PM"},{value:1,text:"Lovato"},{value:2,text:"SDM630/SDM72D-M"}],"model-value":t.component.configuration.version,required:"","onUpdate:modelValue":e[0]||(e[0]=s=>t.updateConfiguration(s,"configuration.version"))},null,8,["model-value"])])}const $=a(d,[["render",_],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/openwb/openwb_pv_kit/inverter.vue"]]);export{$ as default}; diff --git a/web/settings/assets/inverter-923718cb.js b/web/settings/assets/inverter-e314dfcc.js similarity index 75% rename from web/settings/assets/inverter-923718cb.js rename to web/settings/assets/inverter-e314dfcc.js index b008bb601e..796c811810 100644 --- a/web/settings/assets/inverter-923718cb.js +++ b/web/settings/assets/inverter-e314dfcc.js @@ -1 +1 @@ -import{C as s}from"./HardwareInstallation-61d444d7.js";import{_ as d,u as n,k as m,l as c,G as r,E as i,y as a}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuderInverter",mixins:[s]},b={class:"device-studer-inverter"};function v(t,e,f,g,V,S){const u=n("openwb-base-heading"),p=n("openwb-base-button-group-input"),l=n("openwb-base-number-input");return m(),c("div",b,[r(u,null,{default:i(()=>e[2]||(e[2]=[a(" Einstellungen für Studer Wechselrichter ")])),_:1}),r(p,{title:"Typ der MPPT Solarladeregler",buttons:[{buttonValue:"VT",text:"Variotrack (VT-40/VT-65/VT-80)"},{buttonValue:"VS",text:"VarioString (VS-70/VS-120)"}],"model-value":t.component.configuration.vc_type,required:"","onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.vc_type"))},null,8,["model-value"]),r(l,{title:"Anzahl MPPT Solarladeregler",required:"",min:1,max:9,"model-value":t.component.configuration.vc_count,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.vc_count"))},{help:i(()=>e[3]||(e[3]=[a(" Anzahl (1-9) der Studer MPPT Solarladeregler im System (VS/VT) ")])),_:1},8,["model-value"])])}const B=d(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/inverter.vue"]]);export{B as default}; +import{C as s}from"./HardwareInstallation-774805b0.js";import{_ as d,u as n,l as m,m as c,G as r,E as i,y as a}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const _={name:"DeviceStuderInverter",mixins:[s]},b={class:"device-studer-inverter"};function v(t,e,f,g,V,S){const u=n("openwb-base-heading"),p=n("openwb-base-button-group-input"),l=n("openwb-base-number-input");return m(),c("div",b,[r(u,null,{default:i(()=>e[2]||(e[2]=[a(" Einstellungen für Studer Wechselrichter ")])),_:1}),r(p,{title:"Typ der MPPT Solarladeregler",buttons:[{buttonValue:"VT",text:"Variotrack (VT-40/VT-65/VT-80)"},{buttonValue:"VS",text:"VarioString (VS-70/VS-120)"}],"model-value":t.component.configuration.vc_type,required:"","onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.vc_type"))},null,8,["model-value"]),r(l,{title:"Anzahl MPPT Solarladeregler",required:"",min:1,max:9,"model-value":t.component.configuration.vc_count,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.vc_count"))},{help:i(()=>e[3]||(e[3]=[a(" Anzahl (1-9) der Studer MPPT Solarladeregler im System (VS/VT) ")])),_:1},8,["model-value"])])}const B=d(_,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/studer/studer/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-e8d1457f.js b/web/settings/assets/inverter-e8d1457f.js deleted file mode 100644 index 2f8ce04d5a..0000000000 --- a/web/settings/assets/inverter-e8d1457f.js +++ /dev/null @@ -1 +0,0 @@ -import{C as d}from"./HardwareInstallation-61d444d7.js";import{_ as u,u as a,k as p,l as m,G as r,E as i,y as t,x as g}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceJsonInverter",mixins:[d]},f={class:"device-json-inverter"};function b(n,e,c,v,_,h){const l=a("openwb-base-heading"),s=a("openwb-base-text-input");return p(),m("div",f,[r(l,null,{default:i(()=>e[2]||(e[2]=[t(" Einstellungen für JSON Wechselrichter ")])),_:1}),r(s,{title:"Abfrage für Leistung",subtype:"text",required:"","model-value":n.component.configuration.jq_power,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.jq_power"))},{help:i(()=>e[3]||(e[3]=[t(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"PowerInstalledPeak":4655, "PowerProduced":132, "PowerOut":897.08172362555717, "PowerSelfSupplied":234.9182763744428} So muss hier .PowerOut eingetragen werden. '),g("br",null,null,-1),t(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Leistung in Watt darstellt. Produzierte Leistung muss ein negatives Vorzeichen haben. (In bestimmten Konstellationen, z.B. wenn ein Hybridsystem über einen zweiten Wechselrichter geladen wird, hat die Leistung ein positives Vorzeichen.) ")])),_:1},8,["model-value"]),r(s,{title:"Abfrage für Zählerstand",subtype:"text","model-value":n.component.configuration.jq_exported,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.jq_exported"))},{help:i(()=>e[4]||(e[4]=[t(" Wird dieses Feld leer gelassen, dann werden Zählerstände intern simuliert. ")])),_:1},8,["model-value"])])}const B=u(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/generic/json/inverter.vue"]]);export{B as default}; diff --git a/web/settings/assets/inverter-ed829838.js b/web/settings/assets/inverter-ed829838.js new file mode 100644 index 0000000000..c45543d059 --- /dev/null +++ b/web/settings/assets/inverter-ed829838.js @@ -0,0 +1 @@ +import{C as m}from"./HardwareInstallation-774805b0.js";import{_ as d,u as o,l as u,m as l,G as t,E as i,y as r}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceEnphaseInverter",mixins:[m]},_={class:"device-enphase-inverter"};function f(n,e,v,b,g,E){const s=o("openwb-base-heading"),p=o("openwb-base-number-input");return u(),l("div",_,[t(s,null,{default:i(()=>e[1]||(e[1]=[r(" Einstellungen für Enphase Envoy / IQ Gateway Wechselrichter ")])),_:1}),t(p,{title:"EID",required:"","model-value":n.component.configuration.eid,"onUpdate:modelValue":e[0]||(e[0]=a=>n.updateConfiguration(a,"configuration.eid"))},{help:i(()=>e[2]||(e[2]=[r(' EID für "production" ')])),_:1},8,["model-value"])])}const V=d(c,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/enphase/enphase/inverter.vue"]]);export{V as default}; diff --git a/web/settings/assets/inverter-fec73288.js b/web/settings/assets/inverter-fec73288.js new file mode 100644 index 0000000000..0a52a8795d --- /dev/null +++ b/web/settings/assets/inverter-fec73288.js @@ -0,0 +1 @@ +import{C as p}from"./HardwareInstallation-774805b0.js";import{_ as a,u as n,l as m,m as l,G as t,E as u,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const c={name:"DeviceSolisInverter",mixins:[p]},_={class:"device-solis-inverter"};function b(o,e,f,v,g,w){const i=n("openwb-base-heading"),s=n("openwb-base-number-input");return m(),l("div",_,[t(i,null,{default:u(()=>e[1]||(e[1]=[d(" Einstellungen für Solis Wechselrichter ")])),_:1}),t(s,{title:"Modbus ID",required:"","model-value":o.component.configuration.modbus_id,min:"1",max:"255","onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.modbus_id"))},null,8,["model-value"])])}const I=a(c,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/solis/solis/inverter.vue"]]);export{I as default}; diff --git a/web/settings/assets/inverter_secondary-72974946.js b/web/settings/assets/inverter_secondary-5a213e84.js similarity index 78% rename from web/settings/assets/inverter_secondary-72974946.js rename to web/settings/assets/inverter_secondary-5a213e84.js index 492ceecff2..ebafa0f7a3 100644 --- a/web/settings/assets/inverter_secondary-72974946.js +++ b/web/settings/assets/inverter_secondary-5a213e84.js @@ -1 +1 @@ -import{C as u}from"./HardwareInstallation-61d444d7.js";import{_ as m,u as t,k as f,l as c,G as i,E as s,y as n,x as a,F as g}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceFroniusInverterSecondary",mixins:[u],computed:{powerFlowUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetPowerFlowRealtimeData.fcgi?Scope=System`}}}},_={class:"device-fronius-inverter-secondary"},v=["href"];function b(r,e,D,k,h,o){const d=t("openwb-base-heading"),l=t("openwb-base-number-input");return f(),c("div",_,[i(d,null,{default:s(()=>e[1]||(e[1]=[n(" Einstellungen für einen sekundären Wechselrichter ")])),_:1}),i(l,{title:"ID","model-value":r.component.configuration.id,min:"0",required:"","onUpdate:modelValue":e[0]||(e[0]=p=>r.updateConfiguration(p,"configuration.id"))},{help:s(()=>[e[2]||(e[2]=n(" Die ID des sekundären Wechselrichters. Diese ist für jede Installation individuell und muss ermittelt werden. Dafür kann der folgende Link verwendet werden. Die ID kann den zurückgegebenen JSON entnommen werden. ")),a("a",{href:o.powerFlowUrl,target:"_blank",rel:"noopener noreferrer"},g(o.powerFlowUrl),9,v),e[3]||(e[3]=a("br",null,null,-1)),e[4]||(e[4]=n(' Im Abschnitt "Body" -> "Data" -> "SecondaryMeters" werden die installierten Zähler angezeigt. Die ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Daten. '))]),_:1},8,["model-value"])])}const V=m(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/inverter_secondary.vue"]]);export{V as default}; +import{C as u}from"./HardwareInstallation-774805b0.js";import{_ as m,u as t,l as f,m as c,G as i,E as s,y as n,x as a,F as g}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const w={name:"DeviceFroniusInverterSecondary",mixins:[u],computed:{powerFlowUrl:{get(){return`http://${this.device.configuration.ip_address}/solar_api/v1/GetPowerFlowRealtimeData.fcgi?Scope=System`}}}},_={class:"device-fronius-inverter-secondary"},v=["href"];function b(r,e,D,k,h,o){const d=t("openwb-base-heading"),l=t("openwb-base-number-input");return f(),c("div",_,[i(d,null,{default:s(()=>e[1]||(e[1]=[n(" Einstellungen für einen sekundären Wechselrichter ")])),_:1}),i(l,{title:"ID","model-value":r.component.configuration.id,min:"0",required:"","onUpdate:modelValue":e[0]||(e[0]=p=>r.updateConfiguration(p,"configuration.id"))},{help:s(()=>[e[2]||(e[2]=n(" Die ID des sekundären Wechselrichters. Diese ist für jede Installation individuell und muss ermittelt werden. Dafür kann der folgende Link verwendet werden. Die ID kann den zurückgegebenen JSON entnommen werden. ")),a("a",{href:o.powerFlowUrl,target:"_blank",rel:"noopener noreferrer"},g(o.powerFlowUrl),9,v),e[3]||(e[3]=a("br",null,null,-1)),e[4]||(e[4]=n(' Im Abschnitt "Body" -> "Data" -> "SecondaryMeters" werden die installierten Zähler angezeigt. Die ID ist die Zahl vor dem Doppelpunkt und den zugehörigen Daten. '))]),_:1},8,["model-value"])])}const V=m(w,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/devices/fronius/fronius/inverter_secondary.vue"]]);export{V as default}; diff --git a/web/settings/assets/monitoring-21dad0cd.js b/web/settings/assets/monitoring-21dad0cd.js deleted file mode 100644 index 582875a5fc..0000000000 --- a/web/settings/assets/monitoring-21dad0cd.js +++ /dev/null @@ -1 +0,0 @@ -import{M as l}from"./DataManagement-7cf51172.js";import{_ as d,u as a,k as p,l as m,G as t,E as g,y as r,x as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"MonitoringZabbix",mixins:[l]},b={class:"monitoring-zabbix"};function v(n,e,k,_,y,w){const u=a("openwb-base-alert"),i=a("openwb-base-text-input");return p(),m("div",b,[t(u,{subtype:"info"},{default:g(()=>e[4]||(e[4]=[r(" Mit dem Monitoring-Service von openWB kannst Du Dein System ganz einfach überwachen. Einfach "),s("a",{href:"https://openwb.de/dummy",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),r(" anmelden und Deine Zugangsdaten erhalten."),s("br",null,null,-1),r("Alternativ kannst Du auch deinen eigenen Zabbix-Server aufsetzen und die Zugangsdaten hier eintragen. ")])),_:1}),t(i,{title:"Zielhost",subtype:"host",required:"","model-value":n.monitoring.configuration.destination_host,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.destination_host"))},null,8,["model-value"]),t(i,{title:"Eigener Hostname",subtype:"user",required:"","model-value":n.monitoring.configuration.hostname,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.hostname"))},null,8,["model-value"]),t(i,{title:"PSK Identifier",subtype:"text",required:"","model-value":n.monitoring.configuration.psk_identifier,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.psk_identifier"))},null,8,["model-value"]),t(i,{title:"PSK Key",subtype:"password",required:"","model-value":n.monitoring.configuration.psk_key,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.psk_key"))},null,8,["model-value"])])}const q=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/zabbix/monitoring.vue"]]);export{q as default}; diff --git a/web/settings/assets/monitoring-7d0b4180.js b/web/settings/assets/monitoring-7d0b4180.js new file mode 100644 index 0000000000..2d597fb5f7 --- /dev/null +++ b/web/settings/assets/monitoring-7d0b4180.js @@ -0,0 +1 @@ +import{M as l}from"./DataManagement-3ab650ed.js";import{_ as d,u as a,l as p,m,G as t,E as g,y as r,x as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"MonitoringZabbix",mixins:[l]},b={class:"monitoring-zabbix"};function v(n,e,_,k,y,w){const u=a("openwb-base-alert"),i=a("openwb-base-text-input");return p(),m("div",b,[t(u,{subtype:"info"},{default:g(()=>e[4]||(e[4]=[r(" Mit dem Monitoring-Service von openWB kannst Du Dein System ganz einfach überwachen. Einfach "),s("a",{href:"https://openwb.de/dummy",target:"_blank",rel:"noopener noreferrer"}," hier ",-1),r(" anmelden und Deine Zugangsdaten erhalten."),s("br",null,null,-1),r("Alternativ kannst Du auch deinen eigenen Zabbix-Server aufsetzen und die Zugangsdaten hier eintragen. ")])),_:1}),t(i,{title:"Zielhost",subtype:"host",required:"","model-value":n.monitoring.configuration.destination_host,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.destination_host"))},null,8,["model-value"]),t(i,{title:"Eigener Hostname",subtype:"user",required:"","model-value":n.monitoring.configuration.hostname,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.hostname"))},null,8,["model-value"]),t(i,{title:"PSK Identifier",subtype:"text",required:"","model-value":n.monitoring.configuration.psk_identifier,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.psk_identifier"))},null,8,["model-value"]),t(i,{title:"PSK Key",subtype:"password",required:"","model-value":n.monitoring.configuration.psk_key,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.psk_key"))},null,8,["model-value"])])}const q=d(f,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/monitoring/zabbix/monitoring.vue"]]);export{q as default}; diff --git a/web/settings/assets/ripple_control_receiver-8f2861e9.js b/web/settings/assets/ripple_control_receiver-8f2861e9.js deleted file mode 100644 index b80d09cd12..0000000000 --- a/web/settings/assets/ripple_control_receiver-8f2861e9.js +++ /dev/null @@ -1 +0,0 @@ -import{R as t}from"./GeneralConfig-c40962a6.js";import{_ as r,u as n,k as i,l as p,G as s,E as a,y as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const l={name:"RippleControlReceiverGpio",mixins:[t]},_={class:"ripple-control-receiver-gpio"};function d(m,e,f,u,v,g){const o=n("openwb-base-alert");return i(),p("div",_,[s(o,{subtype:"info"},{default:a(()=>e[0]||(e[0]=[c(" Wenn mindestens ein Kontakt geschlossen ist, wird die Ladung gesperrt. Wenn beide Kontakte offen sind, darf geladen werden. ")])),_:1})])}const h=r(l,[["render",d],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/gpio/ripple_control_receiver.vue"]]);export{h as default}; diff --git a/web/settings/assets/ripple_control_receiver-a8ab1c06.js b/web/settings/assets/ripple_control_receiver-a8ab1c06.js new file mode 100644 index 0000000000..efdd91167f --- /dev/null +++ b/web/settings/assets/ripple_control_receiver-a8ab1c06.js @@ -0,0 +1 @@ +import{R as t}from"./GeneralConfig-7d467a99.js";import{_ as r,u as n,l as i,m as p,G as s,E as a,y as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const l={name:"RippleControlReceiverGpio",mixins:[t]},_={class:"ripple-control-receiver-gpio"};function m(d,e,f,u,v,g){const o=n("openwb-base-alert");return i(),p("div",_,[s(o,{subtype:"info"},{default:a(()=>e[0]||(e[0]=[c(" Wenn mindestens ein Kontakt geschlossen ist, wird die Ladung gesperrt. Wenn beide Kontakte offen sind, darf geladen werden. ")])),_:1})])}const h=r(l,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/gpio/ripple_control_receiver.vue"]]);export{h as default}; diff --git a/web/settings/assets/ripple_control_receiver-4d665a54.js b/web/settings/assets/ripple_control_receiver-f605174b.js similarity index 77% rename from web/settings/assets/ripple_control_receiver-4d665a54.js rename to web/settings/assets/ripple_control_receiver-f605174b.js index 497d8ea896..07be0370b3 100644 --- a/web/settings/assets/ripple_control_receiver-4d665a54.js +++ b/web/settings/assets/ripple_control_receiver-f605174b.js @@ -1 +1 @@ -import{R as s}from"./GeneralConfig-c40962a6.js";import{_ as a,u as i,k as d,l as u,G as t,E as m,y as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"RippleControlReceiverDimmKit",mixins:[s]},c={class:"ripple-control-receiver-dimm-kit"};function b(o,e,v,g,w,C){const p=i("openwb-base-alert"),l=i("openwb-base-text-input"),r=i("openwb-base-number-input");return d(),u("div",c,[t(p,{subtype:"info"},{default:m(()=>e[3]||(e[3]=[_(" In der aktuellen Implementierung werden Kontakt 1 und 2 des Dimm-Kits ausgewertet. Wenn mindestens ein Kontakt offen ist, wird die Ladung gesperrt. Wenn beide Kontakte geschlossen sind, darf geladen werden. ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.rippleControlReceiver.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"","model-value":o.rippleControlReceiver.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.rippleControlReceiver.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=a(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/dimm_kit/ripple_control_receiver.vue"]]);export{B as default}; +import{R as s}from"./GeneralConfig-7d467a99.js";import{_ as a,u as i,l as d,m as u,G as t,E as m,y as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"RippleControlReceiverDimmKit",mixins:[s]},c={class:"ripple-control-receiver-dimm-kit"};function b(o,e,v,g,w,C){const p=i("openwb-base-alert"),l=i("openwb-base-text-input"),r=i("openwb-base-number-input");return d(),u("div",c,[t(p,{subtype:"info"},{default:m(()=>e[3]||(e[3]=[_(" In der aktuellen Implementierung werden Kontakt 1 und 2 des Dimm-Kits ausgewertet. Wenn mindestens ein Kontakt offen ist, wird die Ladung gesperrt. Wenn beide Kontakte geschlossen sind, darf geladen werden. ")])),_:1}),t(l,{title:"IP oder Hostname",subtype:"host",required:"","model-value":o.rippleControlReceiver.configuration.ip_address,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.ip_address"))},null,8,["model-value"]),t(r,{title:"Port",required:"","model-value":o.rippleControlReceiver.configuration.port,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.port"))},null,8,["model-value"]),t(r,{title:"Modbus-ID",required:"",min:1,max:255,"model-value":o.rippleControlReceiver.configuration.modbus_id,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.modbus_id"))},null,8,["model-value"])])}const B=a(f,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/ripple_control_receivers/dimm_kit/ripple_control_receiver.vue"]]);export{B as default}; diff --git a/web/settings/assets/vehicle-12c1bc97.js b/web/settings/assets/vehicle-11bd8bba.js similarity index 88% rename from web/settings/assets/vehicle-12c1bc97.js rename to web/settings/assets/vehicle-11bd8bba.js index a40a5e8b92..2ee0d5c33b 100644 --- a/web/settings/assets/vehicle-12c1bc97.js +++ b/web/settings/assets/vehicle-11bd8bba.js @@ -1 +1 @@ -import{V as s}from"./VehicleConfig-281e945c.js";import{_ as p,u,k as d,l as v,G as a,E as n,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEVCC",mixins:[s]},g={class:"vehicle-soc-evcc"};function x(t,e,f,V,w,b){const i=u("openwb-base-text-input"),r=u("openwb-base-select-input");return d(),v("div",g,[a(i,{title:"EVCC Sponsor Token",subtype:"password",required:"","model-value":t.vehicle.configuration.sponsor_token,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.sponsor_token"))},{help:n(()=>e[5]||(e[5]=[l(" EVCC Sponsor Token angeben, dies ist notwendig um SoC über EVCC abrufen zu können. https://sponsor.evcc.io/ ")])),_:1},8,["model-value"]),a(i,{title:"Benutzername",subtype:"text",required:"","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.user_id"))},{help:n(()=>e[6]||(e[6]=[l(" Benutzername beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(i,{title:"Kennwort",subtype:"password",required:"","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.password"))},{help:n(()=>e[7]||(e[7]=[l(" Kennwort beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(r,{title:"Marke",required:"","not-selected":"Bitte auswählen",options:[{value:"aiways",text:"Aiways"},{value:"audi",text:"Audi"},{value:"etron",text:"Audi e-tron"},{value:"bmw",text:"BMW"},{value:"dacia",text:"Dacia"},{value:"fiat",text:"Fiat"},{value:"ford",text:"Ford"},{value:"hyundai",text:"Hyundai"},{value:"jaguar",text:"Jaguar"},{value:"kia",text:"Kia"},{value:"landrover",text:"Landrover"},{value:"mg",text:"Mg"},{value:"mini",text:"Mini"},{value:"nissan",text:"Nissan"},{value:"carwings",text:"Nissan (Leaf pre 2019)"},{value:"ovms",text:"OVMS"},{value:"polestar",text:"Polestar"},{value:"porsche",text:"Porsche"},{value:"renault",text:"Renault"},{value:"seat",text:"Seat"},{value:"cupra",text:"Seat Cupra"},{value:"skoda",text:"Škoda"},{value:"enyaq",text:"Škoda Enyaq"},{value:"smart",text:"Smart"},{value:"smart-hello",text:"Smart-Hello"},{value:"template",text:"Template"},{value:"volvo",text:"Volvo"},{value:"volvo-connected",text:"Volvo-Connected"},{value:"vw",text:"VW"},{value:"id",text:"VW ID"}],"model-value":t.vehicle.configuration.vehicle_type,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.vehicle_type"))},{help:n(()=>e[8]||(e[8]=[l(" Marke aus des Fahrzeugs. ")])),_:1},8,["model-value"]),a(i,{title:"VIN",subtype:"text","model-value":t.vehicle.configuration.VIN,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.VIN"))},{help:n(()=>e[9]||(e[9]=[l(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const B=p(m,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{B as default}; +import{V as s}from"./VehicleConfig-87862d5f.js";import{_ as p,u,l as d,m as v,G as a,E as n,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEVCC",mixins:[s]},g={class:"vehicle-soc-evcc"};function x(t,e,f,V,w,b){const i=u("openwb-base-text-input"),r=u("openwb-base-select-input");return d(),v("div",g,[a(i,{title:"EVCC Sponsor Token",subtype:"password",required:"","model-value":t.vehicle.configuration.sponsor_token,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.sponsor_token"))},{help:n(()=>e[5]||(e[5]=[l(" EVCC Sponsor Token angeben, dies ist notwendig um SoC über EVCC abrufen zu können. https://sponsor.evcc.io/ ")])),_:1},8,["model-value"]),a(i,{title:"Benutzername",subtype:"text",required:"","model-value":t.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.user_id"))},{help:n(()=>e[6]||(e[6]=[l(" Benutzername beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(i,{title:"Kennwort",subtype:"password",required:"","model-value":t.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.password"))},{help:n(()=>e[7]||(e[7]=[l(" Kennwort beim Fahrzeughersteller. ")])),_:1},8,["model-value"]),a(r,{title:"Marke",required:"","not-selected":"Bitte auswählen",options:[{value:"aiways",text:"Aiways"},{value:"audi",text:"Audi"},{value:"etron",text:"Audi e-tron"},{value:"bmw",text:"BMW"},{value:"dacia",text:"Dacia"},{value:"fiat",text:"Fiat"},{value:"ford",text:"Ford"},{value:"hyundai",text:"Hyundai"},{value:"jaguar",text:"Jaguar"},{value:"kia",text:"Kia"},{value:"landrover",text:"Landrover"},{value:"mg",text:"Mg"},{value:"mini",text:"Mini"},{value:"nissan",text:"Nissan"},{value:"carwings",text:"Nissan (Leaf pre 2019)"},{value:"ovms",text:"OVMS"},{value:"polestar",text:"Polestar"},{value:"porsche",text:"Porsche"},{value:"renault",text:"Renault"},{value:"seat",text:"Seat"},{value:"cupra",text:"Seat Cupra"},{value:"skoda",text:"Škoda"},{value:"enyaq",text:"Škoda Enyaq"},{value:"smart",text:"Smart"},{value:"smart-hello",text:"Smart-Hello"},{value:"template",text:"Template"},{value:"volvo",text:"Volvo"},{value:"volvo-connected",text:"Volvo-Connected"},{value:"vw",text:"VW"},{value:"id",text:"VW ID"}],"model-value":t.vehicle.configuration.vehicle_type,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.vehicle_type"))},{help:n(()=>e[8]||(e[8]=[l(" Marke aus des Fahrzeugs. ")])),_:1},8,["model-value"]),a(i,{title:"VIN",subtype:"text","model-value":t.vehicle.configuration.VIN,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.VIN"))},{help:n(()=>e[9]||(e[9]=[l(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const B=p(m,[["render",x],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evcc/vehicle.vue"]]);export{B as default}; diff --git a/web/settings/assets/vehicle-139f9053.js b/web/settings/assets/vehicle-139f9053.js new file mode 100644 index 0000000000..6797917dfe --- /dev/null +++ b/web/settings/assets/vehicle-139f9053.js @@ -0,0 +1 @@ +import{V as a}from"./VehicleConfig-87862d5f.js";import{_ as s,u as p,l as u,m,G as n,E as r,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocHttp",mixins:[a]},c={class:"vehicle-soc-http"};function v(t,e,f,h,g,w){const i=p("openwb-base-text-input");return u(),m("div",c,[n(i,{title:"SoC URL",subtype:"url",required:"","model-value":t.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.soc_url"))},{help:r(()=>e[2]||(e[2]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche den aktuellen Ladestand in Prozent (0 bis 100) zurückgibt. ")])),_:1},8,["model-value"]),n(i,{title:"Reichweiten URL",subtype:"url","model-value":t.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.range_url"))},{help:r(()=>e[3]||(e[3]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche die aktuelle Reichweite in Kilometern darstellt. Diese Angabe ist optional. ")])),_:1},8,["model-value"])])}const S=s(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{S as default}; diff --git a/web/settings/assets/vehicle-bba7a342.js b/web/settings/assets/vehicle-16cf3c3b.js similarity index 69% rename from web/settings/assets/vehicle-bba7a342.js rename to web/settings/assets/vehicle-16cf3c3b.js index e7b09e095b..c72a97e3a9 100644 --- a/web/settings/assets/vehicle-bba7a342.js +++ b/web/settings/assets/vehicle-16cf3c3b.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-281e945c.js";import{_ as u,u as l,k as p,l as s,G as i}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEvnotify",mixins:[a]},d={class:"vehicle-soc-evnotify"};function f(e,o,c,v,b,g){const r=l("openwb-base-number-input"),t=l("openwb-base-text-input");return p(),s("div",d,[i(r,{title:"ID",required:"",min:0,"model-value":e.vehicle.configuration.id,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.id"))},null,8,["model-value"]),i(t,{title:"AKey",required:"","model-value":e.vehicle.configuration.akey,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.akey"))},null,8,["model-value"]),i(t,{title:"Token",required:"","model-value":e.vehicle.configuration.token,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.token"))},null,8,["model-value"])])}const B=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evnotify/vehicle.vue"]]);export{B as default}; +import{V as a}from"./VehicleConfig-87862d5f.js";import{_ as u,u as l,l as p,m as s,G as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocEvnotify",mixins:[a]},d={class:"vehicle-soc-evnotify"};function f(e,o,c,v,b,g){const r=l("openwb-base-number-input"),t=l("openwb-base-text-input");return p(),s("div",d,[i(r,{title:"ID",required:"",min:0,"model-value":e.vehicle.configuration.id,"onUpdate:modelValue":o[0]||(o[0]=n=>e.updateConfiguration(n,"configuration.id"))},null,8,["model-value"]),i(t,{title:"AKey",required:"","model-value":e.vehicle.configuration.akey,"onUpdate:modelValue":o[1]||(o[1]=n=>e.updateConfiguration(n,"configuration.akey"))},null,8,["model-value"]),i(t,{title:"Token",required:"","model-value":e.vehicle.configuration.token,"onUpdate:modelValue":o[2]||(o[2]=n=>e.updateConfiguration(n,"configuration.token"))},null,8,["model-value"])])}const B=u(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/evnotify/vehicle.vue"]]);export{B as default}; diff --git a/web/settings/assets/vehicle-f50fcc3e.js b/web/settings/assets/vehicle-1d0e3089.js similarity index 64% rename from web/settings/assets/vehicle-f50fcc3e.js rename to web/settings/assets/vehicle-1d0e3089.js index 4ebb88f005..a800bdb2cc 100644 --- a/web/settings/assets/vehicle-f50fcc3e.js +++ b/web/settings/assets/vehicle-1d0e3089.js @@ -1 +1 @@ -import{V as o}from"./VehicleConfig-281e945c.js";import{_ as i,u as r,k as s,l as a,G as c,E as p,y as n,x as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocPSA",mixins:[o]},m={class:"vehicle-soc-psa"};function u(f,e,_,h,b,g){const t=r("openwb-base-alert");return s(),a("div",m,[c(t,{subtype:"danger"},{default:p(()=>e[0]||(e[0]=[n(" Diese Modul ist seit Änderungen der Schnittstellen durch PSA nicht mehr funktionsfähig und wird in einer zukünftigen Version entfernt. Bitte auf einen anderen Anbieter wechseln, z.B. Tronity."),l("br",null,null,-1),n(" Bei vorhandener PSA-Integration in Heimautomation kann der SoC ggf. auch per MQTT übergeben werden. ")])),_:1})])}const T=i(d,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psa/vehicle.vue"]]);export{T as default}; +import{V as o}from"./VehicleConfig-87862d5f.js";import{_ as i,u as r,l as s,m as a,G as c,E as p,y as n,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocPSA",mixins:[o]},m={class:"vehicle-soc-psa"};function u(f,e,_,h,b,g){const t=r("openwb-base-alert");return s(),a("div",m,[c(t,{subtype:"danger"},{default:p(()=>e[0]||(e[0]=[n(" Diese Modul ist seit Änderungen der Schnittstellen durch PSA nicht mehr funktionsfähig und wird in einer zukünftigen Version entfernt. Bitte auf einen anderen Anbieter wechseln, z.B. Tronity."),l("br",null,null,-1),n(" Bei vorhandener PSA-Integration in Heimautomation kann der SoC ggf. auch per MQTT übergeben werden. ")])),_:1})])}const T=i(d,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psa/vehicle.vue"]]);export{T as default}; diff --git a/web/settings/assets/vehicle-f1503767.js b/web/settings/assets/vehicle-2566f4ec.js similarity index 80% rename from web/settings/assets/vehicle-f1503767.js rename to web/settings/assets/vehicle-2566f4ec.js index 4740424bae..7d277eadec 100644 --- a/web/settings/assets/vehicle-f1503767.js +++ b/web/settings/assets/vehicle-2566f4ec.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-281e945c.js";import{_ as d,u,k as p,l as g,G as o,E as l,y as i,x as c}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocTronity",mixins:[a]},f={class:"vehicle-soc-tronity"};function b(n,e,v,C,w,h){const r=u("openwb-base-text-input"),s=u("openwb-base-button-group-input");return p(),g("div",f,[o(r,{title:"Vehicle ID",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_id,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.vehicle_id"))},{help:l(()=>e[4]||(e[4]=[i(' Vehicle ID aus Tronity angeben. Diese ist in den "Assigned Vehicles" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client ID",subtype:"text",required:"","model-value":n.vehicle.configuration.client_id,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.client_id"))},{help:l(()=>e[5]||(e[5]=[i(' Client ID aus Tronity angeben. Diese ist in den "Application Settings" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client Secret",subtype:"password",required:"","model-value":n.vehicle.configuration.client_secret,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.client_secret"))},{help:l(()=>e[6]||(e[6]=[i(' Client Secret aus Tronity angeben. Diese ist in den "Application Settings" zu finden. Das Client Secret kann nur einmalig abgerufen werden. Ggf. neu erzeugen, womit frühere Client Secrets ungültig werden. ')])),_:1},8,["model-value"]),o(s,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.calculate_soc"))},{help:l(()=>e[7]||(e[7]=[i(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),c("br",null,null,-1),i(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"])])}const L=d(m,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tronity/vehicle.vue"]]);export{L as default}; +import{V as a}from"./VehicleConfig-87862d5f.js";import{_ as d,u,l as p,m as g,G as o,E as l,y as i,x as c}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocTronity",mixins:[a]},f={class:"vehicle-soc-tronity"};function b(n,e,v,C,w,h){const r=u("openwb-base-text-input"),s=u("openwb-base-button-group-input");return p(),g("div",f,[o(r,{title:"Vehicle ID",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_id,"onUpdate:modelValue":e[0]||(e[0]=t=>n.updateConfiguration(t,"configuration.vehicle_id"))},{help:l(()=>e[4]||(e[4]=[i(' Vehicle ID aus Tronity angeben. Diese ist in den "Assigned Vehicles" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client ID",subtype:"text",required:"","model-value":n.vehicle.configuration.client_id,"onUpdate:modelValue":e[1]||(e[1]=t=>n.updateConfiguration(t,"configuration.client_id"))},{help:l(()=>e[5]||(e[5]=[i(' Client ID aus Tronity angeben. Diese ist in den "Application Settings" zu finden. ')])),_:1},8,["model-value"]),o(r,{title:"Client Secret",subtype:"password",required:"","model-value":n.vehicle.configuration.client_secret,"onUpdate:modelValue":e[2]||(e[2]=t=>n.updateConfiguration(t,"configuration.client_secret"))},{help:l(()=>e[6]||(e[6]=[i(' Client Secret aus Tronity angeben. Diese ist in den "Application Settings" zu finden. Das Client Secret kann nur einmalig abgerufen werden. Ggf. neu erzeugen, womit frühere Client Secrets ungültig werden. ')])),_:1},8,["model-value"]),o(s,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":n.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[3]||(e[3]=t=>n.updateConfiguration(t,"configuration.calculate_soc"))},{help:l(()=>e[7]||(e[7]=[i(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),c("br",null,null,-1),i(" Derzeit notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"])])}const T=d(m,[["render",b],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tronity/vehicle.vue"]]);export{T as default}; diff --git a/web/settings/assets/vehicle-04bdb769.js b/web/settings/assets/vehicle-33954f90.js similarity index 79% rename from web/settings/assets/vehicle-04bdb769.js rename to web/settings/assets/vehicle-33954f90.js index c005b55335..2ad8cc1f58 100644 --- a/web/settings/assets/vehicle-04bdb769.js +++ b/web/settings/assets/vehicle-33954f90.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-281e945c.js";import{_ as a,u as s,k as d,l as p,G as i,E as r,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocRenault",mixins:[u]},f={class:"vehicle-soc-renault"};function v(n,e,g,V,w,b){const t=s("openwb-base-text-input");return d(),p("div",f,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Land",required:"","model-value":n.vehicle.configuration.country,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.country"))},{help:r(()=>e[6]||(e[6]=[l(" Land des Fahrzeugs, z.b. DE für Deutschland. ")])),_:1},8,["model-value"]),i(t,{title:"VIN","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs falls mehrere Fahrzeuge im Account vorhanden sind. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/renault/vehicle.vue"]]);export{$ as default}; +import{V as u}from"./VehicleConfig-87862d5f.js";import{_ as a,u as s,l as d,m as p,G as i,E as r,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocRenault",mixins:[u]},f={class:"vehicle-soc-renault"};function v(n,e,g,V,w,b){const t=s("openwb-base-text-input");return d(),p("div",f,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":n.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":n.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Renault-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Land",required:"","model-value":n.vehicle.configuration.country,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.country"))},{help:r(()=>e[6]||(e[6]=[l(" Land des Fahrzeugs, z.b. DE für Deutschland. ")])),_:1},8,["model-value"]),i(t,{title:"VIN","model-value":n.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=o=>n.updateConfiguration(o,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs falls mehrere Fahrzeuge im Account vorhanden sind. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/renault/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-4083a50a.js b/web/settings/assets/vehicle-4083a50a.js deleted file mode 100644 index fe4427177a..0000000000 --- a/web/settings/assets/vehicle-4083a50a.js +++ /dev/null @@ -1 +0,0 @@ -import{V as a}from"./VehicleConfig-281e945c.js";import{_ as s,u as p,k as u,l as m,G as n,E as r,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const d={name:"VehicleSocHttp",mixins:[a]},c={class:"vehicle-soc-http"};function v(t,e,f,h,g,w){const i=p("openwb-base-text-input");return u(),m("div",c,[n(i,{title:"SoC URL",subtype:"url",required:"","model-value":t.vehicle.configuration.soc_url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.soc_url"))},{help:r(()=>e[2]||(e[2]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche den aktuellen Ladestand in Prozent (0 bis 100) zurückgibt. ")])),_:1},8,["model-value"]),n(i,{title:"Reichweiten URL",subtype:"url","model-value":t.vehicle.configuration.range_url,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.range_url"))},{help:r(()=>e[3]||(e[3]=[l(" Es wird vom Server eine Zahl (Float mit Punkt als Dezimaltrennzeichen oder Integer) erwartet, welche die aktuelle Reichweite in Kilometern darstellt. Diese Angabe ist optional. ")])),_:1},8,["model-value"])])}const S=s(d,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/http/vehicle.vue"]]);export{S as default}; diff --git a/web/settings/assets/vehicle-b93c6372.js b/web/settings/assets/vehicle-4799ea20.js similarity index 75% rename from web/settings/assets/vehicle-b93c6372.js rename to web/settings/assets/vehicle-4799ea20.js index 401aedb0f3..0ea5c9e32f 100644 --- a/web/settings/assets/vehicle-b93c6372.js +++ b/web/settings/assets/vehicle-4799ea20.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-281e945c.js";import{_ as d,u as r,k as u,l as f,G as n,E as l,y as o,x as t,F as p}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocMqtt",mixins:[m]},v={class:"vehicle-soc-mqtt"};function g(i,e,w,k,x,B){const s=r("openwb-base-copy-to-clipboard"),a=r("openwb-base-alert");return u(),f("div",v,[n(a,{subtype:"info"},{default:l(()=>[e[12]||(e[12]=o(" Die Daten werden immer dann aktualisiert, wenn das Topic veröffentlicht wird. Die Abfrageintervalle werden nicht berücksichtigt, da das Intervall vom sendenden Client festgelegt wird. ")),t("ul",null,[t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/soc ",1)]),_:1}),e[0]||(e[0]=t("br",null,null,-1)),e[1]||(e[1]=o(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl")),e[2]||(e[2]=t("br",null,null,-1)),e[3]||(e[3]=o(" Beispiel: ")),e[4]||(e[4]=t("span",{class:"text-info"},"89.5",-1))]),t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/range ",1)]),_:1}),e[5]||(e[5]=t("br",null,null,-1)),e[6]||(e[6]=o(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl")),e[7]||(e[7]=t("br",null,null,-1)),e[8]||(e[8]=o(" Diese Info ist optional.")),e[9]||(e[9]=t("br",null,null,-1)),e[10]||(e[10]=o(" Beispiel: ")),e[11]||(e[11]=t("span",{class:"text-info"},"356.5",-1))])])]),_:1})])}const $=d(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{$ as default}; +import{V as m}from"./VehicleConfig-87862d5f.js";import{_ as d,u as r,l as u,m as f,G as n,E as l,y as o,x as t,F as p}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const b={name:"VehicleSocMqtt",mixins:[m]},v={class:"vehicle-soc-mqtt"};function g(i,e,w,x,k,B){const s=r("openwb-base-copy-to-clipboard"),a=r("openwb-base-alert");return u(),f("div",v,[n(a,{subtype:"info"},{default:l(()=>[e[12]||(e[12]=o(" Die Daten werden immer dann aktualisiert, wenn das Topic veröffentlicht wird. Die Abfrageintervalle werden nicht berücksichtigt, da das Intervall vom sendenden Client festgelegt wird. ")),t("ul",null,[t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/soc ",1)]),_:1}),e[0]||(e[0]=t("br",null,null,-1)),e[1]||(e[1]=o(" Fahrzeug-SoC mit Nachkommastellen (Float) oder Ganzzahl")),e[2]||(e[2]=t("br",null,null,-1)),e[3]||(e[3]=o(" Beispiel: ")),e[4]||(e[4]=t("span",{class:"text-info"},"89.5",-1))]),t("li",null,[n(s,{class:"text-info",tooltip:"Topic kopieren"},{default:l(()=>[o(" openWB/set/vehicle/"+p(i.vehicleId)+"/get/range ",1)]),_:1}),e[5]||(e[5]=t("br",null,null,-1)),e[6]||(e[6]=o(" Reichweite des Fahrzeugs in km mit Nachkommastellen (Float) oder Ganzzahl")),e[7]||(e[7]=t("br",null,null,-1)),e[8]||(e[8]=o(" Diese Info ist optional.")),e[9]||(e[9]=t("br",null,null,-1)),e[10]||(e[10]=o(" Beispiel: ")),e[11]||(e[11]=t("span",{class:"text-info"},"356.5",-1))])])]),_:1})])}const $=d(b,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mqtt/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-78b94855.js b/web/settings/assets/vehicle-4e34d67d.js similarity index 52% rename from web/settings/assets/vehicle-78b94855.js rename to web/settings/assets/vehicle-4e34d67d.js index fbb6280ecf..d2a655c469 100644 --- a/web/settings/assets/vehicle-78b94855.js +++ b/web/settings/assets/vehicle-4e34d67d.js @@ -1 +1 @@ -import{V as n}from"./VehicleConfig-281e945c.js";import{_ as s,u as i,k as o,l as r,G as a,E as d,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const p={name:"VehicleSocManual",mixins:[n]},c={class:"vehicle-soc-tesla"};function u(m,e,_,f,h,g){const t=i("openwb-base-alert");return o(),r("div",c,[a(t,{subtype:"info"},{default:d(()=>e[0]||(e[0]=[l(' Beim Anstecken des Fahrzeugs muss der aktuelle SoC über die Hauptseite angegeben werden. Anhand des Zählers im Ladepunkt wird dann der aktuelle SoC errechnet. Ausschlaggebend für die Qualität dieses Moduls sind die beiden Einstellungen "Kapazität der Batterie" in dem Fahrzeug-Profil und "Wirkungsgrad der Ladeelektronik". ')])),_:1})])}const z=s(p,[["render",u],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/manual/vehicle.vue"]]);export{z as default}; +import{V as n}from"./VehicleConfig-87862d5f.js";import{_ as s,u as i,l as o,m as r,G as a,E as d,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const p={name:"VehicleSocManual",mixins:[n]},c={class:"vehicle-soc-tesla"};function m(u,e,_,f,h,g){const t=i("openwb-base-alert");return o(),r("div",c,[a(t,{subtype:"info"},{default:d(()=>e[0]||(e[0]=[l(' Beim Anstecken des Fahrzeugs muss der aktuelle SoC über die Hauptseite angegeben werden. Anhand des Zählers im Ladepunkt wird dann der aktuelle SoC errechnet. Ausschlaggebend für die Qualität dieses Moduls sind die beiden Einstellungen "Kapazität der Batterie" in dem Fahrzeug-Profil und "Wirkungsgrad der Ladeelektronik". ')])),_:1})])}const z=s(p,[["render",m],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/manual/vehicle.vue"]]);export{z as default}; diff --git a/web/settings/assets/vehicle-d7550cc6.js b/web/settings/assets/vehicle-5d403ab1.js similarity index 87% rename from web/settings/assets/vehicle-d7550cc6.js rename to web/settings/assets/vehicle-5d403ab1.js index a90d0296bd..5d68b05b76 100644 --- a/web/settings/assets/vehicle-d7550cc6.js +++ b/web/settings/assets/vehicle-5d403ab1.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-281e945c.js";import{_ as b,u as s,k as g,l as v,G as i,E as o,y as n,x as u,F as _}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocMercedesEq",mixins:[m],computed:{callback_url(){return`${location.origin}/openWB/web/settings/modules/vehicles/mercedeseq/callback_vehicle.php`},login_url(){return`https://ssoalpha.dvb.corpinter.net/v1/auth?response_type=code&state=${this.vehicleId}&client_id=${this.vehicle.configuration.client_id}&redirect_uri=${this.callback_url}&scope=mb:vehicle:mbdata:evstatus%20offline_access%20openid`},input_complete(){return this.vehicle.configuration.client_id&&this.vehicle.configuration.client_secret&&this.vehicle.configuration.vin}},methods:{login_window(){console.debug("callback url",this.callback_url),console.debug("login url",this.login_url);var t=window.open(this.login_url,"MercedesLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");t.focus()}}},h={class:"vehicle-soc-mercedeseq"};function w(t,e,k,C,y,r){const a=s("openwb-base-text-input"),d=s("openwb-base-copy-to-clipboard"),p=s("openwb-base-alert"),c=s("openwb-base-button-input");return g(),v("div",h,[i(a,{title:"Client-ID",required:"",subtype:"user","model-value":t.vehicle.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateConfiguration(l,"configuration.client_id"))},{help:o(()=>e[3]||(e[3]=[n(" Die im Developer Portal angelegte Client-ID. ")])),_:1},8,["model-value"]),i(a,{title:"Client Secret",required:"",subtype:"password","model-value":t.vehicle.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateConfiguration(l,"configuration.client_secret"))},{help:o(()=>e[4]||(e[4]=[n(" Das im Developer Portal angelegte Client Secret. ")])),_:1},8,["model-value"]),i(a,{title:"VIN",required:"","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateConfiguration(l,"configuration.vin"))},{help:o(()=>e[5]||(e[5]=[n(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(p,{subtype:"info"},{default:o(()=>[e[6]||(e[6]=n(" Vor dem Anmelden bitte die Angaben speichern.")),e[7]||(e[7]=u("br",null,null,-1)),e[8]||(e[8]=n(" Die Callback-URL für die Anmeldung lautet:")),e[9]||(e[9]=u("br",null,null,-1)),i(d,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[n(_(r.callback_url),1)]),_:1})]),_:1}),i(c,{title:"Anmelden","button-text":"Bei Mercedes Anmelden",subtype:"success",disabled:!r.input_complete,onButtonClicked:r.login_window},{help:o(()=>e[10]||(e[10]=[n(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Mercedes mit Ihren Zugangsdaten anmelden können."),u("br",null,null,-1)])),_:1},8,["disabled","onButtonClicked"])])}const U=b(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mercedeseq/vehicle.vue"]]);export{U as default}; +import{V as m}from"./VehicleConfig-87862d5f.js";import{_ as b,u as s,l as g,m as v,G as i,E as o,y as n,x as u,F as _}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocMercedesEq",mixins:[m],computed:{callback_url(){return`${location.origin}/openWB/web/settings/modules/vehicles/mercedeseq/callback_vehicle.php`},login_url(){return`https://ssoalpha.dvb.corpinter.net/v1/auth?response_type=code&state=${this.vehicleId}&client_id=${this.vehicle.configuration.client_id}&redirect_uri=${this.callback_url}&scope=mb:vehicle:mbdata:evstatus%20offline_access%20openid`},input_complete(){return this.vehicle.configuration.client_id&&this.vehicle.configuration.client_secret&&this.vehicle.configuration.vin}},methods:{login_window(){console.debug("callback url",this.callback_url),console.debug("login url",this.login_url);var t=window.open(this.login_url,"MercedesLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");t.focus()}}},h={class:"vehicle-soc-mercedeseq"};function w(t,e,k,C,y,r){const a=s("openwb-base-text-input"),d=s("openwb-base-copy-to-clipboard"),p=s("openwb-base-alert"),c=s("openwb-base-button-input");return g(),v("div",h,[i(a,{title:"Client-ID",required:"",subtype:"user","model-value":t.vehicle.configuration.client_id,"onUpdate:modelValue":e[0]||(e[0]=l=>t.updateConfiguration(l,"configuration.client_id"))},{help:o(()=>e[3]||(e[3]=[n(" Die im Developer Portal angelegte Client-ID. ")])),_:1},8,["model-value"]),i(a,{title:"Client Secret",required:"",subtype:"password","model-value":t.vehicle.configuration.client_secret,"onUpdate:modelValue":e[1]||(e[1]=l=>t.updateConfiguration(l,"configuration.client_secret"))},{help:o(()=>e[4]||(e[4]=[n(" Das im Developer Portal angelegte Client Secret. ")])),_:1},8,["model-value"]),i(a,{title:"VIN",required:"","model-value":t.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=l=>t.updateConfiguration(l,"configuration.vin"))},{help:o(()=>e[5]||(e[5]=[n(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(p,{subtype:"info"},{default:o(()=>[e[6]||(e[6]=n(" Vor dem Anmelden bitte die Angaben speichern.")),e[7]||(e[7]=u("br",null,null,-1)),e[8]||(e[8]=n(" Die Callback-URL für die Anmeldung lautet:")),e[9]||(e[9]=u("br",null,null,-1)),i(d,{class:"text-info",tooltip:"URL kopieren"},{default:o(()=>[n(_(r.callback_url),1)]),_:1})]),_:1}),i(c,{title:"Anmelden","button-text":"Bei Mercedes Anmelden",subtype:"success",disabled:!r.input_complete,onButtonClicked:r.login_window},{help:o(()=>e[10]||(e[10]=[n(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Mercedes mit Ihren Zugangsdaten anmelden können."),u("br",null,null,-1)])),_:1},8,["disabled","onButtonClicked"])])}const U=b(f,[["render",w],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/mercedeseq/vehicle.vue"]]);export{U as default}; diff --git a/web/settings/assets/vehicle-23a37988.js b/web/settings/assets/vehicle-6a2e83cc.js similarity index 92% rename from web/settings/assets/vehicle-23a37988.js rename to web/settings/assets/vehicle-6a2e83cc.js index dbef93e4fd..5a2a91145c 100644 --- a/web/settings/assets/vehicle-23a37988.js +++ b/web/settings/assets/vehicle-6a2e83cc.js @@ -1 +1 @@ -import{_ as h,a4 as c,a5 as _,a6 as f,u as r,k as b,l as k,G as i,E as a,y as s,x as v}from"./vendor-06e11d0e.js";import{a as w}from"./vendor-axios-22b906fb.js";import{C as y}from"./index-3434d31b.js";import{V as C}from"./VehicleConfig-281e945c.js";import"./vendor-sortablejs-0bb60e5b.js";import"./vendor-fortawesome-05d7e447.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./dynamic-import-helper-be004503.js";const T={name:"VehicleSocTesla",mixins:[y,C],data(){return{tesla_api_oauth2:"https://auth.tesla.com/oauth2/v3",tesla_api_redirect:"https://auth.tesla.com/void/callback",tesla_api_owners:"https://owner-api.teslamotors.com/oauth/token",user_agent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",code_challenge:null,code_verifier:null,page_not_found_url:null}},methods:{tesla_login_window(){this.tesla_gen_challenge();var e=window.open(this.tesla_gen_url(),"TeslaLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");e.focus()},tesla_gen_challenge(){this.code_verifier=c.encode(_.randomBytes(86)).replace(/[^a-zA-Z0-9]/gi,"").substring(0,86);const e=_.createHash("sha256").update(this.code_verifier).digest();this.code_challenge=c.encode(e),console.debug(this.code_verifier,this.code_verifier.length,this.code_challenge,this.code_challenge.length)},tesla_gen_url(){const e=new URL(this.tesla_api_oauth2+"/authorize/");return e.searchParams.append("client_id","ownerapi"),e.searchParams.append("code_challenge",this.code_challenge),e.searchParams.append("code_challenge_method","S256"),e.searchParams.append("redirect_uri",this.tesla_api_redirect),e.searchParams.append("response_type","code"),e.searchParams.append("scope","openid email offline_access"),e.searchParams.append("state","myteslaapp"),e},async tesla_login(){const e=f.parse(this.page_not_found_url,!0).query;if(console.debug("queryObject",e),!e.code){console.error("Something is wrong... Code does not exist in URL"),this.$root.postClientMessage("Die eingegebene URL ist ungültig.","danger");return}const n={url:this.tesla_api_owners,user_agent:this.user_agent,data:{grant_type:"authorization_code",client_id:"ownerapi",code:e.code,code_verifier:this.code_verifier,redirect_uri:this.tesla_api_redirect}};try{const o=await w.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/vehicles/tesla/tesla.php",JSON.parse(JSON.stringify(n)),{headers:{"Content-Type":"application/json",Accept:"application/json"}});console.debug("response",o),this.updateConfiguration({access_token:o.data.access_token,refresh_token:o.data.refresh_token,created_at:o.data.created_at,expires_in:o.data.expires_in},"configuration.token"),this.$root.postClientMessage("Token erfolgreich abgerufen.","success")}catch(o){console.error(o),this.$root.postClientMessage("Beim Abruf der Token ist ein Fehler aufgetreten!
"+o+"
","danger")}}}},U={class:"vehicle-soc-tesla"};function B(e,n,o,z,l,p){const u=r("openwb-base-number-input"),m=r("openwb-base-heading"),g=r("openwb-base-button-input"),d=r("openwb-base-text-input");return b(),k("div",U,[i(u,{title:"Fahrzeug-ID",required:"",min:0,"model-value":e.vehicle.configuration.tesla_ev_num,"onUpdate:modelValue":n[0]||(n[0]=t=>e.updateConfiguration(t,"configuration.tesla_ev_num"))},{help:a(()=>n[6]||(n[6]=[s(' Die ID des Fahrzeugs bei Tesla. Normalerweise "0" bei nur einem Fahrzeug im Konto. ')])),_:1},8,["model-value"]),i(m,null,{default:a(()=>n[7]||(n[7]=[s("Token abrufen oder eingeben")])),_:1}),i(g,{title:"1. Anmelden","button-text":"Bei Tesla Anmelden",subtype:"success",onButtonClicked:p.tesla_login_window},{help:a(()=>n[8]||(n[8]=[s(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Tesla mit Ihren Zugangsdaten anmelden können. ")])),_:1},8,["onButtonClicked"]),i(d,{modelValue:l.page_not_found_url,"onUpdate:modelValue":n[1]||(n[1]=t=>l.page_not_found_url=t),title:"2. URL kopieren und einfügen",subtype:"url","empty-value":null},{help:a(()=>n[9]||(n[9]=[s(' Hier die komplette URL (Text in der Adresszeile) aus dem geöffneten Browserfenster einfügen, wenn dort "Page Not Found" angezeigt wird. ')])),_:1},8,["modelValue"]),i(g,{title:"3. Token abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:l.page_not_found_url===null,onButtonClicked:p.tesla_login},{help:a(()=>n[10]||(n[10]=[s(" Der in der eingegebenen URL enthaltene Code wird genutzt, um ein Anmeldetoken bei Tesla abzurufen. Ist dies erfolgreich, so werden die Daten des Token in den weiteren Feldern automatisch eingegeben. ")])),_:1},8,["disabled","onButtonClicked"]),n[13]||(n[13]=v("hr",null,null,-1)),i(d,{title:"Access Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.access_token:"","onUpdate:modelValue":n[2]||(n[2]=t=>e.updateConfiguration(t,"configuration.token.access_token"))},null,8,["model-value"]),i(d,{title:"Refresh Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.refresh_token:"","onUpdate:modelValue":n[3]||(n[3]=t=>e.updateConfiguration(t,"configuration.token.refresh_token"))},null,8,["model-value"]),i(u,{title:"Erstellt um",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.created_at:0,"onUpdate:modelValue":n[4]||(n[4]=t=>e.updateConfiguration(t,"configuration.token.created_at"))},{help:a(()=>n[11]||(n[11]=[s(" Unix Timestamp des Zeitpunktes, an dem das Token erzeugt wurde. ")])),_:1},8,["model-value"]),i(u,{title:"Ungültig in",unit:"s",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.expires_in:0,"onUpdate:modelValue":n[5]||(n[5]=t=>e.updateConfiguration(t,"configuration.token.expires_in"))},{help:a(()=>n[12]||(n[12]=[s(" Zeitspanne in Sekunden, nach der das Token ungültig wird. ")])),_:1},8,["model-value"])])}const x=h(T,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{x as default}; +import{_ as h,a4 as c,a5 as _,a6 as f,u as r,l as b,m as k,G as i,E as a,y as s,x as v}from"./vendor-0c15df0c.js";import{a as w}from"./vendor-axios-c9d2afa0.js";import{C as y}from"./index-6ffbdc7e.js";import{V as C}from"./VehicleConfig-87862d5f.js";import"./vendor-sortablejs-1a751103.js";import"./vendor-fortawesome-231ff303.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./dynamic-import-helper-be004503.js";const T={name:"VehicleSocTesla",mixins:[y,C],data(){return{tesla_api_oauth2:"https://auth.tesla.com/oauth2/v3",tesla_api_redirect:"https://auth.tesla.com/void/callback",tesla_api_owners:"https://owner-api.teslamotors.com/oauth/token",user_agent:"Mozilla/5.0 (iPhone; CPU iPhone OS 14_7_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148",code_challenge:null,code_verifier:null,page_not_found_url:null}},methods:{tesla_login_window(){this.tesla_gen_challenge();var e=window.open(this.tesla_gen_url(),"TeslaLogin","width=800,height=600,status=yes,scrollbars=yes,resizable=yes");e.focus()},tesla_gen_challenge(){this.code_verifier=c.encode(_.randomBytes(86)).replace(/[^a-zA-Z0-9]/gi,"").substring(0,86);const e=_.createHash("sha256").update(this.code_verifier).digest();this.code_challenge=c.encode(e),console.debug(this.code_verifier,this.code_verifier.length,this.code_challenge,this.code_challenge.length)},tesla_gen_url(){const e=new URL(this.tesla_api_oauth2+"/authorize/");return e.searchParams.append("client_id","ownerapi"),e.searchParams.append("code_challenge",this.code_challenge),e.searchParams.append("code_challenge_method","S256"),e.searchParams.append("redirect_uri",this.tesla_api_redirect),e.searchParams.append("response_type","code"),e.searchParams.append("scope","openid email offline_access"),e.searchParams.append("state","myteslaapp"),e},async tesla_login(){const e=f.parse(this.page_not_found_url,!0).query;if(console.debug("queryObject",e),!e.code){console.error("Something is wrong... Code does not exist in URL"),this.$root.postClientMessage("Die eingegebene URL ist ungültig.","danger");return}const n={url:this.tesla_api_owners,user_agent:this.user_agent,data:{grant_type:"authorization_code",client_id:"ownerapi",code:e.code,code_verifier:this.code_verifier,redirect_uri:this.tesla_api_redirect}};try{const o=await w.post(location.protocol+"//"+location.host+"/openWB/web/settings/modules/vehicles/tesla/tesla.php",JSON.parse(JSON.stringify(n)),{headers:{"Content-Type":"application/json",Accept:"application/json"}});console.debug("response",o),this.updateConfiguration({access_token:o.data.access_token,refresh_token:o.data.refresh_token,created_at:o.data.created_at,expires_in:o.data.expires_in},"configuration.token"),this.$root.postClientMessage("Token erfolgreich abgerufen.","success")}catch(o){console.error(o),this.$root.postClientMessage("Beim Abruf der Token ist ein Fehler aufgetreten!
"+o+"
","danger")}}}},U={class:"vehicle-soc-tesla"};function B(e,n,o,z,l,p){const u=r("openwb-base-number-input"),m=r("openwb-base-heading"),g=r("openwb-base-button-input"),d=r("openwb-base-text-input");return b(),k("div",U,[i(u,{title:"Fahrzeug-ID",required:"",min:0,"model-value":e.vehicle.configuration.tesla_ev_num,"onUpdate:modelValue":n[0]||(n[0]=t=>e.updateConfiguration(t,"configuration.tesla_ev_num"))},{help:a(()=>n[6]||(n[6]=[s(' Die ID des Fahrzeugs bei Tesla. Normalerweise "0" bei nur einem Fahrzeug im Konto. ')])),_:1},8,["model-value"]),i(m,null,{default:a(()=>n[7]||(n[7]=[s("Token abrufen oder eingeben")])),_:1}),i(g,{title:"1. Anmelden","button-text":"Bei Tesla Anmelden",subtype:"success",onButtonClicked:p.tesla_login_window},{help:a(()=>n[8]||(n[8]=[s(" Es wird ein neues Browserfenster geöffnet, in dem Sie sich bei Tesla mit Ihren Zugangsdaten anmelden können. ")])),_:1},8,["onButtonClicked"]),i(d,{modelValue:l.page_not_found_url,"onUpdate:modelValue":n[1]||(n[1]=t=>l.page_not_found_url=t),title:"2. URL kopieren und einfügen",subtype:"url","empty-value":null},{help:a(()=>n[9]||(n[9]=[s(' Hier die komplette URL (Text in der Adresszeile) aus dem geöffneten Browserfenster einfügen, wenn dort "Page Not Found" angezeigt wird. ')])),_:1},8,["modelValue"]),i(g,{title:"3. Token abrufen","button-text":"Jetzt abrufen",subtype:"success",disabled:l.page_not_found_url===null,onButtonClicked:p.tesla_login},{help:a(()=>n[10]||(n[10]=[s(" Der in der eingegebenen URL enthaltene Code wird genutzt, um ein Anmeldetoken bei Tesla abzurufen. Ist dies erfolgreich, so werden die Daten des Token in den weiteren Feldern automatisch eingegeben. ")])),_:1},8,["disabled","onButtonClicked"]),n[13]||(n[13]=v("hr",null,null,-1)),i(d,{title:"Access Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.access_token:"","onUpdate:modelValue":n[2]||(n[2]=t=>e.updateConfiguration(t,"configuration.token.access_token"))},null,8,["model-value"]),i(d,{title:"Refresh Token",pattern:"^(ey).*",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.refresh_token:"","onUpdate:modelValue":n[3]||(n[3]=t=>e.updateConfiguration(t,"configuration.token.refresh_token"))},null,8,["model-value"]),i(u,{title:"Erstellt um",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.created_at:0,"onUpdate:modelValue":n[4]||(n[4]=t=>e.updateConfiguration(t,"configuration.token.created_at"))},{help:a(()=>n[11]||(n[11]=[s(" Unix Timestamp des Zeitpunktes, an dem das Token erzeugt wurde. ")])),_:1},8,["model-value"]),i(u,{title:"Ungültig in",unit:"s",required:"","model-value":e.vehicle.configuration.token?e.vehicle.configuration.token.expires_in:0,"onUpdate:modelValue":n[5]||(n[5]=t=>e.updateConfiguration(t,"configuration.token.expires_in"))},{help:a(()=>n[12]||(n[12]=[s(" Zeitspanne in Sekunden, nach der das Token ungültig wird. ")])),_:1},8,["model-value"])])}const x=h(T,[["render",B],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/tesla/vehicle.vue"]]);export{x as default}; diff --git a/web/settings/assets/vehicle-cc6a42af.js b/web/settings/assets/vehicle-6dfafe6a.js similarity index 73% rename from web/settings/assets/vehicle-cc6a42af.js rename to web/settings/assets/vehicle-6dfafe6a.js index ab9fad3ffb..720b88d193 100644 --- a/web/settings/assets/vehicle-cc6a42af.js +++ b/web/settings/assets/vehicle-6dfafe6a.js @@ -1 +1 @@ -import{V as r}from"./VehicleConfig-281e945c.js";import{_ as l,u as s,k as a,l as u,G as i,E as p,y as d}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSmartHello",mixins:[r]},f={class:"vehicle-soc-smart-hello"};function v(o,e,c,g,h,V){const n=s("openwb-base-text-input");return a(),u("div",f,[i(n,{title:"Benutzername",subtype:"text",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},null,8,["model-value"]),i(n,{title:"Kennwort",subtype:"password",required:"","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"]),i(n,{title:"VIN",subtype:"text","model-value":o.vehicle.configuration.VIN,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.VIN"))},{help:p(()=>e[3]||(e[3]=[d(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const $=l(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarthello/vehicle.vue"]]);export{$ as default}; +import{V as r}from"./VehicleConfig-87862d5f.js";import{_ as l,u as s,l as a,m as u,G as i,E as p,y as d}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSmartHello",mixins:[r]},f={class:"vehicle-soc-smart-hello"};function v(o,e,c,g,h,V){const n=s("openwb-base-text-input");return a(),u("div",f,[i(n,{title:"Benutzername",subtype:"text",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=t=>o.updateConfiguration(t,"configuration.user_id"))},null,8,["model-value"]),i(n,{title:"Kennwort",subtype:"password",required:"","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=t=>o.updateConfiguration(t,"configuration.password"))},null,8,["model-value"]),i(n,{title:"VIN",subtype:"text","model-value":o.vehicle.configuration.VIN,"onUpdate:modelValue":e[2]||(e[2]=t=>o.updateConfiguration(t,"configuration.VIN"))},{help:p(()=>e[3]||(e[3]=[d(" Fahrgestellnummer (VIN) des Fahrzeugs. Notwendig falls mehrere Fahrzeuge im Account des Herstellers vorhanden sind. ")])),_:1},8,["model-value"])])}const $=l(m,[["render",v],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/smarthello/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-61e65f73.js b/web/settings/assets/vehicle-8049a9ea.js similarity index 82% rename from web/settings/assets/vehicle-61e65f73.js rename to web/settings/assets/vehicle-8049a9ea.js index 9cfc4a6984..5c558a502f 100644 --- a/web/settings/assets/vehicle-61e65f73.js +++ b/web/settings/assets/vehicle-8049a9ea.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-281e945c.js";import{_ as d,u as l,k as s,l as p,G as n,E as m,y as a,x as v}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocAiways",mixins:[u]},g={class:"vehicle-soc-aiways"};function c(o,e,w,V,b,C){const r=l("openwb-base-alert"),t=l("openwb-base-text-input");return s(),p("div",g,[n(r,{subtype:"info"},{default:m(()=>e[6]||(e[6]=[a(" Alle Werte müssen von der Aiways App abgefangen werden. Dazu kann diese "),v("a",{href:"https://community.home-assistant.io/t/read-aiways-u5-state-of-charge/466441/5"}," Anleitung ",-1),a(" verwendet werden. ")])),_:1}),n(t,{title:"User ID",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.user_id"))},null,8,["model-value"]),n(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.vin"))},null,8,["model-value"]),n(t,{title:"Device ID",required:"","model-value":o.vehicle.configuration.device_id,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.device_id"))},null,8,["model-value"]),n(t,{title:"Register ID",required:"","model-value":o.vehicle.configuration.register_id,"onUpdate:modelValue":e[3]||(e[3]=i=>o.updateConfiguration(i,"configuration.register_id"))},null,8,["model-value"]),n(t,{title:"Token",required:"","model-value":o.vehicle.configuration.token,"onUpdate:modelValue":e[4]||(e[4]=i=>o.updateConfiguration(i,"configuration.token"))},null,8,["model-value"]),n(t,{title:"Condition URL",subtype:"url",required:"","model-value":o.vehicle.configuration.condition_url,"onUpdate:modelValue":e[5]||(e[5]=i=>o.updateConfiguration(i,"configuration.condition_url"))},null,8,["model-value"])])}const I=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/aiways/vehicle.vue"]]);export{I as default}; +import{V as u}from"./VehicleConfig-87862d5f.js";import{_ as d,u as l,l as s,m as p,G as n,E as m,y as a,x as v}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocAiways",mixins:[u]},g={class:"vehicle-soc-aiways"};function c(o,e,w,V,b,C){const r=l("openwb-base-alert"),t=l("openwb-base-text-input");return s(),p("div",g,[n(r,{subtype:"info"},{default:m(()=>e[6]||(e[6]=[a(" Alle Werte müssen von der Aiways App abgefangen werden. Dazu kann diese "),v("a",{href:"https://community.home-assistant.io/t/read-aiways-u5-state-of-charge/466441/5"}," Anleitung ",-1),a(" verwendet werden. ")])),_:1}),n(t,{title:"User ID",required:"","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=i=>o.updateConfiguration(i,"configuration.user_id"))},null,8,["model-value"]),n(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[1]||(e[1]=i=>o.updateConfiguration(i,"configuration.vin"))},null,8,["model-value"]),n(t,{title:"Device ID",required:"","model-value":o.vehicle.configuration.device_id,"onUpdate:modelValue":e[2]||(e[2]=i=>o.updateConfiguration(i,"configuration.device_id"))},null,8,["model-value"]),n(t,{title:"Register ID",required:"","model-value":o.vehicle.configuration.register_id,"onUpdate:modelValue":e[3]||(e[3]=i=>o.updateConfiguration(i,"configuration.register_id"))},null,8,["model-value"]),n(t,{title:"Token",required:"","model-value":o.vehicle.configuration.token,"onUpdate:modelValue":e[4]||(e[4]=i=>o.updateConfiguration(i,"configuration.token"))},null,8,["model-value"]),n(t,{title:"Condition URL",subtype:"url",required:"","model-value":o.vehicle.configuration.condition_url,"onUpdate:modelValue":e[5]||(e[5]=i=>o.updateConfiguration(i,"configuration.condition_url"))},null,8,["model-value"])])}const I=d(f,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/aiways/vehicle.vue"]]);export{I as default}; diff --git a/web/settings/assets/vehicle-1bd23f96.js b/web/settings/assets/vehicle-9a97c4c4.js similarity index 91% rename from web/settings/assets/vehicle-1bd23f96.js rename to web/settings/assets/vehicle-9a97c4c4.js index 813f728984..55b659fb67 100644 --- a/web/settings/assets/vehicle-1bd23f96.js +++ b/web/settings/assets/vehicle-9a97c4c4.js @@ -1 +1 @@ -import{V as m}from"./VehicleConfig-281e945c.js";import{_ as p,u as s,k as g,l as b,G as r,E as i,y as n,x as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocJson",mixins:[m]},w={class:"vehicle-soc-json"};function h(t,e,v,c,k,z){const a=s("openwb-base-text-input"),u=s("openwb-base-button-group-input"),d=s("openwb-base-number-input");return g(),b("div",w,[r(a,{title:"URL",subtype:"url",required:"","model-value":t.vehicle.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.url"))},{help:i(()=>e[6]||(e[6]=[n(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein. Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für SoC",subtype:"text",required:"","model-value":t.vehicle.configuration.soc_pattern,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.soc_pattern"))},{help:i(()=>e[7]||(e[7]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.soc eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) darstellt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Reichweite",subtype:"text","model-value":t.vehicle.configuration.range_pattern,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.range_pattern"))},{help:i(()=>e[8]||(e[8]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.range eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Reichweite darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird die Reichweite nicht abgefragt und auf Null gesetzt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Zeitstempel",subtype:"text","model-value":t.vehicle.configuration.timestamp_pattern,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.timestamp_pattern"))},{help:i(()=>e[9]||(e[9]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.timestamp eingetragen werden.'),l("br",null,null,-1),n(" Es wird vom Server entweder eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen als Epoch Zeitstempel oder eine ISO 8601 formatierte Zeit erwartet welche den Zeitstempel der gelieferten Werte darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird der Zeitpunkt des Datenabrufs als Zeitstempel verwendet. ")])),_:1},8,["model-value"]),r(u,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.calculate_soc"))},{help:i(()=>e[10]||(e[10]=[n(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),l("br",null,null,-1),n(" Derzeit u.a. notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"]),r(d,{title:"Timeout für http-Abfragen",subtype:"number","model-value":t.vehicle.configuration.timeout,"onUpdate:modelValue":e[5]||(e[5]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:i(()=>e[11]||(e[11]=[n(" Ermöglicht es einen Timeout für die http-Abfragen zu setzen. Der Wert wird in Sekunden angegeben. Standardwert ist 5 Sekunden sofern kein anderer Wert angegeben ist. ")])),_:1},8,["model-value"])])}const E=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/json/vehicle.vue"]]);export{E as default}; +import{V as m}from"./VehicleConfig-87862d5f.js";import{_ as p,u as s,l as g,m as b,G as r,E as i,y as n,x as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocJson",mixins:[m]},w={class:"vehicle-soc-json"};function h(t,e,v,c,k,z){const a=s("openwb-base-text-input"),u=s("openwb-base-button-group-input"),d=s("openwb-base-number-input");return g(),b("div",w,[r(a,{title:"URL",subtype:"url",required:"","model-value":t.vehicle.configuration.url,"onUpdate:modelValue":e[0]||(e[0]=o=>t.updateConfiguration(o,"configuration.url"))},{help:i(()=>e[6]||(e[6]=[n(" Es wird eine komplette URL erwartet mit Angaben zum Protokoll, IP oder Hostnamen, optional einem Port und einem Pfad. Die Antwort muss ein json-Objekt sein. Beispiel: http://192.168.1.1:8080/json?data=1 ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für SoC",subtype:"text",required:"","model-value":t.vehicle.configuration.soc_pattern,"onUpdate:modelValue":e[1]||(e[1]=o=>t.updateConfiguration(o,"configuration.soc_pattern"))},{help:i(()=>e[7]||(e[7]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.soc eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche den aktuellen Ladestand (SoC) darstellt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Reichweite",subtype:"text","model-value":t.vehicle.configuration.range_pattern,"onUpdate:modelValue":e[2]||(e[2]=o=>t.updateConfiguration(o,"configuration.range_pattern"))},{help:i(()=>e[8]||(e[8]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.range eingetragen werden. '),l("br",null,null,-1),n(" Es wird vom Server eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen erwartet, welche die aktuelle Reichweite darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird die Reichweite nicht abgefragt und auf Null gesetzt. ")])),_:1},8,["model-value"]),r(a,{title:"Abfrage für Zeitstempel",subtype:"text","model-value":t.vehicle.configuration.timestamp_pattern,"onUpdate:modelValue":e[3]||(e[3]=o=>t.updateConfiguration(o,"configuration.timestamp_pattern"))},{help:i(()=>e[9]||(e[9]=[n(' Zur Analyse der Werte aus dem json-Objekt wird jq benutzt. Ist die Json Antwort z.B. {"response":{"soc":"39.8", "range": "207", "timestamp":1734054449}} So muss hier .response.timestamp eingetragen werden.'),l("br",null,null,-1),n(" Es wird vom Server entweder eine Zahl mit oder ohne Nachkommastellen (Float, Integer) und einem Punkt als Dezimaltrennzeichen als Epoch Zeitstempel oder eine ISO 8601 formatierte Zeit erwartet welche den Zeitstempel der gelieferten Werte darstellt."),l("br",null,null,-1),n(" Ohne Angabe wird der Zeitpunkt des Datenabrufs als Zeitstempel verwendet. ")])),_:1},8,["model-value"]),r(u,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":t.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=o=>t.updateConfiguration(o,"configuration.calculate_soc"))},{help:i(()=>e[10]||(e[10]=[n(" Berechnet den Ladestand (SoC) während der Ladung. Dies ist notwendig, wenn der SoC nicht über die Schnittstelle des Fahrzeugs abgerufen werden kann. Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),l("br",null,null,-1),n(" Derzeit u.a. notwendig für Peugeot, Opel, Citroen und DS. ")])),_:1},8,["model-value"]),r(d,{title:"Timeout für http-Abfragen",subtype:"number","model-value":t.vehicle.configuration.timeout,"onUpdate:modelValue":e[5]||(e[5]=o=>t.updateConfiguration(o,"configuration.timeout"))},{help:i(()=>e[11]||(e[11]=[n(" Ermöglicht es einen Timeout für die http-Abfragen zu setzen. Der Wert wird in Sekunden angegeben. Standardwert ist 5 Sekunden sofern kein anderer Wert angegeben ist. ")])),_:1},8,["model-value"])])}const E=p(f,[["render",h],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/json/vehicle.vue"]]);export{E as default}; diff --git a/web/settings/assets/vehicle-2386edaa.js b/web/settings/assets/vehicle-9ce0437c.js similarity index 82% rename from web/settings/assets/vehicle-2386edaa.js rename to web/settings/assets/vehicle-9ce0437c.js index 3d6a5abd88..0f1eeb0e53 100644 --- a/web/settings/assets/vehicle-2386edaa.js +++ b/web/settings/assets/vehicle-9ce0437c.js @@ -1 +1 @@ -import{V as l}from"./VehicleConfig-281e945c.js";import{_ as p,u as a,k as m,l as f,G as r,E as t,y as i}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const g={name:"VehicleSocPSACC",mixins:[l]},v={class:"vehicle-soc-psacc"};function c(n,e,b,_,C,h){const d=a("openwb-base-alert"),s=a("openwb-base-text-input"),u=a("openwb-base-number-input");return m(),f("div",v,[r(d,{subtype:"info"},{default:t(()=>e[3]||(e[3]=[i(' Der PSA Car Controller muss auf einem eigenen Host installiert werden, mit Zugangsdaten konfiguriert werden und dauerhaft laufen. Die openWB ruft den SoC zu Beginn der Ladung vom PSA Car Controller ab. Während der Ladung liefert PSA keine Updates. Daher wird der SoC während der Ladung aus dem Zählerstand berechnet. Ausschlaggebend für die Genauigkeit dieser Berechnung sind die beiden Einstellungen "Kapazität der Batterie" und "Wirkungsgrad der Ladeelektronik" im Fahrzeug-Profil. ')])),_:1}),r(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.vehicle.configuration.psacc_server_or_ip,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.psacc_server_or_ip"))},{help:t(()=>e[4]||(e[4]=[i("Host, auf dem der PSA Car Controller läuft.")])),_:1},8,["model-value"]),r(u,{title:"Port",required:"",min:1,max:65535,"model-value":n.vehicle.configuration.psacc_port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.psacc_port"))},{help:t(()=>e[5]||(e[5]=[i("Nummer des Ports, den der PSA Car Controller verwendet.")])),_:1},8,["model-value"]),r(s,{title:"VIN",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_vin,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.vehicle_vin"))},{help:t(()=>e[6]||(e[6]=[i("Fahrzeug-Identifizierungsnummer des Fahrzeugs, von dem der SoC abgefragt wird.")])),_:1},8,["model-value"])])}const y=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psacc/vehicle.vue"]]);export{y as default}; +import{V as l}from"./VehicleConfig-87862d5f.js";import{_ as p,u as a,l as m,m as f,G as r,E as t,y as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const g={name:"VehicleSocPSACC",mixins:[l]},v={class:"vehicle-soc-psacc"};function c(n,e,b,_,C,h){const d=a("openwb-base-alert"),s=a("openwb-base-text-input"),u=a("openwb-base-number-input");return m(),f("div",v,[r(d,{subtype:"info"},{default:t(()=>e[3]||(e[3]=[i(' Der PSA Car Controller muss auf einem eigenen Host installiert werden, mit Zugangsdaten konfiguriert werden und dauerhaft laufen. Die openWB ruft den SoC zu Beginn der Ladung vom PSA Car Controller ab. Während der Ladung liefert PSA keine Updates. Daher wird der SoC während der Ladung aus dem Zählerstand berechnet. Ausschlaggebend für die Genauigkeit dieser Berechnung sind die beiden Einstellungen "Kapazität der Batterie" und "Wirkungsgrad der Ladeelektronik" im Fahrzeug-Profil. ')])),_:1}),r(s,{title:"IP oder Hostname",subtype:"host",required:"","model-value":n.vehicle.configuration.psacc_server_or_ip,"onUpdate:modelValue":e[0]||(e[0]=o=>n.updateConfiguration(o,"configuration.psacc_server_or_ip"))},{help:t(()=>e[4]||(e[4]=[i("Host, auf dem der PSA Car Controller läuft.")])),_:1},8,["model-value"]),r(u,{title:"Port",required:"",min:1,max:65535,"model-value":n.vehicle.configuration.psacc_port,"onUpdate:modelValue":e[1]||(e[1]=o=>n.updateConfiguration(o,"configuration.psacc_port"))},{help:t(()=>e[5]||(e[5]=[i("Nummer des Ports, den der PSA Car Controller verwendet.")])),_:1},8,["model-value"]),r(s,{title:"VIN",subtype:"text",required:"","model-value":n.vehicle.configuration.vehicle_vin,"onUpdate:modelValue":e[2]||(e[2]=o=>n.updateConfiguration(o,"configuration.vehicle_vin"))},{help:t(()=>e[6]||(e[6]=[i("Fahrzeug-Identifizierungsnummer des Fahrzeugs, von dem der SoC abgefragt wird.")])),_:1},8,["model-value"])])}const y=p(g,[["render",c],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/psacc/vehicle.vue"]]);export{y as default}; diff --git a/web/settings/assets/vehicle-1a2703da.js b/web/settings/assets/vehicle-acf0dddd.js similarity index 78% rename from web/settings/assets/vehicle-1a2703da.js rename to web/settings/assets/vehicle-acf0dddd.js index 3335a06b37..8c777d1398 100644 --- a/web/settings/assets/vehicle-1a2703da.js +++ b/web/settings/assets/vehicle-acf0dddd.js @@ -1 +1 @@ -import{V as u}from"./VehicleConfig-281e945c.js";import{_ as a,u as s,k as d,l as p,G as t,E as r,y as l}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocKia",mixins:[u]},v={class:"vehicle-soc-kia"};function f(o,e,g,w,V,b){const i=s("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"PIN",required:"",subtype:"password","model-value":o.vehicle.configuration.pin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.pin"))},{help:r(()=>e[6]||(e[6]=[l(" Die PIN für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{$ as default}; +import{V as u}from"./VehicleConfig-87862d5f.js";import{_ as a,u as s,l as d,m as p,G as t,E as r,y as l}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocKia",mixins:[u]},v={class:"vehicle-soc-kia"};function f(o,e,g,w,V,b){const i=s("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[4]||(e[4]=[l(" Der Benutzername für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[5]||(e[5]=[l(" Das Passwort für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"PIN",required:"",subtype:"password","model-value":o.vehicle.configuration.pin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.pin"))},{help:r(()=>e[6]||(e[6]=[l(" Die PIN für die Anmeldung an den Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[3]||(e[3]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[l(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const $=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/kia/vehicle.vue"]]);export{$ as default}; diff --git a/web/settings/assets/vehicle-334c2060.js b/web/settings/assets/vehicle-b7044ce6.js similarity index 75% rename from web/settings/assets/vehicle-334c2060.js rename to web/settings/assets/vehicle-b7044ce6.js index df902af147..6373d940ed 100644 --- a/web/settings/assets/vehicle-334c2060.js +++ b/web/settings/assets/vehicle-b7044ce6.js @@ -1 +1 @@ -import{V as a}from"./VehicleConfig-281e945c.js";import{_ as l,u as d,k as u,l as p,G as i,E as r,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSkodaconnect",mixins:[a]},v={class:"vehicle-soc-skodaconnect"};function f(o,e,c,g,w,V){const t=d("openwb-base-text-input");return u(),p("div",v,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const x=l(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skodaconnect/vehicle.vue"]]);export{x as default}; +import{V as a}from"./VehicleConfig-87862d5f.js";import{_ as l,u as d,l as u,m as p,G as i,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocSkodaconnect",mixins:[a]},v={class:"vehicle-soc-skodaconnect"};function f(o,e,c,g,w,V){const t=d("openwb-base-text-input");return u(),p("div",v,[i(t,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den SkodaConnect-Servern. ")])),_:1},8,["model-value"]),i(t,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const x=l(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/skodaconnect/vehicle.vue"]]);export{x as default}; diff --git a/web/settings/assets/vehicle-c5982e8c.js b/web/settings/assets/vehicle-c5982e8c.js new file mode 100644 index 0000000000..de0223465e --- /dev/null +++ b/web/settings/assets/vehicle-c5982e8c.js @@ -0,0 +1 @@ +import{V as s}from"./VehicleConfig-87862d5f.js";import{_ as d,u as a,l as p,m,G as t,E as u,y as n,x as i}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocOVMS",mixins:[s]},f={class:"vehicle-soc-ovms"};function g(o,e,V,b,S,w){const l=a("openwb-base-text-input");return p(),m("div",f,[t(l,{title:"Server URL",required:"","model-value":o.vehicle.configuration.server_url,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.server_url"))},{help:u(()=>e[4]||(e[4]=[n(" Die URL (incl. Port) des API des OVMS-Servers, an dem das OVMS-Modul angemeldet ist, z.B. "),i("br",null,null,-1),n(" https://ovms.dexters-web.de:6869"),i("br",null,null,-1),n(" oder"),i("br",null,null,-1),n(" https://api.openvehicles.com:6869"),i("br",null,null,-1),n(" oder ein custom server"),i("br",null,null,-1)])),_:1},8,["model-value"]),t(l,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=r=>o.updateConfiguration(r,"configuration.user_id"))},{help:u(()=>e[5]||(e[5]=[n(" Der Benutzername für die Anmeldung am benutzen OVMS-Servers. ")])),_:1},8,["model-value"]),t(l,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=r=>o.updateConfiguration(r,"configuration.password"))},{help:u(()=>e[6]||(e[6]=[n(" Das Passwort für die Anmeldung am OVMS-Server. ")])),_:1},8,["model-value"]),t(l,{title:"Vehicle Id",required:"","model-value":o.vehicle.configuration.vehicleId,"onUpdate:modelValue":e[3]||(e[3]=r=>o.updateConfiguration(r,"configuration.vehicleId"))},{help:u(()=>e[7]||(e[7]=[n(" Die Id des Fahrzeugs im OVMS, auch Module Id genannt. ")])),_:1},8,["model-value"])])}const q=d(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ovms/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vehicle-0d0f888a.js b/web/settings/assets/vehicle-d0dcb8af.js similarity index 90% rename from web/settings/assets/vehicle-0d0f888a.js rename to web/settings/assets/vehicle-d0dcb8af.js index 6e89e0088d..00ffd7f0a8 100644 --- a/web/settings/assets/vehicle-0d0f888a.js +++ b/web/settings/assets/vehicle-d0dcb8af.js @@ -1 +1 @@ -import{V as p}from"./VehicleConfig-281e945c.js";import{_ as m,u as s,k as b,l as g,G as i,E as r,y as n,x as t}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocBmwBimmerConnected",mixins:[p]},v={class:"vehicle-soc-bmwbc"},w={href:"https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html",target:"_blank"};function C(l,e,k,B,V,S){const u=s("openwb-base-text-input"),d=s("font-awesome-icon"),a=s("openwb-base-button-group-input");return b(),g("div",v,[i(u,{title:"Benutzername",required:"",subtype:"user","model-value":l.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=o=>l.updateConfiguration(o,"configuration.user_id"))},{help:r(()=>e[5]||(e[5]=[n(" Der Benutzername für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"Kennwort",required:"",subtype:"password","model-value":l.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>l.updateConfiguration(o,"configuration.password"))},{help:r(()=>e[6]||(e[6]=[n(" Das Passwort für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"VIN",required:"","model-value":l.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=o=>l.updateConfiguration(o,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[n(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(u,{title:"Captcha-Token",required:"","model-value":l.vehicle.configuration.captcha_token,"onUpdate:modelValue":e[3]||(e[3]=o=>l.updateConfiguration(o,"configuration.captcha_token"))},{help:r(()=>[e[9]||(e[9]=n(" Zum erstmaligen Login z.B. nach einem Neustart ist ein ")),e[10]||(e[10]=t("b",null,"aktuelles Captcha-Token",-1)),e[11]||(e[11]=n(" notwendig.")),e[12]||(e[12]=t("br",null,null,-1)),e[13]||(e[13]=n(" Dazu bitte folgende Schritte durchführen:")),e[14]||(e[14]=t("br",null,null,-1)),e[15]||(e[15]=n(" 1. in einem neuen Browser-Tab auf diese Seite gehen:")),e[16]||(e[16]=t("br",null,null,-1)),t("a",w,[e[8]||(e[8]=n(" Captcha Lösen ")),i(d,{"fixed-width":"",icon:["fas","external-link-alt"]})]),e[17]||(e[17]=n(" (https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html)")),e[18]||(e[18]=t("br",null,null,-1)),e[19]||(e[19]=n(' 2. Dort falls angefragt das Captcha lösen und/oder "Ich bin ein Mensch" und dann Submit anclicken.')),e[20]||(e[20]=t("br",null,null,-1)),e[21]||(e[21]=n(" Als Ergebnis wird ein sehr langer String angezeigt. ")),e[22]||(e[22]=t("br",null,null,-1)),e[23]||(e[23]=n(" 3. Diesen String komplett mit ")),e[24]||(e[24]=t("b",null,"Copy&Paste",-1)),e[25]||(e[25]=n(" in das Feld Captcha-Token eingeben.")),e[26]||(e[26]=t("br",null,null,-1)),e[27]||(e[27]=n(" 4. Die Konfiguration speichern.")),e[28]||(e[28]=t("br",null,null,-1)),e[29]||(e[29]=n(" 5. ")),e[30]||(e[30]=t("b",null,"Sofort einmal im Desktop manuell (Kreispfeil) den SoC für das Fahrzeug abrufen.",-1)),e[31]||(e[31]=t("br",null,null,-1)),e[32]||(e[32]=n(" 6. ")),e[33]||(e[33]=t("b",null,"Fertig.",-1)),e[34]||(e[34]=n(" Ab jetzt wird bis zum nächsten Neustart das sog. Refresh-Token verwendet.")),e[35]||(e[35]=t("br",null,null,-1)),e[36]||(e[36]=t("b",null,"Achtung: Das Captcha-Token kann nur einmal verwendet werden und gilt nur kurze Zeit!",-1))]),_:1},8,["model-value"]),i(a,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":l.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=o=>l.updateConfiguration(o,"configuration.calculate_soc"))},{help:r(()=>e[37]||(e[37]=[n(" Berechnet den Ladestand (SoC) während der Ladung. "),t("br",null,null,-1),n(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),t("br",null,null,-1)])),_:1},8,["model-value"])])}const x=m(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmwbc/vehicle.vue"]]);export{x as default}; +import{V as p}from"./VehicleConfig-87862d5f.js";import{_ as m,u as s,l as b,m as g,G as i,E as r,y as n,x as t}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const f={name:"VehicleSocBmwBimmerConnected",mixins:[p]},v={class:"vehicle-soc-bmwbc"},w={href:"https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html",target:"_blank"};function C(l,e,k,B,V,S){const u=s("openwb-base-text-input"),d=s("font-awesome-icon"),a=s("openwb-base-button-group-input");return b(),g("div",v,[i(u,{title:"Benutzername",required:"",subtype:"user","model-value":l.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=o=>l.updateConfiguration(o,"configuration.user_id"))},{help:r(()=>e[5]||(e[5]=[n(" Der Benutzername für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"Kennwort",required:"",subtype:"password","model-value":l.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=o=>l.updateConfiguration(o,"configuration.password"))},{help:r(()=>e[6]||(e[6]=[n(" Das Passwort für die Anmeldung an den BMW-Servern. ")])),_:1},8,["model-value"]),i(u,{title:"VIN",required:"","model-value":l.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=o=>l.updateConfiguration(o,"configuration.vin"))},{help:r(()=>e[7]||(e[7]=[n(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"]),i(u,{title:"Captcha-Token",required:"","model-value":l.vehicle.configuration.captcha_token,"onUpdate:modelValue":e[3]||(e[3]=o=>l.updateConfiguration(o,"configuration.captcha_token"))},{help:r(()=>[e[9]||(e[9]=n(" Zum erstmaligen Login z.B. nach einem Neustart ist ein ")),e[10]||(e[10]=t("b",null,"aktuelles Captcha-Token",-1)),e[11]||(e[11]=n(" notwendig.")),e[12]||(e[12]=t("br",null,null,-1)),e[13]||(e[13]=n(" Dazu bitte folgende Schritte durchführen:")),e[14]||(e[14]=t("br",null,null,-1)),e[15]||(e[15]=n(" 1. in einem neuen Browser-Tab auf diese Seite gehen:")),e[16]||(e[16]=t("br",null,null,-1)),t("a",w,[e[8]||(e[8]=n(" Captcha Lösen ")),i(d,{"fixed-width":"",icon:["fas","external-link-alt"]})]),e[17]||(e[17]=n(" (https://bimmer-connected.readthedocs.io/en/latest/captcha/rest_of_world.html)")),e[18]||(e[18]=t("br",null,null,-1)),e[19]||(e[19]=n(' 2. Dort falls angefragt das Captcha lösen und/oder "Ich bin ein Mensch" und dann Submit anclicken.')),e[20]||(e[20]=t("br",null,null,-1)),e[21]||(e[21]=n(" Als Ergebnis wird ein sehr langer String angezeigt. ")),e[22]||(e[22]=t("br",null,null,-1)),e[23]||(e[23]=n(" 3. Diesen String komplett mit ")),e[24]||(e[24]=t("b",null,"Copy&Paste",-1)),e[25]||(e[25]=n(" in das Feld Captcha-Token eingeben.")),e[26]||(e[26]=t("br",null,null,-1)),e[27]||(e[27]=n(" 4. Die Konfiguration speichern.")),e[28]||(e[28]=t("br",null,null,-1)),e[29]||(e[29]=n(" 5. ")),e[30]||(e[30]=t("b",null,"Sofort einmal im Desktop manuell (Kreispfeil) den SoC für das Fahrzeug abrufen.",-1)),e[31]||(e[31]=t("br",null,null,-1)),e[32]||(e[32]=n(" 6. ")),e[33]||(e[33]=t("b",null,"Fertig.",-1)),e[34]||(e[34]=n(" Ab jetzt wird bis zum nächsten Neustart das sog. Refresh-Token verwendet.")),e[35]||(e[35]=t("br",null,null,-1)),e[36]||(e[36]=t("b",null,"Achtung: Das Captcha-Token kann nur einmal verwendet werden und gilt nur kurze Zeit!",-1))]),_:1},8,["model-value"]),i(a,{title:"SoC während der Ladung berechnen",buttons:[{buttonValue:!1,text:"Nein",class:"btn-outline-danger"},{buttonValue:!0,text:"Ja",class:"btn-outline-success"}],"model-value":l.vehicle.configuration.calculate_soc,"onUpdate:modelValue":e[4]||(e[4]=o=>l.updateConfiguration(o,"configuration.calculate_soc"))},{help:r(()=>e[37]||(e[37]=[n(" Berechnet den Ladestand (SoC) während der Ladung. "),t("br",null,null,-1),n(" Die Berechnung erfolgt über die Ladeleistung und die Ladedauer. "),t("br",null,null,-1)])),_:1},8,["model-value"])])}const x=m(f,[["render",C],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/bmwbc/vehicle.vue"]]);export{x as default}; diff --git a/web/settings/assets/vehicle-ea6cdd7d.js b/web/settings/assets/vehicle-d33fdb18.js similarity index 66% rename from web/settings/assets/vehicle-ea6cdd7d.js rename to web/settings/assets/vehicle-d33fdb18.js index a79b48a1c9..f4c8a03fbe 100644 --- a/web/settings/assets/vehicle-ea6cdd7d.js +++ b/web/settings/assets/vehicle-d33fdb18.js @@ -1 +1 @@ -import{V as l}from"./VehicleConfig-281e945c.js";import{_ as a,u,k as d,l as p,G as t,E as r,y as s}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocVwid",mixins:[l]},v={class:"vehicle-soc-vwid"};function f(o,e,g,w,V,b){const i=u("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const y=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{y as default}; +import{V as l}from"./VehicleConfig-87862d5f.js";import{_ as a,u,l as d,m as p,G as t,E as r,y as s}from"./vendor-0c15df0c.js";import"./vendor-fortawesome-231ff303.js";import"./index-6ffbdc7e.js";import"./vendor-bootstrap-83e2d5a1.js";import"./vendor-jquery-84e2bf4a.js";import"./vendor-axios-c9d2afa0.js";import"./vendor-sortablejs-1a751103.js";import"./dynamic-import-helper-be004503.js";const m={name:"VehicleSocVwid",mixins:[l]},v={class:"vehicle-soc-vwid"};function f(o,e,g,w,V,b){const i=u("openwb-base-text-input");return d(),p("div",v,[t(i,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[0]||(e[0]=n=>o.updateConfiguration(n,"configuration.user_id"))},{help:r(()=>e[3]||(e[3]=[s(" Der Benutzername für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[1]||(e[1]=n=>o.updateConfiguration(n,"configuration.password"))},{help:r(()=>e[4]||(e[4]=[s(" Das Passwort für die Anmeldung an den VW-Servern. ")])),_:1},8,["model-value"]),t(i,{title:"VIN",required:"","model-value":o.vehicle.configuration.vin,"onUpdate:modelValue":e[2]||(e[2]=n=>o.updateConfiguration(n,"configuration.vin"))},{help:r(()=>e[5]||(e[5]=[s(" Die Fahrgestellnummer des Fahrzeugs. ")])),_:1},8,["model-value"])])}const z=a(m,[["render",f],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/vwid/vehicle.vue"]]);export{z as default}; diff --git a/web/settings/assets/vehicle-f1265f9c.js b/web/settings/assets/vehicle-f1265f9c.js deleted file mode 100644 index d259da3781..0000000000 --- a/web/settings/assets/vehicle-f1265f9c.js +++ /dev/null @@ -1 +0,0 @@ -import{V as s}from"./VehicleConfig-281e945c.js";import{_ as d,u as a,k as p,l as m,G as t,E as u,y as n,x as i}from"./vendor-06e11d0e.js";import"./vendor-fortawesome-05d7e447.js";import"./index-3434d31b.js";import"./vendor-bootstrap-4263d7eb.js";import"./vendor-jquery-9fc083b4.js";import"./vendor-axios-22b906fb.js";import"./vendor-sortablejs-0bb60e5b.js";import"./dynamic-import-helper-be004503.js";const v={name:"VehicleSocOVMS",mixins:[s]},f={class:"vehicle-soc-ovms"};function g(o,e,V,b,S,w){const l=a("openwb-base-text-input");return p(),m("div",f,[t(l,{title:"Server URL",required:"","model-value":o.vehicle.configuration.server_url,"onUpdate:modelValue":e[0]||(e[0]=r=>o.updateConfiguration(r,"configuration.server_url"))},{help:u(()=>e[4]||(e[4]=[n(" Die URL (incl. Port) des API des OVMS-Servers, an dem das OVMS-Modul angemeldet ist, z.B. "),i("br",null,null,-1),n(" https://ovms.dexters-web.de:6869"),i("br",null,null,-1),n(" oder"),i("br",null,null,-1),n(" https://api.openvehicles.com:6869"),i("br",null,null,-1),n(" oder ein custom server"),i("br",null,null,-1)])),_:1},8,["model-value"]),t(l,{title:"Benutzername",required:"",subtype:"user","model-value":o.vehicle.configuration.user_id,"onUpdate:modelValue":e[1]||(e[1]=r=>o.updateConfiguration(r,"configuration.user_id"))},{help:u(()=>e[5]||(e[5]=[n(" Der Benutzername für die Anmeldung am benutzen OVMS-Servers. ")])),_:1},8,["model-value"]),t(l,{title:"Kennwort",required:"",subtype:"password","model-value":o.vehicle.configuration.password,"onUpdate:modelValue":e[2]||(e[2]=r=>o.updateConfiguration(r,"configuration.password"))},{help:u(()=>e[6]||(e[6]=[n(" Das Passwort für die Anmeldung am OVMS-Server. ")])),_:1},8,["model-value"]),t(l,{title:"Vehicle Id",required:"","model-value":o.vehicle.configuration.vehicleId,"onUpdate:modelValue":e[3]||(e[3]=r=>o.updateConfiguration(r,"configuration.vehicleId"))},{help:u(()=>e[7]||(e[7]=[n(" Die Id des Fahrzeugs im OVMS, auch Module Id genannt. ")])),_:1},8,["model-value"])])}const q=d(v,[["render",g],["__file","/opt/openWB-dev/openwb-ui-settings/src/components/vehicles/ovms/vehicle.vue"]]);export{q as default}; diff --git a/web/settings/assets/vendor-06e11d0e.js b/web/settings/assets/vendor-06e11d0e.js deleted file mode 100644 index aa1351cbdf..0000000000 --- a/web/settings/assets/vendor-06e11d0e.js +++ /dev/null @@ -1,137 +0,0 @@ -import{r as require$$1$4}from"./vendor-sortablejs-0bb60e5b.js";var commonjsGlobal=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function getDefaultExportFromCjs(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}function getAugmentedNamespace(e){if(e.__esModule)return e;var t=e.default;if(typeof t=="function"){var n=function o(){return this instanceof o?Reflect.construct(t,arguments,this.constructor):t.apply(this,arguments)};n.prototype=t.prototype}else n={};return Object.defineProperty(n,"__esModule",{value:!0}),Object.keys(e).forEach(function(o){var u=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(n,o,u.get?u:{enumerable:!0,get:function(){return e[o]}})}),n}var buffer$2={},base64Js={};base64Js.byteLength=byteLength$1;base64Js.toByteArray=toByteArray;base64Js.fromByteArray=fromByteArray;var lookup=[],revLookup=[],Arr=typeof Uint8Array<"u"?Uint8Array:Array,code="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(var i=0,len=code.length;i0)throw new Error("Invalid string. Length must be a multiple of 4");var n=e.indexOf("=");n===-1&&(n=t);var o=n===t?0:4-n%4;return[n,o]}function byteLength$1(e){var t=getLens(e),n=t[0],o=t[1];return(n+o)*3/4-o}function _byteLength(e,t,n){return(t+n)*3/4-n}function toByteArray(e){var t,n=getLens(e),o=n[0],u=n[1],a=new Arr(_byteLength(e,o,u)),v=0,y=u>0?o-4:o,w;for(w=0;w>16&255,a[v++]=t>>8&255,a[v++]=t&255;return u===2&&(t=revLookup[e.charCodeAt(w)]<<2|revLookup[e.charCodeAt(w+1)]>>4,a[v++]=t&255),u===1&&(t=revLookup[e.charCodeAt(w)]<<10|revLookup[e.charCodeAt(w+1)]<<4|revLookup[e.charCodeAt(w+2)]>>2,a[v++]=t>>8&255,a[v++]=t&255),a}function tripletToBase64(e){return lookup[e>>18&63]+lookup[e>>12&63]+lookup[e>>6&63]+lookup[e&63]}function encodeChunk(e,t,n){for(var o,u=[],a=t;ay?y:v+a));return o===1?(t=e[n-1],u.push(lookup[t>>2]+lookup[t<<4&63]+"==")):o===2&&(t=(e[n-2]<<8)+e[n-1],u.push(lookup[t>>10]+lookup[t>>4&63]+lookup[t<<2&63]+"=")),u.join("")}var ieee754={};/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh */ieee754.read=function(e,t,n,o,u){var a,v,y=u*8-o-1,w=(1<>1,$=-7,x=n?u-1:0,O=n?-1:1,N=e[t+x];for(x+=O,a=N&(1<<-$)-1,N>>=-$,$+=y;$>0;a=a*256+e[t+x],x+=O,$-=8);for(v=a&(1<<-$)-1,a>>=-$,$+=o;$>0;v=v*256+e[t+x],x+=O,$-=8);if(a===0)a=1-E;else{if(a===w)return v?NaN:(N?-1:1)*(1/0);v=v+Math.pow(2,o),a=a-E}return(N?-1:1)*v*Math.pow(2,a-o)};ieee754.write=function(e,t,n,o,u,a){var v,y,w,E=a*8-u-1,$=(1<>1,O=u===23?Math.pow(2,-24)-Math.pow(2,-77):0,N=o?0:a-1,L=o?1:-1,F=t<0||t===0&&1/t<0?1:0;for(t=Math.abs(t),isNaN(t)||t===1/0?(y=isNaN(t)?1:0,v=$):(v=Math.floor(Math.log(t)/Math.LN2),t*(w=Math.pow(2,-v))<1&&(v--,w*=2),v+x>=1?t+=O/w:t+=O*Math.pow(2,1-x),t*w>=2&&(v++,w/=2),v+x>=$?(y=0,v=$):v+x>=1?(y=(t*w-1)*Math.pow(2,u),v=v+x):(y=t*Math.pow(2,x-1)*Math.pow(2,u),v=0));u>=8;e[n+N]=y&255,N+=L,y/=256,u-=8);for(v=v<0;e[n+N]=v&255,N+=L,v/=256,E-=8);e[n+N-L]|=F*128};/*! - * The buffer module from node.js, for the browser. - * - * @author Feross Aboukhadijeh - * @license MIT - */(function(e){var t=base64Js,n=ieee754,o=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=y,e.SlowBuffer=U,e.INSPECT_MAX_BYTES=50;var u=2147483647;e.kMaxLength=u,y.TYPED_ARRAY_SUPPORT=a(),!y.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function a(){try{var J=new Uint8Array(1),Y={foo:function(){return 42}};return Object.setPrototypeOf(Y,Uint8Array.prototype),Object.setPrototypeOf(J,Y),J.foo()===42}catch{return!1}}Object.defineProperty(y.prototype,"parent",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.buffer}}),Object.defineProperty(y.prototype,"offset",{enumerable:!0,get:function(){if(y.isBuffer(this))return this.byteOffset}});function v(J){if(J>u)throw new RangeError('The value "'+J+'" is invalid for option "size"');var Y=new Uint8Array(J);return Object.setPrototypeOf(Y,y.prototype),Y}function y(J,Y,X){if(typeof J=="number"){if(typeof Y=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return x(J)}return w(J,Y,X)}y.poolSize=8192;function w(J,Y,X){if(typeof J=="string")return O(J,Y);if(ArrayBuffer.isView(J))return L(J);if(J==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof J);if(Q(J,ArrayBuffer)||J&&Q(J.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Q(J,SharedArrayBuffer)||J&&Q(J.buffer,SharedArrayBuffer)))return F(J,Y,X);if(typeof J=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');var ne=J.valueOf&&J.valueOf();if(ne!=null&&ne!==J)return y.from(ne,Y,X);var ge=q(J);if(ge)return ge;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof J[Symbol.toPrimitive]=="function")return y.from(J[Symbol.toPrimitive]("string"),Y,X);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof J)}y.from=function(J,Y,X){return w(J,Y,X)},Object.setPrototypeOf(y.prototype,Uint8Array.prototype),Object.setPrototypeOf(y,Uint8Array);function E(J){if(typeof J!="number")throw new TypeError('"size" argument must be of type number');if(J<0)throw new RangeError('The value "'+J+'" is invalid for option "size"')}function $(J,Y,X){return E(J),J<=0?v(J):Y!==void 0?typeof X=="string"?v(J).fill(Y,X):v(J).fill(Y):v(J)}y.alloc=function(J,Y,X){return $(J,Y,X)};function x(J){return E(J),v(J<0?0:j(J)|0)}y.allocUnsafe=function(J){return x(J)},y.allocUnsafeSlow=function(J){return x(J)};function O(J,Y){if((typeof Y!="string"||Y==="")&&(Y="utf8"),!y.isEncoding(Y))throw new TypeError("Unknown encoding: "+Y);var X=z(J,Y)|0,ne=v(X),ge=ne.write(J,Y);return ge!==X&&(ne=ne.slice(0,ge)),ne}function N(J){for(var Y=J.length<0?0:j(J.length)|0,X=v(Y),ne=0;ne=u)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+u.toString(16)+" bytes");return J|0}function U(J){return+J!=J&&(J=0),y.alloc(+J)}y.isBuffer=function(Y){return Y!=null&&Y._isBuffer===!0&&Y!==y.prototype},y.compare=function(Y,X){if(Q(Y,Uint8Array)&&(Y=y.from(Y,Y.offset,Y.byteLength)),Q(X,Uint8Array)&&(X=y.from(X,X.offset,X.byteLength)),!y.isBuffer(Y)||!y.isBuffer(X))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(Y===X)return 0;for(var ne=Y.length,ge=X.length,he=0,pe=Math.min(ne,ge);hege.length?y.from(pe).copy(ge,he):Uint8Array.prototype.set.call(ge,pe,he);else if(y.isBuffer(pe))pe.copy(ge,he);else throw new TypeError('"list" argument must be an Array of Buffers');he+=pe.length}return ge};function z(J,Y){if(y.isBuffer(J))return J.length;if(ArrayBuffer.isView(J)||Q(J,ArrayBuffer))return J.byteLength;if(typeof J!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof J);var X=J.length,ne=arguments.length>2&&arguments[2]===!0;if(!ne&&X===0)return 0;for(var ge=!1;;)switch(Y){case"ascii":case"latin1":case"binary":return X;case"utf8":case"utf-8":return H(J).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return X*2;case"hex":return X>>>1;case"base64":return B(J).length;default:if(ge)return ne?-1:H(J).length;Y=(""+Y).toLowerCase(),ge=!0}}y.byteLength=z;function Z(J,Y,X){var ne=!1;if((Y===void 0||Y<0)&&(Y=0),Y>this.length||((X===void 0||X>this.length)&&(X=this.length),X<=0)||(X>>>=0,Y>>>=0,X<=Y))return"";for(J||(J="utf8");;)switch(J){case"hex":return M(this,Y,X);case"utf8":case"utf-8":return m(this,Y,X);case"ascii":return A(this,Y,X);case"latin1":case"binary":return P(this,Y,X);case"base64":return d(this,Y,X);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return c(this,Y,X);default:if(ne)throw new TypeError("Unknown encoding: "+J);J=(J+"").toLowerCase(),ne=!0}}y.prototype._isBuffer=!0;function re(J,Y,X){var ne=J[Y];J[Y]=J[X],J[X]=ne}y.prototype.swap16=function(){var Y=this.length;if(Y%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var X=0;XX&&(Y+=" ... "),""},o&&(y.prototype[o]=y.prototype.inspect),y.prototype.compare=function(Y,X,ne,ge,he){if(Q(Y,Uint8Array)&&(Y=y.from(Y,Y.offset,Y.byteLength)),!y.isBuffer(Y))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof Y);if(X===void 0&&(X=0),ne===void 0&&(ne=Y?Y.length:0),ge===void 0&&(ge=0),he===void 0&&(he=this.length),X<0||ne>Y.length||ge<0||he>this.length)throw new RangeError("out of range index");if(ge>=he&&X>=ne)return 0;if(ge>=he)return-1;if(X>=ne)return 1;if(X>>>=0,ne>>>=0,ge>>>=0,he>>>=0,this===Y)return 0;for(var pe=he-ge,Ae=ne-X,_e=Math.min(pe,Ae),we=this.slice(ge,he),ke=Y.slice(X,ne),Me=0;Me<_e;++Me)if(we[Me]!==ke[Me]){pe=we[Me],Ae=ke[Me];break}return pe2147483647?X=2147483647:X<-2147483648&&(X=-2147483648),X=+X,ee(X)&&(X=ge?0:J.length-1),X<0&&(X=J.length+X),X>=J.length){if(ge)return-1;X=J.length-1}else if(X<0)if(ge)X=0;else return-1;if(typeof Y=="string"&&(Y=y.from(Y,ne)),y.isBuffer(Y))return Y.length===0?-1:ve(J,Y,X,ne,ge);if(typeof Y=="number")return Y=Y&255,typeof Uint8Array.prototype.indexOf=="function"?ge?Uint8Array.prototype.indexOf.call(J,Y,X):Uint8Array.prototype.lastIndexOf.call(J,Y,X):ve(J,[Y],X,ne,ge);throw new TypeError("val must be string, number or Buffer")}function ve(J,Y,X,ne,ge){var he=1,pe=J.length,Ae=Y.length;if(ne!==void 0&&(ne=String(ne).toLowerCase(),ne==="ucs2"||ne==="ucs-2"||ne==="utf16le"||ne==="utf-16le")){if(J.length<2||Y.length<2)return-1;he=2,pe/=2,Ae/=2,X/=2}function _e(Se,de){return he===1?Se[de]:Se.readUInt16BE(de*he)}var we;if(ge){var ke=-1;for(we=X;wepe&&(X=pe-Ae),we=X;we>=0;we--){for(var Me=!0,xe=0;xege&&(ne=ge)):ne=ge;var he=Y.length;ne>he/2&&(ne=he/2);for(var pe=0;pe>>0,isFinite(ne)?(ne=ne>>>0,ge===void 0&&(ge="utf8")):(ge=ne,ne=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");var he=this.length-X;if((ne===void 0||ne>he)&&(ne=he),Y.length>0&&(ne<0||X<0)||X>this.length)throw new RangeError("Attempt to write outside buffer bounds");ge||(ge="utf8");for(var pe=!1;;)switch(ge){case"hex":return ue(this,Y,X,ne);case"utf8":case"utf-8":return ie(this,Y,X,ne);case"ascii":case"latin1":case"binary":return ye(this,Y,X,ne);case"base64":return T(this,Y,X,ne);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return l(this,Y,X,ne);default:if(pe)throw new TypeError("Unknown encoding: "+ge);ge=(""+ge).toLowerCase(),pe=!0}},y.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function d(J,Y,X){return Y===0&&X===J.length?t.fromByteArray(J):t.fromByteArray(J.slice(Y,X))}function m(J,Y,X){X=Math.min(J.length,X);for(var ne=[],ge=Y;ge239?4:he>223?3:he>191?2:1;if(ge+Ae<=X){var _e,we,ke,Me;switch(Ae){case 1:he<128&&(pe=he);break;case 2:_e=J[ge+1],(_e&192)===128&&(Me=(he&31)<<6|_e&63,Me>127&&(pe=Me));break;case 3:_e=J[ge+1],we=J[ge+2],(_e&192)===128&&(we&192)===128&&(Me=(he&15)<<12|(_e&63)<<6|we&63,Me>2047&&(Me<55296||Me>57343)&&(pe=Me));break;case 4:_e=J[ge+1],we=J[ge+2],ke=J[ge+3],(_e&192)===128&&(we&192)===128&&(ke&192)===128&&(Me=(he&15)<<18|(_e&63)<<12|(we&63)<<6|ke&63,Me>65535&&Me<1114112&&(pe=Me))}}pe===null?(pe=65533,Ae=1):pe>65535&&(pe-=65536,ne.push(pe>>>10&1023|55296),pe=56320|pe&1023),ne.push(pe),ge+=Ae}return _(ne)}var b=4096;function _(J){var Y=J.length;if(Y<=b)return String.fromCharCode.apply(String,J);for(var X="",ne=0;nene)&&(X=ne);for(var ge="",he=Y;hene&&(Y=ne),X<0?(X+=ne,X<0&&(X=0)):X>ne&&(X=ne),XX)throw new RangeError("Trying to access beyond buffer length")}y.prototype.readUintLE=y.prototype.readUIntLE=function(Y,X,ne){Y=Y>>>0,X=X>>>0,ne||S(Y,X,this.length);for(var ge=this[Y],he=1,pe=0;++pe>>0,X=X>>>0,ne||S(Y,X,this.length);for(var ge=this[Y+--X],he=1;X>0&&(he*=256);)ge+=this[Y+--X]*he;return ge},y.prototype.readUint8=y.prototype.readUInt8=function(Y,X){return Y=Y>>>0,X||S(Y,1,this.length),this[Y]},y.prototype.readUint16LE=y.prototype.readUInt16LE=function(Y,X){return Y=Y>>>0,X||S(Y,2,this.length),this[Y]|this[Y+1]<<8},y.prototype.readUint16BE=y.prototype.readUInt16BE=function(Y,X){return Y=Y>>>0,X||S(Y,2,this.length),this[Y]<<8|this[Y+1]},y.prototype.readUint32LE=y.prototype.readUInt32LE=function(Y,X){return Y=Y>>>0,X||S(Y,4,this.length),(this[Y]|this[Y+1]<<8|this[Y+2]<<16)+this[Y+3]*16777216},y.prototype.readUint32BE=y.prototype.readUInt32BE=function(Y,X){return Y=Y>>>0,X||S(Y,4,this.length),this[Y]*16777216+(this[Y+1]<<16|this[Y+2]<<8|this[Y+3])},y.prototype.readIntLE=function(Y,X,ne){Y=Y>>>0,X=X>>>0,ne||S(Y,X,this.length);for(var ge=this[Y],he=1,pe=0;++pe=he&&(ge-=Math.pow(2,8*X)),ge},y.prototype.readIntBE=function(Y,X,ne){Y=Y>>>0,X=X>>>0,ne||S(Y,X,this.length);for(var ge=X,he=1,pe=this[Y+--ge];ge>0&&(he*=256);)pe+=this[Y+--ge]*he;return he*=128,pe>=he&&(pe-=Math.pow(2,8*X)),pe},y.prototype.readInt8=function(Y,X){return Y=Y>>>0,X||S(Y,1,this.length),this[Y]&128?(255-this[Y]+1)*-1:this[Y]},y.prototype.readInt16LE=function(Y,X){Y=Y>>>0,X||S(Y,2,this.length);var ne=this[Y]|this[Y+1]<<8;return ne&32768?ne|4294901760:ne},y.prototype.readInt16BE=function(Y,X){Y=Y>>>0,X||S(Y,2,this.length);var ne=this[Y+1]|this[Y]<<8;return ne&32768?ne|4294901760:ne},y.prototype.readInt32LE=function(Y,X){return Y=Y>>>0,X||S(Y,4,this.length),this[Y]|this[Y+1]<<8|this[Y+2]<<16|this[Y+3]<<24},y.prototype.readInt32BE=function(Y,X){return Y=Y>>>0,X||S(Y,4,this.length),this[Y]<<24|this[Y+1]<<16|this[Y+2]<<8|this[Y+3]},y.prototype.readFloatLE=function(Y,X){return Y=Y>>>0,X||S(Y,4,this.length),n.read(this,Y,!0,23,4)},y.prototype.readFloatBE=function(Y,X){return Y=Y>>>0,X||S(Y,4,this.length),n.read(this,Y,!1,23,4)},y.prototype.readDoubleLE=function(Y,X){return Y=Y>>>0,X||S(Y,8,this.length),n.read(this,Y,!0,52,8)},y.prototype.readDoubleBE=function(Y,X){return Y=Y>>>0,X||S(Y,8,this.length),n.read(this,Y,!1,52,8)};function k(J,Y,X,ne,ge,he){if(!y.isBuffer(J))throw new TypeError('"buffer" argument must be a Buffer instance');if(Y>ge||YJ.length)throw new RangeError("Index out of range")}y.prototype.writeUintLE=y.prototype.writeUIntLE=function(Y,X,ne,ge){if(Y=+Y,X=X>>>0,ne=ne>>>0,!ge){var he=Math.pow(2,8*ne)-1;k(this,Y,X,ne,he,0)}var pe=1,Ae=0;for(this[X]=Y&255;++Ae>>0,ne=ne>>>0,!ge){var he=Math.pow(2,8*ne)-1;k(this,Y,X,ne,he,0)}var pe=ne-1,Ae=1;for(this[X+pe]=Y&255;--pe>=0&&(Ae*=256);)this[X+pe]=Y/Ae&255;return X+ne},y.prototype.writeUint8=y.prototype.writeUInt8=function(Y,X,ne){return Y=+Y,X=X>>>0,ne||k(this,Y,X,1,255,0),this[X]=Y&255,X+1},y.prototype.writeUint16LE=y.prototype.writeUInt16LE=function(Y,X,ne){return Y=+Y,X=X>>>0,ne||k(this,Y,X,2,65535,0),this[X]=Y&255,this[X+1]=Y>>>8,X+2},y.prototype.writeUint16BE=y.prototype.writeUInt16BE=function(Y,X,ne){return Y=+Y,X=X>>>0,ne||k(this,Y,X,2,65535,0),this[X]=Y>>>8,this[X+1]=Y&255,X+2},y.prototype.writeUint32LE=y.prototype.writeUInt32LE=function(Y,X,ne){return Y=+Y,X=X>>>0,ne||k(this,Y,X,4,4294967295,0),this[X+3]=Y>>>24,this[X+2]=Y>>>16,this[X+1]=Y>>>8,this[X]=Y&255,X+4},y.prototype.writeUint32BE=y.prototype.writeUInt32BE=function(Y,X,ne){return Y=+Y,X=X>>>0,ne||k(this,Y,X,4,4294967295,0),this[X]=Y>>>24,this[X+1]=Y>>>16,this[X+2]=Y>>>8,this[X+3]=Y&255,X+4},y.prototype.writeIntLE=function(Y,X,ne,ge){if(Y=+Y,X=X>>>0,!ge){var he=Math.pow(2,8*ne-1);k(this,Y,X,ne,he-1,-he)}var pe=0,Ae=1,_e=0;for(this[X]=Y&255;++pe>0)-_e&255;return X+ne},y.prototype.writeIntBE=function(Y,X,ne,ge){if(Y=+Y,X=X>>>0,!ge){var he=Math.pow(2,8*ne-1);k(this,Y,X,ne,he-1,-he)}var pe=ne-1,Ae=1,_e=0;for(this[X+pe]=Y&255;--pe>=0&&(Ae*=256);)Y<0&&_e===0&&this[X+pe+1]!==0&&(_e=1),this[X+pe]=(Y/Ae>>0)-_e&255;return X+ne},y.prototype.writeInt8=function(Y,X,ne){return Y=+Y,X=X>>>0,ne||k(this,Y,X,1,127,-128),Y<0&&(Y=255+Y+1),this[X]=Y&255,X+1},y.prototype.writeInt16LE=function(Y,X,ne){return Y=+Y,X=X>>>0,ne||k(this,Y,X,2,32767,-32768),this[X]=Y&255,this[X+1]=Y>>>8,X+2},y.prototype.writeInt16BE=function(Y,X,ne){return Y=+Y,X=X>>>0,ne||k(this,Y,X,2,32767,-32768),this[X]=Y>>>8,this[X+1]=Y&255,X+2},y.prototype.writeInt32LE=function(Y,X,ne){return Y=+Y,X=X>>>0,ne||k(this,Y,X,4,2147483647,-2147483648),this[X]=Y&255,this[X+1]=Y>>>8,this[X+2]=Y>>>16,this[X+3]=Y>>>24,X+4},y.prototype.writeInt32BE=function(Y,X,ne){return Y=+Y,X=X>>>0,ne||k(this,Y,X,4,2147483647,-2147483648),Y<0&&(Y=4294967295+Y+1),this[X]=Y>>>24,this[X+1]=Y>>>16,this[X+2]=Y>>>8,this[X+3]=Y&255,X+4};function V(J,Y,X,ne,ge,he){if(X+ne>J.length)throw new RangeError("Index out of range");if(X<0)throw new RangeError("Index out of range")}function oe(J,Y,X,ne,ge){return Y=+Y,X=X>>>0,ge||V(J,Y,X,4),n.write(J,Y,X,ne,23,4),X+4}y.prototype.writeFloatLE=function(Y,X,ne){return oe(this,Y,X,!0,ne)},y.prototype.writeFloatBE=function(Y,X,ne){return oe(this,Y,X,!1,ne)};function le(J,Y,X,ne,ge){return Y=+Y,X=X>>>0,ge||V(J,Y,X,8),n.write(J,Y,X,ne,52,8),X+8}y.prototype.writeDoubleLE=function(Y,X,ne){return le(this,Y,X,!0,ne)},y.prototype.writeDoubleBE=function(Y,X,ne){return le(this,Y,X,!1,ne)},y.prototype.copy=function(Y,X,ne,ge){if(!y.isBuffer(Y))throw new TypeError("argument should be a Buffer");if(ne||(ne=0),!ge&&ge!==0&&(ge=this.length),X>=Y.length&&(X=Y.length),X||(X=0),ge>0&&ge=this.length)throw new RangeError("Index out of range");if(ge<0)throw new RangeError("sourceEnd out of bounds");ge>this.length&&(ge=this.length),Y.length-X>>0,ne=ne===void 0?this.length:ne>>>0,Y||(Y=0);var pe;if(typeof Y=="number")for(pe=X;pe55295&&X<57344){if(!ge){if(X>56319){(Y-=3)>-1&&he.push(239,191,189);continue}else if(pe+1===ne){(Y-=3)>-1&&he.push(239,191,189);continue}ge=X;continue}if(X<56320){(Y-=3)>-1&&he.push(239,191,189),ge=X;continue}X=(ge-55296<<10|X-56320)+65536}else ge&&(Y-=3)>-1&&he.push(239,191,189);if(ge=null,X<128){if((Y-=1)<0)break;he.push(X)}else if(X<2048){if((Y-=2)<0)break;he.push(X>>6|192,X&63|128)}else if(X<65536){if((Y-=3)<0)break;he.push(X>>12|224,X>>6&63|128,X&63|128)}else if(X<1114112){if((Y-=4)<0)break;he.push(X>>18|240,X>>12&63|128,X>>6&63|128,X&63|128)}else throw new Error("Invalid code point")}return he}function te(J){for(var Y=[],X=0;X>8,ge=X%256,he.push(ge),he.push(ne);return he}function B(J){return t.toByteArray(I(J))}function C(J,Y,X,ne){for(var ge=0;ge=Y.length||ge>=J.length);++ge)Y[ge+X]=J[ge];return ge}function Q(J,Y){return J instanceof Y||J!=null&&J.constructor!=null&&J.constructor.name!=null&&J.constructor.name===Y.name}function ee(J){return J!==J}var fe=function(){for(var J="0123456789abcdef",Y=new Array(256),X=0;X<16;++X)for(var ne=X*16,ge=0;ge<16;++ge)Y[ne+ge]=J[X]+J[ge];return Y}()})(buffer$2);var browser$e={exports:{}},process=browser$e.exports={},cachedSetTimeout,cachedClearTimeout;function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}(function(){try{typeof setTimeout=="function"?cachedSetTimeout=setTimeout:cachedSetTimeout=defaultSetTimout}catch{cachedSetTimeout=defaultSetTimout}try{typeof clearTimeout=="function"?cachedClearTimeout=clearTimeout:cachedClearTimeout=defaultClearTimeout}catch{cachedClearTimeout=defaultClearTimeout}})();function runTimeout(e){if(cachedSetTimeout===setTimeout)return setTimeout(e,0);if((cachedSetTimeout===defaultSetTimout||!cachedSetTimeout)&&setTimeout)return cachedSetTimeout=setTimeout,setTimeout(e,0);try{return cachedSetTimeout(e,0)}catch{try{return cachedSetTimeout.call(null,e,0)}catch{return cachedSetTimeout.call(this,e,0)}}}function runClearTimeout(e){if(cachedClearTimeout===clearTimeout)return clearTimeout(e);if((cachedClearTimeout===defaultClearTimeout||!cachedClearTimeout)&&clearTimeout)return cachedClearTimeout=clearTimeout,clearTimeout(e);try{return cachedClearTimeout(e)}catch{try{return cachedClearTimeout.call(null,e)}catch{return cachedClearTimeout.call(this,e)}}}var queue$1=[],draining=!1,currentQueue,queueIndex=-1;function cleanUpNextTick(){!draining||!currentQueue||(draining=!1,currentQueue.length?queue$1=currentQueue.concat(queue$1):queueIndex=-1,queue$1.length&&drainQueue())}function drainQueue(){if(!draining){var e=runTimeout(cleanUpNextTick);draining=!0;for(var t=queue$1.length;t;){for(currentQueue=queue$1,queue$1=[];++queueIndex1)for(var n=1;nn in t}const EMPTY_OBJ=Object.freeze({}),EMPTY_ARR=Object.freeze([]),NOOP=()=>{},NO=()=>!1,isOn=e=>e.charCodeAt(0)===111&&e.charCodeAt(1)===110&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),isModelListener=e=>e.startsWith("onUpdate:"),extend$1=Object.assign,remove=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},hasOwnProperty$5=Object.prototype.hasOwnProperty,hasOwn$1=(e,t)=>hasOwnProperty$5.call(e,t),isArray$6=Array.isArray,isMap=e=>toTypeString(e)==="[object Map]",isSet=e=>toTypeString(e)==="[object Set]",isDate$1=e=>toTypeString(e)==="[object Date]",isRegExp$1=e=>toTypeString(e)==="[object RegExp]",isFunction$2=e=>typeof e=="function",isString$1=e=>typeof e=="string",isSymbol$3=e=>typeof e=="symbol",isObject$2=e=>e!==null&&typeof e=="object",isPromise$1=e=>(isObject$2(e)||isFunction$2(e))&&isFunction$2(e.then)&&isFunction$2(e.catch),objectToString$3=Object.prototype.toString,toTypeString=e=>objectToString$3.call(e),toRawType=e=>toTypeString(e).slice(8,-1),isPlainObject=e=>toTypeString(e)==="[object Object]",isIntegerKey=e=>isString$1(e)&&e!=="NaN"&&e[0]!=="-"&&""+parseInt(e,10)===e,isReservedProp=makeMap(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),isBuiltInDirective=makeMap("bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo"),cacheStringFunction=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},camelizeRE=/-(\w)/g,camelize=cacheStringFunction(e=>e.replace(camelizeRE,(t,n)=>n?n.toUpperCase():"")),hyphenateRE=/\B([A-Z])/g,hyphenate=cacheStringFunction(e=>e.replace(hyphenateRE,"-$1").toLowerCase()),capitalize$2=cacheStringFunction(e=>e.charAt(0).toUpperCase()+e.slice(1)),toHandlerKey=cacheStringFunction(e=>e?`on${capitalize$2(e)}`:""),hasChanged=(e,t)=>!Object.is(e,t),invokeArrayFns=(e,...t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:o,value:n})},looseToNumber=e=>{const t=parseFloat(e);return isNaN(t)?e:t},toNumber=e=>{const t=isString$1(e)?Number(e):NaN;return isNaN(t)?e:t};let _globalThis$1;const getGlobalThis=()=>_globalThis$1||(_globalThis$1=typeof globalThis<"u"?globalThis:typeof self<"u"?self:typeof window<"u"?window:typeof global$1<"u"?global$1:{}),GLOBALS_ALLOWED="Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error,Symbol",isGloballyAllowed=makeMap(GLOBALS_ALLOWED);function normalizeStyle(e){if(isArray$6(e)){const t={};for(let n=0;n{if(n){const o=n.split(propertyDelimiterRE);o.length>1&&(t[o[0].trim()]=o[1].trim())}}),t}function stringifyStyle(e){let t="";if(!e||isString$1(e))return t;for(const n in e){const o=e[n];if(isString$1(o)||typeof o=="number"){const u=n.startsWith("--")?n:hyphenate(n);t+=`${u}:${o};`}}return t}function normalizeClass(e){let t="";if(isString$1(e))t=e;else if(isArray$6(e))for(let n=0;n?@[\\\]^`{|}~]/g;function getEscapedCssVarName(e,t){return e.replace(cssVarNameEscapeSymbolsRE,n=>t?n==='"'?'\\\\\\"':`\\\\${n}`:`\\${n}`)}function looseCompareArrays(e,t){if(e.length!==t.length)return!1;let n=!0;for(let o=0;n&&olooseEqual(n,t))}const isRef$1=e=>!!(e&&e.__v_isRef===!0),toDisplayString=e=>isString$1(e)?e:e==null?"":isArray$6(e)||isObject$2(e)&&(e.toString===objectToString$3||!isFunction$2(e.toString))?isRef$1(e)?toDisplayString(e.value):JSON.stringify(e,replacer,2):String(e),replacer=(e,t)=>isRef$1(t)?replacer(e,t.value):isMap(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((n,[o,u],a)=>(n[stringifySymbol(o,a)+" =>"]=u,n),{})}:isSet(t)?{[`Set(${t.size})`]:[...t.values()].map(n=>stringifySymbol(n))}:isSymbol$3(t)?stringifySymbol(t):isObject$2(t)&&!isArray$6(t)&&!isPlainObject(t)?String(t):t,stringifySymbol=(e,t="")=>{var n;return isSymbol$3(e)?`Symbol(${(n=e.description)!=null?n:t})`:e};/** -* @vue/reactivity v3.5.12 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/function warn$3(e,...t){console.warn(`[Vue warn] ${e}`,...t)}let activeEffectScope;class EffectScope{constructor(t=!1){this.detached=t,this._active=!0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=activeEffectScope,!t&&activeEffectScope&&(this.index=(activeEffectScope.scopes||(activeEffectScope.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){this._isPaused=!0;let t,n;if(this.scopes)for(t=0,n=this.scopes.length;t0)return;if(batchedComputed){let t=batchedComputed;for(batchedComputed=void 0;t;){const n=t.next;t.next=void 0,t.flags&=-9,t=n}}let e;for(;batchedSub;){let t=batchedSub;for(batchedSub=void 0;t;){const n=t.next;if(t.next=void 0,t.flags&=-9,t.flags&1)try{t.trigger()}catch(o){e||(e=o)}t=n}}if(e)throw e}function prepareDeps(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function cleanupDeps(e){let t,n=e.depsTail,o=n;for(;o;){const u=o.prevDep;o.version===-1?(o===n&&(n=u),removeSub(o),removeDep(o)):t=o,o.dep.activeLink=o.prevActiveLink,o.prevActiveLink=void 0,o=u}e.deps=t,e.depsTail=n}function isDirty(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(refreshComputed(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function refreshComputed(e){if(e.flags&4&&!(e.flags&16)||(e.flags&=-17,e.globalVersion===globalVersion))return;e.globalVersion=globalVersion;const t=e.dep;if(e.flags|=2,t.version>0&&!e.isSSR&&e.deps&&!isDirty(e)){e.flags&=-3;return}const n=activeSub,o=shouldTrack;activeSub=e,shouldTrack=!0;try{prepareDeps(e);const u=e.fn(e._value);(t.version===0||hasChanged(u,e._value))&&(e._value=u,t.version++)}catch(u){throw t.version++,u}finally{activeSub=n,shouldTrack=o,cleanupDeps(e),e.flags&=-3}}function removeSub(e,t=!1){const{dep:n,prevSub:o,nextSub:u}=e;if(o&&(o.nextSub=u,e.prevSub=void 0),u&&(u.prevSub=o,e.nextSub=void 0),n.subsHead===e&&(n.subsHead=u),n.subs===e&&(n.subs=o,!o&&n.computed)){n.computed.flags&=-5;for(let a=n.computed.deps;a;a=a.nextDep)removeSub(a,!0)}!t&&!--n.sc&&n.map&&n.map.delete(n.key)}function removeDep(e){const{prevDep:t,nextDep:n}=e;t&&(t.nextDep=n,e.prevDep=void 0),n&&(n.prevDep=t,e.nextDep=void 0)}function effect(e,t){e.effect instanceof ReactiveEffect&&(e=e.effect.fn);const n=new ReactiveEffect(e);t&&extend$1(n,t);try{n.run()}catch(u){throw n.stop(),u}const o=n.run.bind(n);return o.effect=n,o}function stop(e){e.effect.stop()}let shouldTrack=!0;const trackStack=[];function pauseTracking(){trackStack.push(shouldTrack),shouldTrack=!1}function resetTracking(){const e=trackStack.pop();shouldTrack=e===void 0?!0:e}function cleanupEffect(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const n=activeSub;activeSub=void 0;try{t()}finally{activeSub=n}}}let globalVersion=0;class Link{constructor(t,n){this.sub=t,this.dep=n,this.version=n.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Dep{constructor(t){this.computed=t,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.subsHead=void 0}track(t){if(!activeSub||!shouldTrack||activeSub===this.computed)return;let n=this.activeLink;if(n===void 0||n.sub!==activeSub)n=this.activeLink=new Link(activeSub,this),activeSub.deps?(n.prevDep=activeSub.depsTail,activeSub.depsTail.nextDep=n,activeSub.depsTail=n):activeSub.deps=activeSub.depsTail=n,addSub(n);else if(n.version===-1&&(n.version=this.version,n.nextDep)){const o=n.nextDep;o.prevDep=n.prevDep,n.prevDep&&(n.prevDep.nextDep=o),n.prevDep=activeSub.depsTail,n.nextDep=void 0,activeSub.depsTail.nextDep=n,activeSub.depsTail=n,activeSub.deps===n&&(activeSub.deps=o)}return activeSub.onTrack&&activeSub.onTrack(extend$1({effect:activeSub},t)),n}trigger(t){this.version++,globalVersion++,this.notify(t)}notify(t){startBatch();try{for(let n=this.subsHead;n;n=n.nextSub)n.sub.onTrigger&&!(n.sub.flags&8)&&n.sub.onTrigger(extend$1({effect:n.sub},t));for(let n=this.subs;n;n=n.prevSub)n.sub.notify()&&n.sub.dep.notify()}finally{endBatch()}}}function addSub(e){if(e.dep.sc++,e.sub.flags&4){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let o=t.deps;o;o=o.nextDep)addSub(o)}const n=e.dep.subs;n!==e&&(e.prevSub=n,n&&(n.nextSub=e)),e.dep.subsHead===void 0&&(e.dep.subsHead=e),e.dep.subs=e}}const targetMap=new WeakMap,ITERATE_KEY=Symbol("Object iterate"),MAP_KEY_ITERATE_KEY=Symbol("Map keys iterate"),ARRAY_ITERATE_KEY=Symbol("Array iterate");function track(e,t,n){if(shouldTrack&&activeSub){let o=targetMap.get(e);o||targetMap.set(e,o=new Map);let u=o.get(n);u||(o.set(n,u=new Dep),u.map=o,u.key=n),u.track({target:e,type:t,key:n})}}function trigger(e,t,n,o,u,a){const v=targetMap.get(e);if(!v){globalVersion++;return}const y=w=>{w&&w.trigger({target:e,type:t,key:n,newValue:o,oldValue:u,oldTarget:a})};if(startBatch(),t==="clear")v.forEach(y);else{const w=isArray$6(e),E=w&&isIntegerKey(n);if(w&&n==="length"){const $=Number(o);v.forEach((x,O)=>{(O==="length"||O===ARRAY_ITERATE_KEY||!isSymbol$3(O)&&O>=$)&&y(x)})}else switch((n!==void 0||v.has(void 0))&&y(v.get(n)),E&&y(v.get(ARRAY_ITERATE_KEY)),t){case"add":w?E&&y(v.get("length")):(y(v.get(ITERATE_KEY)),isMap(e)&&y(v.get(MAP_KEY_ITERATE_KEY)));break;case"delete":w||(y(v.get(ITERATE_KEY)),isMap(e)&&y(v.get(MAP_KEY_ITERATE_KEY)));break;case"set":isMap(e)&&y(v.get(ITERATE_KEY));break}}endBatch()}function getDepFromReactive(e,t){const n=targetMap.get(e);return n&&n.get(t)}function reactiveReadArray(e){const t=toRaw(e);return t===e?t:(track(t,"iterate",ARRAY_ITERATE_KEY),isShallow(e)?t:t.map(toReactive))}function shallowReadArray(e){return track(e=toRaw(e),"iterate",ARRAY_ITERATE_KEY),e}const arrayInstrumentations={__proto__:null,[Symbol.iterator](){return iterator$1(this,Symbol.iterator,toReactive)},concat(...e){return reactiveReadArray(this).concat(...e.map(t=>isArray$6(t)?reactiveReadArray(t):t))},entries(){return iterator$1(this,"entries",e=>(e[1]=toReactive(e[1]),e))},every(e,t){return apply(this,"every",e,t,void 0,arguments)},filter(e,t){return apply(this,"filter",e,t,n=>n.map(toReactive),arguments)},find(e,t){return apply(this,"find",e,t,toReactive,arguments)},findIndex(e,t){return apply(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return apply(this,"findLast",e,t,toReactive,arguments)},findLastIndex(e,t){return apply(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return apply(this,"forEach",e,t,void 0,arguments)},includes(...e){return searchProxy(this,"includes",e)},indexOf(...e){return searchProxy(this,"indexOf",e)},join(e){return reactiveReadArray(this).join(e)},lastIndexOf(...e){return searchProxy(this,"lastIndexOf",e)},map(e,t){return apply(this,"map",e,t,void 0,arguments)},pop(){return noTracking(this,"pop")},push(...e){return noTracking(this,"push",e)},reduce(e,...t){return reduce(this,"reduce",e,t)},reduceRight(e,...t){return reduce(this,"reduceRight",e,t)},shift(){return noTracking(this,"shift")},some(e,t){return apply(this,"some",e,t,void 0,arguments)},splice(...e){return noTracking(this,"splice",e)},toReversed(){return reactiveReadArray(this).toReversed()},toSorted(e){return reactiveReadArray(this).toSorted(e)},toSpliced(...e){return reactiveReadArray(this).toSpliced(...e)},unshift(...e){return noTracking(this,"unshift",e)},values(){return iterator$1(this,"values",toReactive)}};function iterator$1(e,t,n){const o=shallowReadArray(e),u=o[t]();return o!==e&&!isShallow(e)&&(u._next=u.next,u.next=()=>{const a=u._next();return a.value&&(a.value=n(a.value)),a}),u}const arrayProto=Array.prototype;function apply(e,t,n,o,u,a){const v=shallowReadArray(e),y=v!==e&&!isShallow(e),w=v[t];if(w!==arrayProto[t]){const x=w.apply(e,a);return y?toReactive(x):x}let E=n;v!==e&&(y?E=function(x,O){return n.call(this,toReactive(x),O,e)}:n.length>2&&(E=function(x,O){return n.call(this,x,O,e)}));const $=w.call(v,E,o);return y&&u?u($):$}function reduce(e,t,n,o){const u=shallowReadArray(e);let a=n;return u!==e&&(isShallow(e)?n.length>3&&(a=function(v,y,w){return n.call(this,v,y,w,e)}):a=function(v,y,w){return n.call(this,v,toReactive(y),w,e)}),u[t](a,...o)}function searchProxy(e,t,n){const o=toRaw(e);track(o,"iterate",ARRAY_ITERATE_KEY);const u=o[t](...n);return(u===-1||u===!1)&&isProxy(n[0])?(n[0]=toRaw(n[0]),o[t](...n)):u}function noTracking(e,t,n=[]){pauseTracking(),startBatch();const o=toRaw(e)[t].apply(e,n);return endBatch(),resetTracking(),o}const isNonTrackableKeys=makeMap("__proto__,__v_isRef,__isVue"),builtInSymbols=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>e!=="arguments"&&e!=="caller").map(e=>Symbol[e]).filter(isSymbol$3));function hasOwnProperty$4(e){isSymbol$3(e)||(e=String(e));const t=toRaw(this);return track(t,"has",e),t.hasOwnProperty(e)}class BaseReactiveHandler{constructor(t=!1,n=!1){this._isReadonly=t,this._isShallow=n}get(t,n,o){const u=this._isReadonly,a=this._isShallow;if(n==="__v_isReactive")return!u;if(n==="__v_isReadonly")return u;if(n==="__v_isShallow")return a;if(n==="__v_raw")return o===(u?a?shallowReadonlyMap:readonlyMap:a?shallowReactiveMap:reactiveMap).get(t)||Object.getPrototypeOf(t)===Object.getPrototypeOf(o)?t:void 0;const v=isArray$6(t);if(!u){let w;if(v&&(w=arrayInstrumentations[n]))return w;if(n==="hasOwnProperty")return hasOwnProperty$4}const y=Reflect.get(t,n,isRef(t)?t:o);return(isSymbol$3(n)?builtInSymbols.has(n):isNonTrackableKeys(n))||(u||track(t,"get",n),a)?y:isRef(y)?v&&isIntegerKey(n)?y:y.value:isObject$2(y)?u?readonly(y):reactive(y):y}}class MutableReactiveHandler extends BaseReactiveHandler{constructor(t=!1){super(!1,t)}set(t,n,o,u){let a=t[n];if(!this._isShallow){const w=isReadonly(a);if(!isShallow(o)&&!isReadonly(o)&&(a=toRaw(a),o=toRaw(o)),!isArray$6(t)&&isRef(a)&&!isRef(o))return w?!1:(a.value=o,!0)}const v=isArray$6(t)&&isIntegerKey(n)?Number(n)e,getProto$2=e=>Reflect.getPrototypeOf(e);function createIterableMethod(e,t,n){return function(...o){const u=this.__v_raw,a=toRaw(u),v=isMap(a),y=e==="entries"||e===Symbol.iterator&&v,w=e==="keys"&&v,E=u[e](...o),$=n?toShallow:t?toReadonly:toReactive;return!t&&track(a,"iterate",w?MAP_KEY_ITERATE_KEY:ITERATE_KEY),{next(){const{value:x,done:O}=E.next();return O?{value:x,done:O}:{value:y?[$(x[0]),$(x[1])]:$(x),done:O}},[Symbol.iterator](){return this}}}}function createReadonlyMethod(e){return function(...t){{const n=t[0]?`on key "${t[0]}" `:"";warn$3(`${capitalize$2(e)} operation ${n}failed: target is readonly.`,toRaw(this))}return e==="delete"?!1:e==="clear"?void 0:this}}function createInstrumentations(e,t){const n={get(u){const a=this.__v_raw,v=toRaw(a),y=toRaw(u);e||(hasChanged(u,y)&&track(v,"get",u),track(v,"get",y));const{has:w}=getProto$2(v),E=t?toShallow:e?toReadonly:toReactive;if(w.call(v,u))return E(a.get(u));if(w.call(v,y))return E(a.get(y));a!==v&&a.get(u)},get size(){const u=this.__v_raw;return!e&&track(toRaw(u),"iterate",ITERATE_KEY),Reflect.get(u,"size",u)},has(u){const a=this.__v_raw,v=toRaw(a),y=toRaw(u);return e||(hasChanged(u,y)&&track(v,"has",u),track(v,"has",y)),u===y?a.has(u):a.has(u)||a.has(y)},forEach(u,a){const v=this,y=v.__v_raw,w=toRaw(y),E=t?toShallow:e?toReadonly:toReactive;return!e&&track(w,"iterate",ITERATE_KEY),y.forEach(($,x)=>u.call(a,E($),E(x),v))}};return extend$1(n,e?{add:createReadonlyMethod("add"),set:createReadonlyMethod("set"),delete:createReadonlyMethod("delete"),clear:createReadonlyMethod("clear")}:{add(u){!t&&!isShallow(u)&&!isReadonly(u)&&(u=toRaw(u));const a=toRaw(this);return getProto$2(a).has.call(a,u)||(a.add(u),trigger(a,"add",u,u)),this},set(u,a){!t&&!isShallow(a)&&!isReadonly(a)&&(a=toRaw(a));const v=toRaw(this),{has:y,get:w}=getProto$2(v);let E=y.call(v,u);E?checkIdentityKeys(v,y,u):(u=toRaw(u),E=y.call(v,u));const $=w.call(v,u);return v.set(u,a),E?hasChanged(a,$)&&trigger(v,"set",u,a,$):trigger(v,"add",u,a),this},delete(u){const a=toRaw(this),{has:v,get:y}=getProto$2(a);let w=v.call(a,u);w?checkIdentityKeys(a,v,u):(u=toRaw(u),w=v.call(a,u));const E=y?y.call(a,u):void 0,$=a.delete(u);return w&&trigger(a,"delete",u,void 0,E),$},clear(){const u=toRaw(this),a=u.size!==0,v=isMap(u)?new Map(u):new Set(u),y=u.clear();return a&&trigger(u,"clear",void 0,void 0,v),y}}),["keys","values","entries",Symbol.iterator].forEach(u=>{n[u]=createIterableMethod(u,e,t)}),n}function createInstrumentationGetter(e,t){const n=createInstrumentations(e,t);return(o,u,a)=>u==="__v_isReactive"?!e:u==="__v_isReadonly"?e:u==="__v_raw"?o:Reflect.get(hasOwn$1(n,u)&&u in o?n:o,u,a)}const mutableCollectionHandlers={get:createInstrumentationGetter(!1,!1)},shallowCollectionHandlers={get:createInstrumentationGetter(!1,!0)},readonlyCollectionHandlers={get:createInstrumentationGetter(!0,!1)},shallowReadonlyCollectionHandlers={get:createInstrumentationGetter(!0,!0)};function checkIdentityKeys(e,t,n){const o=toRaw(n);if(o!==n&&t.call(e,o)){const u=toRawType(e);warn$3(`Reactive ${u} contains both the raw and reactive versions of the same object${u==="Map"?" as keys":""}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.`)}}const reactiveMap=new WeakMap,shallowReactiveMap=new WeakMap,readonlyMap=new WeakMap,shallowReadonlyMap=new WeakMap;function targetTypeMap(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}function getTargetType(e){return e.__v_skip||!Object.isExtensible(e)?0:targetTypeMap(toRawType(e))}function reactive(e){return isReadonly(e)?e:createReactiveObject(e,!1,mutableHandlers,mutableCollectionHandlers,reactiveMap)}function shallowReactive(e){return createReactiveObject(e,!1,shallowReactiveHandlers,shallowCollectionHandlers,shallowReactiveMap)}function readonly(e){return createReactiveObject(e,!0,readonlyHandlers,readonlyCollectionHandlers,readonlyMap)}function shallowReadonly(e){return createReactiveObject(e,!0,shallowReadonlyHandlers,shallowReadonlyCollectionHandlers,shallowReadonlyMap)}function createReactiveObject(e,t,n,o,u){if(!isObject$2(e))return warn$3(`value cannot be made ${t?"readonly":"reactive"}: ${String(e)}`),e;if(e.__v_raw&&!(t&&e.__v_isReactive))return e;const a=u.get(e);if(a)return a;const v=getTargetType(e);if(v===0)return e;const y=new Proxy(e,v===2?o:n);return u.set(e,y),y}function isReactive(e){return isReadonly(e)?isReactive(e.__v_raw):!!(e&&e.__v_isReactive)}function isReadonly(e){return!!(e&&e.__v_isReadonly)}function isShallow(e){return!!(e&&e.__v_isShallow)}function isProxy(e){return e?!!e.__v_raw:!1}function toRaw(e){const t=e&&e.__v_raw;return t?toRaw(t):e}function markRaw(e){return!hasOwn$1(e,"__v_skip")&&Object.isExtensible(e)&&def(e,"__v_skip",!0),e}const toReactive=e=>isObject$2(e)?reactive(e):e,toReadonly=e=>isObject$2(e)?readonly(e):e;function isRef(e){return e?e.__v_isRef===!0:!1}function ref$1(e){return createRef(e,!1)}function shallowRef(e){return createRef(e,!0)}function createRef(e,t){return isRef(e)?e:new RefImpl(e,t)}class RefImpl{constructor(t,n){this.dep=new Dep,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=n?t:toRaw(t),this._value=n?t:toReactive(t),this.__v_isShallow=n}get value(){return this.dep.track({target:this,type:"get",key:"value"}),this._value}set value(t){const n=this._rawValue,o=this.__v_isShallow||isShallow(t)||isReadonly(t);t=o?t:toRaw(t),hasChanged(t,n)&&(this._rawValue=t,this._value=o?t:toReactive(t),this.dep.trigger({target:this,type:"set",key:"value",newValue:t,oldValue:n}))}}function triggerRef(e){e.dep&&e.dep.trigger({target:e,type:"set",key:"value",newValue:e._value})}function unref(e){return isRef(e)?e.value:e}function toValue$1(e){return isFunction$2(e)?e():unref(e)}const shallowUnwrapHandlers={get:(e,t,n)=>t==="__v_raw"?e:unref(Reflect.get(e,t,n)),set:(e,t,n,o)=>{const u=e[t];return isRef(u)&&!isRef(n)?(u.value=n,!0):Reflect.set(e,t,n,o)}};function proxyRefs(e){return isReactive(e)?e:new Proxy(e,shallowUnwrapHandlers)}class CustomRefImpl{constructor(t){this.__v_isRef=!0,this._value=void 0;const n=this.dep=new Dep,{get:o,set:u}=t(n.track.bind(n),n.trigger.bind(n));this._get=o,this._set=u}get value(){return this._value=this._get()}set value(t){this._set(t)}}function customRef(e){return new CustomRefImpl(e)}function toRefs(e){isProxy(e)||warn$3("toRefs() expects a reactive object but received a plain one.");const t=isArray$6(e)?new Array(e.length):{};for(const n in e)t[n]=propertyToRef(e,n);return t}class ObjectRefImpl{constructor(t,n,o){this._object=t,this._key=n,this._defaultValue=o,this.__v_isRef=!0,this._value=void 0}get value(){const t=this._object[this._key];return this._value=t===void 0?this._defaultValue:t}set value(t){this._object[this._key]=t}get dep(){return getDepFromReactive(toRaw(this._object),this._key)}}class GetterRefImpl{constructor(t){this._getter=t,this.__v_isRef=!0,this.__v_isReadonly=!0,this._value=void 0}get value(){return this._value=this._getter()}}function toRef(e,t,n){return isRef(e)?e:isFunction$2(e)?new GetterRefImpl(e):isObject$2(e)&&arguments.length>1?propertyToRef(e,t,n):ref$1(e)}function propertyToRef(e,t,n){const o=e[t];return isRef(o)?o:new ObjectRefImpl(e,t,n)}class ComputedRefImpl{constructor(t,n,o){this.fn=t,this.setter=n,this._value=void 0,this.dep=new Dep(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=globalVersion-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!n,this.isSSR=o}notify(){if(this.flags|=16,!(this.flags&8)&&activeSub!==this)return batch(this,!0),!0}get value(){const t=this.dep.track({target:this,type:"get",key:"value"});return refreshComputed(this),t&&(t.version=this.dep.version),this._value}set value(t){this.setter?this.setter(t):warn$3("Write operation failed: computed value is readonly")}}function computed$1(e,t,n=!1){let o,u;isFunction$2(e)?o=e:(o=e.get,u=e.set);const a=new ComputedRefImpl(o,u,n);return t&&!n&&(a.onTrack=t.onTrack,a.onTrigger=t.onTrigger),a}const TrackOpTypes={GET:"get",HAS:"has",ITERATE:"iterate"},TriggerOpTypes={SET:"set",ADD:"add",DELETE:"delete",CLEAR:"clear"},INITIAL_WATCHER_VALUE={},cleanupMap=new WeakMap;let activeWatcher;function getCurrentWatcher(){return activeWatcher}function onWatcherCleanup(e,t=!1,n=activeWatcher){if(n){let o=cleanupMap.get(n);o||cleanupMap.set(n,o=[]),o.push(e)}else t||warn$3("onWatcherCleanup() was called when there was no active watcher to associate with.")}function watch$1(e,t,n=EMPTY_OBJ){const{immediate:o,deep:u,once:a,scheduler:v,augmentJob:y,call:w}=n,E=re=>{(n.onWarn||warn$3)("Invalid watch source: ",re,"A watch source can only be a getter/effect function, a ref, a reactive object, or an array of these types.")},$=re=>u?re:isShallow(re)||u===!1||u===0?traverse(re,1):traverse(re);let x,O,N,L,F=!1,q=!1;if(isRef(e)?(O=()=>e.value,F=isShallow(e)):isReactive(e)?(O=()=>$(e),F=!0):isArray$6(e)?(q=!0,F=e.some(re=>isReactive(re)||isShallow(re)),O=()=>e.map(re=>{if(isRef(re))return re.value;if(isReactive(re))return $(re);if(isFunction$2(re))return w?w(re,2):re();E(re)})):isFunction$2(e)?t?O=w?()=>w(e,2):e:O=()=>{if(N){pauseTracking();try{N()}finally{resetTracking()}}const re=activeWatcher;activeWatcher=x;try{return w?w(e,3,[L]):e(L)}finally{activeWatcher=re}}:(O=NOOP,E(e)),t&&u){const re=O,ae=u===!0?1/0:u;O=()=>traverse(re(),ae)}const j=getCurrentScope(),U=()=>{x.stop(),j&&remove(j.effects,x)};if(a&&t){const re=t;t=(...ae)=>{re(...ae),U()}}let z=q?new Array(e.length).fill(INITIAL_WATCHER_VALUE):INITIAL_WATCHER_VALUE;const Z=re=>{if(!(!(x.flags&1)||!x.dirty&&!re))if(t){const ae=x.run();if(u||F||(q?ae.some((ve,ue)=>hasChanged(ve,z[ue])):hasChanged(ae,z))){N&&N();const ve=activeWatcher;activeWatcher=x;try{const ue=[ae,z===INITIAL_WATCHER_VALUE?void 0:q&&z[0]===INITIAL_WATCHER_VALUE?[]:z,L];w?w(t,3,ue):t(...ue),z=ae}finally{activeWatcher=ve}}}else x.run()};return y&&y(Z),x=new ReactiveEffect(O),x.scheduler=v?()=>v(Z,!1):Z,L=re=>onWatcherCleanup(re,!1,x),N=x.onStop=()=>{const re=cleanupMap.get(x);if(re){if(w)w(re,4);else for(const ae of re)ae();cleanupMap.delete(x)}},x.onTrack=n.onTrack,x.onTrigger=n.onTrigger,t?o?Z(!0):z=x.run():v?v(Z.bind(null,!0),!0):x.run(),U.pause=x.pause.bind(x),U.resume=x.resume.bind(x),U.stop=U,U}function traverse(e,t=1/0,n){if(t<=0||!isObject$2(e)||e.__v_skip||(n=n||new Set,n.has(e)))return e;if(n.add(e),t--,isRef(e))traverse(e.value,t,n);else if(isArray$6(e))for(let o=0;o{traverse(o,t,n)});else if(isPlainObject(e)){for(const o in e)traverse(e[o],t,n);for(const o of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,o)&&traverse(e[o],t,n)}return e}/** -* @vue/runtime-core v3.5.12 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/const stack=[];function pushWarningContext(e){stack.push(e)}function popWarningContext(){stack.pop()}let isWarning=!1;function warn$1(e,...t){if(isWarning)return;isWarning=!0,pauseTracking();const n=stack.length?stack[stack.length-1].component:null,o=n&&n.appContext.config.warnHandler,u=getComponentTrace();if(o)callWithErrorHandling(o,n,11,[e+t.map(a=>{var v,y;return(y=(v=a.toString)==null?void 0:v.call(a))!=null?y:JSON.stringify(a)}).join(""),n&&n.proxy,u.map(({vnode:a})=>`at <${formatComponentName(n,a.type)}>`).join(` -`),u]);else{const a=[`[Vue warn]: ${e}`,...t];u.length&&a.push(` -`,...formatTrace(u)),console.warn(...a)}resetTracking(),isWarning=!1}function getComponentTrace(){let e=stack[stack.length-1];if(!e)return[];const t=[];for(;e;){const n=t[0];n&&n.vnode===e?n.recurseCount++:t.push({vnode:e,recurseCount:0});const o=e.component&&e.component.parent;e=o&&o.vnode}return t}function formatTrace(e){const t=[];return e.forEach((n,o)=>{t.push(...o===0?[]:[` -`],...formatTraceEntry(n))}),t}function formatTraceEntry({vnode:e,recurseCount:t}){const n=t>0?`... (${t} recursive calls)`:"",o=e.component?e.component.parent==null:!1,u=` at <${formatComponentName(e.component,e.type,o)}`,a=">"+n;return e.props?[u,...formatProps(e.props),a]:[u+a]}function formatProps(e){const t=[],n=Object.keys(e);return n.slice(0,3).forEach(o=>{t.push(...formatProp(o,e[o]))}),n.length>3&&t.push(" ..."),t}function formatProp(e,t,n){return isString$1(t)?(t=JSON.stringify(t),n?t:[`${e}=${t}`]):typeof t=="number"||typeof t=="boolean"||t==null?n?t:[`${e}=${t}`]:isRef(t)?(t=formatProp(e,toRaw(t.value),!0),n?t:[`${e}=Ref<`,t,">"]):isFunction$2(t)?[`${e}=fn${t.name?`<${t.name}>`:""}`]:(t=toRaw(t),n?t:[`${e}=`,t])}function assertNumber(e,t){e!==void 0&&(typeof e!="number"?warn$1(`${t} is not a valid number - got ${JSON.stringify(e)}.`):isNaN(e)&&warn$1(`${t} is NaN - the duration expression might be incorrect.`))}const ErrorCodes={SETUP_FUNCTION:0,0:"SETUP_FUNCTION",RENDER_FUNCTION:1,1:"RENDER_FUNCTION",NATIVE_EVENT_HANDLER:5,5:"NATIVE_EVENT_HANDLER",COMPONENT_EVENT_HANDLER:6,6:"COMPONENT_EVENT_HANDLER",VNODE_HOOK:7,7:"VNODE_HOOK",DIRECTIVE_HOOK:8,8:"DIRECTIVE_HOOK",TRANSITION_HOOK:9,9:"TRANSITION_HOOK",APP_ERROR_HANDLER:10,10:"APP_ERROR_HANDLER",APP_WARN_HANDLER:11,11:"APP_WARN_HANDLER",FUNCTION_REF:12,12:"FUNCTION_REF",ASYNC_COMPONENT_LOADER:13,13:"ASYNC_COMPONENT_LOADER",SCHEDULER:14,14:"SCHEDULER",COMPONENT_UPDATE:15,15:"COMPONENT_UPDATE",APP_UNMOUNT_CLEANUP:16,16:"APP_UNMOUNT_CLEANUP"},ErrorTypeStrings$1={sp:"serverPrefetch hook",bc:"beforeCreate hook",c:"created hook",bm:"beforeMount hook",m:"mounted hook",bu:"beforeUpdate hook",u:"updated",bum:"beforeUnmount hook",um:"unmounted hook",a:"activated hook",da:"deactivated hook",ec:"errorCaptured hook",rtc:"renderTracked hook",rtg:"renderTriggered hook",0:"setup function",1:"render function",2:"watcher getter",3:"watcher callback",4:"watcher cleanup function",5:"native event handler",6:"component event handler",7:"vnode hook",8:"directive hook",9:"transition hook",10:"app errorHandler",11:"app warnHandler",12:"ref function",13:"async component loader",14:"scheduler flush",15:"component update",16:"app unmount cleanup function"};function callWithErrorHandling(e,t,n,o){try{return o?e(...o):e()}catch(u){handleError(u,t,n)}}function callWithAsyncErrorHandling(e,t,n,o){if(isFunction$2(e)){const u=callWithErrorHandling(e,t,n,o);return u&&isPromise$1(u)&&u.catch(a=>{handleError(a,t,n)}),u}if(isArray$6(e)){const u=[];for(let a=0;a>>1,u=queue[o],a=getId(u);a=getId(n)?queue.push(e):queue.splice(findInsertionIndex$1(t),0,e),e.flags|=1,queueFlush()}}function queueFlush(){currentFlushPromise||(currentFlushPromise=resolvedPromise.then(flushJobs))}function queuePostFlushCb(e){isArray$6(e)?pendingPostFlushCbs.push(...e):activePostFlushCbs&&e.id===-1?activePostFlushCbs.splice(postFlushIndex+1,0,e):e.flags&1||(pendingPostFlushCbs.push(e),e.flags|=1),queueFlush()}function flushPreFlushCbs(e,t,n=flushIndex+1){for(t=t||new Map;ngetId(n)-getId(o));if(pendingPostFlushCbs.length=0,activePostFlushCbs){activePostFlushCbs.push(...t);return}for(activePostFlushCbs=t,e=e||new Map,postFlushIndex=0;postFlushIndexe.id==null?e.flags&2?-1:1/0:e.id;function flushJobs(e){e=e||new Map;const t=n=>checkRecursiveUpdates(e,n);try{for(flushIndex=0;flushIndexRECURSION_LIMIT){const o=t.i,u=o&&getComponentName(o.type);return handleError(`Maximum recursive updates exceeded${u?` in component <${u}>`:""}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`,null,10),!0}return e.set(t,n+1),!1}let isHmrUpdating=!1;const hmrDirtyComponents=new Map;getGlobalThis().__VUE_HMR_RUNTIME__={createRecord:tryWrap(createRecord),rerender:tryWrap(rerender),reload:tryWrap(reload)};const map$3=new Map;function registerHMR(e){const t=e.type.__hmrId;let n=map$3.get(t);n||(createRecord(t,e.type),n=map$3.get(t)),n.instances.add(e)}function unregisterHMR(e){map$3.get(e.type.__hmrId).instances.delete(e)}function createRecord(e,t){return map$3.has(e)?!1:(map$3.set(e,{initialDef:normalizeClassComponent(t),instances:new Set}),!0)}function normalizeClassComponent(e){return isClassComponent(e)?e.__vccOpts:e}function rerender(e,t){const n=map$3.get(e);n&&(n.initialDef.render=t,[...n.instances].forEach(o=>{t&&(o.render=t,normalizeClassComponent(o.type).render=t),o.renderCache=[],isHmrUpdating=!0,o.update(),isHmrUpdating=!1}))}function reload(e,t){const n=map$3.get(e);if(!n)return;t=normalizeClassComponent(t),updateComponentDef(n.initialDef,t);const o=[...n.instances];for(let u=0;u{isHmrUpdating=!0,a.parent.update(),isHmrUpdating=!1,y.delete(a)}):a.appContext.reload?a.appContext.reload():typeof window<"u"?window.location.reload():console.warn("[HMR] Root or manually mounted instance modified. Full reload required."),a.root.ce&&a!==a.root&&a.root.ce._removeChildStyle(v)}queuePostFlushCb(()=>{hmrDirtyComponents.clear()})}function updateComponentDef(e,t){extend$1(e,t);for(const n in e)n!=="__file"&&!(n in t)&&delete e[n]}function tryWrap(e){return(t,n)=>{try{return e(t,n)}catch(o){console.error(o),console.warn("[HMR] Something went wrong during Vue component hot-reload. Full reload required.")}}}let devtools$1,buffer$1=[],devtoolsNotInstalled=!1;function emit$1(e,...t){devtools$1?devtools$1.emit(e,...t):devtoolsNotInstalled||buffer$1.push({event:e,args:t})}function setDevtoolsHook$1(e,t){var n,o;devtools$1=e,devtools$1?(devtools$1.enabled=!0,buffer$1.forEach(({event:u,args:a})=>devtools$1.emit(u,...a)),buffer$1=[]):typeof window<"u"&&window.HTMLElement&&!((o=(n=window.navigator)==null?void 0:n.userAgent)!=null&&o.includes("jsdom"))?((t.__VUE_DEVTOOLS_HOOK_REPLAY__=t.__VUE_DEVTOOLS_HOOK_REPLAY__||[]).push(a=>{setDevtoolsHook$1(a,t)}),setTimeout(()=>{devtools$1||(t.__VUE_DEVTOOLS_HOOK_REPLAY__=null,devtoolsNotInstalled=!0,buffer$1=[])},3e3)):(devtoolsNotInstalled=!0,buffer$1=[])}function devtoolsInitApp(e,t){emit$1("app:init",e,t,{Fragment,Text,Comment,Static})}function devtoolsUnmountApp(e){emit$1("app:unmount",e)}const devtoolsComponentAdded=createDevtoolsComponentHook("component:added"),devtoolsComponentUpdated=createDevtoolsComponentHook("component:updated"),_devtoolsComponentRemoved=createDevtoolsComponentHook("component:removed"),devtoolsComponentRemoved=e=>{devtools$1&&typeof devtools$1.cleanupBuffer=="function"&&!devtools$1.cleanupBuffer(e)&&_devtoolsComponentRemoved(e)};/*! #__NO_SIDE_EFFECTS__ */function createDevtoolsComponentHook(e){return t=>{emit$1(e,t.appContext.app,t.uid,t.parent?t.parent.uid:void 0,t)}}const devtoolsPerfStart=createDevtoolsPerformanceHook("perf:start"),devtoolsPerfEnd=createDevtoolsPerformanceHook("perf:end");function createDevtoolsPerformanceHook(e){return(t,n,o)=>{emit$1(e,t.appContext.app,t.uid,t,n,o)}}function devtoolsComponentEmit(e,t,n){emit$1("component:emit",e.appContext.app,e,t,n)}let currentRenderingInstance=null,currentScopeId=null;function setCurrentRenderingInstance(e){const t=currentRenderingInstance;return currentRenderingInstance=e,currentScopeId=e&&e.type.__scopeId||null,t}function pushScopeId(e){currentScopeId=e}function popScopeId(){currentScopeId=null}const withScopeId=e=>withCtx;function withCtx(e,t=currentRenderingInstance,n){if(!t||e._n)return e;const o=(...u)=>{o._d&&setBlockTracking(-1);const a=setCurrentRenderingInstance(t);let v;try{v=e(...u)}finally{setCurrentRenderingInstance(a),o._d&&setBlockTracking(1)}return devtoolsComponentUpdated(t),v};return o._n=!0,o._c=!0,o._d=!0,o}function validateDirectiveName(e){isBuiltInDirective(e)&&warn$1("Do not use built-in directive ids as custom directive id: "+e)}function withDirectives(e,t){if(currentRenderingInstance===null)return warn$1("withDirectives can only be used inside render functions."),e;const n=getComponentPublicInstance(currentRenderingInstance),o=e.dirs||(e.dirs=[]);for(let u=0;ue.__isTeleport,isTeleportDisabled=e=>e&&(e.disabled||e.disabled===""),isTeleportDeferred=e=>e&&(e.defer||e.defer===""),isTargetSVG=e=>typeof SVGElement<"u"&&e instanceof SVGElement,isTargetMathML=e=>typeof MathMLElement=="function"&&e instanceof MathMLElement,resolveTarget=(e,t)=>{const n=e&&e.to;if(isString$1(n))if(t){const o=t(n);return!o&&!isTeleportDisabled(e)&&warn$1(`Failed to locate Teleport target with selector "${n}". Note the target element must exist before the component is mounted - i.e. the target cannot be rendered by the component itself, and ideally should be outside of the entire Vue component tree.`),o}else return warn$1("Current renderer does not support string target for Teleports. (missing querySelector renderer option)"),null;else return!n&&!isTeleportDisabled(e)&&warn$1(`Invalid Teleport target: ${n}`),n},TeleportImpl={name:"Teleport",__isTeleport:!0,process(e,t,n,o,u,a,v,y,w,E){const{mc:$,pc:x,pbc:O,o:{insert:N,querySelector:L,createText:F,createComment:q}}=E,j=isTeleportDisabled(t.props);let{shapeFlag:U,children:z,dynamicChildren:Z}=t;if(isHmrUpdating&&(w=!1,Z=null),e==null){const re=t.el=q("teleport start"),ae=t.anchor=q("teleport end");N(re,n,o),N(ae,n,o);const ve=(ie,ye)=>{U&16&&(u&&u.isCE&&(u.ce._teleportTarget=ie),$(z,ie,ye,u,a,v,y,w))},ue=()=>{const ie=t.target=resolveTarget(t.props,L),ye=prepareAnchor(ie,t,F,N);ie?(v!=="svg"&&isTargetSVG(ie)?v="svg":v!=="mathml"&&isTargetMathML(ie)&&(v="mathml"),j||(ve(ie,ye),updateCssVars(t,!1))):j||warn$1("Invalid Teleport target on mount:",ie,`(${typeof ie})`)};j&&(ve(n,ae),updateCssVars(t,!0)),isTeleportDeferred(t.props)?queuePostRenderEffect(ue,a):ue()}else{t.el=e.el,t.targetStart=e.targetStart;const re=t.anchor=e.anchor,ae=t.target=e.target,ve=t.targetAnchor=e.targetAnchor,ue=isTeleportDisabled(e.props),ie=ue?n:ae,ye=ue?re:ve;if(v==="svg"||isTargetSVG(ae)?v="svg":(v==="mathml"||isTargetMathML(ae))&&(v="mathml"),Z?(O(e.dynamicChildren,Z,ie,u,a,v,y),traverseStaticChildren(e,t,!0)):w||x(e,t,ie,ye,u,a,v,y,!1),j)ue?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):moveTeleport(t,n,re,E,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const T=t.target=resolveTarget(t.props,L);T?moveTeleport(t,T,null,E,0):warn$1("Invalid Teleport target on update:",ae,`(${typeof ae})`)}else ue&&moveTeleport(t,ae,ve,E,1);updateCssVars(t,j)}},remove(e,t,n,{um:o,o:{remove:u}},a){const{shapeFlag:v,children:y,anchor:w,targetStart:E,targetAnchor:$,target:x,props:O}=e;if(x&&(u(E),u($)),a&&u(w),v&16){const N=a||!isTeleportDisabled(O);for(let L=0;L{e.isMounted=!0}),onBeforeUnmount(()=>{e.isUnmounting=!0}),e}const TransitionHookValidator=[Function,Array],BaseTransitionPropsValidators={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:TransitionHookValidator,onEnter:TransitionHookValidator,onAfterEnter:TransitionHookValidator,onEnterCancelled:TransitionHookValidator,onBeforeLeave:TransitionHookValidator,onLeave:TransitionHookValidator,onAfterLeave:TransitionHookValidator,onLeaveCancelled:TransitionHookValidator,onBeforeAppear:TransitionHookValidator,onAppear:TransitionHookValidator,onAfterAppear:TransitionHookValidator,onAppearCancelled:TransitionHookValidator},recursiveGetSubtree=e=>{const t=e.subTree;return t.component?recursiveGetSubtree(t.component):t},BaseTransitionImpl={name:"BaseTransition",props:BaseTransitionPropsValidators,setup(e,{slots:t}){const n=getCurrentInstance(),o=useTransitionState();return()=>{const u=t.default&&getTransitionRawChildren(t.default(),!0);if(!u||!u.length)return;const a=findNonCommentChild(u),v=toRaw(e),{mode:y}=v;if(y&&y!=="in-out"&&y!=="out-in"&&y!=="default"&&warn$1(`invalid mode: ${y}`),o.isLeaving)return emptyPlaceholder(a);const w=getInnerChild$1(a);if(!w)return emptyPlaceholder(a);let E=resolveTransitionHooks(w,v,o,n,O=>E=O);w.type!==Comment&&setTransitionHooks(w,E);const $=n.subTree,x=$&&getInnerChild$1($);if(x&&x.type!==Comment&&!isSameVNodeType(w,x)&&recursiveGetSubtree(n).type!==Comment){const O=resolveTransitionHooks(x,v,o,n);if(setTransitionHooks(x,O),y==="out-in"&&w.type!==Comment)return o.isLeaving=!0,O.afterLeave=()=>{o.isLeaving=!1,n.job.flags&8||n.update(),delete O.afterLeave},emptyPlaceholder(a);y==="in-out"&&w.type!==Comment&&(O.delayLeave=(N,L,F)=>{const q=getLeavingNodesForType(o,x);q[String(x.key)]=x,N[leaveCbKey]=()=>{L(),N[leaveCbKey]=void 0,delete E.delayedLeave},E.delayedLeave=F})}return a}}};function findNonCommentChild(e){let t=e[0];if(e.length>1){let n=!1;for(const o of e)if(o.type!==Comment){if(n){warn$1(" can only be used on a single element or component. Use for lists.");break}t=o,n=!0}}return t}const BaseTransition=BaseTransitionImpl;function getLeavingNodesForType(e,t){const{leavingVNodes:n}=e;let o=n.get(t.type);return o||(o=Object.create(null),n.set(t.type,o)),o}function resolveTransitionHooks(e,t,n,o,u){const{appear:a,mode:v,persisted:y=!1,onBeforeEnter:w,onEnter:E,onAfterEnter:$,onEnterCancelled:x,onBeforeLeave:O,onLeave:N,onAfterLeave:L,onLeaveCancelled:F,onBeforeAppear:q,onAppear:j,onAfterAppear:U,onAppearCancelled:z}=t,Z=String(e.key),re=getLeavingNodesForType(n,e),ae=(ie,ye)=>{ie&&callWithAsyncErrorHandling(ie,o,9,ye)},ve=(ie,ye)=>{const T=ye[1];ae(ie,ye),isArray$6(ie)?ie.every(l=>l.length<=1)&&T():ie.length<=1&&T()},ue={mode:v,persisted:y,beforeEnter(ie){let ye=w;if(!n.isMounted)if(a)ye=q||w;else return;ie[leaveCbKey]&&ie[leaveCbKey](!0);const T=re[Z];T&&isSameVNodeType(e,T)&&T.el[leaveCbKey]&&T.el[leaveCbKey](),ae(ye,[ie])},enter(ie){let ye=E,T=$,l=x;if(!n.isMounted)if(a)ye=j||E,T=U||$,l=z||x;else return;let d=!1;const m=ie[enterCbKey$1]=b=>{d||(d=!0,b?ae(l,[ie]):ae(T,[ie]),ue.delayedLeave&&ue.delayedLeave(),ie[enterCbKey$1]=void 0)};ye?ve(ye,[ie,m]):m()},leave(ie,ye){const T=String(e.key);if(ie[enterCbKey$1]&&ie[enterCbKey$1](!0),n.isUnmounting)return ye();ae(O,[ie]);let l=!1;const d=ie[leaveCbKey]=m=>{l||(l=!0,ye(),m?ae(F,[ie]):ae(L,[ie]),ie[leaveCbKey]=void 0,re[T]===e&&delete re[T])};re[T]=e,N?ve(N,[ie,d]):d()},clone(ie){const ye=resolveTransitionHooks(ie,t,n,o,u);return u&&u(ye),ye}};return ue}function emptyPlaceholder(e){if(isKeepAlive(e))return e=cloneVNode(e),e.children=null,e}function getInnerChild$1(e){if(!isKeepAlive(e))return isTeleport(e.type)&&e.children?findNonCommentChild(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:n}=e;if(n){if(t&16)return n[0];if(t&32&&isFunction$2(n.default))return n.default()}}function setTransitionHooks(e,t){e.shapeFlag&6&&e.component?(e.transition=t,setTransitionHooks(e.component.subTree,t)):e.shapeFlag&128?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function getTransitionRawChildren(e,t=!1,n){let o=[],u=0;for(let a=0;a1)for(let a=0;aextend$1({name:e.name},t,{setup:e}))():e}function useId(){const e=getCurrentInstance();return e?(e.appContext.config.idPrefix||"v")+"-"+e.ids[0]+e.ids[1]++:(warn$1("useId() is called when there is no active component instance to be associated with."),"")}function markAsyncBoundary(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const knownTemplateRefs=new WeakSet;function useTemplateRef(e){const t=getCurrentInstance(),n=shallowRef(null);if(t){const u=t.refs===EMPTY_OBJ?t.refs={}:t.refs;let a;(a=Object.getOwnPropertyDescriptor(u,e))&&!a.configurable?warn$1(`useTemplateRef('${e}') already exists.`):Object.defineProperty(u,e,{enumerable:!0,get:()=>n.value,set:v=>n.value=v})}else warn$1("useTemplateRef() is called when there is no active component instance to be associated with.");const o=readonly(n);return knownTemplateRefs.add(o),o}function setRef(e,t,n,o,u=!1){if(isArray$6(e)){e.forEach((L,F)=>setRef(L,t&&(isArray$6(t)?t[F]:t),n,o,u));return}if(isAsyncWrapper(o)&&!u)return;const a=o.shapeFlag&4?getComponentPublicInstance(o.component):o.el,v=u?null:a,{i:y,r:w}=e;if(!y){warn$1("Missing ref owner context. ref cannot be used on hoisted vnodes. A vnode with ref must be created inside the render function.");return}const E=t&&t.r,$=y.refs===EMPTY_OBJ?y.refs={}:y.refs,x=y.setupState,O=toRaw(x),N=x===EMPTY_OBJ?()=>!1:L=>(hasOwn$1(O,L)&&!isRef(O[L])&&warn$1(`Template ref "${L}" used on a non-ref value. It will not work in the production build.`),knownTemplateRefs.has(O[L])?!1:hasOwn$1(O,L));if(E!=null&&E!==w&&(isString$1(E)?($[E]=null,N(E)&&(x[E]=null)):isRef(E)&&(E.value=null)),isFunction$2(w))callWithErrorHandling(w,y,12,[v,$]);else{const L=isString$1(w),F=isRef(w);if(L||F){const q=()=>{if(e.f){const j=L?N(w)?x[w]:$[w]:w.value;u?isArray$6(j)&&remove(j,a):isArray$6(j)?j.includes(a)||j.push(a):L?($[w]=[a],N(w)&&(x[w]=$[w])):(w.value=[a],e.k&&($[e.k]=w.value))}else L?($[w]=v,N(w)&&(x[w]=v)):F?(w.value=v,e.k&&($[e.k]=v)):warn$1("Invalid template ref type:",w,`(${typeof w})`)};v?(q.id=-1,queuePostRenderEffect(q,n)):q()}else warn$1("Invalid template ref type:",w,`(${typeof w})`)}}let hasLoggedMismatchError=!1;const logMismatchError=()=>{hasLoggedMismatchError||(console.error("Hydration completed but contains mismatches."),hasLoggedMismatchError=!0)},isSVGContainer=e=>e.namespaceURI.includes("svg")&&e.tagName!=="foreignObject",isMathMLContainer=e=>e.namespaceURI.includes("MathML"),getContainerType=e=>{if(e.nodeType===1){if(isSVGContainer(e))return"svg";if(isMathMLContainer(e))return"mathml"}},isComment=e=>e.nodeType===8;function createHydrationFunctions(e){const{mt:t,p:n,o:{patchProp:o,createText:u,nextSibling:a,parentNode:v,remove:y,insert:w,createComment:E}}=e,$=(z,Z)=>{if(!Z.hasChildNodes()){warn$1("Attempting to hydrate existing markup but container is empty. Performing full mount instead."),n(null,z,Z),flushPostFlushCbs(),Z._vnode=z;return}x(Z.firstChild,z,null,null,null),flushPostFlushCbs(),Z._vnode=z},x=(z,Z,re,ae,ve,ue=!1)=>{ue=ue||!!Z.dynamicChildren;const ie=isComment(z)&&z.data==="[",ye=()=>F(z,Z,re,ae,ve,ie),{type:T,ref:l,shapeFlag:d,patchFlag:m}=Z;let b=z.nodeType;Z.el=z,def(z,"__vnode",Z,!0),def(z,"__vueParentComponent",re,!0),m===-2&&(ue=!1,Z.dynamicChildren=null);let _=null;switch(T){case Text:b!==3?Z.children===""?(w(Z.el=u(""),v(z),z),_=z):_=ye():(z.data!==Z.children&&(warn$1("Hydration text mismatch in",z.parentNode,` - - rendered on server: ${JSON.stringify(z.data)} - - expected on client: ${JSON.stringify(Z.children)}`),logMismatchError(),z.data=Z.children),_=a(z));break;case Comment:U(z)?(_=a(z),j(Z.el=z.content.firstChild,z,re)):b!==8||ie?_=ye():_=a(z);break;case Static:if(ie&&(z=a(z),b=z.nodeType),b===1||b===3){_=z;const A=!Z.children.length;for(let P=0;P{ue=ue||!!Z.dynamicChildren;const{type:ie,props:ye,patchFlag:T,shapeFlag:l,dirs:d,transition:m}=Z,b=ie==="input"||ie==="option";{d&&invokeDirectiveHook(Z,null,re,"created");let _=!1;if(U(z)){_=needTransition(null,m)&&re&&re.vnode.props&&re.vnode.props.appear;const P=z.content.firstChild;_&&m.beforeEnter(P),j(P,z,re),Z.el=z=P}if(l&16&&!(ye&&(ye.innerHTML||ye.textContent))){let P=N(z.firstChild,Z,z,re,ae,ve,ue),M=!1;for(;P;){isMismatchAllowed(z,1)||(M||(warn$1("Hydration children mismatch on",z,` -Server rendered element contains more child nodes than client vdom.`),M=!0),logMismatchError());const c=P;P=P.nextSibling,y(c)}}else if(l&8){let P=Z.children;P[0]===` -`&&(z.tagName==="PRE"||z.tagName==="TEXTAREA")&&(P=P.slice(1)),z.textContent!==P&&(isMismatchAllowed(z,0)||(warn$1("Hydration text content mismatch on",z,` - - rendered on server: ${z.textContent} - - expected on client: ${Z.children}`),logMismatchError()),z.textContent=Z.children)}if(ye){const P=z.tagName.includes("-");for(const M in ye)!(d&&d.some(c=>c.dir.created))&&propHasMismatch(z,M,ye[M],Z,re)&&logMismatchError(),(b&&(M.endsWith("value")||M==="indeterminate")||isOn(M)&&!isReservedProp(M)||M[0]==="."||P)&&o(z,M,null,ye[M],void 0,re)}let A;(A=ye&&ye.onVnodeBeforeMount)&&invokeVNodeHook(A,re,Z),d&&invokeDirectiveHook(Z,null,re,"beforeMount"),((A=ye&&ye.onVnodeMounted)||d||_)&&queueEffectWithSuspense(()=>{A&&invokeVNodeHook(A,re,Z),_&&m.enter(z),d&&invokeDirectiveHook(Z,null,re,"mounted")},ae)}return z.nextSibling},N=(z,Z,re,ae,ve,ue,ie)=>{ie=ie||!!Z.dynamicChildren;const ye=Z.children,T=ye.length;let l=!1;for(let d=0;d{const{slotScopeIds:ie}=Z;ie&&(ve=ve?ve.concat(ie):ie);const ye=v(z),T=N(a(z),Z,ye,re,ae,ve,ue);return T&&isComment(T)&&T.data==="]"?a(Z.anchor=T):(logMismatchError(),w(Z.anchor=E("]"),ye,T),T)},F=(z,Z,re,ae,ve,ue)=>{if(isMismatchAllowed(z.parentElement,1)||(warn$1(`Hydration node mismatch: -- rendered on server:`,z,z.nodeType===3?"(text)":isComment(z)&&z.data==="["?"(start of fragment)":"",` -- expected on client:`,Z.type),logMismatchError()),Z.el=null,ue){const T=q(z);for(;;){const l=a(z);if(l&&l!==T)y(l);else break}}const ie=a(z),ye=v(z);return y(z),n(null,Z,ye,ie,re,ae,getContainerType(ye),ve),ie},q=(z,Z="[",re="]")=>{let ae=0;for(;z;)if(z=a(z),z&&isComment(z)&&(z.data===Z&&ae++,z.data===re)){if(ae===0)return a(z);ae--}return z},j=(z,Z,re)=>{const ae=Z.parentNode;ae&&ae.replaceChild(z,Z);let ve=re;for(;ve;)ve.vnode.el===Z&&(ve.vnode.el=ve.subTree.el=z),ve=ve.parent},U=z=>z.nodeType===1&&z.tagName==="TEMPLATE";return[$,x]}function propHasMismatch(e,t,n,o,u){let a,v,y,w;if(t==="class")y=e.getAttribute("class"),w=normalizeClass(n),isSetEqual(toClassSet(y||""),toClassSet(w))||(a=2,v="class");else if(t==="style"){y=e.getAttribute("style")||"",w=isString$1(n)?n:stringifyStyle(normalizeStyle(n));const E=toStyleMap(y),$=toStyleMap(w);if(o.dirs)for(const{dir:x,value:O}of o.dirs)x.name==="show"&&!O&&$.set("display","none");u&&resolveCssVars(u,o,$),isMapEqual(E,$)||(a=3,v="style")}else(e instanceof SVGElement&&isKnownSvgAttr(t)||e instanceof HTMLElement&&(isBooleanAttr(t)||isKnownHtmlAttr(t)))&&(isBooleanAttr(t)?(y=e.hasAttribute(t),w=includeBooleanAttr(n)):n==null?(y=e.hasAttribute(t),w=!1):(e.hasAttribute(t)?y=e.getAttribute(t):t==="value"&&e.tagName==="TEXTAREA"?y=e.value:y=!1,w=isRenderableAttrValue(n)?String(n):!1),y!==w&&(a=4,v=t));if(a!=null&&!isMismatchAllowed(e,a)){const E=O=>O===!1?"(not rendered)":`${v}="${O}"`,$=`Hydration ${MismatchTypeString[a]} mismatch on`,x=` - - rendered on server: ${E(y)} - - expected on client: ${E(w)} - Note: this mismatch is check-only. The DOM will not be rectified in production due to performance overhead. - You should fix the source of the mismatch.`;return warn$1($,e,x),!0}return!1}function toClassSet(e){return new Set(e.trim().split(/\s+/))}function isSetEqual(e,t){if(e.size!==t.size)return!1;for(const n of e)if(!t.has(n))return!1;return!0}function toStyleMap(e){const t=new Map;for(const n of e.split(";")){let[o,u]=n.split(":");o=o.trim(),u=u&&u.trim(),o&&u&&t.set(o,u)}return t}function isMapEqual(e,t){if(e.size!==t.size)return!1;for(const[n,o]of e)if(o!==t.get(n))return!1;return!0}function resolveCssVars(e,t,n){const o=e.subTree;if(e.getCssVars&&(t===o||o&&o.type===Fragment&&o.children.includes(t))){const u=e.getCssVars();for(const a in u)n.set(`--${getEscapedCssVarName(a,!1)}`,String(u[a]))}t===o&&e.parent&&resolveCssVars(e.parent,e.vnode,n)}const allowMismatchAttr="data-allow-mismatch",MismatchTypeString={0:"text",1:"children",2:"class",3:"style",4:"attribute"};function isMismatchAllowed(e,t){if(t===0||t===1)for(;e&&!e.hasAttribute(allowMismatchAttr);)e=e.parentElement;const n=e&&e.getAttribute(allowMismatchAttr);if(n==null)return!1;if(n==="")return!0;{const o=n.split(",");return t===0&&o.includes("children")?!0:n.split(",").includes(MismatchTypeString[t])}}const requestIdleCallback=getGlobalThis().requestIdleCallback||(e=>setTimeout(e,1)),cancelIdleCallback=getGlobalThis().cancelIdleCallback||(e=>clearTimeout(e)),hydrateOnIdle=(e=1e4)=>t=>{const n=requestIdleCallback(t,{timeout:e});return()=>cancelIdleCallback(n)};function elementIsVisibleInViewport(e){const{top:t,left:n,bottom:o,right:u}=e.getBoundingClientRect(),{innerHeight:a,innerWidth:v}=window;return(t>0&&t0&&o0&&n0&&u(t,n)=>{const o=new IntersectionObserver(u=>{for(const a of u)if(a.isIntersecting){o.disconnect(),t();break}},e);return n(u=>{if(u instanceof Element){if(elementIsVisibleInViewport(u))return t(),o.disconnect(),!1;o.observe(u)}}),()=>o.disconnect()},hydrateOnMediaQuery=e=>t=>{if(e){const n=matchMedia(e);if(n.matches)t();else return n.addEventListener("change",t,{once:!0}),()=>n.removeEventListener("change",t)}},hydrateOnInteraction=(e=[])=>(t,n)=>{isString$1(e)&&(e=[e]);let o=!1;const u=v=>{o||(o=!0,a(),t(),v.target.dispatchEvent(new v.constructor(v.type,v)))},a=()=>{n(v=>{for(const y of e)v.removeEventListener(y,u)})};return n(v=>{for(const y of e)v.addEventListener(y,u,{once:!0})}),a};function forEachElement(e,t){if(isComment(e)&&e.data==="["){let n=1,o=e.nextSibling;for(;o;){if(o.nodeType===1){if(t(o)===!1)break}else if(isComment(o))if(o.data==="]"){if(--n===0)break}else o.data==="["&&n++;o=o.nextSibling}}else t(e)}const isAsyncWrapper=e=>!!e.type.__asyncLoader;/*! #__NO_SIDE_EFFECTS__ */function defineAsyncComponent(e){isFunction$2(e)&&(e={loader:e});const{loader:t,loadingComponent:n,errorComponent:o,delay:u=200,hydrate:a,timeout:v,suspensible:y=!0,onError:w}=e;let E=null,$,x=0;const O=()=>(x++,E=null,N()),N=()=>{let L;return E||(L=E=t().catch(F=>{if(F=F instanceof Error?F:new Error(String(F)),w)return new Promise((q,j)=>{w(F,()=>q(O()),()=>j(F),x+1)});throw F}).then(F=>{if(L!==E&&E)return E;if(F||warn$1("Async component loader resolved to undefined. If you are using retry(), make sure to return its return value."),F&&(F.__esModule||F[Symbol.toStringTag]==="Module")&&(F=F.default),F&&!isObject$2(F)&&!isFunction$2(F))throw new Error(`Invalid async component load result: ${F}`);return $=F,F}))};return defineComponent({name:"AsyncComponentWrapper",__asyncLoader:N,__asyncHydrate(L,F,q){const j=a?()=>{const U=a(q,z=>forEachElement(L,z));U&&(F.bum||(F.bum=[])).push(U)}:q;$?j():N().then(()=>!F.isUnmounted&&j())},get __asyncResolved(){return $},setup(){const L=currentInstance;if(markAsyncBoundary(L),$)return()=>createInnerComp($,L);const F=z=>{E=null,handleError(z,L,13,!o)};if(y&&L.suspense||isInSSRComponentSetup)return N().then(z=>()=>createInnerComp(z,L)).catch(z=>(F(z),()=>o?createVNode(o,{error:z}):null));const q=ref$1(!1),j=ref$1(),U=ref$1(!!u);return u&&setTimeout(()=>{U.value=!1},u),v!=null&&setTimeout(()=>{if(!q.value&&!j.value){const z=new Error(`Async component timed out after ${v}ms.`);F(z),j.value=z}},v),N().then(()=>{q.value=!0,L.parent&&isKeepAlive(L.parent.vnode)&&L.parent.update()}).catch(z=>{F(z),j.value=z}),()=>{if(q.value&&$)return createInnerComp($,L);if(j.value&&o)return createVNode(o,{error:j.value});if(n&&!U.value)return createVNode(n)}}})}function createInnerComp(e,t){const{ref:n,props:o,children:u,ce:a}=t.vnode,v=createVNode(e,o,u);return v.ref=n,v.ce=a,delete t.vnode.ce,v}const isKeepAlive=e=>e.type.__isKeepAlive,KeepAliveImpl={name:"KeepAlive",__isKeepAlive:!0,props:{include:[String,RegExp,Array],exclude:[String,RegExp,Array],max:[String,Number]},setup(e,{slots:t}){const n=getCurrentInstance(),o=n.ctx;if(!o.renderer)return()=>{const U=t.default&&t.default();return U&&U.length===1?U[0]:U};const u=new Map,a=new Set;let v=null;n.__v_cache=u;const y=n.suspense,{renderer:{p:w,m:E,um:$,o:{createElement:x}}}=o,O=x("div");o.activate=(U,z,Z,re,ae)=>{const ve=U.component;E(U,z,Z,0,y),w(ve.vnode,U,z,Z,ve,y,re,U.slotScopeIds,ae),queuePostRenderEffect(()=>{ve.isDeactivated=!1,ve.a&&invokeArrayFns(ve.a);const ue=U.props&&U.props.onVnodeMounted;ue&&invokeVNodeHook(ue,ve.parent,U)},y),devtoolsComponentAdded(ve)},o.deactivate=U=>{const z=U.component;invalidateMount(z.m),invalidateMount(z.a),E(U,O,null,1,y),queuePostRenderEffect(()=>{z.da&&invokeArrayFns(z.da);const Z=U.props&&U.props.onVnodeUnmounted;Z&&invokeVNodeHook(Z,z.parent,U),z.isDeactivated=!0},y),devtoolsComponentAdded(z)};function N(U){resetShapeFlag(U),$(U,n,y,!0)}function L(U){u.forEach((z,Z)=>{const re=getComponentName(z.type);re&&!U(re)&&F(Z)})}function F(U){const z=u.get(U);z&&(!v||!isSameVNodeType(z,v))?N(z):v&&resetShapeFlag(v),u.delete(U),a.delete(U)}watch(()=>[e.include,e.exclude],([U,z])=>{U&&L(Z=>matches(U,Z)),z&&L(Z=>!matches(z,Z))},{flush:"post",deep:!0});let q=null;const j=()=>{q!=null&&(isSuspense(n.subTree.type)?queuePostRenderEffect(()=>{u.set(q,getInnerChild(n.subTree))},n.subTree.suspense):u.set(q,getInnerChild(n.subTree)))};return onMounted(j),onUpdated(j),onBeforeUnmount(()=>{u.forEach(U=>{const{subTree:z,suspense:Z}=n,re=getInnerChild(z);if(U.type===re.type&&U.key===re.key){resetShapeFlag(re);const ae=re.component.da;ae&&queuePostRenderEffect(ae,Z);return}N(U)})}),()=>{if(q=null,!t.default)return v=null;const U=t.default(),z=U[0];if(U.length>1)return warn$1("KeepAlive should contain exactly one component child."),v=null,U;if(!isVNode(z)||!(z.shapeFlag&4)&&!(z.shapeFlag&128))return v=null,z;let Z=getInnerChild(z);if(Z.type===Comment)return v=null,Z;const re=Z.type,ae=getComponentName(isAsyncWrapper(Z)?Z.type.__asyncResolved||{}:re),{include:ve,exclude:ue,max:ie}=e;if(ve&&(!ae||!matches(ve,ae))||ue&&ae&&matches(ue,ae))return Z.shapeFlag&=-257,v=Z,z;const ye=Z.key==null?re:Z.key,T=u.get(ye);return Z.el&&(Z=cloneVNode(Z),z.shapeFlag&128&&(z.ssContent=Z)),q=ye,T?(Z.el=T.el,Z.component=T.component,Z.transition&&setTransitionHooks(Z,Z.transition),Z.shapeFlag|=512,a.delete(ye),a.add(ye)):(a.add(ye),ie&&a.size>parseInt(ie,10)&&F(a.values().next().value)),Z.shapeFlag|=256,v=Z,isSuspense(z.type)?z:Z}}},KeepAlive=KeepAliveImpl;function matches(e,t){return isArray$6(e)?e.some(n=>matches(n,t)):isString$1(e)?e.split(",").includes(t):isRegExp$1(e)?(e.lastIndex=0,e.test(t)):!1}function onActivated(e,t){registerKeepAliveHook(e,"a",t)}function onDeactivated(e,t){registerKeepAliveHook(e,"da",t)}function registerKeepAliveHook(e,t,n=currentInstance){const o=e.__wdc||(e.__wdc=()=>{let u=n;for(;u;){if(u.isDeactivated)return;u=u.parent}return e()});if(injectHook(t,o,n),n){let u=n.parent;for(;u&&u.parent;)isKeepAlive(u.parent.vnode)&&injectToKeepAliveRoot(o,t,n,u),u=u.parent}}function injectToKeepAliveRoot(e,t,n,o){const u=injectHook(t,e,o,!0);onUnmounted(()=>{remove(o[t],u)},n)}function resetShapeFlag(e){e.shapeFlag&=-257,e.shapeFlag&=-513}function getInnerChild(e){return e.shapeFlag&128?e.ssContent:e}function injectHook(e,t,n=currentInstance,o=!1){if(n){const u=n[e]||(n[e]=[]),a=t.__weh||(t.__weh=(...v)=>{pauseTracking();const y=setCurrentInstance(n),w=callWithAsyncErrorHandling(t,n,e,v);return y(),resetTracking(),w});return o?u.unshift(a):u.push(a),a}else{const u=toHandlerKey(ErrorTypeStrings$1[e].replace(/ hook$/,""));warn$1(`${u} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.`)}}const createHook=e=>(t,n=currentInstance)=>{(!isInSSRComponentSetup||e==="sp")&&injectHook(e,(...o)=>t(...o),n)},onBeforeMount=createHook("bm"),onMounted=createHook("m"),onBeforeUpdate=createHook("bu"),onUpdated=createHook("u"),onBeforeUnmount=createHook("bum"),onUnmounted=createHook("um"),onServerPrefetch=createHook("sp"),onRenderTriggered=createHook("rtg"),onRenderTracked=createHook("rtc");function onErrorCaptured(e,t=currentInstance){injectHook("ec",e,t)}const COMPONENTS="components",DIRECTIVES="directives";function resolveComponent(e,t){return resolveAsset(COMPONENTS,e,!0,t)||e}const NULL_DYNAMIC_COMPONENT=Symbol.for("v-ndc");function resolveDynamicComponent(e){return isString$1(e)?resolveAsset(COMPONENTS,e,!1)||e:e||NULL_DYNAMIC_COMPONENT}function resolveDirective(e){return resolveAsset(DIRECTIVES,e)}function resolveAsset(e,t,n=!0,o=!1){const u=currentRenderingInstance||currentInstance;if(u){const a=u.type;if(e===COMPONENTS){const y=getComponentName(a,!1);if(y&&(y===t||y===camelize(t)||y===capitalize$2(camelize(t))))return a}const v=resolve$2(u[e]||a[e],t)||resolve$2(u.appContext[e],t);if(!v&&o)return a;if(n&&!v){const y=e===COMPONENTS?` -If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.`:"";warn$1(`Failed to resolve ${e.slice(0,-1)}: ${t}${y}`)}return v}else warn$1(`resolve${capitalize$2(e.slice(0,-1))} can only be used in render() or setup().`)}function resolve$2(e,t){return e&&(e[t]||e[camelize(t)]||e[capitalize$2(camelize(t))])}function renderList(e,t,n,o){let u;const a=n&&n[o],v=isArray$6(e);if(v||isString$1(e)){const y=v&&isReactive(e);let w=!1;y&&(w=!isShallow(e),e=shallowReadArray(e)),u=new Array(e.length);for(let E=0,$=e.length;E<$;E++)u[E]=t(w?toReactive(e[E]):e[E],E,void 0,a&&a[E])}else if(typeof e=="number"){Number.isInteger(e)||warn$1(`The v-for range expect an integer value but got ${e}.`),u=new Array(e);for(let y=0;yt(y,w,void 0,a&&a[w]));else{const y=Object.keys(e);u=new Array(y.length);for(let w=0,E=y.length;w{const a=o.fn(...u);return a&&(a.key=o.key),a}:o.fn)}return e}function renderSlot(e,t,n={},o,u){if(currentRenderingInstance.ce||currentRenderingInstance.parent&&isAsyncWrapper(currentRenderingInstance.parent)&¤tRenderingInstance.parent.ce)return t!=="default"&&(n.name=t),openBlock(),createBlock(Fragment,null,[createVNode("slot",n,o&&o())],64);let a=e[t];a&&a.length>1&&(warn$1("SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template."),a=()=>[]),a&&a._c&&(a._d=!1),openBlock();const v=a&&ensureValidVNode(a(n)),y=n.key||v&&v.key,w=createBlock(Fragment,{key:(y&&!isSymbol$3(y)?y:`_${t}`)+(!v&&o?"_fb":"")},v||(o?o():[]),v&&e._===1?64:-2);return!u&&w.scopeId&&(w.slotScopeIds=[w.scopeId+"-s"]),a&&a._c&&(a._d=!0),w}function ensureValidVNode(e){return e.some(t=>isVNode(t)?!(t.type===Comment||t.type===Fragment&&!ensureValidVNode(t.children)):!0)?e:null}function toHandlers(e,t){const n={};if(!isObject$2(e))return warn$1("v-on with no argument expects an object value."),n;for(const o in e)n[t&&/[A-Z]/.test(o)?`on:${o}`:toHandlerKey(o)]=e[o];return n}const getPublicInstance=e=>e?isStatefulComponent(e)?getComponentPublicInstance(e):getPublicInstance(e.parent):null,publicPropertiesMap=extend$1(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>shallowReadonly(e.props),$attrs:e=>shallowReadonly(e.attrs),$slots:e=>shallowReadonly(e.slots),$refs:e=>shallowReadonly(e.refs),$parent:e=>getPublicInstance(e.parent),$root:e=>getPublicInstance(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>resolveMergedOptions(e),$forceUpdate:e=>e.f||(e.f=()=>{queueJob(e.update)}),$nextTick:e=>e.n||(e.n=nextTick$4.bind(e.proxy)),$watch:e=>instanceWatch.bind(e)}),isReservedPrefix=e=>e==="_"||e==="$",hasSetupBinding=(e,t)=>e!==EMPTY_OBJ&&!e.__isScriptSetup&&hasOwn$1(e,t),PublicInstanceProxyHandlers={get({_:e},t){if(t==="__v_skip")return!0;const{ctx:n,setupState:o,data:u,props:a,accessCache:v,type:y,appContext:w}=e;if(t==="__isVue")return!0;let E;if(t[0]!=="$"){const N=v[t];if(N!==void 0)switch(N){case 1:return o[t];case 2:return u[t];case 4:return n[t];case 3:return a[t]}else{if(hasSetupBinding(o,t))return v[t]=1,o[t];if(u!==EMPTY_OBJ&&hasOwn$1(u,t))return v[t]=2,u[t];if((E=e.propsOptions[0])&&hasOwn$1(E,t))return v[t]=3,a[t];if(n!==EMPTY_OBJ&&hasOwn$1(n,t))return v[t]=4,n[t];shouldCacheAccess&&(v[t]=0)}}const $=publicPropertiesMap[t];let x,O;if($)return t==="$attrs"?(track(e.attrs,"get",""),markAttrsAccessed()):t==="$slots"&&track(e,"get",t),$(e);if((x=y.__cssModules)&&(x=x[t]))return x;if(n!==EMPTY_OBJ&&hasOwn$1(n,t))return v[t]=4,n[t];if(O=w.config.globalProperties,hasOwn$1(O,t))return O[t];currentRenderingInstance&&(!isString$1(t)||t.indexOf("__v")!==0)&&(u!==EMPTY_OBJ&&isReservedPrefix(t[0])&&hasOwn$1(u,t)?warn$1(`Property ${JSON.stringify(t)} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.`):e===currentRenderingInstance&&warn$1(`Property ${JSON.stringify(t)} was accessed during render but is not defined on instance.`))},set({_:e},t,n){const{data:o,setupState:u,ctx:a}=e;return hasSetupBinding(u,t)?(u[t]=n,!0):u.__isScriptSetup&&hasOwn$1(u,t)?(warn$1(`Cannot mutate - - - - - - + + + + + + + diff --git a/web/version b/web/version index 00c4b97b4c..cc89836b2d 100644 --- a/web/version +++ b/web/version @@ -1 +1 @@ -2.1.7-Beta.1 +2.1.7-Beta.2