From 8353dbf9600de7c93e302c2ea4b4f3ccdc508f96 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 14 Jan 2025 06:37:13 +0000 Subject: [PATCH 1/2] Bump rollup from 4.30.0 to 4.30.1 Bumps [rollup](https://github.com/rollup/rollup) from 4.30.0 to 4.30.1. - [Release notes](https://github.com/rollup/rollup/releases) - [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md) - [Commits](https://github.com/rollup/rollup/compare/v4.30.0...v4.30.1) --- updated-dependencies: - dependency-name: rollup dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] --- package-lock.json | 160 +++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 81 insertions(+), 81 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7a05039..5b12776 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "notiflix": "^3.2.8", "preact": "^10.25.4", "react-helmet-async": "^2.0.5", - "rollup": "^4.30.0", + "rollup": "^4.30.1", "rollup-plugin-cleandir": "^3.0.0", "rollup-plugin-generate-html-template": "^1.7.0", "rollup-plugin-import-css": "^3.5.8", @@ -609,9 +609,9 @@ } }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.30.0.tgz", - "integrity": "sha512-qFcFto9figFLz2g25DxJ1WWL9+c91fTxnGuwhToCl8BaqDsDYMl/kOnBXAyAqkkzAWimYMSWNPWEjt+ADAHuoQ==", + "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==", "cpu": [ "arm" ], @@ -621,9 +621,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.30.0.tgz", - "integrity": "sha512-vqrQdusvVl7dthqNjWCL043qelBK+gv9v3ZiqdxgaJvmZyIAAXMjeGVSqZynKq69T7062T5VrVTuikKSAAVP6A==", + "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==", "cpu": [ "arm64" ], @@ -633,9 +633,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.30.0.tgz", - "integrity": "sha512-617pd92LhdA9+wpixnzsyhVft3szYiN16aNUMzVkf2N+yAk8UXY226Bfp36LvxYTUt7MO/ycqGFjQgJ0wlMaWQ==", + "version": "4.30.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.30.1.tgz", + "integrity": "sha512-r7FQIXD7gB0WJ5mokTUgUWPl0eYIH0wnxqeSAhuIwvnnpjdVB8cRRClyKLQr7lgzjctkbp5KmswWszlwYln03Q==", "cpu": [ "arm64" ], @@ -645,9 +645,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.30.0.tgz", - "integrity": "sha512-Y3b4oDoaEhCypg8ajPqigKDcpi5ZZovemQl9Edpem0uNv6UUjXv7iySBpGIUTSs2ovWOzYpfw9EbFJXF/fJHWw==", + "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==", "cpu": [ "x64" ], @@ -657,9 +657,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.30.0.tgz", - "integrity": "sha512-3REQJ4f90sFIBfa0BUokiCdrV/E4uIjhkWe1bMgCkhFXbf4D8YN6C4zwJL881GM818qVYE9BO3dGwjKhpo2ABA==", + "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==", "cpu": [ "arm64" ], @@ -669,9 +669,9 @@ ] }, "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.30.0.tgz", - "integrity": "sha512-ZtY3Y8icbe3Cc+uQicsXG5L+CRGUfLZjW6j2gn5ikpltt3Whqjfo5mkyZ86UiuHF9Q3ZsaQeW7YswlHnN+lAcg==", + "version": "4.30.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.30.1.tgz", + "integrity": "sha512-1MEdGqogQLccphhX5myCJqeGNYTNcmTyaic9S7CG3JhwuIByJ7J05vGbZxsizQthP1xpVx7kd3o31eOogfEirw==", "cpu": [ "x64" ], @@ -681,9 +681,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.30.0.tgz", - "integrity": "sha512-bsPGGzfiHXMhQGuFGpmo2PyTwcrh2otL6ycSZAFTESviUoBOuxF7iBbAL5IJXc/69peXl5rAtbewBFeASZ9O0g==", + "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==", "cpu": [ "arm" ], @@ -693,9 +693,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.30.0.tgz", - "integrity": "sha512-kvyIECEhs2DrrdfQf++maCWJIQ974EI4txlz1nNSBaCdtf7i5Xf1AQCEJWOC5rEBisdaMFFnOWNLYt7KpFqy5A==", + "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==", "cpu": [ "arm" ], @@ -705,9 +705,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.30.0.tgz", - "integrity": "sha512-CFE7zDNrokaotXu+shwIrmWrFxllg79vciH4E/zeK7NitVuWEaXRzS0mFfFvyhZfn8WfVOG/1E9u8/DFEgK7WQ==", + "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==", "cpu": [ "arm64" ], @@ -717,9 +717,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.30.0.tgz", - "integrity": "sha512-MctNTBlvMcIBP0t8lV/NXiUwFg9oK5F79CxLU+a3xgrdJjfBLVIEHSAjQ9+ipofN2GKaMLnFFXLltg1HEEPaGQ==", + "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==", "cpu": [ "arm64" ], @@ -729,9 +729,9 @@ ] }, "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.30.0.tgz", - "integrity": "sha512-fBpoYwLEPivL3q368+gwn4qnYnr7GVwM6NnMo8rJ4wb0p/Y5lg88vQRRP077gf+tc25akuqd+1Sxbn9meODhwA==", + "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==", "cpu": [ "loong64" ], @@ -741,9 +741,9 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.30.0.tgz", - "integrity": "sha512-1hiHPV6dUaqIMXrIjN+vgJqtfkLpqHS1Xsg0oUfUVD98xGp1wX89PIXgDF2DWra1nxAd8dfE0Dk59MyeKaBVAw==", + "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==", "cpu": [ "ppc64" ], @@ -753,9 +753,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.30.0.tgz", - "integrity": "sha512-U0xcC80SMpEbvvLw92emHrNjlS3OXjAM0aVzlWfar6PR0ODWCTQtKeeB+tlAPGfZQXicv1SpWwRz9Hyzq3Jx3g==", + "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==", "cpu": [ "riscv64" ], @@ -765,9 +765,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.30.0.tgz", - "integrity": "sha512-VU/P/IODrNPasgZDLIFJmMiLGez+BN11DQWfTVlViJVabyF3JaeaJkP6teI8760f18BMGCQOW9gOmuzFaI1pUw==", + "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==", "cpu": [ "s390x" ], @@ -777,9 +777,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.30.0.tgz", - "integrity": "sha512-laQVRvdbKmjXuFA3ZiZj7+U24FcmoPlXEi2OyLfbpY2MW1oxLt9Au8q9eHd0x6Pw/Kw4oe9gwVXWwIf2PVqblg==", + "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==", "cpu": [ "x64" ], @@ -789,9 +789,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.30.0.tgz", - "integrity": "sha512-3wzKzduS7jzxqcOvy/ocU/gMR3/QrHEFLge5CD7Si9fyHuoXcidyYZ6jyx8OPYmCcGm3uKTUl+9jUSAY74Ln5A==", + "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==", "cpu": [ "x64" ], @@ -801,9 +801,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.30.0.tgz", - "integrity": "sha512-jROwnI1+wPyuv696rAFHp5+6RFhXGGwgmgSfzE8e4xfit6oLRg7GyMArVUoM3ChS045OwWr9aTnU+2c1UdBMyw==", + "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==", "cpu": [ "arm64" ], @@ -813,9 +813,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.30.0.tgz", - "integrity": "sha512-duzweyup5WELhcXx5H1jokpr13i3BV9b48FMiikYAwk/MT1LrMYYk2TzenBd0jj4ivQIt58JWSxc19y4SvLP4g==", + "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==", "cpu": [ "ia32" ], @@ -825,9 +825,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.30.0.tgz", - "integrity": "sha512-DYvxS0M07PvgvavMIybCOBYheyrqlui6ZQBHJs6GqduVzHSZ06TPPvlfvnYstjODHQ8UUXFwt5YE+h0jFI8kwg==", + "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==", "cpu": [ "x64" ], @@ -4063,9 +4063,9 @@ "license": "ISC" }, "node_modules/rollup": { - "version": "4.30.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.30.0.tgz", - "integrity": "sha512-sDnr1pcjTgUT69qBksNF1N1anwfbyYG6TBQ22b03bII8EdiUQ7J0TlozVaTMjT/eEJAO49e1ndV7t+UZfL1+vA==", + "version": "4.30.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.30.1.tgz", + "integrity": "sha512-mlJ4glW020fPuLi7DkM/lN97mYEZGWeqBnrljzN0gs7GLctqX3lNWxKQ7Gl712UAX+6fog/L3jh4gb7R6aVi3w==", "dependencies": { "@types/estree": "1.0.6" }, @@ -4077,25 +4077,25 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.30.0", - "@rollup/rollup-android-arm64": "4.30.0", - "@rollup/rollup-darwin-arm64": "4.30.0", - "@rollup/rollup-darwin-x64": "4.30.0", - "@rollup/rollup-freebsd-arm64": "4.30.0", - "@rollup/rollup-freebsd-x64": "4.30.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.30.0", - "@rollup/rollup-linux-arm-musleabihf": "4.30.0", - "@rollup/rollup-linux-arm64-gnu": "4.30.0", - "@rollup/rollup-linux-arm64-musl": "4.30.0", - "@rollup/rollup-linux-loongarch64-gnu": "4.30.0", - "@rollup/rollup-linux-powerpc64le-gnu": "4.30.0", - "@rollup/rollup-linux-riscv64-gnu": "4.30.0", - "@rollup/rollup-linux-s390x-gnu": "4.30.0", - "@rollup/rollup-linux-x64-gnu": "4.30.0", - "@rollup/rollup-linux-x64-musl": "4.30.0", - "@rollup/rollup-win32-arm64-msvc": "4.30.0", - "@rollup/rollup-win32-ia32-msvc": "4.30.0", - "@rollup/rollup-win32-x64-msvc": "4.30.0", + "@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", "fsevents": "~2.3.2" } }, diff --git a/package.json b/package.json index e8c864c..ba7b858 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "notiflix": "^3.2.8", "preact": "^10.25.4", "react-helmet-async": "^2.0.5", - "rollup": "^4.30.0", + "rollup": "^4.30.1", "rollup-plugin-cleandir": "^3.0.0", "rollup-plugin-generate-html-template": "^1.7.0", "rollup-plugin-import-css": "^3.5.8", From 023b9cb6e033c8fb0692de9a6ea534bb854eb836 Mon Sep 17 00:00:00 2001 From: Github bot Date: Tue, 14 Jan 2025 06:37:41 +0000 Subject: [PATCH 2/2] build action --- public/assets/bundle--788s9YQ.js.map | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/public/assets/bundle--788s9YQ.js.map b/public/assets/bundle--788s9YQ.js.map index 34fb140..d77f287 100644 --- a/public/assets/bundle--788s9YQ.js.map +++ b/public/assets/bundle--788s9YQ.js.map @@ -1 +1 @@ -{"version":3,"file":"bundle--788s9YQ.js","sources":["../../node_modules/preact/dist/preact.module.js","../../node_modules/preact/hooks/dist/hooks.module.js","../../node_modules/preact/compat/dist/compat.module.js","../../src/uuid-formatter.js","../../src/uuid-bytes.js","../../src/base64.js","../../src/object-parser.js","../../src/type-detector.js","../../src/uuid-high-low.js","../../node_modules/notiflix/build/notiflix-notify-aio.js","../../src/input.jsx","../../src/history.jsx","../../node_modules/@theme-toggles/react/dist/index.js","../../node_modules/react-fast-compare/index.js","../../node_modules/invariant/browser.js","../../node_modules/shallowequal/index.js","../../node_modules/react-helmet-async/lib/index.esm.js","../../node_modules/uuid/dist/esm-browser/regex.js","../../node_modules/uuid/dist/esm-browser/parse.js","../../node_modules/uuid/dist/esm-browser/validate.js","../../node_modules/uuid/dist/esm-browser/stringify.js","../../node_modules/uuid/dist/esm-browser/rng.js","../../node_modules/uuid/dist/esm-browser/v1.js","../../node_modules/uuid/dist/esm-browser/v1ToV6.js","../../node_modules/uuid/dist/esm-browser/native.js","../../node_modules/uuid/dist/esm-browser/v4.js","../../node_modules/uuid/dist/esm-browser/v6.js","../../node_modules/uuid/dist/esm-browser/v7.js","../../src/nav.jsx","../../node_modules/uuid/dist/esm-browser/nil.js","../../node_modules/uuid/dist/esm-browser/max.js","../../src/app.jsx","../../src/index.jsx"],"sourcesContent":["var n,l,u,t,i,r,o,e,f,c,s,a,h,p={},v=[],y=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,d=Array.isArray;function w(n,l){for(var u in l)n[u]=l[u];return n}function _(n){n&&n.parentNode&&n.parentNode.removeChild(n)}function g(l,u,t){var i,r,o,e={};for(o in u)\"key\"==o?i=u[o]:\"ref\"==o?r=u[o]:e[o]=u[o];if(arguments.length>2&&(e.children=arguments.length>3?n.call(arguments,2):t),\"function\"==typeof l&&null!=l.defaultProps)for(o in l.defaultProps)void 0===e[o]&&(e[o]=l.defaultProps[o]);return m(l,e,i,r,null)}function m(n,t,i,r,o){var e={type:n,props:t,key:i,ref:r,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:null==o?++u:o,__i:-1,__u:0};return null==o&&null!=l.vnode&&l.vnode(e),e}function b(){return{current:null}}function k(n){return n.children}function x(n,l){this.props=n,this.context=l}function C(n,l){if(null==l)return n.__?C(n.__,n.__i+1):null;for(var u;lu&&i.sort(e));P.__r=0}function $(n,l,u,t,i,r,o,e,f,c,s){var a,h,y,d,w,_,g=t&&t.__k||v,m=l.length;for(f=I(u,l,g,f,m),a=0;a0?m(o.type,o.props,o.key,o.ref?o.ref:null,o.__v):o).__=n,o.__b=n.__b+1,e=null,-1!==(c=o.__i=L(o,u,f,a))&&(a--,(e=u[c])&&(e.__u|=2)),null==e||null===e.__v?(-1==c&&h--,\"function\"!=typeof o.type&&(o.__u|=4)):c!=f&&(c==f-1?h--:c==f+1?h++:(c>f?h--:h++,o.__u|=4))):n.__k[r]=null;if(a)for(r=0;r(null!=f&&0==(2&f.__u)?1:0))for(i=u-1,r=u+1;i>=0||r=0){if((f=l[i])&&0==(2&f.__u)&&o==f.key&&e===f.type)return i;i--}if(r2&&(f.children=arguments.length>3?n.call(arguments,2):t),m(l.type,f,i||l.key,r||l.ref,null)}function J(n,l){var u={__c:l=\"__cC\"+h++,__:n,Consumer:function(n,l){return n.children(l)},Provider:function(n){var u,t;return this.getChildContext||(u=new Set,(t={})[l]=this,this.getChildContext=function(){return t},this.componentWillUnmount=function(){u=null},this.shouldComponentUpdate=function(n){this.props.value!==n.value&&u.forEach(function(n){n.__e=!0,M(n)})},this.sub=function(n){u.add(n);var l=n.componentWillUnmount;n.componentWillUnmount=function(){u&&u.delete(n),l&&l.call(n)}}),n.children}};return u.Provider.__=u.Consumer.contextType=u}n=v.slice,l={__e:function(n,l,u,t){for(var i,r,o;l=l.__;)if((i=l.__c)&&!i.__)try{if((r=i.constructor)&&null!=r.getDerivedStateFromError&&(i.setState(r.getDerivedStateFromError(n)),o=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(n,t||{}),o=i.__d),o)return i.__E=i}catch(l){n=l}throw n}},u=0,t=function(n){return null!=n&&null==n.constructor},x.prototype.setState=function(n,l){var u;u=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=w({},this.state),\"function\"==typeof n&&(n=n(w({},u),this.props)),n&&w(u,n),null!=n&&this.__v&&(l&&this._sb.push(l),M(this))},x.prototype.forceUpdate=function(n){this.__v&&(this.__e=!0,n&&this.__h.push(n),M(this))},x.prototype.render=k,i=[],o=\"function\"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,e=function(n,l){return n.__v.__b-l.__v.__b},P.__r=0,f=/(PointerCapture)$|Capture$/i,c=0,s=O(!1),a=O(!0),h=0;export{x as Component,k as Fragment,G as cloneElement,J as createContext,g as createElement,b as createRef,g as h,E as hydrate,t as isValidElement,l as options,D as render,H as toChildArray};\n//# sourceMappingURL=preact.module.js.map\n","import{options as n}from\"preact\";var t,r,u,i,o=0,f=[],c=n,e=c.__b,a=c.__r,v=c.diffed,l=c.__c,m=c.unmount,s=c.__;function d(n,t){c.__h&&c.__h(r,n,o||t),o=0;var u=r.__H||(r.__H={__:[],__h:[]});return n>=u.__.length&&u.__.push({}),u.__[n]}function h(n){return o=1,p(D,n)}function p(n,u,i){var o=d(t++,2);if(o.t=n,!o.__c&&(o.__=[i?i(u):D(void 0,u),function(n){var t=o.__N?o.__N[0]:o.__[0],r=o.t(t,n);t!==r&&(o.__N=[r,o.__[1]],o.__c.setState({}))}],o.__c=r,!r.u)){var f=function(n,t,r){if(!o.__c.__H)return!0;var u=o.__c.__H.__.filter(function(n){return!!n.__c});if(u.every(function(n){return!n.__N}))return!c||c.call(this,n,t,r);var i=o.__c.props!==n;return u.forEach(function(n){if(n.__N){var t=n.__[0];n.__=n.__N,n.__N=void 0,t!==n.__[0]&&(i=!0)}}),c&&c.call(this,n,t,r)||i};r.u=!0;var c=r.shouldComponentUpdate,e=r.componentWillUpdate;r.componentWillUpdate=function(n,t,r){if(this.__e){var u=c;c=void 0,f(n,t,r),c=u}e&&e.call(this,n,t,r)},r.shouldComponentUpdate=f}return o.__N||o.__}function y(n,u){var i=d(t++,3);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__H.__h.push(i))}function _(n,u){var i=d(t++,4);!c.__s&&C(i.__H,u)&&(i.__=n,i.i=u,r.__h.push(i))}function A(n){return o=5,T(function(){return{current:n}},[])}function F(n,t,r){o=6,_(function(){return\"function\"==typeof n?(n(t()),function(){return n(null)}):n?(n.current=t(),function(){return n.current=null}):void 0},null==r?r:r.concat(n))}function T(n,r){var u=d(t++,7);return C(u.__H,r)&&(u.__=n(),u.__H=r,u.__h=n),u.__}function q(n,t){return o=8,T(function(){return n},t)}function x(n){var u=r.context[n.__c],i=d(t++,9);return i.c=n,u?(null==i.__&&(i.__=!0,u.sub(r)),u.props.value):n.__}function P(n,t){c.useDebugValue&&c.useDebugValue(t?t(n):n)}function b(n){var u=d(t++,10),i=h();return u.__=n,r.componentDidCatch||(r.componentDidCatch=function(n,t){u.__&&u.__(n,t),i[1](n)}),[i[0],function(){i[1](void 0)}]}function g(){var n=d(t++,11);if(!n.__){for(var u=r.__v;null!==u&&!u.__m&&null!==u.__;)u=u.__;var i=u.__m||(u.__m=[0,0]);n.__=\"P\"+i[0]+\"-\"+i[1]++}return n.__}function j(){for(var n;n=f.shift();)if(n.__P&&n.__H)try{n.__H.__h.forEach(z),n.__H.__h.forEach(B),n.__H.__h=[]}catch(t){n.__H.__h=[],c.__e(t,n.__v)}}c.__b=function(n){r=null,e&&e(n)},c.__=function(n,t){n&&t.__k&&t.__k.__m&&(n.__m=t.__k.__m),s&&s(n,t)},c.__r=function(n){a&&a(n),t=0;var i=(r=n.__c).__H;i&&(u===r?(i.__h=[],r.__h=[],i.__.forEach(function(n){n.__N&&(n.__=n.__N),n.i=n.__N=void 0})):(i.__h.forEach(z),i.__h.forEach(B),i.__h=[],t=0)),u=r},c.diffed=function(n){v&&v(n);var t=n.__c;t&&t.__H&&(t.__H.__h.length&&(1!==f.push(t)&&i===c.requestAnimationFrame||((i=c.requestAnimationFrame)||w)(j)),t.__H.__.forEach(function(n){n.i&&(n.__H=n.i),n.i=void 0})),u=r=null},c.__c=function(n,t){t.some(function(n){try{n.__h.forEach(z),n.__h=n.__h.filter(function(n){return!n.__||B(n)})}catch(r){t.some(function(n){n.__h&&(n.__h=[])}),t=[],c.__e(r,n.__v)}}),l&&l(n,t)},c.unmount=function(n){m&&m(n);var t,r=n.__c;r&&r.__H&&(r.__H.__.forEach(function(n){try{z(n)}catch(n){t=n}}),r.__H=void 0,t&&c.__e(t,r.__v))};var k=\"function\"==typeof requestAnimationFrame;function w(n){var t,r=function(){clearTimeout(u),k&&cancelAnimationFrame(t),setTimeout(n)},u=setTimeout(r,100);k&&(t=requestAnimationFrame(r))}function z(n){var t=r,u=n.__c;\"function\"==typeof u&&(n.__c=void 0,u()),r=t}function B(n){var t=r;n.__c=n.__(),r=t}function C(n,t){return!n||n.length!==t.length||t.some(function(t,r){return t!==n[r]})}function D(n,t){return\"function\"==typeof t?t(n):t}export{q as useCallback,x as useContext,P as useDebugValue,y as useEffect,b as useErrorBoundary,g as useId,F as useImperativeHandle,_ as useLayoutEffect,T as useMemo,p as useReducer,A as useRef,h as useState};\n//# sourceMappingURL=hooks.module.js.map\n","import{Component as n,createElement as t,options as e,toChildArray as r,Fragment as u,render as o,hydrate as i,createContext as c,createRef as l,cloneElement as f}from\"preact\";export{Component,Fragment,createContext,createElement,createRef}from\"preact\";import{useState as a,useLayoutEffect as s,useEffect as h,useCallback as v,useContext as d,useDebugValue as p,useId as m,useImperativeHandle as y,useMemo as _,useReducer as b,useRef as S}from\"preact/hooks\";export*from\"preact/hooks\";function g(n,t){for(var e in t)n[e]=t[e];return n}function E(n,t){for(var e in n)if(\"__source\"!==e&&!(e in t))return!0;for(var r in t)if(\"__source\"!==r&&n[r]!==t[r])return!0;return!1}function C(n,t){var e=t(),r=a({t:{__:e,u:t}}),u=r[0].t,o=r[1];return s(function(){u.__=e,u.u=t,x(u)&&o({t:u})},[n,e,t]),h(function(){return x(u)&&o({t:u}),n(function(){x(u)&&o({t:u})})},[n]),e}function x(n){var t,e,r=n.u,u=n.__;try{var o=r();return!((t=u)===(e=o)&&(0!==t||1/t==1/e)||t!=t&&e!=e)}catch(n){return!0}}function R(n){n()}function w(n){return n}function k(){return[!1,R]}var I=s;function N(n,t){this.props=n,this.context=t}function M(n,e){function r(n){var t=this.props.ref,r=t==n.ref;return!r&&t&&(t.call?t(null):t.current=null),e?!e(this.props,n)||!r:E(this.props,n)}function u(e){return this.shouldComponentUpdate=r,t(n,e)}return u.displayName=\"Memo(\"+(n.displayName||n.name)+\")\",u.prototype.isReactComponent=!0,u.__f=!0,u}(N.prototype=new n).isPureReactComponent=!0,N.prototype.shouldComponentUpdate=function(n,t){return E(this.props,n)||E(this.state,t)};var T=e.__b;e.__b=function(n){n.type&&n.type.__f&&n.ref&&(n.props.ref=n.ref,n.ref=null),T&&T(n)};var A=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.forward_ref\")||3911;function D(n){function t(t){var e=g({},t);return delete e.ref,n(e,t.ref||null)}return t.$$typeof=A,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName=\"ForwardRef(\"+(n.displayName||n.name)+\")\",t}var L=function(n,t){return null==n?null:r(r(n).map(t))},O={map:L,forEach:L,count:function(n){return n?r(n).length:0},only:function(n){var t=r(n);if(1!==t.length)throw\"Children.only\";return t[0]},toArray:r},F=e.__e;e.__e=function(n,t,e,r){if(n.then)for(var u,o=t;o=o.__;)if((u=o.__c)&&u.__c)return null==t.__e&&(t.__e=e.__e,t.__k=e.__k),u.__c(n,t);F(n,t,e,r)};var U=e.unmount;function V(n,t,e){return n&&(n.__c&&n.__c.__H&&(n.__c.__H.__.forEach(function(n){\"function\"==typeof n.__c&&n.__c()}),n.__c.__H=null),null!=(n=g({},n)).__c&&(n.__c.__P===e&&(n.__c.__P=t),n.__c=null),n.__k=n.__k&&n.__k.map(function(n){return V(n,t,e)})),n}function W(n,t,e){return n&&e&&(n.__v=null,n.__k=n.__k&&n.__k.map(function(n){return W(n,t,e)}),n.__c&&n.__c.__P===t&&(n.__e&&e.appendChild(n.__e),n.__c.__e=!0,n.__c.__P=e)),n}function P(){this.__u=0,this.o=null,this.__b=null}function j(n){var t=n.__.__c;return t&&t.__a&&t.__a(n)}function z(n){var e,r,u;function o(o){if(e||(e=n()).then(function(n){r=n.default||n},function(n){u=n}),u)throw u;if(!r)throw e;return t(r,o)}return o.displayName=\"Lazy\",o.__f=!0,o}function B(){this.i=null,this.l=null}e.unmount=function(n){var t=n.__c;t&&t.__R&&t.__R(),t&&32&n.__u&&(n.type=null),U&&U(n)},(P.prototype=new n).__c=function(n,t){var e=t.__c,r=this;null==r.o&&(r.o=[]),r.o.push(e);var u=j(r.__v),o=!1,i=function(){o||(o=!0,e.__R=null,u?u(c):c())};e.__R=i;var c=function(){if(!--r.__u){if(r.state.__a){var n=r.state.__a;r.__v.__k[0]=W(n,n.__c.__P,n.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.o.pop();)t.forceUpdate()}};r.__u++||32&t.__u||r.setState({__a:r.__b=r.__v.__k[0]}),n.then(i,i)},P.prototype.componentWillUnmount=function(){this.o=[]},P.prototype.render=function(n,e){if(this.__b){if(this.__v.__k){var r=document.createElement(\"div\"),o=this.__v.__k[0].__c;this.__v.__k[0]=V(this.__b,r,o.__O=o.__P)}this.__b=null}var i=e.__a&&t(u,null,n.fallback);return i&&(i.__u&=-33),[t(u,null,e.__a?null:n.children),i]};var H=function(n,t,e){if(++e[1]===e[0]&&n.l.delete(t),n.props.revealOrder&&(\"t\"!==n.props.revealOrder[0]||!n.l.size))for(e=n.i;e;){for(;e.length>3;)e.pop()();if(e[1]>>1,1),e.h.removeChild(n)}}),o(t(Z,{context:e.context},n.__v),e.v)}function $(n,e){var r=t(Y,{__v:n,h:e});return r.containerInfo=e,r}(B.prototype=new n).__a=function(n){var t=this,e=j(t.__v),r=t.l.get(n);return r[0]++,function(u){var o=function(){t.props.revealOrder?(r.push(u),H(t,n,r)):u()};e?e(o):o()}},B.prototype.render=function(n){this.i=null,this.l=new Map;var t=r(n.children);n.revealOrder&&\"b\"===n.revealOrder[0]&&t.reverse();for(var e=t.length;e--;)this.l.set(t[e],this.i=[1,0,this.i]);return n.children},B.prototype.componentDidUpdate=B.prototype.componentDidMount=function(){var n=this;this.l.forEach(function(t,e){H(n,e,t)})};var q=\"undefined\"!=typeof Symbol&&Symbol.for&&Symbol.for(\"react.element\")||60103,G=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image(!S)|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,J=/^on(Ani|Tra|Tou|BeforeInp|Compo)/,K=/[A-Z0-9]/g,Q=\"undefined\"!=typeof document,X=function(n){return(\"undefined\"!=typeof Symbol&&\"symbol\"==typeof Symbol()?/fil|che|rad/:/fil|che|ra/).test(n)};function nn(n,t,e){return null==t.__k&&(t.textContent=\"\"),o(n,t),\"function\"==typeof e&&e(),n?n.__c:null}function tn(n,t,e){return i(n,t),\"function\"==typeof e&&e(),n?n.__c:null}n.prototype.isReactComponent={},[\"componentWillMount\",\"componentWillReceiveProps\",\"componentWillUpdate\"].forEach(function(t){Object.defineProperty(n.prototype,t,{configurable:!0,get:function(){return this[\"UNSAFE_\"+t]},set:function(n){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:n})}})});var en=e.event;function rn(){}function un(){return this.cancelBubble}function on(){return this.defaultPrevented}e.event=function(n){return en&&(n=en(n)),n.persist=rn,n.isPropagationStopped=un,n.isDefaultPrevented=on,n.nativeEvent=n};var cn,ln={enumerable:!1,configurable:!0,get:function(){return this.class}},fn=e.vnode;e.vnode=function(n){\"string\"==typeof n.type&&function(n){var t=n.props,e=n.type,u={},o=-1===e.indexOf(\"-\");for(var i in t){var c=t[i];if(!(\"value\"===i&&\"defaultValue\"in t&&null==c||Q&&\"children\"===i&&\"noscript\"===e||\"class\"===i||\"className\"===i)){var l=i.toLowerCase();\"defaultValue\"===i&&\"value\"in t&&null==t.value?i=\"value\":\"download\"===i&&!0===c?c=\"\":\"translate\"===l&&\"no\"===c?c=!1:\"o\"===l[0]&&\"n\"===l[1]?\"ondoubleclick\"===l?i=\"ondblclick\":\"onchange\"!==l||\"input\"!==e&&\"textarea\"!==e||X(t.type)?\"onfocus\"===l?i=\"onfocusin\":\"onblur\"===l?i=\"onfocusout\":J.test(i)&&(i=l):l=i=\"oninput\":o&&G.test(i)?i=i.replace(K,\"-$&\").toLowerCase():null===c&&(c=void 0),\"oninput\"===l&&u[i=l]&&(i=\"oninputCapture\"),u[i]=c}}\"select\"==e&&u.multiple&&Array.isArray(u.value)&&(u.value=r(t.children).forEach(function(n){n.props.selected=-1!=u.value.indexOf(n.props.value)})),\"select\"==e&&null!=u.defaultValue&&(u.value=r(t.children).forEach(function(n){n.props.selected=u.multiple?-1!=u.defaultValue.indexOf(n.props.value):u.defaultValue==n.props.value})),t.class&&!t.className?(u.class=t.class,Object.defineProperty(u,\"className\",ln)):(t.className&&!t.class||t.class&&t.className)&&(u.class=u.className=t.className),n.props=u}(n),n.$$typeof=q,fn&&fn(n)};var an=e.__r;e.__r=function(n){an&&an(n),cn=n.__c};var sn=e.diffed;e.diffed=function(n){sn&&sn(n);var t=n.props,e=n.__e;null!=e&&\"textarea\"===n.type&&\"value\"in t&&t.value!==e.value&&(e.value=null==t.value?\"\":t.value),cn=null};var hn={ReactCurrentDispatcher:{current:{readContext:function(n){return cn.__n[n.__c].props.value},useCallback:v,useContext:d,useDebugValue:p,useDeferredValue:w,useEffect:h,useId:m,useImperativeHandle:y,useInsertionEffect:I,useLayoutEffect:s,useMemo:_,useReducer:b,useRef:S,useState:a,useSyncExternalStore:C,useTransition:k}}},vn=\"18.3.1\";function dn(n){return t.bind(null,n)}function pn(n){return!!n&&n.$$typeof===q}function mn(n){return pn(n)&&n.type===u}function yn(n){return!!n&&!!n.displayName&&(\"string\"==typeof n.displayName||n.displayName instanceof String)&&n.displayName.startsWith(\"Memo(\")}function _n(n){return pn(n)?f.apply(null,arguments):n}function bn(n){return!!n.__k&&(o(null,n),!0)}function Sn(n){return n&&(n.base||1===n.nodeType&&n)||null}var gn=function(n,t){return n(t)},En=function(n,t){return n(t)},Cn=u,xn=pn,Rn={useState:a,useId:m,useReducer:b,useEffect:h,useLayoutEffect:s,useInsertionEffect:I,useTransition:k,useDeferredValue:w,useSyncExternalStore:C,startTransition:R,useRef:S,useImperativeHandle:y,useMemo:_,useCallback:v,useContext:d,useDebugValue:p,version:\"18.3.1\",Children:O,render:nn,hydrate:tn,unmountComponentAtNode:bn,createPortal:$,createElement:t,createContext:c,createFactory:dn,cloneElement:_n,createRef:l,Fragment:u,isValidElement:pn,isElement:xn,isFragment:mn,isMemo:yn,findDOMNode:Sn,Component:n,PureComponent:N,memo:M,forwardRef:D,flushSync:En,unstable_batchedUpdates:gn,StrictMode:Cn,Suspense:P,SuspenseList:B,lazy:z,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:hn};export{O as Children,N as PureComponent,Cn as StrictMode,P as Suspense,B as SuspenseList,hn as __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,_n as cloneElement,dn as createFactory,$ as createPortal,Rn as default,Sn as findDOMNode,En as flushSync,D as forwardRef,tn as hydrate,xn as isElement,mn as isFragment,yn as isMemo,pn as isValidElement,z as lazy,M as memo,nn as render,R as startTransition,bn as unmountComponentAtNode,gn as unstable_batchedUpdates,w as useDeferredValue,I as useInsertionEffect,C as useSyncExternalStore,k as useTransition,vn as version};\n//# sourceMappingURL=compat.module.js.map\n","'use strict';\n\n/**\n * Formats a UUID string into the standard UUID format.\n *\n * @param {string} input - The UUID string to format.\n * @return {string} The formatted UUID string.\n */\nexport function uuidFormatter(input) {\n // Check if the input string has a length of 32, which is the length of a standard UUID.\n if (input.length === 32) {\n // Slice the input string into parts and join them with hyphens to form the formatted UUID.\n // The first 8 characters are the first part.\n // The next 4 characters are the second part.\n // The next 4 characters are the third part.\n // The next 4 characters are the fourth part.\n // The remaining 8 characters are the fifth part.\n return (\n input.slice(0, 8) + '-' + // First part\n input.slice(8, 12) + '-' + // Second part\n input.slice(12, 16) + '-' + // Third part\n input.slice(16, 20) + '-' + // Fourth part\n input.slice(20, 32) // Fifth part\n );\n }\n\n // If the input string is not a standard UUID, return it as is.\n return input;\n}\n","'use strict';\n\nimport {uuidFormatter} from \"./uuid-formatter.js\";\n\n/**\n * Regular expression to match all non-alphanumeric characters in a UUID string.\n * Used to remove non-alphanumeric characters from the input when converting bytes to UUID.\n * @type {RegExp}\n */\nconst uuidAlf = /[^a-z0-9]/g; // eslint-disable-line no-useless-escape\n\n/**\n * Regular expression to split a UUID string into 2-character chunks.\n * Used to split UUID string into bytes when converting bytes to UUID.\n * @type {RegExp}\n */\nconst chunk = /.{1,2}/g;\n\n/**\n * Removes non-alphanumeric characters from a UUID string.\n * @param {string} input - The UUID string to be cleaned.\n * @returns {string|null} - The cleaned UUID string, or null if the input has an invalid length.\n */\nfunction _getUuid(input) {\n // Lowercase the input and remove all non-alphanumeric characters.\n const uuidStr = input.toLowerCase().replaceAll(uuidAlf, '')\n \n // Check if the cleaned UUID string has the correct length (32 characters).\n if (uuidStr.length !== 32) {\n // If the length is invalid, return null.\n return null\n }\n\n // Return the cleaned UUID string.\n return uuidStr\n}\n\n/**\n * Converts a UUID string to an array of bytes.\n * Each byte is represented as a decimal number.\n *\n * @param {string} input - The UUID string to be converted.\n * @returns {Array|null} - The array of bytes, or null if the input has an invalid length.\n */\nexport function uuidToBytes(input) {\n // Clean the input UUID string and check its length.\n const uuidStr = _getUuid(input)\n if (uuidStr === null) {\n return null\n }\n\n // Split the cleaned UUID string into 2-character chunks and convert each chunk to a decimal number.\n return uuidStr\n .match(chunk)\n .map(b => parseInt(b, 16))\n}\n\nexport function bytesToUuid(bytes) {\n return uuidFormatter(\n bytes.map(b => b.toString(16).padStart(2, '0')).join('')\n )\n}\n\n/**\n * Converts a UUID string to a JSON string representation of an array of bytes.\n * Each byte is represented as a decimal number.\n *\n * @param {string} input - The UUID string to be converted.\n * @returns {string|null} - The JSON string representation of an array of bytes, or null if the input has an invalid length.\n */\nexport function uuidToBytesString(input) {\n // Convert the UUID string to an array of bytes.\n const bytes = uuidToBytes(input)\n \n // If the input has an invalid length, return null.\n if (bytes === null) {\n return null\n }\n\n // Convert the array of bytes to a JSON string.\n return JSON.stringify(bytes)\n}\n","'use strict';\n\nimport {bytesToUuid, uuidToBytes} from \"./uuid-bytes.js\";\n\n/**\n * Converts a base64 standard representation of a UUID to the UUID string.\n *\n * @param {string} base64 - The base64 standard representation of a UUID.\n * @returns {string} - The UUID string.\n */\nexport function base64StdToUuid(base64) {\n // Decode the base64 string to bytes.\n const bytes = atob(base64)\n // Convert each character to its corresponding character code.\n .split('')\n .map(c => c.charCodeAt(0))\n // Convert the array of character codes to bytes.\n ;\n\n // Convert the bytes to the UUID string.\n return bytesToUuid(bytes);\n}\n\n/**\n * Converts a UUID string to a base64 standard representation of a UUID.\n *\n * @param {string} uuid - The UUID string to be converted.\n * @returns {string} - The base64 standard representation of the UUID.\n */\nexport function uuidToBase64Std(uuid) {\n // Convert the UUID string to bytes.\n const bytes = uuidToBytes(uuid);\n\n // Convert the bytes to a base64 string.\n // The apply() method is used to convert the Uint8Array to an arguments list\n // that can be passed to the String.fromCharCode() method.\n return btoa(\n String.fromCharCode.apply(null, new Uint8Array(bytes))\n );\n}\n","'use strict';\n\nconst rg = /\"?([a-zA-Z0-9]*)\"?:/g\nconst hlrg = /^(-?\\d+)[;:,](-?\\d+)$/\nconst trg = /[\"']?(-?\\d+)[\"']?/g\n\n/**\n * Parses a string representation of an object into a JavaScript object.\n * \n * @param {string} val - The string representation of the object.\n * @returns {Object} - The parsed object.\n */\nexport function objectParse(val) {\n // If the string starts with '[', it is a JSON array and needs to be parsed.\n if (val[0] === '[') {\n // Replace all occurrences of numbers with the same number without quotes.\n return JSON.parse(val.replace(trg, '$1'))\n }\n\n // If the string matches the regular expression for a high-low pair, split it into an array.\n if (val.match(hlrg)) {\n // Replace the high-low pair with the same numbers separated by semicolons.\n const split = val.replace(hlrg, '$1;$2').split(';')\n\n // Return an object with the high and low properties.\n return {\n high: split[0].toString(),\n low: split[1].toString()\n }\n }\n\n // Parse the string representation of the object.\n const obj = JSON.parse(val.replace(trg, '\"$1\"').replace(rg, '\"$1\":'))\n\n // Return an object with the high and low properties.\n return {\n high: obj.high,\n low: obj.low\n }\n}\n","'use strict';\n\nimport {base64StdToUuid} from \"./base64.js\";\nimport {objectParse} from \"./object-parser.js\";\n\n/**\n * Represents the type of UUID.\n *\n * @type {number}\n */\nexport const TYPE_UUID = 2 ** 0; // 0b0001\n\n/**\n * Represents the type of UUID represented as high-low pairs.\n *\n * @type {number}\n */\nexport const TYPE_HIGH_LOW = 2 ** 1; // 0b0010\n\n/**\n * Represents the type of UUID represented in base64 string.\n *\n * @type {number}\n */\nexport const TYPE_BASE64 = 2 ** 2; // 0b0100\n\n/**\n * Represents the type of UUID represented as bytes string.\n *\n * @type {number}\n */\nexport const TYPE_BYTES = 2 ** 3; // 0b1000\n\n/**\n * Represents the length of a UUID string.\n *\n * A UUID is a 128-bit value represented as a 36-character string.\n * Each character in the string represents a hexadecimal digit.\n *\n * @type {number}\n */\nconst UUID_LENGTH = 36; // 36 characters in a UUID string\n\n/**\n * Returns a list of UUID types and their corresponding names.\n *\n * @return {Object} An object with UUID types as keys and their corresponding names as values.\n */\nexport function uuidTypeList() {\n // Initialize an empty array to store the UUID types and their names.\n const list = []\n\n // Add each UUID type and its corresponding name to the list.\n list[TYPE_UUID] = 'uuid' // UUID type\n list[TYPE_BASE64] = 'base64' // Base64 type\n list[TYPE_HIGH_LOW] = 'high-low' // High-low type\n list[TYPE_BYTES] = 'bytes' // Bytes type\n\n // Return the list of UUID types and their names.\n return list\n}\n\n/**\n * Detects the type of the given input.\n *\n * The function attempts to parse the input as a JSON array (bytes-type) or\n * JSON object (high-low-type). If parsing succeeds, it returns the bytes-type\n * or high-low-type accordingly.\n *\n * If parsing fails, the function checks if the input can be parsed as a valid\n * base64-type UUID. If it can, the function returns the base64-type.\n *\n * If parsing fails for both bytes-type and base64-type, the function returns\n * the default UUID type.\n *\n * @param {string} input - The input to be parsed and detected.\n * @return {number} The type of the input.\n */\nexport function typeDetector(input) {\n // Attempt to parse the input as a JSON array (bytes-type) or JSON object\n // (high-low-type).\n try {\n // If the input can be parsed as a JSON array, return the bytes-type.\n return Array.isArray(objectParse(input))\n ? TYPE_BYTES\n // If the input can be parsed as a JSON object, return the high-low-type.\n : TYPE_HIGH_LOW;\n } catch (e) {\n // Do nothing if parsing fails.\n }\n\n // Attempt to parse the input as a valid base64-type UUID.\n try {\n // If the input can be parsed as a valid base64-type UUID with the correct\n // length, return the base64-type.\n if (base64StdToUuid(input).length === UUID_LENGTH) {\n return TYPE_BASE64;\n }\n } catch (e) {\n // Do nothing if parsing fails.\n }\n\n // If parsing fails for both bytes-type and base64-type, return the default\n // UUID type.\n return TYPE_UUID;\n}\n","'use strict';\n\nimport {bytesToUuid, uuidToBytes} from \"./uuid-bytes.js\";\n\n/**\n * Converts a UUID string to an object with high and low unsigned 64-bit integers.\n *\n * @param {string} input - The UUID string to convert.\n * @return {Object} An object with high and low unsigned 64-bit integers as strings,\n * or null if input is invalid.\n */\nexport function uuidToInts(input) {\n // Convert the UUID string to an array of BigInts.\n const v = uuidToBytes(input).map(i => BigInt(i))\n // If the conversion failed, return null.\n if (v === null) {\n return null\n }\n\n // Combine the bytes into high and low unsigned 64-bit integers.\n const high = BigInt(v[0] | v[1] << BigInt(8) | v[2] << BigInt(16) | v[3] << BigInt(24) |\n v[4] << BigInt(32) | v[5] << BigInt(40) | v[6] << BigInt(48) | v[7] << BigInt(56))\n\n const low = BigInt(v[8] | v[9] << BigInt(8) | v[10] << BigInt(16) | v[11] << BigInt(24) |\n v[12] << BigInt(32) | v[13] << BigInt(40) | v[14] << BigInt(48) | v[15] << BigInt(56))\n\n // Return the high and low integers as strings.\n return {\n // Convert the high and low integers to strings.\n high: BigInt.asIntN(64, high) + \"\",\n low: BigInt.asIntN(64, low) + \"\",\n }\n}\n\n/**\n * Converts two unsigned 64-bit integers to a UUID string.\n *\n * @param {string} high - The high unsigned 64-bit integer as a string.\n * @param {string} low - The low unsigned 64-bit integer as a string.\n * @return {string} The UUID string.\n */\nexport function intsToUuid(high, low) {\n // Convert the high and low integers to an array of bytes.\n return bytesToUuid([\n // Extract the bytes from the high integer.\n BigInt(high) & BigInt(0xff),\n BigInt(high) >> BigInt(8) & BigInt(0xff),\n BigInt(high) >> BigInt(16) & BigInt(0xff),\n BigInt(high) >> BigInt(24) & BigInt(0xff),\n BigInt(high) >> BigInt(32) & BigInt(0xff),\n BigInt(high) >> BigInt(40) & BigInt(0xff),\n BigInt(high) >> BigInt(48) & BigInt(0xff),\n BigInt(high) >> BigInt(56) & BigInt(0xff),\n // Extract the bytes from the low integer.\n BigInt(low) & BigInt(0xff),\n BigInt(low) >> BigInt(8) & BigInt(0xff),\n BigInt(low) >> BigInt(16) & BigInt(0xff),\n BigInt(low) >> BigInt(24) & BigInt(0xff),\n BigInt(low) >> BigInt(32) & BigInt(0xff),\n BigInt(low) >> BigInt(40) & BigInt(0xff),\n BigInt(low) >> BigInt(48) & BigInt(0xff),\n BigInt(low) >> BigInt(56) & BigInt(0xff),\n ])\n}\n\n/**\n * Converts a UUID string to an object with high and low unsigned 64-bit integers.\n *\n * @param {string} input - The UUID string to convert.\n * @return {Object} An object with high and low unsigned 64-bit integers as strings,\n * or null if input is invalid.\n */\nexport function uuidToUints(input) {\n // Convert the UUID string to an array of BigInts.\n const v = uuidToBytes(input).map(i => BigInt(i))\n // If the conversion failed, return null.\n if (v === null) {\n return null\n }\n\n // Combine the bytes into high and low unsigned 64-bit integers.\n const high = BigInt(\n v[7] | v[6] << BigInt(8) | v[5] << BigInt(16) | v[4] << BigInt(24) |\n v[3] << BigInt(32) | v[2] << BigInt(40) | v[1] << BigInt(48) | v[0] << BigInt(56)\n )\n\n const low = BigInt(\n v[15] | v[14] << BigInt(8) | v[13] << BigInt(16) | v[12] << BigInt(24) |\n v[11] << BigInt(32) | v[10] << BigInt(40) | v[9] << BigInt(48) | v[8] << BigInt(56)\n )\n\n // Return the high and low integers as strings.\n return {\n // Convert the high and low integers to unsigned 64-bit integers and convert them to strings.\n high: BigInt.asUintN(64, high) + \"\",\n low: BigInt.asUintN(64, low) + \"\",\n }\n}\n\n/**\n * Converts two unsigned 64-bit integers to a UUID string.\n *\n * @param {string} high - The high unsigned 64-bit integer as a string.\n * @param {string} low - The low unsigned 64-bit integer as a string.\n * @return {string} The UUID string.\n */\nexport function uintsToUuid(high, low) {\n // Convert the high and low integers to an array of bytes.\n return bytesToUuid([\n // Extract the most significant byte from the high integer.\n BigInt(high) >> BigInt(56) & BigInt(0xff),\n // Extract the next 7 bytes from the high integer.\n BigInt(high) >> BigInt(48) & BigInt(0xff),\n BigInt(high) >> BigInt(40) & BigInt(0xff),\n BigInt(high) >> BigInt(32) & BigInt(0xff),\n BigInt(high) >> BigInt(24) & BigInt(0xff),\n BigInt(high) >> BigInt(16) & BigInt(0xff),\n BigInt(high) >> BigInt(8) & BigInt(0xff),\n BigInt(high) & BigInt(0xff),\n // Extract the most significant byte from the low integer.\n BigInt(low) >> BigInt(56) & BigInt(0xff),\n // Extract the next 7 bytes from the low integer.\n BigInt(low) >> BigInt(48) & BigInt(0xff),\n BigInt(low) >> BigInt(40) & BigInt(0xff),\n BigInt(low) >> BigInt(32) & BigInt(0xff),\n BigInt(low) >> BigInt(24) & BigInt(0xff),\n BigInt(low) >> BigInt(16) & BigInt(0xff),\n BigInt(low) >> BigInt(8) & BigInt(0xff),\n BigInt(low) & BigInt(0xff),\n ])\n}\n","/*\n* Notiflix Notify AIO (https://notiflix.github.io)\n* Description: This file has been created automatically that using \"notiflix.js\", and \"notiflix.css\" files.\n* Version: 3.2.8\n* Author: Furkan (https://github.com/furcan)\n* Copyright 2019 - 2025 Notiflix, MIT License (https://opensource.org/licenses/MIT)\n*/\n\n/* global define */\n(function (root, factory) {\n if (typeof define === 'function' && define.amd) {\n define([], function () {\n return factory(root);\n });\n } else if (typeof module === 'object' && typeof module.exports === 'object') {\n module.exports = factory(root);\n } else {\n root.Notiflix = factory(root);\n }\n})(typeof global !== 'undefined' ? global : typeof window !== 'undefined' ? window : this, function (window) {\n\n 'use strict';\n\n // COMMON: SSR check: begin\n if (typeof window === 'undefined' && typeof window.document === 'undefined') {\n return false;\n }\n // COMMON: SSR check: end\n\n // COMMON: Variables: begin\n var notiflixNamespace = 'Notiflix';\n var notiflixConsoleDocs = '\\n\\nVisit documentation page to learn more: https://notiflix.github.io/documentation';\n var defaultFontFamily = '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif';\n // COMMON: Variables: end\n\n // NOTIFY: Default Settings: begin\n var typesNotify = {\n Success: 'Success',\n Failure: 'Failure',\n Warning: 'Warning',\n Info: 'Info',\n };\n var newNotifySettings;\n var notifySettings = {\n wrapID: 'NotiflixNotifyWrap', // can not customizable\n overlayID: 'NotiflixNotifyOverlay', // can not customizable\n width: '280px',\n position: 'right-top', // 'right-top' - 'right-bottom' - 'left-top' - 'left-bottom' - 'center-top' - 'center-bottom' - 'center-center'\n distance: '10px',\n opacity: 1,\n borderRadius: '5px',\n rtl: false,\n timeout: 3000,\n messageMaxLength: 110,\n backOverlay: false,\n backOverlayColor: 'rgba(0,0,0,0.5)',\n plainText: true,\n showOnlyTheLastOne: false,\n clickToClose: false,\n pauseOnHover: true,\n\n ID: 'NotiflixNotify',\n className: 'notiflix-notify',\n zindex: 4001,\n fontFamily: 'Quicksand',\n fontSize: '13px',\n cssAnimation: true,\n cssAnimationDuration: 400,\n cssAnimationStyle: 'fade', // 'fade' - 'zoom' - 'from-right' - 'from-top' - 'from-bottom' - 'from-left'\n closeButton: false,\n useIcon: true,\n useFontAwesome: false,\n fontAwesomeIconStyle: 'basic', // 'basic' - 'shadow'\n fontAwesomeIconSize: '34px',\n\n success: {\n background: '#32c682',\n textColor: '#fff',\n childClassName: 'notiflix-notify-success',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-check-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(50,198,130,0.2)',\n },\n\n failure: {\n background: '#ff5549',\n textColor: '#fff',\n childClassName: 'notiflix-notify-failure',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-times-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(255,85,73,0.2)',\n },\n\n warning: {\n background: '#eebf31',\n textColor: '#fff',\n childClassName: 'notiflix-notify-warning',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-exclamation-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(238,191,49,0.2)',\n },\n\n info: {\n background: '#26c0d3',\n textColor: '#fff',\n childClassName: 'notiflix-notify-info',\n notiflixIconColor: 'rgba(0,0,0,0.2)',\n fontAwesomeClassName: 'fas fa-info-circle',\n fontAwesomeIconColor: 'rgba(0,0,0,0.2)',\n backOverlayColor: 'rgba(38,192,211,0.2)',\n },\n };\n // NOTIFY: Default Settings: end\n\n // COMMON: Console Error: begin\n var commonConsoleError = function (message) {\n return console.error('%c ' + notiflixNamespace + ' Error ', 'padding:2px;border-radius:20px;color:#fff;background:#ff5549', '\\n' + message + notiflixConsoleDocs);\n };\n // COMMON: Console Error: end\n\n // COMMON: Check Head or Body: begin\n var commonCheckHeadOrBody = function (element) {\n if (!element) { element = 'head'; }\n if (window.document[element] === undefined) {\n commonConsoleError('\\nNotiflix needs to be appended to the \"<' + element + '>\" element, but you called it before the \"<' + element + '>\" element has been created.');\n return false;\n }\n return true;\n };\n // COMMON: Check Head or Body: end\n\n // COMMON: Set Internal CSS Codes: begin\n var commonSetInternalCSSCodes = function (getInternalCSSCodes, styleElementId) {\n // check doc head\n if (!commonCheckHeadOrBody('head')) { return false; }\n\n // internal css\n if (getInternalCSSCodes() !== null && !window.document.getElementById(styleElementId)) {\n var internalCSS = window.document.createElement('style');\n internalCSS.id = styleElementId;\n internalCSS.innerHTML = getInternalCSSCodes();\n window.document.head.appendChild(internalCSS);\n }\n };\n // COMMON: Set Internal CSS Codes: end\n\n // COMMON: Extend Options: begin\n var commonExtendOptions = function () {\n // variables\n var extended = {};\n var deep = false;\n var i = 0;\n // check if a deep merge\n if (Object.prototype.toString.call(arguments[0]) === '[object Boolean]') {\n deep = arguments[0];\n i++;\n }\n // merge the object into the extended object\n var merge = function (obj) {\n for (var prop in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, prop)) {\n // if property is an object, merge properties\n if (deep && Object.prototype.toString.call(obj[prop]) === '[object Object]') {\n extended[prop] = commonExtendOptions(extended[prop], obj[prop]);\n } else {\n extended[prop] = obj[prop];\n }\n }\n }\n };\n // loop through each object and conduct a merge\n for (; i < arguments.length; i++) {\n merge(arguments[i]);\n }\n return extended;\n };\n // COMMON: Extend Options: end\n\n // COMMON: Get Plaintext: begin\n var commonGetPlaintext = function (html) {\n var htmlPool = window.document.createElement('div');\n htmlPool.innerHTML = html;\n return htmlPool.textContent || htmlPool.innerText || '';\n };\n // COMMON: Get Plaintext: end\n\n // NOTIFY: Get Internal CSS Codes: begin\n var notifyGetInternalCSSCodes = function () {\n var notifyCSS = '[id^=NotiflixNotifyWrap]{pointer-events:none;position:fixed;z-index:4001;opacity:1;right:10px;top:10px;width:280px;max-width:96%;-webkit-box-sizing:border-box;box-sizing:border-box;background:transparent}[id^=NotiflixNotifyWrap].nx-flex-center-center{max-height:calc(100vh - 20px);overflow-x:hidden;overflow-y:auto;display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;margin:auto}[id^=NotiflixNotifyWrap]::-webkit-scrollbar{width:0;height:0}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-thumb{background:transparent}[id^=NotiflixNotifyWrap]::-webkit-scrollbar-track{background:transparent}[id^=NotiflixNotifyWrap] *{-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyOverlay]{-webkit-transition:background .3s ease-in-out;-o-transition:background .3s ease-in-out;transition:background .3s ease-in-out}[id^=NotiflixNotifyWrap]>div{pointer-events:all;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;font-family:\"Quicksand\",-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,\"Helvetica Neue\",Arial,sans-serif;width:100%;display:-webkit-inline-box;display:-webkit-inline-flex;display:-ms-inline-flexbox;display:inline-flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;position:relative;margin:0 0 10px;border-radius:5px;background:#1e1e1e;color:#fff;padding:10px 12px;font-size:14px;line-height:1.4}[id^=NotiflixNotifyWrap]>div:last-child{margin:0}[id^=NotiflixNotifyWrap]>div.nx-with-callback{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-icon{padding:8px;min-height:56px}[id^=NotiflixNotifyWrap]>div.nx-paused{cursor:auto}[id^=NotiflixNotifyWrap]>div.nx-notify-click-to-close{cursor:pointer}[id^=NotiflixNotifyWrap]>div.nx-with-close-button{padding:10px 36px 10px 12px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button{padding:6px 36px 6px 6px}[id^=NotiflixNotifyWrap]>div>span.nx-message{cursor:inherit;font-weight:normal;font-family:inherit!important;word-break:break-all;word-break:break-word}[id^=NotiflixNotifyWrap]>div>span.nx-close-button{cursor:pointer;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;position:absolute;right:8px;top:0;bottom:0;margin:auto;color:inherit;width:20px;height:20px}[id^=NotiflixNotifyWrap]>div>span.nx-close-button:hover{-webkit-transform:rotate(90deg);transform:rotate(90deg)}[id^=NotiflixNotifyWrap]>div>span.nx-close-button>svg{position:absolute;width:16px;height:16px;right:2px;top:2px}[id^=NotiflixNotifyWrap]>div>.nx-message-icon{position:absolute;width:40px;height:40px;font-size:30px;line-height:40px;text-align:center;left:8px;top:0;bottom:0;margin:auto;border-radius:inherit}[id^=NotiflixNotifyWrap]>div>.nx-message-icon-fa.nx-message-icon-fa-shadow{color:inherit;background:rgba(0,0,0,.15);-webkit-box-shadow:inset 0 0 34px rgba(0,0,0,.2);box-shadow:inset 0 0 34px rgba(0,0,0,.2);text-shadow:0 0 10px rgba(0,0,0,.3)}[id^=NotiflixNotifyWrap]>div>span.nx-with-icon{position:relative;float:left;width:calc(100% - 40px);margin:0 0 0 40px;padding:0 0 0 10px;-webkit-box-sizing:border-box;box-sizing:border-box}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>.nx-message-icon{left:auto;right:8px}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-with-icon{padding:0 10px 0 0;margin:0 40px 0 0}[id^=NotiflixNotifyWrap]>div.nx-rtl-on>span.nx-close-button{right:auto;left:8px}[id^=NotiflixNotifyWrap]>div.nx-with-icon.nx-with-close-button.nx-rtl-on{padding:6px 6px 6px 36px}[id^=NotiflixNotifyWrap]>div.nx-with-close-button.nx-rtl-on{padding:10px 12px 10px 36px}[id^=NotiflixNotifyOverlay].nx-with-animation,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade{-webkit-animation:notify-animation-fade .3s ease-in-out 0s normal;animation:notify-animation-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}@keyframes notify-animation-fade{0%{opacity:0}100%{opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom{-webkit-animation:notify-animation-zoom .3s ease-in-out 0s normal;animation:notify-animation-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes notify-animation-zoom{0%{-webkit-transform:scale(0);transform:scale(0)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(1);transform:scale(1)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right{-webkit-animation:notify-animation-from-right .3s ease-in-out 0s normal;animation:notify-animation-from-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}@keyframes notify-animation-from-right{0%{right:-300px;opacity:0}50%{right:8px;opacity:1}100%{right:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left{-webkit-animation:notify-animation-from-left .3s ease-in-out 0s normal;animation:notify-animation-from-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}@keyframes notify-animation-from-left{0%{left:-300px;opacity:0}50%{left:8px;opacity:1}100%{left:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top{-webkit-animation:notify-animation-from-top .3s ease-in-out 0s normal;animation:notify-animation-from-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}@keyframes notify-animation-from-top{0%{top:-50px;opacity:0}50%{top:8px;opacity:1}100%{top:0;opacity:1}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom{-webkit-animation:notify-animation-from-bottom .3s ease-in-out 0s normal;animation:notify-animation-from-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}@keyframes notify-animation-from-bottom{0%{bottom:-50px;opacity:0}50%{bottom:8px;opacity:1}100%{bottom:0;opacity:1}}[id^=NotiflixNotifyOverlay].nx-with-animation.nx-remove,[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-fade.nx-remove{opacity:0;-webkit-animation:notify-remove-fade .3s ease-in-out 0s normal;animation:notify-remove-fade .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}@keyframes notify-remove-fade{0%{opacity:1}100%{opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-zoom.nx-remove{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:notify-remove-zoom .3s ease-in-out 0s normal;animation:notify-remove-zoom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}@keyframes notify-remove-zoom{0%{-webkit-transform:scale(1);transform:scale(1)}50%{-webkit-transform:scale(1.05);transform:scale(1.05)}100%{-webkit-transform:scale(0);transform:scale(0)}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-top.nx-remove{opacity:0;-webkit-animation:notify-remove-to-top .3s ease-in-out 0s normal;animation:notify-remove-to-top .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}@keyframes notify-remove-to-top{0%{top:0;opacity:1}50%{top:8px;opacity:1}100%{top:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-right.nx-remove{opacity:0;-webkit-animation:notify-remove-to-right .3s ease-in-out 0s normal;animation:notify-remove-to-right .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}@keyframes notify-remove-to-right{0%{right:0;opacity:1}50%{right:8px;opacity:1}100%{right:-300px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-bottom.nx-remove{opacity:0;-webkit-animation:notify-remove-to-bottom .3s ease-in-out 0s normal;animation:notify-remove-to-bottom .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}@keyframes notify-remove-to-bottom{0%{bottom:0;opacity:1}50%{bottom:8px;opacity:1}100%{bottom:-50px;opacity:0}}[id^=NotiflixNotifyWrap]>div.nx-with-animation.nx-from-left.nx-remove{opacity:0;-webkit-animation:notify-remove-to-left .3s ease-in-out 0s normal;animation:notify-remove-to-left .3s ease-in-out 0s normal}@-webkit-keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}@keyframes notify-remove-to-left{0%{left:0;opacity:1}50%{left:8px;opacity:1}100%{left:-300px;opacity:0}}';\n return notifyCSS || null;\n };\n // NOTIFY: Get Internal CSS Codes: end\n\n // NOTIFY: Create: begin\n var notifyCreateCounter = 0;\n var notifyCreate = function (notifyType, message, callbackOrOptions, options) {\n // check doc body\n if (!commonCheckHeadOrBody('body')) { return false; }\n\n // if not initialized pretend like init\n if (!newNotifySettings) {\n Notiflix.Notify.init({});\n }\n\n // create a backup for new settings\n var newNotifySettingsBackup = commonExtendOptions(true, newNotifySettings, {});\n\n // check callbackOrOptions and options: begin\n if ((typeof callbackOrOptions === 'object' && !Array.isArray(callbackOrOptions)) || (typeof options === 'object' && !Array.isArray(options))) {\n // new options\n var newOptions = {};\n if (typeof callbackOrOptions === 'object') {\n newOptions = callbackOrOptions;\n } else if (typeof options === 'object') {\n newOptions = options;\n }\n\n // extend new settings with the new options\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newOptions);\n }\n // check callbackOrOptions and options: end\n\n // notify type\n var theType = newNotifySettings[notifyType.toLocaleLowerCase('en')];\n\n // notify counter\n notifyCreateCounter++;\n\n // check the message: begin\n if (typeof message !== 'string') {\n message = 'Notiflix ' + notifyType;\n }\n // check the message: end\n\n // if plainText is true => HTML tags not allowed: begin\n if (newNotifySettings.plainText) {\n message = commonGetPlaintext(message); // message plain text\n }\n // if plainText is true => HTML tags not allowed: end\n\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: begin\n if (!newNotifySettings.plainText && message.length > newNotifySettings.messageMaxLength) {\n // extend settings for error massage\n newNotifySettings = commonExtendOptions(true, newNotifySettings, { closeButton: true, messageMaxLength: 150 });\n // error message\n message = 'Possible HTML Tags Error: The \"plainText\" option is \"false\" and the notification content length is more than the \"messageMaxLength\" option.';\n }\n // if plainText is false but the message length more than messageMaxLength => Possible HTML tags error: end\n\n // check message max length: begin\n if (message.length > newNotifySettings.messageMaxLength) {\n message = message.substring(0, newNotifySettings.messageMaxLength) + '...';\n }\n // check message max length: end\n\n // font awesome icon style: begin\n if (newNotifySettings.fontAwesomeIconStyle === 'shadow') {\n theType.fontAwesomeIconColor = theType.background;\n }\n // font awesome icon style: end\n\n // if cssAnimation is false => duration: begin\n if (!newNotifySettings.cssAnimation) {\n newNotifySettings.cssAnimationDuration = 0;\n }\n // if cssAnimation is false => duration: end\n\n // notify wrap: begin\n var ntflxNotifyWrap = window.document.getElementById(notifySettings.wrapID) || window.document.createElement('div');\n ntflxNotifyWrap.id = notifySettings.wrapID;\n ntflxNotifyWrap.style.width = newNotifySettings.width;\n ntflxNotifyWrap.style.zIndex = newNotifySettings.zindex;\n ntflxNotifyWrap.style.opacity = newNotifySettings.opacity;\n\n // wrap position: begin\n if (newNotifySettings.position === 'center-center') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.margin = 'auto';\n ntflxNotifyWrap.classList.add('nx-flex-center-center');\n ntflxNotifyWrap.style.maxHeight = 'calc((100vh - ' + newNotifySettings.distance + ') - ' + newNotifySettings.distance + ')';\n ntflxNotifyWrap.style.display = 'flex';\n ntflxNotifyWrap.style.flexWrap = 'wrap';\n ntflxNotifyWrap.style.flexDirection = 'column';\n ntflxNotifyWrap.style.justifyContent = 'center';\n ntflxNotifyWrap.style.alignItems = 'center';\n ntflxNotifyWrap.style.pointerEvents = 'none';\n } else if (newNotifySettings.position === 'center-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'center-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.margin = 'auto';\n } else if (newNotifySettings.position === 'right-bottom') {\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.left = 'auto';\n } else if (newNotifySettings.position === 'left-top') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.right = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n } else if (newNotifySettings.position === 'left-bottom') {\n ntflxNotifyWrap.style.left = newNotifySettings.distance;\n ntflxNotifyWrap.style.bottom = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = 'auto';\n ntflxNotifyWrap.style.right = 'auto';\n } else { // 'right-top' or else\n ntflxNotifyWrap.style.right = newNotifySettings.distance;\n ntflxNotifyWrap.style.top = newNotifySettings.distance;\n ntflxNotifyWrap.style.left = 'auto';\n ntflxNotifyWrap.style.bottom = 'auto';\n }\n // wrap position: end\n\n // if background overlay is true: begin\n if (newNotifySettings.backOverlay) {\n var ntflxNotifyOverlay = window.document.getElementById(notifySettings.overlayID) || window.document.createElement('div');\n ntflxNotifyOverlay.id = notifySettings.overlayID;\n ntflxNotifyOverlay.style.width = '100%';\n ntflxNotifyOverlay.style.height = '100%';\n ntflxNotifyOverlay.style.position = 'fixed';\n ntflxNotifyOverlay.style.zIndex = newNotifySettings.zindex - 1;\n ntflxNotifyOverlay.style.left = 0;\n ntflxNotifyOverlay.style.top = 0;\n ntflxNotifyOverlay.style.right = 0;\n ntflxNotifyOverlay.style.bottom = 0;\n ntflxNotifyOverlay.style.background = theType.backOverlayColor || newNotifySettings.backOverlayColor;\n ntflxNotifyOverlay.className = newNotifySettings.cssAnimation ? 'nx-with-animation' : '';\n ntflxNotifyOverlay.style.animationDuration = newNotifySettings.cssAnimation ? newNotifySettings.cssAnimationDuration + 'ms' : '';\n\n if (!window.document.getElementById(notifySettings.overlayID)) {\n window.document.body.appendChild(ntflxNotifyOverlay);\n }\n }\n // if background overlay is true: end\n\n if (!window.document.getElementById(notifySettings.wrapID)) {\n window.document.body.appendChild(ntflxNotifyWrap);\n }\n // notify wrap: end\n\n // notify content: begin\n var ntflxNotify = window.document.createElement('div');\n ntflxNotify.id = newNotifySettings.ID + '-' + notifyCreateCounter;\n ntflxNotify.className = newNotifySettings.className + ' ' + theType.childClassName + ' ' + (newNotifySettings.cssAnimation ? 'nx-with-animation' : '') + ' ' + (newNotifySettings.useIcon ? 'nx-with-icon' : '') + ' nx-' + newNotifySettings.cssAnimationStyle + ' ' + (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function' ? 'nx-with-close-button' : '') + ' ' + (typeof callbackOrOptions === 'function' ? 'nx-with-callback' : '') + ' ' + (newNotifySettings.clickToClose ? 'nx-notify-click-to-close' : '');\n ntflxNotify.style.fontSize = newNotifySettings.fontSize;\n ntflxNotify.style.color = theType.textColor;\n ntflxNotify.style.background = theType.background;\n ntflxNotify.style.borderRadius = newNotifySettings.borderRadius;\n ntflxNotify.style.pointerEvents = 'all';\n\n // rtl: begin\n if (newNotifySettings.rtl) {\n ntflxNotify.setAttribute('dir', 'rtl');\n ntflxNotify.classList.add('nx-rtl-on');\n }\n // rtl: end\n\n // font-family: begin\n ntflxNotify.style.fontFamily = '\"' + newNotifySettings.fontFamily + '\", ' + defaultFontFamily;\n // font-family: end\n\n // use css animation: begin\n if (newNotifySettings.cssAnimation) {\n ntflxNotify.style.animationDuration = newNotifySettings.cssAnimationDuration + 'ms';\n }\n // use css animation: end\n\n // close button element: begin\n var closeButtonHTML = '';\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n closeButtonHTML = '';\n }\n // close button element: end\n\n // use icon: begin\n if (newNotifySettings.useIcon) {\n // use font awesome\n if (newNotifySettings.useFontAwesome) {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use notiflix icon\n else {\n var svgIcon = '';\n if (notifyType === typesNotify.Success) { // success\n svgIcon = '';\n } else if (notifyType === typesNotify.Failure) { // failure\n svgIcon = '';\n } else if (notifyType === typesNotify.Warning) { // warning\n svgIcon = '';\n } else if (notifyType === typesNotify.Info) { // info\n svgIcon = '';\n }\n ntflxNotify.innerHTML = svgIcon + '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n }\n // without icon\n else {\n ntflxNotify.innerHTML = '' + message + '' + (newNotifySettings.closeButton ? closeButtonHTML : '');\n }\n // use icon: end\n // notify content: end\n\n // notify append or prepend: begin\n if (newNotifySettings.position === 'left-bottom' || newNotifySettings.position === 'right-bottom') { // the new one will be first\n var notifyWrap = window.document.getElementById(notifySettings.wrapID);\n notifyWrap.insertBefore(ntflxNotify, notifyWrap.firstChild);\n } else {\n window.document.getElementById(notifySettings.wrapID).appendChild(ntflxNotify);\n }\n // notify append or prepend: end\n\n // remove by timeout or click: begin\n var eachNotifyElement = window.document.getElementById(ntflxNotify.id);\n if (eachNotifyElement) {\n // timeout variables\n var timeoutHide;\n var timeoutRemove;\n\n // hide notify elm and hide overlay: begin\n var hideNotifyElementsAndOverlay = function () {\n eachNotifyElement.classList.add('nx-remove');\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && ntflxNotifyWrap.childElementCount <= 0) {\n removeOverlay.classList.add('nx-remove');\n }\n clearTimeout(timeoutHide);\n };\n // hide notify elm and hide overlay: end\n\n // remove notify elm and wrapper: begin\n var removeNotifyElementsAndWrapper = function () {\n if (eachNotifyElement && eachNotifyElement.parentNode !== null) {\n eachNotifyElement.parentNode.removeChild(eachNotifyElement);\n }\n if (ntflxNotifyWrap.childElementCount <= 0 && ntflxNotifyWrap.parentNode !== null) { // if childs count === 0 remove wrap\n ntflxNotifyWrap.parentNode.removeChild(ntflxNotifyWrap);\n var removeOverlay = window.document.getElementById(notifySettings.overlayID);\n if (removeOverlay && removeOverlay.parentNode !== null) {\n removeOverlay.parentNode.removeChild(removeOverlay);\n }\n }\n clearTimeout(timeoutRemove);\n };\n // remove notify elm and wrapper: end\n\n // if has close button and callbackOrOptions is not a function: begin\n if (newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n var closeButtonElm = window.document.getElementById(ntflxNotify.id).querySelector('span.nx-close-button');\n closeButtonElm.addEventListener('click', function () {\n hideNotifyElementsAndOverlay();\n var clickToCloseTimeout = setTimeout(function () {\n removeNotifyElementsAndWrapper();\n clearTimeout(clickToCloseTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if has close button and callbackOrOptions is not a function: end\n\n // if callbackOrOptions or click to close: begin\n if (typeof callbackOrOptions === 'function' || newNotifySettings.clickToClose) {\n eachNotifyElement.addEventListener('click', function () {\n if (typeof callbackOrOptions === 'function') {\n callbackOrOptions();\n }\n hideNotifyElementsAndOverlay();\n var callbackTimeout = setTimeout(function () {\n removeNotifyElementsAndWrapper();\n clearTimeout(callbackTimeout);\n }, newNotifySettings.cssAnimationDuration);\n });\n }\n // if callbackOrOptions or click to close: end\n\n // else auto remove: begin\n if (!newNotifySettings.closeButton && typeof callbackOrOptions !== 'function') {\n // auto remove: begin\n var autoRemove = function () {\n timeoutHide = setTimeout(function () {\n hideNotifyElementsAndOverlay();\n }, newNotifySettings.timeout);\n timeoutRemove = setTimeout(function () {\n removeNotifyElementsAndWrapper();\n }, newNotifySettings.timeout + newNotifySettings.cssAnimationDuration);\n };\n autoRemove();\n // auto remove: end\n\n // pause auto remove: begin\n if (newNotifySettings.pauseOnHover) {\n eachNotifyElement.addEventListener('mouseenter', function () {\n eachNotifyElement.classList.add('nx-paused');\n clearTimeout(timeoutHide);\n clearTimeout(timeoutRemove);\n });\n eachNotifyElement.addEventListener('mouseleave', function () {\n eachNotifyElement.classList.remove('nx-paused');\n autoRemove();\n });\n }\n // pause auto remove: end\n }\n // else auto remove: end\n }\n // remove by timeout or click: end\n\n // notify - show only the last one: begin\n if (newNotifySettings.showOnlyTheLastOne && notifyCreateCounter > 0) {\n var allNotifyElmNotTheLastOne = window.document.querySelectorAll('[id^=' + newNotifySettings.ID + '-]:not([id=' + newNotifySettings.ID + '-' + notifyCreateCounter + '])');\n for (var i = 0; i < allNotifyElmNotTheLastOne.length; i++) {\n var eachNotifyElmNotLastOne = allNotifyElmNotTheLastOne[i];\n if (eachNotifyElmNotLastOne.parentNode !== null) {\n eachNotifyElmNotLastOne.parentNode.removeChild(eachNotifyElmNotLastOne);\n }\n }\n }\n // notify - show only the last one: end\n\n // extend new settings with the backup settings\n newNotifySettings = commonExtendOptions(true, newNotifySettings, newNotifySettingsBackup);\n\n };\n // NOTIFY: Create: end\n\n var Notiflix = {\n Notify: {\n // Init\n init: function (userNotifyOptions) {\n // extend options\n newNotifySettings = commonExtendOptions(true, notifySettings, userNotifyOptions);\n // internal css if exist\n commonSetInternalCSSCodes(notifyGetInternalCSSCodes, 'NotiflixNotifyInternalCSS');\n },\n // Merge First Init\n merge: function (userNotifyExtendOptions) {\n // if initialized already\n if (newNotifySettings) {\n newNotifySettings = commonExtendOptions(true, newNotifySettings, userNotifyExtendOptions);\n }\n // initialize first\n else {\n commonConsoleError('You have to initialize the Notify module before call Merge function.');\n return false;\n }\n },\n // Success\n success: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Success, message, callbackOrOptions, options);\n },\n // Failure\n failure: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Failure, message, callbackOrOptions, options);\n },\n // Warning\n warning: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Warning, message, callbackOrOptions, options);\n },\n // Info\n info: function (message, callbackOrOptions, options) {\n notifyCreate(typesNotify.Info, message, callbackOrOptions, options);\n },\n },\n };\n\n if (typeof window.Notiflix === 'object') {\n return commonExtendOptions(true, window.Notiflix, { Notify: Notiflix.Notify });\n } else {\n return { Notify: Notiflix.Notify };\n }\n\n});","import React from 'react';\nimport {TYPE_BASE64, TYPE_BYTES, TYPE_HIGH_LOW, typeDetector, uuidTypeList} from \"./type-detector.js\";\nimport {bytesToUuid, uuidToBytesString} from \"./uuid-bytes.js\";\nimport {objectParse} from \"./object-parser.js\";\nimport {intsToUuid, uintsToUuid, uuidToInts, uuidToUints} from \"./uuid-high-low.js\";\nimport {base64StdToUuid, uuidToBase64Std} from \"./base64.js\";\nimport {uuidFormatter} from \"./uuid-formatter.js\";\nimport { Notify } from 'notiflix/build/notiflix-notify-aio';\n\n/**\n * Bit mask for signed integers.\n * @type {number}\n */\nconst SIGNED = 2 ** 0; // 0b0001\n\n/**\n * Bit mask for unsigned integers.\n * @type {number}\n */\nconst UNSIGNED = 2 ** 1; // 0b0010\n\n/**\n * Regular expression for matching double quotes around numbers.\n * Used to remove double quotes from numbers when converting bytes to UUID.\n * @type {RegExp}\n */\n// eslint-disable-next-line no-useless-escape\nconst rg = /[\"'“”]/g; // Matches double quotes, apostrophes, left double guillemets and right double guillemets\n\n/**\n * Regular expression for matching numbers surrounded by double quotes.\n * Used to extract numbers from strings when converting bytes to UUID.\n * @type {RegExp}\n */\n// eslint-disable-next-line no-useless-escape\nconst nrg = /\"(-?\\d+)\"/g; // Matches numbers enclosed in double quotes, optionally preceded by a hyphen\n\n/**\n * Returns an object with two keys: 'signed' and 'unsigned'.\n * Each key maps to a string representation of the corresponding bit mask.\n * @return {Object} An object with two keys: 'signed' and 'unsigned'.\n */\nexport function intTypeList() {\n // Create an empty array\n const list = []\n\n // Add a key-value pair to the object\n list[SIGNED] = 'signed'\n\n // Add another key-value pair to the object\n list[UNSIGNED] = 'unsigned'\n\n // Return the object\n return list\n}\n\n/**\n * Represents an item with input, output, and additional information.\n * @class\n */\nexport class Item {\n /**\n * Creates a new Item.\n * @constructor\n * @param {any} input - The input value.\n * @param {any} output - The output value.\n * @param {any} info - Additional information.\n */\n constructor(input, output, info) {\n /**\n * The input value.\n * @type {any}\n */\n this.input = input;\n\n /**\n * The output value.\n * @type {any}\n */\n this.output = output;\n\n /**\n * Additional information.\n * @type {any}\n */\n this.info = info;\n }\n\n /**\n * Returns a string representation of the item, in the format 'input:output'.\n * @return {string} The string representation of the item.\n */\n toString() {\n return `${this.input}:${this.output}`;\n }\n}\n\nexport default class InputComponent extends React.Component {\n /**\n * The initial state of the InputComponent.\n *\n * @type {InputComponentState}\n */\n state = {\n // The type of the conversion result, default is TYPE_HIGH_LOW\n resultType: TYPE_HIGH_LOW,\n\n // The type of the integer representation, default is SIGNED\n intType: SIGNED,\n\n // The input value, default is empty string\n text: '',\n }\n\n /**\n * Constructor for the InputComponent.\n *\n * @param {Object} props - The properties passed to the component.\n */\n constructor(props) {\n super(props);\n // Call the parent class constructor with the passed props\n }\n\n /**\n * Handles keyboard input and updates the component's state\n * with the input text. If the input text ends with a newline\n * character, it calls the handle function to process the input.\n *\n * @param {Object} e - The event object containing the input text.\n */\n onKeyboardInput = (e) => {\n // Extract the input text from the event object\n const text = e.target.value\n\n // Update the component's state with the input text\n this.setState({text})\n\n // If the input text does not end with a newline character, return\n if (text[text.length - 1] !== \"\\n\") {\n return\n }\n\n // Call the handle function to process the input\n this.handle(text)\n }\n\n /**\n * Handles the keyboard input by splitting it into lines,\n * removing empty lines and extra spaces, and then adding\n * the lines as items to the component's list of items.\n *\n * @param {string} text - The input text from the keyboard.\n */\n handle = (text) => {\n // Split the input text into lines\n const lines = text.split(\"\\n\");\n\n // Remove empty lines and extra spaces from each line\n const trimmedLines = lines.map(l => l.replace(rg, '').trim()).filter(l => l.length > 0);\n\n // Add the trimmed lines as items to the component's list of items\n this.addItems(trimmedLines);\n }\n\n /**\n * Adds the given items to the list of items.\n * The items are parsed and added in reverse order.\n * If an item already exists, it is not added again.\n *\n * @param {Array} items - The items to add.\n */\n addItems = (items) => {\n // Create a map to store the items.\n let result = new Map()\n\n // Iterate over the items in reverse order.\n for (const item of items.reverse()) {\n // Create a new Item object from the line.\n const obj = this.newItem(item)\n\n // If the item is not null, add it to the map.\n if (obj !== null) {\n result.set(obj.toString(), obj)\n }\n }\n\n // Iterate over the existing items.\n for (const item of this.props.items) {\n // If the item is not already in the map, add it.\n if (!result.has(item.toString())) {\n result.set(item.toString(), item)\n }\n }\n\n // Set the items using the props setter.\n this.props.setItems([...result.values()])\n }\n\n /**\n * Creates a new Item object from the given line.\n *\n * @param {string} line - The line to parse and create an Item object from.\n * @return {Item|null} The created Item object if successful, null otherwise.\n */\n newItem = (line) => {\n try {\n // Parse the line into input and comment.\n const {input, comment} = this.parse(line)\n\n // Cast the input to a UUID and back to a string.\n const uuid = this.castToUuid(input)\n const output = this.castFromUuid(uuid)\n\n // Normalize the input and output strings.\n const nInput = this.normalize(input)\n if (nInput === null) {\n // If the input string cannot be processed, show a failure notification and return null.\n Notify.failure('Failed to process string: ' + line);\n\n return null\n }\n\n const nOutput = this.normalize(output)\n if (nInput === nOutput) {\n // If the normalized input and output strings are the same, show a warning notification and return null.\n Notify.warning('The result of the conversion matches the entered value: ' + line);\n\n return null\n }\n\n // Create and return a new Item object with the normalized input, output, and comment.\n return new Item(nInput, nOutput, comment)\n } catch (e) {\n // If an error occurs during the process, return null.\n return null\n }\n }\n\n /**\n * Parses the given line into input and comment.\n *\n * @param {string} line - The line to parse.\n * @return {Object} An object containing the parsed input and comment.\n * The input is a string, and the comment is a string or undefined.\n */\n parse = (line) => {\n // Split the line into input and comment by looking for the first occurrence of \"//\".\n // Remove any leading or trailing whitespace from both parts.\n // Remove any trailing comma from the input part.\n let results = line.split(\"//\").map(s => s.trim().replace(/,$/g, '').trimRight())\n\n // If there is a comment, return an object with the input and comment.\n // Otherwise, return an object with just the input.\n if (results.length > 1) {\n return {input: results[0].toString(), comment: results[1].toString()}\n }\n\n return {input: results[0].toString(), comment: undefined}\n }\n\n /**\n * Normalizes the given input.\n *\n * @param {string} input - The input to normalize.\n * @return {string|null} The normalized input, or null if the input cannot be normalized.\n */\n normalize = (input) => {\n // Determine the type of the input and perform the corresponding normalization.\n switch (typeDetector(input)) {\n // If the input is of bytes type, convert it to a JSON string and remove unnecessary commas.\n case TYPE_BYTES:\n return JSON.stringify(objectParse(input)).replace(/,$/g, '');\n // If the input is of high-low type, convert it to a JSON string, remove unnecessary commas, and format it.\n case TYPE_HIGH_LOW:\n const result = JSON.stringify(objectParse(input)).replace(/,$/g, '');\n return result.replace(nrg, \"$1\");\n // If the input is of base64 type, convert it to standard base64 and back to base64.\n case TYPE_BASE64:\n return btoa(atob(input));\n }\n\n // If the input is enclosed in curly braces, remove them.\n if (input[0] === '{' && input[input.length - 1] === '}') {\n input = input.substring(1, input.length - 1);\n }\n\n // Format the input as a UUID and check if it has the correct length.\n const uuid = uuidFormatter(input);\n if (uuid.length === 36) {\n return uuid;\n }\n\n // Return null if the input cannot be normalized.\n return null;\n }\n\n /**\n * Casts the given input to a UUID.\n *\n * @param {string} input - The input to cast to a UUID.\n * @return {string} The casted UUID.\n */\n castToUuid = (input) => {\n const {intType} = this.state\n\n // Determine the type of the input and cast it to a UUID accordingly.\n switch (typeDetector(input)) {\n // If the input is a byte array, cast it to a UUID using the bytesToUuid function.\n case TYPE_BYTES:\n return bytesToUuid(objectParse(input))\n // If the input is a high-low pair of integers, cast it to a UUID using the uintsToUuid function.\n // The function to use depends on the type of integers used (unsigned or signed).\n case TYPE_HIGH_LOW:\n const u = objectParse(input)\n const fn = intType === SIGNED ? intsToUuid : uintsToUuid\n\n return fn(u.high, u.low)\n // If the input is a base64 string, cast it to a UUID using the base64StdToUuid function.\n case TYPE_BASE64:\n return base64StdToUuid(input)\n }\n\n // If none of the above cases match, simply return the input as is.\n return input\n }\n\n /**\n * Casts the given UUID to the specified result type.\n *\n * @param {string} uuid - The UUID to cast.\n * @return {string|object} The casted UUID or the JSON representation of the UUID's high and low integers.\n */\n castFromUuid = (uuid) => {\n const {resultType, intType} = this.state\n\n switch (resultType) {\n case TYPE_BYTES:\n return uuidToBytesString(uuid); // Cast UUID to bytes string\n case TYPE_HIGH_LOW:\n const u = intType === SIGNED ? uuidToInts(uuid) : uuidToUints(uuid); // Get UUID's high and low integers\n return JSON.stringify(u); // Cast high and low integers to JSON\n case TYPE_BASE64:\n return uuidToBase64Std(uuid); // Cast UUID to base64 standard string\n }\n\n return uuid; // Return UUID if no result type is specified\n }\n\n /**\n * Sets the result type and handles the input.\n *\n * @param {number} type - The result type.\n * @return {Promise} A Promise that resolves when the result type is set and the input is handled.\n */\n setResultType = async (type) => {\n // Get the current text from state\n const {text} = this.state\n\n // Set the result type in state\n await this.setState({resultType: type})\n\n // Handle the input with the updated result type\n await this.handle(text)\n }\n\n /**\n * Sets the integer type and handles the input.\n *\n * @param {number} type - The integer type.\n * @return {Promise} A Promise that resolves when the integer type is set and the input is handled.\n */\n setIntType = async (type) => {\n const {text} = this.state\n\n // Set the integer type\n await this.setState({intType: type})\n\n // Handle the input with the new integer type\n await this.handle(text)\n }\n\n /**\n * Renders the component.\n *\n * @param {Object} items - The items.\n * @param {Object} state - The state.\n * @param {number} state.resultType - The result type.\n * @param {number} state.intType - The integer type.\n * @return {JSX.Element} The rendered component.\n */\n render({ items }, { resultType, intType }) {\n const [isClosedInformer, setClosedInformer] = React.useState(\n JSON.parse(localStorage.getItem('informerClosed')) || false\n )\n\n React.useEffect(() => {\n localStorage.setItem('informerClosed', JSON.stringify(isClosedInformer));\n }, [isClosedInformer]);\n\n return (\n
\n {/* Notification */}\n
\n \n {/* The project is provided \"as is\". Project revisions will only be made when absolutely necessary. */}\n The project is provided \"as is\". Project revisions will only be made when absolutely necessary.\n
\n\n {/* Textarea for keyboard input */}\n \n\n {/* Result type radio buttons */}\n
\n
\n \n
\n {/* Maps the uuid type list and renders the radio buttons */}\n { uuidTypeList().map((v, k) => (\n \n )) }\n
\n
\n
\n\n {/* Integer type radio buttons */}\n
\n
\n \n
\n {/* Maps the integer type list and renders the radio buttons */}\n { intTypeList().map((v, k) => (\n \n )) }\n
\n
\n
\n
\n );\n }\n}\n","import React from 'react';\nimport { Notify } from 'notiflix/build/notiflix-notify-aio';\n\nexport default class HistoryComponent extends React.Component {\n /**\n * Constructor for the HistoryComponent.\n *\n * @param {Object} props - The properties passed to the component.\n */\n constructor(props) {\n super(props);\n // Call the parent class constructor with the passed props\n }\n\n /**\n * Copies the text of the clicked tag to the clipboard and displays a success message.\n *\n * @param {Event} e - The event object containing the clicked tag.\n */\n copy = (e) => {\n // Get the text content of the clicked tag\n const text = e.target.innerText;\n\n // Copy the text to the clipboard\n navigator.clipboard.writeText(text)\n .then(() => {\n // Display a success message\n Notify.success('Text ' + text + ' copied');\n })\n .catch((error) => {\n // Display an error message if the copy operation fails\n Notify.failure('Error copying text: ' + error);\n });\n }\n\n /**\n * Render method for the HistoryComponent.\n *\n * Returns a navigation panel (