From 2c50f7c4417ecad69a8c0c3e16790e48703462be Mon Sep 17 00:00:00 2001 From: landv Date: Tue, 26 Mar 2024 09:21:50 +0000 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E5=8D=9A=E5=AE=A2=E6=BA=90?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 404.html | 1 + CNAME | 1 + about/index.html | 1 + archives/2023/02/index.html | 1 + archives/2023/03/index.html | 1 + archives/2023/03/page/2/index.html | 1 + archives/2023/04/index.html | 1 + archives/2023/04/page/2/index.html | 1 + archives/2023/04/page/3/index.html | 1 + archives/2023/04/page/4/index.html | 1 + archives/2023/05/index.html | 1 + archives/2023/06/index.html | 1 + archives/2023/07/index.html | 1 + archives/2023/09/index.html | 1 + archives/2023/index.html | 1 + archives/2023/page/2/index.html | 1 + archives/2023/page/3/index.html | 1 + archives/2023/page/4/index.html | 1 + archives/2023/page/5/index.html | 1 + archives/2023/page/6/index.html | 1 + archives/2023/page/7/index.html | 1 + archives/2024/01/index.html | 1 + archives/2024/03/index.html | 1 + archives/2024/index.html | 1 + archives/index.html | 1 + archives/page/2/index.html | 1 + archives/page/3/index.html | 1 + archives/page/4/index.html | 1 + archives/page/5/index.html | 1 + archives/page/6/index.html | 1 + archives/page/7/index.html | 1 + atom.xml | 603 ++++++ baidusitemap.xml | 263 +++ categories/index.html | 1 + categories/landv/Awesome/index.html | 1 + .../index.html" | 1 + categories/landv/QT/index.html | 1 + categories/landv/armbian/index.html | 1 + .../index.html" | 1 + categories/landv/aspia/index.html | 1 + categories/landv/dnSpy/index.html | 1 + categories/landv/excel/index.html | 1 + categories/landv/index.html | 1 + .../index.html" | 1 + categories/landv/linux/fedora/index.html | 1 + categories/landv/linux/index.html | 1 + categories/landv/linux/rust/index.html | 1 + .../index.html" | 1 + categories/landv/linux/tools/index.html | 1 + categories/landv/linux/wps/index.html | 1 + .../index.html" | 1 + categories/landv/page/2/index.html | 1 + categories/landv/page/3/index.html | 1 + categories/landv/page/4/index.html | 1 + categories/landv/page/5/index.html | 1 + categories/landv/page/6/index.html | 1 + categories/landv/page/7/index.html | 1 + categories/landv/python/index.html | 1 + .../\344\271\246\347\261\215/index.html" | 1 + .../index.html" | 1 + .../\345\275\251\347\245\250/index.html" | 1 + .../index.html" | 1 + categories/landv/rust/index.html | 1 + .../rust/\346\236\204\345\273\272/index.html" | 1 + categories/landv/tools/index.html | 1 + categories/landv/vala/index.html | 1 + .../index.html" | 1 + categories/landv/vb/index.html | 1 + categories/landv/vb/ocx/index.html | 1 + categories/landv/vb6/index.html | 1 + categories/landv/windows/Cygwin/index.html | 1 + categories/landv/windows/index.html | 1 + categories/landv/windows/vb6/index.html | 1 + categories/landv/wireguard/index.html | 1 + .../index.html" | 1 + .../\344\274\232\345\221\230/index.html" | 1 + .../index.html" | 1 + .../\345\215\232\345\256\242/index.html" | 1 + .../index.html" | 1 + .../\345\270\206\350\275\257/index.html" | 1 + .../\345\275\251\347\245\250/index.html" | 1 + .../index.html" | 1 + .../\346\216\222\345\210\2273/index.html" | 1 + .../\345\277\253\344\271\2208/index.html" | 1 + .../index.html" | 1 + .../\347\237\263\345\237\272/index.html" | 1 + .../index.html" | 1 + .../\347\276\244\350\276\211/index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../\351\207\221\350\235\266/index.html" | 1 + .../\350\241\245\344\270\201/index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../ui/dist/carousel/carousel.autoplay.css | 3 + .../ui/dist/carousel/carousel.autoplay.esm.js | 1 + .../ui/dist/carousel/carousel.autoplay.umd.js | 1 + cdn/@fancyapps/ui/dist/carousel/carousel.css | 3 + .../ui/dist/carousel/carousel.esm.js | 1 + .../ui/dist/carousel/carousel.thumbs.css | 3 + .../ui/dist/carousel/carousel.thumbs.esm.js | 1 + .../ui/dist/carousel/carousel.thumbs.umd.js | 1 + .../ui/dist/carousel/carousel.umd.js | 1 + .../ui/dist/carousel/l10n/de.esm.js | 1 + .../ui/dist/carousel/l10n/de.umd.js | 1 + .../ui/dist/carousel/l10n/en.esm.js | 1 + .../ui/dist/carousel/l10n/en.umd.js | 1 + .../ui/dist/carousel/l10n/pl.esm.js | 1 + .../ui/dist/carousel/l10n/pl.umd.js | 1 + cdn/@fancyapps/ui/dist/fancybox/fancybox.css | 3 + .../ui/dist/fancybox/fancybox.esm.js | 1 + .../ui/dist/fancybox/fancybox.umd.js | 1 + .../ui/dist/fancybox/l10n/de.esm.js | 1 + .../ui/dist/fancybox/l10n/de.umd.js | 1 + .../ui/dist/fancybox/l10n/en.esm.js | 1 + .../ui/dist/fancybox/l10n/en.umd.js | 1 + .../ui/dist/fancybox/l10n/pl.esm.js | 1 + .../ui/dist/fancybox/l10n/pl.umd.js | 1 + cdn/@fancyapps/ui/dist/index.esm.js | 1 + cdn/@fancyapps/ui/dist/index.umd.js | 1 + .../fontawesome-free/css/all.min.css | 9 + .../webfonts/fa-brands-400.woff2 | Bin 0 -> 108000 bytes .../webfonts/fa-regular-400.woff2 | Bin 0 -> 24840 bytes .../webfonts/fa-solid-900.woff2 | Bin 0 -> 149908 bytes cdn/@waline/client/dist/waline.min.css | 7 + cdn/@waline/client/dist/waline.min.js | 8 + .../dist/activate-power-mode.min.js | 1 + .../dist/canvas-fluttering-ribbon.min.js | 1 + cdn/butterfly-extsrc/dist/click-heart.min.js | 1 + .../sharejs/dist/css/share.min.css | 1 + .../sharejs/dist/fonts/iconfont.woff | Bin 0 -> 6364 bytes .../sharejs/dist/js/social-share.min.js | 1 + cdn/instant.page/instantpage.min.js | 9 + cdn/node-snackbar/dist/snackbar.min.css | 1 + cdn/node-snackbar/dist/snackbar.min.js | 17 + cdn/typed.js/lib/typed.js | 1052 +++++++++ cdn/typed.js/lib/typed.min.js | 11 + .../dist/lazyload.iife.min.js | 1 + css/custom.css | 3 + css/footer.css | 3 + css/hbe.style.css | 749 +++++++ css/index.css | 3 + css/var.css | 3 + img/11452861.jpeg | Bin 0 -> 7817 bytes img/404.jpg | Bin 0 -> 16393 bytes img/6358a07bf21fc.webp | Bin 0 -> 12814 bytes img/alipay.png | Bin 0 -> 123977 bytes img/alipay1.png | Bin 0 -> 13438 bytes img/comment_bg.png | Bin 0 -> 25905 bytes img/favicon-32x32.png | Bin 0 -> 994 bytes img/favicon.ico | Bin 0 -> 15406 bytes img/friend_404.gif | Bin 0 -> 65097 bytes img/qq.png | Bin 0 -> 172100 bytes img/qq1.png | Bin 0 -> 12888 bytes img/wechat.png | Bin 0 -> 116576 bytes img/wechat1.png | Bin 0 -> 14257 bytes index.html | 1 + js/custom.js | 24 + js/footer.js | 53 + js/main.js | 827 +++++++ js/search/algolia.js | 163 ++ js/search/local-search.js | 190 ++ js/tw_cn.js | 119 + js/utils.js | 316 +++ lib/hbe.js | 293 +++ link.json | 1 + link/index.html | 1 + messageboard/index.html | 1 + myself/index.html | 1 + p/1168fc44.html | 1 + p/12752854.html | 1 + p/1656f0cc.html | 1 + p/171a8a42.html | 1 + p/19b1ce9f.html | 1 + p/2244e58e.html | 1 + p/26f07d70.html | 1 + p/2c336b43.html | 1 + p/354dbdac.html | 2 + p/3bbc26ab.html | 1 + p/406b99df.html | 1 + p/41bc4cae.html | 1 + p/4542ba6c.html | 1 + p/55a1d7c5.html | 1 + p/58d841fe.html | 1 + p/5e61bbd2.html | 1 + p/624e4de9.html | 1 + p/65b40fa5.html | 1 + p/6cbc5a90.html | 1 + p/711f9251.html | 1 + p/71bfd255.html | 1 + p/73ee391f.html | 1 + p/744622f9.html | 1 + p/76035fa8.html | 1 + p/79866120.html | 1 + p/7af5c8b0.html | 1 + p/7ce38ff9.html | 1 + p/800e9156.html | 1 + p/80dc9d6c.html | 1 + p/82b10c06.html | 1 + p/886ac8aa.html | 1 + p/88bc4b0d.html | 1 + p/8dc8fc20.html | 1 + p/956dff35.html | 1 + p/9722d3e3.html | 1 + p/9932297e.html | 1 + p/a5830199.html | 1 + p/a9da3a59.html | 1 + p/ad15a8e4.html | 1 + p/b2aab24f.html | 1 + p/b3140761.html | 1 + p/b5153044.html | 1 + p/b6cf3a8d.html | 1 + p/b83de3b7.html | 1 + p/bb550fb5.html | 1 + p/bc29442.html | 1 + p/c2c199a0.html | 1 + p/c65b44c3.html | 1 + p/c969a43c.html | 1 + p/c98abf76.html | 27 + p/c9a8aa0c.html | 1 + p/cbe7ced9.html | 1 + p/cc4d38b3.html | 27 + p/cd4d00a6.html | 1 + p/d66d8131.html | 1 + p/ea074c2e.html | 1 + p/ea4e789d.html | 1 + p/ea67e34.html | 1 + p/ec04d4fb.html | 1 + p/ec0f4d33.html | 1 + p/ed068316.html | 1 + p/f225098e.html | 1 + p/f3fb008f.html | 3 + p/fd37cb72.html | 1 + p/fda31f1e.html | 1 + page/2/index.html | 1 + page/3/index.html | 1 + page/4/index.html | 1 + page/5/index.html | 1 + page/6/index.html | 1 + page/7/index.html | 1 + pan/index.html | 1 + robots.txt | 15 + search.xml | 1924 +++++++++++++++++ sitemap.txt | 184 ++ sitemap.xml | 1442 ++++++++++++ tags/Cygwin/index.html | 1 + tags/DataGrid/index.html | 1 + tags/QT/index.html | 1 + tags/SSMS/index.html | 1 + tags/armbian/index.html | 1 + .../index.html" | 1 + tags/dnSpy/index.html | 1 + tags/excle/index.html | 1 + tags/fedora/index.html | 1 + tags/gui/index.html | 1 + tags/index.html | 1 + tags/landv/index.html | 1 + tags/landv/page/2/index.html | 1 + tags/landv/page/3/index.html | 1 + tags/landv/page/4/index.html | 1 + tags/landv/page/5/index.html | 1 + tags/landv/page/6/index.html | 1 + tags/landv/page/7/index.html | 1 + tags/linux/index.html | 1 + tags/ocx/index.html | 1 + tags/python/index.html | 1 + tags/rust/index.html | 1 + tags/scf/index.html | 1 + tags/sql/index.html | 1 + .../index.html" | 1 + tags/tools/index.html | 1 + tags/vala/index.html | 1 + tags/vb/index.html | 1 + tags/vb6/index.html | 1 + tags/windows/index.html | 1 + tags/wps/index.html | 1 + "tags/\344\271\246\347\261\215/index.html" | 1 + .../index.html" | 1 + "tags/\344\274\232\345\221\230/index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + "tags/\345\270\206\350\275\257/index.html" | 1 + "tags/\345\275\251\347\245\250/index.html" | 1 + "tags/\345\277\253\344\271\2208/index.html" | 1 + .../index.html" | 1 + "tags/\346\216\222\345\210\2273/index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + "tags/\346\236\204\345\273\272/index.html" | 1 + "tags/\347\237\263\345\237\272/index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + "tags/\350\241\245\344\270\201/index.html" | 1 + "tags/\350\260\203\350\257\225/index.html" | 1 + .../index.html" | 1 + "tags/\351\207\221\350\235\266/index.html" | 1 + .../index.html" | 1 + .../index.html" | 1 + 308 files changed, 8618 insertions(+) create mode 100644 404.html create mode 100644 CNAME create mode 100644 about/index.html create mode 100644 archives/2023/02/index.html create mode 100644 archives/2023/03/index.html create mode 100644 archives/2023/03/page/2/index.html create mode 100644 archives/2023/04/index.html create mode 100644 archives/2023/04/page/2/index.html create mode 100644 archives/2023/04/page/3/index.html create mode 100644 archives/2023/04/page/4/index.html create mode 100644 archives/2023/05/index.html create mode 100644 archives/2023/06/index.html create mode 100644 archives/2023/07/index.html create mode 100644 archives/2023/09/index.html create mode 100644 archives/2023/index.html create mode 100644 archives/2023/page/2/index.html create mode 100644 archives/2023/page/3/index.html create mode 100644 archives/2023/page/4/index.html create mode 100644 archives/2023/page/5/index.html create mode 100644 archives/2023/page/6/index.html create mode 100644 archives/2023/page/7/index.html create mode 100644 archives/2024/01/index.html create mode 100644 archives/2024/03/index.html create mode 100644 archives/2024/index.html create mode 100644 archives/index.html create mode 100644 archives/page/2/index.html create mode 100644 archives/page/3/index.html create mode 100644 archives/page/4/index.html create mode 100644 archives/page/5/index.html create mode 100644 archives/page/6/index.html create mode 100644 archives/page/7/index.html create mode 100644 atom.xml create mode 100644 baidusitemap.xml create mode 100644 categories/index.html create mode 100644 categories/landv/Awesome/index.html create mode 100644 "categories/landv/Awesome/\345\244\247\346\225\260\346\215\256/index.html" create mode 100644 categories/landv/QT/index.html create mode 100644 categories/landv/armbian/index.html create mode 100644 "categories/landv/armbian/\351\255\224\347\231\276\347\233\222/index.html" create mode 100644 categories/landv/aspia/index.html create mode 100644 categories/landv/dnSpy/index.html create mode 100644 categories/landv/excel/index.html create mode 100644 categories/landv/index.html create mode 100644 "categories/landv/linux/denyhosts-ssh\351\230\262\345\276\241/index.html" create mode 100644 categories/landv/linux/fedora/index.html create mode 100644 categories/landv/linux/index.html create mode 100644 categories/landv/linux/rust/index.html create mode 100644 "categories/landv/linux/ssh\350\257\201\344\271\246\347\231\273\345\275\225/index.html" create mode 100644 categories/landv/linux/tools/index.html create mode 100644 categories/landv/linux/wps/index.html create mode 100644 "categories/landv/linux/\346\226\260\345\242\236\347\224\250\346\210\267\345\271\266\345\242\236\345\212\240sudo\346\235\203\351\231\220/index.html" create mode 100644 categories/landv/page/2/index.html create mode 100644 categories/landv/page/3/index.html create mode 100644 categories/landv/page/4/index.html create mode 100644 categories/landv/page/5/index.html create mode 100644 categories/landv/page/6/index.html create mode 100644 categories/landv/page/7/index.html create mode 100644 categories/landv/python/index.html create mode 100644 "categories/landv/python/\344\271\246\347\261\215/index.html" create mode 100644 "categories/landv/python/\344\275\277\347\224\250\347\231\276\345\272\246\347\275\221\347\233\230api\350\277\233\350\241\214\345\244\207\344\273\275/index.html" create mode 100644 "categories/landv/python/\345\275\251\347\245\250/index.html" create mode 100644 "categories/landv/python/\350\207\252\345\212\250\346\211\223\345\215\241/index.html" create mode 100644 categories/landv/rust/index.html create mode 100644 "categories/landv/rust/\346\236\204\345\273\272/index.html" create mode 100644 categories/landv/tools/index.html create mode 100644 categories/landv/vala/index.html create mode 100644 "categories/landv/vala/\347\274\226\347\250\213\350\257\255\350\250\200/index.html" create mode 100644 categories/landv/vb/index.html create mode 100644 categories/landv/vb/ocx/index.html create mode 100644 categories/landv/vb6/index.html create mode 100644 categories/landv/windows/Cygwin/index.html create mode 100644 categories/landv/windows/index.html create mode 100644 categories/landv/windows/vb6/index.html create mode 100644 categories/landv/wireguard/index.html create mode 100644 "categories/landv/\344\273\216\351\233\266\345\274\200\345\247\213\347\274\226\345\206\231\344\274\232\345\221\230\347\256\241\347\220\206\347\263\273\347\273\237/index.html" create mode 100644 "categories/landv/\344\274\232\345\221\230/index.html" create mode 100644 "categories/landv/\344\274\232\345\221\230/\344\274\232\345\221\230\346\225\260\346\215\256\345\214\226/index.html" create mode 100644 "categories/landv/\345\215\232\345\256\242/index.html" create mode 100644 "categories/landv/\345\265\214\345\205\245\345\274\217\345\274\200\345\217\221/index.html" create mode 100644 "categories/landv/\345\270\206\350\275\257/index.html" create mode 100644 "categories/landv/\345\275\251\347\245\250/index.html" create mode 100644 "categories/landv/\345\275\251\347\245\250/\345\217\214\350\211\262\347\220\203/index.html" create mode 100644 "categories/landv/\345\275\251\347\245\250/\346\216\222\345\210\2273/index.html" create mode 100644 "categories/landv/\345\277\253\344\271\2208/index.html" create mode 100644 "categories/landv/\346\215\267\344\277\241\350\276\276/index.html" create mode 100644 "categories/landv/\347\237\263\345\237\272/index.html" create mode 100644 "categories/landv/\347\237\263\345\237\272/\351\223\266\345\256\242\347\216\257\344\274\201/index.html" create mode 100644 "categories/landv/\347\276\244\350\276\211/index.html" create mode 100644 "categories/landv/\350\205\276\350\256\257\344\272\221/index.html" create mode 100644 "categories/landv/\350\205\276\350\256\257\344\272\221/\344\272\221\345\207\275\346\225\260/index.html" create mode 100644 "categories/landv/\350\277\234\347\250\213\346\216\247\345\210\266/index.html" create mode 100644 "categories/landv/\351\207\221\350\235\266/index.html" create mode 100644 "categories/landv/\351\207\221\350\235\266/\350\241\245\344\270\201/index.html" create mode 100644 "categories/landv/\351\233\266\347\242\216\351\223\276\346\216\245/index.html" create mode 100644 "categories/landv/\351\273\221\345\256\242\345\267\245\345\205\267/index.html" create mode 100644 "categories/\346\225\260\346\215\256\345\210\206\346\236\220/index.html" create mode 100644 cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.css create mode 100644 cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.esm.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.umd.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/carousel.css create mode 100644 cdn/@fancyapps/ui/dist/carousel/carousel.esm.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.css create mode 100644 cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.esm.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.umd.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/carousel.umd.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/l10n/de.esm.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/l10n/de.umd.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/l10n/en.esm.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/l10n/en.umd.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/l10n/pl.esm.js create mode 100644 cdn/@fancyapps/ui/dist/carousel/l10n/pl.umd.js create mode 100644 cdn/@fancyapps/ui/dist/fancybox/fancybox.css create mode 100644 cdn/@fancyapps/ui/dist/fancybox/fancybox.esm.js create mode 100644 cdn/@fancyapps/ui/dist/fancybox/fancybox.umd.js create mode 100644 cdn/@fancyapps/ui/dist/fancybox/l10n/de.esm.js create mode 100644 cdn/@fancyapps/ui/dist/fancybox/l10n/de.umd.js create mode 100644 cdn/@fancyapps/ui/dist/fancybox/l10n/en.esm.js create mode 100644 cdn/@fancyapps/ui/dist/fancybox/l10n/en.umd.js create mode 100644 cdn/@fancyapps/ui/dist/fancybox/l10n/pl.esm.js create mode 100644 cdn/@fancyapps/ui/dist/fancybox/l10n/pl.umd.js create mode 100644 cdn/@fancyapps/ui/dist/index.esm.js create mode 100644 cdn/@fancyapps/ui/dist/index.umd.js create mode 100644 cdn/@fortawesome/fontawesome-free/css/all.min.css create mode 100644 cdn/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 create mode 100644 cdn/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 create mode 100644 cdn/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 create mode 100644 cdn/@waline/client/dist/waline.min.css create mode 100644 cdn/@waline/client/dist/waline.min.js create mode 100644 cdn/butterfly-extsrc/dist/activate-power-mode.min.js create mode 100644 cdn/butterfly-extsrc/dist/canvas-fluttering-ribbon.min.js create mode 100644 cdn/butterfly-extsrc/dist/click-heart.min.js create mode 100644 cdn/butterfly-extsrc/sharejs/dist/css/share.min.css create mode 100644 cdn/butterfly-extsrc/sharejs/dist/fonts/iconfont.woff create mode 100644 cdn/butterfly-extsrc/sharejs/dist/js/social-share.min.js create mode 100644 cdn/instant.page/instantpage.min.js create mode 100644 cdn/node-snackbar/dist/snackbar.min.css create mode 100644 cdn/node-snackbar/dist/snackbar.min.js create mode 100644 cdn/typed.js/lib/typed.js create mode 100644 cdn/typed.js/lib/typed.min.js create mode 100644 cdn/vanilla-lazyload/dist/lazyload.iife.min.js create mode 100644 css/custom.css create mode 100644 css/footer.css create mode 100644 css/hbe.style.css create mode 100644 css/index.css create mode 100644 css/var.css create mode 100644 img/11452861.jpeg create mode 100644 img/404.jpg create mode 100644 img/6358a07bf21fc.webp create mode 100644 img/alipay.png create mode 100644 img/alipay1.png create mode 100644 img/comment_bg.png create mode 100644 img/favicon-32x32.png create mode 100644 img/favicon.ico create mode 100644 img/friend_404.gif create mode 100644 img/qq.png create mode 100644 img/qq1.png create mode 100644 img/wechat.png create mode 100644 img/wechat1.png create mode 100644 index.html create mode 100644 js/custom.js create mode 100644 js/footer.js create mode 100644 js/main.js create mode 100644 js/search/algolia.js create mode 100644 js/search/local-search.js create mode 100644 js/tw_cn.js create mode 100644 js/utils.js create mode 100644 lib/hbe.js create mode 100644 link.json create mode 100644 link/index.html create mode 100644 messageboard/index.html create mode 100644 myself/index.html create mode 100644 p/1168fc44.html create mode 100644 p/12752854.html create mode 100644 p/1656f0cc.html create mode 100644 p/171a8a42.html create mode 100644 p/19b1ce9f.html create mode 100644 p/2244e58e.html create mode 100644 p/26f07d70.html create mode 100644 p/2c336b43.html create mode 100644 p/354dbdac.html create mode 100644 p/3bbc26ab.html create mode 100644 p/406b99df.html create mode 100644 p/41bc4cae.html create mode 100644 p/4542ba6c.html create mode 100644 p/55a1d7c5.html create mode 100644 p/58d841fe.html create mode 100644 p/5e61bbd2.html create mode 100644 p/624e4de9.html create mode 100644 p/65b40fa5.html create mode 100644 p/6cbc5a90.html create mode 100644 p/711f9251.html create mode 100644 p/71bfd255.html create mode 100644 p/73ee391f.html create mode 100644 p/744622f9.html create mode 100644 p/76035fa8.html create mode 100644 p/79866120.html create mode 100644 p/7af5c8b0.html create mode 100644 p/7ce38ff9.html create mode 100644 p/800e9156.html create mode 100644 p/80dc9d6c.html create mode 100644 p/82b10c06.html create mode 100644 p/886ac8aa.html create mode 100644 p/88bc4b0d.html create mode 100644 p/8dc8fc20.html create mode 100644 p/956dff35.html create mode 100644 p/9722d3e3.html create mode 100644 p/9932297e.html create mode 100644 p/a5830199.html create mode 100644 p/a9da3a59.html create mode 100644 p/ad15a8e4.html create mode 100644 p/b2aab24f.html create mode 100644 p/b3140761.html create mode 100644 p/b5153044.html create mode 100644 p/b6cf3a8d.html create mode 100644 p/b83de3b7.html create mode 100644 p/bb550fb5.html create mode 100644 p/bc29442.html create mode 100644 p/c2c199a0.html create mode 100644 p/c65b44c3.html create mode 100644 p/c969a43c.html create mode 100644 p/c98abf76.html create mode 100644 p/c9a8aa0c.html create mode 100644 p/cbe7ced9.html create mode 100644 p/cc4d38b3.html create mode 100644 p/cd4d00a6.html create mode 100644 p/d66d8131.html create mode 100644 p/ea074c2e.html create mode 100644 p/ea4e789d.html create mode 100644 p/ea67e34.html create mode 100644 p/ec04d4fb.html create mode 100644 p/ec0f4d33.html create mode 100644 p/ed068316.html create mode 100644 p/f225098e.html create mode 100644 p/f3fb008f.html create mode 100644 p/fd37cb72.html create mode 100644 p/fda31f1e.html create mode 100644 page/2/index.html create mode 100644 page/3/index.html create mode 100644 page/4/index.html create mode 100644 page/5/index.html create mode 100644 page/6/index.html create mode 100644 page/7/index.html create mode 100644 pan/index.html create mode 100644 robots.txt create mode 100644 search.xml create mode 100644 sitemap.txt create mode 100644 sitemap.xml create mode 100644 tags/Cygwin/index.html create mode 100644 tags/DataGrid/index.html create mode 100644 tags/QT/index.html create mode 100644 tags/SSMS/index.html create mode 100644 tags/armbian/index.html create mode 100644 "tags/denyhosts-ssh\351\230\262\345\276\241/index.html" create mode 100644 tags/dnSpy/index.html create mode 100644 tags/excle/index.html create mode 100644 tags/fedora/index.html create mode 100644 tags/gui/index.html create mode 100644 tags/index.html create mode 100644 tags/landv/index.html create mode 100644 tags/landv/page/2/index.html create mode 100644 tags/landv/page/3/index.html create mode 100644 tags/landv/page/4/index.html create mode 100644 tags/landv/page/5/index.html create mode 100644 tags/landv/page/6/index.html create mode 100644 tags/landv/page/7/index.html create mode 100644 tags/linux/index.html create mode 100644 tags/ocx/index.html create mode 100644 tags/python/index.html create mode 100644 tags/rust/index.html create mode 100644 tags/scf/index.html create mode 100644 tags/sql/index.html create mode 100644 "tags/ssh\350\257\201\344\271\246\347\231\273\345\275\225/index.html" create mode 100644 tags/tools/index.html create mode 100644 tags/vala/index.html create mode 100644 tags/vb/index.html create mode 100644 tags/vb6/index.html create mode 100644 tags/windows/index.html create mode 100644 tags/wps/index.html create mode 100644 "tags/\344\271\246\347\261\215/index.html" create mode 100644 "tags/\344\272\221\345\207\275\346\225\260/index.html" create mode 100644 "tags/\344\274\232\345\221\230/index.html" create mode 100644 "tags/\344\274\232\345\221\230\346\225\260\346\215\256\345\214\226/index.html" create mode 100644 "tags/\344\275\277\347\224\250\347\231\276\345\272\246\347\275\221\347\233\230api\350\277\233\350\241\214\345\244\207\344\273\275/index.html" create mode 100644 "tags/\345\215\232\345\256\242\346\220\255\345\273\272/index.html" create mode 100644 "tags/\345\217\214\350\211\262\347\220\203/index.html" create mode 100644 "tags/\345\244\247\346\225\260\346\215\256/index.html" create mode 100644 "tags/\345\257\206\347\240\201\347\240\264\350\247\243/index.html" create mode 100644 "tags/\345\265\214\345\205\245\345\274\217\345\274\200\345\217\221/index.html" create mode 100644 "tags/\345\270\206\350\275\257/index.html" create mode 100644 "tags/\345\275\251\347\245\250/index.html" create mode 100644 "tags/\345\277\253\344\271\2208/index.html" create mode 100644 "tags/\346\215\267\344\277\241\350\276\276/index.html" create mode 100644 "tags/\346\216\222\345\210\2273/index.html" create mode 100644 "tags/\346\225\260\346\215\256\345\210\206\346\236\220/index.html" create mode 100644 "tags/\346\225\260\346\215\256\345\272\223/index.html" create mode 100644 "tags/\346\226\260\345\242\236\347\224\250\346\210\267\345\271\266\345\242\236\345\212\240sudo\346\235\203\351\231\220/index.html" create mode 100644 "tags/\346\236\204\345\273\272/index.html" create mode 100644 "tags/\347\237\263\345\237\272/index.html" create mode 100644 "tags/\347\273\221\345\256\232\345\244\261\350\264\245/index.html" create mode 100644 "tags/\347\274\226\347\250\213\350\257\255\350\250\200/index.html" create mode 100644 "tags/\350\205\276\350\256\257\344\272\221/index.html" create mode 100644 "tags/\350\207\252\345\212\250\346\211\223\345\215\241/index.html" create mode 100644 "tags/\350\241\245\344\270\201/index.html" create mode 100644 "tags/\350\260\203\350\257\225/index.html" create mode 100644 "tags/\350\277\234\347\250\213\346\216\247\345\210\266/index.html" create mode 100644 "tags/\351\207\221\350\235\266/index.html" create mode 100644 "tags/\351\223\266\345\256\242\347\216\257\344\274\201/index.html" create mode 100644 "tags/\351\255\224\347\231\276\347\233\222/index.html" diff --git a/404.html b/404.html new file mode 100644 index 00000000..ae496d89 --- /dev/null +++ b/404.html @@ -0,0 +1 @@ +页面没有找到 | landv
Page not found

404

页面没有找到
\ No newline at end of file diff --git a/CNAME b/CNAME new file mode 100644 index 00000000..34bfad51 --- /dev/null +++ b/CNAME @@ -0,0 +1 @@ +landv.cn \ No newline at end of file diff --git a/about/index.html b/about/index.html new file mode 100644 index 00000000..95e4290c --- /dev/null +++ b/about/index.html @@ -0,0 +1 @@ +关于 | landv

联系方式

个人信息

技能清单

信息化管理

工作职责:

  1. 制定公司信息化建“三五规划”:根据公司战略、用户需求、业务和管理成熟度等因素,制定公司信息化建设的长期规划,明确信息化建设的目标和方向。
  2. 制定规章制度、规范和标准:负责组织制定公司信息化建设相关的需求管理、项目管理、知识管理等方面的规章制度、规范和标准,并监督执行,以确保信息化建设的顺利进行。
  3. 负责信息化建设的调研、规划、项目建设、落地与推行:根据公司信息化建设规划,负责信息化建设的调研、规划、项目建设、落地与推行等工作,确保信息化建设项目能够按时、按质完成。
  4. 与软件供应商的业务洽谈工作:负责与软件供应商进行业务洽谈,选择合适的软件产品和服务,达成合作协议,并监督供应商履行协议。
  5. 合理安排下属分工:根据公司各信息系统运行情况,合理安排下属分工,确保信息系统能够高效稳定地运行。
  6. 对接各子公司信息化建设各项工作:负责对接各子公司信息化建设各项工作,协调各个部门之间的信息流转和业务接口,促进信息化系统的整体优化,提高公司信息化管理水平。
  7. 信息系统实施、推广与培训工作:负责信息系统实施、推广和培训等工作,确保信息系统能够正常运行,并能够被广泛应用。同时还要负责员工的信息化技能培训,提高员工的信息化素养和技能水平。

运维相关:

  1. 应用系统的部署、维护、升级工作:负责应用系统在服务器上的部署、维护和升级,确保应用系统可以正常运行。需要熟悉应用系统的架构和配置文件的编写,并能够快速排查常见问题。
  2. 机房网络和办公室网络管理和调优:负责机房和办公室网络的规划、部署、维护和调优。需要熟悉网络设备的配置和管理,如路由器、交换机、防火墙等,并能够快速排查网络故障。
  3. 负责服务器集群的操作系统安装、升级、定制、部署与维护工作:运维人员需要对服务器集群的操作系统进行安装、升级、定制、部署和维护,确保服务器集群的稳定性和安全性。需要熟悉各种操作系统的安装和配置,如Linux、Windows等。
  4. 负责服务器集群的系统监控和自动化脚本的设计与部署:运维人员需要对服务器集群进行系统监控和管理,并能够设计和部署自动化脚本来减少手动操作,提高运维效率。需要熟悉各种系统监控工具和自动化脚本的编写,如Zabbix、Nagios等。
  5. 负责对服务器运维平台有针对性地持续调整和优化,提高操作效率,增强系统可用性:运维人员需要根据业务需求和系统情况,对服务器运维平台进行持续的调整和优化,以提高操作效率和系统可用性。需要熟悉各种运维平台和工具,如Ansible、Saltstack、Puppet等,并具备一定的脚本编程能力。
  6. 负责应用系统的故障应对,及就故障排查同业务及技术接口人的沟通工作:运维人员需要对应用系统的故障进行应对,并与业务和技术接口人进行沟通,快速解决问题。需要具备良好的沟通能力和故障排查能力,能够快速定位问题并解决。
  7. 精通 Linux 系统安装配置和系统参数优化设置,具备企业级大规模系统的运维:运维人员需要精通Linux系统的安装和配置,并能够对系统参数进行优化和调整,以提高系统性能和稳定性。需要具备大规模系统的运维经验和良好的架构设计能力。

golang开发

  1. 具备良好的基本功,熟悉使用基本的数据结构和算法:这是Golang开发的基础,需要熟悉掌握常用数据结构,如数组、链表、栈、队列、哈希表等;同时需要了解基本的算法,如排序、查找、递归等。
  2. 熟悉掌握Golang常用的框架,如gin、beego深入了解框架提供的特性及其实现原理细节:Gin和Beego是目前Golang最流行的Web框架,需要熟悉它们的用法并掌握其提供的特性和实现原理。比如,Gin的中间件原理、路由匹配规则、Context对象等,Beego的MVC架构、ORM框架、Session管理等。
  3. 熟悉掌握一种以上非关系型数据库,如mongodb、redis,理解其使用场景及限制:非关系型数据库是分布式系统的重要组成部分,需要熟悉至少一种非关系型数据库,如MongoDB、Redis等,并理解其使用场景和限制。例如,MongoDB适用于存储大量的半结构化数据,而Redis适用于高并发的缓存场景等。
  4. 熟练掌握MySQL数据库,具备MySQL索引优化、查询优化的能力:MySQL是目前最流行的关系型数据库之一,需要熟悉其基本用法和原理,并具备索引优化、查询优化的能力。这包括如何设计优化表结构、如何选择合适的索引和优化查询语句等。
  5. Linux服务端开发,调试经验,熟悉网络编程、TCP、HTTP:Linux是服务端开发的主要操作系统之一,需要熟悉Linux常用命令和基本操作,如文件操作、进程管理、网络配置等,同时需要掌握网络编程和常见的通信协议,如TCP、HTTP等。
  6. 熟悉微服务,掌握一种以上服务框架和消息中间件,了解其实现原理:微服务是一种现代化的软件架构,需要熟悉其概念、特点和优势,并掌握至少一种微服务框架和消息中间件,比如Dubbo、Spring Cloud、Kafka等。同时,需要了解微服务架构的实现原理,包括服务注册与发现、负载均衡、容错处理、分布式事务等。

腾讯云

【腾讯云】云服务器等爆品抢先购,低至4.2元/月
https://cloud.tencent.com/act/cps/redirect?redirect=2446&cps_key=4f43721dde3f6683cb65674effd3c640&from=console 1200X90

avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/02/index.html b/archives/2023/02/index.html new file mode 100644 index 00000000..efc63dc2 --- /dev/null +++ b/archives/2023/02/index.html @@ -0,0 +1 @@ +二月 2023 | landv
文章总览 - 3
2023
hexo-blog-encrypt测试,密码就是hello
hexo-blog-encrypt测试,密码就是hello
python数据分析
python数据分析
博客搭建
博客搭建
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/03/index.html b/archives/2023/03/index.html new file mode 100644 index 00000000..20540dc0 --- /dev/null +++ b/archives/2023/03/index.html @@ -0,0 +1 @@ +三月 2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/03/page/2/index.html b/archives/2023/03/page/2/index.html new file mode 100644 index 00000000..2057ea67 --- /dev/null +++ b/archives/2023/03/page/2/index.html @@ -0,0 +1 @@ +三月 2023 | landv
文章总览 - 16
2023
快乐8
快乐8
排列3
排列3
嵌入式开发
嵌入式开发
linuxFedora37-从deepin_V20迁移到Fedora37
linuxFedora37-从deepin_V20迁移到Fedora37
pythonGui库和设计器
pythonGui库和设计器
Vala开发语言
Vala开发语言
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/04/index.html b/archives/2023/04/index.html new file mode 100644 index 00000000..6c3b43ea --- /dev/null +++ b/archives/2023/04/index.html @@ -0,0 +1 @@ +四月 2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/04/page/2/index.html b/archives/2023/04/page/2/index.html new file mode 100644 index 00000000..cbdcd967 --- /dev/null +++ b/archives/2023/04/page/2/index.html @@ -0,0 +1 @@ +四月 2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/04/page/3/index.html b/archives/2023/04/page/3/index.html new file mode 100644 index 00000000..d03e3aeb --- /dev/null +++ b/archives/2023/04/page/3/index.html @@ -0,0 +1 @@ +四月 2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/04/page/4/index.html b/archives/2023/04/page/4/index.html new file mode 100644 index 00000000..ec997a2e --- /dev/null +++ b/archives/2023/04/page/4/index.html @@ -0,0 +1 @@ +四月 2023 | landv
文章总览 - 31
2023
linux_ssh证书登录配置方法
linux_ssh证书登录配置方法
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/05/index.html b/archives/2023/05/index.html new file mode 100644 index 00000000..93a9f495 --- /dev/null +++ b/archives/2023/05/index.html @@ -0,0 +1 @@ +五月 2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/06/index.html b/archives/2023/06/index.html new file mode 100644 index 00000000..50b26a90 --- /dev/null +++ b/archives/2023/06/index.html @@ -0,0 +1 @@ +六月 2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/07/index.html b/archives/2023/07/index.html new file mode 100644 index 00000000..00a17d58 --- /dev/null +++ b/archives/2023/07/index.html @@ -0,0 +1 @@ +七月 2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/09/index.html b/archives/2023/09/index.html new file mode 100644 index 00000000..fa90eb2a --- /dev/null +++ b/archives/2023/09/index.html @@ -0,0 +1 @@ +九月 2023 | landv
文章总览 - 1
2023
Fedora上使用x11vnc进行远程桌面
Fedora上使用x11vnc进行远程桌面
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/index.html b/archives/2023/index.html new file mode 100644 index 00000000..e98b02ec --- /dev/null +++ b/archives/2023/index.html @@ -0,0 +1 @@ +2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/page/2/index.html b/archives/2023/page/2/index.html new file mode 100644 index 00000000..63ce35b2 --- /dev/null +++ b/archives/2023/page/2/index.html @@ -0,0 +1 @@ +2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/page/3/index.html b/archives/2023/page/3/index.html new file mode 100644 index 00000000..07fe9396 --- /dev/null +++ b/archives/2023/page/3/index.html @@ -0,0 +1 @@ +2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/page/4/index.html b/archives/2023/page/4/index.html new file mode 100644 index 00000000..2e685e92 --- /dev/null +++ b/archives/2023/page/4/index.html @@ -0,0 +1 @@ +2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/page/5/index.html b/archives/2023/page/5/index.html new file mode 100644 index 00000000..9df9e132 --- /dev/null +++ b/archives/2023/page/5/index.html @@ -0,0 +1 @@ +2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/page/6/index.html b/archives/2023/page/6/index.html new file mode 100644 index 00000000..e0a4197e --- /dev/null +++ b/archives/2023/page/6/index.html @@ -0,0 +1 @@ +2023 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2023/page/7/index.html b/archives/2023/page/7/index.html new file mode 100644 index 00000000..ff423601 --- /dev/null +++ b/archives/2023/page/7/index.html @@ -0,0 +1 @@ +2023 | landv
文章总览 - 61
2023
博客搭建
博客搭建
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2024/01/index.html b/archives/2024/01/index.html new file mode 100644 index 00000000..4b86c657 --- /dev/null +++ b/archives/2024/01/index.html @@ -0,0 +1 @@ +一月 2024 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2024/03/index.html b/archives/2024/03/index.html new file mode 100644 index 00000000..a0fe4a73 --- /dev/null +++ b/archives/2024/03/index.html @@ -0,0 +1 @@ +三月 2024 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/2024/index.html b/archives/2024/index.html new file mode 100644 index 00000000..9972252a --- /dev/null +++ b/archives/2024/index.html @@ -0,0 +1 @@ +2024 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/index.html b/archives/index.html new file mode 100644 index 00000000..9217cbae --- /dev/null +++ b/archives/index.html @@ -0,0 +1 @@ +归档 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/page/2/index.html b/archives/page/2/index.html new file mode 100644 index 00000000..4aed0313 --- /dev/null +++ b/archives/page/2/index.html @@ -0,0 +1 @@ +归档 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/page/3/index.html b/archives/page/3/index.html new file mode 100644 index 00000000..5641bd26 --- /dev/null +++ b/archives/page/3/index.html @@ -0,0 +1 @@ +归档 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/page/4/index.html b/archives/page/4/index.html new file mode 100644 index 00000000..2f029077 --- /dev/null +++ b/archives/page/4/index.html @@ -0,0 +1 @@ +归档 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/page/5/index.html b/archives/page/5/index.html new file mode 100644 index 00000000..c29b7e38 --- /dev/null +++ b/archives/page/5/index.html @@ -0,0 +1 @@ +归档 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/page/6/index.html b/archives/page/6/index.html new file mode 100644 index 00000000..17c750fc --- /dev/null +++ b/archives/page/6/index.html @@ -0,0 +1 @@ +归档 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/archives/page/7/index.html b/archives/page/7/index.html new file mode 100644 index 00000000..06cd9863 --- /dev/null +++ b/archives/page/7/index.html @@ -0,0 +1 @@ +归档 | landv
avatar
landv
欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
Follow Me
公告
这是浩秦的博客
\ No newline at end of file diff --git a/atom.xml b/atom.xml new file mode 100644 index 00000000..e5a3b192 --- /dev/null +++ b/atom.xml @@ -0,0 +1,603 @@ + + + landv + + landv + + + + 2024-03-26T09:16:39.000Z + https://landv.cn/ + + + landv + + + + Hexo + + + 现代化-开源的-Linux-服务器运维管理面板-1Panel + + https://landv.cn/p/b83de3b7.html + 2024-03-26T09:16:39.000Z + 2024-03-26T09:16:39.000Z + + 1Panel

现代化、开源的 Linux 服务器运维管理面板

License: GPL v3 Codacy GitHub release Stars FOSSA Status
[中文(繁體)] | [English] | [日本語]


1Panel 是新一代的 Linux 服务器运维管理面板。

  • 高效管理:用户可以通过 Web 图形界面轻松管理 Linux 服务器,实现主机监控、文件管理、数据库管理、容器管理等功能;
  • 快速建站:深度集成开源建站软件 WordPress 和 Halo,域名绑定、SSL 证书配置等操作一键搞定;
  • 应用商店:精选上架各类高质量的开源工具和应用软件,协助用户轻松安装并升级;
  • 安全可靠:基于容器管理并部署应用,实现最小的漏洞暴露面,同时提供防火墙和日志审计等功能;
  • 一键备份:支持一键备份和恢复,用户可以将数据备份到各类云端存储介质,永不丢失。

UI 展示

UI展示

快速开始

在线体验

一键安装

执行如下命令一键安装 1Panel:

1
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh && sudo bash quick_start.sh

学习资料

安全说明

如果您在使用过程中发现任何安全问题,请通过以下方式直接联系我们:

Star History

Star History Chart

FOSSA Status

FOSSA Status

License

Copyright (c) 2014-2024 FIT2CLOUD 飞致云, All rights reserved.

Licensed under The GNU General Public License version 3 (GPLv3) (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.gnu.org/licenses/gpl-3.0.html

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

]]>
+ + + + + <p align="center"><a href="https://1panel.cn"><img src="http://1panel.oss-cn-hangzhou.aliyuncs.com/img/1panel-logo.png" alt="1Panel" width=" + + + + + + + + + + + + + + + +
+ + + Lucy快速启动-更新记录-下载地址 + + https://landv.cn/p/2244e58e.html + 2024-03-26T09:08:24.000Z + 2024-03-26T09:08:24.000Z + + Lucy快速启动-更新记录-下载地址

image-20240326170923528

Lucy使用还可以,只是因为有sqlite读写,请将此小软件放到固态分区里面,再挪动之前先要转换到绝对路径

放到固态分区后,点击运行软件不会在卡顿一下了。我也就不在造轮子。没多少内容其实大可不必用sqlite。只需要一个自定义dat文件就好。将内容缓存到内存。这样机械硬盘使用就不会卡顿一下了。

轮子太多,用就完了~~~~

image-20240326171211552

Lucy快速启动-更新记录&下载地址 (yuque.com)

用过音速启动、Lily等启动工具,都是很好的软件

但每个软件都不可能适应所有人的需求,于是自己又造了一个轮子

使用Lily时习惯吧名字改为Lucy,于是轮子的名字依然叫Lucy了

软件最大特色就是简洁,只为快速启动,简洁不简单

不联网,不写注册表,甚至不开机启动(可在设置页面选择开机启动)

软件使用C++编写,界面库使用网易云信NIM_Duilib,数据存储使用sqlite3本地数据库

文件(夹)、虚拟目录(我的电脑、控制面板等)、浏览器地址栏链接等都可以直接拖拽添加

添加网址可拖入浏览器网址或拖入url快捷方式(如果在icons\url下有对应域名图标会自动加载)

快捷方式可以在本页内拖动排序!

PS:软件主要自用,风格极简,不会添加绚丽特效或复杂冗余功能,以实用为主,会酌情考虑网友提出的建议进行更新,遇到BUG请留言。

下载地址:

https://lucy.lanzouw.com/b015ebrti

https://share.weiyun.com/Wkthi1WD

—————————————————————-

2024-03-21 Lucy快速启动 v1.8.3

\1. 便签页切换自动保存

\2. 修复菜单和部分窗口显示问题

\3. 主窗体显隐快捷键支持设置鼠标侧键

—————————————————————-

2024-03-12 Lucy快速启动 v1.8.2

\1. 增加界面透明度设置

\2. 备注超链接支持中文,file:/支持相对路径

\3. 便签页支持超链接和拖拽

\4. 为[主界面获得焦点时按键自动搜索]增加设置选项(之前默认启用,现需要设置)

—————————————————————-

2024-03-09 Lucy快速启动 v1.8.1

\1. 主菜单加入[系统功能],不用加入链接就可以直接使用了

\2. 双击任务栏显隐排除通知区域

\3. 备注支持超链接(http: file: mailto: ftp: 等路径)

img

\4. 优化主程序启动方式

—————————————————————-

2023-12-01 Lucy快速启动 v1.8.0

\1. 增加特殊标签[全部][便签]:全部标签显示当前分组内所有链接,便签用于记录文字信息

\2. 搜索功能支持多个关键字(空格间隔开)

\3. 增加分组和标签的移动快捷键(Shift+方向键)

\4. 优化URL和目录的默认打开方式

—————————————————————-

2023-08-15 Lucy快速启动 v1.7.9

\1. 支持exe,dll资源中选择图标,支持图标索引编号

\2. 支持webp格式图标

\3. 修复主题保存和conf.ini存取

\4. 标签列支持滚动条

—————————————————————-

2023-06-17 Lucy快速启动 v1.7.8rv2

\1. 【重要】修复排序模式下的删除错误

—————————————————————-

2023-06-04 Lucy快速启动 v1.7.8

\1. 支持标签内按运行次数或首字母排序

\2. 支持设置自定义打开文件夹命令

\3. 修复某些情况下的显隐冲突

—————————————————————-

2022-06-14 Lucy快速启动 v1.7.6

\1. 记忆分组和标签

\2. 优化窗口置顶,主窗口显示时按键直接打开搜索

—————————————————————-

2022-06-09 Lucy快速启动 v1.7.5

\1. 重构显隐功能代码,修复dui界面库和WorkerW窗口引起的各种显隐问题

\2. 增加鼠标滑动激活分组和标签的延时设置

ps:更新代码较多遇到BUG请留言反馈,反馈BUG时请附带版本号

—————————————————————-

2022-05-25 Lucy快速启动 v1.7.4

\1. 修复[贴边隐藏]和[启动时隐藏]冲突造成的贴边显隐异常

\2. 优化结果排序

ps:关于备份和更新的问题可以看下右键主菜单里的【帮助说明】链接【常见问题和错误处理】

—————————————————————-

2022-05-16 Lucy快速启动 v1.7.3

\1. 修复跟随鼠标显示

\2. 修复桌面四角隐藏

\3. 修复日期刷新

—————————————————————-

2022-05-08 Lucy快速启动 v1.7.2

\1. 优化贴边显隐判断机制

\2. 修复新建分组鼠标滑动激活

\3. 修复Win11画图路径(Win11画图改用UWP应用)

\4. 可设置链接名单行显示

—————————————————————-

2022-05-01 Lucy快速启动 v1.7.1

\1. 改善贴边显隐动画流畅度

\2. 增加部分系统功能选项(关机、重启、音量、环境变量等)

\3. 支持svg图标

ps: 主题配色借鉴于Edge

—————————————————————-

2022-04-17 Lucy快速启动 v1.7.0

\1. 修改主题加载模式(可自行配色啦,theme目录下存放主题xml,建议复制一份重命名后再修改)

\2. 贴边显示/隐藏动画使用线程执行

\3. 修复界面库代码引起的菜单选项无效问题

ps: 更新界面库代码产生了一些BUG,因为更新代码量较大,再遇BUG留言反馈吧

—————————————————————-

2022-04-14 Lucy快速启动 v1.6.8修正

\1. 修复界面库代码引起的拖拽排序无效

—————————————————————-

2022-04-12 Lucy快速启动 v1.6.8

\1. 更新界面库代码

\2. 优化全屏判断

\3. 支持部分虚拟文件夹拖入

—————————————————————-

2021-10-09 Lucy快速启动 v1.6.7

\1. 优化URL和虚拟目录链接的拖拽判断

\2. 增加双击桌面或任务栏显隐主界面设置项

\3. 增加标题栏搜索、菜单按钮显隐设置项

\4. 修复搜索框、搜索结果菜单等相关BUG

—————————————————————-

2021-09-28 Lucy快速启动 v1.6.6

\1. 搜索支持Everything(可在设置页面开启,开启后在lucy搜索结果后附加Everything的前16条搜索结果)

\2. 搜索内容包含备注,并且结果中显示备注

\3. 搜索结果按使用次数排序

\4. 搜索结果增加右键菜单(管理员权限启动|打开文件位置|Win原生菜单)

ps: lucy搜索结果默认是不限制结果数的,如果结合Everything使用建议限制下lucy搜索结果数;

搜索结果支持的按键切换:Tab、Shift+Tab、Home、End、UP、Down

—————————————————————-

2021-09-24 Lucy快速启动 v1.6.5

\1. 搜索结果支持tab切换

\2. URL可设置使用默认浏览器的隐私模式打开

\3. 支持更多浏览器的隐私模式(IE、Edge、FireFox、Chrome)

—————————————————————-

2021-08-11 Lucy快速启动 v1.6.4

\1. 标签可通过菜单移动到其他分组

—————————————————————-

2021-03-23 Lucy快速启动 v1.6.2

\1. 增加搜索框(支持首字母搜索,可设置快捷键打开)

\2. 修复权限问题引起的拖拽无效

\3. 重做移动复制菜单

—————————————————————-

2021-03-13 Lucy快速启动 v1.6.1

\1. 调整设置页面使用分页

\2. 修复URL拖拽,URL正则,URL右键菜单增加<使用Edge隐私模式打开>,暂不支持其他浏览器隐私模式

\3. 简化图标缓存逻辑,优化缓存方式(需重建缓存文件)

\4. 修复资源管理器重启后托盘图标消失

\5. 修复网络共享文件夹图标错误

—————————————————————-

2021-03-01 Lucy快速启动 v1.6.0

\1. 修复高分辨率屏幕设置缩放比例后图标不全问题

\2. 修复贴边隐藏后鼠标移动到边缘有时会出现不停弹出隐藏的问题

\3. 修改图标缓存使用PNG格式(需重建缓存文件)

—————————————————————-

2021-02-21 Lucy快速启动 v1.5.9

\1. 修复#类型图标缓存错误

\2. 支持刷新单个图标

\3. 支持浏览器网址拖拽添加

—————————————————————-

2021-02-18 Lucy快速启动 v1.5.8

\1. 修复各种图标缓存错误(如果存在图标错误可以删掉icon.db缓存文件,程序会自动重建

\2. 优化靠边显隐动画

\3. 系统功能增加证书管理/计算机管理

—————————————————————-

2021-01-27 Lucy快速启动 v1.5.7

\1. 增加深色主题(设置页面,设置后需关闭重开)

\2. 系统功能增加组策略/管理工具/服务

—————————————————————-

2020-12-20 Lucy快速启动 v1.5.6

\1. 允许不同目录多个实例运行(同目录单实例)

\2. 备注可以多行

\3. 侧边栏可以设置对齐方式

\4. 编辑框支持右键菜单

—————————————————————-

2020-11-20 Lucy快速启动 v1.5.5

\1. 修复分组宽度自适应换行

\2. 自定义系统托盘图标(目录下放置图标重命名notify.ico)

\3. 优化全屏判断和自动隐藏

—————————————————————-

2020-10-18 Lucy快速启动 v1.5.4

\1. 修正跟随鼠标显示时位置居中

\2. 支持UWP快捷方式拖入

\3. 支持打开UWP程序所在位置

—————————————————————-

2020-10-12 Lucy快速启动 v1.5.3

\1. 增加应用的快捷键设置

\2. 修正界面超出屏幕的情况

\3. 分组/标签鼠标滑动激活分别设置

\4. 增加更新和帮助

—————————————————————-

2020-10-03 Lucy快速启动 v1.5.2

\1. 修复鼠标中键隐藏设置无效问题

—————————————————————-

2020-09-19 Lucy快速启动 v1.5.1

\1. 可设置标签栏宽度

\2. 修复图标设置不显示问题

\3. 优化快捷键设置

ps: 1.5.0的图标自定义设置有BUG,请更新1.5.1

—————————————————————-

2020-09-18 Lucy快速启动 v1.5.0

\1. 主菜单增加绝对/相对路径转换(lucy目录下始终使用相对路径不转换)

\2. 增加设置:失去焦点后隐藏

\3. 增加设置:跟随鼠标位置显示

\4. 修正删除快捷方式后图标缓存没有清理的问题

ps: 很久没更新了,一是需要的功能大都有了也还算稳定,二是想换个界面库一直也没时间搞,而且界面库也是家家有本难念的经

因为软件主要就是自己用,弃坑是不会弃坑的,除非哪位大佬再发个更好的我也去入坑

一些坛友建议的功能我个人可能用不到,所以不是那么容易发现问题,遇到BUG还是继续留言吧,叙述清楚遇到的问题即可,都会看到的

—————————————————————-

2020-06-12 Lucy快速启动 v1.4.9(2020-06-13重新上传)

\1. 支持鼠标滑动激活标签分组

\2. 修复未知类型文件图标显示

\3. 增加系统功能:关闭显示器/hosts

ps: 使用的界面库有硬伤,界面相关功能可能停滞,后续有换界面库的可能。

目前的功能基本满足了个人需求,更新会慢下来,有BUG或好的建议可以继续留言

文件大小剧减是因为没有再加壳,更新老版本时builtin文件夹需要一起

—————————————————————-

2020-05-26 Lucy快速启动 v1.4.8

\1. 可设置隐藏标题栏日期

\2. 修复部分图标黑边问题(删除db目录下的icon.db可重建所有图标,link.db千万千万千万****不要删!!!

ps: 不少人问到选择列表模式后没地方右键再选平铺,列表模式第一行上边是有部分空白区域的,可以右键弹出菜单

—————————————————————-

2020-05-15 Lucy快速启动 v1.4.7

\1. 增加设置隐藏托盘图标/跨分组移动复制/删除确认

\2. 多分组换行显示

\3. 修复隐藏分组后标签的刷新

ps: 条件有限短期内不会适配高分屏dpi

—————————————————————-

2020-05-09 Lucy快速启动 v1.4.6

\1. 增加设置全屏勿扰模式

\2. 修复偶尔不能靠边隐藏问题

\3. 修正启动快捷方式后隐藏方式

—————————————————————-

2020-05-07 Lucy快速启动 v1.4.5

\1. 修复非置顶窗口时的显示问题

\2. 支持设置双击快捷方式启动

\3. 修复子菜单超出屏幕显示的问题

—————————————————————-

2020-04-28 Lucy快速启动 v1.4.4

\1. 修复删除分组卡住问题

\2. 修复新建标签未索引问题

—————————————————————-

2020-04-26 Lucy快速启动 v1.4.3

\1. 修复移动快捷方式到其他标签错误

\2. 可设置开机启动(默认不启动)

—————————————————————-

2020-04-23 Lucy快速启动 v1.4.2

\1. 修正判断顶级域名的正则表达式

\2. 快捷键设置支持Win键

—————————————————————-

2020-04-19 Lucy快速启动 v1.4.1

\1. 修复快捷键设置问题

\2. 支持鼠标中键隐藏

\3. 支持启动快捷方式后隐藏

—————————————————————-

2020-04-18 Lucy快速启动 v1.4

\1. 支持环境变量路径

\2. 支持shell命令

\3. 修正ico/png识别问题

\4. 增加设置窗口,可设置显示隐藏快捷键、窗口置顶、靠边隐藏

—————————————————————-

2020-04-13 Lucy快速启动 v1.3

\1. 修复编辑属性没有保存到数据库的BUG

\2. 增加部分系统功能(控制面板/注册表/命令行等)

\3. 拖动排序过程改变光标形状

\4. 优化执行线程,优化菜单

—————————————————————-

2020-04-09 Lucy快速启动 v1.2

\1. 支持拖动排序(没有过程动画,直接点住鼠标左键拖到心仪的位置撒手即可,不要拖到空白位置)

\2. 支持显示/隐藏标签

\3. 支持隐藏到屏幕四角(如果纵向横向都贴边会隐藏到对应屏幕角里,如果希望贴某一边隐藏可以拖动窗口位置只贴一个边)

—————————————————————-

2020-04-06 Lucy快速启动 v1.1

\1. 使用半透明阴影边缘(去白边)

\2. 增加托盘,主界面关闭按钮默认最小化到托盘。如果找不到主界面隐藏到哪了,可以鼠标左键单击托盘图标

\3. 快速启动过程使用独立线程防止卡界面

]]>
+ + + + + <h1 id="Lucy快速启动-更新记录-下载地址"><a href="#Lucy快速启动-更新记录-下载地址" class="headerlink" title="Lucy快速启动-更新记录-下载地址"></a>Lucy快速启动-更新记录-下载地址</h1><p><img s + + + + + + + + + + + + + +
+ + + python-WOL唤醒-使用flet开发的页面 + + https://landv.cn/p/3bbc26ab.html + 2024-03-26T08:07:51.000Z + 2024-03-26T08:07:51.000Z + + python-WOL唤醒-使用flet开发的页面

使用python和flet进行开发一个小页面:

博主使用的iOS手机,这个页面部署在一个机顶盒里面,使用wg进行访问内网网页WOL唤醒电脑。

我的电脑大概5秒左右就启动成功了,python代码里面使用from pythonping import ping进行ping也可以等待ping通后进行远程操作,博主使用的RDP远程桌面进行控制的。

https://flet.dev/

flet创建的页面属于PWA页面,可以生成一个桌面快捷方式。也可以使用flet的app

Testing Flet app on iOS

Start building awesome mobile apps in Python using just your computer and mobile phone!

Install Flet app to your iOS device. You will be using this app to see how your Flet project is working on iPhone or iPad.

https://flet.dev/docs/guides/python/testing-on-ios

img

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import flet as ft
from flet_core import padding
from wakeonlan import send_magic_packet
from time import sleep
from pythonping import ping


def main(page: ft.Page):
page.title = "WOL启动"
target_host = "你的IP"

def wol_start(e):
mac_address = '你的mac地址'
send_magic_packet(mac_address)
isTrue = False
for i in range(30):
response_list = ping(target_host, count=1)
for response in response_list:
print(response)
page.add(ft.Text(f"{response},{i}!"))
if response.success:
isTrue = True
break
if isTrue:
page.clean()
initstart()
page.add(ft.Text(f"启动成功~~~"))
break
sleep(0.5)
sleep(1)
page.clean()
initstart()
print("ok")

def initstart():
page.add(
ft.ResponsiveRow([
ft.Container(
ft.ElevatedButton(text="WOL-Start-myPC", on_click=wol_start),
padding=padding.only(top=55)

),
])
)

initstart()


# ft.app(target=main)

ft.app(target=main, host='0.0.0.0', port=8080, view=ft.AppView.WEB_BROWSER)

github gist地址

https://gist.github.com/landv/3e5961f6c3f44e66c4afe3ebd2aa26bd

image-20240326160951804

]]>
+ + + + + <h1 id="python-WOL唤醒-使用flet开发的页面"><a href="#python-WOL唤醒-使用flet开发的页面" class="headerlink" title="python-WOL唤醒-使用flet开发的页面"></a><strong>python + + + + + + + + + + + + + +
+ + + Excel解除工作表保护密码和获得密码 + + https://landv.cn/p/c969a43c.html + 2024-01-12T07:59:12.000Z + 2024-01-12T07:59:12.000Z + + 第一种:直接删除密码保护

来自https://www.excelhome.net/4590.html

如何破解工作簿保护和工作表保护的问题。

注意咱们说的工作簿保护

image-20240112160115370

在这个地方设置工作簿保护后,将对工作表进行删除、移动、新建、隐藏或者取消隐藏,以及工作表重命名等操作。
如果工作簿保护密码忘记了怎么办?
右键单击工作表标签→【查看代码】,然后插入模块,复制以下代码,粘贴到代码区域:

1
2
3
4
5
6
Sub 工作簿密码破解()
ActiveWorkbook.Sheets.Copy
For Each sh In ActiveWorkbook.Sheets
sh.Visible = True
Next
End Sub

点击运行按钮,稍等片刻,就会出现一个去掉保护的工作簿克隆版,咱们只要按Ctrl+S键,将这个工作簿保存一下就好了。

img

接下来咱们再说说如何破解工作表保护。
有时我们为了防止别人修改工作表内容,会通过【审阅】→【保护工作表】来设置工作表的保护密码。

img

如果不小心自己忘了密码或者别人的文档咱们没有密码,怎么办呢?
只要参考前一个动画中的步骤,右键单击工作表标签→【查看代码】,然后插入模块,复制以下代码,粘贴到代码区域,点一下运行按钮就OK了:

1
2
3
4
5
6
7
Sub jp()
Dim sht As Worksheet
For Each sht In Worksheets
sht.Protect AllowFiltering:=True
sht.Unprotect
Next
End Sub

第二种:Excel解除工作表保护密码,并复原密码设定

来自https://www.cnblogs.com/MrZhou5/p/12134268.html

适用环境

 1. Office 2003(也就是老版的.xls文件)

  2. 用到宏操作

  3. 可以解除【审阅->保护工作表】的密码保护,其他的密码保护不能处理。

步骤

  1. 打开需解除保护密码的Excel文件(.xls);

  2. 从菜单栏里找到并打开【录制宏】;

    img

  3. 直接点击【停止录制】(这样得到一个空宏);

  4. 点击【宏】,找到刚刚录制的宏,点击编辑;

  5. 删除窗口中的所有代码,替换为下面的内容;

  6. 如果菜单没有上述描述的按钮,可以在【文件->选项->自定义功能区】找

  7. Ctrl+S保存关闭编辑窗口;

  8. 点击【宏】,找到刚刚编辑的宏【AllInternalPasswords】,点击执行,按照提示信息操作;

  9. 等待一会弹窗会有下面的提示,这样就是成功了!(记得保存弹窗中的密码,后面要用)

  10. 这时密码已经被清除掉了,你就可以随意修改文件内容了,如果想恢复原来的密码状态,重新点击【审阅->保护工作表】把弹窗中找到的密码原封不动的拷贝进去,并保存,这样原来的密码也可以用,这个密码也可以用

直接选中窗口按Ctrl+C就能拷贝窗口的全部文字,可以先粘贴到文本编辑器里再取获得的密码

img

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
Option Explicit

Public Sub AllInternalPasswords()
' Breaks worksheet and workbook structure passwords. Bob McCormick
' probably originator of base code algorithm modified for coverage
' of workbook structure / windows passwords and for multiple passwords
'
' Norman Harker and JE McGimpsey 27-Dec-2002 (Version 1.1)
' Modified 2003-Apr-04 by JEM: All msgs to constants, and
' eliminate one Exit Sub (Version 1.1.1)
' Reveals hashed passwords NOT original passwords
Const DBLSPACE As String = vbNewLine & vbNewLine
Const AUTHORS As String = DBLSPACE & vbNewLine & _
"改编自Bob McCormick的代码。"
Const HEADER As String = "重置密码"
Const VERSION As String = DBLSPACE & "Version 1.1.1 2003-Apr-04"
Const REPBACK As String = DBLSPACE & "感谢使用!"
Const ALLCLEAR As String = DBLSPACE & "工作簿现在应该没有任何密码保护,因此请确保:" & _
DBLSPACE & "立即保存!" & DBLSPACE & "并且" & _
DBLSPACE & "备份!, 备份!!, 备份!!!"
Const MSGNOPWORDS1 As String = "工作表、工作簿结构或窗口上没有密码。" & AUTHORS & VERSION
Const MSGNOPWORDS2 As String = "对工作簿结构或窗口没有保护" & _
"。" & DBLSPACE & _
"继续取消工作表保护。" & AUTHORS & VERSION
Const MSGTAKETIME As String = "按下OK按钮后,会需要花费一些时间" & _
"。" & DBLSPACE & "这个时间的长短取决于密码的难度和电脑的性能" & _
"。" & DBLSPACE & _
"请耐心等待,或者先去喝杯茶!" & AUTHORS & VERSION
Const MSGPWORDFOUND1 As String = "您设置了工作表结构或Windows密码" & _
"。" & DBLSPACE & _
"找到的密码是:" & DBLSPACE & "$$" & DBLSPACE & _
"请记下来,以备将来由设置此密码" & _
"的同一个人在其他工作簿中使用" & DBLSPACE & _
"现在检查并清除其他密码" & AUTHORS & VERSION
Const MSGPWORDFOUND2 As String = "您设置了工作表密码" & _
"。" & DBLSPACE & "找到的密码是:" & _
DBLSPACE & "$$" & DBLSPACE & "请记下来,以备将来由设置此密码" & _
"的同一个人在其他工作簿中使用" & _
"。" & DBLSPACE & "现在检查并清除其他密码" & _
"。" & AUTHORS & VERSION
Const MSGONLYONE As String = "只有使用刚找到的密码保护的结构/窗口。" & _
ALLCLEAR & AUTHORS & VERSION & REPBACK
Dim w1 As Worksheet, w2 As Worksheet
Dim i As Integer, j As Integer, k As Integer, l As Integer
Dim m As Integer, n As Integer, i1 As Integer, i2 As Integer
Dim i3 As Integer, i4 As Integer, i5 As Integer, i6 As Integer
Dim PWord1 As String
Dim ShTag As Boolean, WinTag As Boolean

Application.ScreenUpdating = False
With ActiveWorkbook
WinTag = .ProtectStructure Or .ProtectWindows
End With
ShTag = False
For Each w1 In Worksheets
ShTag = ShTag Or w1.ProtectContents
Next w1
If Not ShTag And Not WinTag Then
MsgBox MSGNOPWORDS1, vbInformation, HEADER
Exit Sub
End If
MsgBox MSGTAKETIME, vbInformation, HEADER
If Not WinTag Then
MsgBox MSGNOPWORDS2, vbInformation, HEADER
Else
On Error Resume Next
Do 'dummy do loop
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
With ActiveWorkbook
.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If .ProtectStructure = False And _
.ProtectWindows = False Then
PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
MsgBox Application.Substitute(MSGPWORDFOUND1, _
"$$", PWord1), vbInformation, HEADER
Exit Do 'Bypass all for...nexts
End If
End With
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
Loop Until True
On Error GoTo 0
End If
If WinTag And Not ShTag Then
MsgBox MSGONLYONE, vbInformation, HEADER
Exit Sub
End If
On Error Resume Next
For Each w1 In Worksheets
'Attempt clearance with PWord1
w1.Unprotect PWord1
Next w1
On Error GoTo 0
ShTag = False
For Each w1 In Worksheets
'Checks for all clear ShTag triggered to 1 if not.
ShTag = ShTag Or w1.ProtectContents
Next w1
If ShTag Then
For Each w1 In Worksheets
With w1
If .ProtectContents Then
On Error Resume Next
Do 'Dummy do loop
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If Not .ProtectContents Then
PWord1 = Chr(i) & Chr(j) & Chr(k) & Chr(l) & _
Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
MsgBox Application.Substitute(MSGPWORDFOUND2, _
"$$", PWord1), vbInformation, HEADER
'leverage finding Pword by trying on other sheets
For Each w2 In Worksheets
w2.Unprotect PWord1
Next w2
Exit Do 'Bypass all for...nexts
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
Loop Until True
On Error GoTo 0
End If
End With
Next w1
End If
MsgBox ALLCLEAR & AUTHORS & VERSION & REPBACK, vbInformation, HEADER
End Sub
]]>
+ + + + + <h1 id="第一种:直接删除密码保护"><a href="#第一种:直接删除密码保护" class="headerlink" title="第一种:直接删除密码保护"></a>第一种:直接删除密码保护</h1><p>来自<code>https://www.excelhome. + + + + + + + + + + + + + +
+ + + Fedora上使用x11vnc进行远程桌面 + + https://landv.cn/p/26f07d70.html + 2023-09-19T07:30:02.000Z + 2023-09-19T07:30:02.000Z + + 要在 Fedora 上使用 x11vnc 进行远程桌面访问,可以按照以下步骤进行设置:

  1. 安装 x11vnc:打开终端,运行以下命令以安装 x11vnc:

    1
    sudo dnf install x11vnc
  2. 创建密码文件:执行以下命令创建一个密码文件并设置 VNC 访问密码:

    1
    sudo x11vnc -storepasswd /etc/x11vnc.pass

    在提示下输入密码并确认。

  3. 启动 x11vnc:运行以下命令以启动 x11vnc 服务,并将其绑定到当前 X 会话(:0):

    1
    sudo x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared

    这将在 VNC 默认端口 5900 上启动 x11vnc 服务。

现在,你可以使用任何支持 VNC 协议的客户端连接到你的 Fedora 远程桌面。在 VNC 客户端中填入 IP 地址和端口号(例如:192.168.0.100:5900),然后输入之前设置的 VNC 访问密码即可进行远程桌面访问。

请注意,这里的配置仅用于基本的远程桌面访问。有关更高级的选项和安全性设置,请参考 x11vnc 的文档和手册。

若要将 x11vnc 注册为系统服务,以便在启动时自动运行,您可以按照以下步骤进行设置:

  1. 创建服务配置文件:使用以下命令创建一个名为 x11vnc.service 的服务配置文件:

    1
    sudo nano /etc/systemd/system/x11vnc.service
  2. 将以下内容粘贴到文件中:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    [Unit]
    Description=x11vnc VNC Server
    After=multi-user.target

    [Service]
    Type=simple
    ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /etc/x11vnc.pass -rfbport 5900 -shared
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target
  3. 保存并关闭文件。

  4. 启用和启动服务:执行以下命令以启用并启动 x11vnc 服务:

    1
    2
    sudo systemctl enable x11vnc.service
    sudo systemctl start x11vnc.service

现在,x11vnc 服务已经注册并正在后台运行。它将在系统启动时自动启动,并且可以通过 sudo systemctl stop x11vnc.service 命令停止。

请注意,确保 /etc/x11vnc.pass 文件存在并包含正确的密码。另外,检查防火墙设置,确保允许 VNC 端口(默认是 5900)的流量通过。

]]>
+ + + + + <p><strong>要在 Fedora 上使用 x11vnc 进行远程桌面访问,可以按照以下步骤进行设置:</strong></p> +<ol> +<li><p>安装 x11vnc:打开终端,运行以下命令以安装 x11vnc:</p> +<figure class="highligh + + + + + + + + + +
+ + + wireguard+win7+无法正常运行或出现错误需要打两个补丁 + + https://landv.cn/p/744622f9.html + 2023-07-13T08:25:49.000Z + 2023-07-13T08:25:49.000Z + + wireguard+win7+无法正常运行或出现错误需要打两个补丁

wireguard.inf (Code 0xE0000247)

image-20230713170649570

**安装下面两个补丁就可以正常运行,不过最好也安装一下微软常用运行库合集 **

下载路径

https://download.wireguard.com/windows-toolchain/distfiles/

image-20230713162702333

还会出现

unable to create network adapter.

image-20230713165155760

安装补丁包集合吧UpdatePack7R2-23.6.20

你也可以用杀毒软件安装更新补丁包,建议使用360 火绒

链接: https://pan.baidu.com/s/1y-kf5ZIEq2lObQ5mxbw8Ag?pwd=ytas 提取码: ytas 复制这段内容后打开百度网盘手机App,操作更方便哦
–来自百度网盘超级会员v9的分享

]]>
+ + + + + <h1 id="wireguard-win7-无法正常运行或出现错误需要打两个补丁"><a href="#wireguard-win7-无法正常运行或出现错误需要打两个补丁" class="headerlink" title="wireguard+win7+无法正常运行或出现错误 + + + + + + + + + + + +
+ + + linux+vcpkg+clion+arm64交叉编译aspia + + https://landv.cn/p/7af5c8b0.html + 2023-07-10T08:05:12.000Z + 2023-07-10T08:05:12.000Z + + linux+vcpkg+clion+arm64交叉编译aspia

arm64编译器下载

https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-a/downloads

AArch64 GNU/Linux target (aarch64-none-linux-gnu)

https://armkeil.blob.core.windows.net/developer/Files/downloads/gnu-a/10.3-2021.07/binrel/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu.tar.xz

clion配置

image-20230710161607160

image-20230710161627454

cmake学习

用clion创建cmake项目默认会生成CMakeLists.txt文件

1
2
3
4
5
6
7
8
9
# CMake 最低版本号要求
cmake_minimum_required(VERSION 3.23)
# 项目信息
project(untitled)

set(CMAKE_CXX_STANDARD 20)
# 指定生成目标
add_executable(untitled main.cpp)

多个源文件

1
2
# 指定生成目标
add_executable(Demo main.cc MathFunctions.cc)

唯一的改动只是在 add_executable 命令中增加了一个 MathFunctions.cc 源文件。这样写当然没什么问题,但是如果源文件很多,把所有源文件的名字都加进去将是一件烦人的工作。更省事的方法是使用 aux_source_directory 命令,该命令会查找指定目录下的所有源文件,然后将结果存进指定变量名。其语法如下:

aux_source_directory(<dir> <variable>)

1
2
3
4
5
6
7
8
9
10
11
12
# CMake 最低版本号要求
cmake_minimum_required(VERSION 3.23)

# 项目信息
project (untitled)

# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)

# 指定生成目标
add_executable(untitled ${DIR_SRCS})

这样,CMake 会将当前目录所有源文件的文件名赋值给变量 DIR_SRCS ,再指示变量 DIR_SRCS 中的源文件需要编译成一个名称为 untitled 的可执行文件。

多目录

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# CMake 最低版本号要求
cmake_minimum_required(VERSION 3.23)
# 项目信息
project (untitled)

# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)

# 添加 math 子目录
add_subdirectory(math)

# 指定生成目标
add_executable(untitled main.cc)

# 添加链接库
target_link_libraries(untitled MathFunctions)

该文件添加了下面的内容: 第3行,使用命令 add_subdirectory 指明本项目包含一个子目录 math,这样 math 目录下的 CMakeLists.txt 文件和源代码也会被处理 。第6行,使用命令 target_link_libraries 指明可执行文件 main 需要连接一个名为 MathFunctions 的链接库 。子目录中的 CMakeLists.txt:

1
2
3
4
5
6
# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_LIB_SRCS 变量
aux_source_directory(. DIR_LIB_SRCS)

# 生成链接库
add_library (MathFunctions ${DIR_LIB_SRCS})

在该文件中使用命令 add_library 将 src 目录中的源文件编译为静态链接库。

CMake语法

CMakeLists 详解

CMakeLists 变量篇

我们可以使用 SET(set) 来定义变量

语法SET(VAR [VALUE] [CACHE TYPE DOCSTRING [FORCE]]) 指令功能 : 用来显式的定义变量 例子 : SET (SRC_LST main.c other.c) 说明: 用变量代替值,例子中定义 SRC_LST 代替后面的字符串。

我们可以使用 ${NAME} 来获取变量的名称。

cmake 常用变量

环境变量名描述
CMAKE_BINARY_DIR, PROJECT_BINARY_DIR, <projectname>_BINARY_DIR如果是 in source 编译,指得就是工程顶层目录,如果是 out-of-source 编译,指的是工程编译发生的目录。PROJECT_BINARY_DIR 跟其他指令稍有区别,现在,你可以理解为他们是一致的。
CMAKE_SOURCE_DIR, PROJECT_SOURCE_DIR, <projectname>_SOURCE_DIR工程顶层目录。
CMAKE_CURRENT_SOURCE_DIR当前处理的 CMakeLists.txt 所在的路径,比如上面我们提到的 src 子目录。
CMAKE_CURRRENT_BINARY_DIR如果是 in-source 编译,它跟 CMAKE_CURRENT_SOURCE_DIR 一致,如果是 out-of-source 编译,他指的是 target 编译目录。
EXECUTABLE_OUTPUT_PATH , LIBRARY_OUTPUT_PATH最终目标文件存放的路径。
PROJECT_NAME通过 PROJECT 指令定义的项目名称。

cmake 系统信息

系统信息变量名描述
CMAKE_MAJOR_VERSIONCMAKE 主版本号,比如 2.4.6 中的 2
CMAKE_MINOR_VERSIONCMAKE 次版本号,比如 2.4.6 中的 4
CMAKE_PATCH_VERSIONCMAKE 补丁等级,比如 2.4.6 中的 6
CMAKE_SYSTEM系统名称,比如 Linux-2.6.22
CMAKE_SYSTEM_NAME不包含版本的系统名,比如 Linux
CMAKE_SYSTEM_VERSION系统版本,比如 2.6.22
CMAKE_SYSTEM_PROCESSOR处理器名称,比如 i686.
UNIX在所有的类 UNIX 平台为 TRUE,包括 OS X 和 cygwin
WIN32在所有的 win32 平台为 TRUE,包括 cygwin

cmake 编译选项

编译控制开关名描述
BUILD_SHARED_LIBS使用 ADD_LIBRARY 时生成动态库
BUILD_STATIC_LIBS使用 ADD_LIBRARY 时生成静态库
CMAKE_C_FLAGS设置 C 编译选项,也可以通过指令 ADD_DEFINITIONS()添加。
CMAKE_CXX_FLAGS设置 C++编译选项,也可以通过指令 ADD_DEFINITIONS()添加。

CMake 常用指令

  • ADD_DEFINITIONS

语法 : ADD_DEFINITIONS(-DENABLE_DEBUG -DABC)

向 C/C++编译器添加 -D 定义. 如果你的代码中定义了#ifdef ENABLE_DEBUG #endif,这个代码块就会生效。

  • ADD_DEPENDENCIES

语法: ADD_DEPENDENCIES(target-name depend-target1 depend-target2 ...)

定义 target 依赖的其他 target, 确保在编译本 target 之前,其他的 target 已经被构建。

  • AUX_SOURCE_DIRECTORY

语法 : AUX_SOURCE_DIRECTORY(dir VARIABLE)

作用是发现一个目录下所有的源代码文件并将列表存储在一个变量中,这个指令临时被用来自动构建源文件列表。因为目前 cmake 还不能自动发现新添加的源文件。

比如 :

1
2
AUX_SOURCE_DIRECTORY(. SRC_LIST)
ADD_EXECUTABLE(main ${SRC_LIST})
  • ADD_SUBDIRECTORY

语法 : ADD_SUBDIRECTORY(NAME) 添加一个文件夹进行编译,该文件夹下的 CMakeLists.txt 负责编译该文件夹下的源码. NAME是想对于调用add_subdirectory的CMakeListst.txt的相对路径.

  • find_package

语法 : find_package(<PackageName> [version] [EXACT] [QUIET] [MODULE] [REQUIRED] [[COMPONENTS] [components...]] [OPTIONAL_COMPONENTS components...] [NO_POLICY_SCOPE])

查找并从外部项目加载设置。 <PackageName>_FOUND 将设置为指示是否找到该软件包。 找到软件包后,将通过软件包本身记录的变量和“导入的目标”提供特定于软件包的信息。 该QUIET选项禁用信息性消息,包括那些如果未找到则表示无法找到软件包的消息REQUIRED``。REQUIRED如果找不到软件包,该选项将停止处理并显示一条错误消息。

COMPONENTS选件后(或REQUIRED选件后,如果有的话)可能会列出所需组件的特定于包装的列表 。后面可能会列出其他可选组件OPTIONAL_COMPONENTS。可用组件及其对是否认为找到包的影响由目标包定义。

  • include_directories

语法 : include_directories([AFTER|BEFORE] [SYSTEM] dir1 [dir2 ...])

将给定目录添加到编译器用来搜索包含文件的目录中。相对路径被解释为相对于当前源目录。

包含目录添加到 INCLUDE_DIRECTORIES 当前CMakeLists文件的目录属性。它们也被添加到INCLUDE_DIRECTORIES当前CMakeLists文件中每个目标的target属性。目标属性值是生成器使用的属性值。

  • link_libraries

语法 : link_libraries([item1 [item2 [...]]] [[debug|optimized|general] <item>] ...)

将库链接到以后添加的所有目标。

  • ADD_EXECUTABLE

语法 : ADD_EXECUTABLE(<name> [source1] [source2 ...])

利用源码文件生成目标可执行程序。

  • ADD_LIBRARY

语法 : ADD_LIBRARY(<name> [STATIC | SHARED | MODULE] [source1] [source2 ...])

根据源码文件生成目标库。

STATIC,SHARED 或者 MODULE 可以指定要创建的库的类型。 STATIC库是链接其他目标时使用的目标文件的存档。 SHARED库是动态链接的,并在运行时加载

  • ENABLE_TESTING

语法: ENABLE_TESTING().

控制 Makefile 是否构建 test 目标,涉及工程所有目录。 一般情况这个指令放在工程的主CMakeLists.txt 中.

  • ADD_TEST

语法 : ADD_TEST(testname Exename arg1 arg2 ...)

testname 是自定义的 test 名称,Exename 可以是构建的目标文件也可以是外部脚本等等。 后面连接传递给可执行文件的参数。 如果没有在同一个 CMakeLists.txt 中打开ENABLE_TESTING()指令, 任何 ADD_TEST 都是无效的。

  • CMAKE_MINIMUM_REQUIRED

语法 : CMAKE_MINIMUM_REQUIRED 定义 cmake 的最低兼容版本 比如 CMAKE_MINIMUM_REQUIRED(VERSION 2.5 FATAL_ERROR) 如果 cmake 版本小与 2.5,则出现严重错误,整个过程中止。

  • EXEC_PROGRAM

在 CMakeLists.txt 处理过程中执行命令,并不会在生成的 Makefile 中执行。 具体语法为:

1
2
3
4
EXEC_PROGRAM(Executable [directory in which to run]
[ARGS <arguments to executable>]
[OUTPUT_VARIABLE <var>]
[RETURN_VALUE <var>])

用于在指定的目录运行某个程序,通过 ARGS 添加参数,如果要获取输出和返回值,可通过OUTPUT_VARIABLE 和 RETURN_VALUE 分别定义两个变量.

这个指令可以帮助你在 CMakeLists.txt 处理过程中支持任何命令,比如根据系统情况去修改代码文件等等。

  • FILE 指令

文件操作指令

语法:

1
2
3
4
5
6
7
8
9
10
11
FILE(WRITE filename "message to write"... )
FILE(APPEND filename "message to write"... )
FILE(READ filename variable)
FILE(GLOB variable [RELATIVE path] [globbing expression_r_rs]...)
FILE(GLOB_RECURSE variable [RELATIVE path] [globbing expression_r_rs]...)
FILE(REMOVE [directory]...)
FILE(REMOVE_RECURSE [directory]...)
FILE(MAKE_DIRECTORY [directory]...)
FILE(RELATIVE_PATH variable directory file)
FILE(TO_CMAKE_PATH path result)
FILE(TO_NATIVE_PATH path result)

CMake 控制指令

  • IF 指令
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
if(<condition>)
<commands>
elseif(<condition>) # optional block, can be repeated
<commands>
else() # optional block
<commands>
endif()

#####

IF(var),如果变量不是:空,0,N, NO, OFF, FALSE, NOTFOUND 或<var>_NOTFOUND 时,表达式为真。
IF(NOT var ),与上述条件相反。
IF(var1 AND var2),当两个变量都为真是为真。
IF(var1 OR var2),当两个变量其中一个为真时为真。
IF(COMMAND cmd),当给定的 cmd 确实是命令并可以调用是为真。
IF(EXISTS dir)或者 IF(EXISTS file),当目录名或者文件名存在时为真。
IF(file1 IS_NEWER_THAN file2),当 file1 比 file2 新,或者 file1/file2 其中有一个不存在时为真,文件名请使用完整路径。
IF(IS_DIRECTORY dirname),当 dirname 是目录时,为真。
IF(variable MATCHES regex)
IF(string MATCHES regex)
  • FOREACH 指令

语法:

1
2
3
foreach(<loop_var> <items>)
<commands>
endforeach()

其中<items>是以分号或空格分隔的项目列表。记录foreach匹配和匹配之间的所有命令endforeach而不调用。 一旦endforeach评估,命令的记录列表中的每个项目调用一次<items>。在每次迭代开始时,变量loop_var将设置为当前项的值。

  • WHILE 指令

语法:

1
2
3
while(<condition>)
<commands>
endwhile()

while和匹配之间的所有命令 endwhile()被记录而不被调用。 一旦endwhile()如果被评估,则只要为<condition>真,就会调用记录的命令列表。


实战

多个目录,多个源文件

  • 文件部署:
1
2
3
4
5
6
7
8
9
./Demo3
|
+--- main.cc
|
+--- math/
|
+--- MathFunctions.cc
|
+--- MathFunctions.h
  • 顶层的 CMakeLists.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
# CMake 最低版本号要求
cmake_minimum_required (VERSION 2.8)
# 项目信息
project (Demo3)
# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)
# 添加 math 子目录
add_subdirectory(math)
# 指定生成目标
add_executable(Demo main.cc)
# 添加链接库
target_link_libraries(Demo MathFunctions)
  • math 中使用CMakeLists.txt 生成静态库文件:
1
2
3
4
5
# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_LIB_SRCS 变量
aux_source_directory(. DIR_LIB_SRCS)
# 生成链接库
add_library (MathFunctions ${DIR_LIB_SRCS})

添加第三方依赖库

现在工程需要第三方依赖库 jsoncpp :

1
2
3
4
5
6
7
8
./cmake-start
|
+---src/main.cc
+---ext/jsoncpp/
|
+ ---include/
+ ---lib/
+---CMakeLists.txt

CMakeLists :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cmake_minimum_required (VERSION 2.8)

project(cmake)

add_definitions(-std=gnu++11)

set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)

include_directories(${CMAKE_SOURCE_DIR}/ext/jsoncpp/include)
link_directories(${CMAKE_SOURCE_DIR}/ext/jsoncpp/lib)

aux_source_directory(src SRC)

add_executable(demon ${SRC})

target_link_libraries(demon kmsjsoncpp)

自定义编译选项

CMake 允许为项目增加编译选项,从而可以根据用户的环境和需求选择最合适的编译方案。

例如,可以将 MathFunctions 库设为一个可选的库,如果该选项为 ON ,就使用该库定义的数学函数来进行运算。否则就调用标准库中的数学函数库。

修改 CMakeLists 文件 我们要做的第一步是在顶层的 CMakeLists.txt 文件中添加该选项:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# CMake 最低版本号要求
cmake_minimum_required (VERSION 2.8)
# 项目信息
project (Demo4)
# 加入一个配置头文件,用于处理 CMake 对源码的设置
configure_file (
"${PROJECT_SOURCE_DIR}/config.h.in"
"${PROJECT_BINARY_DIR}/config.h"
)
# 是否使用自己的 MathFunctions 库
option (USE_MYMATH
"Use provided math implementation" ON)
# 是否加入 MathFunctions 库
if (USE_MYMATH)
include_directories ("${PROJECT_SOURCE_DIR}/math")
add_subdirectory (math)
set (EXTRA_LIBS ${EXTRA_LIBS} MathFunctions)
endif (USE_MYMATH)
# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)
# 指定生成目标
add_executable(Demo ${DIR_SRCS})
target_link_libraries (Demo ${EXTRA_LIBS})

参考资料

CMake 入门实战 HaHack

cmake 常用变量和常用环境变量查表手册 - 博客园

cmake-env-variables(7) — CMake 3.15.0 Documentation

aspia-router&relay

  • 将router&relay单独摘出来进行arm64编译,以便适配到机顶盒设备运行。

关于在linux上编译aspia等问题

因为作者是基于Ubuntu 20.04 and Debian 11.0这两个系统上进行测试和编译的。

博主我只能使用docker进行编译了,博主使用的是Fedora Linux 37 。在使用vcpkg安装asio出现错误。所以需要一个干净的系统环境进行部署aspia需要的依赖。

  • windows编译aspia
  • windows aspia_host 修改为单文件绿色版。
  • linux编译aspia
  • linux-arm64 编译router&relay
  • aspia 无人值守模式,无界面和GUI版本两种
  • aspia后端优化,增加多租户和多用户模式,网络传输速度控制。
  • 数字证书自签

aspia非常适合企业内部使用,也就是只开放客户端:如XXX酒店管理程序绑定aspia,方便进行远程协助。

ubuntu 编译aspia

Ubuntu 20.04
sudo apt update

1
sudo apt install ninja-build autoconf autoconf-archive autopoint python3 bison gperf libgl1-mesa-dev libglu1-mesa-dev libharfbuzz-dev libfontconfig1-dev libfreetype6-dev libx11-dev libx11-xcb-dev libxext-dev libxfixes-dev libxi-dev libxrender-dev libxcb1-dev libxcb-glx0-dev libxcb-keysyms1-dev libxcb-image0-dev libxcb-shm0-dev libxcb-icccm4-dev libxcb-sync-dev libxcb-xfixes0-dev libxcb-shape0-dev libxcb-randr0-dev libxcb-render-util0-dev libxcb-xinerama0-dev libxcb-util-dev libxkbcommon-dev libxkbcommon-x11-dev libatspi2.0-dev libprocps-dev libxdamage-dev libxrandr-dev libpulse-dev flite1-dev libspeechd-dev speech-dispatcher nasm gcc g++ qtcreator
1
sudo apt-get install curl zip unzip tar
1
git clone https://github.com/microsoft/vcpkg.git --depth 1

出现下面的错误

openssl错误

1
2
3
4
5
6
7
8
9
10
-- Using source at /root/vcpkg/buildtrees/openssl/src/nssl-3.1.1-53a8e40f57.clean
openssl requires Linux kernel headers from the system package manager.
They can be installed on Alpine systems via `apk add linux-headers`.
They can be installed on Ubuntu systems via `apt install linux-libc-dev`.

CMake Error at ports/openssl/unix/portfile.cmake:16 (message):
Could not find make. Please install it through your package manager.
Call Stack (most recent call first):
ports/openssl/portfile.cmake:71 (include)
scripts/ports.cmake:147 (include)

根据错误信息,在编译 OpenSSL 时遇到了以下问题:

  1. 缺少 Linux 内核头文件:在 Alpine 系统上,可以使用 apk add linux-headers 命令安装;在 Ubuntu 系统上,可以使用 apt install linux-libc-dev 命令安装。

  2. 缺少 make 工具:请通过你的软件包管理器安装 make。在大多数 Linux 发行版上,可以使用 apt install make 命令来安装 make。

请按以下步骤解决这些问题:

  1. 首先,安装 Linux 内核头文件。如果你正在使用的是 Alpine 系统,请运行 apk add linux-headers 命令。如果你正在使用的是 Ubuntu 系统,请运行 apt install linux-libc-dev 命令。

  2. 其次,在确保已安装 make 工具后,重新编译 OpenSSL。

1
2
3
4
5
6
sudo apt update
sudo apt install make
cd /root/vcpkg
./bootstrap-vcpkg.sh
./vcpkg integrate install
./vcpkg install openssl

运行这些命令将更新软件包列表、安装 make 工具,并重新编译并安装 OpenSSL。

ICU错误

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message):
Command failed: /usr/bin/autoreconf -vfi
Working Directory: /root/vcpkg/buildtrees/icu/src/c-73_1-src-3575e21c7c.clean/source
Error code: 2
See logs for more information:
/root/vcpkg/buildtrees/icu/autoconf-x64-linux-err.log

Call Stack (most recent call first):
scripts/cmake/vcpkg_configure_make.cmake:630 (vcpkg_execute_required_process)
ports/icu/portfile.cmake:54 (vcpkg_configure_make)
scripts/ports.cmake:147 (include)


error: building icu:x64-linux failed with: BUILD_FAILED
Elapsed time to handle icu:x64-linux: 4.5 s
Please ensure you're using the latest port files with `git pull` and `vcpkg update`.
Then check for known issues at:
https://github.com/microsoft/vcpkg/issues?q=is%3Aissue+is%3Aopen+in%3Atitle+icu
You can submit a new issue at:
https://github.com/microsoft/vcpkg/issues/new?title=[icu]+Build+error&body=Copy+issue+body+from+%2Froot%2Fvcpkg%2Finstalled%2Fvcpkg%2Fissue_body.md

下载依赖组件

``autoreconfisn't magic (though I encounter package maintainers who obviously believe this). When you ranautoreconf, it failed to find the AX_CHECK_COMPILE_FLAGmacro, and produced a corruptconfigure` script. Usually that produces an error/diagnostic message at the same time.

‘AX_CHECK_COMPILE_FLAG` comes from the autoconf archive project, and Debian has a package which provides this, named autoconf-archive. Likely, you forgot to install it:

1
sudo apt-get install autoconf-archive

https://github.com/microsoft/vcpkg/pull/24512

仍然错误无法继续编译。

其实是缺少autoconf-archive

./vcpkg remove asio

./vcpkg install asio

经过上面的步骤即可进行编译成功。

]]>
+ + + + + <h1 id="linux-vcpkg-clion-arm64交叉编译aspia"><a href="#linux-vcpkg-clion-arm64交叉编译aspia" class="headerlink" title="linux+vcpkg+clion+arm64交叉编译a + + + + + + + + + + + +
+ + + win7+vcpkg+vs2019安装用于编译aspia + + https://landv.cn/p/76035fa8.html + 2023-07-07T00:24:58.000Z + 2023-07-07T00:24:58.000Z + + win7+vcpkg+vs2019安装用于编译aspia

powershell升级

powershell在win7上需要安装一个升级包

Windows Management Framework 5.1

https://www.microsoft.com/en-us/download/details.aspx?id=54616

ps升级到5以上就可以运行vcpkg下载内容了

代理工具

https://www.mustdown.com/software/13717.html

使用Proxifier进行代理

vcpkg

https://github.com/microsoft/vcpkg

https://github.com/dchapyshev/vcpkg4aspia

vs2019

旧版本下载

https://visualstudio.microsoft.com/zh-hans/vs/older-downloads/

https://my.visualstudio.com/Downloads?q=visual%20studio%202019&wt.mc_id=o~msft~vscom~older-downloads

编译

https://github.com/dchapyshev/aspia/blob/master/doc/building.md

Instructions for building the project

Windows

  1. You must use Windows 10/11 x64 to build the project. Build in other versions of Windows is not guaranteed.

  2. Download and install Visual Studio Community 2019.

    2.1. Desktop development with C++ workload should be selected when installing.

    2.2. SDK 10.0.18362.0 should be selected when installing.

    2.3. ATL/MFC libraries should be selected when installing.

    2.4. English language pack (required for vcpkg).

  3. Download and install CMake (version >= 3.17.0).

  4. Download and install vcpkg4aspia (forked from Microsoft repository).

  5. In vcpkg, you need to install the following libraries (use triplet x86-windows-static in all cases):

  • asio
  • curl
  • gtest
  • libvpx
  • libyuv
  • mimalloc
  • openssl
  • opus
  • protobuf
  • qt5-base
  • qt5-translations
  • qt5-winextras
  • rapidjson
  • sqlite3
  • zstd
  1. Go to the directory with source code (root directory) and run the following commands:

    mkdir build cd build cmake ..\ -G "Visual Studio 16 2019" -A Win32 -DCMAKE_TOOLCHAIN_FILE=<vcpkg_path>\scripts\buildsystems\vcpkg.cmake -DVCPKG_TARGET_TRIPLET=x86-windows-static (replace <vcpkg_path> with real path to vcpkg)

    You can also use CMake GUI for these purposes.

    After these actions, the aspia.sln file will be generated in directory “build”.

  2. Open aspia.sln in Visual Studio and build the project.

Linux

The build for Linux was tested only in Ubuntu 20.04 and Debian 11.0. If you have a different distribution kit or its version, then additional steps may be required.

  1. Install the following packages in your package manager (packages must be installed before installing vcpkg and its packages):
  • ninja-build
  • autoconf
  • autoconf-archive
  • autopoint
  • python
  • bison
  • gperf
  • libgl1-mesa-dev
  • libglu1-mesa-dev
  • libharfbuzz-dev
  • libfontconfig1-dev
  • libfreetype6-dev
  • libx11-dev
  • libx11-xcb-dev
  • libxext-dev
  • libxfixes-dev
  • libxi-dev
  • libxrender-dev
  • libxcb1-dev
  • libxcb-glx0-dev
  • libxcb-keysyms1-dev
  • libxcb-image0-dev
  • libxcb-shm0-dev
  • libxcb-icccm4-dev
  • libxcb-sync0-dev
  • libxcb-xfixes0-dev
  • libxcb-shape0-dev
  • libxcb-randr0-dev
  • libxcb-render-util0-dev
  • libxcb-xinerama-dev
  • libxcb-util-dev
  • libxkbcommon-dev
  • libxkbcommon-x11-dev
  • libatspi2.0-dev
  • libprocps-dev
  • libxdamage-dev
  • libxrandr-dev
  • libpulse-dev
  • flite1-dev
  • libspeechd-dev
  • speech-dispatcher
  • nasm
  • gcc
  • g++
  • qtcreator
  1. In vcpkg, you need to install the following libraries (use triplet x64-linux in all cases):
  • asio
  • curl
  • gtest
  • icu
  • libvpx
  • libyuv
  • mimalloc
  • openssl
  • opus
  • protobuf
  • qt5-base
  • qt5-translations
  • rapidjson
  • sqlite3
  • zstd
  1. Open QtCreator -> Tools -> Options -> Kits -> Qt Versions. Click the Add button and specify the path to /installed/x64-linux/tools/qt5/bin/qmake.
  2. Open QtCreator -> Tools -> Options -> Kits -> Kits. Click the Add button. Enter a display name for the profile, specify the compilers (gcc/g++), and the Qt profile you added earlier.
  3. Open CMakeLists.txt from the Aspia root directory in QtCreator and configure the build using the previously added profile.

Alternative instructions (SW build system)

  1. Download, unpack and add to PATH sw tool from https://github.com/SoftwareNetwork/binaries
  2. Run sw build source in the project root (example).
    Binaries will be available under .sw/out directory.
  3. To generate VS solution, run sw generate source.

win7-python

https://github.com/landv/PythonWin7

python-3.10.7-embed-amd64

https://github.com/landv/PythonWin7/blob/master/3.10.7/python-3.10.7-embed-amd64.zip

在win7上使用vcpkg install qt5之类的时候会出现调用python错误,使用上面的重新适配win7以后的版本进行覆盖掉vcpkg tools文件夹里面的python即可编译成功。

]]>
+ + + + + <h1 id="win7-vcpkg-vs2019安装用于编译aspia"><a href="#win7-vcpkg-vs2019安装用于编译aspia" class="headerlink" title="win7+vcpkg+vs2019安装用于编译aspia"></a>wi + + + + + + + + + + + +
+ + + 捷信达根据昆仑会员系统结算单据号获取捷信达主单详细信息和手牌号 + + https://landv.cn/p/c9a8aa0c.html + 2023-06-06T10:12:19.000Z + 2023-06-06T10:12:19.000Z + + 捷信达根据昆仑会员系统结算单据号获取捷信达主单详细信息和手牌号
1
2
3
4
5
6
7
--SNB2305208010072
-- 通过会员系统查看结算单据号,根据单据号进行查询明细,获取手牌号。
execute dbo.up_snRptBillItem @as_sDate = '2023-05-20', @as_eDate = '2023-05-20'
SELECT * FROM snBillMast sbm where v_PaidNo='SNB2305208010072'
select * from snBillDetail where v_PaidNo='SNB2305208010072'
SELECT * from v_snTabMast where v_billno ='3052000223'

]]>
+ + + + + <h1 id="捷信达根据昆仑会员系统结算单据号获取捷信达主单详细信息和手牌号"><a href="#捷信达根据昆仑会员系统结算单据号获取捷信达主单详细信息和手牌号" class="headerlink" title="捷信达根据昆仑会员系统结算单据号获取捷信达主单详细信息和手牌 + + + + + + + + + + + +
+ + + webHackersWeapons + + https://landv.cn/p/624e4de9.html + 2023-06-05T01:32:25.000Z + 2023-06-05T01:32:25.000Z + +

A collection of awesome tools used by Web hackers. Happy hacking , Happy bug-hunting

https://github.com/hahwul/WebHackersWeapons

Family project

WebHackersWeapons
MobileHackersWeapons

Table of Contents

Weapons

Attributes

Attributes
TypesArmy-Knife Proxy Recon Fuzzer Scanner Exploit Env Utils Etc
Tagsinfra live-audit mitmproxy crawl pentest subdomains domain url dns port osint apk portscan endpoint param online takeover graphql ssrf cache-vuln jwt crlf path-traversal dependency-confusion s3 broken-link xss oast smuggle 403 ssl sqli cors aaa csp exploit lfi xxe rop RMI blind-xss nuclei-templates fuzz zipbomb wordlist documents darkmode report payload notify deserialize http clipboard cookie diff web3
LangsShell Go Java Ruby Python Rust JavaScript C Kotlin Perl TypeScript BlitzBasic CSS C++ Txt PHP C# HTML

Tools

TypeNameDescriptionStarTagsBadges
Army-KnifeaxiomA dynamic infrastructure toolkit for red teamers and bug bounty hunters!infralinuxmacoswindowsShell
Army-KnifejaelesThe Swiss Army knife for automated Web Application Testinglive-auditlinuxmacoswindowsGo
Army-KnifeZAPThe OWASP ZAP core projectmitmproxy live-audit crawllinuxmacoswindowszapJava
Army-KnifeMetasploitThe world’s most used penetration testing frameworkpentestlinuxmacoswindowsRuby
Army-KnifeBurpSuiteThe BurpSuite Projectmitmproxy live-audit crawllinuxmacoswindowsburpJava
ProxyGlorpA CLI-based HTTP intercept and replay proxymitmproxylinuxmacoswindowsGo
ProxymitmproxyAn interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.mitmproxylinuxmacoswindowsPython
ProxyproxifySwiss Army knife Proxy tool for HTTP/HTTPS traffic capture, manipulation and replaymitmproxylinuxmacoswindowsGo
ProxyEvilProxyA ruby http/https proxy to do EVIL things.mitmproxylinuxmacoswindowsRuby
ProxyhettyHetty is an HTTP toolkit for security research. It aims to become an open source alternative to commercial software like Burp Suite Pro, with powerful features tailored to the needs of the infosec and bug bounty community.mitmproxylinuxmacoswindowsGo
ProxyCaidoA lightweight web security auditing toolkitmitmproxylinuxmacoswindowsRust
ProxyEcho MirageA generic network proxy that uses DLL injection to capture and alter TCP traffic.mitmproxywindows
Reconsubs_allSubdomain Enumeration Wordlist. 8956437 unique words. Updated.subdomainslinuxmacoswindows
ReconaquatoneA Tool for Domain FlyoversdomainlinuxmacoswindowsGo
Reconcc.pyExtracting URLs of a specific target based on the results of “commoncrawl.org”urllinuxmacoswindowsPython
ReconzdnsFast CLI DNS Lookup TooldnslinuxmacoswindowsGo
ReconSubBrutehttps://github.com/TheRook/subbrutesubdomainslinuxmacoswindowsPython
ReconSilverMass scan IPs for vulnerable servicesportlinuxmacoswindowsPython
Reconscilla🏴‍☠️ Information Gathering tool 🏴‍☠️ dns/subdomain/port enumerationlinuxmacoswindowsGo
ReconFavFreakMaking Favicon.ico based Recon Great again !linuxmacoswindowsPython
ReconrenginereNgine is an automated reconnaissance framework meant for gathering information during penetration testing of web applications. reNgine has customizable scan engines, which can be used to scan the websites, endpoints, and gather information.linuxmacoswindowsJavaScript
ReconHunt3rMade your bugbounty subdomains reconnaissance easier with Hunt3r the web application reconnaissance frameworklinuxmacoswindowsRuby
RecondirsearchWeb path scannerlinuxmacoswindowsPython
ReconspiderfootSpiderFoot automates OSINT collection so that you can focus on analysis.osintlinuxmacoswindowsPython
RecondnsvalidatorMaintains a list of IPv4 DNS servers by verifying them against baseline servers, and ensuring accurate responses.dnslinuxmacoswindowsPython
ReconapkleaksScanning APK file for URIs, endpoints & secrets.apklinuxmacoswindowsPython
ReconSublist3rFast subdomains enumeration tool for penetration testerssubdomainslinuxmacoswindowsPython
ReconBLUTODNS Analysis TooldnslinuxmacoswindowsPython
Reconchaos-clientGo client to communicate with Chaos DNS API.linuxmacoswindowsGo
ReconmasscanTCP port scanner, spews SYN packets asynchronously, scanning entire Internet in under 5 minutes.portscanlinuxmacoswindowsC
Reconintrigue-coreDiscover Your Attack SurfacelinuxmacoswindowsRuby
ReconcrawlergoA powerful browser crawler for web vulnerability scannerscrawllinuxmacoswindowsGo
ReconxnLinkFinderA python tool used to discover endpoints (and potential parameters) for a given targetlinuxmacoswindowsPython
Reconhttpxhttpx is a fast and multi-purpose HTTP toolkit allow to run multiple probers using retryablehttp library, it is designed to maintain the result reliability with increased threads.urllinuxmacoswindowsGo
ReconOneForAllOneForAll是一款功能强大的子域收集工具linuxmacoswindowsPython
RecongitrobReconnaissance tool for GitHub organizationslinuxmacoswindowsGo
ReconArjunHTTP parameter discovery suite.paramlinuxmacoswindowsPython
ReconJSFScan.shAutomation for javascript recon in bug bounty.linuxmacoswindowsShell
RecongauFetch known URLs from AlienVault’s Open Threat Exchange, the Wayback Machine, and Common Crawl.urllinuxmacoswindowsGo
ReconGitMinerTool for advanced mining for content on GithublinuxmacoswindowsPython
ReconCT_subdomainsAn hourly updated list of subdomains gathered from certificate transparency logssubdomainslinuxmacoswindows
ReconSTEWSA Security Tool for Enumerating WebSocketslinuxmacoswindowsPython
ReconParthHeuristic Vulnerable Parameter ScannerparamlinuxmacoswindowsPython
ReconDNSDumpsterOnline dns recon & research, find & lookup dns recordsdns onlinelinuxmacoswindows
ReconwaybackurlsFetch all the URLs that the Wayback Machine knows about for a domainurllinuxmacoswindowsGo
RecongospiderGospider - Fast web spider written in GocrawllinuxmacoswindowsGo
ReconkatanaA next-generation crawling and spidering framework.crawllinuxmacoswindowsGo
ReconlazyreconThis script is intended to automate your reconnaissance process in an organized fashionlinuxmacoswindowsShell
ReconLinkFinderA python script that finds endpoints in JavaScript fileslinuxmacoswindowsPython
ReconOsmedeusFully automated offensive security framework for reconnaissance and vulnerability scanninglinuxmacoswindowsGo
Reconsn0intSemi-automatic OSINT framework and package managerosintlinuxmacoswindowsRust
ReconSub404A python tool to check subdomain takeover vulnerabilitysubdomains takeoverlinuxmacoswindowsGo
ReconrusolverFast and accurate DNS resolver.dnslinuxmacoswindowsRust
ReconhtcatParallel and Pipelined HTTP GET UtilitylinuxmacoswindowsGo
ReconhaktrailsGolang client for querying SecurityTrails API datalinuxmacoswindowsGo
ReconSecurityTrailsOnline dns / subdomain / recon toolsubdomains onlinelinuxmacoswindows
ReconcariddiTake a list of domains, crawl urls and scan for endpoints, secrets, api keys, file extensions, tokens and morecrawllinuxmacoswindowsGo
Reconx8Hidden parameters discovery suitelinuxmacoswindowsRust
ReconreconftwreconFTW is a tool designed to perform automated recon on a target domain by running the best set of tools to perform scanning and finding out vulnerabilitieslinuxmacoswindowsShell
ReconuncoverQuickly discover exposed hosts on the internet using multiple search engine.linuxmacoswindowsGo
Recongo-dorkThe fastest dork scanner written in Go.linuxmacoswindowsGo
RecondnsprobeDNSProb (beta) is a tool built on top of retryabledns that allows you to perform multiple dns queries of your choice with a list of user supplied resolvers.dnslinuxmacoswindowsGo
ReconfhcFast HTTP Checker.linuxmacoswindowsRust
Reconurodeclutters url lists for crawling/pentestingurllinuxmacoswindowsPython
Recongoverviewgoverview - Get an overview of the list of URLsurllinuxmacoswindowsGo
ReconRustScanFaster Nmap Scanning with RustportscanlinuxmacoswindowsRust
ReconhakrawlerSimple, fast web crawler designed for easy, quick discovery of endpoints and assets within a web applicationcrawllinuxmacoswindowsGo
ReconknockKnock Subdomain ScansubdomainslinuxmacoswindowsPython
Recongowitness🔍 gowitness - a golang, web screenshot utility using Chrome HeadlesslinuxmacoswindowsGo
ReconSecretFinderSecretFinder - A python script for find sensitive data (apikeys, accesstoken,jwt,..) and search anything on javascript fileslinuxmacoswindowsPython
ReconHydraReconAll In One, Fast, Easy Recon ToollinuxmacoswindowsPython
ReconnaabuA fast port scanner written in go with focus on reliability and simplicity. Designed to be used in combination with other tools for attack surface discovery in bug bounties and pentestsportscanlinuxmacoswindowsGo
ReconChaos Webactively scan and maintain internet-wide assets’ data. enhance research and analyse changes around DNS for better insights.linuxmacoswindows
Recongithub-endpointsFind endpoints on GitHub.linuxmacoswindowsGo
ReconparamethThis tool can be used to brute discover GET and POST parameterslinuxmacoswindowsPython
ReconmegFetch many paths for many hosts - without killing the hostslinuxmacoswindowsGo
Reconurlhuntera recon tool that allows searching on URLs that are exposed via shortener servicesurllinuxmacoswindowsGo
ReconfindomainThe fastest and cross-platform subdomain enumerator, do not waste your time.subdomainslinuxmacoswindowsRust
ReconPhotonIncredibly fast crawler designed for OSINT.osint crawllinuxmacoswindowsPython
ReconsubjsFetches javascript file from a list of URLS or subdomains.url subdomainslinuxmacoswindowsGo
Recon3klConAutomation Recon tool which works with Large & Medium scopes. It performs more than 20 tasks and gets back all the results in separated files.linuxmacoswindowsPython
RecongobusterDirectory/File, DNS and VHost busting tool written in GosubdomainslinuxmacoswindowsGo
ReconSubOverA Powerful Subdomain Takeover Toolsubdomains takeoverlinuxmacoswindowsGo
Recondnsxdnsx is a fast and multi-purpose DNS toolkit allow to run multiple DNS queries of your choice with a list of user-supplied resolvers.dnslinuxmacoswindowsGo
RecondmutA tool to perform permutations, mutations and alteration of subdomains in golang.subdomainslinuxmacoswindowsGo
ReconsubjackSubdomain Takeover tool written in Gosubdomains takeoverlinuxmacoswindowsGo
Recongraphw00fGraphQL Server Engine Fingerprinting utilitygraphqllinuxmacoswindowsPython
ReconsubzySubdomain takeover vulnerability checkersubdomains takeoverlinuxmacoswindowsGo
ReconLepusSubdomain findersubdomainslinuxmacoswindowsPython
ReconmegplusAutomated reconnaissance wrapper — TomNomNom’s meg on steroids. [DEPRECATED]linuxmacoswindowsShell
ReconaltdnsGenerates permutations, alterations and mutations of subdomains and then resolves themdnslinuxmacoswindowsPython
ReconshufflednsshuffleDNS is a wrapper around massdns written in go that allows you to enumerate valid subdomains using active bruteforce as well as resolve subdomains with wildcard handling and easy input-output support.dnslinuxmacoswindowsGo
ReconassetfinderFind domains and subdomains related to a given domainsubdomainslinuxmacoswindowsGo
ReconsubfinderSubfinder is a subdomain discovery tool that discovers valid subdomains for websites. Designed as a passive framework to be useful for bug bounties and safe for penetration testing.subdomainslinuxmacoswindowsGo
ReconAmassIn-depth Attack Surface Mapping and Asset DiscoverysubdomainslinuxmacoswindowsGo
ReconlongtongueCustomized Password/Passphrase List inputting Target InfolinuxmacoswindowsPython
ReconsubgenA really simple utility to concate wordlists to a domain name - to pipe into your favourite resolver!subdomainslinuxmacoswindowsGo
Recongithub-subdomainsFind subdomains on GitHublinuxmacoswindowsGo
RecongetJSA tool to fastly get all javascript sources/fileslinuxmacoswindowsGo
ReconSmapa drop-in replacement for Nmap powered by shodan.ioportlinuxmacoswindowsGo
ReconShodanWorld’s first search engine for Internet-connected devicesosintlinuxmacoswindows
ReconpurednsPuredns is a fast domain resolver and subdomain bruteforcing tool that can accurately filter out wildcard subdomains and DNS poisoned entries.linuxmacoswindowsGo
RecongauplusA modified version of gau for personal usage. Support workers, proxies and some extra things.urllinuxmacoswindowsGo
Reconpagodopagodo (Passive Google Dork) - Automate Google Hacking Database scraping and searchinglinuxmacoswindowsPython
ReconhakrevdnsSmall, fast tool for performing reverse DNS lookups en masse.linuxmacoswindowsGo
ReconParamSpiderMining parameters from dark corners of Web ArchivesparamlinuxmacoswindowsPython
Reconrecon_profileRecon profile (bash profile) for bugbountylinuxmacoswindowsShell
FuzzerSSRFireAn automated SSRF finder. Just give the domain name and your server and chillssrflinuxmacosShell
FuzzerhashcatWorld’s fastest and most advanced password recovery utilitylinuxmacoswindowsC
FuzzerBruteXAutomatically brute force all services running on a target.linuxmacoswindowsShell
FuzzerCrackQLCrackQL is a GraphQL password brute-force and fuzzing utility.graphqllinuxmacoswindowsPython
FuzzerGraphQLmapGraphQLmap is a scripting engine to interact with a graphql endpoint for pentesting purposes.graphqllinuxmacoswindowsPython
FuzzerkiterunnerContextual Content Discovery ToollinuxmacoswindowsGo
Fuzzerc-jwt-crackerJWT brute force cracker written in CjwtlinuxmacoswindowsC
FuzzerBatchQLGraphQL security auditing script with a focus on performing batch GraphQL queries and mutationsgraphqllinuxmacoswindowsPython
FuzzerwfuzzWeb application fuzzerlinuxmacoswindowsPython
FuzzerParamPamPamThis tool for brute discover GET and POST parameters.param cache-vulnlinuxmacoswindowsPython
FuzzercrlfuzzA fast tool to scan CRLF vulnerability written in GocrlflinuxmacoswindowsShell
Fuzzerjwt-hack🔩 jwt-hack is tool for hacking / security testing to JWT. Supported for En/decoding JWT, Generate payload for JWT attack and very fast cracking(dict/brutefoce)jwtlinuxmacoswindowsGo
FuzzermedusaFastest recursive HTTP fuzzer, like a Ferrari.linuxmacoswindowsGo
FuzzerppfuzzA fast tool to scan client-side prototype pollution vulnerability written in Rust. 🦀linuxmacoswindowsRust
FuzzerffufFast web fuzzer written in GolinuxmacoswindowsGo
FuzzerSSRFmapAutomatic SSRF fuzzer and exploitation toolssrflinuxmacoswindowsPython
FuzzerfuzzparamA fast go based param miner to fuzz possible parameters a URL can have.paramlinuxmacoswindowsGo
FuzzerdotdotpwnDotDotPwn - The Directory Traversal Fuzzerpath-traversallinuxmacoswindowsPerl
Fuzzerthc-hydrahydralinuxmacoswindowsC
Fuzzerjwt-crackerSimple HS256 JWT token brute force crackerjwtlinuxmacoswindowsJavaScript
FuzzerferoxbusterA fast, simple, recursive content discovery tool written in Rust.linuxmacoswindowsRust
ScannerFockCacheMinimalized Test Cache Poisoningcache-vulnlinuxmacoswindowsGo
ScannerconfusedTool to check for dependency confusion vulnerabilities in multiple package management systemsdependency-confusionlinuxmacoswindowsGo
ScannerhttprobeTake a list of domains and probe for working HTTP and HTTPS serverslinuxmacoswindowsGo
Scannerweb_cache_poisonweb cache poison - Top 1 web hacking technique of 2019cache-vulnlinuxmacoswindowsShell
ScannerrapidscanThe Multi-Tool Web Vulnerability Scanner.linuxmacoswindowsPython
ScannerautopoisonerWeb cache poisoning vulnerability scanner.cache-vulnlinuxmacoswindowsPython
ScannerS3ScannerScan for open AWS S3 buckets and dump the contentss3linuxmacoswindowsPython
ScannerdeadlinksHealth checks for your documentation links.broken-linklinuxmacoswindowsPython
ScannerS3cret ScannerHunting For Secrets Uploaded To Public S3 Bucketss3linuxmacoswindowsPython
Scannerxsinator.comXS-Leak Browser Test SuitelinuxmacoswindowsJavaScript
Scannerssrf-sheriffA simple SSRF-testing sheriff written in GossrflinuxmacoswindowsGo
ScannerXSStrikeMost advanced XSS scanner.xsslinuxmacoswindowsPython
ScannerppmapA scanner/exploitation tool written in GO, which leverages client-side Prototype Pollution to XSS by exploiting known gadgets.linuxmacoswindowsGo
ScannertplmapServer-Side Template Injection and Code Injection Detection and Exploitation ToollinuxmacoswindowsPython
ScannerOralyzerOpen Redirection AnalyzerlinuxmacoswindowsPython
Scannerws-smugglerWebSocket Connection SmugglersmugglelinuxmacoswindowsGo
Scannerdontgo403Tool to bypass 40X response codes.403linuxmacoswindowsGo
ScannerxsscrapyXSS/SQLi spider. Give it a URL and it’ll test every link it finds for XSS and some SQLi.xsslinuxmacoswindowsPython
ScannerarachniWeb Application Security Scanner FrameworklinuxmacoswindowsRuby
ScannerOpenRedireXA Fuzzer for OpenRedirect issueslinuxmacoswindowsPython
ScannerDOMPurifyDOMPurify - a DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. DOMPurify works with a secure default, but offers a lot of configurability and hooks. Demo:xsslinuxmacoswindowsJavaScript
Scannertestssl.shTesting TLS/SSL encryption anywhere on any portssllinuxmacoswindowsShell
ScannerDirDarDirDar is a tool that searches for (403-Forbidden) directories to break it and get dir listing on it403linuxmacoswindowsGo
Scannerhttp-request-smugglingHTTP Request Smuggling Detection ToollinuxmacoswindowsPython
Scannergithub-searchTools to perform basic search on GitHub.linuxmacoswindowsJavaScript
Scannerdalfox🌘🦊 Dalfox is a powerful open-source XSS scanner and utility focused on automation.xsslinuxmacoswindowsGo
Scannerjsprimea javascript static security analysis toollinuxmacoswindowsJavaScript
ScannersqlmapAutomatic SQL injection and database takeover toollinuxmacoswindowsPython
ScannernosqliNoSql Injection CLI toollinuxmacoswindowsGo
ScannerHRSHTTP Request Smuggling demonstration Perl script, for variants 1, 2 and 5 in my BlackHat US 2020 paper HTTP Request Smuggling in 2020.linuxmacoswindowsPerl
ScannerLFISuiteTotally Automatic LFI Exploiter (+ Reverse Shell) and ScannerlinuxmacoswindowsPython
Scannera2svAuto Scanning to SSL VulnerabilityssllinuxmacoswindowsPython
ScannerwpscanWPScan is a free, for non-commercial use, black box WordPress Vulnerability Scanner written for security professionals and blog maintainers to test the security of their WordPress websites.linuxmacoswindowsRuby
ScannerwpreconHello! Welcome. Wprecon (Wordpress Recon), is a vulnerability recognition tool in CMS Wordpress, 100% developed in Go.linuxmacoswindowsGo
ScannerNoSQLMapAutomated NoSQL database enumeration and web application exploitation tool.linuxmacoswindowsPython
ScannerxsserCross Site “Scripter” (aka XSSer) is an automatic -framework- to detect, exploit and report XSS vulnerabilities in web-based applications.xsslinuxmacoswindowsPython
ScannerAWSBucketDumpSecurity Tool to Look For Interesting Files in S3 Bucketss3linuxmacoswindowsPython
Scannerhttp2smuglThis tool helps to detect and exploit HTTP request smuggling in cases it can be achieved via HTTP/2 -> HTTP/1.1 conversion by the frontend server.linuxmacoswindowsGo
ScannerDSSSDamn Small SQLi ScannersqlilinuxmacoswindowsPython
ScannerXSpearPowerfull XSS Scanning and Parameter analysis tool&gemxsslinuxmacoswindowsRuby
ScannergitleaksScan git repos (or files) for secrets using regex and entropy 🔑linuxmacoswindowsGo
ScannerheadiCustomisable and automated HTTP header injectionlinuxmacoswindowsGo
ScannerChromium-based-XSS-Taint-TrackingCyclops is a web browser with XSS detection feature, it is chromium-based xss detection that used to find the flows from a source to a sink.xsslinuxmacoswindows
Scannerzap-cliA simple tool for interacting with OWASP ZAP from the commandline.linuxmacoswindowszapPython
ScannerhinjectHost Header Injection CheckerlinuxmacoswindowsGo
ScannerCorsMeCross Origin Resource Sharing MisConfiguration ScannercorslinuxmacoswindowsGo
Scannersqlivmassive SQL injection vulnerability scannersqlilinuxmacoswindowsPython
ScannerWeb-Cache-Vulnerability-ScannerWeb Cache Vulnerability Scanner is a Go-based CLI tool for testing for web cache poisoning. It is developed by Hackmanit GmbH (http://hackmanit.de/).cache-vulnlinuxmacoswindowsGo
ScannergitGrabergitGraberlinuxmacoswindowsPython
Scannercorsair_scanCorsair_scan is a security tool to test Cross-Origin Resource Sharing (CORS).corslinuxmacoswindowsPython
Scannerh2csmugglerHTTP Request Smuggling Detection ToolsmugglelinuxmacoswindowsGo
ScannerdittoA tool for IDN homograph attacks and detection.linuxmacoswindowsGo
ScannerTaipanWeb application vulnerability scannerlinuxmacoswindows
ScannerplutionPrototype pollution scanner using headless chromelinuxmacoswindowsGo
ScannernucleiNuclei is a fast tool for configurable targeted scanning based on templates offering massive extensibility and ease of use.linuxmacoswindowsGo
ScannersmugglerSmuggler - An HTTP Request Smuggling / Desync testing tool written in Python 3smugglelinuxmacoswindowsPython
ScannerVHostScanA virtual host scanner that performs reverse lookups, can be used with pivot tools, detect catch-all scenarios, work around wildcards, aliases and dynamic default pages.linuxmacoswindowsPython
ScannerDeadFinderFind dead-links (broken links)broken-linklinuxmacoswindowsRuby
ScannernmapNmap - the Network Mapper. Github mirror of official SVN repository.portscanlinuxmacoswindowsC
Scannerwebsocket-connection-smugglerwebsocket-connection-smugglersmugglelinuxmacoswindowsGo
ScannerPPScanClient Side Prototype Pollution ScannerlinuxmacoswindowsJavaScript
ScannercommixAutomated All-in-One OS Command Injection Exploitation Tool.exploitlinuxmacoswindowsPython
ScannerStrikerStriker is an offensive information and vulnerability scanner.linuxmacoswindowsPython
Scannerfindom-xssA fast DOM based XSS vulnerability scanner with simplicity.xsslinuxmacoswindowsShell
ScannerniktoNikto web server scannerlinuxmacoswindowsPerl
ScannerDeepVioletTool for introspection of SSL\TLS sessionsssllinuxmacoswindowsJava
ScannerCorsyCORS Misconfiguration ScannercorslinuxmacoswindowsPython
ScannerdomdigDOM XSS scanner for Single Page ApplicationsxsslinuxmacoswindowsJavaScript
ExploitbeefThe Browser Exploitation Framework ProjectxsslinuxmacoswindowsRuby
ExploitGopherusThis tool generates gopher link for exploiting SSRF and gaining RCE in various serversssrflinuxmacoswindowsPython
ExploitSn1perAutomated pentest framework for offensive security expertslinuxmacoswindowsShell
ExploittoxssinAn XSS exploitation command-line interface and payload generator.xsslinuxmacoswindowsPython
ExploitxxeservA mini webserver with FTP support for XXE payloadslinuxmacoswindowsGo
ExploitsingularityA DNS rebinding attack framework.linuxmacoswindowsJavaScript
ExploitghauriAn advanced cross-platform tool that automates the process of detecting and exploiting SQL injection security flawssqlilinuxmacoswindowsPython
ExploitLiffyLocal file inclusion exploitation toollfilinuxmacoswindowsPython
Exploitof-CORSIdentifying and exploiting CORS misconfigurations on the internal networkscorslinuxmacoswindowsPython
ExploitSQLNinjaSqlninja is a tool targeted to exploit SQL Injection vulnerabilities.sqlilinuxmacosPerl
ExploitXXExploiterTool to help exploit XXE vulnerabilitiesxxelinuxmacoswindowsTypeScript
ExploitroprA blazing fast™ multithreaded ROP Gadget finder. ropperroplinuxmacoswindowsRust
ExploitBaRMIeJava RMI enumeration and attack tool.RMIlinuxmacoswindowsJava
ExploitXSRFProbeThe Prime Cross Site Request Forgery (CSRF) Audit and Exploitation Toolkit.linuxmacoswindowsPython
ExploitXXEinjectorTool for automatic exploitation of XXE vulnerability using direct and different out of band methods.xxelinuxmacoswindowsRuby
UtilsTukTukTool for catching and logging different types of requests.oastlinuxmacoswindowsGo
UtilsXSS-CatcherFind blind XSS but why not gather data while you’re at it.xss blind-xsslinuxmacoswindowsPython
UtilscurlA command line tool and library for transferring data with URL syntax, supporting HTTP, HTTPS, FTP, FTPS, GOPHER, TFTP, SCP, SFTP, SMB, TELNET, DICT, LDAP, LDAPS, MQTT, FILE, IMAP, SMTP, POP3, RTSP and RTMP. libcurl offers a myriad of powerful featureslinuxmacoswindowsC
UtilspetSimple command-line snippet manager, written in Go.linuxmacoswindowsGo
UtilscentCommunity edition nuclei templates, a simple tool that allows you to organize all the Nuclei templates offered by the community in one place.nuclei-templateslinuxmacoswindowsGo
UtilsdnsobserverA handy DNS service written in Go to aid in the detection of several types of blind vulnerabilities. It monitors a pentester’s server for out-of-band DNS interactions and sends lookup notifications via Slack.oast dnslinuxmacoswindowsGo
UtilsCyberChefThe Cyber Swiss Army Knife - a web app for encryption, encoding, compression and data analysislinuxmacoswindowsJavaScript
UtilsgotestwafAn open-source project in Golang to test different web application firewalls (WAF) for detection logic and bypasseslinuxmacoswindowsGo
UtilsgfA wrapper around grep, to help you grep for thingslinuxmacoswindowsGo
UtilsPayloadsAllTheThingsA list of useful payloads and bypass for Web Application Security and Pentest/CTFlinuxmacoswindowsPython
UtilsIntruderPayloadslinuxmacoswindowsburpBlitzBasic
UtilsREcollapseREcollapse is a helper tool for black-box regex fuzzing to bypass validations and discover normalizations in web applicationsfuzzlinuxmacoswindowsPython
Utilsxss-cheatsheet-dataThis repository contains all the XSS cheatsheet data to allow contributions from the community.xsslinuxmacoswindows
UtilsFindsploitFind exploits in local and online databases instantlyexploitlinuxmacoswindowsShell
UtilsZipBombA simple implementation of ZipBomb in PythonzipbomblinuxmacoswindowsPython
UtilsgronMake JSON greppable!linuxmacoswindowsGo
UtilsblistenerBlind-XSS listener with payloadsxss blind-xsslinuxmacoswindowsGo
UtilsPhoenixhahwul’s online toolsonlinelinuxmacoswindowsJavaScript
UtilsdocemUility to embed XXE and XSS payloads in docx,odt,pptx,etc (OXML_XEE on steroids)xxe xsslinuxmacoswindowsPython
UtilsAssetnote WordlistsAutomated & Manual Wordlists provided by Assetnotewordlist documentslinuxmacoswindowsCSS
Utilsnuclei-templatesCommunity curated list of templates for the nuclei engine to find security vulnerabilities.nuclei-templateslinuxmacoswindowsGo
UtilsgotatorGotator is a tool to generate DNS wordlists through permutations.linuxmacoswindowsGo
Utilss3reverseThe format of various s3 buckets is convert in one format. for bugbounty and security testing.s3linuxmacoswindowsGo
Utilspwncatpwncat - netcat on steroids with Firewall, IDS/IPS evasion, bind and reverse shell, self-injecting shell and port forwarding magic - and its fully scriptable with Python (PSE)linuxmacoswindowsShell
UtilsbountyplzAutomated security reporting from markdown templates (HackerOne and Bugcrowd are currently the platforms supported)reportlinuxmacoswindowsShell
Utilsreverse-shell-generatorHosted Reverse Shell generator with a ton of functionality. – (Great for CTFs)payloadlinuxmacoswindowsJavaScript
UtilsEmissarySend notifications on different channels such as Slack, Telegram, Discord etc.notifylinuxmacoswindowsGo
UtilshttptoolkitHTTP Toolkit is a beautiful & open-source tool for debugging, testing and building with HTTP(S) on Windows, Linux & Maclinuxmacoswindows
Utils230-OOBAn Out-of-Band XXE server for retrieving file contents over FTP.xxelinuxmacoswindowsPython
UtilsmubengAn incredibly fast proxy checker & IP rotator with ease.linuxmacoswindowsGo
UtilsGadgetProbeProbe endpoints consuming Java serialized objects to identify classes, libraries, and library versions on remote Java classpaths.deserializelinuxmacoswindowsJava
Utilscf-checkCloudflare Checker written in GolinuxmacoswindowsGo
UtilsxlessThe Serverless Blind XSS Appxss blind-xsslinuxmacoswindowsJavaScript
Utilstemplate-generatorA simple variable based template editor using handlebarjs+strapdownjs. The idea is to use variables in markdown based files to easily replace the variables with content. Data is saved temporarily in local storage. PHP is only needed to generate the list of files in the dropdown of templates.linuxmacoswindowsJavaScript
UtilsburlA Broken-URL CheckerurllinuxmacoswindowsGo
UtilshacksA collection of hacks and one-off scriptslinuxmacoswindowsGo
Utilsgithub-regexpBasically a regexp over a GitHub search.linuxmacoswindowsGo
UtilswuzzInteractive cli tool for HTTP inspectionhttplinuxmacoswindowsGo
UtilsysoserialA proof-of-concept tool for generating payloads that exploit unsafe Java object deserialization.deserializelinuxmacoswindowsJava
UtilsfffThe Fairly Fast Fetcher. Requests a bunch of URLs provided on stdin fairly quickly.urllinuxmacoswindowsGo
UtilsClipboardAn external brain that remembers anything, anytime, anywhere.clipboardlinuxmacoswindowsC++
Utilsmissing-cve-nuclei-templatesWeekly updated list of missing CVEs in nuclei templates official repositorynuclei-templateslinuxmacoswindowsTxt
Utilsxssor2XSS’OR - Hack with JavaScript.xsslinuxmacoswindowsJavaScript
UtilsSequenceDiagramOnline tool for creating UML sequence diagramsonlinelinuxmacoswindows
UtilsGf-PatternsGF Paterns For (ssrf,RCE,Lfi,sqli,ssti,idor,url redirection,debug_logic) parameters greplinuxmacoswindows
UtilsqsreplaceAccept URLs on stdin, replace all query string values with a user-supplied valuelinuxmacoswindowsGo
Utilsob_hacky_slackHacky Slack - a bash script that sends beautiful messages to SlacknotifylinuxmacoswindowsShell
UtilsRedcloudAutomated Red Team Infrastructure deployement using DockerinfralinuxmacoswindowsPython
UtilsgxssBlind XSS service alerting over slack or emailxss blind-xsslinuxmacoswindowsGo
Utilspentest-toolsCustom pentesting toolslinuxmacoswindowsPython
Utilsdifftastica structural diff that understands syntaxdifflinuxmacoswindowsRust
Utilsoxml_xxeA tool for embedding XXE/XML exploits into different filetypeslinuxmacoswindowsRuby
UtilsanewA tool for adding new lines to files, skipping duplicateslinuxmacoswindowsGo
UtilsboastThe BOAST Outpost for AppSec Testing (v0.1.0)oastlinuxmacoswindowsGo
UtilsRoninRonin is a free and Open Source Ruby toolkit for security research and development.payload http pentestlinuxmacoswindowsRuby
UtilsslackcatCLI utility to post files and command output to slacknotifylinuxmacoswindowsGo
UtilsezXSSezXSS is an easy way for penetration testers and bug bounty hunters to test (blind) Cross Site Scripting.xss blind-xsslinuxmacoswindowsPHP
Utilsgrcgeneric colouriserlinuxmacoswindowsPython
UtilsBlacklist3rproject-blacklist3rlinuxmacoswindowsC#
Utilsgraphql-voyager🛰️ Represent any GraphQL API as an interactive graphgraphqllinuxmacoswindowsTypeScript
Utilscan-i-take-over-xyz“Can I take over XYZ?” — a list of services and how to claim (sub)domains with dangling DNS records.linuxmacoswindows
UtilsPoC-in-GitHub📡 PoC auto collect from GitHub. Be careful malware.linuxmacoswindows
UtilshbxssSecurity test tool for Blind XSSxss blind-xsslinuxmacoswindowsRuby
UtilsAtlasQuick SQLMap Tamper SuggesterlinuxmacoswindowsPython
UtilsgitlsListing git repository from URL/User/OrglinuxmacoswindowsGo
UtilsgodeclutterDeclutters URLs in a fast and flexible way, for improving input for web hacking automations such as crawlers and vulnerability scans.urllinuxmacoswindowsGo
UtilsquickjackQuickjack is a point-and-click tool for intuitively producing advanced clickjacking and frame slicing attacks.linuxmacoswindowsJavaScript
UtilsBug-Bounty-ToolzBBT - Bug Bounty ToolslinuxmacoswindowsPython
UtilsunfurlPull out bits of URLs provided on stdinurllinuxmacoswindowsGo
UtilsurlgrabA golang utility to spider through a website searching for additional links.urllinuxmacoswindowsGo
Utilsnuclei-wordfence-cveEvery single day new templates are added to this repo based on updates on Wordfence.comnuclei-templateslinuxmacoswindowsPython
Utilssecurity-crawl-mazeSecurity Crawl Maze is a comprehensive testbed for web security crawlers. It contains pages representing many ways in which one can link resources from a valid HTML document.crawllinuxmacoswindowsHTML
UtilsdsieveFilter and enrich a list of subdomains by levelsubdomainslinuxmacoswindowsGo
Utilsgee🏵 Gee is tool of stdin to each files and stdout. It is similar to the tee command, but there are more functions for convenience. In addition, it was written as golinuxmacoswindowsGo
UtilshakcheckurlTakes a list of URLs and returns their HTTP response codeslinuxmacoswindowsGo
UtilshttpieAs easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpiehttplinuxmacoswindowsPython
UtilshurlHurl, run and test HTTP requests.linuxmacoswindowsRust
UtilstiscriptsTurbo Intruder ScriptslinuxmacoswindowsPython
Utilssecurity-research-pocsProof-of-concept codes created as part of security research done by Google Security Team.linuxmacoswindowsC++
UtilsjsfuckWrite any JavaScript with 6 CharactersxsslinuxmacoswindowsJavaScript
Utilsweaponised-XSS-payloadsXSS payloads designed to turn alert(1) into P1xss documentslinuxmacoswindowsJavaScript
UtilsbatA cat(1) clone with wings.linuxmacoswindowsRust
UtilsgrexA command-line tool and library for generating regular expressions from user-provided test caseslinuxmacoswindowsRust
Utilszip-bombCreate a ZIPBomb for a given uncompressed size (flat and nested modes).zipbomblinuxmacoswindowsPython
UtilsSerializationDumperA tool to dump Java serialization streams in a more human readable form.deserializelinuxmacoswindowsJava
UtilsfzfA command-line fuzzy finderlinuxmacoswindowsGo
UtilsautochromeThis tool downloads, installs, and configures a shiny new copy of Chromium.linuxmacoswindowsHTML
UtilswssipApplication for capturing, modifying and sending custom WebSocket data from client to server and vice versa.linuxmacoswindowsJavaScript
UtilsurlprobeUrls status code & content length checkerurllinuxmacoswindowsGo
UtilsinteractshAn OOB interaction gathering server and client libraryoastlinuxmacoswindowsGo
UtilsCSP EvaluatorOnline CSP Evaluator from googlecsplinuxmacoswindows
UtilsSecListsSecLists is the security tester’s companion. It’s a collection of multiple types of lists used during security assessments, collected in one place. List types include usernames, passwords, URLs, sensitive data patterns, fuzzing payloads, web shells, and many more.wordlist documentslinuxmacoswindowsPHP
Utilsysoserial.netDeserialization payload generator for a variety of .NET formattersdeserializelinuxmacoswindowsC#
EnvGlueApplication Security AutomationlinuxmacoswindowsRuby
Envpentest-envPentest environment deployer (kali linux + targets) using vagrant and chef.pentestlinuxmacoswindowsRuby
EnvCrimsonWeb Application Security Testing automation.linuxmacoswindowsPython

Bookmarklets

TypeNameDescriptionStarTagsBadges

Browser Addons

TypeNameDescriptionStarTagsBadges
ReconWayback MachineHistory of websitelinuxmacoswindowssafari
ReconDotGitAn extension for checking if .git is exposed in visited websiteslinuxmacoswindowsJavaScript
UtilsMM3 ProxySwitchProxy Switch in Firefox and ChromelinuxmacoswindowsfirefoxchromeJavaScript
UtilsHack-ToolsThe all-in-one Red Team extension for Web Pentester 🛠linuxmacoswindowsTypeScript
UtilsUser-Agent Switcherquick and easy way to switch between user-agents.linuxmacoswindowsfirefox
Utilseval_villainA Firefox Web Extension to improve the discovery of DOM XSS.xsslinuxmacoswindowsJavaScript
UtilsDark ReaderDark mode to any sitedarkmodelinuxmacoswindowsfirefoxchromeTypeScript
UtilspostMessage-trackerA Chrome Extension to track postMessage usage (url, domain and stack) both by logging using CORS and also visually as an extension-iconlinuxmacoswindowsJavaScript
UtilsPwnFoxFirefox/Burp extension that provide usefull tools for your security audit.linuxmacoswindowsfirefoxburpJavaScript
Utilscookie-quick-managerAn addon to manage (view, search, create, edit, remove, backup, restore) cookies on Firefox.cookielinuxmacoswindowsJavaScript
UtilsDark Reader for SafariDark mode to any sitelinuxmacoswindowssafari
Utilsfirefox-container-proxyAssign a proxy to a Firefox containerlinuxmacoswindowsfirefoxJavaScript
Utilsclear-cacheAdd-on to clear browser cache with a single click or via the F9 key.linuxmacoswindowsJavaScript
UtilsEdit-This-CookieEditThisCookie is the famous Google Chrome/Chromium extension for editing cookiescookielinuxmacoswindowsJavaScript
Utilsjsonwebtoken.github.ioJWT En/Decode and VerifyjwtlinuxmacoswindowsJavaScript
UtilsFirefox Multi-Account ContainersFirefox Multi-Account Containers lets you keep parts of your online life separated into color-coded tabslinuxmacoswindowsfirefoxJavaScript

Burpsuite and ZAP Addons

TypeNameDescriptionStarTagsBadges
ReconBurpJSLinkFinderlinuxmacoswindowsburpPython
Reconattack-surface-detector-zapThe Attack Surface Detector uses static code analyses to identify web app endpoints by parsing routes and identifying parametersendpointlinuxmacoswindowszapJava
ReconBurpSuite-Secret_Finderlinuxmacoswindowsburp
Reconreflected-parametersparamlinuxmacoswindowsburpJava
Reconburp-retire-jslinuxmacoswindowsburpJavaScript
ReconDr. WatsonDr. Watson is a simple Burp Suite extension that helps find assets, keys, subdomains, IP addresses, and other useful informationparam subdomainslinuxmacoswindowsburpPython
Reconattack-surface-detector-burpThe Attack Surface Detector uses static code analyses to identify web app endpoints by parsing routes and identifying parametersendpointlinuxmacoswindowsburpJava
ReconHUNTIdentifies common parameters vulnerable to certain vulnerability classesparamlinuxmacoswindowszapburpKotlin
Fuzzerparam-minerParam Minerparam cache-vulnlinuxmacoswindowsburpJava
FuzzerGAPThis is an evolution of the original getAllParams extension for Burp. Not only does it find more potential parameters for you to investigate, but it also finds potential links to try these parameters on.paramlinuxmacoswindowsburpPython
Scannercollaborator-everywhereoastlinuxmacoswindowsburpJava
ScannerBurpSuiteHTTPSmugglersmugglelinuxmacoswindowsburpJava
ScannerAutorizeaaalinuxmacoswindowsburpPython
ScannerAuthMatrixaaalinuxmacoswindowsburpPython
Scannerhttp-request-smugglersmugglelinuxmacoswindowsburpJava
Scannercsp-auditorcsplinuxmacoswindowszapburpJava
UtilsAuthMatrixAutomated HTTP Request Repeating With Burp SuitelinuxmacoswindowsburpJava
Utilsturbo-intruderlinuxmacoswindowsburpKotlin
UtilsargumentinjectionhammerA Burp Extension designed to identify argument injection vulnerabilities.linuxmacoswindowsburpPython
UtilsDecoder-ImprovedImproved decoder for Burp SuitelinuxmacoswindowsburpJava
Utilszap-hudlinuxmacoswindowszapJava
UtilsBurpBountylinuxmacoswindowsburpBlitzBasic
UtilsBurpCustomizerBecause just a dark theme wasn’t enough!linuxmacoswindowsburpJava
Utilshttp-script-generatorlinuxmacoswindowszapburpJava
UtilsinqllinuxmacoswindowsburpPython
UtilsHTTPSignaturesA Burp Suite extension implementing the Signing HTTP Messages draft-ietf-httpbis-message-signatures-01 draft.linuxmacoswindowsburpJava
Utilscommunity-scriptslinuxmacoswindowszapJavaScript
Utilsburp-exporterlinuxmacoswindowsburpPython
Utilsburp-piperlinuxmacoswindowsburpKotlin
UtilsAWSSignerBurp Extension for AWS SigninglinuxmacoswindowsburpJava
UtilsfemidalinuxmacoswindowsburpPython
UtilsBerserkoBurp Suite extension to perform Kerberos authenticationlinuxmacoswindowsburpJava
UtilssafecopylinuxmacoswindowsburpJava
UtilsreflectlinuxmacoswindowszapKotlin
utilsNeonmarkerlinuxmacoswindowszapJava
Utilspcap-burpPcap importer for BurplinuxmacoswindowsburpJava
UtilsblackboxprotobufBlackbox protobuf is a Burp Suite extension for decoding and modifying arbitrary protobuf messages without the protobuf type definition.linuxmacoswindowsburpPython
UtilsWeb3 DecoderBurp Extension for Web3web3linuxmacoswindowsburpJava
UtilsknifeA burp extension that add some useful function to Context Menu 添加一些右键菜单让burp用起来更顺畅linuxmacoswindowsJava
UtilsStepperlinuxmacoswindowsburpJava
Utilsburp-send-tolinuxmacoswindowsburpJava
UtilsBurpSuiteLoggerPlusPluslinuxmacoswindowsburpJava
UtilstaboratoroastlinuxmacoswindowsburpJava
utilsowasp-zap-jwt-addonjwtlinuxmacoswindowszapJava
]]>
+ + + + + <h1 align="center"> +<br> +<a href=""><img src="https://user-images.githubusercontent.com/13212227/104400969-9f3d9280-5596-11eb-80f4-864effae9 + + + + + + + + + + + +
+ + + 从零开始编写会员管理系统-01 + + https://landv.cn/p/fda31f1e.html + 2023-05-31T07:00:14.000Z + 2023-05-31T07:00:14.000Z + + 从零开始编写会员管理系统

先说说为什么有这个念头要从零开始编写会员管理系统,当你进行维护七八种系统,各自系统上面都有会员,也做过顶层设计,通过各种接口进行连接。就如同手指一样,各自实现的参差不齐。又涉及到多方系统,互相扯皮的事情经常有,接口实现的效果很差。但是多业态会员系统,又没有一家提供完整的解决方案。即使是现在也是,只有PC端,没有手机移动端。即使花几百万上了他们的全面解决方案也是用各种厂商拼凑的,效果一样很差。也就是说酒店业没有一家能够完整提供全面解决方案,即使提供了也是功能薄弱,没有后劲儿。和纯餐饮业没有办法比,餐饮业软件想找全面解决方案很好找到。酒店业,就不点名了。虽然是上市公司,也有很多财力进行收购,但是研发能力确实不够呀。

说是会员管理系统,也可以说不是打着做会员管理系统的方向做的,单独运转肯定无法融入。说白了就是一个结算系统,逐步侵入式实现各种支付结算。也就是不仅仅是会员卡支付了,微信、支付宝、银联、QQ等多种支付渠道进行支付,类似支付网关。同时也要加强与业务系统的联动,最终要替代绝大部分业务系统,从而统一起来。

下面是一些零散的笔记内容了

多业态消费,也需要单独的表单去记录:
如:客房,需要记录房间信息,主要还是主单信息。
温泉,记录门票信息,也是主单信息。
餐饮也一样,都需要记录主单信息。

前期消费上传消费主单截图就好。(强提示进行截图+自动截图)

下一步可以通过会员消费界面进行勾选房间、门票、桌台、零售信息等,但仍然需要在原有结算系统进行操作结算。
会员卡消费界面只是用来结算会员卡内余额,以及计算折扣使用。

最终实现通过会员消费界面可以进行结算客房、餐饮、温泉、零售等业态,然后反写回原有业务系统。

可以通过网页方式,并且通过账号绑定消费点,或者勾选消费点。以及根据消费类型自动勾稽消费点。
如:温泉酒店可能存在餐饮、温泉、客房,三种业态情况,又是在一个地方进行结算,所以需要自动勾稽。

如果使用electron开发的客户端,可以获取PC名称、MAC地址、IP地址等信息。
也就是说会员结算系统需要逐步实现各业态业务系统的功能。不过只是单纯结算并反写回原有业务系统,也无需完整实现业态业务系统。

还是需要使用electron开发的客户端,这样通过内网进行连接业务系统的数据库,不然需要通过WG vpn进行连接数据库。
其他零散业态,在没有业务系统的情况下,可以直接使用会员系统进行结算,同时支持现金结算。

这是一个寄生类系统,前期寄生于sjkl系统、xr、jxd、hq。
然后逐步统一各类业务系统。
现在使用的系统软件有:(这些涉及会员卡结算问题)
酒店类:
sjkl、xr、jxd
票务:
hq、pft
其他:
yz

如果只是单纯的快速扣减卡内余额,这个只需要一个小工具就好,但是为了后期数据分析,这样就需要准确获取主单信息。目前各个业务系统是通过昆仑API进行扣减,并上传消费情况。但很多信息不够完整,需要进行二次通过业务系统进行获取并整理。

实现了会员卡多业态并可以勾选各类主单信息(勾选主单信息就是完整的开发了一个收银系统)
基本上就完成了一期,就是一个典型的寄生系统。

如果向对外开放,就需要继续逐步替代各类业务系统完整功能,包括各类硬件的连接。

技术栈

因属于个人项目,尽量保持单一语言进行开发,且能够兼容web、pc、H5、app

  • 后端:node.js midway.js egg.js mysql sqlite typescript
  • 前端:vue.js element-ui jsx electron-vite vuex vue-router

Typescript的语法和java、php类似。

为毛要用js系列解决方案,首先可以在多种平台运行,最主要是颜值呀。其他编程语言颜值搞起来有点费劲儿。js就随便cv吧。毕竟颜值即正义

https://github.com/cool-team-official

https://admin.cool-js.com/

https://show.cool-admin.com/

  • cool-admin(midway版)一个很酷的后台权限管理框架,模块化、插件化、CRUD极速开发,永久开源免费,基于midway.js 3.x、typescript、typeorm、mysql、jwt、vue3、vite、element-ui等构建。
  • cool-admin一个很酷的后台权限管理框架,模块化、插件化、CRUD极速开发,永久开源免费,基于midway.js 3.0、typeorm、mysql、jwt、element-ui、vuex、vue-router、vue等构建。

image-20230531155338545

下一篇继续研究js系列,至于业务系统账单数据,数据库在本地的可以通过主单单号进行获取。数据库不在的只能通过截图OCR识别了。

]]>
+ + + + + <h1 id="从零开始编写会员管理系统"><a href="#从零开始编写会员管理系统" class="headerlink" title="从零开始编写会员管理系统"></a>从零开始编写会员管理系统</h1><blockquote> +<p>先说说为什么有这个念头要从零开始编 + + + + + + + + + + + +
+ + + vb6OCX许可证算法分析 + + https://landv.cn/p/f225098e.html + 2023-05-19T00:40:42.000Z + 2023-05-19T00:40:42.000Z + + TX_Text_Control.NET_for_Windows_Forms_ActiveX_WPF_2019_6

https://landv.cn/p/1656f0cc.html

作者: landv
链接: https://landv.cn/p/1656f0cc.html
来源: landv
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

注册表信息

在VB6 IDE中提示开发者授权证书过期,或者无开发者证书,导入下面的注册表信息即可。

1
2
3
4
5
6
7
8
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\e7711be0-3eea-11e8-8294-a0481c909ac9]
@="uoojtlthlhuhomjhumkhohhmtinmtmjhmiviumhhhmtilhlhkmnolhlhknho"

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Licenses\e7711be3-3eea-11e8-8294-a0481c909ac9]
@="smmhrjrfjfsfmkhfskifmffkrglkrkgfkgtgskfffkrglhlhkmnolhlhkmno"

vb6OCX许可证算法分析

这个是通用VB6 OCX许可证算法,大部分ocx是通用的,但是对TX_Text是无效的,有可能是C++写的问题。

image-20230519085205365

蓝奏云:https://landv.lanzouw.com/ig7je0wjxwkh

链接: https://pan.baidu.com/s/1lWJyFLDgXdDPtfHxoMRqEw?pwd=kuyc 提取码: kuyc 复制这段内容后打开百度网盘手机App,操作更方便哦
–来自百度网盘超级会员v9的分享

]]>
+ + + + + <p>TX_Text_Control.NET_for_Windows_Forms_ActiveX_WPF_2019_6</p> +<p><a href="https://landv.cn/p/1656f0cc.html">https://landv.cn/p/1656f0cc.ht + + + + + + + + + + + + + + + + + +
+ + + SQLServer服务器对象之链接服务器 + + https://landv.cn/p/711f9251.html + 2023-05-15T09:01:09.000Z + 2023-05-15T09:01:09.000Z + + 方法一

只能用ip访问,没有自定义名称

打开SSMS,服务器对象–链接服务器,右键“新建链接服务器”,常规选项,输入链接服务器名称或IP地址,服务器类型选择SQL Server

image

在安全性选项,选择下面的选项,输入账号和密码,然后点确定即可。

image

在SSMS中,服务器对象–链接服务器,就会出现刚刚你建立的链接服务器名称。

假设刚刚建立的链接服务器名称为10.10.0.1

测试:

select top 10 * from [10.10.0.1].[test].[dbo].[test]

即可查看test数据库中test表的前10行数据。

关于上面的方括号,只有ip地址需要特别括起来,其他随意。

SQL Server之间建立链接服务器和SSMS中连接数据库引擎,服务器名称输入远程SQL Server的IP或名称功能是一样的,估计只是细节和界面不同。

链接服务器主要用途应该是为了不同数据库之间的连接。

也就说,不仅仅可以连接sql server,Oracle和mysql 之类的都可以。

方法二

选择其他数据源,这个就可以自定义名字了。

不要在乎截图上面的错别字,我是偷懒截图的别人的。

image-20230515170930121

image-20230515171008176

]]>
+ + + + + <h1 id="方法一"><a href="#方法一" class="headerlink" title="方法一"></a>方法一</h1><blockquote> +<p>只能用ip访问,没有自定义名称</p> +</blockquote> +<p>打开SSMS,服务器对象–链接服 + + + + + + + + + + + + + + + +
+ + + 金蝶k3密码对照破解 + + https://landv.cn/p/ec0f4d33.html + 2023-05-10T06:38:07.000Z + 2023-05-10T06:38:07.000Z + + image-20230510144159690

蓝奏下载:https://landv.lanzouw.com/iNKho0v509vc

在KDAcctDB里的t_ad_kdAccount_gl表查找对应账套,查询账套的t_Base_User表fsid字段。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
VERSION 5.00
Begin VB.Form Form1
Caption = "K3密码对照破解"
ClientHeight = 4290
ClientLeft = 120
ClientTop = 450
ClientWidth = 9030
ScaleHeight = 4290
ScaleWidth = 9030
StartUpPosition = 3 '窗口缺省
Begin VB.TextBox Text3
Height = 495
Left = 1320
TabIndex = 5
Text = "Text3"
Top = 1200
Width = 6015
End
Begin VB.TextBox Text2
Height = 1695
Left = 1320
MultiLine = -1 'True
ScrollBars = 2 'Vertical
TabIndex = 2
Top = 1800
Width = 7335
End
Begin VB.CommandButton Command1
Caption = "解密码"
Height = 495
Left = 7560
TabIndex = 1
Top = 1080
Width = 1095
End
Begin VB.TextBox Text1
Height = 495
Left = 1320
TabIndex = 0
Text = ") F "", ,P T #8 *P!D &D 80!N &@ <0 C '< : !M &4 )0!H 'H ,0 R #, *P "
Top = 480
Width = 7695
End
Begin VB.Label Label3
Caption = "在KDAcctDB里的t_ad_kdAccount_gl表查找对应账套,查询账套的t_Base_User表fsid字段。"
Height = 495
Left = 600
TabIndex = 6
Top = 3600
Width = 8175
End
Begin VB.Label Label2
Caption = "K3密码字段:"
Height = 375
Left = 360
TabIndex = 4
Top = 600
Width = 1095
End
Begin VB.Label Label1
Caption = "结果:"
Height = 375
Left = 480
TabIndex = 3
Top = 1800
Width = 735
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Dim arr_data(283, 1) As String

Private Function getpassword(ByVal values As String) As String
Dim i As Integer
Dim str As String
Dim str_1 As String
Dim str_2 As String
Dim len_str_2 As Integer
Dim len_str_2_1 As Integer
Dim password As String
i = 0
len_str_2_1 = 0
str = Replace(values, " ", "□")
Text3.Text = str
Do While Len(str) > 0
i = i + 1
str_1 = Left(str, i)
If GetPass(str_1) <> "" Then
str_2 = Right(str, Len(str) - i + 1)
str = Right(str, Len(str) - i)
password = password & GetPass(str_1)
i = 0
End If
If i > 5 Then
len_str_2 = Len(str_2)
If len_str_2_1 = len_str_2 Then
If str_2 <> "□□" Then
password = "密码为:" & password & "注意:剩下的" & str_2 & "找不到匹配数据,请输入正确的数据"
End If
' password = "密码为:" & password & Chr(13) & Chr(10) & "注意:剩下的" & str_2 & "找不到匹配数据,请输入正确的数据"
Exit Do
Else
len_str_2_1 = len_str_2
End If
str = str_2
i = 0
'Exit Do
End If
DoEvents
Loop
getpassword = password
End Function
Private Function GetPass(ByVal values As String) As String
Dim i As Integer
Dim ReValues As String
For i = 0 To 282
If arr_data(i, 0) = values Then
ReValues = arr_data(i, 1)
Exit For
End If
Next
GetPass = ReValues
End Function
Private Sub Command1_Click()
Text2.Text = getpassword(Right(Text1.Text, Len(Text1.Text) - 50))

End Sub

Private Sub Form_Load()
'初始化密码字典
arr_data(0, 0) = "□P□"
arr_data(1, 0) = "□Q□"
arr_data(2, 0) = "□R□"
arr_data(3, 0) = "□S□"
arr_data(4, 0) = "□T□"
arr_data(5, 0) = "□U□"
arr_data(6, 0) = "□V□"
arr_data(7, 0) = "□W□"
arr_data(8, 0) = "□X□"
arr_data(9, 0) = "□Y□"
arr_data(10, 0) = "!A□"
arr_data(11, 0) = "!B□"
arr_data(12, 0) = "!C□"
arr_data(13, 0) = "!D□"
arr_data(14, 0) = "!E□"
arr_data(15, 0) = "!F□"
arr_data(16, 0) = "!G□"
arr_data(17, 0) = "!H□"
arr_data(18, 0) = "!I□"
arr_data(19, 0) = "!J□"
arr_data(20, 0) = "!K□"
arr_data(21, 0) = "!L□"
arr_data(22, 0) = "!M□"
arr_data(23, 0) = "!N□"
arr_data(24, 0) = "!O□"
arr_data(25, 0) = "!P□"
arr_data(26, 0) = "!Q□"
arr_data(27, 0) = "!R□"
arr_data(28, 0) = "!S□"
arr_data(29, 0) = "!T□"
arr_data(30, 0) = "!U□"
arr_data(31, 0) = "!V□"
arr_data(32, 0) = "!W□"
arr_data(33, 0) = "!X□"
arr_data(34, 0) = "!Y□"
arr_data(35, 0) = "!Z□"
arr_data(36, 0) = "!!□"
arr_data(37, 0) = "!" & Chr(34) & "□"
arr_data(38, 0) = "!#□"
arr_data(39, 0) = "!$□"
arr_data(40, 0) = "!%□"
arr_data(41, 0) = "!&□"
arr_data(42, 0) = "!'□"
arr_data(43, 0) = "!(□"
arr_data(44, 0) = "!)□"
arr_data(45, 0) = "!*□"
arr_data(46, 0) = "!+□"
arr_data(47, 0) = "!,□"
arr_data(48, 0) = "!-□"
arr_data(49, 0) = "!.□"
arr_data(50, 0) = "!/□"
arr_data(51, 0) = "!0□"
arr_data(52, 0) = "!1□"
arr_data(53, 0) = "!2□"
arr_data(54, 0) = "!3□"
arr_data(55, 0) = "!4□"
arr_data(56, 0) = "!5□"
arr_data(57, 0) = "!6□"
arr_data(58, 0) = "!7□"
arr_data(59, 0) = "!8□"
arr_data(60, 0) = "!9□"
arr_data(61, 0) = "!:□"
arr_data(62, 0) = "□A□"
arr_data(63, 0) = "□!□"
arr_data(64, 0) = "□C□"
arr_data(65, 0) = "□D□"
arr_data(66, 0) = "□E□"
arr_data(67, 0) = "!>□"
arr_data(68, 0) = "□F□"
arr_data(69, 0) = "□J□"
arr_data(70, 0) = "□H□"
arr_data(71, 0) = "□I□"
arr_data(72, 0) = "!?□"
arr_data(73, 0) = "□K□"
arr_data(74, 0) = "□]□"
arr_data(75, 0) = "□M□"
arr_data(76, 0) = "!;□"
arr_data(77, 0) = "!=□"
arr_data(78, 0) = "![□"
arr_data(79, 0) = "!]□"
arr_data(80, 0) = "□[□"
arr_data(81, 0) = "□Z□"
arr_data(82, 0) = "□B□"
arr_data(83, 0) = "□G□"
arr_data(84, 0) = "□L□"
arr_data(85, 0) = "□N□"
arr_data(86, 0) = "□_□"
arr_data(87, 0) = "!<□"
arr_data(88, 0) = "!\□"
arr_data(89, 0) = "□0□"
arr_data(90, 0) = "!@□"
arr_data(91, 0) = "!^□"
arr_data(92, 0) = "□\□"
arr_data(93, 0) = "□^□"
arr_data(94, 0) = "#□□"
arr_data(95, 0) = "#$□"
arr_data(96, 0) = "#(□"
arr_data(97, 0) = "#,□"
arr_data(98, 0) = "#0□"
arr_data(99, 0) = "#4□"
arr_data(100, 0) = "#8□"
arr_data(101, 0) = "#<□"
arr_data(102, 0) = "#@□"
arr_data(103, 0) = "#D□"
arr_data(104, 0) = "&$□"
arr_data(105, 0) = "&(□"
arr_data(106, 0) = "&,□"
arr_data(107, 0) = "&0□"
arr_data(108, 0) = "&4□"
arr_data(109, 0) = "&8□"
arr_data(110, 0) = "&<□"
arr_data(111, 0) = "&@□"
arr_data(112, 0) = "&D□"
arr_data(113, 0) = "&H□"
arr_data(114, 0) = "&L□"
arr_data(115, 0) = "&P□"
arr_data(116, 0) = "&T□"
arr_data(117, 0) = "&X□"
arr_data(118, 0) = "&\□"
arr_data(119, 0) = "'□□"
arr_data(120, 0) = "'$□"
arr_data(121, 0) = "'(□"
arr_data(122, 0) = "',□"
arr_data(123, 0) = "'0□"
arr_data(124, 0) = "'4□"
arr_data(125, 0) = "'8□"
arr_data(126, 0) = "'<□"
arr_data(127, 0) = "'@□"
arr_data(128, 0) = "'D□"
arr_data(129, 0) = "'H□"
arr_data(130, 0) = "$$□"
arr_data(131, 0) = "$(□"
arr_data(132, 0) = "$,□"
arr_data(133, 0) = "$0□"
arr_data(134, 0) = "$4□"
arr_data(135, 0) = "$8□"
arr_data(136, 0) = "$<□"
arr_data(137, 0) = "$@□"
arr_data(138, 0) = "$D□"
arr_data(139, 0) = "$H□"
arr_data(140, 0) = "$L□"
arr_data(141, 0) = "$P□"
arr_data(142, 0) = "$T□"
arr_data(143, 0) = "$X□"
arr_data(144, 0) = "$\□"
arr_data(145, 0) = "%□□"
arr_data(146, 0) = "%$□"
arr_data(147, 0) = "%(□"
arr_data(148, 0) = "%,□"
arr_data(149, 0) = "%0□"
arr_data(150, 0) = "%4□"
arr_data(151, 0) = "%8□"
arr_data(152, 0) = "%<□"
arr_data(153, 0) = "%@□"
arr_data(154, 0) = "%D□"
arr_data(155, 0) = "%H□"
arr_data(156, 0) = Chr(34) & "$□"
arr_data(157, 0) = "$□□"
arr_data(158, 0) = Chr(34) & ",□"
arr_data(159, 0) = Chr(34) & "0□"
arr_data(160, 0) = Chr(34) & "4□"
arr_data(161, 0) = "%X□"
arr_data(162, 0) = Chr(34) & "8□"
arr_data(163, 0) = Chr(34) & "H□"
arr_data(164, 0) = Chr(34) & "@□"
arr_data(165, 0) = Chr(34) & "D□"
arr_data(166, 0) = "%\□"
arr_data(167, 0) = Chr(34) & "L□"
arr_data(168, 0) = "#T□"
arr_data(169, 0) = Chr(34) & "T□"
arr_data(170, 0) = "%L□"
arr_data(171, 0) = "%T□"
arr_data(172, 0) = "'L□"
arr_data(173, 0) = "'T□"
arr_data(174, 0) = "#L□"
arr_data(175, 0) = "#H□"
arr_data(176, 0) = Chr(34) & "(□"
arr_data(177, 0) = Chr(34) & "<□"
arr_data(178, 0) = Chr(34) & "P□"
arr_data(179, 0) = Chr(34) & "X□"
arr_data(180, 0) = "#\□"
arr_data(181, 0) = "%P□"
arr_data(182, 0) = "'P□"
arr_data(183, 0) = Chr(34) & " \ Chr(34) & "
arr_data(184, 0) = "&□□"
arr_data(185, 0) = "'X□"
arr_data(186, 0) = "#P□"
arr_data(187, 0) = "#X□"
arr_data(188, 0) = "□,0"
arr_data(189, 0) = ",0□"
arr_data(190, 0) = ",@□"
arr_data(191, 0) = ",P□"
arr_data(192, 0) = "-□□"
arr_data(193, 0) = "-0□"
arr_data(194, 0) = "-@□"
arr_data(195, 0) = "-P□"
arr_data(196, 0) = ".□"
arr_data(197, 0) = ".0□"
arr_data(198, 0) = "80"
arr_data(199, 0) = "8@"
arr_data(200, 0) = "8P"
arr_data(201, 0) = "9□"
arr_data(202, 0) = "90"
arr_data(203, 0) = "9@"
arr_data(204, 0) = "9P"
arr_data(205, 0) = ":□"
arr_data(206, 0) = ":0"
arr_data(207, 0) = ":@"
arr_data(208, 0) = ":P"
arr_data(209, 0) = ";□"
arr_data(210, 0) = ";0"
arr_data(211, 0) = ";@"
arr_data(212, 0) = ";P"
arr_data(213, 0) = "<□"
arr_data(214, 0) = "<0"
arr_data(215, 0) = "<@"
arr_data(216, 0) = "<P"
arr_data(217, 0) = "=□"
arr_data(218, 0) = "=0"
arr_data(219, 0) = "=@"
arr_data(220, 0) = "=P"
arr_data(221, 0) = ">□"
arr_data(222, 0) = ">0"
arr_data(223, 0) = ">@"
arr_data(224, 0) = "00"
arr_data(225, 0) = "0@"
arr_data(226, 0) = "0P"
arr_data(227, 0) = "1□"
arr_data(228, 0) = "10"
arr_data(229, 0) = "1@"
arr_data(230, 0) = "1P"
arr_data(231, 0) = "2□"
arr_data(232, 0) = "20"
arr_data(233, 0) = "2@"
arr_data(234, 0) = "2P"
arr_data(235, 0) = "3□"
arr_data(236, 0) = "30"
arr_data(237, 0) = "3@"
arr_data(238, 0) = "3P"
arr_data(239, 0) = "4□"
arr_data(240, 0) = "40"
arr_data(241, 0) = "4@"
arr_data(242, 0) = "4P"
arr_data(243, 0) = "5□"
arr_data(244, 0) = "50"
arr_data(245, 0) = "5@"
arr_data(246, 0) = "5P"
arr_data(247, 0) = "6□"
arr_data(248, 0) = "60"
arr_data(249, 0) = "6@"
arr_data(250, 0) = "(0"
arr_data(251, 0) = "0□"
arr_data(252, 0) = "(P"
arr_data(253, 0) = ")□"
arr_data(254, 0) = ")0"
arr_data(255, 0) = "7@"
arr_data(256, 0) = ")@"
arr_data(257, 0) = "*@"
arr_data(258, 0) = "*□"
arr_data(259, 0) = "*0"
arr_data(260, 0) = "7P"
arr_data(261, 0) = "*P"
arr_data(262, 0) = "/0"
arr_data(263, 0) = "+0"
arr_data(264, 0) = "6P"
arr_data(265, 0) = "70"
arr_data(266, 0) = ">P"
arr_data(267, 0) = "?0"
arr_data(268, 0) = ".P"
arr_data(269, 0) = ".@"
arr_data(270, 0) = "(@"
arr_data(271, 0) = ")P"
arr_data(272, 0) = "+□"
arr_data(273, 0) = "+@"
arr_data(274, 0) = "/P"
arr_data(275, 0) = "7□"
arr_data(276, 0) = "?□"
arr_data(277, 0) = "+P"
arr_data(278, 0) = "8□"
arr_data(279, 0) = "?@"
arr_data(280, 0) = "/□"
arr_data(281, 0) = "/@"
arr_data(282, 0) = "□,□□"
arr_data(0, 1) = "0"
arr_data(1, 1) = "1"
arr_data(2, 1) = "2"
arr_data(3, 1) = "3"
arr_data(4, 1) = "4"
arr_data(5, 1) = "5"
arr_data(6, 1) = "6"
arr_data(7, 1) = "7"
arr_data(8, 1) = "8"
arr_data(9, 1) = "9"
arr_data(10, 1) = "a"
arr_data(11, 1) = "b"
arr_data(12, 1) = "c"
arr_data(13, 1) = "d"
arr_data(14, 1) = "e"
arr_data(15, 1) = "f"
arr_data(16, 1) = "g"
arr_data(17, 1) = "h"
arr_data(18, 1) = "i"
arr_data(19, 1) = "j"
arr_data(20, 1) = "k"
arr_data(21, 1) = "l"
arr_data(22, 1) = "m"
arr_data(23, 1) = "n"
arr_data(24, 1) = "o"
arr_data(25, 1) = "p"
arr_data(26, 1) = "q"
arr_data(27, 1) = "r"
arr_data(28, 1) = "s"
arr_data(29, 1) = "t"
arr_data(30, 1) = "u"
arr_data(31, 1) = "v"
arr_data(32, 1) = "w"
arr_data(33, 1) = "x"
arr_data(34, 1) = "y"
arr_data(35, 1) = "z"
arr_data(36, 1) = "A"
arr_data(37, 1) = "B"
arr_data(38, 1) = "C"
arr_data(39, 1) = "D"
arr_data(40, 1) = "E"
arr_data(41, 1) = "F"
arr_data(42, 1) = "G"
arr_data(43, 1) = "H"
arr_data(44, 1) = "I"
arr_data(45, 1) = "J"
arr_data(46, 1) = "K"
arr_data(47, 1) = "L"
arr_data(48, 1) = "M"
arr_data(49, 1) = "N"
arr_data(50, 1) = "O"
arr_data(51, 1) = "P"
arr_data(52, 1) = "Q"
arr_data(53, 1) = "R"
arr_data(54, 1) = "S"
arr_data(55, 1) = "T"
arr_data(56, 1) = "U"
arr_data(57, 1) = "V"
arr_data(58, 1) = "W"
arr_data(59, 1) = "X"
arr_data(60, 1) = "Y"
arr_data(61, 1) = "Z"
arr_data(62, 1) = "!"
arr_data(63, 1) = "@"
arr_data(64, 1) = "#"
arr_data(65, 1) = "$"
arr_data(66, 1) = "%"
arr_data(67, 1) = "^"
arr_data(68, 1) = "&"
arr_data(69, 1) = "*"
arr_data(70, 1) = "("
arr_data(71, 1) = ")"
arr_data(72, 1) = "_"
arr_data(73, 1) = "+"
arr_data(74, 1) = "="
arr_data(75, 1) = "-"
arr_data(76, 1) = "["
arr_data(77, 1) = "]"
arr_data(78, 1) = "{"
arr_data(79, 1) = "}"
arr_data(80, 1) = ";"
arr_data(81, 1) = ":"
arr_data(82, 1) = Chr(34)
arr_data(83, 1) = "'"
arr_data(84, 1) = ","
arr_data(85, 1) = "."
arr_data(86, 1) = "?"
arr_data(87, 1) = "\"
arr_data(88, 1) = "|"
arr_data(89, 1) = "/"
arr_data(90, 1) = "`"
arr_data(91, 1) = "~"
arr_data(92, 1) = "<"
arr_data(93, 1) = ">"
arr_data(94, 1) = "0"
arr_data(95, 1) = "1"
arr_data(96, 1) = "2"
arr_data(97, 1) = "3"
arr_data(98, 1) = "4"
arr_data(99, 1) = "5"
arr_data(100, 1) = "6"
arr_data(101, 1) = "7"
arr_data(102, 1) = "8"
arr_data(103, 1) = "9"
arr_data(104, 1) = "a"
arr_data(105, 1) = "b"
arr_data(106, 1) = "c"
arr_data(107, 1) = "d"
arr_data(108, 1) = "e"
arr_data(109, 1) = "f"
arr_data(110, 1) = "g"
arr_data(111, 1) = "h"
arr_data(112, 1) = "i"
arr_data(113, 1) = "j"
arr_data(114, 1) = "k"
arr_data(115, 1) = "l"
arr_data(116, 1) = "m"
arr_data(117, 1) = "n"
arr_data(118, 1) = "o"
arr_data(119, 1) = "p"
arr_data(120, 1) = "q"
arr_data(121, 1) = "r"
arr_data(122, 1) = "s"
arr_data(123, 1) = "t"
arr_data(124, 1) = "u"
arr_data(125, 1) = "v"
arr_data(126, 1) = "w"
arr_data(127, 1) = "x"
arr_data(128, 1) = "y"
arr_data(129, 1) = "z"
arr_data(130, 1) = "A"
arr_data(131, 1) = "B"
arr_data(132, 1) = "C"
arr_data(133, 1) = "D"
arr_data(134, 1) = "E"
arr_data(135, 1) = "F"
arr_data(136, 1) = "G"
arr_data(137, 1) = "H"
arr_data(138, 1) = "I"
arr_data(139, 1) = "J"
arr_data(140, 1) = "K"
arr_data(141, 1) = "L"
arr_data(142, 1) = "M"
arr_data(143, 1) = "N"
arr_data(144, 1) = "O"
arr_data(145, 1) = "P"
arr_data(146, 1) = "Q"
arr_data(147, 1) = "R"
arr_data(148, 1) = "S"
arr_data(149, 1) = "T"
arr_data(150, 1) = "U"
arr_data(151, 1) = "V"
arr_data(152, 1) = "W"
arr_data(153, 1) = "X"
arr_data(154, 1) = "Y"
arr_data(155, 1) = "Z"
arr_data(156, 1) = "!"
arr_data(157, 1) = "@"
arr_data(158, 1) = "#"
arr_data(159, 1) = "$"
arr_data(160, 1) = "%"
arr_data(161, 1) = "^"
arr_data(162, 1) = "&"
arr_data(163, 1) = "*"
arr_data(164, 1) = "("
arr_data(165, 1) = ")"
arr_data(166, 1) = "_"
arr_data(167, 1) = "+"
arr_data(168, 1) = "="
arr_data(169, 1) = "-"
arr_data(170, 1) = "["
arr_data(171, 1) = "]"
arr_data(172, 1) = "{"
arr_data(173, 1) = "}"
arr_data(174, 1) = ";"
arr_data(175, 1) = ":"
arr_data(176, 1) = Chr(34)
arr_data(177, 1) = "'"
arr_data(178, 1) = ","
arr_data(179, 1) = "."
arr_data(180, 1) = "?"
arr_data(181, 1) = "\"
arr_data(182, 1) = "|"
arr_data(183, 1) = "/"
arr_data(184, 1) = "`"
arr_data(185, 1) = "~"
arr_data(186, 1) = "<"
arr_data(187, 1) = ">"
arr_data(188, 1) = "0"
arr_data(189, 1) = "1"
arr_data(190, 1) = "2"
arr_data(191, 1) = "3"
arr_data(192, 1) = "4"
arr_data(193, 1) = "5"
arr_data(194, 1) = "6"
arr_data(195, 1) = "7"
arr_data(196, 1) = "8"
arr_data(197, 1) = "9"
arr_data(198, 1) = "a"
arr_data(199, 1) = "b"
arr_data(200, 1) = "c"
arr_data(201, 1) = "d"
arr_data(202, 1) = "e"
arr_data(203, 1) = "f"
arr_data(204, 1) = "g"
arr_data(205, 1) = "h"
arr_data(206, 1) = "i"
arr_data(207, 1) = "j"
arr_data(208, 1) = "k"
arr_data(209, 1) = "l"
arr_data(210, 1) = "m"
arr_data(211, 1) = "n"
arr_data(212, 1) = "o"
arr_data(213, 1) = "p"
arr_data(214, 1) = "q"
arr_data(215, 1) = "r"
arr_data(216, 1) = "s"
arr_data(217, 1) = "t"
arr_data(218, 1) = "u"
arr_data(219, 1) = "v"
arr_data(220, 1) = "w"
arr_data(221, 1) = "x"
arr_data(222, 1) = "y"
arr_data(223, 1) = "z"
arr_data(224, 1) = "A"
arr_data(225, 1) = "B"
arr_data(226, 1) = "C"
arr_data(227, 1) = "D"
arr_data(228, 1) = "E"
arr_data(229, 1) = "F"
arr_data(230, 1) = "G"
arr_data(231, 1) = "H"
arr_data(232, 1) = "I"
arr_data(233, 1) = "J"
arr_data(234, 1) = "K"
arr_data(235, 1) = "L"
arr_data(236, 1) = "M"
arr_data(237, 1) = "N"
arr_data(238, 1) = "O"
arr_data(239, 1) = "P"
arr_data(240, 1) = "Q"
arr_data(241, 1) = "R"
arr_data(242, 1) = "S"
arr_data(243, 1) = "T"
arr_data(244, 1) = "U"
arr_data(245, 1) = "V"
arr_data(246, 1) = "W"
arr_data(247, 1) = "X"
arr_data(248, 1) = "Y"
arr_data(249, 1) = "Z"
arr_data(250, 1) = "!"
arr_data(251, 1) = "@"
arr_data(252, 1) = "#"
arr_data(253, 1) = "$"
arr_data(254, 1) = "%"
arr_data(255, 1) = "^"
arr_data(256, 1) = "&"
arr_data(257, 1) = "*"
arr_data(258, 1) = "("
arr_data(259, 1) = ")"
arr_data(260, 1) = "_"
arr_data(261, 1) = "+"
arr_data(262, 1) = "="
arr_data(263, 1) = "-"
arr_data(264, 1) = "["
arr_data(265, 1) = "]"
arr_data(266, 1) = "{"
arr_data(267, 1) = "}"
arr_data(268, 1) = ";"
arr_data(269, 1) = ":"
arr_data(270, 1) = Chr(34)
arr_data(271, 1) = "'"
arr_data(272, 1) = ","
arr_data(273, 1) = "."
arr_data(274, 1) = "?"
arr_data(275, 1) = "\"
arr_data(276, 1) = "|"
arr_data(277, 1) = "/"
arr_data(278, 1) = "`"
arr_data(279, 1) = "~"
arr_data(280, 1) = "<"
arr_data(281, 1) = ">"
arr_data(282, 1) = "0"
End Sub

Private Sub Text1_KeyDown(KeyCode As Integer, Shift As Integer)
' Check if Ctrl+A is pressed
If Shift = vbCtrlMask And KeyCode = vbKeyA Then
' Select all text in the TextBox
Text1.SelStart = 0
Text1.SelLength = Len(Text1.Text)
End If
End Sub
]]>
+ + + + + <p><img src="https://imgs.landv.cn/imgs//2023/05/10/14/635cb198300c6d9548d191af809d639e.png" alt="image-20230510144159690"></p> +<p>蓝奏下载:<a h + + + + + + + + + + + + + + + + + +
+ + + vb6_DataGrid绑定数据初始化失败_不能初始化数据绑定 + + https://landv.cn/p/55a1d7c5.html + 2023-05-10T06:32:16.000Z + 2023-05-10T06:32:16.000Z + + vb6_DataGrid绑定数据初始化失败_不能初始化数据绑定

vb6 microsoft datagrid控件不能初始化数据绑定,mDataGrid绑定数据初始化失败。

C:\Windows\SysWOW64>regsvr32 msstdfmt.dll

在命令行下执行:regsvr32 msstdfmt.dll试试。如不行,找到msstdfmt.dll 文件,复制到C:WindowsSystem目录下。再用上面命令执行下。

]]>
+ + + + + <h1 id="vb6-DataGrid绑定数据初始化失败-不能初始化数据绑定"><a href="#vb6-DataGrid绑定数据初始化失败-不能初始化数据绑定" class="headerlink" title="vb6_DataGrid绑定数据初始化失败_不能初始化数据绑 + + + + + + + + + + + + + + + + + +
+ + + vb6类没有注册查找具有CLSID的对象77EBDAAE1-8120-11CF-899F-00AA00688B10 + + https://landv.cn/p/b6cf3a8d.html + 2023-04-21T00:33:57.000Z + 2023-04-21T00:33:57.000Z + + 该问题是在使用 Microsoft Excel VB6.0时右键一些组件或者右键组件选择属性的时候出现的。错误信息为“Class Not Registered Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}”。

CLSID 是每个类的唯一标识符,用于在 Windows 注册表中查找类的注册信息。根据 CLSID 的值,我们可以确定这个错误信息对应的是一个名为“Microsoft Common Dialog Control 6.0”的控件。该控件可以在 VB6 中使用,用于显示打开和保存对话框等。

出现该错误的原因可能是由于缺少该控件的注册信息或者注册信息损坏导致的。可以尝试重新注册该控件,方法如下:

  1. 打开命令提示符,并以管理员身份运行。
  2. 进入目录C:\windows\SysWow64\
  3. 运行以下命令,重新注册该控件:
1
2
regsvr32 /u MSSTKPRP.DLL
regsvr32 MSSTKPRP.DLL

其中,/u 参数用于卸载该控件的已有注册信息。如果没有成功卸载,请尝试关闭 vb6IDE 进程,然后再试一次。


扩展内容,由chatgpt提供

正在为您搜索:CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}

CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10} 是一个用于标识“Microsoft Common Dialog Control 6.0”控件的唯一标识符 (UUID,通用唯一标识符)。

CLSID 是在 Windows 操作系统中用于唯一标识 COM (组件对象模型) 类的值。每个 COM 类都必须有一个对应的 CLSID,以便其他程序可以通过 CLSID 来查找和调用该类的实例。

在 Visual Basic 6 中,可以通过在工具箱中添加“Microsoft Common Dialog Control 6.0”控件来使用该控件。该控件可用于实现常见的打开、保存等功能,可以很方便地与各种 Visual Basic 应用程序集成。

当出现错误信息“Class Not Registered Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00AA00688B10}”时,意味着该控件的注册信息可能丢失或损坏,需要重新安装或者重新注册该控件,并修复注册表中的相关键值信息,以便正确加载该控件并使用它的方法、属性等功能。

]]>
+ + + + + <p>该问题是在使用 Microsoft Excel VB6.0时右键一些组件或者右键组件选择属性的时候出现的。错误信息为“Class Not Registered Looking for object with CLSID:{7EBDAAE1-8120-11CF-899F-00 + + + + + + + + + + + + + + + + + +
+ + + 优化github_actions上传腾讯云cos逻辑 + + https://landv.cn/p/886ac8aa.html + 2023-04-19T07:28:28.000Z + 2023-04-19T07:28:28.000Z + + 优化github_actions上传腾讯云cos逻辑

使用https://github.com/landv/hexo-deployer-cos库进行上传cos

之前使用上传方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
- name: 8. 安装COS相关依赖
run: |
pip install coscmd
pip install tccli
- name: 9. 配置COS
env:
SECRET_ID: ${{ secrets.SECRET_ID }}
SECRET_KEY: ${{ secrets.SECRET_KEY }}
BUCKET: ${{ secrets.BUCKET }}
REGION: ${{ secrets.REGION }}
run: |
coscmd config -a $SECRET_ID -s $SECRET_KEY -b $BUCKET -r $REGION
tccli configure set secretId $SECRET_ID
tccli configure set secretKey $SECRET_KEY
tccli configure set region $REGION
- name: 10. 上传文档到cos并刷新CDN
run: |
ls -al ./public
rm -rf ./public/.git/
coscmd upload -rfs --delete ./public/ /
tccli cdn PurgePathCache --cli-unfold-argument --Paths https://landv.cn/ --FlushType flush

因为网络问题,上传会出现失败或者上传时间长。尤其是文章多了以后。因为这种方式是全量上传。

现在使用自定义库进行上传

1
2
3
4
5
6
7
8
9
10
- name: 6. 生成静态文件并上传cos
env:
COS_SECRET_ID: ${{ secrets.SECRET_ID }}
COS_SECRET_KEY: ${{ secrets.SECRET_KEY }}
COS_BUCKET: ${{ secrets.BUCKET }}
COS_REGION: ${{ secrets.REGION }}
run: |
hexo clean
hexo generate
hexo deploy

使用的hexo deploy 方式,其中hexo-deployer-cos库进行了优化,不再是全量上传,以差异上传的方式加速。

具体逻辑https://github.com/landv/hexo-deployer-cos/commit/6cdf0f56139f1e13472a2d7c5bca785226e48ee2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
'use strict'

const os = require('os')
const fs = require('hexo-fs')
const chalk = require('chalk')
const COS = require('cos-nodejs-sdk-v5')
const crypto = require('crypto')

module.exports = function (args) {
// Hexo's Logger
let log = this.log

if (!args.secretId) {
args.secretId = process.env.COS_SECRET_ID
}
if (!args.secretKey) {
args.secretKey = process.env.COS_SECRET_KEY
}
if (!args.bucket) {
args.bucket = process.env.COS_BUCKET
}
if (!args.region) {
args.region = process.env.COS_REGION
}

// Check the user's configuration
if (!checkHexoConfig(args)) {
log.error('hexo-deployer-cos: config error')
return
}

// Get local files list from Public Directory
let localFiles = fs.listDirSync(this.public_dir)

// Create COS object
let cos = new COS({
SecretId: args.secretId,
SecretKey: args.secretKey
})

// Bucket's configuration
const bucketConfig = {
Bucket: args.bucket,
Region: args.region
}

log.info('Uploading files to COS...')

// Get all files from the Bucket

cos.getBucket({
Bucket: bucketConfig.Bucket,
Region: bucketConfig.Region
})

listObjects(cos, bucketConfig)
.then(data => {
localFiles.map(file => {
getFileMD5(this.public_dir + file)
.then((etag) => {
if (!data.includes(etag)) {
log.info('Upload: ' + file)
uploadFileToCOS(cos, bucketConfig, {
path: this.public_dir + file,
name: getFileName(file)
})
}
})
})
}).catch(err => {
log.error(err.error.Code + ': ' + err.error.Message)
})
}

/**
* Check if the configuration is correct in _config.yml file
* @param {string} args
* @return {boolean}
*/
function checkHexoConfig (args) {
if (!args.secretId ||
!args.secretKey ||
!args.bucket ||
!args.region) {
let tips = [
chalk.red('Ohh~We have a little trouble!'),
'Please check if you have made the following settings',
'deploy:',
' type: cos',
' secretId: yourSecretId',
' secretKey: yourSecretKey',
' bucket: yourBucket',
' region: yourRegion',
'',
'Need more help? You can check the Tencent cloud document: ' + chalk.underline('https://www.qcloud.com/document/product/436')
]
console.log(tips.join('\n'))
return false
} else {
return true
}
}

/**
* Upload file to COS
* @param {object} cos
* @param {object} config
* @param {object} file
*/
function uploadFileToCOS (cos, config, file) {
return new Promise((resolve, reject) => {
cos.putObject({
Bucket: config.Bucket,
Region: config.Region,
Key: file.name,
Body: fs.createReadStream(file.path)
}, (err, data) => {
if (err) {
reject(err)
} else {
resolve(data)
}
})
})
}

function listObjects (cos, config) {
return new Promise((resolve, reject) => {
cos.getBucket({
Bucket: config.Bucket,
Region: config.Region
}, (err, data) => {
if (err) {
reject(err)
} else {
resolve(data.Contents.map(obj => obj.ETag.slice(1, -1)))
}
})
})
}

/**
* Get file md5
* @param {string} path
*/
function getFileMD5 (path) {
return new Promise((resolve, reject) => {
const hash = crypto.createHash('md5')
const stream = fs.createReadStream(path)
stream.on('error', err => reject(err))
stream.on('data', chunk => hash.update(chunk))
stream.on('end', () => resolve(hash.digest('hex')))
})
}

/**
* if OS is Windows, replace the path specific to '/' as filename
* @param {string} filename
* @returns {string} filename
*/
function getFileName (filename) {
if (os.platform() === 'win32') {
return filename.replace(/\\/g, '/')
}
return filename
}
]]>
+ + + + + <h1 id="优化github-actions上传腾讯云cos逻辑"><a href="#优化github-actions上传腾讯云cos逻辑" class="headerlink" title="优化github_actions上传腾讯云cos逻辑"></a>优化github + + + + + + + + + + + +
+ + + Cygwin安装时提示Could_not_download_mirror_sites_list处理方法 + + https://landv.cn/p/41bc4cae.html + 2023-04-19T06:37:20.000Z + 2023-04-19T06:37:20.000Z + + Cygwin 安装时提示 “Could not download mirror sites list” 处理方法

Cygwin 安装时提示 “Could not download mirror sites list” 处理方法

setup-x86_64 --site http://mirrors.163.com/cygwin/ --only-site

]]>
+ + + + + <h1 id="Cygwin-安装时提示-“Could-not-download-mirror-sites-list”-处理方法"><a href="#Cygwin-安装时提示-“Could-not-download-mirror-sites-list”-处理方法" class= + + + + + + + + + + + + + + + + + +
+ + + linux使用wps高版本CPU飙升占用问题处理 + + https://landv.cn/p/c65b44c3.html + 2023-04-19T06:34:47.000Z + 2023-04-19T06:34:47.000Z + +
  • 卸载高版本 sudo apt remove cn.wps.wps-office
  • 标记禁止更新 sudo apt-mark hold cn.wps.wps-office
  • 查看禁止更新列表 sudo apt-mark showhold
  • 下载旧版本 wget https://wdl1.cache.wps.cn/wps/download/ep/Linux2019/10702/wps-office_11.1.0.10702_amd64.deb
  • 双击安装吧,愿意用命令自己敲去,哈哈哈
  • https://aur.archlinux.org/cgit/aur.git/commit/?h=wps-office-cn&id=f14ae69ce0425af91d420d242f760669294ec6f1

    https://wdl1.cache.wps.cn/wps/download/ep/Linux2019/10702/wps-office_11.1.0.10702_amd64.deb

    ]]>
    + + + + + <ul> +<li>卸载高版本 sudo apt remove cn.wps.wps-office</li> +<li>标记禁止更新 sudo apt-mark hold cn.wps.wps-office</li> +<li>查看禁止更新列表 sudo apt-mark showho + + + + + + + + + + + + + + + + + +
    + + + linux系统配置Rust国内镜像加速 + + https://landv.cn/p/d66d8131.html + 2023-04-19T06:33:48.000Z + 2023-04-19T06:33:48.000Z + + deepin系统Rust国内镜像加速
    1
    vim ./cargo/config

    粘贴

    1
    2
    3
    4
    5
    [source.crates-io]
    registry = "https://github.com/rust-lang/crates.io-index"
    replace-with = 'ustc'
    [source.ustc]
    registry = "git://mirrors.ustc.edu.cn/crates.io-index"

    vim 输入法英文状态输入法冒号 :
    输入x回车然后保存成功。

    ]]>
    + + + + + <h1 id="deepin系统Rust国内镜像加速"><a href="#deepin系统Rust国内镜像加速" class="headerlink" title="deepin系统Rust国内镜像加速"></a>deepin系统Rust国内镜像加速</h1><figure c + + + + + + + + + + + + + +
    + +
    diff --git a/baidusitemap.xml b/baidusitemap.xml new file mode 100644 index 00000000..f7f936ea --- /dev/null +++ b/baidusitemap.xml @@ -0,0 +1,263 @@ + + + + https://landv.cn/p/b83de3b7.html + 2024-03-26 + + + https://landv.cn/p/2244e58e.html + 2024-03-26 + + + https://landv.cn/p/3bbc26ab.html + 2024-03-26 + + + https://landv.cn/p/c969a43c.html + 2024-01-12 + + + https://landv.cn/p/26f07d70.html + 2023-09-19 + + + https://landv.cn/p/744622f9.html + 2023-07-13 + + + https://landv.cn/p/7af5c8b0.html + 2023-07-10 + + + https://landv.cn/p/76035fa8.html + 2023-07-07 + + + https://landv.cn/p/c9a8aa0c.html + 2023-06-06 + + + https://landv.cn/p/624e4de9.html + 2023-06-05 + + + https://landv.cn/p/fda31f1e.html + 2023-05-31 + + + https://landv.cn/p/f225098e.html + 2023-05-19 + + + https://landv.cn/p/711f9251.html + 2023-05-15 + + + https://landv.cn/p/ec0f4d33.html + 2023-05-10 + + + https://landv.cn/p/55a1d7c5.html + 2023-05-10 + + + https://landv.cn/p/b6cf3a8d.html + 2023-04-21 + + + https://landv.cn/p/886ac8aa.html + 2023-04-19 + + + https://landv.cn/p/41bc4cae.html + 2023-04-19 + + + https://landv.cn/p/c65b44c3.html + 2023-04-19 + + + https://landv.cn/p/d66d8131.html + 2023-04-19 + + + https://landv.cn/p/2c336b43.html + 2023-04-19 + + + https://landv.cn/p/cd4d00a6.html + 2023-04-19 + + + https://landv.cn/p/354dbdac.html + 2023-04-19 + + + https://landv.cn/p/c2c199a0.html + 2023-04-19 + + + https://landv.cn/p/1656f0cc.html + 2023-04-10 + + + https://landv.cn/p/19b1ce9f.html + 2023-04-08 + + + https://landv.cn/p/cbe7ced9.html + 2023-04-06 + + + https://landv.cn/p/171a8a42.html + 2023-04-06 + + + https://landv.cn/p/a5830199.html + 2023-04-06 + + + https://landv.cn/p/4542ba6c.html + 2023-04-06 + + + https://landv.cn/p/ad15a8e4.html + 2023-04-06 + + + https://landv.cn/p/bb550fb5.html + 2023-04-06 + + + https://landv.cn/p/b5153044.html + 2023-04-06 + + + https://landv.cn/p/71bfd255.html + 2023-04-06 + + + https://landv.cn/p/956dff35.html + 2023-04-06 + + + https://landv.cn/p/ed068316.html + 2023-04-06 + + + https://landv.cn/p/1168fc44.html + 2023-04-06 + + + https://landv.cn/p/b3140761.html + 2023-04-06 + + + https://landv.cn/p/c98abf76.html + 2023-04-06 + + + https://landv.cn/p/58d841fe.html + 2023-04-06 + + + https://landv.cn/p/88bc4b0d.html + 2023-04-06 + + + https://landv.cn/p/5e61bbd2.html + 2023-04-06 + + + https://landv.cn/p/ec04d4fb.html + 2023-04-06 + + + https://landv.cn/p/12752854.html + 2023-04-06 + + + https://landv.cn/p/79866120.html + 2023-04-04 + + + https://landv.cn/p/8dc8fc20.html + 2023-04-04 + + + https://landv.cn/p/406b99df.html + 2023-03-18 + + + https://landv.cn/p/9932297e.html + 2023-03-17 + + + https://landv.cn/p/80dc9d6c.html + 2023-03-17 + + + https://landv.cn/p/7ce38ff9.html + 2023-03-17 + + + https://landv.cn/p/65b40fa5.html + 2023-03-17 + + + https://landv.cn/p/800e9156.html + 2023-03-17 + + + https://landv.cn/p/ea074c2e.html + 2023-03-17 + + + https://landv.cn/p/6cbc5a90.html + 2023-03-17 + + + https://landv.cn/p/9722d3e3.html + 2023-03-17 + + + https://landv.cn/p/bc29442.html + 2023-03-17 + + + https://landv.cn/p/ea4e789d.html + 2023-03-17 + + + https://landv.cn/p/fd37cb72.html + 2023-03-17 + + + https://landv.cn/p/82b10c06.html + 2023-03-17 + + + https://landv.cn/p/cc4d38b3.html + 2023-03-17 + + + https://landv.cn/p/73ee391f.html + 2023-03-17 + + + https://landv.cn/p/b2aab24f.html + 2023-03-17 + + + https://landv.cn/p/ea67e34.html + 2023-02-27 + + + https://landv.cn/p/a9da3a59.html + 2023-02-25 + + + https://landv.cn/p/f3fb008f.html + 2023-02-25 + + \ No newline at end of file diff --git a/categories/index.html b/categories/index.html new file mode 100644 index 00000000..10304775 --- /dev/null +++ b/categories/index.html @@ -0,0 +1 @@ +分类 | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/Awesome/index.html b/categories/landv/Awesome/index.html new file mode 100644 index 00000000..bae47090 --- /dev/null +++ b/categories/landv/Awesome/index.html @@ -0,0 +1 @@ +分类: Awesome | landv
    分类 - Awesome
    2023
    Awesome-bigdata
    Awesome-bigdata
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/Awesome/\345\244\247\346\225\260\346\215\256/index.html" "b/categories/landv/Awesome/\345\244\247\346\225\260\346\215\256/index.html" new file mode 100644 index 00000000..689dda84 --- /dev/null +++ "b/categories/landv/Awesome/\345\244\247\346\225\260\346\215\256/index.html" @@ -0,0 +1 @@ +分类: 大数据 | landv
    分类 - 大数据
    2023
    Awesome-bigdata
    Awesome-bigdata
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/QT/index.html b/categories/landv/QT/index.html new file mode 100644 index 00000000..95de827e --- /dev/null +++ b/categories/landv/QT/index.html @@ -0,0 +1 @@ +分类: QT | landv
    分类 - QT
    2023
    QT源码编译_静态编译
    QT源码编译_静态编译
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/armbian/index.html b/categories/landv/armbian/index.html new file mode 100644 index 00000000..649144cc --- /dev/null +++ b/categories/landv/armbian/index.html @@ -0,0 +1 @@ +分类: armbian | landv
    分类 - armbian
    2023
    移动魔百盒m401a刷机armbian
    移动魔百盒m401a刷机armbian
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/armbian/\351\255\224\347\231\276\347\233\222/index.html" "b/categories/landv/armbian/\351\255\224\347\231\276\347\233\222/index.html" new file mode 100644 index 00000000..1c2e096b --- /dev/null +++ "b/categories/landv/armbian/\351\255\224\347\231\276\347\233\222/index.html" @@ -0,0 +1 @@ +分类: 魔百盒 | landv
    分类 - 魔百盒
    2023
    移动魔百盒m401a刷机armbian
    移动魔百盒m401a刷机armbian
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/aspia/index.html b/categories/landv/aspia/index.html new file mode 100644 index 00000000..f6aad3cb --- /dev/null +++ b/categories/landv/aspia/index.html @@ -0,0 +1 @@ +分类: aspia | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/dnSpy/index.html b/categories/landv/dnSpy/index.html new file mode 100644 index 00000000..d52c4ea0 --- /dev/null +++ b/categories/landv/dnSpy/index.html @@ -0,0 +1 @@ +分类: dnSpy | landv
    分类 - dnSpy
    2023
    dnSpy断点调试
    dnSpy断点调试
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/excel/index.html b/categories/landv/excel/index.html new file mode 100644 index 00000000..4fe580e5 --- /dev/null +++ b/categories/landv/excel/index.html @@ -0,0 +1 @@ +分类: excel | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/index.html b/categories/landv/index.html new file mode 100644 index 00000000..f896c128 --- /dev/null +++ b/categories/landv/index.html @@ -0,0 +1 @@ +分类: landv | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/linux/denyhosts-ssh\351\230\262\345\276\241/index.html" "b/categories/landv/linux/denyhosts-ssh\351\230\262\345\276\241/index.html" new file mode 100644 index 00000000..d4d7ad92 --- /dev/null +++ "b/categories/landv/linux/denyhosts-ssh\351\230\262\345\276\241/index.html" @@ -0,0 +1 @@ +分类: denyhosts_ssh防御 | landv
    分类 - denyhosts_ssh防御
    2023
    ubuntu安装配置denyhosts_ssh防御
    ubuntu安装配置denyhosts_ssh防御
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/linux/fedora/index.html b/categories/landv/linux/fedora/index.html new file mode 100644 index 00000000..bf85b937 --- /dev/null +++ b/categories/landv/linux/fedora/index.html @@ -0,0 +1 @@ +分类: fedora | landv
    分类 - fedora
    2023
    linuxFedora37-从deepin_V20迁移到Fedora37
    linuxFedora37-从deepin_V20迁移到Fedora37
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/linux/index.html b/categories/landv/linux/index.html new file mode 100644 index 00000000..bab6af97 --- /dev/null +++ b/categories/landv/linux/index.html @@ -0,0 +1 @@ +分类: linux | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/linux/rust/index.html b/categories/landv/linux/rust/index.html new file mode 100644 index 00000000..a4b57355 --- /dev/null +++ b/categories/landv/linux/rust/index.html @@ -0,0 +1 @@ +分类: rust | landv
    分类 - rust
    2023
    rust在linux上构建windows程序
    rust在linux上构建windows程序
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/linux/ssh\350\257\201\344\271\246\347\231\273\345\275\225/index.html" "b/categories/landv/linux/ssh\350\257\201\344\271\246\347\231\273\345\275\225/index.html" new file mode 100644 index 00000000..011d1b7b --- /dev/null +++ "b/categories/landv/linux/ssh\350\257\201\344\271\246\347\231\273\345\275\225/index.html" @@ -0,0 +1 @@ +分类: ssh证书登录 | landv
    分类 - ssh证书登录
    2023
    linux_ssh证书登录配置方法
    linux_ssh证书登录配置方法
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/linux/tools/index.html b/categories/landv/linux/tools/index.html new file mode 100644 index 00000000..892a6249 --- /dev/null +++ b/categories/landv/linux/tools/index.html @@ -0,0 +1 @@ +分类: tools | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/linux/wps/index.html b/categories/landv/linux/wps/index.html new file mode 100644 index 00000000..c9d0ee09 --- /dev/null +++ b/categories/landv/linux/wps/index.html @@ -0,0 +1 @@ +分类: wps | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/linux/\346\226\260\345\242\236\347\224\250\346\210\267\345\271\266\345\242\236\345\212\240sudo\346\235\203\351\231\220/index.html" "b/categories/landv/linux/\346\226\260\345\242\236\347\224\250\346\210\267\345\271\266\345\242\236\345\212\240sudo\346\235\203\351\231\220/index.html" new file mode 100644 index 00000000..34d28ef3 --- /dev/null +++ "b/categories/landv/linux/\346\226\260\345\242\236\347\224\250\346\210\267\345\271\266\345\242\236\345\212\240sudo\346\235\203\351\231\220/index.html" @@ -0,0 +1 @@ +分类: 新增用户并增加sudo权限 | landv
    分类 - 新增用户并增加sudo权限
    2023
    linux_新增用户并增加sudo权限
    linux_新增用户并增加sudo权限
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/page/2/index.html b/categories/landv/page/2/index.html new file mode 100644 index 00000000..480a0bc7 --- /dev/null +++ b/categories/landv/page/2/index.html @@ -0,0 +1 @@ +分类: landv | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/page/3/index.html b/categories/landv/page/3/index.html new file mode 100644 index 00000000..93a3c8d0 --- /dev/null +++ b/categories/landv/page/3/index.html @@ -0,0 +1 @@ +分类: landv | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/page/4/index.html b/categories/landv/page/4/index.html new file mode 100644 index 00000000..d3f00a54 --- /dev/null +++ b/categories/landv/page/4/index.html @@ -0,0 +1 @@ +分类: landv | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/page/5/index.html b/categories/landv/page/5/index.html new file mode 100644 index 00000000..740eb6d4 --- /dev/null +++ b/categories/landv/page/5/index.html @@ -0,0 +1 @@ +分类: landv | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/page/6/index.html b/categories/landv/page/6/index.html new file mode 100644 index 00000000..525a0d6f --- /dev/null +++ b/categories/landv/page/6/index.html @@ -0,0 +1 @@ +分类: landv | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/page/7/index.html b/categories/landv/page/7/index.html new file mode 100644 index 00000000..95bec7ba --- /dev/null +++ b/categories/landv/page/7/index.html @@ -0,0 +1 @@ +分类: landv | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/python/index.html b/categories/landv/python/index.html new file mode 100644 index 00000000..1ebb7122 --- /dev/null +++ b/categories/landv/python/index.html @@ -0,0 +1 @@ +分类: python | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/python/\344\271\246\347\261\215/index.html" "b/categories/landv/python/\344\271\246\347\261\215/index.html" new file mode 100644 index 00000000..92bf3ab1 --- /dev/null +++ "b/categories/landv/python/\344\271\246\347\261\215/index.html" @@ -0,0 +1 @@ +分类: 书籍 | landv
    分类 - 书籍
    2023
    python系列图书
    python系列图书
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/python/\344\275\277\347\224\250\347\231\276\345\272\246\347\275\221\347\233\230api\350\277\233\350\241\214\345\244\207\344\273\275/index.html" "b/categories/landv/python/\344\275\277\347\224\250\347\231\276\345\272\246\347\275\221\347\233\230api\350\277\233\350\241\214\345\244\207\344\273\275/index.html" new file mode 100644 index 00000000..131fa0df --- /dev/null +++ "b/categories/landv/python/\344\275\277\347\224\250\347\231\276\345\272\246\347\275\221\347\233\230api\350\277\233\350\241\214\345\244\207\344\273\275/index.html" @@ -0,0 +1 @@ +分类: 使用百度网盘api进行备份 | landv
    分类 - 使用百度网盘api进行备份
    2023
    使用百度网盘api进行备份
    使用百度网盘api进行备份
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/python/\345\275\251\347\245\250/index.html" "b/categories/landv/python/\345\275\251\347\245\250/index.html" new file mode 100644 index 00000000..f023f4c4 --- /dev/null +++ "b/categories/landv/python/\345\275\251\347\245\250/index.html" @@ -0,0 +1 @@ +分类: 彩票 | landv
    分类 - 彩票
    2023
    500彩票接口
    500彩票接口
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/python/\350\207\252\345\212\250\346\211\223\345\215\241/index.html" "b/categories/landv/python/\350\207\252\345\212\250\346\211\223\345\215\241/index.html" new file mode 100644 index 00000000..4b31a053 --- /dev/null +++ "b/categories/landv/python/\350\207\252\345\212\250\346\211\223\345\215\241/index.html" @@ -0,0 +1 @@ +分类: 自动打卡 | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/rust/index.html b/categories/landv/rust/index.html new file mode 100644 index 00000000..eb9cdf3a --- /dev/null +++ b/categories/landv/rust/index.html @@ -0,0 +1 @@ +分类: rust | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/rust/\346\236\204\345\273\272/index.html" "b/categories/landv/rust/\346\236\204\345\273\272/index.html" new file mode 100644 index 00000000..82f8d2da --- /dev/null +++ "b/categories/landv/rust/\346\236\204\345\273\272/index.html" @@ -0,0 +1 @@ +分类: 构建 | landv
    分类 - 构建
    2023
    rust在linux上构建Windows程序
    rust在linux上构建Windows程序
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/tools/index.html b/categories/landv/tools/index.html new file mode 100644 index 00000000..f7aef1cb --- /dev/null +++ b/categories/landv/tools/index.html @@ -0,0 +1 @@ +分类: tools | landv
    分类 - tools
    2024
    Lucy快速启动-更新记录-下载地址
    Lucy快速启动-更新记录-下载地址
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/vala/index.html b/categories/landv/vala/index.html new file mode 100644 index 00000000..72bf2998 --- /dev/null +++ b/categories/landv/vala/index.html @@ -0,0 +1 @@ +分类: vala | landv
    分类 - vala
    2023
    Vala开发语言
    Vala开发语言
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/vala/\347\274\226\347\250\213\350\257\255\350\250\200/index.html" "b/categories/landv/vala/\347\274\226\347\250\213\350\257\255\350\250\200/index.html" new file mode 100644 index 00000000..6f279b1e --- /dev/null +++ "b/categories/landv/vala/\347\274\226\347\250\213\350\257\255\350\250\200/index.html" @@ -0,0 +1 @@ +分类: 编程语言 | landv
    分类 - 编程语言
    2023
    Vala开发语言
    Vala开发语言
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/vb/index.html b/categories/landv/vb/index.html new file mode 100644 index 00000000..4307b9d1 --- /dev/null +++ b/categories/landv/vb/index.html @@ -0,0 +1 @@ +分类: vb | landv
    分类 - vb
    2023
    vb6OCX许可证算法分析
    vb6OCX许可证算法分析
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/vb/ocx/index.html b/categories/landv/vb/ocx/index.html new file mode 100644 index 00000000..33dedcf8 --- /dev/null +++ b/categories/landv/vb/ocx/index.html @@ -0,0 +1 @@ +分类: ocx | landv
    分类 - ocx
    2023
    vb6OCX许可证算法分析
    vb6OCX许可证算法分析
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/vb6/index.html b/categories/landv/vb6/index.html new file mode 100644 index 00000000..6733539f --- /dev/null +++ b/categories/landv/vb6/index.html @@ -0,0 +1 @@ +分类: vb6 | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/windows/Cygwin/index.html b/categories/landv/windows/Cygwin/index.html new file mode 100644 index 00000000..8085fb39 --- /dev/null +++ b/categories/landv/windows/Cygwin/index.html @@ -0,0 +1 @@ +分类: Cygwin | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/windows/index.html b/categories/landv/windows/index.html new file mode 100644 index 00000000..7e9c2467 --- /dev/null +++ b/categories/landv/windows/index.html @@ -0,0 +1 @@ +分类: windows | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/windows/vb6/index.html b/categories/landv/windows/vb6/index.html new file mode 100644 index 00000000..96bddf1a --- /dev/null +++ b/categories/landv/windows/vb6/index.html @@ -0,0 +1 @@ +分类: vb6 | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/categories/landv/wireguard/index.html b/categories/landv/wireguard/index.html new file mode 100644 index 00000000..0a4473a9 --- /dev/null +++ b/categories/landv/wireguard/index.html @@ -0,0 +1 @@ +分类: wireguard | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\344\273\216\351\233\266\345\274\200\345\247\213\347\274\226\345\206\231\344\274\232\345\221\230\347\256\241\347\220\206\347\263\273\347\273\237/index.html" "b/categories/landv/\344\273\216\351\233\266\345\274\200\345\247\213\347\274\226\345\206\231\344\274\232\345\221\230\347\256\241\347\220\206\347\263\273\347\273\237/index.html" new file mode 100644 index 00000000..76994ceb --- /dev/null +++ "b/categories/landv/\344\273\216\351\233\266\345\274\200\345\247\213\347\274\226\345\206\231\344\274\232\345\221\230\347\256\241\347\220\206\347\263\273\347\273\237/index.html" @@ -0,0 +1 @@ +分类: 从零开始编写会员管理系统 | landv
    分类 - 从零开始编写会员管理系统
    2023
    从零开始编写会员管理系统-01
    从零开始编写会员管理系统-01
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\344\274\232\345\221\230/index.html" "b/categories/landv/\344\274\232\345\221\230/index.html" new file mode 100644 index 00000000..f195f1d5 --- /dev/null +++ "b/categories/landv/\344\274\232\345\221\230/index.html" @@ -0,0 +1 @@ +分类: 会员 | landv
    分类 - 会员
    2023
    会员数据化运营概述
    会员数据化运营概述
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\344\274\232\345\221\230/\344\274\232\345\221\230\346\225\260\346\215\256\345\214\226/index.html" "b/categories/landv/\344\274\232\345\221\230/\344\274\232\345\221\230\346\225\260\346\215\256\345\214\226/index.html" new file mode 100644 index 00000000..b09622bf --- /dev/null +++ "b/categories/landv/\344\274\232\345\221\230/\344\274\232\345\221\230\346\225\260\346\215\256\345\214\226/index.html" @@ -0,0 +1 @@ +分类: 会员数据化 | landv
    分类 - 会员数据化
    2023
    会员数据化运营概述
    会员数据化运营概述
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\345\215\232\345\256\242/index.html" "b/categories/landv/\345\215\232\345\256\242/index.html" new file mode 100644 index 00000000..aaee7a8d --- /dev/null +++ "b/categories/landv/\345\215\232\345\256\242/index.html" @@ -0,0 +1 @@ +分类: 博客 | landv
    分类 - 博客
    2023
    优化github_actions上传腾讯云cos逻辑
    优化github_actions上传腾讯云cos逻辑
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\345\265\214\345\205\245\345\274\217\345\274\200\345\217\221/index.html" "b/categories/landv/\345\265\214\345\205\245\345\274\217\345\274\200\345\217\221/index.html" new file mode 100644 index 00000000..4e321a7d --- /dev/null +++ "b/categories/landv/\345\265\214\345\205\245\345\274\217\345\274\200\345\217\221/index.html" @@ -0,0 +1 @@ +分类: 嵌入式开发 | landv
    分类 - 嵌入式开发
    2023
    嵌入式开发
    嵌入式开发
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\345\270\206\350\275\257/index.html" "b/categories/landv/\345\270\206\350\275\257/index.html" new file mode 100644 index 00000000..85f35f23 --- /dev/null +++ "b/categories/landv/\345\270\206\350\275\257/index.html" @@ -0,0 +1 @@ +分类: 帆软 | landv
    分类 - 帆软
    2023
    帆软-关联数据集
    帆软-关联数据集
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\345\275\251\347\245\250/index.html" "b/categories/landv/\345\275\251\347\245\250/index.html" new file mode 100644 index 00000000..9783f7ed --- /dev/null +++ "b/categories/landv/\345\275\251\347\245\250/index.html" @@ -0,0 +1 @@ +分类: 彩票 | landv
    分类 - 彩票
    2023
    双色球
    双色球
    排列3
    排列3
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\345\275\251\347\245\250/\345\217\214\350\211\262\347\220\203/index.html" "b/categories/landv/\345\275\251\347\245\250/\345\217\214\350\211\262\347\220\203/index.html" new file mode 100644 index 00000000..5a1fa0b5 --- /dev/null +++ "b/categories/landv/\345\275\251\347\245\250/\345\217\214\350\211\262\347\220\203/index.html" @@ -0,0 +1 @@ +分类: 双色球 | landv
    分类 - 双色球
    2023
    双色球
    双色球
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\345\275\251\347\245\250/\346\216\222\345\210\2273/index.html" "b/categories/landv/\345\275\251\347\245\250/\346\216\222\345\210\2273/index.html" new file mode 100644 index 00000000..749f1b23 --- /dev/null +++ "b/categories/landv/\345\275\251\347\245\250/\346\216\222\345\210\2273/index.html" @@ -0,0 +1 @@ +分类: 排列3 | landv
    分类 - 排列3
    2023
    排列3
    排列3
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\345\277\253\344\271\2208/index.html" "b/categories/landv/\345\277\253\344\271\2208/index.html" new file mode 100644 index 00000000..ce17507b --- /dev/null +++ "b/categories/landv/\345\277\253\344\271\2208/index.html" @@ -0,0 +1 @@ +分类: 快乐8 | landv
    分类 - 快乐8
    2023
    快乐8
    快乐8
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\346\215\267\344\277\241\350\276\276/index.html" "b/categories/landv/\346\215\267\344\277\241\350\276\276/index.html" new file mode 100644 index 00000000..94fa1e90 --- /dev/null +++ "b/categories/landv/\346\215\267\344\277\241\350\276\276/index.html" @@ -0,0 +1 @@ +分类: 捷信达 | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\347\237\263\345\237\272/index.html" "b/categories/landv/\347\237\263\345\237\272/index.html" new file mode 100644 index 00000000..06595e9c --- /dev/null +++ "b/categories/landv/\347\237\263\345\237\272/index.html" @@ -0,0 +1 @@ +分类: 石基 | landv
    分类 - 石基
    2023
    石基银客环企相关
    石基银客环企相关
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\347\237\263\345\237\272/\351\223\266\345\256\242\347\216\257\344\274\201/index.html" "b/categories/landv/\347\237\263\345\237\272/\351\223\266\345\256\242\347\216\257\344\274\201/index.html" new file mode 100644 index 00000000..9fa6d135 --- /dev/null +++ "b/categories/landv/\347\237\263\345\237\272/\351\223\266\345\256\242\347\216\257\344\274\201/index.html" @@ -0,0 +1 @@ +分类: 银客环企 | landv
    分类 - 银客环企
    2023
    石基银客环企相关
    石基银客环企相关
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\347\276\244\350\276\211/index.html" "b/categories/landv/\347\276\244\350\276\211/index.html" new file mode 100644 index 00000000..478ae933 --- /dev/null +++ "b/categories/landv/\347\276\244\350\276\211/index.html" @@ -0,0 +1 @@ +分类: 群辉 | landv
    分类 - 群辉
    2023
    群晖golang交叉编译
    群晖golang交叉编译
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\350\205\276\350\256\257\344\272\221/index.html" "b/categories/landv/\350\205\276\350\256\257\344\272\221/index.html" new file mode 100644 index 00000000..46ada2e6 --- /dev/null +++ "b/categories/landv/\350\205\276\350\256\257\344\272\221/index.html" @@ -0,0 +1 @@ +分类: 腾讯云 | landv
    分类 - 腾讯云
    2023
    腾讯云函数scf
    腾讯云函数scf
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\350\205\276\350\256\257\344\272\221/\344\272\221\345\207\275\346\225\260/index.html" "b/categories/landv/\350\205\276\350\256\257\344\272\221/\344\272\221\345\207\275\346\225\260/index.html" new file mode 100644 index 00000000..8692210f --- /dev/null +++ "b/categories/landv/\350\205\276\350\256\257\344\272\221/\344\272\221\345\207\275\346\225\260/index.html" @@ -0,0 +1 @@ +分类: 云函数 | landv
    分类 - 云函数
    2023
    腾讯云函数scf
    腾讯云函数scf
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\350\277\234\347\250\213\346\216\247\345\210\266/index.html" "b/categories/landv/\350\277\234\347\250\213\346\216\247\345\210\266/index.html" new file mode 100644 index 00000000..d97642ae --- /dev/null +++ "b/categories/landv/\350\277\234\347\250\213\346\216\247\345\210\266/index.html" @@ -0,0 +1 @@ +分类: 远程控制 | landv
    分类 - 远程控制
    2023
    实现远程控制的几种方式
    实现远程控制的几种方式
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\351\207\221\350\235\266/index.html" "b/categories/landv/\351\207\221\350\235\266/index.html" new file mode 100644 index 00000000..e5cfcaa0 --- /dev/null +++ "b/categories/landv/\351\207\221\350\235\266/index.html" @@ -0,0 +1 @@ +分类: 金蝶 | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\351\207\221\350\235\266/\350\241\245\344\270\201/index.html" "b/categories/landv/\351\207\221\350\235\266/\350\241\245\344\270\201/index.html" new file mode 100644 index 00000000..a61931ff --- /dev/null +++ "b/categories/landv/\351\207\221\350\235\266/\350\241\245\344\270\201/index.html" @@ -0,0 +1 @@ +分类: 补丁 | landv
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\351\233\266\347\242\216\351\223\276\346\216\245/index.html" "b/categories/landv/\351\233\266\347\242\216\351\223\276\346\216\245/index.html" new file mode 100644 index 00000000..5bf0a67d --- /dev/null +++ "b/categories/landv/\351\233\266\347\242\216\351\223\276\346\216\245/index.html" @@ -0,0 +1 @@ +分类: 零碎链接 | landv
    分类 - 零碎链接
    2023
    零碎收藏链接
    零碎收藏链接
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/landv/\351\273\221\345\256\242\345\267\245\345\205\267/index.html" "b/categories/landv/\351\273\221\345\256\242\345\267\245\345\205\267/index.html" new file mode 100644 index 00000000..4f2f5b54 --- /dev/null +++ "b/categories/landv/\351\273\221\345\256\242\345\267\245\345\205\267/index.html" @@ -0,0 +1 @@ +分类: 黑客工具 | landv
    分类 - 黑客工具
    2023
    webHackersWeapons
    webHackersWeapons
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git "a/categories/\346\225\260\346\215\256\345\210\206\346\236\220/index.html" "b/categories/\346\225\260\346\215\256\345\210\206\346\236\220/index.html" new file mode 100644 index 00000000..76c73125 --- /dev/null +++ "b/categories/\346\225\260\346\215\256\345\210\206\346\236\220/index.html" @@ -0,0 +1 @@ +分类: 数据分析 | landv
    分类 - 数据分析
    2023
    python数据分析
    python数据分析
    avatar
    landv
    欢迎来到我的个人博客,这里主要分享编程、Python、Go等编程开发相关的知识和经验,包括程序设计、数据分析以及Web开发等方面的内容。我会不定期更新博客,分享自己在编程实践中遇到的问题、解决方案和心得体会。同时,我也会分享一些开源项目和技术资源,帮助大家更好地学习和掌握程序员的必备技能。如果你对编程开发感兴趣,欢迎关注我的博客。
    Follow Me
    公告
    这是浩秦的博客
    \ No newline at end of file diff --git a/cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.css b/cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.css new file mode 100644 index 00000000..df685d54 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.css @@ -0,0 +1,3 @@ +/* build time:Tue Mar 26 2024 09:21:28 GMT+0000 (Coordinated Universal Time)*/ +.f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color,var(--f-carousel-theme-color,#0091ff));z-index:30;user-select:none;pointer-events:none} +/* rebuild by neat */ \ No newline at end of file diff --git a/cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.esm.js b/cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.esm.js new file mode 100644 index 00000000..28170ded --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.esm.js @@ -0,0 +1 @@ +const e=(t,...s)=>{const i=s.length;for(let n=0;n{const n=Array.isArray(i)?[]:{};var r;t[s]||Object.assign(t,{[s]:n}),"object"==typeof(r=i)&&null!==r&&r.constructor===Object&&"[object Object]"===Object.prototype.toString.call(r)?Object.assign(t[s],e(n,i)):Array.isArray(i)?Object.assign(t,{[s]:[...i]}):Object.assign(t,{[s]:i})}))}return t},t=function(e,t){return e.split(".").reduce(((e,t)=>"object"==typeof e?e[t]:void 0),t)};class s{constructor(e={}){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),this.setOptions(e);for(const e of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))e.startsWith("on")&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}setOptions(t){this.options=t?e({},this.constructor.defaults,t):{};for(const[e,t]of Object.entries(this.option("on")||{}))this.on(e,t)}option(e,...s){let i=t(e,this.options);return i&&"function"==typeof i&&(i=i.call(this,this,...s)),i}optionFor(e,s,i,...n){let r=t(s,e);var o;"string"!=typeof(o=r)||isNaN(o)||isNaN(parseFloat(o))||(r=parseFloat(r)),"true"===r&&(r=!0),"false"===r&&(r=!1),r&&"function"==typeof r&&(r=r.call(this,this,e,...n));let a=t(s,this.options);return a&&"function"==typeof a?r=a.call(this,this,e,...n,r):void 0===r&&(r=a),void 0===r?i:r}cn(e){const t=this.options.classes;return t&&t[e]||""}localize(e,t=[]){e=String(e).replace(/\{\{(\w+).?(\w+)?\}\}/g,((e,t,s)=>{let i="";return s?i=this.option(`${t[0]+t.toLowerCase().substring(1)}.l10n.${s}`):t&&(i=this.option(`l10n.${t}`)),i||(i=e),i}));for(let s=0;st))}on(e,t){let s=[];"string"==typeof e?s=e.split(" "):Array.isArray(e)&&(s=e),this.events||(this.events=new Map),s.forEach((e=>{let s=this.events.get(e);s||(this.events.set(e,[]),s=[]),s.includes(t)||s.push(t),this.events.set(e,s)}))}off(e,t){let s=[];"string"==typeof e?s=e.split(" "):Array.isArray(e)&&(s=e),s.forEach((e=>{const s=this.events.get(e);if(Array.isArray(s)){const e=s.indexOf(t);e>-1&&s.splice(e,1)}}))}emit(e,...t){[...this.events.get(e)||[]].forEach((e=>e(this,...t))),"*"!==e&&this.emit("*",e,...t)}}Object.defineProperty(s,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(s,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class i extends s{constructor(e,t){super(t),Object.defineProperty(this,"instance",{enumerable:!0,configurable:!0,writable:!0,value:e})}attach(){}detach(){}}const n=e=>`${e||""}`.split(" ").filter((e=>!!e)),r=(e,t)=>{n(t).forEach((t=>{e&&e.classList.add(t)}))};class o extends i{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:"ready"}),Object.defineProperty(this,"inHover",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"progressBar",{enumerable:!0,configurable:!0,writable:!0,value:null})}get isActive(){return"ready"!==this.state}onReady(e){this.option("autoStart")&&(e.isInfinite||e.page{this.timer=null,this.inHover||this.onTimerEnd()}),e),this.emit("set")}clear(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.removeProgressBar()}start(){if(this.set(),this.option("pauseOnHover")){const e=this.instance.container;e.addEventListener("mouseenter",this.onMouseEnter,!1),e.addEventListener("mouseleave",this.onMouseLeave,!1)}document.addEventListener("visibilitychange",this.onVisibilityChange,!1)}stop(){const e=this.instance.container;var t;this.clear(),this.state="ready",e.removeEventListener("mouseenter",this.onMouseEnter,!1),e.removeEventListener("mouseleave",this.onMouseLeave,!1),document.removeEventListener("visibilitychange",this.onVisibilityChange,!1),t=e,n("has-autoplay").forEach((e=>{t&&t.classList.remove(e)})),this.emit("stop")}pause(){"play"===this.state&&(this.state="pause",this.clear(),this.emit("pause"))}resume(){const e=this.instance;if(e.isInfinite||e.page!==e.pages.length-1)if("play"!==this.state){if("pause"===this.state&&!this.inHover){const e=new Event("resume",{bubbles:!0,cancelable:!0});this.emit("resume",event),e.defaultPrevented||this.set()}}else this.set();else this.stop()}toggle(){"play"===this.state||"pause"===this.state?this.stop():this.set()}attach(){this.instance.on("ready",this.onReady),this.instance.on("Panzoom.startAnimation",this.onChange),this.instance.on("Panzoom.endAnimation",this.onSettle),this.instance.on("Panzoom.touchMove",this.onChange)}detach(){this.instance.off("ready",this.onReady),this.instance.off("Panzoom.startAnimation",this.onChange),this.instance.off("Panzoom.endAnimation",this.onSettle),this.instance.off("Panzoom.touchMove",this.onChange),this.stop()}}Object.defineProperty(o,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{autoStart:!0,pauseOnHover:!0,progressParentEl:null,showProgress:!0,timeout:3e3}});export{o as Autoplay}; diff --git a/cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.umd.js b/cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.umd.js new file mode 100644 index 00000000..c6bec538 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/carousel.autoplay.umd.js @@ -0,0 +1 @@ +!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).window=e.window||{})}(this,(function(e){"use strict";const t=(e,...s)=>{const i=s.length;for(let n=0;n{const n=Array.isArray(i)?[]:{};var o;e[s]||Object.assign(e,{[s]:n}),"object"==typeof(o=i)&&null!==o&&o.constructor===Object&&"[object Object]"===Object.prototype.toString.call(o)?Object.assign(e[s],t(n,i)):Array.isArray(i)?Object.assign(e,{[s]:[...i]}):Object.assign(e,{[s]:i})}))}return e},s=function(e,t){return e.split(".").reduce(((e,t)=>"object"==typeof e?e[t]:void 0),t)};class i{constructor(e={}){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),this.setOptions(e);for(const e of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))e.startsWith("on")&&"function"==typeof this[e]&&(this[e]=this[e].bind(this))}setOptions(e){this.options=e?t({},this.constructor.defaults,e):{};for(const[e,t]of Object.entries(this.option("on")||{}))this.on(e,t)}option(e,...t){let i=s(e,this.options);return i&&"function"==typeof i&&(i=i.call(this,this,...t)),i}optionFor(e,t,i,...n){let o=s(t,e);var r;"string"!=typeof(r=o)||isNaN(r)||isNaN(parseFloat(r))||(o=parseFloat(o)),"true"===o&&(o=!0),"false"===o&&(o=!1),o&&"function"==typeof o&&(o=o.call(this,this,e,...n));let a=s(t,this.options);return a&&"function"==typeof a?o=a.call(this,this,e,...n,o):void 0===o&&(o=a),void 0===o?i:o}cn(e){const t=this.options.classes;return t&&t[e]||""}localize(e,t=[]){e=String(e).replace(/\{\{(\w+).?(\w+)?\}\}/g,((e,t,s)=>{let i="";return s?i=this.option(`${t[0]+t.toLowerCase().substring(1)}.l10n.${s}`):t&&(i=this.option(`l10n.${t}`)),i||(i=e),i}));for(let s=0;st))}on(e,t){let s=[];"string"==typeof e?s=e.split(" "):Array.isArray(e)&&(s=e),this.events||(this.events=new Map),s.forEach((e=>{let s=this.events.get(e);s||(this.events.set(e,[]),s=[]),s.includes(t)||s.push(t),this.events.set(e,s)}))}off(e,t){let s=[];"string"==typeof e?s=e.split(" "):Array.isArray(e)&&(s=e),s.forEach((e=>{const s=this.events.get(e);if(Array.isArray(s)){const e=s.indexOf(t);e>-1&&s.splice(e,1)}}))}emit(e,...t){[...this.events.get(e)||[]].forEach((e=>e(this,...t))),"*"!==e&&this.emit("*",e,...t)}}Object.defineProperty(i,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(i,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class n extends i{constructor(e,t){super(t),Object.defineProperty(this,"instance",{enumerable:!0,configurable:!0,writable:!0,value:e})}attach(){}detach(){}}const o=e=>`${e||""}`.split(" ").filter((e=>!!e)),r=(e,t)=>{o(t).forEach((t=>{e&&e.classList.add(t)}))};class a extends n{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:"ready"}),Object.defineProperty(this,"inHover",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"progressBar",{enumerable:!0,configurable:!0,writable:!0,value:null})}get isActive(){return"ready"!==this.state}onReady(e){this.option("autoStart")&&(e.isInfinite||e.page{this.timer=null,this.inHover||this.onTimerEnd()}),e),this.emit("set")}clear(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.removeProgressBar()}start(){if(this.set(),this.option("pauseOnHover")){const e=this.instance.container;e.addEventListener("mouseenter",this.onMouseEnter,!1),e.addEventListener("mouseleave",this.onMouseLeave,!1)}document.addEventListener("visibilitychange",this.onVisibilityChange,!1)}stop(){const e=this.instance.container;var t;this.clear(),this.state="ready",e.removeEventListener("mouseenter",this.onMouseEnter,!1),e.removeEventListener("mouseleave",this.onMouseLeave,!1),document.removeEventListener("visibilitychange",this.onVisibilityChange,!1),t=e,o("has-autoplay").forEach((e=>{t&&t.classList.remove(e)})),this.emit("stop")}pause(){"play"===this.state&&(this.state="pause",this.clear(),this.emit("pause"))}resume(){const e=this.instance;if(e.isInfinite||e.page!==e.pages.length-1)if("play"!==this.state){if("pause"===this.state&&!this.inHover){const e=new Event("resume",{bubbles:!0,cancelable:!0});this.emit("resume",event),e.defaultPrevented||this.set()}}else this.set();else this.stop()}toggle(){"play"===this.state||"pause"===this.state?this.stop():this.set()}attach(){this.instance.on("ready",this.onReady),this.instance.on("Panzoom.startAnimation",this.onChange),this.instance.on("Panzoom.endAnimation",this.onSettle),this.instance.on("Panzoom.touchMove",this.onChange)}detach(){this.instance.off("ready",this.onReady),this.instance.off("Panzoom.startAnimation",this.onChange),this.instance.off("Panzoom.endAnimation",this.onSettle),this.instance.off("Panzoom.touchMove",this.onChange),this.stop()}}Object.defineProperty(a,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{autoStart:!0,pauseOnHover:!0,progressParentEl:null,showProgress:!0,timeout:3e3}}),e.Autoplay=a})); diff --git a/cdn/@fancyapps/ui/dist/carousel/carousel.css b/cdn/@fancyapps/ui/dist/carousel/carousel.css new file mode 100644 index 00000000..b4a463e1 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/carousel.css @@ -0,0 +1,3 @@ +/* build time:Tue Mar 26 2024 09:21:28 GMT+0000 (Coordinated Universal Time)*/ +:root{--f-spinner-width:36px;--f-spinner-height:36px;--f-spinner-color-1:rgba(0, 0, 0, 0.1);--f-spinner-color-2:rgba(17, 24, 28, 0.8);--f-spinner-stroke:2.75}.f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}.f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}.f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}.f-spinner svg :first-child{stroke:var(--f-spinner-color-1)}.f-spinner svg :last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{100%{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.f-zoomInUp{animation:.2s cubic-bezier(.215,.61,.355,1) .1s both f-zoomInUp}.f-zoomOutDown{animation:.3s cubic-bezier(.16,1,.3,1) both f-zoomOutDown}@keyframes f-zoomInUp{from{transform:scale(.975) translate3d(0,16px,0);opacity:0}to{transform:scale(1) translate3d(0,0,0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(.975) translate3d(0,16px,0);opacity:0}}.f-throwOutUp{animation:.175s ease-out both f-throwOutUp}.f-throwOutDown{animation:.175s ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,-150px,0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,150px,0);opacity:0}}.f-fadeIn{animation:.2s ease both f-fadeIn;z-index:2}.f-fadeOut{animation:.2s ease both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeOut{100%{opacity:0}}.f-fadeSlowIn{animation:.5s ease both f-fadeSlowIn;z-index:2}.f-fadeSlowOut{animation:.5s ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeSlowOut{100%{opacity:0}}.f-fadeFastIn{animation:.2s ease-out both f-fadeFastIn;z-index:2}.f-fadeFastOut{animation:.2s ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}100%{opacity:1}}@keyframes f-fadeFastOut{100%{opacity:0}}.f-crossfadeIn{animation:.2s ease-out both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:.1s linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-crossfadeOut{100%{opacity:0}}.f-slideIn.from-next{animation:.85s cubic-bezier(.16,1,.3,1) f-slideInNext}.f-slideIn.from-prev{animation:.85s cubic-bezier(.16,1,.3,1) f-slideInPrev}.f-slideOut.to-next{animation:.85s cubic-bezier(.16,1,.3,1) f-slideOutNext}.f-slideOut.to-prev{animation:.85s cubic-bezier(.16,1,.3,1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translateX(100%)}100%{transform:translate3d(0,0,0)}}@keyframes f-slideInNext{0%{transform:translateX(-100%)}100%{transform:translate3d(0,0,0)}}@keyframes f-slideOutNext{100%{transform:translateX(-100%)}}@keyframes f-slideOutPrev{100%{transform:translateX(100%)}}.f-classicIn.from-next{animation:.85s cubic-bezier(.16,1,.3,1) f-classicInNext;z-index:2}.f-classicIn.from-prev{animation:.85s cubic-bezier(.16,1,.3,1) f-classicInPrev;z-index:2}.f-classicOut.to-next{animation:.85s cubic-bezier(.16,1,.3,1) f-classicOutNext;z-index:1}.f-classicOut.to-prev{animation:.85s cubic-bezier(.16,1,.3,1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translateX(-75px);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translateX(75px);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@keyframes f-classicOutNext{100%{transform:translateX(-75px);opacity:0}}@keyframes f-classicOutPrev{100%{transform:translateX(75px);opacity:0}}.f-carousel{--f-carousel-theme-color:#706f6c;--f-carousel-spacing:0px;--f-carousel-slide-width:100%;--f-carousel-slide-height:auto;--f-carousel-slide-padding:0;--f-button-width:42px;--f-button-height:42px;--f-button-color:var(--f-carousel-theme-color, currentColor);--f-button-hover-color:var(--f-carousel-theme-color, currentColor);--f-button-bg:transparent;--f-button-hover-bg:var(--f-button-bg);--f-button-active-bg:var(--f-button-bg);--f-button-svg-width:24px;--f-button-svg-height:24px;--f-button-next-pos:10px;--f-button-prev-pos:10px;position:relative;box-sizing:border-box}.f-carousel *,.f-carousel :after,.f-carousel :before{box-sizing:inherit}.f-carousel.is-ltr{direction:ltr}.f-carousel.is-rtl{direction:rtl}.f-carousel__viewport{overflow:hidden;transform:translate3d(0,0,0);backface-visibility:hidden;width:100%;height:100%}.f-carousel__viewport.is-draggable{cursor:move;cursor:grab}.f-carousel__viewport.is-dragging{cursor:move;cursor:grabbing}.f-carousel__track{display:flex;margin:0 auto;padding:0;height:100%;-webkit-tap-highlight-color:transparent}.f-carousel__slide{position:relative;flex:0 0 auto;width:var(--f-carousel-slide-width);max-width:100%;height:var(--f-carousel-slide-height);margin:0 var(--f-carousel-spacing) 0 0;padding:var(--f-carousel-slide-padding);overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;outline:0;transform-origin:center center}.f-carousel__slide.is-loading{min-height:88px;min-width:88px}.f-carousel.is-vertical{--f-carousel-slide-height:100%}.f-carousel.is-vertical .f-carousel__track{flex-wrap:wrap}.f-carousel.is-vertical .f-carousel__slide{margin:0 0 var(--f-carousel-spacing) 0}:root{--f-carousel-dots-width:24px;--f-carousel-dots-height:30px;--f-carousel-dot-width:8px;--f-carousel-dot-height:8px;--f-carousel-dot-radius:50%;--f-carousel-dot-color:var(--f-carousel-theme-color, currentColor);--f-carousel-dot-opacity:0.2;--f-carousel-dot-hover-opacity:0.4}.f-carousel__dots{position:absolute;bottom:calc(var(--f-carousel-dots-height)*-1);left:0;right:0;display:flex;justify-content:center;align-items:center;flex-wrap:wrap;margin:0 auto!important;padding:0;list-style:none!important;user-select:none}.f-carousel__dots li{margin:0;padding:0;border:0;display:flex;align-items:center;justify-content:center;opacity:var(--f-carousel-dot-opacity);transition:opacity .15s ease-in-out}.f-carousel__dots li+li{margin:0}.f-carousel__dots li:hover{opacity:var(--f-carousel-dot-hover-opacity)}.f-carousel__dots li.is-current{opacity:1}.f-carousel__dots li button{appearance:none;display:flex;align-items:center;justify-content:center;margin:0;padding:0;width:var(--f-carousel-dots-width);height:var(--f-carousel-dots-height);border:0;background:rgba(0,0,0,0);cursor:pointer;transition:all .2s linear}.f-carousel__dot{display:block;margin:0;padding:0;border:0;width:var(--f-carousel-dot-width);height:var(--f-carousel-dot-height);border-radius:var(--f-carousel-dot-radius);background-color:var(--f-carousel-dot-color);line-height:0;font-size:0;cursor:pointer;pointer-events:none}.f-carousel__dots.is-dynamic li:not(.is-prev,.is-next,.is-current,.is-after-next,.is-before-prev) button{transform:scale(0);width:0}.f-carousel__dots.is-dynamic li.is-after-next button,.f-carousel__dots.is-dynamic li.is-before-prev button{transform:scale(.22)}.f-carousel__dots.is-dynamic li.is-next button,.f-carousel__dots.is-dynamic li.is-prev button{transform:scale(.66)}.f-carousel__dots.is-dynamic li.is-current button{transform:scale(1)}.f-carousel__dots.is-dynamic li.is-after-next button,.f-carousel__dots.is-dynamic li.is-before-prev button{transform:scale(.33)}.f-carousel__dots.is-dynamic li.is-current:first-child{margin-left:calc(var(--f-carousel-dots-width)*2)}.f-carousel__dots.is-dynamic li.is-prev:first-child{margin-left:var(--f-carousel-dots-width)}.f-carousel__dots.is-dynamic li.is-next:last-child{margin-right:var(--f-carousel-dots-width)}.f-carousel__dots.is-dynamic li.is-current:last-child{margin-right:calc(var(--f-carousel-dots-width)*2)}.f-carousel.is-rtl .f-carousel__dots.is-dynamic .is-current:first-child{margin-left:0;margin-right:var(--f-carousel-dots-width)}.f-carousel.is-rtl .f-carousel__dots.is-dynamic .is-prev:first-child{margin-left:0;margin-right:var(--f-carousel-dots-width)}.f-carousel.is-rtl .f-carousel__dots.is-dynamic .is-current:last-child{margin-left:0;margin-right:var(--f-carousel-dots-width)}.f-carousel.is-rtl .f-carousel__dots.is-dynamic .is-next:last-child{margin-right:0;margin-left:var(--f-carousel-dots-width)}:root{--f-button-width:40px;--f-button-height:40px;--f-button-border:0;--f-button-border-radius:0;--f-button-color:#374151;--f-button-bg:#f8f8f8;--f-button-hover-bg:#e0e0e0;--f-button-active-bg:#d0d0d0;--f-button-shadow:none;--f-button-transition:all 0.15s ease;--f-button-transform:none;--f-button-svg-width:20px;--f-button-svg-height:20px;--f-button-svg-stroke-width:1.5;--f-button-svg-fill:none;--f-button-svg-filter:none;--f-button-svg-disabled-opacity:0.65}.f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media(hover:hover){.f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}.f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}.f-button:focus:not(:focus-visible){outline:0}.f-button:focus-visible{outline:0;box-shadow:inset 0 0 0 var(--f-button-outline,2px) var(--f-button-outline-color,var(--f-button-color))}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}.f-button[disabled]{cursor:default}.f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}.f-carousel__nav .f-button.is-next,.f-carousel__nav .f-button.is-prev,.fancybox__nav .f-button.is-next,.fancybox__nav .f-button.is-prev{position:absolute;z-index:1}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-prev{top:50%;transform:translateY(-50%)}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,.is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-prev{top:auto;left:50%;transform:translateX(-50%)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next svg,.is-vertical .f-carousel__nav .f-button.is-prev svg,.is-vertical .fancybox__nav .f-button.is-next svg,.is-vertical .fancybox__nav .f-button.is-prev svg{transform:rotate(90deg)} +/* rebuild by neat */ \ No newline at end of file diff --git a/cdn/@fancyapps/ui/dist/carousel/carousel.esm.js b/cdn/@fancyapps/ui/dist/carousel/carousel.esm.js new file mode 100644 index 00000000..1dc7f515 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/carousel.esm.js @@ -0,0 +1 @@ +const t=t=>"object"==typeof t&&null!==t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t),e=(i,...s)=>{const n=s.length;for(let o=0;o{const o=Array.isArray(n)?[]:{};i[s]||Object.assign(i,{[s]:o}),t(n)?Object.assign(i[s],e(o,n)):Array.isArray(n)?Object.assign(i,{[s]:[...n]}):Object.assign(i,{[s]:n})}))}return i},i=function(t,e){let i=!0;return(...s)=>{i&&(i=!1,t(...s),setTimeout((()=>{i=!0}),e))}},s=(t,e)=>{let i=[];return t.childNodes.forEach((t=>{t.nodeType!==Node.ELEMENT_NODE||e&&!t.matches(e)||i.push(t)})),i},n=function(t){return(new DOMParser).parseFromString(t,"text/html").body.firstChild},o=(t,e=1e4)=>(t=parseFloat(t+"")||0,Math.round((t+Number.EPSILON)*e)/e),a=t=>`${t||""}`.split(" ").filter((t=>!!t)),r=(t,e)=>{a(e).forEach((e=>{t&&t.classList.add(e)}))},h=(t,e)=>{a(e).forEach((e=>{t&&t.classList.remove(e)}))},l=(t,e,i)=>{a(e).forEach((e=>{t&&t.classList.toggle(e,i||!1)}))},c='
    ',d=function(t,e){return t.split(".").reduce(((t,e)=>"object"==typeof t?t[e]:void 0),e)};class u{constructor(t={}){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),this.setOptions(t);for(const t of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))t.startsWith("on")&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}setOptions(t){this.options=t?e({},this.constructor.defaults,t):{};for(const[t,e]of Object.entries(this.option("on")||{}))this.on(t,e)}option(t,...e){let i=d(t,this.options);return i&&"function"==typeof i&&(i=i.call(this,this,...e)),i}optionFor(t,e,i,...s){let n=d(e,t);var o;"string"!=typeof(o=n)||isNaN(o)||isNaN(parseFloat(o))||(n=parseFloat(n)),"true"===n&&(n=!0),"false"===n&&(n=!1),n&&"function"==typeof n&&(n=n.call(this,this,t,...s));let a=d(e,this.options);return a&&"function"==typeof a?n=a.call(this,this,t,...s,n):void 0===n&&(n=a),void 0===n?i:n}cn(t){const e=this.options.classes;return e&&e[t]||""}localize(t,e=[]){t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,((t,e,i)=>{let s="";return i?s=this.option(`${e[0]+e.toLowerCase().substring(1)}.l10n.${i}`):e&&(s=this.option(`l10n.${e}`)),s||(s=t),s}));for(let i=0;ie))}on(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),this.events||(this.events=new Map),i.forEach((t=>{let i=this.events.get(t);i||(this.events.set(t,[]),i=[]),i.includes(e)||i.push(e),this.events.set(t,i)}))}off(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),i.forEach((t=>{const i=this.events.get(t);if(Array.isArray(i)){const t=i.indexOf(e);t>-1&&i.splice(t,1)}}))}emit(t,...e){[...this.events.get(t)||[]].forEach((t=>t(this,...e))),"*"!==t&&this.emit("*",t,...e)}}Object.defineProperty(u,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(u,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class g extends u{constructor(t={}){super(t),Object.defineProperty(this,"plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}})}attachPlugins(t={}){const e=new Map;for(const[i,s]of Object.entries(t)){const t=this.option(i),n=this.plugins[i];n||!1===t?n&&!1===t&&(n.detach(),delete this.plugins[i]):e.set(i,new s(this,t||{}))}for(const[t,i]of e)this.plugins[t]=i,i.attach();this.emit("attachPlugins")}detachPlugins(){for(const t of Object.values(this.plugins))t.detach();return this.plugins={},this.emit("detachPlugins"),this}}const p=function(t,e){return!(!t||t===document.body||e&&t===e)&&(function(t){if(!(t&&t instanceof Element&&t.offsetParent))return!1;const e=t.scrollHeight>t.clientHeight,i=window.getComputedStyle(t).overflowY,s=-1!==i.indexOf("hidden"),n=-1!==i.indexOf("visible");return e&&!s&&!n}(t)?t:p(t.parentElement,e))};class f{constructor(t){Object.defineProperty(this,"pageX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nativePointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.nativePointer=t,this.pageX=t.pageX,this.pageY=t.pageY,this.clientX=t.clientX,this.clientY=t.clientY,this.id=self.Touch&&t instanceof Touch?t.identifier:-1,this.time=Date.now()}}const m={passive:!1};class b{constructor(t,{start:e=(()=>!0),move:i=(()=>{}),end:s=(()=>{})}){Object.defineProperty(this,"element",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"startCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"moveCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"endCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"startPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.element=t,this.startCallback=e,this.moveCallback=i,this.endCallback=s;for(const t of["onPointerStart","onTouchStart","onMove","onTouchEnd","onPointerEnd","onWindowBlur"])this[t]=this[t].bind(this);this.element.addEventListener("mousedown",this.onPointerStart,m),this.element.addEventListener("touchstart",this.onTouchStart,m),this.element.addEventListener("touchmove",this.onMove,m),this.element.addEventListener("touchend",this.onTouchEnd),this.element.addEventListener("touchcancel",this.onTouchEnd)}onPointerStart(t){if(!t.buttons||0!==t.button)return;const e=new f(t);this.currentPointers.some((t=>t.id===e.id))||this.triggerPointerStart(e,t)&&(window.addEventListener("mousemove",this.onMove),window.addEventListener("mouseup",this.onPointerEnd),window.addEventListener("blur",this.onWindowBlur))}onTouchStart(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerStart(new f(e),t);window.addEventListener("blur",this.onWindowBlur)}onMove(t){const e=this.currentPointers.slice(),i="changedTouches"in t?Array.from(t.changedTouches||[]).map((t=>new f(t))):[new f(t)],s=[];for(const t of i){const e=this.currentPointers.findIndex((e=>e.id===t.id));e<0||(s.push(t),this.currentPointers[e]=t)}s.length&&this.moveCallback(t,this.currentPointers.slice(),e)}onPointerEnd(t){t.buttons>0&&0!==t.button||(this.triggerPointerEnd(t,new f(t)),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur))}onTouchEnd(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerEnd(t,new f(e))}triggerPointerStart(t,e){return!!this.startCallback(e,t,this.currentPointers.slice())&&(this.currentPointers.push(t),this.startPointers.push(t),!0)}triggerPointerEnd(t,e){const i=this.currentPointers.findIndex((t=>t.id===e.id));i<0||(this.currentPointers.splice(i,1),this.startPointers.splice(i,1),this.endCallback(t,e,this.currentPointers.slice()))}onWindowBlur(){this.clear()}clear(){for(;this.currentPointers.length;){const t=this.currentPointers[this.currentPointers.length-1];this.currentPointers.splice(this.currentPointers.length-1,1),this.startPointers.splice(this.currentPointers.length-1,1),this.endCallback(new Event("touchend",{bubbles:!0,cancelable:!0,clientX:t.clientX,clientY:t.clientY}),t,this.currentPointers.slice())}}stop(){this.element.removeEventListener("mousedown",this.onPointerStart,m),this.element.removeEventListener("touchstart",this.onTouchStart,m),this.element.removeEventListener("touchmove",this.onMove,m),this.element.removeEventListener("touchend",this.onTouchEnd),this.element.removeEventListener("touchcancel",this.onTouchEnd),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur)}}function v(t,e){return e?Math.sqrt(Math.pow(e.clientX-t.clientX,2)+Math.pow(e.clientY-t.clientY,2)):0}function y(t,e){return e?{clientX:(t.clientX+e.clientX)/2,clientY:(t.clientY+e.clientY)/2}:t}var x;!function(t){t[t.Init=0]="Init",t[t.Error=1]="Error",t[t.Ready=2]="Ready",t[t.Panning=3]="Panning",t[t.Mousemove=4]="Mousemove",t[t.Destroy=5]="Destroy"}(x||(x={}));const w=["a","b","c","d","e","f"],P={content:null,width:"auto",height:"auto",panMode:"drag",touch:!0,dragMinThreshold:3,lockAxis:!1,mouseMoveFactor:1,mouseMoveFriction:.12,zoom:!0,pinchToZoom:!0,panOnlyZoomed:"auto",minScale:1,maxScale:2,friction:.25,dragFriction:.35,decelFriction:.05,click:"toggleZoom",dblClick:!1,wheel:"zoom",wheelLimit:7,spinner:!0,bounds:"auto",infinite:!1,rubberband:!0,bounce:!0,maxVelocity:75,transformParent:!1,classes:{content:"f-panzoom__content",isLoading:"is-loading",canZoomIn:"can-zoom_in",canZoomOut:"can-zoom_out",isDraggable:"is-draggable",isDragging:"is-dragging",inFullscreen:"in-fullscreen",htmlHasFullscreen:"with-panzoom-in-fullscreen"},l10n:{PANUP:"Move up",PANDOWN:"Move down",PANLEFT:"Move left",PANRIGHT:"Move right",ZOOMIN:"Zoom in",ZOOMOUT:"Zoom out",TOGGLEZOOM:"Toggle zoom level",TOGGLE1TO1:"Toggle zoom level",ITERATEZOOM:"Toggle zoom level",ROTATECCW:"Rotate counterclockwise",ROTATECW:"Rotate clockwise",FLIPX:"Flip horizontally",FLIPY:"Flip vertically",FITX:"Fit horizontally",FITY:"Fit vertically",RESET:"Reset",TOGGLEFS:"Toggle fullscreen"}},S=t=>t&&null!==t&&t instanceof Element&&"nodeType"in t,T={a:1,b:0,c:0,d:1,e:0,f:0};let M=null,O=null;class E extends g{get isTouchDevice(){return null===O&&(O=window.matchMedia("(hover: none)").matches),O}get isMobile(){return null===M&&(M=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)),M}get panMode(){return"mousemove"!==this.options.panMode||this.isTouchDevice?"drag":"mousemove"}get panOnlyZoomed(){const t=this.options.panOnlyZoomed;return"auto"===t?this.isTouchDevice:t}get isInfinite(){return this.option("infinite")}get angle(){return 180*Math.atan2(this.current.b,this.current.a)/Math.PI||0}get targetAngle(){return 180*Math.atan2(this.target.b,this.target.a)/Math.PI||0}get scale(){const{a:t,b:e}=this.current;return Math.sqrt(t*t+e*e)||1}get targetScale(){const{a:t,b:e}=this.target;return Math.sqrt(t*t+e*e)||1}get minScale(){return this.option("minScale")||1}get fullScale(){const{contentRect:t}=this;return t.fullWidth/t.fitWidth||1}get maxScale(){return this.fullScale*(this.option("maxScale")||1)||1}get coverScale(){const{containerRect:t,contentRect:e}=this,i=Math.max(t.height/e.fitHeight,t.width/e.fitWidth)||1;return Math.min(this.fullScale,i)}get isScaling(){return Math.abs(this.targetScale-this.scale)>1e-5&&!this.isResting}get isContentLoading(){const t=this.content;return!!(t&&t instanceof HTMLImageElement)&&!t.complete}get isResting(){if(this.isBouncingX||this.isBouncingY)return!1;for(const t of w){const e="e"==t||"f"===t?.001:1e-5;if(Math.abs(this.target[t]-this.current[t])>e)return!1}return!(!this.ignoreBounds&&!this.checkBounds().inBounds)}constructor(t,e={},i={}){var s;if(super(e),Object.defineProperty(this,"pointerTracker",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"updateTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"clickTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"rAF",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"isTicking",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"friction",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoreBounds",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingX",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingY",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"clicks",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"trackingPoints",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"wheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevMouseMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:x.Init}),Object.defineProperty(this,"isDragging",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"spinner",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"containerRect",{enumerable:!0,configurable:!0,writable:!0,value:{width:0,height:0,innerWidth:0,innerHeight:0}}),Object.defineProperty(this,"contentRect",{enumerable:!0,configurable:!0,writable:!0,value:{top:0,right:0,bottom:0,left:0,fullWidth:0,fullHeight:0,fitWidth:0,fitHeight:0,width:0,height:0}}),Object.defineProperty(this,"dragStart",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,top:0,left:0,time:0}}),Object.defineProperty(this,"dragOffset",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,time:0}}),Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},T)}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},T)}),Object.defineProperty(this,"velocity",{enumerable:!0,configurable:!0,writable:!0,value:{a:0,b:0,c:0,d:0,e:0,f:0}}),Object.defineProperty(this,"lockedAxis",{enumerable:!0,configurable:!0,writable:!0,value:!1}),!t)throw new Error("No Element found");if(this.container=t,this.initContent(),this.attachPlugins(Object.assign(Object.assign({},E.Plugins),i)),this.emit("init"),this.isContentLoading){const e=this.content;if(this.option("spinner")){t.classList.add(this.cn("isLoading"));const i=n(c);t.contains(e)?this.spinner=(null===(s=e.parentElement)||void 0===s?void 0:s.insertBefore(i,e))||null:this.spinner=t.appendChild(i)}this.emit("beforeLoad"),e.addEventListener("load",this.onLoad),e.addEventListener("error",this.onError)}else queueMicrotask((()=>{this.enable()}))}initContent(){const{container:t}=this;let e=this.option("content")||t.querySelector(`.${this.cn("content")}`);if(e||(e=t.querySelector("img")||t.firstElementChild,e&&e.classList.add(this.cn("content"))),!e)throw new Error("No content found");this.content=e}onLoad(){this.spinner&&(this.spinner.remove(),this.spinner=null),this.option("spinner")&&this.container.classList.remove(this.cn("isLoading")),this.emit("afterLoad"),this.state===x.Init&&this.enable()}onError(){this.state!==x.Destroy&&(this.spinner&&(this.spinner.remove(),this.spinner=null),this.stop(),this.detachEvents(),this.state=x.Error,this.emit("error"))}attachObserver(){var t;const e=()=>Math.abs(this.containerRect.width-this.container.getBoundingClientRect().width)>.1||Math.abs(this.containerRect.height-this.container.getBoundingClientRect().height)>.1;this.resizeObserver||void 0===window.ResizeObserver||(this.resizeObserver=new ResizeObserver((()=>{this.updateTimer||(e()?(this.onResize(),this.isMobile&&(this.updateTimer=setTimeout((()=>{e()&&this.onResize(),this.updateTimer=null}),500))):this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null))}))),null===(t=this.resizeObserver)||void 0===t||t.observe(this.container)}detachObserver(){var t;null===(t=this.resizeObserver)||void 0===t||t.disconnect()}attachEvents(){const{container:t}=this;t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("wheel",this.onWheel,{passive:!1}),this.pointerTracker=new b(t,{start:this.onPointerDown,move:this.onPointerMove,end:this.onPointerUp}),document.addEventListener("mousemove",this.onMouseMove)}detachEvents(){var t;const{container:e}=this;e.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),e.removeEventListener("wheel",this.onWheel,{passive:!1}),null===(t=this.pointerTracker)||void 0===t||t.stop(),this.pointerTracker=null,document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("keydown",this.onKeydown,!0),this.clickTimer&&(clearTimeout(this.clickTimer),this.clickTimer=null),this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null)}animate(){this.setTargetForce();const t=this.option("maxVelocity");for(const e of w)this.friction?(this.velocity[e]*=1-this.friction,t&&!this.isScaling&&(this.velocity[e]=Math.max(Math.min(this.velocity[e],t),-1*t)),this.current[e]+=this.velocity[e]):this.current[e]=this.target[e];this.setTransform(),this.setEdgeForce(),!this.isResting||this.isDragging?this.rAF=requestAnimationFrame((()=>this.animate())):this.stop("current")}setTargetForce(){for(const t of w)"e"===t&&this.isBouncingX||"f"===t&&this.isBouncingY||(this.velocity[t]=(1/(1-this.friction)-1)*(this.target[t]-this.current[t]))}checkBounds(t=0,e=0){const{current:i}=this,s=i.e+t,n=i.f+e,o=this.getBounds(),{x:a,y:r}=o,h=a.min,l=a.max,c=r.min,d=r.max;let u=0,g=0;return h!==1/0&&sl&&(u=l-s),c!==1/0&&nd&&(g=d-n),Math.abs(u)<.001&&(u=0),Math.abs(g)<.001&&(g=0),Object.assign(Object.assign({},o),{xDiff:u,yDiff:g,inBounds:!u&&!g})}clampTargetBounds(){const{target:t}=this,{x:e,y:i}=this.getBounds();e.min!==1/0&&(t.e=Math.max(t.e,e.min)),e.max!==1/0&&(t.e=Math.min(t.e,e.max)),i.min!==1/0&&(t.f=Math.max(t.f,i.min)),i.max!==1/0&&(t.f=Math.min(t.f,i.max))}calculateContentDim(t=this.current){const{content:e,contentRect:i}=this,{fitWidth:s,fitHeight:n,fullWidth:o,fullHeight:a}=i;let r=o,h=a;if(this.option("zoom")||0!==this.angle){const i=!(e instanceof HTMLImageElement)&&("none"===window.getComputedStyle(e).maxWidth||"none"===window.getComputedStyle(e).maxHeight),l=i?o:s,c=i?a:n,d=this.getMatrix(t),u=new DOMPoint(0,0).matrixTransform(d),g=new DOMPoint(0+l,0).matrixTransform(d),p=new DOMPoint(0+l,0+c).matrixTransform(d),f=new DOMPoint(0,0+c).matrixTransform(d),m=Math.abs(p.x-u.x),b=Math.abs(p.y-u.y),v=Math.abs(f.x-g.x),y=Math.abs(f.y-g.y);r=Math.max(m,v),h=Math.max(b,y)}return{contentWidth:r,contentHeight:h}}setEdgeForce(){if(this.ignoreBounds||this.isDragging||"mousemove"===this.panMode||this.targetScale{const t=window.getSelection();return t&&"Range"===t.type})()&&!i.closest("button"))return;const s=i.closest("[data-panzoom-action]"),n=i.closest("[data-panzoom-change]"),o=s||n,a=o&&S(o)?o.dataset:null;if(a){const e=a.panzoomChange,i=a.panzoomAction;if((e||i)&&t.preventDefault(),e){let t={};try{t=JSON.parse(e)}catch(t){console&&console.warn("The given data was not valid JSON")}return void this.applyChange(t)}if(i)return void(this[i]&&this[i]())}if(Math.abs(this.dragOffset.x)>3||Math.abs(this.dragOffset.y)>3)return t.preventDefault(),void t.stopPropagation();const r=this.content.getBoundingClientRect();if(this.dragStart.time&&!this.canZoomOut()&&(Math.abs(r.x-this.dragStart.x)>2||Math.abs(r.y-this.dragStart.y)>2))return;this.dragStart.time=0;const h=e=>{!this.option("zoom")||Math.abs(this.velocity.a)>.3||e&&"string"==typeof e&&/(iterateZoom)|(toggle(Zoom|Full|Cover|Max)|(zoomTo(Fit|Cover|Max)))/.test(e)&&"function"==typeof this[e]&&(t.preventDefault(),this[e]({event:t}))},l=this.option("click",t),c=this.option("dblClick",t);c?(this.clicks++,1==this.clicks&&(this.clickTimer=setTimeout((()=>{1===this.clicks?(this.emit("click",t),!t.defaultPrevented&&l&&h(l)):(this.emit("dblClick",t),t.defaultPrevented||h(c)),this.clicks=0,this.clickTimer=null}),350))):(this.emit("click",t),!t.defaultPrevented&&l&&h(l))}addTrackingPoint(t){const e=this.trackingPoints.filter((t=>t.time>Date.now()-100));e.push(t),this.trackingPoints=e}onPointerDown(t,e,i){var s;this.dragOffset={x:0,y:0,time:0},this.trackingPoints=[];const n=this.content.getBoundingClientRect();if(this.dragStart={x:n.x,y:n.y,top:n.top,left:n.left,time:Date.now()},this.clickTimer)return!1;if("mousemove"===this.panMode&&this.targetScale>1)return t.preventDefault(),t.stopPropagation(),!1;if(!i.length){const e=t.composedPath()[0];if(["A","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].includes(e.nodeName)||e.closest("[contenteditable]")||e.closest("[data-selectable]")||e.closest("[data-panzoom-change]")||e.closest("[data-panzoom-action]"))return!1;null===(s=window.getSelection())||void 0===s||s.removeAllRanges()}return"mousedown"===t.type&&t.preventDefault(),o(this.targetScale,1e3)===o(this.minScale,1e3)?(this.stop(),this.target.e=this.current.e,this.target.f=this.current.f):this.stop("target"),this.isDragging=!0,this.addTrackingPoint(e),this.emit("touchStart",t),!0}onPointerMove(t,e,i){if(!1===this.option("touch",t))return;if(!this.isDragging)return;if(e.length<2&&this.panOnlyZoomed&&o(this.targetScale)<=o(this.minScale))return;if(this.emit("touchMove",t),t.defaultPrevented)return;this.addTrackingPoint(e[0]);const{content:s}=this,n=y(i[0],i[1]),a=y(e[0],e[1]);let r=0,h=0;if(e.length>1){const t=s.getBoundingClientRect();r=n.clientX-t.left-.5*t.width,h=n.clientY-t.top-.5*t.height}const l=v(i[0],i[1]),c=v(e[0],e[1]);let d=l?c/l:1,u=a.clientX-n.clientX,g=a.clientY-n.clientY;this.dragOffset.x+=u,this.dragOffset.y+=g,this.dragOffset.time=Date.now()-this.dragStart.time;let f=o(this.targetScale)===o(this.minScale)&&this.option("lockAxis");if(f&&!this.lockedAxis)if("xy"===f||"y"===f||"touchmove"===t.type){if(Math.abs(this.dragOffset.x)<6&&Math.abs(this.dragOffset.y)<6)return void t.preventDefault();const e=Math.abs(180*Math.atan2(this.dragOffset.y,this.dragOffset.x)/Math.PI);this.lockedAxis=e>45&&e<135?"y":"x",this.dragOffset.x=0,this.dragOffset.y=0,u=0,g=0}else this.lockedAxis=f;if(p(t.target,this.content)&&(f="x",this.dragOffset.y=0),f&&"xy"!==f&&this.lockedAxis!==f&&o(this.targetScale)===o(this.minScale))return;t.cancelable&&t.preventDefault(),this.container.classList.add(this.cn("isDragging"));const m=this.checkBounds(u,g);this.option("rubberband")?("x"!==this.isInfinite&&(m.xDiff>0&&u<0||m.xDiff<0&&u>0)&&(u*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitWidth*m.xDiff))),"y"!==this.isInfinite&&(m.yDiff>0&&g<0||m.yDiff<0&&g>0)&&(g*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitHeight*m.yDiff)))):(m.xDiff&&(u=0),m.yDiff&&(g=0));const b=this.targetScale,x=this.minScale,w=this.maxScale;b<.5*x&&(d=Math.max(d,x)),b>1.5*w&&(d=Math.min(d,w)),"y"===this.lockedAxis&&o(b)===o(x)&&(u=0),"x"===this.lockedAxis&&o(b)===o(x)&&(g=0),this.applyChange({originX:r,originY:h,panX:u,panY:g,scale:d,friction:this.option("dragFriction"),ignoreBounds:!0})}onPointerUp(t,e,i){if(i.length)return this.dragOffset.x=0,this.dragOffset.y=0,void(this.trackingPoints=[]);this.container.classList.remove(this.cn("isDragging")),this.isDragging&&(this.addTrackingPoint(e),this.panOnlyZoomed&&this.contentRect.width-this.contentRect.fitWidth<1&&this.contentRect.height-this.contentRect.fitHeight<1&&(this.trackingPoints=[]),p(t.target,this.content)&&"y"===this.lockedAxis&&(this.trackingPoints=[]),this.emit("touchEnd",t),this.isDragging=!1,this.lockedAxis=!1,this.state!==x.Destroy&&(t.defaultPrevented||this.startDecelAnim()))}startDecelAnim(){this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of w)this.velocity[t]=0,this.target[t]=this.current[t];h(this.container,"is-scaling"),h(this.container,"is-animating"),this.isTicking=!1;const{trackingPoints:t}=this,e=t[0],i=t[t.length-1];let s=0,n=0,a=0;i&&e&&(s=i.clientX-e.clientX,n=i.clientY-e.clientY,a=i.time-e.time);let r=0,l=0,c=0,d=0,u=this.option("decelFriction");const g=this.targetScale;if((gthis.maxScale+1e-5)&&(u=.35),a>0){c=Math.abs(s)>3?s/(a/30):0,d=Math.abs(n)>3?n/(a/30):0;const t=this.option("maxVelocity");t&&(c=Math.max(Math.min(c,t),-1*t),d=Math.max(Math.min(d,t),-1*t))}c&&(r=c/(1/(1-u)-1)),d&&(l=d/(1/(1-u)-1)),("y"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"y"===this.lockedAxis&&o(g)===this.minScale)&&(r=c=0),("x"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"x"===this.lockedAxis&&o(g)===this.minScale)&&(l=d=0);const p=this.dragOffset.x,f=this.dragOffset.y,m=this.option("dragMinThreshold")||0;Math.abs(p){let e=0;return e=t instanceof HTMLImageElement?t.naturalWidth:t instanceof SVGElement?t.width.baseVal.value:t.offsetWidth,Math.max(e,t.scrollWidth)})(s)),"auto"===p&&(p=parseFloat(s.dataset.height||"")||(t=>{let e=0;return e=t instanceof HTMLImageElement?t.naturalHeight:t instanceof SVGElement?t.height.baseVal.value:t.offsetHeight,Math.max(e,t.scrollHeight)})(s));const f=(this.option("transformParent")?s.parentElement:null)||s,m=f.getAttribute("style")||"";f.style.setProperty("transform","none","important"),s instanceof HTMLImageElement&&(f.style.width="",f.style.height=""),f.offsetHeight;const b=s.getBoundingClientRect();let v=b.width,y=b.height,w=0,P=0;if(s instanceof HTMLImageElement&&({width:v,height:y,top:w,left:P}=((t,e,i,s)=>{const n=i/s;return n>t/e?(i=t,s=t/n):(i=e*n,s=e),{width:i,height:s,top:.5*(e-s),left:.5*(t-i)}})(b.width,b.height,g,p)),this.contentRect=Object.assign(Object.assign({},this.contentRect),{top:b.top-r.top+w,bottom:r.bottom-b.bottom+w,left:b.left-r.left+P,right:r.right-b.right+P,fitWidth:v,fitHeight:y,width:v,height:y,fullWidth:g,fullHeight:p}),f.style.cssText=m,s instanceof HTMLImageElement&&(f.style.width=`${v}px`,f.style.height=`${y}px`),this.setTransform(),!0!==t){let t="";Math.abs(l-n)>1&&(t+="x"),Math.abs(c-a)>1&&(t+="y"),t&&this.emit("refresh",t)}this.ignoreBounds||(o(this.targetScale)this.maxScale?this.zoomTo(this.maxScale,{friction:0}):this.state===x.Init||this.checkBounds().inBounds||this.requestTick()),this.updateControls()}getBounds(){const t=this.option("bounds");if("auto"!==t)return t;const{contentWidth:e,contentHeight:i}=this.calculateContentDim(this.target);let s=0,n=0,a=0,r=0;const h=this.option("infinite");if(!0===h||this.lockedAxis&&h===this.lockedAxis)s=-1/0,a=1/0,n=-1/0,r=1/0;else{let{containerRect:t,contentRect:h}=this,l=o(this.contentRect.fitWidth*this.targetScale,1e3),c=o(this.contentRect.fitHeight*this.targetScale,1e3),{innerWidth:d,innerHeight:u}=t;if(this.containerRect.width===l&&(d=t.width),this.containerRect.width===c&&(u=t.height),e>d){a=.5*(e-d),s=-1*a;let t=.5*(h.right-h.left);s+=t,a+=t}if(this.contentRect.fitWidth>d&&eu){r=.5*(i-u),n=-1*r;let t=.5*(h.bottom-h.top);n+=t,r+=t}this.contentRect.fitHeight>u&&i-1||this.contentRect.height-this.contentRect.fitHeight>-1)&&(r=!0),this.contentRect.width*this.targetScaleo(this.targetScale),c=!h&&!r&&n&&o(i).9*t.fullScale?"none":"")}}panTo({x:t=this.target.e,y:e=this.target.f,scale:i=this.targetScale,friction:s=this.option("friction"),angle:n=0,originX:o=0,originY:a=0,flipX:r=!1,flipY:h=!1,ignoreBounds:l=!1}){this.state!==x.Destroy&&this.applyChange({panX:t-this.target.e,panY:e-this.target.f,scale:i/this.targetScale,angle:n,originX:o,originY:a,friction:s,flipX:r,flipY:h,ignoreBounds:l})}applyChange({panX:t=0,panY:e=0,scale:i=1,angle:s=0,originX:n=-this.current.e,originY:a=-this.current.f,friction:r=this.option("friction"),flipX:h=!1,flipY:l=!1,ignoreBounds:c=!1,bounce:d=this.option("bounce")}){const u=this.state;if(u===x.Init||u===x.Destroy)return;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of w)this.velocity[t]=0;this.friction=r||0,this.ignoreBounds=c;const{current:g}=this,p=g.e,f=g.f,m=this.getMatrix(this.target);let b=(new DOMMatrix).translate(p,f).translate(n,a).translate(t,e);if(this.option("zoom")){if(!c){const t=this.targetScale,e=this.minScale,s=this.maxScale;t*is&&(i=s/t)}b=b.scale(i)}b=b.translate(-n,-a).translate(-p,-f).multiply(m),s&&(b=b.rotate(s)),h&&(b=b.scale(-1,1)),l&&(b=b.scale(1,-1));for(const t of w)"a"!=t&&"d"!=t||!(b[t]>this.minScale+1e-5||b[t].1||"mousemove"===this.panMode||!1===d)&&!c&&this.clampTargetBounds(),this.isResting||(this.state=x.Panning,this.requestTick())}stop(t=!1){if(this.state===x.Init||this.state===x.Destroy)return;const e=this.isTicking;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const e of w)this.velocity[e]=0,"current"===t?this.current[e]=this.target[e]:"target"===t&&(this.target[e]=this.current[e]);this.setTransform(),h(this.container,"is-scaling"),h(this.container,"is-animating"),this.isTicking=!1,this.state=x.Ready,e&&(this.emit("endAnimation"),this.updateControls())}requestTick(){this.isTicking||(this.emit("startAnimation"),this.updateControls(),r(this.container,"is-animating"),this.isScaling&&r(this.container,"is-scaling")),this.isTicking=!0,this.rAF||(this.rAF=requestAnimationFrame((()=>this.animate())))}panWithMouse(t,e=this.option("mouseMoveFriction")){if(this.prevMouseMoveEvent=t,"mousemove"!==this.panMode||!t)return;if(o(this.targetScale)<=o(this.minScale))return;this.emit("mouseMove",t);const{container:i,containerRect:s,contentRect:n}=this,a=s.width,r=s.height,h=i.getBoundingClientRect(),l=(t.clientX||0)-h.left,c=(t.clientY||0)-h.top;let{contentWidth:d,contentHeight:u}=this.calculateContentDim(this.target);const g=this.option("mouseMoveFactor");g>1&&(d!==a&&(d*=g),u!==r&&(u*=g));let p=.5*(d-a)-l/a*100/100*(d-a);p+=.5*(n.right-n.left);let f=.5*(u-r)-c/r*100/100*(u-r);f+=.5*(n.bottom-n.top),this.applyChange({panX:p-this.target.e,panY:f-this.target.f,friction:e})}zoomWithWheel(t){if(this.state===x.Destroy||this.state===x.Init)return;const e=Math.abs(t.deltaY)<100&&Math.abs(t.deltaX)<100?25:50,i=Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||-t.detail)),s=this.targetScale,n=this.maxScale,o=this.minScale;let a=s*(100+i*e)/100;an&&s>=n?(this.wheelDelta+=Math.abs(i),a=n):(this.wheelDelta=0,a=Math.max(Math.min(a,n),o)),this.wheelDelta>this.option("wheelLimit")||(t.preventDefault(),a!==s&&this.zoomTo(a,{event:t}))}canZoomIn(){return this.option("zoom")&&(this.contentRect.widththis.minScale+1e-5}zoomIn(t=1.25,e){this.zoomTo(this.targetScale*t,e)}zoomOut(t=.8,e){this.zoomTo(this.targetScale*t,e)}zoomToFit(t){this.zoomTo("fit",t)}zoomToCover(t){this.zoomTo("cover",t)}zoomToFull(t){this.zoomTo("full",t)}zoomToMax(t){this.zoomTo("max",t)}toggleZoom(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.fullScale-this.minScale)?"full":"fit",t)}toggleMax(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.maxScale-this.minScale)?"max":"fit",t)}toggleCover(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.coverScale-this.minScale)?"cover":"fit",t)}iterateZoom(t){this.zoomTo("next",t)}zoomTo(t=1,{friction:e="auto",originX:i=0,originY:s=0,event:n}={}){if(this.isContentLoading||this.state===x.Destroy)return;this.stop();const{targetScale:o}=this;let a=1;if("mousemove"===this.panMode&&(n=this.prevMouseMoveEvent||n),n){const t=this.content.getBoundingClientRect(),e=n.clientX||0,o=n.clientY||0;i=e-t.left-.5*t.width,s=o-t.top-.5*t.height}const r=this.fullScale,h=this.maxScale;let l=this.coverScale;"number"==typeof t?a=t/o:("next"===t&&(r-l<.2&&(l=r),t=o1?.15:.25:e,this.applyChange({scale:a,originX:i,originY:s,friction:e}),n&&"mousemove"===this.panMode&&this.panWithMouse(n,e)}rotateCCW(){this.applyChange({angle:-90})}rotateCW(){this.applyChange({angle:90})}flipX(){this.applyChange({flipX:!0})}flipY(){this.applyChange({flipY:!0})}fitX(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.width/e.fitWidth/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}fitY(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.height/e.fitHeight/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}toggleFS(){const{container:t}=this,e=this.cn("inFullscreen"),i=this.cn("htmlHasFullscreen");t.classList.toggle(e);const s=t.classList.contains(e);s?(document.documentElement.classList.add(i),document.addEventListener("keydown",this.onKeydown,!0)):(document.documentElement.classList.remove(i),document.removeEventListener("keydown",this.onKeydown,!0)),this.updateMetrics(),this.emit(s?"enterFS":"exitFS")}getMatrix(t=this.current){const{a:e,b:i,c:s,d:n,e:o,f:a}=t;return new DOMMatrix([e,i,s,n,o,a])}reset(t){if(this.state!==x.Init&&this.state!==x.Destroy){this.stop("current");for(const t of w)this.target[t]=T[t];this.target.a=this.minScale,this.target.d=this.minScale,this.isResting||(this.friction=void 0===t?this.option("friction"):t,this.state=x.Panning,this.requestTick())}}destroy(){this.stop(),this.state=x.Destroy,this.detachEvents(),this.detachObserver();const{container:t,content:e}=this,i=this.option("classes")||{};for(const e of Object.values(i))t.classList.remove(e+"");e&&(e.removeEventListener("load",this.onLoad),e.removeEventListener("error",this.onError)),this.detachPlugins()}}Object.defineProperty(E,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:P}),Object.defineProperty(E,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}});const z={viewport:null,track:null,enabled:!0,slides:[],axis:"x",transition:"fade",preload:1,slidesPerPage:"auto",initialPage:0,friction:.12,Panzoom:{decelFriction:.12},center:!0,infinite:!0,fill:!0,dragFree:!1,adaptiveHeight:!1,direction:"ltr",classes:{container:"f-carousel",viewport:"f-carousel__viewport",track:"f-carousel__track",slide:"f-carousel__slide",isLTR:"is-ltr",isRTL:"is-rtl",isHorizontal:"is-horizontal",isVertical:"is-vertical",inTransition:"in-transition",isSelected:"is-selected"},l10n:{NEXT:"Next slide",PREV:"Previous slide",GOTO:"Go to slide #%d"}};var k;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Destroy=2]="Destroy"}(k||(k={}));const R=t=>{if("string"==typeof t&&(t={html:t}),!(t instanceof String||t instanceof HTMLElement)){const e=t.thumb;void 0!==e&&("string"==typeof e&&(t.thumbSrc=e),e instanceof HTMLImageElement&&(t.thumbEl=e,t.thumbElSrc=e.src,t.thumbSrc=e.src),delete t.thumb)}return Object.assign({html:"",el:null,isDom:!1,class:"",index:-1,dim:0,gap:0,pos:0,transition:!1},t)},D=(t={})=>Object.assign({index:-1,slides:[],dim:0,pos:-1},t);class L extends u{constructor(t,e){super(e),Object.defineProperty(this,"instance",{enumerable:!0,configurable:!0,writable:!0,value:t})}attach(){}detach(){}}const A={classes:{list:"f-carousel__dots",isDynamic:"is-dynamic",hasDots:"has-dots",dot:"f-carousel__dot",isBeforePrev:"is-before-prev",isPrev:"is-prev",isCurrent:"is-current",isNext:"is-next",isAfterNext:"is-after-next"},dotTpl:'',dynamicFrom:11,maxCount:1/0,minCount:2};class C extends L{constructor(){super(...arguments),Object.defineProperty(this,"isDynamic",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"list",{enumerable:!0,configurable:!0,writable:!0,value:null})}onRefresh(){this.refresh()}build(){let t=this.list;return t||(t=document.createElement("ul"),r(t,this.cn("list")),t.setAttribute("role","tablist"),this.instance.container.appendChild(t),r(this.instance.container,this.cn("hasDots")),this.list=t),t}refresh(){var t;const e=this.instance.pages.length,i=Math.min(2,this.option("minCount")),s=Math.max(2e3,this.option("maxCount")),n=this.option("dynamicFrom");if(es)return void this.cleanup();const o="number"==typeof n&&e>5&&e>=n,a=!this.list||this.isDynamic!==o||this.list.children.length!==e;a&&this.cleanup();const c=this.build();if(l(c,this.cn("isDynamic"),!!o),a)for(let t=0;t=e-1&&n.setAttribute("disabled","")))}createButton(t){const e=this.instance,i=document.createElement("button");i.setAttribute("tabindex","0"),i.setAttribute("title",e.localize(`{{${t.toUpperCase()}}}`)),r(i,this.cn("button")+" "+this.cn("next"===t?"isNext":"isPrev"));const s=e.isRTL?"next"===t?"prev":"next":t;var n;return i.innerHTML=e.localize(this.option(`${s}Tpl`)),i.dataset[`carousel${n=t,n?n.match("^[a-z]")?n.charAt(0).toUpperCase()+n.substring(1):n:""}`]="true",i}build(){let t=this.container;t||(this.container=t=document.createElement("div"),r(t,this.cn("container")),this.instance.container.appendChild(t)),this.next||(this.next=t.appendChild(this.createButton("next"))),this.prev||(this.prev=t.appendChild(this.createButton("prev")))}cleanup(){this.prev&&this.prev.remove(),this.next&&this.next.remove(),this.container&&this.container.remove(),this.prev=null,this.next=null,this.container=null}attach(){this.instance.on(["refresh","change"],this.onRefresh)}detach(){this.instance.off(["refresh","change"],this.onRefresh),this.cleanup()}}Object.defineProperty(j,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{classes:{container:"f-carousel__nav",button:"f-button",isNext:"is-next",isPrev:"is-prev"},nextTpl:'',prevTpl:''}});class I extends L{constructor(){super(...arguments),Object.defineProperty(this,"selectedIndex",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"nav",{enumerable:!0,configurable:!0,writable:!0,value:null})}addAsTargetFor(t){this.target=this.instance,this.nav=t,this.attachEvents()}addAsNavFor(t){this.nav=this.instance,this.target=t,this.attachEvents()}attachEvents(){this.nav&&this.target&&(this.nav.options.initialSlide=this.target.options.initialPage,this.nav.on("ready",this.onNavReady),this.nav.state===k.Ready&&this.onNavReady(this.nav),this.target.on("ready",this.onTargetReady),this.target.state===k.Ready&&this.onTargetReady(this.target))}onNavReady(t){t.on("createSlide",this.onNavCreateSlide),t.on("Panzoom.click",this.onNavClick),t.on("Panzoom.touchEnd",this.onNavTouch),this.onTargetChange()}onTargetReady(t){t.on("change",this.onTargetChange),t.on("Panzoom.refresh",this.onTargetChange),this.onTargetChange()}onNavClick(t,e,i){i.pointerType||this.onNavTouch(t,t.panzoom,i)}onNavTouch(t,e,i){var s,n;if(Math.abs(e.dragOffset.x)>3||Math.abs(e.dragOffset.y)>3)return;const o=i.target,{nav:a,target:r}=this;if(!a||!r||!o)return;const h=o.closest("[data-index]");if(i.stopPropagation(),i.preventDefault(),!h)return;const l=parseInt(h.dataset.index||"",10)||0,c=r.getPageForSlide(l),d=a.getPageForSlide(l);a.slideTo(d),r.slideTo(c,{friction:null===(n=null===(s=this.nav)||void 0===s?void 0:s.plugins)||void 0===n?void 0:n.Sync.option("friction")}),this.markSelectedSlide(l)}onNavCreateSlide(t,e){e.index===this.selectedIndex&&this.markSelectedSlide(e.index)}onTargetChange(){const{target:t,nav:e}=this;if(!t||!e)return;if(e.state!==k.Ready||t.state!==k.Ready)return;const i=t.pages[t.page].slides[0].index,s=e.getPageForSlide(i);this.markSelectedSlide(i),e.slideTo(s)}markSelectedSlide(t){const{nav:e}=this;e&&e.state===k.Ready&&(this.selectedIndex=t,[...e.slides].map((e=>{e.el&&e.el.classList[e.index===t?"add":"remove"]("is-nav-selected")})))}attach(){let t=this.options.target,e=this.options.nav;t?this.addAsNavFor(t):e&&this.addAsTargetFor(e)}detach(){this.nav&&(this.nav.off("ready",this.onNavReady),this.nav.off("createSlide",this.onNavCreateSlide),this.nav.off("Panzoom.click",this.onNavClick),this.nav.off("Panzoom.touchEnd",this.onNavTouch)),this.nav=null,this.target&&(this.target.off("ready",this.onTargetReady),this.target.off("refresh",this.onTargetChange),this.target.off("change",this.onTargetChange)),this.target=null}}Object.defineProperty(I,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{friction:.35}});const F={Navigation:j,Dots:C,Sync:I};class H extends g{get axis(){return this.isHorizontal?"e":"f"}get isEnabled(){return this.state===k.Ready}get isInfinite(){let t=!1;const e=this.contentDim,i=this.viewportDim;return this.pages.length>=2&&e>1.5*i&&(t=this.option("infinite")),t}get isRTL(){return"rtl"===this.option("direction")}get isHorizontal(){return"x"===this.option("axis")}constructor(t,e={},s={}){if(super(),Object.defineProperty(this,"userOptions",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"userPlugins",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"bp",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:k.Init}),Object.defineProperty(this,"page",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevPage",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"viewport",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"slides",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"inTransition",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"contentDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"viewportDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),"string"==typeof t&&(t=document.querySelector(t)),!t||!S(t))throw new Error("No Element found");this.container=t,this.slideNext=i(this.slideNext.bind(this),150),this.slidePrev=i(this.slidePrev.bind(this),150),this.userOptions=e,this.userPlugins=s,queueMicrotask((()=>{this.processOptions()}))}processOptions(){const i=e({},H.defaults,this.userOptions);let s="";const n=i.breakpoints;if(n&&t(n))for(const[o,a]of Object.entries(n))window.matchMedia(o).matches&&t(a)&&(s+=o,e(i,a));s===this.bp&&this.state!==k.Init||(this.bp=s,this.state===k.Ready&&(i.initialSlide=this.pages[this.page].slides[0].index),this.state!==k.Init&&this.destroy(),super.setOptions(i),!1===this.option("enabled")?this.attachEvents():setTimeout((()=>{this.init()}),0))}init(){this.state=k.Init,this.emit("init"),this.attachPlugins(Object.assign(Object.assign({},H.Plugins),this.userPlugins)),this.initLayout(),this.initSlides(),this.updateMetrics(),this.setInitialPosition(),this.initPanzoom(),this.attachEvents(),this.state=k.Ready,this.emit("ready")}initLayout(){const{container:t}=this,e=this.option("classes");r(t,this.cn("container")),l(t,e.isLTR,!this.isRTL),l(t,e.isRTL,this.isRTL),l(t,e.isVertical,!this.isHorizontal),l(t,e.isHorizontal,this.isHorizontal);let i=this.option("viewport")||t.querySelector(`.${e.viewport}`);i||(i=document.createElement("div"),r(i,e.viewport),i.append(...s(t,`.${e.slide}`)),t.prepend(i));let n=this.option("track")||t.querySelector(`.${e.track}`);n||(n=document.createElement("div"),r(n,e.track),n.append(...Array.from(i.childNodes))),n.setAttribute("aria-live","polite"),i.contains(n)||i.prepend(n),this.viewport=i,this.track=n,this.emit("initLayout")}initSlides(){const{track:t}=this;if(t){this.slides=[],[...s(t,`.${this.cn("slide")}`)].forEach((t=>{if(S(t)){const e=R({el:t,isDom:!0,index:this.slides.length});this.slides.push(e),this.emit("initSlide",e,this.slides.length)}}));for(let t of this.option("slides",[])){const e=R(t);e.index=this.slides.length,this.slides.push(e),this.emit("initSlide",e,this.slides.length)}this.emit("initSlides")}}setInitialPage(){let t=0;const e=this.option("initialSlide");t="number"==typeof e?this.getPageForSlide(e):parseInt(this.option("initialPage",0)+"",10)||0,this.page=t}setInitialPosition(){if(!this.track||!this.pages.length)return;const t=this.isHorizontal;let e=this.page;this.pages[e]||(this.page=e=0);const i=this.pages[e].pos*(this.isRTL&&t?1:-1),s=t?`${i}px`:"0",n=t?"0":`${i}px`;this.track.style.transform=`translate3d(${s}, ${n}, 0) scale(1)`,this.option("adaptiveHeight")&&this.setViewportHeight()}initPanzoom(){this.panzoom&&(this.panzoom.destroy(),this.panzoom=null);const t=this.option("Panzoom")||{};this.panzoom=new E(this.viewport,e({},{content:this.track,zoom:!1,panOnlyZoomed:!1,lockAxis:this.isHorizontal?"x":"y",infinite:this.isInfinite,click:!1,dblClick:!1,touch:t=>!(this.pages.length<2&&!t.options.infinite),bounds:()=>this.getBounds(),maxVelocity:t=>Math.abs(t.target[this.axis]-t.current[this.axis])<2*this.viewportDim?100:0},t)),this.panzoom.on("*",((t,e,...i)=>{this.emit(`Panzoom.${e}`,t,...i)})),this.panzoom.on("decel",this.onDecel),this.panzoom.on("refresh",this.onRefresh),this.panzoom.on("beforeTransform",this.onBeforeTransform),this.panzoom.on("endAnimation",this.onEndAnimation)}attachEvents(){const t=this.container;t&&(t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("slideTo",this.onSlideTo)),window.addEventListener("resize",this.onResize)}createPages(){let t=[];const{contentDim:e,viewportDim:i}=this,s=this.option("slidesPerPage");if("number"==typeof s&&e>i){for(let e=0;ei)&&(t.push(D()),n=t.length-1,o=0),o+=e.dim+e.gap,t[n].slides.push(e);return t}processPages(){const t=this.pages,{contentDim:e,viewportDim:i}=this,s=this.option("center"),n=this.option("fill"),a=n&&s&&e>i&&!this.isInfinite;if(t.forEach(((t,n)=>{t.index=n,t.pos=t.slides[0].pos,t.dim=0;for(const[e,i]of t.slides.entries())t.dim+=i.dim,e=e-.5*i?t.pos=e-i:s&&(t.pos+=-.5*(i-t.dim))})),t.forEach(((t,s)=>{n&&!this.isInfinite&&e>i&&(t.pos=Math.max(t.pos,0),t.pos=Math.min(t.pos,e-i)),t.pos=o(t.pos,1e3),t.dim=o(t.dim,1e3),t.pos<.1&&t.pos>-.1&&(t.pos=0)})),this.isInfinite)return t;const r=[];let h;return t.forEach((t=>{const e=Object.assign({},t);h&&e.pos===h.pos?(h.dim+=e.dim,h.slides=[...h.slides,...e.slides]):(e.index=r.length,h=e,r.push(e))})),r}getPageFromIndex(t=0){const e=this.pages.length;let i;return t=parseInt((t||0).toString())||0,i=this.isInfinite?(t%e+e)%e:Math.max(Math.min(t,this.pages.length-1),0),i}getSlideMetrics(t){const e=this.isHorizontal?"width":"height";let i=0,s=0,n=t.el;n?i=parseFloat(n.dataset[e]||"")||0:(n=document.createElement("div"),n.style.visibility="hidden",r(n,this.cn("slide")+" "+t.class),(this.track||document.body).prepend(n)),i?(n.style[e]=`${i}px`,n.style["width"===e?"height":"width"]=""):i=n.getBoundingClientRect()[e];const a=getComputedStyle(n);return"content-box"===a.boxSizing&&(this.isHorizontal?(i+=parseFloat(a.paddingLeft)||0,i+=parseFloat(a.paddingRight)||0):(i+=parseFloat(a.paddingTop)||0,i+=parseFloat(a.paddingBottom)||0)),s=parseFloat(a[this.isHorizontal?"marginRight":"marginBottom"])||0,this.isHorizontal,t.el||n.remove(),{dim:o(i,1e3),gap:o(s,1e3)}}getBounds(){let t={min:0,max:0};if(this.isInfinite)t={min:-1/0,max:1/0};else if(this.pages.length){const e=this.pages[0].pos,i=this.pages[this.pages.length-1].pos;t=this.isRTL&&this.isHorizontal?{min:e,max:i}:{min:-1*i,max:-1*e}}return{x:this.isHorizontal?t:{min:0,max:0},y:this.isHorizontal?{min:0,max:0}:t}}repositionSlides(){const{viewportDim:t,contentDim:e,page:i,pages:s}=this;let n,a=0,r=0,h=0,l=0;this.panzoom?l=-1*this.panzoom.current[this.isHorizontal?"e":"f"]:s[i]&&(l=s[i].pos||0),n=this.isHorizontal?this.isRTL?"right":"left":"top",this.isRTL&&this.isHorizontal&&(l*=-1);for(const t of this.slides)t.el?("top"===n?(t.el.style.right="",t.el.style.left=""):t.el.style.top="",t.index!==a?t.el.style[n]=0===r?"":`${o(r,1e3)}px`:t.el.style[n]="",h+=t.dim+t.gap,a++):r+=t.dim+t.gap;if(this.isInfinite&&h)for(const i of this.slides)i.el&&(o(i.pos)o(e-t)&&(i.el.style[n]=`${o(r+h,1e3)}px`),o(i.pos+i.gap)>=o(e-t)&&o(i.pos)>o(l+t)&&o(l)1&&(c=this.pages[u[0]],d=this.pages[u[1]]),c&&d){let t=0;for(const e of this.slides)e.el?this.inTransition.has(e.index)&&c.slides.indexOf(e)<0&&(e.el.style[n]=`${o(t+(c.pos-d.pos),1e3)}px`):t+=e.dim+e.gap}}createSlideEl(t){if(!this.track||!t)return;if(t.el)return;const e=document.createElement("div");r(e,this.cn("slide")),r(e,t.class),r(e,t.customClass),t.html&&(e.innerHTML=t.html);const i=[];this.slides.forEach(((t,e)=>{t.el&&i.push(e)}));const s=t.index;let n=null;if(i.length){let t=i.reduce(((t,e)=>Math.abs(e-s)this.page?1:-1,h=this.pages[n].pos*(this.isRTL?1:-1);if(this.page===n&&o(h,1e3)===o(s.target[this.axis],1e3))return!1;this.clearTransitions();const l=s.isResting;r(this.container,this.cn("inTransition"));const c=this.pages[this.page].slides[0],d=this.pages[n].slides[0];this.inTransition.add(d.index),this.createSlideEl(d);let u=c.el,g=d.el;l||"slide"===e||(e="fadeFast",u=null);const p=this.isRTL?"next":"prev",f=this.isRTL?"prev":"next";return u&&(this.inTransition.add(c.index),c.transition=e,u.addEventListener("animationend",this.onAnimationEnd),u.classList.add(`f-${e}Out`,`to-${a>0?f:p}`)),g&&(d.transition=e,g.addEventListener("animationend",this.onAnimationEnd),g.classList.add(`f-${e}In`,`from-${a>0?p:f}`)),s.panTo({x:this.isHorizontal?h:0,y:this.isHorizontal?0:h,friction:0}),this.onChange(n),!0}manageSlideVisiblity(){const t=new Set,e=new Set,i=this.getVisibleSlides(parseFloat(this.option("preload",0)+"")||0);for(const s of this.slides)i.has(s)?t.add(s):e.add(s);for(const e of this.inTransition)t.add(this.slides[e]);for(const e of t)this.createSlideEl(e),this.lazyLoadSlide(e);for(const i of e)t.has(i)||this.removeSlideEl(i);this.markSelectedSlides(),this.repositionSlides()}markSelectedSlides(){if(!this.pages[this.page]||!this.pages[this.page].slides)return;const t="aria-hidden";let e=this.cn("isSelected");if(e)for(const i of this.slides)i.el&&(i.el.dataset.index=`${i.index}`,this.pages[this.page].slides.includes(i)?(i.el.classList.contains(e)||(r(i.el,e),this.emit("selectSlide",i)),i.el.removeAttribute(t)):(i.el.classList.contains(e)&&(h(i.el,e),this.emit("unselectSlide",i)),i.el.setAttribute(t,"true")))}flipInfiniteTrack(){const t=this.panzoom;if(!t||!this.isInfinite)return;const e="x"===this.option("axis")?"e":"f",{viewportDim:i,contentDim:s}=this;let n=t.current[e],o=t.target[e]-n,a=0,r=.5*i,h=s;this.isRTL&&this.isHorizontal?(n<-r&&(a=-1,n+=h),n>h-r&&(a=1,n-=h)):(n>r&&(a=1,n-=h),n<-h+r&&(a=-1,n+=h)),a&&(t.current[e]=n,t.target[e]=n+o)}lazyLoadSlide(t){const e=this,i=t&&t.el;if(!i)return;const s=new Set,o="f-fadeIn";i.querySelectorAll("[data-lazy-srcset]").forEach((t=>{t instanceof HTMLImageElement&&s.add(t)})),i.querySelectorAll("[data-lazy-src]").forEach((t=>{t instanceof HTMLImageElement?s.add(t):S(t)&&(t.style.backgroundImage=`url('${t.dataset.lazySrc||""}')`)}));const a=(t,i,s)=>{s&&(s.remove(),s=null),i.complete&&(i.classList.add(o),setTimeout((()=>{i.classList.remove(o)}),350),i.style.display=""),this.option("adaptiveHeight")&&t.el&&this.pages[this.page].slides.indexOf(t)>-1&&e.setViewportHeight()};for(const e of s){let i=null;e.src=e.dataset.lazySrcset||e.dataset.lazySrc||"",delete e.dataset.lazySrc,delete e.dataset.lazySrcset,e.style.display="none",e.addEventListener("error",(()=>{a(t,e,i)})),e.addEventListener("load",(()=>{a(t,e,i)})),setTimeout((()=>{e.parentNode&&t.el&&(e.complete?a(t,e,i):(i=n(c),e.parentNode.insertBefore(i,e)))}),300)}let r=i.dataset.lazySrc;r&&r.length&&(i.style.backgroundImage=`url('${r}')`)}onAnimationEnd(t){var e;const i=t.target,s=i?parseInt(i.dataset.index||"",10)||0:-1,n=this.slides[s],o=t.animationName;if(!i||!n||!o)return;const a=!!this.inTransition.has(s)&&n.transition;a&&o.substring(0,a.length+2)===`f-${a}`&&this.inTransition.delete(s),this.inTransition.size||this.clearTransitions(),s===this.page&&(null===(e=this.panzoom)||void 0===e?void 0:e.isResting)&&this.emit("settle")}onDecel(t,e=0,i=0,s=0,n=0){const o=this.isRTL,a=this.isHorizontal,r=this.axis,h=this.pages.length,l=Math.abs(Math.atan2(i,e)/(Math.PI/180));let c=0;if(c=l>45&&l<135?a?0:i:a?e:0,!h)return;const d=this.option("dragFree");let u=this.page;const g=t.target[r]*(this.isRTL&&a?1:-1),{pageIndex:p}=this.getPageFromPosition(g),f=t.current[r]*(o&&a?1:-1);let{page:m}=this.getPageFromPosition(f);d?this.onChange(p):(Math.abs(c)>5?((this.pages.length<3||Math.max(Math.abs(s),Math.abs(n))>this.pages[u].slides[0].dim)&&(u=m),u=o&&a?c<0?u-1:u+1:c<0?u+1:u-1):u=m,this.slideTo(u,{transition:!1,friction:t.option("decelFriction")}))}onClick(t){const e=t.target,i=e&&S(e)?e.dataset:null;let s,n;i&&(void 0!==i.carouselPage?(n="slideTo",s=i.carouselPage):void 0!==i.carouselNext?n="slideNext":void 0!==i.carouselPrev&&(n="slidePrev")),n?(t.preventDefault(),t.stopPropagation(),e&&!e.hasAttribute("disabled")&&this[n](s)):this.emit("click",t)}onSlideTo(t){const e=t.detail||0;this.slideTo(this.getPageForSlide(e),{friction:0})}onChange(t,e=0){const i=this.page;this.prevPage=i,this.page=t,this.option("adaptiveHeight")&&this.setViewportHeight(),t!==i&&(this.markSelectedSlides(),this.emit("change",t,i,e))}onRefresh(t,e=""){let i=this.contentDim,s=this.viewportDim;this.updateMetrics(),this.contentDim===i&&this.viewportDim===s||this.slideTo(this.page,{friction:0,transition:!1})}onResize(){this.option("breakpoints")&&this.processOptions()}onBeforeTransform(){this.flipInfiniteTrack(),this.manageSlideVisiblity()}onEndAnimation(){this.emit("settle")}reInit(t=null,e=null){this.destroy(),this.state=k.Init,this.userOptions=t||this.userOptions,this.userPlugins=e||this.userPlugins,this.processOptions()}slideTo(t=0,{friction:e=this.option("friction"),transition:i=this.option("transition")}={}){if(this.state===k.Destroy)return;const s=this.panzoom,n=this.pages.length;if(!s||!n)return;if(this.transitionTo(t,i))return;const o=this.axis,a=this.getPageFromIndex(t);let r=this.pages[a].pos,h=0;if(this.isInfinite){const t=s.current[o]*(this.isRTL&&this.isHorizontal?1:-1),e=this.contentDim,i=r+e,n=r-e;Math.abs(t-i){t.el&&(n=Math.max(n,t.el.offsetHeight))}))),i.style.height=n?`${n}px`:""}getPageForSlide(t){for(const e of this.pages)for(const i of e.slides)if(i.index===t)return e.index;return-1}getVisibleSlides(t=0){var e;const i=new Set;let{contentDim:s,viewportDim:n,pages:o,page:a}=this;s=s+(null===(e=this.slides[this.slides.length-1])||void 0===e?void 0:e.gap)||0;let r=0;r=this.panzoom?-1*this.panzoom.current[this.axis]:o[a]&&o[a].pos||0,this.isInfinite&&(r-=Math.floor(r/s)*s),this.isRTL&&this.isHorizontal&&(r*=-1);const h=r-n*t,l=r+n*(t+1),c=this.isInfinite?[-1,0,1]:[0];for(const t of this.slides)for(const e of c){const n=t.pos+e*s,o=t.pos+t.dim+t.gap+e*s;nh&&i.add(t)}return i}getPageFromPosition(t){const{viewportDim:e,contentDim:i}=this,s=this.pages.length,n=this.slides.length,o=this.slides[n-1];let a=0,r=0,h=0;const l=this.option("center");l&&(t+=.5*e),this.isInfinite||(t=Math.max(this.slides[0].pos,Math.min(t,o.pos)));const c=i+o.gap;h=Math.floor(t/c)||0,t-=h*c;let d=o,u=this.slides.find((e=>{const i=t+(d&&!l?.5*d.dim:0);return d=e,e.pos<=i&&e.pos+e.dim+e.gap>i}));return u||(u=o),r=this.getPageForSlide(u.index),a=r+h*s,{page:a,pageIndex:r}}destroy(){if([k.Destroy].includes(this.state))return;this.state=k.Destroy;const{container:t,viewport:e,track:i,slides:s,panzoom:n}=this,o=this.option("classes");t.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),t.removeEventListener("slideTo",this.onSlideTo),window.removeEventListener("resize",this.onResize),n&&(n.destroy(),this.panzoom=null),s&&s.forEach((t=>{this.removeSlideEl(t)})),this.detachPlugins(),this.track=null,this.viewport=null,this.page=0,e&&i&&e.replaceWith(...i.childNodes);for(const[e,i]of Object.entries(o))"container"!==e&&i&&t.classList.remove(i);this.slides=[];const a=this.events.get("ready");this.events=new Map,a&&this.events.set("ready",a)}}Object.defineProperty(H,"Panzoom",{enumerable:!0,configurable:!0,writable:!0,value:E}),Object.defineProperty(H,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:z}),Object.defineProperty(H,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:F});export{H as Carousel}; diff --git a/cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.css b/cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.css new file mode 100644 index 00000000..cb08a375 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.css @@ -0,0 +1,3 @@ +/* build time:Tue Mar 26 2024 09:21:28 GMT+0000 (Coordinated Universal Time)*/ +.f-carousel__thumbs{--f-thumb-width:96px;--f-thumb-height:72px;--f-thumb-outline:0;--f-thumb-outline-color:#5eb0ef;--f-thumb-opacity:1;--f-thumb-hover-opacity:1;--f-thumb-selected-opacity:1;--f-thumb-border-radius:2px;--f-thumb-offset:0px;--f-button-next-pos:0;--f-button-prev-pos:0}.f-carousel__thumbs.is-classic{--f-thumb-gap:8px;--f-thumb-opacity:0.5;--f-thumb-hover-opacity:1;--f-thumb-selected-opacity:1}.f-carousel__thumbs.is-modern{--f-thumb-gap:4px;--f-thumb-extra-gap:20px;--f-thumb-clip-width:46px}.f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:transparent;user-select:none;perspective:1000px;transform:translateZ(0)}.f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2,#e2e8f0);z-index:-1}.f-thumbs .f-spinner svg{display:none}.f-thumbs.is-vertical{height:100%}.f-thumbs__viewport{width:100%;height:auto;overflow:hidden}.f-thumbs__track{display:flex;will-change:transform}.f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);min-width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}.f-thumbs__slide.is-loading img{opacity:0}.is-classic .f-thumbs__viewport{height:100%}.is-modern .f-thumbs__track{width:max-content}.is-modern .f-thumbs__track::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--left,0)*1px);width:calc(100% - var(--width,0)*1px);cursor:pointer}.is-modern .f-thumbs__slide{--clip-path:inset( 0 calc( (var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0)) * 0.5 * (1 - var(--progress, 0)) ) round var(--f-thumb-border-radius, 0) );transform:translate3d(calc(var(--shift,0) * -1px),0,0);transition:none;pointer-events:none}.is-modern .f-thumbs__slide:focus-within:not(.is-selected){filter:drop-shadow(-1px 0 0 var(--f-thumb-outline-color)) drop-shadow(2px 0 0 var(--f-thumb-outline-color)) drop-shadow(0 -1px 0 var(--f-thumb-outline-color)) drop-shadow(0 2px 0 var(--f-thumb-outline-color))}.is-modern .f-thumbs__slide>*{clip-path:var(--clip-path)}.is-modern.in-touch .f-thumbs__slide{filter:none}.is-modern.is-resting .f-thumbs__slide{transition:all .33s ease}.is-modern.is-resting .f-thumbs__slide>*{transition:all .33s ease}.f-thumbs__slide__button{appearance:none;width:100%;height:100%;margin:0;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:rgba(0,0,0,0);outline:0;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}.f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}.f-thumbs__slide__button:focus:not(:focus-visible){outline:0}.f-thumbs__slide__button:focus-visible{outline:0;opacity:var(--f-thumb-selected-opacity)}.is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}.is-nav-selected .f-thumbs__slide__button::after{content:"";position:absolute;top:0;left:0;right:0;height:auto;bottom:0;border:var(--f-thumb-outline,0) solid var(--f-thumb-outline-color,transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}.f-thumbs__slide__img{position:absolute;overflow:hidden;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;object-fit:cover}.f-thumbs.is-horizontal .f-thumbs__track{margin:0 auto;padding:8px 0 12px 0}.f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}.f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;margin:auto 0;padding:0 8px}.f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0} +/* rebuild by neat */ \ No newline at end of file diff --git a/cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.esm.js b/cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.esm.js new file mode 100644 index 00000000..0fb4677a --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.esm.js @@ -0,0 +1 @@ +const t=(e,...i)=>{const n=i.length;for(let s=0;s{const s=Array.isArray(n)?[]:{};var r;e[i]||Object.assign(e,{[i]:s}),"object"==typeof(r=n)&&null!==r&&r.constructor===Object&&"[object Object]"===Object.prototype.toString.call(r)?Object.assign(e[i],t(s,n)):Array.isArray(n)?Object.assign(e,{[i]:[...n]}):Object.assign(e,{[i]:n})}))}return e},e=function(t){return(new DOMParser).parseFromString(t,"text/html").body.firstChild},i=t=>`${t||""}`.split(" ").filter((t=>!!t)),n=(t,e)=>{i(e).forEach((e=>{t&&t.classList.add(e)}))},s=(t,e,n)=>{i(e).forEach((e=>{t&&t.classList.toggle(e,n||!1)}))},r=function(t,e){return t.split(".").reduce(((t,e)=>"object"==typeof t?t[e]:void 0),e)};class o{constructor(t={}){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),this.setOptions(t);for(const t of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))t.startsWith("on")&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}setOptions(e){this.options=e?t({},this.constructor.defaults,e):{};for(const[t,e]of Object.entries(this.option("on")||{}))this.on(t,e)}option(t,...e){let i=r(t,this.options);return i&&"function"==typeof i&&(i=i.call(this,this,...e)),i}optionFor(t,e,i,...n){let s=r(e,t);var o;"string"!=typeof(o=s)||isNaN(o)||isNaN(parseFloat(o))||(s=parseFloat(s)),"true"===s&&(s=!0),"false"===s&&(s=!1),s&&"function"==typeof s&&(s=s.call(this,this,t,...n));let a=r(e,this.options);return a&&"function"==typeof a?s=a.call(this,this,t,...n,s):void 0===s&&(s=a),void 0===s?i:s}cn(t){const e=this.options.classes;return e&&e[t]||""}localize(t,e=[]){t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,((t,e,i)=>{let n="";return i?n=this.option(`${e[0]+e.toLowerCase().substring(1)}.l10n.${i}`):e&&(n=this.option(`l10n.${e}`)),n||(n=t),n}));for(let i=0;ie))}on(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),this.events||(this.events=new Map),i.forEach((t=>{let i=this.events.get(t);i||(this.events.set(t,[]),i=[]),i.includes(e)||i.push(e),this.events.set(t,i)}))}off(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),i.forEach((t=>{const i=this.events.get(t);if(Array.isArray(i)){const t=i.indexOf(e);t>-1&&i.splice(t,1)}}))}emit(t,...e){[...this.events.get(t)||[]].forEach((t=>t(this,...e))),"*"!==t&&this.emit("*",t,...e)}}Object.defineProperty(o,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(o,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class a extends o{constructor(t,e){super(e),Object.defineProperty(this,"instance",{enumerable:!0,configurable:!0,writable:!0,value:t})}attach(){}detach(){}}var h;!function(t){t[t.Init=0]="Init",t[t.Error=1]="Error",t[t.Ready=2]="Ready",t[t.Panning=3]="Panning",t[t.Mousemove=4]="Mousemove",t[t.Destroy=5]="Destroy"}(h||(h={}));const l=(t,e=1e4)=>(t=parseFloat(t+"")||0,Math.round((t+Number.EPSILON)*e)/e),c={classes:{container:"f-thumbs f-carousel__thumbs",viewport:"f-thumbs__viewport",track:"f-thumbs__track",slide:"f-thumbs__slide",isResting:"is-resting",isSelected:"is-selected",isLoading:"is-loading",hasThumbs:"has-thumbs"},minCount:2,parentEl:null,thumbTpl:'',type:"modern"};var u;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Hidden=2]="Hidden",t[t.Disabled=3]="Disabled"}(u||(u={}));class d extends a{constructor(){super(...arguments),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"modern"}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"carousel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"thumbWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbClipWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbHeight",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbExtraGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"shouldCenter",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:u.Init})}formatThumb(t,e){return this.instance.localize(e,[["%i",t.index],["%d",t.index+1],["%s",t.thumbSrc||"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"]])}getSlides(){const t=[],e=this.option("thumbTpl")||"";if(e)for(const i of this.instance.slides||[]){let n="";i.type&&(n=`for-${i.type}`,i.type&&["video","youtube","vimeo","html5video"].includes(i.type)&&(n+=" for-video")),t.push({html:this.formatThumb(i,e),customClass:n})}return t}onInitSlide(t,e){const i=e.el;i&&(e.thumbSrc=i.dataset.thumbSrc||e.thumbSrc||"",e.thumbClipWidth=parseFloat(i.dataset.thumbClipWidth||"")||e.thumbClipWidth||0,e.thumbHeight=parseFloat(i.dataset.thumbHeight||"")||e.thumbHeight||0)}onInitSlides(){this.state===u.Init&&this.build()}onRefreshM(){this.refreshModern()}onChangeM(){"modern"===this.type&&(this.shouldCenter=!0,this.centerModern())}onClickModern(t){t.preventDefault(),t.stopPropagation();const e=this.instance,i=e.page,n=t=>{if(t){const e=t.closest("[data-carousel-index]");if(e)return parseInt(e.dataset.carouselIndex||"",10)||0}return-1},s=(t,e)=>{const i=document.elementFromPoint(t,e);return i?n(i):-1};let r=n(t.target);r<0&&(r=s(t.clientX+this.thumbGap,t.clientY),r===i&&(r=i-1)),r<0&&(r=s(t.clientX-this.thumbGap,t.clientY),r===i&&(r=i+1)),r<0&&(r=(e=>{let n=s(t.clientX-e,t.clientY),o=s(t.clientX+e,t.clientY);return r<0&&n===i&&(r=i+1),r<0&&o===i&&(r=i-1),r})(this.thumbExtraGap)),r===i?this.centerModern():r>-1&&r{this.emit("ready")}))}buildModern(){if("modern"!==this.type)return;const{container:t,track:i,instance:s}=this,r=this.option("thumbTpl")||"";if(!t||!i||!r)return;n(t,"is-horizontal"),this.updateModern();for(const t of s.slides||[]){const s=document.createElement("div");if(n(s,this.cn("slide")),t.type){let e=`for-${t.type}`;["video","youtube","vimeo","html5video"].includes(t.type)&&(e+=" for-video"),n(s,e)}s.appendChild(e(this.formatThumb(t,r))),t.thumbSlideEl=s,i.appendChild(s),this.resizeModernSlide(t)}const o=new s.constructor.Panzoom(t,{content:i,lockAxis:"x",zoom:!1,panOnlyZoomed:!1,bounds:()=>{let t=0,e=0,i=s.slides[0],n=s.slides[s.slides.length-1],r=s.slides[s.page];return i&&n&&r&&(e=-1*this.getModernThumbPos(0),0!==s.page&&(e+=.5*(i.thumbWidth||0)),t=-1*this.getModernThumbPos(s.slides.length-1),s.page!==s.slides.length-1&&(t+=(n.thumbWidth||0)-(r.thumbWidth||0)-.5*(n.thumbWidth||0))),{x:{min:t,max:e},y:{min:0,max:0}}}});o.on("touchStart",((t,e)=>{this.shouldCenter=!1})),o.on("click",((t,e)=>this.onClickModern(e))),o.on("ready",(()=>{this.centerModern(),this.emit("ready")})),o.on(["afterTransform","refresh"],(t=>{this.lazyLoadModern()})),this.panzoom=o,this.refreshModern()}updateModern(){if("modern"!==this.type)return;const{container:t}=this;t&&(this.thumbGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-gap"))||0,this.thumbExtraGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-extra-gap"))||0,this.thumbWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-width"))||40,this.thumbClipWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-clip-width"))||40,this.thumbHeight=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-height"))||40)}refreshModern(){var t;if("modern"===this.type){this.updateModern();for(const t of this.instance.slides||[])this.resizeModernSlide(t);this.onTransformM(),null===(t=this.panzoom)||void 0===t||t.updateMetrics(!0),this.centerModern(0)}}centerModern(t){const e=this.instance,{container:i,panzoom:n}=this;if(!i||!n||n.state===h.Init)return;const s=e.page;let r=this.getModernThumbPos(s),o=r;for(let t=e.page-3;te.pages.length-1||t===e.page)continue;const i=1-Math.abs(e.getProgress(t));i>0&&i<1&&(o+=i*(this.getModernThumbPos(t)-r))}let a=100;void 0===t&&(t=.2,e.inTransition.size>0&&(t=.12),Math.abs(-1*n.current.e-o)>n.containerRect.width&&(t=.5,a=0)),n.options.maxVelocity=a,n.applyChange({panX:l(-1*o-n.target.e,1e3),friction:null===e.prevPage?0:t})}lazyLoadModern(){const{instance:t,panzoom:i}=this;if(!i)return;const s=-1*i.current.e||0;let r=this.getModernThumbPos(t.page);if(i.state!==h.Init||0===r)for(const r of t.slides||[]){const t=r.thumbSlideEl;if(!t)continue;const o=t.querySelector("img[data-lazy-src]"),a=r.index,h=this.getModernThumbPos(a),l=s-.5*i.containerRect.innerWidth,c=l+i.containerRect.innerWidth;if(!o||hc)continue;let u=o.dataset.lazySrc;if(!u||!u.length)continue;if(delete o.dataset.lazySrc,o.src=u,o.complete)continue;n(t,this.cn("isLoading"));const d=e('
    ');t.appendChild(d),o.addEventListener("load",(()=>{t.offsetParent&&(t.classList.remove(this.cn("isLoading")),d.remove())}),!1)}}resizeModernSlide(t){if("modern"!==this.type)return;if(!t.thumbSlideEl)return;const e=t.thumbClipWidth&&t.thumbHeight?Math.round(this.thumbHeight*(t.thumbClipWidth/t.thumbHeight)):this.thumbWidth;t.thumbWidth=e}getModernThumbPos(t){const e=this.instance.slides[t],i=this.panzoom;if(!i||!i.contentRect.fitWidth)return 0;let n=i.containerRect.innerWidth,s=i.contentRect.width;2===this.instance.slides.length&&(t-=1,s=2*this.thumbClipWidth);let r=t*(this.thumbClipWidth+this.thumbGap)+this.thumbExtraGap+.5*(e.thumbWidth||0);return r-=s>n?.5*n:.5*s,l(r||0,1)}build(){const t=this.instance,e=t.container,i=this.option("minCount")||0;if(i){let e=0;for(const i of t.slides||[])i.thumbSrc&&e++;if(e{setTimeout((()=>{var e;null===(e=null==r?void 0:r.querySelector(`[data-carousel-index="${t.page}"]`))||void 0===e||e.focus()}),100)}))}cleanup(){var t,e;this.carousel&&this.carousel.destroy(),this.carousel=null,this.panzoom&&this.panzoom.destroy(),this.panzoom=null,this.container&&this.container.remove(),this.container=null,this.track=null,this.state=u.Init,t=this.instance.container,e=this.cn("hasThumbs"),i(e).forEach((e=>{t&&t.classList.remove(e)}))}attach(){this.instance.on("initSlide",this.onInitSlide),this.instance.on("initSlides",this.onInitSlides),this.instance.on("Panzoom.afterTransform",this.onTransformM),this.instance.on("Panzoom.refresh",this.onRefreshM),this.instance.on("change",this.onChangeM)}detach(){this.instance.off("initSlide",this.onInitSlide),this.instance.off("initSlides",this.onInitSlides),this.instance.off("Panzoom.afterTransform",this.onTransformM),this.instance.off("Panzoom.refresh",this.onRefreshM),this.instance.off("change",this.onChangeM),this.cleanup()}}Object.defineProperty(d,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:c});export{u as States,d as Thumbs,c as defaultOptions}; diff --git a/cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.umd.js b/cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.umd.js new file mode 100644 index 00000000..2304730d --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/carousel.thumbs.umd.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).window=t.window||{})}(this,(function(t){"use strict";const e=(t,...i)=>{const s=i.length;for(let n=0;n{const n=Array.isArray(s)?[]:{};var o;t[i]||Object.assign(t,{[i]:n}),"object"==typeof(o=s)&&null!==o&&o.constructor===Object&&"[object Object]"===Object.prototype.toString.call(o)?Object.assign(t[i],e(n,s)):Array.isArray(s)?Object.assign(t,{[i]:[...s]}):Object.assign(t,{[i]:s})}))}return t},i=function(t){return(new DOMParser).parseFromString(t,"text/html").body.firstChild},s=t=>`${t||""}`.split(" ").filter((t=>!!t)),n=(t,e)=>{s(e).forEach((e=>{t&&t.classList.add(e)}))},o=(t,e,i)=>{s(e).forEach((e=>{t&&t.classList.toggle(e,i||!1)}))},r=function(t,e){return t.split(".").reduce(((t,e)=>"object"==typeof t?t[e]:void 0),e)};class a{constructor(t={}){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),this.setOptions(t);for(const t of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))t.startsWith("on")&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}setOptions(t){this.options=t?e({},this.constructor.defaults,t):{};for(const[t,e]of Object.entries(this.option("on")||{}))this.on(t,e)}option(t,...e){let i=r(t,this.options);return i&&"function"==typeof i&&(i=i.call(this,this,...e)),i}optionFor(t,e,i,...s){let n=r(e,t);var o;"string"!=typeof(o=n)||isNaN(o)||isNaN(parseFloat(o))||(n=parseFloat(n)),"true"===n&&(n=!0),"false"===n&&(n=!1),n&&"function"==typeof n&&(n=n.call(this,this,t,...s));let a=r(e,this.options);return a&&"function"==typeof a?n=a.call(this,this,t,...s,n):void 0===n&&(n=a),void 0===n?i:n}cn(t){const e=this.options.classes;return e&&e[t]||""}localize(t,e=[]){t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,((t,e,i)=>{let s="";return i?s=this.option(`${e[0]+e.toLowerCase().substring(1)}.l10n.${i}`):e&&(s=this.option(`l10n.${e}`)),s||(s=t),s}));for(let i=0;ie))}on(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),this.events||(this.events=new Map),i.forEach((t=>{let i=this.events.get(t);i||(this.events.set(t,[]),i=[]),i.includes(e)||i.push(e),this.events.set(t,i)}))}off(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),i.forEach((t=>{const i=this.events.get(t);if(Array.isArray(i)){const t=i.indexOf(e);t>-1&&i.splice(t,1)}}))}emit(t,...e){[...this.events.get(t)||[]].forEach((t=>t(this,...e))),"*"!==t&&this.emit("*",t,...e)}}Object.defineProperty(a,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(a,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class h extends a{constructor(t,e){super(e),Object.defineProperty(this,"instance",{enumerable:!0,configurable:!0,writable:!0,value:t})}attach(){}detach(){}}var l;!function(t){t[t.Init=0]="Init",t[t.Error=1]="Error",t[t.Ready=2]="Ready",t[t.Panning=3]="Panning",t[t.Mousemove=4]="Mousemove",t[t.Destroy=5]="Destroy"}(l||(l={}));const c=(t,e=1e4)=>(t=parseFloat(t+"")||0,Math.round((t+Number.EPSILON)*e)/e),u={classes:{container:"f-thumbs f-carousel__thumbs",viewport:"f-thumbs__viewport",track:"f-thumbs__track",slide:"f-thumbs__slide",isResting:"is-resting",isSelected:"is-selected",isLoading:"is-loading",hasThumbs:"has-thumbs"},minCount:2,parentEl:null,thumbTpl:'',type:"modern"};t.States=void 0,function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Hidden=2]="Hidden",t[t.Disabled=3]="Disabled"}(t.States||(t.States={}));class d extends h{constructor(){super(...arguments),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"modern"}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"carousel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"thumbWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbClipWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbHeight",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbExtraGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"shouldCenter",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:t.States.Init})}formatThumb(t,e){return this.instance.localize(e,[["%i",t.index],["%d",t.index+1],["%s",t.thumbSrc||"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"]])}getSlides(){const t=[],e=this.option("thumbTpl")||"";if(e)for(const i of this.instance.slides||[]){let s="";i.type&&(s=`for-${i.type}`,i.type&&["video","youtube","vimeo","html5video"].includes(i.type)&&(s+=" for-video")),t.push({html:this.formatThumb(i,e),customClass:s})}return t}onInitSlide(t,e){const i=e.el;i&&(e.thumbSrc=i.dataset.thumbSrc||e.thumbSrc||"",e.thumbClipWidth=parseFloat(i.dataset.thumbClipWidth||"")||e.thumbClipWidth||0,e.thumbHeight=parseFloat(i.dataset.thumbHeight||"")||e.thumbHeight||0)}onInitSlides(){this.state===t.States.Init&&this.build()}onRefreshM(){this.refreshModern()}onChangeM(){"modern"===this.type&&(this.shouldCenter=!0,this.centerModern())}onClickModern(t){t.preventDefault(),t.stopPropagation();const e=this.instance,i=e.page,s=t=>{if(t){const e=t.closest("[data-carousel-index]");if(e)return parseInt(e.dataset.carouselIndex||"",10)||0}return-1},n=(t,e)=>{const i=document.elementFromPoint(t,e);return i?s(i):-1};let o=s(t.target);o<0&&(o=n(t.clientX+this.thumbGap,t.clientY),o===i&&(o=i-1)),o<0&&(o=n(t.clientX-this.thumbGap,t.clientY),o===i&&(o=i+1)),o<0&&(o=(e=>{let s=n(t.clientX-e,t.clientY),r=n(t.clientX+e,t.clientY);return o<0&&s===i&&(o=i+1),o<0&&r===i&&(o=i-1),o})(this.thumbExtraGap)),o===i?this.centerModern():o>-1&&o{this.emit("ready")}))}buildModern(){if("modern"!==this.type)return;const{container:t,track:e,instance:s}=this,o=this.option("thumbTpl")||"";if(!t||!e||!o)return;n(t,"is-horizontal"),this.updateModern();for(const t of s.slides||[]){const s=document.createElement("div");if(n(s,this.cn("slide")),t.type){let e=`for-${t.type}`;["video","youtube","vimeo","html5video"].includes(t.type)&&(e+=" for-video"),n(s,e)}s.appendChild(i(this.formatThumb(t,o))),t.thumbSlideEl=s,e.appendChild(s),this.resizeModernSlide(t)}const r=new s.constructor.Panzoom(t,{content:e,lockAxis:"x",zoom:!1,panOnlyZoomed:!1,bounds:()=>{let t=0,e=0,i=s.slides[0],n=s.slides[s.slides.length-1],o=s.slides[s.page];return i&&n&&o&&(e=-1*this.getModernThumbPos(0),0!==s.page&&(e+=.5*(i.thumbWidth||0)),t=-1*this.getModernThumbPos(s.slides.length-1),s.page!==s.slides.length-1&&(t+=(n.thumbWidth||0)-(o.thumbWidth||0)-.5*(n.thumbWidth||0))),{x:{min:t,max:e},y:{min:0,max:0}}}});r.on("touchStart",((t,e)=>{this.shouldCenter=!1})),r.on("click",((t,e)=>this.onClickModern(e))),r.on("ready",(()=>{this.centerModern(),this.emit("ready")})),r.on(["afterTransform","refresh"],(t=>{this.lazyLoadModern()})),this.panzoom=r,this.refreshModern()}updateModern(){if("modern"!==this.type)return;const{container:t}=this;t&&(this.thumbGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-gap"))||0,this.thumbExtraGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-extra-gap"))||0,this.thumbWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-width"))||40,this.thumbClipWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-clip-width"))||40,this.thumbHeight=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-height"))||40)}refreshModern(){var t;if("modern"===this.type){this.updateModern();for(const t of this.instance.slides||[])this.resizeModernSlide(t);this.onTransformM(),null===(t=this.panzoom)||void 0===t||t.updateMetrics(!0),this.centerModern(0)}}centerModern(t){const e=this.instance,{container:i,panzoom:s}=this;if(!i||!s||s.state===l.Init)return;const n=e.page;let o=this.getModernThumbPos(n),r=o;for(let t=e.page-3;te.pages.length-1||t===e.page)continue;const i=1-Math.abs(e.getProgress(t));i>0&&i<1&&(r+=i*(this.getModernThumbPos(t)-o))}let a=100;void 0===t&&(t=.2,e.inTransition.size>0&&(t=.12),Math.abs(-1*s.current.e-r)>s.containerRect.width&&(t=.5,a=0)),s.options.maxVelocity=a,s.applyChange({panX:c(-1*r-s.target.e,1e3),friction:null===e.prevPage?0:t})}lazyLoadModern(){const{instance:t,panzoom:e}=this;if(!e)return;const s=-1*e.current.e||0;let o=this.getModernThumbPos(t.page);if(e.state!==l.Init||0===o)for(const o of t.slides||[]){const t=o.thumbSlideEl;if(!t)continue;const r=t.querySelector("img[data-lazy-src]"),a=o.index,h=this.getModernThumbPos(a),l=s-.5*e.containerRect.innerWidth,c=l+e.containerRect.innerWidth;if(!r||hc)continue;let u=r.dataset.lazySrc;if(!u||!u.length)continue;if(delete r.dataset.lazySrc,r.src=u,r.complete)continue;n(t,this.cn("isLoading"));const d=i('
    ');t.appendChild(d),r.addEventListener("load",(()=>{t.offsetParent&&(t.classList.remove(this.cn("isLoading")),d.remove())}),!1)}}resizeModernSlide(t){if("modern"!==this.type)return;if(!t.thumbSlideEl)return;const e=t.thumbClipWidth&&t.thumbHeight?Math.round(this.thumbHeight*(t.thumbClipWidth/t.thumbHeight)):this.thumbWidth;t.thumbWidth=e}getModernThumbPos(t){const e=this.instance.slides[t],i=this.panzoom;if(!i||!i.contentRect.fitWidth)return 0;let s=i.containerRect.innerWidth,n=i.contentRect.width;2===this.instance.slides.length&&(t-=1,n=2*this.thumbClipWidth);let o=t*(this.thumbClipWidth+this.thumbGap)+this.thumbExtraGap+.5*(e.thumbWidth||0);return o-=n>s?.5*s:.5*n,c(o||0,1)}build(){const e=this.instance,i=e.container,s=this.option("minCount")||0;if(s){let i=0;for(const t of e.slides||[])t.thumbSrc&&i++;if(i{setTimeout((()=>{var t;null===(t=null==r?void 0:r.querySelector(`[data-carousel-index="${e.page}"]`))||void 0===t||t.focus()}),100)}))}cleanup(){var e,i;this.carousel&&this.carousel.destroy(),this.carousel=null,this.panzoom&&this.panzoom.destroy(),this.panzoom=null,this.container&&this.container.remove(),this.container=null,this.track=null,this.state=t.States.Init,e=this.instance.container,i=this.cn("hasThumbs"),s(i).forEach((t=>{e&&e.classList.remove(t)}))}attach(){this.instance.on("initSlide",this.onInitSlide),this.instance.on("initSlides",this.onInitSlides),this.instance.on("Panzoom.afterTransform",this.onTransformM),this.instance.on("Panzoom.refresh",this.onRefreshM),this.instance.on("change",this.onChangeM)}detach(){this.instance.off("initSlide",this.onInitSlide),this.instance.off("initSlides",this.onInitSlides),this.instance.off("Panzoom.afterTransform",this.onTransformM),this.instance.off("Panzoom.refresh",this.onRefreshM),this.instance.off("change",this.onChangeM),this.cleanup()}}Object.defineProperty(d,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:u}),t.Thumbs=d,t.defaultOptions=u})); diff --git a/cdn/@fancyapps/ui/dist/carousel/carousel.umd.js b/cdn/@fancyapps/ui/dist/carousel/carousel.umd.js new file mode 100644 index 00000000..070cbd0d --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/carousel.umd.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).window=t.window||{})}(this,(function(t){"use strict";const e=t=>"object"==typeof t&&null!==t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t),i=(t,...s)=>{const n=s.length;for(let o=0;o{const o=Array.isArray(n)?[]:{};t[s]||Object.assign(t,{[s]:o}),e(n)?Object.assign(t[s],i(o,n)):Array.isArray(n)?Object.assign(t,{[s]:[...n]}):Object.assign(t,{[s]:n})}))}return t},s=function(t,e){let i=!0;return(...s)=>{i&&(i=!1,t(...s),setTimeout((()=>{i=!0}),e))}},n=(t,e)=>{let i=[];return t.childNodes.forEach((t=>{t.nodeType!==Node.ELEMENT_NODE||e&&!t.matches(e)||i.push(t)})),i},o=function(t){return(new DOMParser).parseFromString(t,"text/html").body.firstChild},a=(t,e=1e4)=>(t=parseFloat(t+"")||0,Math.round((t+Number.EPSILON)*e)/e),r=t=>`${t||""}`.split(" ").filter((t=>!!t)),h=(t,e)=>{r(e).forEach((e=>{t&&t.classList.add(e)}))},l=(t,e)=>{r(e).forEach((e=>{t&&t.classList.remove(e)}))},c=(t,e,i)=>{r(e).forEach((e=>{t&&t.classList.toggle(e,i||!1)}))},d='
    ',u=function(t,e){return t.split(".").reduce(((t,e)=>"object"==typeof t?t[e]:void 0),e)};class g{constructor(t={}){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),this.setOptions(t);for(const t of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))t.startsWith("on")&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}setOptions(t){this.options=t?i({},this.constructor.defaults,t):{};for(const[t,e]of Object.entries(this.option("on")||{}))this.on(t,e)}option(t,...e){let i=u(t,this.options);return i&&"function"==typeof i&&(i=i.call(this,this,...e)),i}optionFor(t,e,i,...s){let n=u(e,t);var o;"string"!=typeof(o=n)||isNaN(o)||isNaN(parseFloat(o))||(n=parseFloat(n)),"true"===n&&(n=!0),"false"===n&&(n=!1),n&&"function"==typeof n&&(n=n.call(this,this,t,...s));let a=u(e,this.options);return a&&"function"==typeof a?n=a.call(this,this,t,...s,n):void 0===n&&(n=a),void 0===n?i:n}cn(t){const e=this.options.classes;return e&&e[t]||""}localize(t,e=[]){t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,((t,e,i)=>{let s="";return i?s=this.option(`${e[0]+e.toLowerCase().substring(1)}.l10n.${i}`):e&&(s=this.option(`l10n.${e}`)),s||(s=t),s}));for(let i=0;ie))}on(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),this.events||(this.events=new Map),i.forEach((t=>{let i=this.events.get(t);i||(this.events.set(t,[]),i=[]),i.includes(e)||i.push(e),this.events.set(t,i)}))}off(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),i.forEach((t=>{const i=this.events.get(t);if(Array.isArray(i)){const t=i.indexOf(e);t>-1&&i.splice(t,1)}}))}emit(t,...e){[...this.events.get(t)||[]].forEach((t=>t(this,...e))),"*"!==t&&this.emit("*",t,...e)}}Object.defineProperty(g,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(g,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class p extends g{constructor(t={}){super(t),Object.defineProperty(this,"plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}})}attachPlugins(t={}){const e=new Map;for(const[i,s]of Object.entries(t)){const t=this.option(i),n=this.plugins[i];n||!1===t?n&&!1===t&&(n.detach(),delete this.plugins[i]):e.set(i,new s(this,t||{}))}for(const[t,i]of e)this.plugins[t]=i,i.attach();this.emit("attachPlugins")}detachPlugins(){for(const t of Object.values(this.plugins))t.detach();return this.plugins={},this.emit("detachPlugins"),this}}const f=function(t,e){return!(!t||t===document.body||e&&t===e)&&(function(t){if(!(t&&t instanceof Element&&t.offsetParent))return!1;const e=t.scrollHeight>t.clientHeight,i=window.getComputedStyle(t).overflowY,s=-1!==i.indexOf("hidden"),n=-1!==i.indexOf("visible");return e&&!s&&!n}(t)?t:f(t.parentElement,e))};class m{constructor(t){Object.defineProperty(this,"pageX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nativePointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.nativePointer=t,this.pageX=t.pageX,this.pageY=t.pageY,this.clientX=t.clientX,this.clientY=t.clientY,this.id=self.Touch&&t instanceof Touch?t.identifier:-1,this.time=Date.now()}}const b={passive:!1};class v{constructor(t,{start:e=(()=>!0),move:i=(()=>{}),end:s=(()=>{})}){Object.defineProperty(this,"element",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"startCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"moveCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"endCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"startPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.element=t,this.startCallback=e,this.moveCallback=i,this.endCallback=s;for(const t of["onPointerStart","onTouchStart","onMove","onTouchEnd","onPointerEnd","onWindowBlur"])this[t]=this[t].bind(this);this.element.addEventListener("mousedown",this.onPointerStart,b),this.element.addEventListener("touchstart",this.onTouchStart,b),this.element.addEventListener("touchmove",this.onMove,b),this.element.addEventListener("touchend",this.onTouchEnd),this.element.addEventListener("touchcancel",this.onTouchEnd)}onPointerStart(t){if(!t.buttons||0!==t.button)return;const e=new m(t);this.currentPointers.some((t=>t.id===e.id))||this.triggerPointerStart(e,t)&&(window.addEventListener("mousemove",this.onMove),window.addEventListener("mouseup",this.onPointerEnd),window.addEventListener("blur",this.onWindowBlur))}onTouchStart(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerStart(new m(e),t);window.addEventListener("blur",this.onWindowBlur)}onMove(t){const e=this.currentPointers.slice(),i="changedTouches"in t?Array.from(t.changedTouches||[]).map((t=>new m(t))):[new m(t)],s=[];for(const t of i){const e=this.currentPointers.findIndex((e=>e.id===t.id));e<0||(s.push(t),this.currentPointers[e]=t)}s.length&&this.moveCallback(t,this.currentPointers.slice(),e)}onPointerEnd(t){t.buttons>0&&0!==t.button||(this.triggerPointerEnd(t,new m(t)),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur))}onTouchEnd(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerEnd(t,new m(e))}triggerPointerStart(t,e){return!!this.startCallback(e,t,this.currentPointers.slice())&&(this.currentPointers.push(t),this.startPointers.push(t),!0)}triggerPointerEnd(t,e){const i=this.currentPointers.findIndex((t=>t.id===e.id));i<0||(this.currentPointers.splice(i,1),this.startPointers.splice(i,1),this.endCallback(t,e,this.currentPointers.slice()))}onWindowBlur(){this.clear()}clear(){for(;this.currentPointers.length;){const t=this.currentPointers[this.currentPointers.length-1];this.currentPointers.splice(this.currentPointers.length-1,1),this.startPointers.splice(this.currentPointers.length-1,1),this.endCallback(new Event("touchend",{bubbles:!0,cancelable:!0,clientX:t.clientX,clientY:t.clientY}),t,this.currentPointers.slice())}}stop(){this.element.removeEventListener("mousedown",this.onPointerStart,b),this.element.removeEventListener("touchstart",this.onTouchStart,b),this.element.removeEventListener("touchmove",this.onMove,b),this.element.removeEventListener("touchend",this.onTouchEnd),this.element.removeEventListener("touchcancel",this.onTouchEnd),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur)}}function y(t,e){return e?Math.sqrt(Math.pow(e.clientX-t.clientX,2)+Math.pow(e.clientY-t.clientY,2)):0}function x(t,e){return e?{clientX:(t.clientX+e.clientX)/2,clientY:(t.clientY+e.clientY)/2}:t}var w;!function(t){t[t.Init=0]="Init",t[t.Error=1]="Error",t[t.Ready=2]="Ready",t[t.Panning=3]="Panning",t[t.Mousemove=4]="Mousemove",t[t.Destroy=5]="Destroy"}(w||(w={}));const P=["a","b","c","d","e","f"],S={content:null,width:"auto",height:"auto",panMode:"drag",touch:!0,dragMinThreshold:3,lockAxis:!1,mouseMoveFactor:1,mouseMoveFriction:.12,zoom:!0,pinchToZoom:!0,panOnlyZoomed:"auto",minScale:1,maxScale:2,friction:.25,dragFriction:.35,decelFriction:.05,click:"toggleZoom",dblClick:!1,wheel:"zoom",wheelLimit:7,spinner:!0,bounds:"auto",infinite:!1,rubberband:!0,bounce:!0,maxVelocity:75,transformParent:!1,classes:{content:"f-panzoom__content",isLoading:"is-loading",canZoomIn:"can-zoom_in",canZoomOut:"can-zoom_out",isDraggable:"is-draggable",isDragging:"is-dragging",inFullscreen:"in-fullscreen",htmlHasFullscreen:"with-panzoom-in-fullscreen"},l10n:{PANUP:"Move up",PANDOWN:"Move down",PANLEFT:"Move left",PANRIGHT:"Move right",ZOOMIN:"Zoom in",ZOOMOUT:"Zoom out",TOGGLEZOOM:"Toggle zoom level",TOGGLE1TO1:"Toggle zoom level",ITERATEZOOM:"Toggle zoom level",ROTATECCW:"Rotate counterclockwise",ROTATECW:"Rotate clockwise",FLIPX:"Flip horizontally",FLIPY:"Flip vertically",FITX:"Fit horizontally",FITY:"Fit vertically",RESET:"Reset",TOGGLEFS:"Toggle fullscreen"}},T=t=>t&&null!==t&&t instanceof Element&&"nodeType"in t,M={a:1,b:0,c:0,d:1,e:0,f:0},O=1e5,E=1e3;let z=null,k=null;class R extends p{get isTouchDevice(){return null===k&&(k=window.matchMedia("(hover: none)").matches),k}get isMobile(){return null===z&&(z=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)),z}get panMode(){return"mousemove"!==this.options.panMode||this.isTouchDevice?"drag":"mousemove"}get panOnlyZoomed(){const t=this.options.panOnlyZoomed;return"auto"===t?this.isTouchDevice:t}get isInfinite(){return this.option("infinite")}get angle(){return 180*Math.atan2(this.current.b,this.current.a)/Math.PI||0}get targetAngle(){return 180*Math.atan2(this.target.b,this.target.a)/Math.PI||0}get scale(){const{a:t,b:e}=this.current;return Math.sqrt(t*t+e*e)||1}get targetScale(){const{a:t,b:e}=this.target;return Math.sqrt(t*t+e*e)||1}get minScale(){return this.option("minScale")||1}get fullScale(){const{contentRect:t}=this;return t.fullWidth/t.fitWidth||1}get maxScale(){return this.fullScale*(this.option("maxScale")||1)||1}get coverScale(){const{containerRect:t,contentRect:e}=this,i=Math.max(t.height/e.fitHeight,t.width/e.fitWidth)||1;return Math.min(this.fullScale,i)}get isScaling(){return Math.abs(this.targetScale-this.scale)>1e-5&&!this.isResting}get isContentLoading(){const t=this.content;return!!(t&&t instanceof HTMLImageElement)&&!t.complete}get isResting(){if(this.isBouncingX||this.isBouncingY)return!1;for(const t of P){const e="e"==t||"f"===t?.001:1e-5;if(Math.abs(this.target[t]-this.current[t])>e)return!1}return!(!this.ignoreBounds&&!this.checkBounds().inBounds)}constructor(t,e={},i={}){var s;if(super(e),Object.defineProperty(this,"pointerTracker",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"updateTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"clickTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"rAF",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"isTicking",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"friction",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoreBounds",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingX",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingY",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"clicks",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"trackingPoints",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"wheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevMouseMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:w.Init}),Object.defineProperty(this,"isDragging",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"spinner",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"containerRect",{enumerable:!0,configurable:!0,writable:!0,value:{width:0,height:0,innerWidth:0,innerHeight:0}}),Object.defineProperty(this,"contentRect",{enumerable:!0,configurable:!0,writable:!0,value:{top:0,right:0,bottom:0,left:0,fullWidth:0,fullHeight:0,fitWidth:0,fitHeight:0,width:0,height:0}}),Object.defineProperty(this,"dragStart",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,top:0,left:0,time:0}}),Object.defineProperty(this,"dragOffset",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,time:0}}),Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},M)}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},M)}),Object.defineProperty(this,"velocity",{enumerable:!0,configurable:!0,writable:!0,value:{a:0,b:0,c:0,d:0,e:0,f:0}}),Object.defineProperty(this,"lockedAxis",{enumerable:!0,configurable:!0,writable:!0,value:!1}),!t)throw new Error("No Element found");if(this.container=t,this.initContent(),this.attachPlugins(Object.assign(Object.assign({},R.Plugins),i)),this.emit("init"),this.isContentLoading){const e=this.content;if(this.option("spinner")){t.classList.add(this.cn("isLoading"));const i=o(d);t.contains(e)?this.spinner=(null===(s=e.parentElement)||void 0===s?void 0:s.insertBefore(i,e))||null:this.spinner=t.appendChild(i)}this.emit("beforeLoad"),e.addEventListener("load",this.onLoad),e.addEventListener("error",this.onError)}else queueMicrotask((()=>{this.enable()}))}initContent(){const{container:t}=this;let e=this.option("content")||t.querySelector(`.${this.cn("content")}`);if(e||(e=t.querySelector("img")||t.firstElementChild,e&&e.classList.add(this.cn("content"))),!e)throw new Error("No content found");this.content=e}onLoad(){this.spinner&&(this.spinner.remove(),this.spinner=null),this.option("spinner")&&this.container.classList.remove(this.cn("isLoading")),this.emit("afterLoad"),this.state===w.Init&&this.enable()}onError(){this.state!==w.Destroy&&(this.spinner&&(this.spinner.remove(),this.spinner=null),this.stop(),this.detachEvents(),this.state=w.Error,this.emit("error"))}attachObserver(){var t;const e=()=>Math.abs(this.containerRect.width-this.container.getBoundingClientRect().width)>.1||Math.abs(this.containerRect.height-this.container.getBoundingClientRect().height)>.1;this.resizeObserver||void 0===window.ResizeObserver||(this.resizeObserver=new ResizeObserver((()=>{this.updateTimer||(e()?(this.onResize(),this.isMobile&&(this.updateTimer=setTimeout((()=>{e()&&this.onResize(),this.updateTimer=null}),500))):this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null))}))),null===(t=this.resizeObserver)||void 0===t||t.observe(this.container)}detachObserver(){var t;null===(t=this.resizeObserver)||void 0===t||t.disconnect()}attachEvents(){const{container:t}=this;t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("wheel",this.onWheel,{passive:!1}),this.pointerTracker=new v(t,{start:this.onPointerDown,move:this.onPointerMove,end:this.onPointerUp}),document.addEventListener("mousemove",this.onMouseMove)}detachEvents(){var t;const{container:e}=this;e.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),e.removeEventListener("wheel",this.onWheel,{passive:!1}),null===(t=this.pointerTracker)||void 0===t||t.stop(),this.pointerTracker=null,document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("keydown",this.onKeydown,!0),this.clickTimer&&(clearTimeout(this.clickTimer),this.clickTimer=null),this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null)}animate(){this.setTargetForce();const t=this.option("maxVelocity");for(const e of P)this.friction?(this.velocity[e]*=1-this.friction,t&&!this.isScaling&&(this.velocity[e]=Math.max(Math.min(this.velocity[e],t),-1*t)),this.current[e]+=this.velocity[e]):this.current[e]=this.target[e];this.setTransform(),this.setEdgeForce(),!this.isResting||this.isDragging?this.rAF=requestAnimationFrame((()=>this.animate())):this.stop("current")}setTargetForce(){for(const t of P)"e"===t&&this.isBouncingX||"f"===t&&this.isBouncingY||(this.velocity[t]=(1/(1-this.friction)-1)*(this.target[t]-this.current[t]))}checkBounds(t=0,e=0){const{current:i}=this,s=i.e+t,n=i.f+e,o=this.getBounds(),{x:a,y:r}=o,h=a.min,l=a.max,c=r.min,d=r.max;let u=0,g=0;return h!==1/0&&sl&&(u=l-s),c!==1/0&&nd&&(g=d-n),Math.abs(u)<.001&&(u=0),Math.abs(g)<.001&&(g=0),Object.assign(Object.assign({},o),{xDiff:u,yDiff:g,inBounds:!u&&!g})}clampTargetBounds(){const{target:t}=this,{x:e,y:i}=this.getBounds();e.min!==1/0&&(t.e=Math.max(t.e,e.min)),e.max!==1/0&&(t.e=Math.min(t.e,e.max)),i.min!==1/0&&(t.f=Math.max(t.f,i.min)),i.max!==1/0&&(t.f=Math.min(t.f,i.max))}calculateContentDim(t=this.current){const{content:e,contentRect:i}=this,{fitWidth:s,fitHeight:n,fullWidth:o,fullHeight:a}=i;let r=o,h=a;if(this.option("zoom")||0!==this.angle){const i=!(e instanceof HTMLImageElement)&&("none"===window.getComputedStyle(e).maxWidth||"none"===window.getComputedStyle(e).maxHeight),l=i?o:s,c=i?a:n,d=this.getMatrix(t),u=new DOMPoint(0,0).matrixTransform(d),g=new DOMPoint(0+l,0).matrixTransform(d),p=new DOMPoint(0+l,0+c).matrixTransform(d),f=new DOMPoint(0,0+c).matrixTransform(d),m=Math.abs(p.x-u.x),b=Math.abs(p.y-u.y),v=Math.abs(f.x-g.x),y=Math.abs(f.y-g.y);r=Math.max(m,v),h=Math.max(b,y)}return{contentWidth:r,contentHeight:h}}setEdgeForce(){if(this.ignoreBounds||this.isDragging||"mousemove"===this.panMode||this.targetScale{const t=window.getSelection();return t&&"Range"===t.type})()&&!i.closest("button"))return;const s=i.closest("[data-panzoom-action]"),n=i.closest("[data-panzoom-change]"),o=s||n,a=o&&T(o)?o.dataset:null;if(a){const e=a.panzoomChange,i=a.panzoomAction;if((e||i)&&t.preventDefault(),e){let t={};try{t=JSON.parse(e)}catch(t){console&&console.warn("The given data was not valid JSON")}return void this.applyChange(t)}if(i)return void(this[i]&&this[i]())}if(Math.abs(this.dragOffset.x)>3||Math.abs(this.dragOffset.y)>3)return t.preventDefault(),void t.stopPropagation();const r=this.content.getBoundingClientRect();if(this.dragStart.time&&!this.canZoomOut()&&(Math.abs(r.x-this.dragStart.x)>2||Math.abs(r.y-this.dragStart.y)>2))return;this.dragStart.time=0;const h=e=>{!this.option("zoom")||Math.abs(this.velocity.a)>.3||e&&"string"==typeof e&&/(iterateZoom)|(toggle(Zoom|Full|Cover|Max)|(zoomTo(Fit|Cover|Max)))/.test(e)&&"function"==typeof this[e]&&(t.preventDefault(),this[e]({event:t}))},l=this.option("click",t),c=this.option("dblClick",t);c?(this.clicks++,1==this.clicks&&(this.clickTimer=setTimeout((()=>{1===this.clicks?(this.emit("click",t),!t.defaultPrevented&&l&&h(l)):(this.emit("dblClick",t),t.defaultPrevented||h(c)),this.clicks=0,this.clickTimer=null}),350))):(this.emit("click",t),!t.defaultPrevented&&l&&h(l))}addTrackingPoint(t){const e=this.trackingPoints.filter((t=>t.time>Date.now()-100));e.push(t),this.trackingPoints=e}onPointerDown(t,e,i){var s;this.dragOffset={x:0,y:0,time:0},this.trackingPoints=[];const n=this.content.getBoundingClientRect();if(this.dragStart={x:n.x,y:n.y,top:n.top,left:n.left,time:Date.now()},this.clickTimer)return!1;if("mousemove"===this.panMode&&this.targetScale>1)return t.preventDefault(),t.stopPropagation(),!1;if(!i.length){const e=t.composedPath()[0];if(["A","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].includes(e.nodeName)||e.closest("[contenteditable]")||e.closest("[data-selectable]")||e.closest("[data-panzoom-change]")||e.closest("[data-panzoom-action]"))return!1;null===(s=window.getSelection())||void 0===s||s.removeAllRanges()}return"mousedown"===t.type&&t.preventDefault(),a(this.targetScale,1e3)===a(this.minScale,1e3)?(this.stop(),this.target.e=this.current.e,this.target.f=this.current.f):this.stop("target"),this.isDragging=!0,this.addTrackingPoint(e),this.emit("touchStart",t),!0}onPointerMove(t,e,i){if(!1===this.option("touch",t))return;if(!this.isDragging)return;if(e.length<2&&this.panOnlyZoomed&&a(this.targetScale)<=a(this.minScale))return;if(this.emit("touchMove",t),t.defaultPrevented)return;this.addTrackingPoint(e[0]);const{content:s}=this,n=x(i[0],i[1]),o=x(e[0],e[1]);let r=0,h=0;if(e.length>1){const t=s.getBoundingClientRect();r=n.clientX-t.left-.5*t.width,h=n.clientY-t.top-.5*t.height}const l=y(i[0],i[1]),c=y(e[0],e[1]);let d=l?c/l:1,u=o.clientX-n.clientX,g=o.clientY-n.clientY;this.dragOffset.x+=u,this.dragOffset.y+=g,this.dragOffset.time=Date.now()-this.dragStart.time;let p=a(this.targetScale)===a(this.minScale)&&this.option("lockAxis");if(p&&!this.lockedAxis)if("xy"===p||"y"===p||"touchmove"===t.type){if(Math.abs(this.dragOffset.x)<6&&Math.abs(this.dragOffset.y)<6)return void t.preventDefault();const e=Math.abs(180*Math.atan2(this.dragOffset.y,this.dragOffset.x)/Math.PI);this.lockedAxis=e>45&&e<135?"y":"x",this.dragOffset.x=0,this.dragOffset.y=0,u=0,g=0}else this.lockedAxis=p;if(f(t.target,this.content)&&(p="x",this.dragOffset.y=0),p&&"xy"!==p&&this.lockedAxis!==p&&a(this.targetScale)===a(this.minScale))return;t.cancelable&&t.preventDefault(),this.container.classList.add(this.cn("isDragging"));const m=this.checkBounds(u,g);this.option("rubberband")?("x"!==this.isInfinite&&(m.xDiff>0&&u<0||m.xDiff<0&&u>0)&&(u*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitWidth*m.xDiff))),"y"!==this.isInfinite&&(m.yDiff>0&&g<0||m.yDiff<0&&g>0)&&(g*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitHeight*m.yDiff)))):(m.xDiff&&(u=0),m.yDiff&&(g=0));const b=this.targetScale,v=this.minScale,w=this.maxScale;b<.5*v&&(d=Math.max(d,v)),b>1.5*w&&(d=Math.min(d,w)),"y"===this.lockedAxis&&a(b)===a(v)&&(u=0),"x"===this.lockedAxis&&a(b)===a(v)&&(g=0),this.applyChange({originX:r,originY:h,panX:u,panY:g,scale:d,friction:this.option("dragFriction"),ignoreBounds:!0})}onPointerUp(t,e,i){if(i.length)return this.dragOffset.x=0,this.dragOffset.y=0,void(this.trackingPoints=[]);this.container.classList.remove(this.cn("isDragging")),this.isDragging&&(this.addTrackingPoint(e),this.panOnlyZoomed&&this.contentRect.width-this.contentRect.fitWidth<1&&this.contentRect.height-this.contentRect.fitHeight<1&&(this.trackingPoints=[]),f(t.target,this.content)&&"y"===this.lockedAxis&&(this.trackingPoints=[]),this.emit("touchEnd",t),this.isDragging=!1,this.lockedAxis=!1,this.state!==w.Destroy&&(t.defaultPrevented||this.startDecelAnim()))}startDecelAnim(){this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of P)this.velocity[t]=0,this.target[t]=this.current[t];l(this.container,"is-scaling"),l(this.container,"is-animating"),this.isTicking=!1;const{trackingPoints:t}=this,e=t[0],i=t[t.length-1];let s=0,n=0,o=0;i&&e&&(s=i.clientX-e.clientX,n=i.clientY-e.clientY,o=i.time-e.time);let r=0,h=0,c=0,d=0,u=this.option("decelFriction");const g=this.targetScale;if((gthis.maxScale+1e-5)&&(u=.35),o>0){c=Math.abs(s)>3?s/(o/30):0,d=Math.abs(n)>3?n/(o/30):0;const t=this.option("maxVelocity");t&&(c=Math.max(Math.min(c,t),-1*t),d=Math.max(Math.min(d,t),-1*t))}c&&(r=c/(1/(1-u)-1)),d&&(h=d/(1/(1-u)-1)),("y"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"y"===this.lockedAxis&&a(g)===this.minScale)&&(r=c=0),("x"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"x"===this.lockedAxis&&a(g)===this.minScale)&&(h=d=0);const p=this.dragOffset.x,f=this.dragOffset.y,m=this.option("dragMinThreshold")||0;Math.abs(p){let e=0;return e=t instanceof HTMLImageElement?t.naturalWidth:t instanceof SVGElement?t.width.baseVal.value:t.offsetWidth,Math.max(e,t.scrollWidth)})(s)),"auto"===p&&(p=parseFloat(s.dataset.height||"")||(t=>{let e=0;return e=t instanceof HTMLImageElement?t.naturalHeight:t instanceof SVGElement?t.height.baseVal.value:t.offsetHeight,Math.max(e,t.scrollHeight)})(s));const f=(this.option("transformParent")?s.parentElement:null)||s,m=f.getAttribute("style")||"";f.style.setProperty("transform","none","important"),s instanceof HTMLImageElement&&(f.style.width="",f.style.height=""),f.offsetHeight;const b=s.getBoundingClientRect();let v=b.width,y=b.height,x=0,P=0;if(s instanceof HTMLImageElement&&({width:v,height:y,top:x,left:P}=((t,e,i,s)=>{const n=i/s;return n>t/e?(i=t,s=t/n):(i=e*n,s=e),{width:i,height:s,top:.5*(e-s),left:.5*(t-i)}})(b.width,b.height,g,p)),this.contentRect=Object.assign(Object.assign({},this.contentRect),{top:b.top-r.top+x,bottom:r.bottom-b.bottom+x,left:b.left-r.left+P,right:r.right-b.right+P,fitWidth:v,fitHeight:y,width:v,height:y,fullWidth:g,fullHeight:p}),f.style.cssText=m,s instanceof HTMLImageElement&&(f.style.width=`${v}px`,f.style.height=`${y}px`),this.setTransform(),!0!==t){let t="";Math.abs(l-n)>1&&(t+="x"),Math.abs(c-o)>1&&(t+="y"),t&&this.emit("refresh",t)}this.ignoreBounds||(a(this.targetScale)this.maxScale?this.zoomTo(this.maxScale,{friction:0}):this.state===w.Init||this.checkBounds().inBounds||this.requestTick()),this.updateControls()}getBounds(){const t=this.option("bounds");if("auto"!==t)return t;const{contentWidth:e,contentHeight:i}=this.calculateContentDim(this.target);let s=0,n=0,o=0,r=0;const h=this.option("infinite");if(!0===h||this.lockedAxis&&h===this.lockedAxis)s=-1/0,o=1/0,n=-1/0,r=1/0;else{let{containerRect:t,contentRect:h}=this,l=a(this.contentRect.fitWidth*this.targetScale,E),c=a(this.contentRect.fitHeight*this.targetScale,E),{innerWidth:d,innerHeight:u}=t;if(this.containerRect.width===l&&(d=t.width),this.containerRect.width===c&&(u=t.height),e>d){o=.5*(e-d),s=-1*o;let t=.5*(h.right-h.left);s+=t,o+=t}if(this.contentRect.fitWidth>d&&eu){r=.5*(i-u),n=-1*r;let t=.5*(h.bottom-h.top);n+=t,r+=t}this.contentRect.fitHeight>u&&i-1||this.contentRect.height-this.contentRect.fitHeight>-1)&&(r=!0),this.contentRect.width*this.targetScalea(this.targetScale),l=!h&&!r&&n&&a(i).9*t.fullScale?"none":"")}}panTo({x:t=this.target.e,y:e=this.target.f,scale:i=this.targetScale,friction:s=this.option("friction"),angle:n=0,originX:o=0,originY:a=0,flipX:r=!1,flipY:h=!1,ignoreBounds:l=!1}){this.state!==w.Destroy&&this.applyChange({panX:t-this.target.e,panY:e-this.target.f,scale:i/this.targetScale,angle:n,originX:o,originY:a,friction:s,flipX:r,flipY:h,ignoreBounds:l})}applyChange({panX:t=0,panY:e=0,scale:i=1,angle:s=0,originX:n=-this.current.e,originY:o=-this.current.f,friction:r=this.option("friction"),flipX:h=!1,flipY:l=!1,ignoreBounds:c=!1,bounce:d=this.option("bounce")}){const u=this.state;if(u===w.Init||u===w.Destroy)return;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of P)this.velocity[t]=0;this.friction=r||0,this.ignoreBounds=c;const{current:g}=this,p=g.e,f=g.f,m=this.getMatrix(this.target);let b=(new DOMMatrix).translate(p,f).translate(n,o).translate(t,e);if(this.option("zoom")){if(!c){const t=this.targetScale,e=this.minScale,s=this.maxScale;t*is&&(i=s/t)}b=b.scale(i)}b=b.translate(-n,-o).translate(-p,-f).multiply(m),s&&(b=b.rotate(s)),h&&(b=b.scale(-1,1)),l&&(b=b.scale(1,-1));for(const t of P)"a"!=t&&"d"!=t||!(b[t]>this.minScale+1e-5||b[t].1||"mousemove"===this.panMode||!1===d)&&!c&&this.clampTargetBounds(),this.isResting||(this.state=w.Panning,this.requestTick())}stop(t=!1){if(this.state===w.Init||this.state===w.Destroy)return;const e=this.isTicking;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const e of P)this.velocity[e]=0,"current"===t?this.current[e]=this.target[e]:"target"===t&&(this.target[e]=this.current[e]);this.setTransform(),l(this.container,"is-scaling"),l(this.container,"is-animating"),this.isTicking=!1,this.state=w.Ready,e&&(this.emit("endAnimation"),this.updateControls())}requestTick(){this.isTicking||(this.emit("startAnimation"),this.updateControls(),h(this.container,"is-animating"),this.isScaling&&h(this.container,"is-scaling")),this.isTicking=!0,this.rAF||(this.rAF=requestAnimationFrame((()=>this.animate())))}panWithMouse(t,e=this.option("mouseMoveFriction")){if(this.prevMouseMoveEvent=t,"mousemove"!==this.panMode||!t)return;if(a(this.targetScale)<=a(this.minScale))return;this.emit("mouseMove",t);const{container:i,containerRect:s,contentRect:n}=this,o=s.width,r=s.height,h=i.getBoundingClientRect(),l=(t.clientX||0)-h.left,c=(t.clientY||0)-h.top;let{contentWidth:d,contentHeight:u}=this.calculateContentDim(this.target);const g=this.option("mouseMoveFactor");g>1&&(d!==o&&(d*=g),u!==r&&(u*=g));let p=.5*(d-o)-l/o*100/100*(d-o);p+=.5*(n.right-n.left);let f=.5*(u-r)-c/r*100/100*(u-r);f+=.5*(n.bottom-n.top),this.applyChange({panX:p-this.target.e,panY:f-this.target.f,friction:e})}zoomWithWheel(t){if(this.state===w.Destroy||this.state===w.Init)return;const e=Math.abs(t.deltaY)<100&&Math.abs(t.deltaX)<100?25:50,i=Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||-t.detail)),s=this.targetScale,n=this.maxScale,o=this.minScale;let a=s*(100+i*e)/100;an&&s>=n?(this.wheelDelta+=Math.abs(i),a=n):(this.wheelDelta=0,a=Math.max(Math.min(a,n),o)),this.wheelDelta>this.option("wheelLimit")||(t.preventDefault(),a!==s&&this.zoomTo(a,{event:t}))}canZoomIn(){return this.option("zoom")&&(this.contentRect.widththis.minScale+1e-5}zoomIn(t=1.25,e){this.zoomTo(this.targetScale*t,e)}zoomOut(t=.8,e){this.zoomTo(this.targetScale*t,e)}zoomToFit(t){this.zoomTo("fit",t)}zoomToCover(t){this.zoomTo("cover",t)}zoomToFull(t){this.zoomTo("full",t)}zoomToMax(t){this.zoomTo("max",t)}toggleZoom(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.fullScale-this.minScale)?"full":"fit",t)}toggleMax(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.maxScale-this.minScale)?"max":"fit",t)}toggleCover(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.coverScale-this.minScale)?"cover":"fit",t)}iterateZoom(t){this.zoomTo("next",t)}zoomTo(t=1,{friction:e="auto",originX:i=0,originY:s=0,event:n}={}){if(this.isContentLoading||this.state===w.Destroy)return;this.stop();const{targetScale:o}=this;let a=1;if("mousemove"===this.panMode&&(n=this.prevMouseMoveEvent||n),n){const t=this.content.getBoundingClientRect(),e=n.clientX||0,o=n.clientY||0;i=e-t.left-.5*t.width,s=o-t.top-.5*t.height}const r=this.fullScale,h=this.maxScale;let l=this.coverScale;"number"==typeof t?a=t/o:("next"===t&&(r-l<.2&&(l=r),t=o1?.15:.25:e,this.applyChange({scale:a,originX:i,originY:s,friction:e}),n&&"mousemove"===this.panMode&&this.panWithMouse(n,e)}rotateCCW(){this.applyChange({angle:-90})}rotateCW(){this.applyChange({angle:90})}flipX(){this.applyChange({flipX:!0})}flipY(){this.applyChange({flipY:!0})}fitX(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.width/e.fitWidth/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}fitY(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.height/e.fitHeight/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}toggleFS(){const{container:t}=this,e=this.cn("inFullscreen"),i=this.cn("htmlHasFullscreen");t.classList.toggle(e);const s=t.classList.contains(e);s?(document.documentElement.classList.add(i),document.addEventListener("keydown",this.onKeydown,!0)):(document.documentElement.classList.remove(i),document.removeEventListener("keydown",this.onKeydown,!0)),this.updateMetrics(),this.emit(s?"enterFS":"exitFS")}getMatrix(t=this.current){const{a:e,b:i,c:s,d:n,e:o,f:a}=t;return new DOMMatrix([e,i,s,n,o,a])}reset(t){if(this.state!==w.Init&&this.state!==w.Destroy){this.stop("current");for(const t of P)this.target[t]=M[t];this.target.a=this.minScale,this.target.d=this.minScale,this.isResting||(this.friction=void 0===t?this.option("friction"):t,this.state=w.Panning,this.requestTick())}}destroy(){this.stop(),this.state=w.Destroy,this.detachEvents(),this.detachObserver();const{container:t,content:e}=this,i=this.option("classes")||{};for(const e of Object.values(i))t.classList.remove(e+"");e&&(e.removeEventListener("load",this.onLoad),e.removeEventListener("error",this.onError)),this.detachPlugins()}}Object.defineProperty(R,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:S}),Object.defineProperty(R,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}});const D={viewport:null,track:null,enabled:!0,slides:[],axis:"x",transition:"fade",preload:1,slidesPerPage:"auto",initialPage:0,friction:.12,Panzoom:{decelFriction:.12},center:!0,infinite:!0,fill:!0,dragFree:!1,adaptiveHeight:!1,direction:"ltr",classes:{container:"f-carousel",viewport:"f-carousel__viewport",track:"f-carousel__track",slide:"f-carousel__slide",isLTR:"is-ltr",isRTL:"is-rtl",isHorizontal:"is-horizontal",isVertical:"is-vertical",inTransition:"in-transition",isSelected:"is-selected"},l10n:{NEXT:"Next slide",PREV:"Previous slide",GOTO:"Go to slide #%d"}};var L;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Destroy=2]="Destroy"}(L||(L={}));const A=t=>{if("string"==typeof t&&(t={html:t}),!(t instanceof String||t instanceof HTMLElement)){const e=t.thumb;void 0!==e&&("string"==typeof e&&(t.thumbSrc=e),e instanceof HTMLImageElement&&(t.thumbEl=e,t.thumbElSrc=e.src,t.thumbSrc=e.src),delete t.thumb)}return Object.assign({html:"",el:null,isDom:!1,class:"",index:-1,dim:0,gap:0,pos:0,transition:!1},t)},C=(t={})=>Object.assign({index:-1,slides:[],dim:0,pos:-1},t);class j extends g{constructor(t,e){super(e),Object.defineProperty(this,"instance",{enumerable:!0,configurable:!0,writable:!0,value:t})}attach(){}detach(){}}const I={classes:{list:"f-carousel__dots",isDynamic:"is-dynamic",hasDots:"has-dots",dot:"f-carousel__dot",isBeforePrev:"is-before-prev",isPrev:"is-prev",isCurrent:"is-current",isNext:"is-next",isAfterNext:"is-after-next"},dotTpl:'',dynamicFrom:11,maxCount:1/0,minCount:2};class F extends j{constructor(){super(...arguments),Object.defineProperty(this,"isDynamic",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"list",{enumerable:!0,configurable:!0,writable:!0,value:null})}onRefresh(){this.refresh()}build(){let t=this.list;return t||(t=document.createElement("ul"),h(t,this.cn("list")),t.setAttribute("role","tablist"),this.instance.container.appendChild(t),h(this.instance.container,this.cn("hasDots")),this.list=t),t}refresh(){var t;const e=this.instance.pages.length,i=Math.min(2,this.option("minCount")),s=Math.max(2e3,this.option("maxCount")),n=this.option("dynamicFrom");if(es)return void this.cleanup();const o="number"==typeof n&&e>5&&e>=n,a=!this.list||this.isDynamic!==o||this.list.children.length!==e;a&&this.cleanup();const r=this.build();if(c(r,this.cn("isDynamic"),!!o),a)for(let t=0;t=e-1&&n.setAttribute("disabled","")))}createButton(t){const e=this.instance,i=document.createElement("button");i.setAttribute("tabindex","0"),i.setAttribute("title",e.localize(`{{${t.toUpperCase()}}}`)),h(i,this.cn("button")+" "+this.cn("next"===t?"isNext":"isPrev"));const s=e.isRTL?"next"===t?"prev":"next":t;var n;return i.innerHTML=e.localize(this.option(`${s}Tpl`)),i.dataset[`carousel${n=t,n?n.match("^[a-z]")?n.charAt(0).toUpperCase()+n.substring(1):n:""}`]="true",i}build(){let t=this.container;t||(this.container=t=document.createElement("div"),h(t,this.cn("container")),this.instance.container.appendChild(t)),this.next||(this.next=t.appendChild(this.createButton("next"))),this.prev||(this.prev=t.appendChild(this.createButton("prev")))}cleanup(){this.prev&&this.prev.remove(),this.next&&this.next.remove(),this.container&&this.container.remove(),this.prev=null,this.next=null,this.container=null}attach(){this.instance.on(["refresh","change"],this.onRefresh)}detach(){this.instance.off(["refresh","change"],this.onRefresh),this.cleanup()}}Object.defineProperty(H,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{classes:{container:"f-carousel__nav",button:"f-button",isNext:"is-next",isPrev:"is-prev"},nextTpl:'',prevTpl:''}});class B extends j{constructor(){super(...arguments),Object.defineProperty(this,"selectedIndex",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"nav",{enumerable:!0,configurable:!0,writable:!0,value:null})}addAsTargetFor(t){this.target=this.instance,this.nav=t,this.attachEvents()}addAsNavFor(t){this.nav=this.instance,this.target=t,this.attachEvents()}attachEvents(){this.nav&&this.target&&(this.nav.options.initialSlide=this.target.options.initialPage,this.nav.on("ready",this.onNavReady),this.nav.state===L.Ready&&this.onNavReady(this.nav),this.target.on("ready",this.onTargetReady),this.target.state===L.Ready&&this.onTargetReady(this.target))}onNavReady(t){t.on("createSlide",this.onNavCreateSlide),t.on("Panzoom.click",this.onNavClick),t.on("Panzoom.touchEnd",this.onNavTouch),this.onTargetChange()}onTargetReady(t){t.on("change",this.onTargetChange),t.on("Panzoom.refresh",this.onTargetChange),this.onTargetChange()}onNavClick(t,e,i){i.pointerType||this.onNavTouch(t,t.panzoom,i)}onNavTouch(t,e,i){var s,n;if(Math.abs(e.dragOffset.x)>3||Math.abs(e.dragOffset.y)>3)return;const o=i.target,{nav:a,target:r}=this;if(!a||!r||!o)return;const h=o.closest("[data-index]");if(i.stopPropagation(),i.preventDefault(),!h)return;const l=parseInt(h.dataset.index||"",10)||0,c=r.getPageForSlide(l),d=a.getPageForSlide(l);a.slideTo(d),r.slideTo(c,{friction:null===(n=null===(s=this.nav)||void 0===s?void 0:s.plugins)||void 0===n?void 0:n.Sync.option("friction")}),this.markSelectedSlide(l)}onNavCreateSlide(t,e){e.index===this.selectedIndex&&this.markSelectedSlide(e.index)}onTargetChange(){const{target:t,nav:e}=this;if(!t||!e)return;if(e.state!==L.Ready||t.state!==L.Ready)return;const i=t.pages[t.page].slides[0].index,s=e.getPageForSlide(i);this.markSelectedSlide(i),e.slideTo(s)}markSelectedSlide(t){const{nav:e}=this;e&&e.state===L.Ready&&(this.selectedIndex=t,[...e.slides].map((e=>{e.el&&e.el.classList[e.index===t?"add":"remove"]("is-nav-selected")})))}attach(){let t=this.options.target,e=this.options.nav;t?this.addAsNavFor(t):e&&this.addAsTargetFor(e)}detach(){this.nav&&(this.nav.off("ready",this.onNavReady),this.nav.off("createSlide",this.onNavCreateSlide),this.nav.off("Panzoom.click",this.onNavClick),this.nav.off("Panzoom.touchEnd",this.onNavTouch)),this.nav=null,this.target&&(this.target.off("ready",this.onTargetReady),this.target.off("refresh",this.onTargetChange),this.target.off("change",this.onTargetChange)),this.target=null}}Object.defineProperty(B,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{friction:.35}});const W={Navigation:H,Dots:F,Sync:B};class N extends p{get axis(){return this.isHorizontal?"e":"f"}get isEnabled(){return this.state===L.Ready}get isInfinite(){let t=!1;const e=this.contentDim,i=this.viewportDim;return this.pages.length>=2&&e>1.5*i&&(t=this.option("infinite")),t}get isRTL(){return"rtl"===this.option("direction")}get isHorizontal(){return"x"===this.option("axis")}constructor(t,e={},i={}){if(super(),Object.defineProperty(this,"userOptions",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"userPlugins",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"bp",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:L.Init}),Object.defineProperty(this,"page",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevPage",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"viewport",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"slides",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"inTransition",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"contentDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"viewportDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),"string"==typeof t&&(t=document.querySelector(t)),!t||!T(t))throw new Error("No Element found");this.container=t,this.slideNext=s(this.slideNext.bind(this),150),this.slidePrev=s(this.slidePrev.bind(this),150),this.userOptions=e,this.userPlugins=i,queueMicrotask((()=>{this.processOptions()}))}processOptions(){const t=i({},N.defaults,this.userOptions);let s="";const n=t.breakpoints;if(n&&e(n))for(const[o,a]of Object.entries(n))window.matchMedia(o).matches&&e(a)&&(s+=o,i(t,a));s===this.bp&&this.state!==L.Init||(this.bp=s,this.state===L.Ready&&(t.initialSlide=this.pages[this.page].slides[0].index),this.state!==L.Init&&this.destroy(),super.setOptions(t),!1===this.option("enabled")?this.attachEvents():setTimeout((()=>{this.init()}),0))}init(){this.state=L.Init,this.emit("init"),this.attachPlugins(Object.assign(Object.assign({},N.Plugins),this.userPlugins)),this.initLayout(),this.initSlides(),this.updateMetrics(),this.setInitialPosition(),this.initPanzoom(),this.attachEvents(),this.state=L.Ready,this.emit("ready")}initLayout(){const{container:t}=this,e=this.option("classes");h(t,this.cn("container")),c(t,e.isLTR,!this.isRTL),c(t,e.isRTL,this.isRTL),c(t,e.isVertical,!this.isHorizontal),c(t,e.isHorizontal,this.isHorizontal);let i=this.option("viewport")||t.querySelector(`.${e.viewport}`);i||(i=document.createElement("div"),h(i,e.viewport),i.append(...n(t,`.${e.slide}`)),t.prepend(i));let s=this.option("track")||t.querySelector(`.${e.track}`);s||(s=document.createElement("div"),h(s,e.track),s.append(...Array.from(i.childNodes))),s.setAttribute("aria-live","polite"),i.contains(s)||i.prepend(s),this.viewport=i,this.track=s,this.emit("initLayout")}initSlides(){const{track:t}=this;if(t){this.slides=[],[...n(t,`.${this.cn("slide")}`)].forEach((t=>{if(T(t)){const e=A({el:t,isDom:!0,index:this.slides.length});this.slides.push(e),this.emit("initSlide",e,this.slides.length)}}));for(let t of this.option("slides",[])){const e=A(t);e.index=this.slides.length,this.slides.push(e),this.emit("initSlide",e,this.slides.length)}this.emit("initSlides")}}setInitialPage(){let t=0;const e=this.option("initialSlide");t="number"==typeof e?this.getPageForSlide(e):parseInt(this.option("initialPage",0)+"",10)||0,this.page=t}setInitialPosition(){if(!this.track||!this.pages.length)return;const t=this.isHorizontal;let e=this.page;this.pages[e]||(this.page=e=0);const i=this.pages[e].pos*(this.isRTL&&t?1:-1),s=t?`${i}px`:"0",n=t?"0":`${i}px`;this.track.style.transform=`translate3d(${s}, ${n}, 0) scale(1)`,this.option("adaptiveHeight")&&this.setViewportHeight()}initPanzoom(){this.panzoom&&(this.panzoom.destroy(),this.panzoom=null);const t=this.option("Panzoom")||{};this.panzoom=new R(this.viewport,i({},{content:this.track,zoom:!1,panOnlyZoomed:!1,lockAxis:this.isHorizontal?"x":"y",infinite:this.isInfinite,click:!1,dblClick:!1,touch:t=>!(this.pages.length<2&&!t.options.infinite),bounds:()=>this.getBounds(),maxVelocity:t=>Math.abs(t.target[this.axis]-t.current[this.axis])<2*this.viewportDim?100:0},t)),this.panzoom.on("*",((t,e,...i)=>{this.emit(`Panzoom.${e}`,t,...i)})),this.panzoom.on("decel",this.onDecel),this.panzoom.on("refresh",this.onRefresh),this.panzoom.on("beforeTransform",this.onBeforeTransform),this.panzoom.on("endAnimation",this.onEndAnimation)}attachEvents(){const t=this.container;t&&(t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("slideTo",this.onSlideTo)),window.addEventListener("resize",this.onResize)}createPages(){let t=[];const{contentDim:e,viewportDim:i}=this,s=this.option("slidesPerPage");if("number"==typeof s&&e>i){for(let e=0;ei)&&(t.push(C()),n=t.length-1,o=0),o+=e.dim+e.gap,t[n].slides.push(e);return t}processPages(){const t=this.pages,{contentDim:e,viewportDim:i}=this,s=this.option("center"),n=this.option("fill"),o=n&&s&&e>i&&!this.isInfinite;if(t.forEach(((t,n)=>{t.index=n,t.pos=t.slides[0].pos,t.dim=0;for(const[e,i]of t.slides.entries())t.dim+=i.dim,e=e-.5*i?t.pos=e-i:s&&(t.pos+=-.5*(i-t.dim))})),t.forEach(((t,s)=>{n&&!this.isInfinite&&e>i&&(t.pos=Math.max(t.pos,0),t.pos=Math.min(t.pos,e-i)),t.pos=a(t.pos,1e3),t.dim=a(t.dim,1e3),t.pos<.1&&t.pos>-.1&&(t.pos=0)})),this.isInfinite)return t;const r=[];let h;return t.forEach((t=>{const e=Object.assign({},t);h&&e.pos===h.pos?(h.dim+=e.dim,h.slides=[...h.slides,...e.slides]):(e.index=r.length,h=e,r.push(e))})),r}getPageFromIndex(t=0){const e=this.pages.length;let i;return t=parseInt((t||0).toString())||0,i=this.isInfinite?(t%e+e)%e:Math.max(Math.min(t,this.pages.length-1),0),i}getSlideMetrics(t){const e=this.isHorizontal?"width":"height";let i=0,s=0,n=t.el;n?i=parseFloat(n.dataset[e]||"")||0:(n=document.createElement("div"),n.style.visibility="hidden",h(n,this.cn("slide")+" "+t.class),(this.track||document.body).prepend(n)),i?(n.style[e]=`${i}px`,n.style["width"===e?"height":"width"]=""):i=n.getBoundingClientRect()[e];const o=getComputedStyle(n);return"content-box"===o.boxSizing&&(this.isHorizontal?(i+=parseFloat(o.paddingLeft)||0,i+=parseFloat(o.paddingRight)||0):(i+=parseFloat(o.paddingTop)||0,i+=parseFloat(o.paddingBottom)||0)),s=parseFloat(o[this.isHorizontal?"marginRight":"marginBottom"])||0,this.isHorizontal,t.el||n.remove(),{dim:a(i,1e3),gap:a(s,1e3)}}getBounds(){let t={min:0,max:0};if(this.isInfinite)t={min:-1/0,max:1/0};else if(this.pages.length){const e=this.pages[0].pos,i=this.pages[this.pages.length-1].pos;t=this.isRTL&&this.isHorizontal?{min:e,max:i}:{min:-1*i,max:-1*e}}return{x:this.isHorizontal?t:{min:0,max:0},y:this.isHorizontal?{min:0,max:0}:t}}repositionSlides(){const{viewportDim:t,contentDim:e,page:i,pages:s}=this;let n,o=0,r=0,h=0,l=0;this.panzoom?l=-1*this.panzoom.current[this.isHorizontal?"e":"f"]:s[i]&&(l=s[i].pos||0),n=this.isHorizontal?this.isRTL?"right":"left":"top",this.isRTL&&this.isHorizontal&&(l*=-1);for(const t of this.slides)t.el?("top"===n?(t.el.style.right="",t.el.style.left=""):t.el.style.top="",t.index!==o?t.el.style[n]=0===r?"":`${a(r,1e3)}px`:t.el.style[n]="",h+=t.dim+t.gap,o++):r+=t.dim+t.gap;if(this.isInfinite&&h)for(const i of this.slides)i.el&&(a(i.pos)a(e-t)&&(i.el.style[n]=`${a(r+h,1e3)}px`),a(i.pos+i.gap)>=a(e-t)&&a(i.pos)>a(l+t)&&a(l)1&&(c=this.pages[u[0]],d=this.pages[u[1]]),c&&d){let t=0;for(const e of this.slides)e.el?this.inTransition.has(e.index)&&c.slides.indexOf(e)<0&&(e.el.style[n]=`${a(t+(c.pos-d.pos),1e3)}px`):t+=e.dim+e.gap}}createSlideEl(t){if(!this.track||!t)return;if(t.el)return;const e=document.createElement("div");h(e,this.cn("slide")),h(e,t.class),h(e,t.customClass),t.html&&(e.innerHTML=t.html);const i=[];this.slides.forEach(((t,e)=>{t.el&&i.push(e)}));const s=t.index;let n=null;if(i.length){let t=i.reduce(((t,e)=>Math.abs(e-s)this.page?1:-1,r=this.pages[n].pos*(this.isRTL?1:-1);if(this.page===n&&a(r,1e3)===a(s.target[this.axis],1e3))return!1;this.clearTransitions();const l=s.isResting;h(this.container,this.cn("inTransition"));const c=this.pages[this.page].slides[0],d=this.pages[n].slides[0];this.inTransition.add(d.index),this.createSlideEl(d);let u=c.el,g=d.el;l||"slide"===e||(e="fadeFast",u=null);const p=this.isRTL?"next":"prev",f=this.isRTL?"prev":"next";return u&&(this.inTransition.add(c.index),c.transition=e,u.addEventListener("animationend",this.onAnimationEnd),u.classList.add(`f-${e}Out`,`to-${o>0?f:p}`)),g&&(d.transition=e,g.addEventListener("animationend",this.onAnimationEnd),g.classList.add(`f-${e}In`,`from-${o>0?p:f}`)),s.panTo({x:this.isHorizontal?r:0,y:this.isHorizontal?0:r,friction:0}),this.onChange(n),!0}manageSlideVisiblity(){const t=new Set,e=new Set,i=this.getVisibleSlides(parseFloat(this.option("preload",0)+"")||0);for(const s of this.slides)i.has(s)?t.add(s):e.add(s);for(const e of this.inTransition)t.add(this.slides[e]);for(const e of t)this.createSlideEl(e),this.lazyLoadSlide(e);for(const i of e)t.has(i)||this.removeSlideEl(i);this.markSelectedSlides(),this.repositionSlides()}markSelectedSlides(){if(!this.pages[this.page]||!this.pages[this.page].slides)return;const t="aria-hidden";let e=this.cn("isSelected");if(e)for(const i of this.slides)i.el&&(i.el.dataset.index=`${i.index}`,this.pages[this.page].slides.includes(i)?(i.el.classList.contains(e)||(h(i.el,e),this.emit("selectSlide",i)),i.el.removeAttribute(t)):(i.el.classList.contains(e)&&(l(i.el,e),this.emit("unselectSlide",i)),i.el.setAttribute(t,"true")))}flipInfiniteTrack(){const t=this.panzoom;if(!t||!this.isInfinite)return;const e="x"===this.option("axis")?"e":"f",{viewportDim:i,contentDim:s}=this;let n=t.current[e],o=t.target[e]-n,a=0,r=.5*i,h=s;this.isRTL&&this.isHorizontal?(n<-r&&(a=-1,n+=h),n>h-r&&(a=1,n-=h)):(n>r&&(a=1,n-=h),n<-h+r&&(a=-1,n+=h)),a&&(t.current[e]=n,t.target[e]=n+o)}lazyLoadSlide(t){const e=this,i=t&&t.el;if(!i)return;const s=new Set,n="f-fadeIn";i.querySelectorAll("[data-lazy-srcset]").forEach((t=>{t instanceof HTMLImageElement&&s.add(t)})),i.querySelectorAll("[data-lazy-src]").forEach((t=>{t instanceof HTMLImageElement?s.add(t):T(t)&&(t.style.backgroundImage=`url('${t.dataset.lazySrc||""}')`)}));const a=(t,i,s)=>{s&&(s.remove(),s=null),i.complete&&(i.classList.add(n),setTimeout((()=>{i.classList.remove(n)}),350),i.style.display=""),this.option("adaptiveHeight")&&t.el&&this.pages[this.page].slides.indexOf(t)>-1&&e.setViewportHeight()};for(const e of s){let i=null;e.src=e.dataset.lazySrcset||e.dataset.lazySrc||"",delete e.dataset.lazySrc,delete e.dataset.lazySrcset,e.style.display="none",e.addEventListener("error",(()=>{a(t,e,i)})),e.addEventListener("load",(()=>{a(t,e,i)})),setTimeout((()=>{e.parentNode&&t.el&&(e.complete?a(t,e,i):(i=o(d),e.parentNode.insertBefore(i,e)))}),300)}let r=i.dataset.lazySrc;r&&r.length&&(i.style.backgroundImage=`url('${r}')`)}onAnimationEnd(t){var e;const i=t.target,s=i?parseInt(i.dataset.index||"",10)||0:-1,n=this.slides[s],o=t.animationName;if(!i||!n||!o)return;const a=!!this.inTransition.has(s)&&n.transition;a&&o.substring(0,a.length+2)===`f-${a}`&&this.inTransition.delete(s),this.inTransition.size||this.clearTransitions(),s===this.page&&(null===(e=this.panzoom)||void 0===e?void 0:e.isResting)&&this.emit("settle")}onDecel(t,e=0,i=0,s=0,n=0){const o=this.isRTL,a=this.isHorizontal,r=this.axis,h=this.pages.length,l=Math.abs(Math.atan2(i,e)/(Math.PI/180));let c=0;if(c=l>45&&l<135?a?0:i:a?e:0,!h)return;const d=this.option("dragFree");let u=this.page;const g=t.target[r]*(this.isRTL&&a?1:-1),{pageIndex:p}=this.getPageFromPosition(g),f=t.current[r]*(o&&a?1:-1);let{page:m}=this.getPageFromPosition(f);d?this.onChange(p):(Math.abs(c)>5?((this.pages.length<3||Math.max(Math.abs(s),Math.abs(n))>this.pages[u].slides[0].dim)&&(u=m),u=o&&a?c<0?u-1:u+1:c<0?u+1:u-1):u=m,this.slideTo(u,{transition:!1,friction:t.option("decelFriction")}))}onClick(t){const e=t.target,i=e&&T(e)?e.dataset:null;let s,n;i&&(void 0!==i.carouselPage?(n="slideTo",s=i.carouselPage):void 0!==i.carouselNext?n="slideNext":void 0!==i.carouselPrev&&(n="slidePrev")),n?(t.preventDefault(),t.stopPropagation(),e&&!e.hasAttribute("disabled")&&this[n](s)):this.emit("click",t)}onSlideTo(t){const e=t.detail||0;this.slideTo(this.getPageForSlide(e),{friction:0})}onChange(t,e=0){const i=this.page;this.prevPage=i,this.page=t,this.option("adaptiveHeight")&&this.setViewportHeight(),t!==i&&(this.markSelectedSlides(),this.emit("change",t,i,e))}onRefresh(t,e=""){let i=this.contentDim,s=this.viewportDim;this.updateMetrics(),this.contentDim===i&&this.viewportDim===s||this.slideTo(this.page,{friction:0,transition:!1})}onResize(){this.option("breakpoints")&&this.processOptions()}onBeforeTransform(){this.flipInfiniteTrack(),this.manageSlideVisiblity()}onEndAnimation(){this.emit("settle")}reInit(t=null,e=null){this.destroy(),this.state=L.Init,this.userOptions=t||this.userOptions,this.userPlugins=e||this.userPlugins,this.processOptions()}slideTo(t=0,{friction:e=this.option("friction"),transition:i=this.option("transition")}={}){if(this.state===L.Destroy)return;const s=this.panzoom,n=this.pages.length;if(!s||!n)return;if(this.transitionTo(t,i))return;const o=this.axis,a=this.getPageFromIndex(t);let r=this.pages[a].pos,h=0;if(this.isInfinite){const t=s.current[o]*(this.isRTL&&this.isHorizontal?1:-1),e=this.contentDim,i=r+e,n=r-e;Math.abs(t-i){t.el&&(n=Math.max(n,t.el.offsetHeight))}))),i.style.height=n?`${n}px`:""}getPageForSlide(t){for(const e of this.pages)for(const i of e.slides)if(i.index===t)return e.index;return-1}getVisibleSlides(t=0){var e;const i=new Set;let{contentDim:s,viewportDim:n,pages:o,page:a}=this;s=s+(null===(e=this.slides[this.slides.length-1])||void 0===e?void 0:e.gap)||0;let r=0;r=this.panzoom?-1*this.panzoom.current[this.axis]:o[a]&&o[a].pos||0,this.isInfinite&&(r-=Math.floor(r/s)*s),this.isRTL&&this.isHorizontal&&(r*=-1);const h=r-n*t,l=r+n*(t+1),c=this.isInfinite?[-1,0,1]:[0];for(const t of this.slides)for(const e of c){const n=t.pos+e*s,o=t.pos+t.dim+t.gap+e*s;nh&&i.add(t)}return i}getPageFromPosition(t){const{viewportDim:e,contentDim:i}=this,s=this.pages.length,n=this.slides.length,o=this.slides[n-1];let a=0,r=0,h=0;const l=this.option("center");l&&(t+=.5*e),this.isInfinite||(t=Math.max(this.slides[0].pos,Math.min(t,o.pos)));const c=i+o.gap;h=Math.floor(t/c)||0,t-=h*c;let d=o,u=this.slides.find((e=>{const i=t+(d&&!l?.5*d.dim:0);return d=e,e.pos<=i&&e.pos+e.dim+e.gap>i}));return u||(u=o),r=this.getPageForSlide(u.index),a=r+h*s,{page:a,pageIndex:r}}destroy(){if([L.Destroy].includes(this.state))return;this.state=L.Destroy;const{container:t,viewport:e,track:i,slides:s,panzoom:n}=this,o=this.option("classes");t.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),t.removeEventListener("slideTo",this.onSlideTo),window.removeEventListener("resize",this.onResize),n&&(n.destroy(),this.panzoom=null),s&&s.forEach((t=>{this.removeSlideEl(t)})),this.detachPlugins(),this.track=null,this.viewport=null,this.page=0,e&&i&&e.replaceWith(...i.childNodes);for(const[e,i]of Object.entries(o))"container"!==e&&i&&t.classList.remove(i);this.slides=[];const a=this.events.get("ready");this.events=new Map,a&&this.events.set("ready",a)}}Object.defineProperty(N,"Panzoom",{enumerable:!0,configurable:!0,writable:!0,value:R}),Object.defineProperty(N,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:D}),Object.defineProperty(N,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:W}),t.Carousel=N})); diff --git a/cdn/@fancyapps/ui/dist/carousel/l10n/de.esm.js b/cdn/@fancyapps/ui/dist/carousel/l10n/de.esm.js new file mode 100644 index 00000000..b5e244aa --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/l10n/de.esm.js @@ -0,0 +1 @@ +const e={NEXT:"Nächste Folie",PREV:"Vorherige Folie",GOTO:"Zur #%d Folie gehen"};export{e as de}; diff --git a/cdn/@fancyapps/ui/dist/carousel/l10n/de.umd.js b/cdn/@fancyapps/ui/dist/carousel/l10n/de.umd.js new file mode 100644 index 00000000..0601d59b --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/l10n/de.umd.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports):"function"==typeof define&&define.amd?define(["exports"],o):o(((e="undefined"!=typeof globalThis?globalThis:e||self).Carousel=e.Carousel||{},e.Carousel.l10n=e.Carousel.l10n||{}))}(this,(function(e){"use strict";e.de={NEXT:"Nächste Folie",PREV:"Vorherige Folie",GOTO:"Zur #%d Folie gehen"}})); diff --git a/cdn/@fancyapps/ui/dist/carousel/l10n/en.esm.js b/cdn/@fancyapps/ui/dist/carousel/l10n/en.esm.js new file mode 100644 index 00000000..f56dd3bb --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/l10n/en.esm.js @@ -0,0 +1 @@ +const e={NEXT:"Next slide",PREV:"Previous slide",GOTO:"Go to slide #%d"};export{e as en}; diff --git a/cdn/@fancyapps/ui/dist/carousel/l10n/en.umd.js b/cdn/@fancyapps/ui/dist/carousel/l10n/en.umd.js new file mode 100644 index 00000000..f16f1b7d --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/l10n/en.umd.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports):"function"==typeof define&&define.amd?define(["exports"],o):o(((e="undefined"!=typeof globalThis?globalThis:e||self).Carousel=e.Carousel||{},e.Carousel.l10n=e.Carousel.l10n||{}))}(this,(function(e){"use strict";e.en={NEXT:"Next slide",PREV:"Previous slide",GOTO:"Go to slide #%d"}})); diff --git a/cdn/@fancyapps/ui/dist/carousel/l10n/pl.esm.js b/cdn/@fancyapps/ui/dist/carousel/l10n/pl.esm.js new file mode 100644 index 00000000..df8f2f68 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/l10n/pl.esm.js @@ -0,0 +1 @@ +const d={NEXT:"Następny slajd",PREV:"Poprzedni slajd",GOTO:"Idź do slajdu nr #%d"};export{d as pl}; diff --git a/cdn/@fancyapps/ui/dist/carousel/l10n/pl.umd.js b/cdn/@fancyapps/ui/dist/carousel/l10n/pl.umd.js new file mode 100644 index 00000000..adbb20b3 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/carousel/l10n/pl.umd.js @@ -0,0 +1 @@ +!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports):"function"==typeof define&&define.amd?define(["exports"],o):o(((e="undefined"!=typeof globalThis?globalThis:e||self).Carousel=e.Carousel||{},e.Carousel.l10n=e.Carousel.l10n||{}))}(this,(function(e){"use strict";e.pl={NEXT:"Następny slajd",PREV:"Poprzedni slajd",GOTO:"Idź do slajdu nr #%d"}})); diff --git a/cdn/@fancyapps/ui/dist/fancybox/fancybox.css b/cdn/@fancyapps/ui/dist/fancybox/fancybox.css new file mode 100644 index 00000000..cd10f052 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/fancybox/fancybox.css @@ -0,0 +1,3 @@ +/* build time:Tue Mar 26 2024 09:21:28 GMT+0000 (Coordinated Universal Time)*/ +:root{--f-spinner-width:36px;--f-spinner-height:36px;--f-spinner-color-1:rgba(0, 0, 0, 0.1);--f-spinner-color-2:rgba(17, 24, 28, 0.8);--f-spinner-stroke:2.75}.f-spinner{margin:auto;padding:0;width:var(--f-spinner-width);height:var(--f-spinner-height)}.f-spinner svg{width:100%;height:100%;vertical-align:top;animation:f-spinner-rotate 2s linear infinite}.f-spinner svg *{stroke-width:var(--f-spinner-stroke);fill:none}.f-spinner svg :first-child{stroke:var(--f-spinner-color-1)}.f-spinner svg :last-child{stroke:var(--f-spinner-color-2);animation:f-spinner-dash 2s ease-in-out infinite}@keyframes f-spinner-rotate{100%{transform:rotate(360deg)}}@keyframes f-spinner-dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.f-zoomInUp{animation:.2s cubic-bezier(.215,.61,.355,1) .1s both f-zoomInUp}.f-zoomOutDown{animation:.3s cubic-bezier(.16,1,.3,1) both f-zoomOutDown}@keyframes f-zoomInUp{from{transform:scale(.975) translate3d(0,16px,0);opacity:0}to{transform:scale(1) translate3d(0,0,0);opacity:1}}@keyframes f-zoomOutDown{to{transform:scale(.975) translate3d(0,16px,0);opacity:0}}.f-throwOutUp{animation:.175s ease-out both f-throwOutUp}.f-throwOutDown{animation:.175s ease-out both f-throwOutDown}@keyframes f-throwOutUp{to{transform:translate3d(0,-150px,0);opacity:0}}@keyframes f-throwOutDown{to{transform:translate3d(0,150px,0);opacity:0}}.f-fadeIn{animation:.2s ease both f-fadeIn;z-index:2}.f-fadeOut{animation:.2s ease both f-fadeOut;z-index:1}@keyframes f-fadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeOut{100%{opacity:0}}.f-fadeSlowIn{animation:.5s ease both f-fadeSlowIn;z-index:2}.f-fadeSlowOut{animation:.5s ease both f-fadeSlowOut;z-index:1}@keyframes f-fadeSlowIn{0%{opacity:0}100%{opacity:1}}@keyframes f-fadeSlowOut{100%{opacity:0}}.f-fadeFastIn{animation:.2s ease-out both f-fadeFastIn;z-index:2}.f-fadeFastOut{animation:.2s ease-out both f-fadeFastOut;z-index:2}@keyframes f-fadeFastIn{0%{opacity:.75}100%{opacity:1}}@keyframes f-fadeFastOut{100%{opacity:0}}.f-crossfadeIn{animation:.2s ease-out both f-crossfadeIn;z-index:2}.f-crossfadeOut{animation:.1s linear .1s both f-crossfadeOut;z-index:1}@keyframes f-crossfadeIn{0%{opacity:0}100%{opacity:1}}@keyframes f-crossfadeOut{100%{opacity:0}}.f-slideIn.from-next{animation:.85s cubic-bezier(.16,1,.3,1) f-slideInNext}.f-slideIn.from-prev{animation:.85s cubic-bezier(.16,1,.3,1) f-slideInPrev}.f-slideOut.to-next{animation:.85s cubic-bezier(.16,1,.3,1) f-slideOutNext}.f-slideOut.to-prev{animation:.85s cubic-bezier(.16,1,.3,1) f-slideOutPrev}@keyframes f-slideInPrev{0%{transform:translateX(100%)}100%{transform:translate3d(0,0,0)}}@keyframes f-slideInNext{0%{transform:translateX(-100%)}100%{transform:translate3d(0,0,0)}}@keyframes f-slideOutNext{100%{transform:translateX(-100%)}}@keyframes f-slideOutPrev{100%{transform:translateX(100%)}}.f-classicIn.from-next{animation:.85s cubic-bezier(.16,1,.3,1) f-classicInNext;z-index:2}.f-classicIn.from-prev{animation:.85s cubic-bezier(.16,1,.3,1) f-classicInPrev;z-index:2}.f-classicOut.to-next{animation:.85s cubic-bezier(.16,1,.3,1) f-classicOutNext;z-index:1}.f-classicOut.to-prev{animation:.85s cubic-bezier(.16,1,.3,1) f-classicOutPrev;z-index:1}@keyframes f-classicInNext{0%{transform:translateX(-75px);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@keyframes f-classicInPrev{0%{transform:translateX(75px);opacity:0}100%{transform:translate3d(0,0,0);opacity:1}}@keyframes f-classicOutNext{100%{transform:translateX(-75px);opacity:0}}@keyframes f-classicOutPrev{100%{transform:translateX(75px);opacity:0}}:root{--f-button-width:40px;--f-button-height:40px;--f-button-border:0;--f-button-border-radius:0;--f-button-color:#374151;--f-button-bg:#f8f8f8;--f-button-hover-bg:#e0e0e0;--f-button-active-bg:#d0d0d0;--f-button-shadow:none;--f-button-transition:all 0.15s ease;--f-button-transform:none;--f-button-svg-width:20px;--f-button-svg-height:20px;--f-button-svg-stroke-width:1.5;--f-button-svg-fill:none;--f-button-svg-filter:none;--f-button-svg-disabled-opacity:0.65}.f-button{display:flex;justify-content:center;align-items:center;box-sizing:content-box;position:relative;margin:0;padding:0;width:var(--f-button-width);height:var(--f-button-height);border:var(--f-button-border);border-radius:var(--f-button-border-radius);color:var(--f-button-color);background:var(--f-button-bg);box-shadow:var(--f-button-shadow);pointer-events:all;cursor:pointer;transition:var(--f-button-transition)}@media(hover:hover){.f-button:hover:not([disabled]){color:var(--f-button-hover-color);background-color:var(--f-button-hover-bg)}}.f-button:active:not([disabled]){background-color:var(--f-button-active-bg)}.f-button:focus:not(:focus-visible){outline:0}.f-button:focus-visible{outline:0;box-shadow:inset 0 0 0 var(--f-button-outline,2px) var(--f-button-outline-color,var(--f-button-color))}.f-button svg{width:var(--f-button-svg-width);height:var(--f-button-svg-height);fill:var(--f-button-svg-fill);stroke:currentColor;stroke-width:var(--f-button-svg-stroke-width);stroke-linecap:round;stroke-linejoin:round;transition:opacity .15s ease;transform:var(--f-button-transform);filter:var(--f-button-svg-filter);pointer-events:none}.f-button[disabled]{cursor:default}.f-button[disabled] svg{opacity:var(--f-button-svg-disabled-opacity)}.f-carousel__nav .f-button.is-next,.f-carousel__nav .f-button.is-prev,.fancybox__nav .f-button.is-next,.fancybox__nav .f-button.is-prev{position:absolute;z-index:1}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-prev{top:50%;transform:translateY(-50%)}.is-horizontal .f-carousel__nav .f-button.is-prev,.is-horizontal .fancybox__nav .f-button.is-prev{left:var(--f-button-prev-pos)}.is-horizontal .f-carousel__nav .f-button.is-next,.is-horizontal .fancybox__nav .f-button.is-next{right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-prev,.is-horizontal.is-rtl .fancybox__nav .f-button.is-prev{left:auto;right:var(--f-button-next-pos)}.is-horizontal.is-rtl .f-carousel__nav .f-button.is-next,.is-horizontal.is-rtl .fancybox__nav .f-button.is-next{right:auto;left:var(--f-button-prev-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-prev{top:auto;left:50%;transform:translateX(-50%)}.is-vertical .f-carousel__nav .f-button.is-prev,.is-vertical .fancybox__nav .f-button.is-prev{top:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next,.is-vertical .fancybox__nav .f-button.is-next{bottom:var(--f-button-next-pos)}.is-vertical .f-carousel__nav .f-button.is-next svg,.is-vertical .f-carousel__nav .f-button.is-prev svg,.is-vertical .fancybox__nav .f-button.is-next svg,.is-vertical .fancybox__nav .f-button.is-prev svg{transform:rotate(90deg)}html.with-fancybox{scroll-behavior:auto;width:auto;overflow:visible}html.with-fancybox body{touch-action:none}html.with-fancybox body.compensate-for-scrollbar{width:auto;overflow:hidden!important;overscroll-behavior-y:none;margin-right:var(--fancybox-scrollbar-compensate,0)}.fancybox__container{--fancybox-color:#dbdbdb;--fancybox-hover-color:#fff;--fancybox-bg:rgba(24, 24, 27, 0.98);--fancybox-slide-gap:10px;--f-spinner-width:50px;--f-spinner-height:50px;--f-spinner-color-1:rgba(255, 255, 255, 0.1);--f-spinner-color-2:#bbb;--f-spinner-stroke:3.65;position:fixed;top:0;left:0;bottom:0;right:0;direction:ltr;display:flex;flex-direction:column;box-sizing:border-box;margin:0;padding:0;color:#f8f8f8;-webkit-tap-highlight-color:transparent;overflow:visible;z-index:1050;outline:0;-webkit-text-size-adjust:100%;-moz-text-size-adjust:none;-ms-text-size-adjust:100%;text-size-adjust:100%}.fancybox__container *,.fancybox__container ::after,.fancybox__container ::before{box-sizing:inherit}.fancybox__backdrop{position:fixed;top:0;left:0;bottom:0;right:0;z-index:-1;background:var(--fancybox-bg);opacity:var(--fancybox-opacity,1);will-change:opacity}.fancybox__carousel{position:relative;box-sizing:border-box;flex:1;min-height:0;z-index:10;overflow-y:visible;overflow-x:clip}.fancybox__viewport{width:100%;height:100%}.fancybox__track{display:flex;margin:0 auto;height:100%}.fancybox__slide{flex:0 0 auto;position:relative;display:flex;flex-direction:column;align-items:center;width:100%;height:100%;margin:0 var(--fancybox-slide-gap) 0 0;padding:4px;overflow:auto;transform:translate3d(0,0,0);backface-visibility:hidden}.fancybox__container:not(.is-compact) .fancybox__slide.has-close-btn{padding-top:40px}.fancybox__slide.has-html5video,.fancybox__slide.has-iframe,.fancybox__slide.has-video{overflow:hidden}.fancybox__slide.has-image{overflow:hidden}.fancybox__slide.has-image.is-animating,.fancybox__slide.has-image.is-selected{overflow:visible}.fancybox__slide::after,.fancybox__slide::before{content:"";flex:0 0 0;margin:auto}.fancybox__content{align-self:center;display:flex;flex-direction:column;position:relative;margin:0;padding:2rem;max-width:100%;color:var(--fancybox-content-color,#374151);background:var(--fancybox-content-bg,#fff);cursor:default;border-radius:0;z-index:20}.is-loading .fancybox__content{opacity:0}.is-draggable .fancybox__content{cursor:move;cursor:grab}.can-zoom_in .fancybox__content{cursor:zoom-in}.can-zoom_out .fancybox__content{cursor:zoom-out}.is-dragging .fancybox__content{cursor:move;cursor:grabbing}.fancybox__content [contenteditable],.fancybox__content [data-selectable]{cursor:auto}.fancybox__slide.has-image>.fancybox__content{padding:0;background:rgba(0,0,0,0);min-height:1px;background-repeat:no-repeat;background-size:contain;background-position:center center;transition:none;transform:translate3d(0,0,0);backface-visibility:hidden}.fancybox__slide.is-animating>.fancybox__content{filter:blur(0);will-change:transform,width,height}.fancybox-image{margin:auto;display:block;width:100%;height:100%;min-height:0;object-fit:contain;user-select:none}.hide-image .fancybox-image{opacity:0}.fancybox__caption{align-self:center;max-width:100%;flex-shrink:0;margin:0;padding:14px 0 4px 0;overflow-wrap:anywhere;line-height:1.375;color:var(--fancybox-color,currentColor);opacity:var(--fancybox-opacity,1);cursor:auto;visibility:visible}.is-closing .fancybox__caption,.is-loading .fancybox__caption{opacity:0;visibility:hidden}.is-compact .fancybox__caption{padding-bottom:0}.f-button.is-close-btn{--f-button-svg-stroke-width:2;position:absolute;top:0;right:8px;z-index:40}.fancybox__content>.f-button.is-close-btn{--f-button-width:34px;--f-button-height:34px;--f-button-border-radius:4px;--f-button-color:var(--fancybox-color, #fff);--f-button-hover-color:var(--fancybox-color, #fff);--f-button-bg:transparent;--f-button-hover-bg:transparent;--f-button-active-bg:transparent;--f-button-svg-width:22px;--f-button-svg-height:22px;position:absolute;top:-38px;right:0;opacity:.75}.is-loading .fancybox__content>.f-button.is-close-btn{visibility:hidden}.is-zooming-out .fancybox__content>.f-button.is-close-btn{visibility:hidden}.fancybox__content>.f-button.is-close-btn:hover{opacity:1}.fancybox__footer{padding:0;margin:0;position:relative}.fancybox__footer .fancybox__caption{width:100%;padding:24px;opacity:var(--fancybox-opacity,1);transition:all .25s ease}.is-compact .fancybox__footer{position:absolute;bottom:0;left:0;right:0;z-index:20;background:rgba(24,24,27,.5)}.is-compact .fancybox__footer .fancybox__caption{padding:12px}.is-compact .fancybox__content>.f-button.is-close-btn{--f-button-border-radius:50%;--f-button-color:#fff;--f-button-hover-color:#fff;--f-button-outline-color:#000;--f-button-bg:rgba(0, 0, 0, 0.6);--f-button-active-bg:rgba(0, 0, 0, 0.6);--f-button-hover-bg:rgba(0, 0, 0, 0.6);--f-button-svg-width:18px;--f-button-svg-height:18px;--f-button-svg-filter:none;top:5px;right:5px}.fancybox__nav{--f-button-width:50px;--f-button-height:50px;--f-button-border:0;--f-button-border-radius:50%;--f-button-color:var(--fancybox-color);--f-button-hover-color:var(--fancybox-hover-color);--f-button-bg:transparent;--f-button-hover-bg:rgba(24, 24, 27, 0.3);--f-button-active-bg:rgba(24, 24, 27, 0.5);--f-button-shadow:none;--f-button-transition:all 0.15s ease;--f-button-transform:none;--f-button-svg-width:26px;--f-button-svg-height:26px;--f-button-svg-stroke-width:2.5;--f-button-svg-fill:none;--f-button-svg-filter:drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.5));--f-button-svg-disabled-opacity:0.65;--f-button-next-pos:1rem;--f-button-prev-pos:1rem;opacity:var(--fancybox-opacity,1)}.fancybox__nav .f-button:before{position:absolute;content:"";top:-30px;right:-20px;left:-20px;bottom:-30px;z-index:1}.is-idle .fancybox__nav{animation:.15s ease-out both f-fadeOut}.is-idle.is-compact .fancybox__footer{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__slide>.f-spinner{position:absolute;top:50%;left:50%;margin:var(--f-spinner-top,calc(var(--f-spinner-width) * -.5)) 0 0 var(--f-spinner-left,calc(var(--f-spinner-height) * -.5));z-index:30;cursor:pointer}.fancybox-protected{position:absolute;top:0;left:0;right:0;bottom:0;z-index:40;user-select:none}.fancybox-ghost{position:absolute;top:0;left:0;width:100%;height:100%;min-height:0;object-fit:contain;z-index:40;user-select:none;pointer-events:none}.fancybox-focus-guard{position:fixed;top:1px;left:1px;width:1px;height:0;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fancybox__container:not([aria-hidden]){opacity:0}.fancybox__container.is-animated[aria-hidden=false] .fancybox__carousel>:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=false] .fancybox__slide>:not(.fancybox__content),.fancybox__container.is-animated[aria-hidden=false]>:not(.fancybox__backdrop,.fancybox__carousel){animation:.25s ease .1s backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=false] .fancybox__backdrop{animation:.35s ease backwards f-fadeIn}.fancybox__container.is-animated[aria-hidden=true] .fancybox__carousel>:not(.fancybox__viewport),.fancybox__container.is-animated[aria-hidden=true] .fancybox__slide>:not(.fancybox__content),.fancybox__container.is-animated[aria-hidden=true]>:not(.fancybox__backdrop,.fancybox__carousel){animation:.15s ease forwards f-fadeOut}.fancybox__container.is-animated[aria-hidden=true] .fancybox__backdrop{animation:.35s ease forwards f-fadeOut}.has-html5video .fancybox__content,.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content,.has-vimeo .fancybox__content,.has-youtube .fancybox__content{max-width:100%;flex-shrink:1;min-height:1px;overflow:visible}.has-iframe .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content{width:100%;height:100%}.fancybox__container:not(.is-compact) .has-iframe .fancybox__content,.fancybox__container:not(.is-compact) .has-map .fancybox__content,.fancybox__container:not(.is-compact) .has-pdf .fancybox__content{width:calc(100% - 120px);height:90%}.has-html5video .fancybox__content,.has-vimeo .fancybox__content,.has-youtube .fancybox__content{width:960px;height:540px;max-width:100%;max-height:100%}.has-html5video .fancybox__content,.has-map .fancybox__content,.has-pdf .fancybox__content,.has-vimeo .fancybox__content,.has-youtube .fancybox__content{padding:0;background:rgba(24,24,27,.9);color:#fff}.has-map .fancybox__content{background:#e5e3df}.fancybox__html5video,.fancybox__iframe{border:0;display:block;height:100%;width:100%;background:rgba(0,0,0,0)}.fancybox-placeholder{border:0!important;clip:rect(1px,1px,1px,1px)!important;-webkit-clip-path:inset(50%)!important;clip-path:inset(50%)!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;white-space:nowrap!important}.f-carousel__thumbs{--f-thumb-width:96px;--f-thumb-height:72px;--f-thumb-outline:0;--f-thumb-outline-color:#5eb0ef;--f-thumb-opacity:1;--f-thumb-hover-opacity:1;--f-thumb-selected-opacity:1;--f-thumb-border-radius:2px;--f-thumb-offset:0px;--f-button-next-pos:0;--f-button-prev-pos:0}.f-carousel__thumbs.is-classic{--f-thumb-gap:8px;--f-thumb-opacity:0.5;--f-thumb-hover-opacity:1;--f-thumb-selected-opacity:1}.f-carousel__thumbs.is-modern{--f-thumb-gap:4px;--f-thumb-extra-gap:20px;--f-thumb-clip-width:46px}.f-thumbs{position:relative;flex:0 0 auto;margin:0;overflow:hidden;-webkit-tap-highlight-color:transparent;user-select:none;perspective:1000px;transform:translateZ(0)}.f-thumbs .f-spinner{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:2px;background-image:linear-gradient(#ebeff2,#e2e8f0);z-index:-1}.f-thumbs .f-spinner svg{display:none}.f-thumbs.is-vertical{height:100%}.f-thumbs__viewport{width:100%;height:auto;overflow:hidden}.f-thumbs__track{display:flex;will-change:transform}.f-thumbs__slide{position:relative;flex:0 0 auto;box-sizing:content-box;display:flex;align-items:center;justify-content:center;padding:0;margin:0;width:var(--f-thumb-width);min-width:var(--f-thumb-width);height:var(--f-thumb-height);overflow:visible;cursor:pointer}.f-thumbs__slide.is-loading img{opacity:0}.is-classic .f-thumbs__viewport{height:100%}.is-modern .f-thumbs__track{width:max-content}.is-modern .f-thumbs__track::before{content:"";position:absolute;top:0;bottom:0;left:calc(var(--left,0)*1px);width:calc(100% - var(--width,0)*1px);cursor:pointer}.is-modern .f-thumbs__slide{--clip-path:inset( 0 calc( (var(--f-thumb-width, 0) - var(--f-thumb-clip-width, 0)) * 0.5 * (1 - var(--progress, 0)) ) round var(--f-thumb-border-radius, 0) );transform:translate3d(calc(var(--shift,0) * -1px),0,0);transition:none;pointer-events:none}.is-modern .f-thumbs__slide:focus-within:not(.is-selected){filter:drop-shadow(-1px 0 0 var(--f-thumb-outline-color)) drop-shadow(2px 0 0 var(--f-thumb-outline-color)) drop-shadow(0 -1px 0 var(--f-thumb-outline-color)) drop-shadow(0 2px 0 var(--f-thumb-outline-color))}.is-modern .f-thumbs__slide>*{clip-path:var(--clip-path)}.is-modern.in-touch .f-thumbs__slide{filter:none}.is-modern.is-resting .f-thumbs__slide{transition:all .33s ease}.is-modern.is-resting .f-thumbs__slide>*{transition:all .33s ease}.f-thumbs__slide__button{appearance:none;width:100%;height:100%;margin:0;padding:0;border:0;position:relative;border-radius:var(--f-thumb-border-radius);overflow:hidden;background:rgba(0,0,0,0);outline:0;cursor:pointer;pointer-events:auto;touch-action:manipulation;opacity:var(--f-thumb-opacity);transition:opacity .2s ease}.f-thumbs__slide__button:hover{opacity:var(--f-thumb-hover-opacity)}.f-thumbs__slide__button:focus:not(:focus-visible){outline:0}.f-thumbs__slide__button:focus-visible{outline:0;opacity:var(--f-thumb-selected-opacity)}.is-nav-selected .f-thumbs__slide__button{opacity:var(--f-thumb-selected-opacity)}.is-nav-selected .f-thumbs__slide__button::after{content:"";position:absolute;top:0;left:0;right:0;height:auto;bottom:0;border:var(--f-thumb-outline,0) solid var(--f-thumb-outline-color,transparent);border-radius:var(--f-thumb-border-radius);animation:f-fadeIn .2s ease-out;z-index:10}.f-thumbs__slide__img{position:absolute;overflow:hidden;top:0;right:0;bottom:0;left:0;width:100%;height:100%;padding:var(--f-thumb-offset);box-sizing:border-box;pointer-events:none;object-fit:cover}.f-thumbs.is-horizontal .f-thumbs__track{margin:0 auto;padding:8px 0 12px 0}.f-thumbs.is-horizontal .f-thumbs__slide{margin:0 var(--f-thumb-gap) 0 0}.f-thumbs.is-vertical .f-thumbs__track{flex-wrap:wrap;margin:auto 0;padding:0 8px}.f-thumbs.is-vertical .f-thumbs__slide{margin:0 0 var(--f-thumb-gap) 0}.fancybox__thumbs{--f-thumb-width:96px;--f-thumb-height:72px;--f-thumb-border-radius:2px;--f-thumb-outline:2px;--f-thumb-outline-color:#ededed;position:relative;opacity:var(--fancybox-opacity,1);transition:max-height .35s cubic-bezier(.23,1,.32,1)}.fancybox__thumbs.is-classic{--f-thumb-gap:8px;--f-thumb-opacity:0.5;--f-thumb-hover-opacity:1}.fancybox__thumbs.is-classic .f-spinner{background-image:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.05))}.fancybox__thumbs.is-modern{--f-thumb-gap:4px;--f-thumb-extra-gap:20px;--f-thumb-clip-width:46px;--f-thumb-opacity:1;--f-thumb-hover-opacity:1}.fancybox__thumbs.is-modern .f-spinner{background-image:linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.05))}.fancybox__thumbs.is-horizontal{padding:0 var(--f-thumb-gap)}.fancybox__thumbs.is-vertical{padding:var(--f-thumb-gap) 0}.is-compact .fancybox__thumbs{--f-thumb-width:64px;--f-thumb-clip-width:32px;--f-thumb-height:48px;--f-thumb-extra-gap:10px}.fancybox__thumbs.is-hidden{max-height:0!important}.is-closing .fancybox__thumbs{transition:none!important}.fancybox__toolbar{--f-progress-color:var(--fancybox-color, rgba(255, 255, 255, 0.94));--f-button-width:46px;--f-button-height:46px;--f-button-color:var(--fancybox-color);--f-button-hover-color:var(--fancybox-hover-color);--f-button-bg:rgba(24, 24, 27, 0.65);--f-button-hover-bg:rgba(70, 70, 73, 0.65);--f-button-active-bg:rgba(90, 90, 93, 0.65);--f-button-border-radius:0;--f-button-svg-width:24px;--f-button-svg-height:24px;--f-button-svg-stroke-width:1.5;--f-button-svg-filter:drop-shadow(1px 1px 1px rgba(24, 24, 27, 0.15));--f-button-svg-fill:none;--f-button-svg-disabled-opacity:0.65;display:flex;flex-direction:row;justify-content:space-between;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI Adjusted","Segoe UI","Liberation Sans",sans-serif;color:var(--fancybox-color,currentColor);opacity:var(--fancybox-opacity,1);text-shadow:var(--fancybox-toolbar-text-shadow,1px 1px 1px rgba(0,0,0,.5));pointer-events:none;z-index:20}.fancybox__toolbar :focus-visible{z-index:1}.fancybox__toolbar.is-absolute,.is-compact .fancybox__toolbar{position:absolute;top:0;left:0;right:0}.is-idle .fancybox__toolbar{pointer-events:none;animation:.15s ease-out both f-fadeOut}.fancybox__toolbar__column{display:flex;flex-direction:row;flex-wrap:wrap;align-content:flex-start}.fancybox__toolbar__column.is-left,.fancybox__toolbar__column.is-right{flex-grow:1;flex-basis:0}.fancybox__toolbar__column.is-right{display:flex;justify-content:flex-end;flex-wrap:nowrap}.fancybox__infobar{padding:0 5px;line-height:var(--f-button-height);text-align:center;font-size:17px;font-variant-numeric:tabular-nums;-webkit-font-smoothing:subpixel-antialiased;cursor:default;user-select:none}.fancybox__infobar span{padding:0 5px}.fancybox__infobar:not(:first-child):not(:last-child){background:var(--f-button-bg)}[data-fancybox-toggle-slideshow]{position:relative}[data-fancybox-toggle-slideshow] .f-progress{height:100%;opacity:.3}[data-fancybox-toggle-slideshow] svg g:first-child{display:flex}[data-fancybox-toggle-slideshow] svg g:last-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:first-child{display:none}.has-slideshow [data-fancybox-toggle-slideshow] svg g:last-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:first-child{display:flex}[data-fancybox-toggle-fullscreen] svg g:last-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:first-child{display:none}:fullscreen [data-fancybox-toggle-fullscreen] svg g:last-child{display:flex}.f-progress{position:absolute;top:0;left:0;right:0;height:3px;transform:scaleX(0);transform-origin:0;transition-property:transform;transition-timing-function:linear;background:var(--f-progress-color,var(--f-carousel-theme-color,#0091ff));z-index:30;user-select:none;pointer-events:none} +/* rebuild by neat */ \ No newline at end of file diff --git a/cdn/@fancyapps/ui/dist/fancybox/fancybox.esm.js b/cdn/@fancyapps/ui/dist/fancybox/fancybox.esm.js new file mode 100644 index 00000000..07234631 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/fancybox/fancybox.esm.js @@ -0,0 +1 @@ +const t=t=>"object"==typeof t&&null!==t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t),e=(i,...n)=>{const s=n.length;for(let o=0;o{const o=Array.isArray(s)?[]:{};i[n]||Object.assign(i,{[n]:o}),t(s)?Object.assign(i[n],e(o,s)):Array.isArray(s)?Object.assign(i,{[n]:[...s]}):Object.assign(i,{[n]:s})}))}return i},i=function(t){return(new DOMParser).parseFromString(t,"text/html").body.firstChild},n=t=>t&&null!==t&&t instanceof Element&&"nodeType"in t,s=function(t){const e=window.pageYOffset,i=window.pageYOffset+window.innerHeight;if(!n(t))return 0;const s=t.getBoundingClientRect(),o=s.y+window.pageYOffset,a=s.y+s.height+window.pageYOffset;if(e>a||ia)return 100;if(oi)return 100;let r=s.height;oi&&(r-=a-i);const l=r/window.innerHeight*100;return Math.round(l)},o=!("undefined"==typeof window||!window.document||!window.document.createElement);let a;const r=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden]):not(.fancybox-focus-guard)","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"]):not([disabled]):not([aria-hidden])'].join(","),l=t=>{if(t&&o){void 0===a&&document.createElement("div").focus({get preventScroll(){return a=!0,!1}});try{if(a)t.focus({preventScroll:!0});else{const e=window.pageXOffset||document.body.scrollTop,i=window.pageYOffset||document.body.scrollLeft;t.focus(),document.body.scrollTo({top:e,left:i,behavior:"auto"})}}catch(t){}}},c='
    ',h={PANUP:"Move up",PANDOWN:"Move down",PANLEFT:"Move left",PANRIGHT:"Move right",ZOOMIN:"Zoom in",ZOOMOUT:"Zoom out",TOGGLEZOOM:"Toggle zoom level",TOGGLE1TO1:"Toggle zoom level",ITERATEZOOM:"Toggle zoom level",ROTATECCW:"Rotate counterclockwise",ROTATECW:"Rotate clockwise",FLIPX:"Flip horizontally",FLIPY:"Flip vertically",FITX:"Fit horizontally",FITY:"Fit vertically",RESET:"Reset",TOGGLEFS:"Toggle fullscreen"},d={dragToClose:!0,hideScrollbar:!0,Carousel:{classes:{container:"fancybox__carousel",viewport:"fancybox__viewport",track:"fancybox__track",slide:"fancybox__slide"}},contentClick:"toggleZoom",contentDblClick:!1,backdropClick:"close",animated:!0,idle:3500,showClass:"f-zoomInUp",hideClass:"f-fadeOut",commonCaption:!1,parentEl:null,startIndex:0,l10n:Object.assign(Object.assign({},h),{CLOSE:"Close",NEXT:"Next",PREV:"Previous",MODAL:"You can close this modal content with the ESC key",ERROR:"Something Went Wrong, Please Try Again Later",IMAGE_ERROR:"Image Not Found",ELEMENT_NOT_FOUND:"HTML Element Not Found",AJAX_NOT_FOUND:"Error Loading AJAX : Not Found",AJAX_FORBIDDEN:"Error Loading AJAX : Forbidden",IFRAME_ERROR:"Error Loading Page",TOGGLE_ZOOM:"Toggle zoom level",TOGGLE_THUMBS:"Toggle thumbnails",TOGGLE_SLIDESHOW:"Toggle slideshow",TOGGLE_FULLSCREEN:"Toggle full-screen mode",DOWNLOAD:"Download"}),tpl:{closeButton:'',main:''},groupAll:!1,groupAttr:"data-fancybox",defaultType:"image",defaultDisplay:"block",autoFocus:!0,trapFocus:!0,placeFocusBack:!0,closeButton:"auto",keyboard:{Escape:"close",Delete:"close",Backspace:"close",PageUp:"next",PageDown:"prev",ArrowUp:"prev",ArrowDown:"next",ArrowRight:"next",ArrowLeft:"prev"},Fullscreen:{autoStart:!1},compact:()=>window.matchMedia("(max-width: 578px), (max-height: 578px)").matches,wheel:"zoom"};var u,p;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Closing=2]="Closing",t[t.CustomClosing=3]="CustomClosing",t[t.Destroy=4]="Destroy"}(u||(u={})),function(t){t[t.Loading=0]="Loading",t[t.Opening=1]="Opening",t[t.Ready=2]="Ready",t[t.Closing=3]="Closing"}(p||(p={}));const m=function(t,e){return t.split(".").reduce(((t,e)=>"object"==typeof t?t[e]:void 0),e)};class f{constructor(t={}){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),this.setOptions(t);for(const t of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))t.startsWith("on")&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}setOptions(t){this.options=t?e({},this.constructor.defaults,t):{};for(const[t,e]of Object.entries(this.option("on")||{}))this.on(t,e)}option(t,...e){let i=m(t,this.options);return i&&"function"==typeof i&&(i=i.call(this,this,...e)),i}optionFor(t,e,i,...n){let s=m(e,t);var o;"string"!=typeof(o=s)||isNaN(o)||isNaN(parseFloat(o))||(s=parseFloat(s)),"true"===s&&(s=!0),"false"===s&&(s=!1),s&&"function"==typeof s&&(s=s.call(this,this,t,...n));let a=m(e,this.options);return a&&"function"==typeof a?s=a.call(this,this,t,...n,s):void 0===s&&(s=a),void 0===s?i:s}cn(t){const e=this.options.classes;return e&&e[t]||""}localize(t,e=[]){t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,((t,e,i)=>{let n="";return i?n=this.option(`${e[0]+e.toLowerCase().substring(1)}.l10n.${i}`):e&&(n=this.option(`l10n.${e}`)),n||(n=t),n}));for(let i=0;ie))}on(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),this.events||(this.events=new Map),i.forEach((t=>{let i=this.events.get(t);i||(this.events.set(t,[]),i=[]),i.includes(e)||i.push(e),this.events.set(t,i)}))}off(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),i.forEach((t=>{const i=this.events.get(t);if(Array.isArray(i)){const t=i.indexOf(e);t>-1&&i.splice(t,1)}}))}emit(t,...e){[...this.events.get(t)||[]].forEach((t=>t(this,...e))),"*"!==t&&this.emit("*",t,...e)}}Object.defineProperty(f,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(f,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class g extends f{constructor(t={}){super(t),Object.defineProperty(this,"plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}})}attachPlugins(t={}){const e=new Map;for(const[i,n]of Object.entries(t)){const t=this.option(i),s=this.plugins[i];s||!1===t?s&&!1===t&&(s.detach(),delete this.plugins[i]):e.set(i,new n(this,t||{}))}for(const[t,i]of e)this.plugins[t]=i,i.attach();this.emit("attachPlugins")}detachPlugins(){for(const t of Object.values(this.plugins))t.detach();return this.plugins={},this.emit("detachPlugins"),this}}class b extends f{constructor(t,e){super(e),Object.defineProperty(this,"instance",{enumerable:!0,configurable:!0,writable:!0,value:t})}attach(){}detach(){}}const v=()=>{queueMicrotask((()=>{(()=>{const{slug:t,index:e}=y.parseURL(),i=wt.getInstance();if(i&&!1!==i.option("Hash")){const n=i.carousel;if(t&&n){for(let e of n.slides)if(e.slug&&e.slug===t)return n.slideTo(e.index);if(t===i.option("slug"))return n.slideTo(e-1);const s=i.getSlide(),o=s&&s.triggerEl&&s.triggerEl.dataset;if(o&&o.fancybox===t)return n.slideTo(e-1)}y.hasSilentClose=!0,i.close()}y.startFromUrl()})()}))};class y extends b{constructor(){super(...arguments),Object.defineProperty(this,"origHash",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:null})}onChange(){const t=this.instance,e=t.carousel;this.timer&&clearTimeout(this.timer);const i=t.getSlide();if(!e||!i)return;const n=t.isOpeningSlide(i),s=new URL(document.URL).hash;let o,a=i.slug||void 0;o=a||this.instance.option("slug"),!o&&i.triggerEl&&i.triggerEl.dataset&&(o=i.triggerEl.dataset.fancybox);let r="";o&&"true"!==o&&(r="#"+o+(!a&&e.slides.length>1?"-"+(i.index+1):"")),n&&(this.origHash=s!==r?s:""),r&&s!==r&&(this.timer=setTimeout((()=>{try{window.history[n?"pushState":"replaceState"]({},document.title,window.location.pathname+window.location.search+r)}catch(t){}}),300))}onClose(){if(this.timer&&clearTimeout(this.timer),!0!==y.hasSilentClose)try{window.history.replaceState({},document.title,window.location.pathname+window.location.search+(this.origHash||""))}catch(t){}}attach(){this.instance.on("Carousel.ready",this.onChange),this.instance.on("Carousel.change",this.onChange),this.instance.on("close",this.onClose)}detach(){this.instance.off("Carousel.ready",this.onChange),this.instance.off("Carousel.change",this.onChange),this.instance.off("close",this.onClose)}static parseURL(){const t=window.location.hash.slice(1),e=t.split("-"),i=e[e.length-1],n=i&&/^\+?\d+$/.test(i)&&parseInt(e.pop()||"1",10)||1;return{hash:t,slug:e.join("-"),index:n}}static startFromUrl(){if(y.hasSilentClose=!1,wt.getInstance()||!1===wt.defaults.Hash)return;const{hash:t,slug:e,index:i}=y.parseURL();if(!e)return;let n=document.querySelector(`[data-slug="${t}"]`);if(n&&n.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})),wt.getInstance())return;const s=document.querySelectorAll(`[data-fancybox="${e}"]`);s.length&&(n=s[i-1],n&&n.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})))}static destroy(){window.removeEventListener("hashchange",v,!1)}}function w(){window.addEventListener("hashchange",v,!1),setTimeout((()=>{y.startFromUrl()}),500)}Object.defineProperty(y,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(y,"hasSilentClose",{enumerable:!0,configurable:!0,writable:!0,value:!1}),o&&(/complete|interactive|loaded/.test(document.readyState)?w():document.addEventListener("DOMContentLoaded",w));const x=(t,e=1e4)=>(t=parseFloat(t+"")||0,Math.round((t+Number.EPSILON)*e)/e),S=function(t,e){return!(!t||t===document.body||e&&t===e)&&(function(t){if(!(t&&t instanceof Element&&t.offsetParent))return!1;const e=t.scrollHeight>t.clientHeight,i=window.getComputedStyle(t).overflowY,n=-1!==i.indexOf("hidden"),s=-1!==i.indexOf("visible");return e&&!n&&!s}(t)?t:S(t.parentElement,e))},E=t=>`${t||""}`.split(" ").filter((t=>!!t)),P=(t,e,i)=>{E(e).forEach((e=>{t&&t.classList.toggle(e,i||!1)}))};class C{constructor(t){Object.defineProperty(this,"pageX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nativePointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.nativePointer=t,this.pageX=t.pageX,this.pageY=t.pageY,this.clientX=t.clientX,this.clientY=t.clientY,this.id=self.Touch&&t instanceof Touch?t.identifier:-1,this.time=Date.now()}}const M={passive:!1};class T{constructor(t,{start:e=(()=>!0),move:i=(()=>{}),end:n=(()=>{})}){Object.defineProperty(this,"element",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"startCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"moveCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"endCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"startPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.element=t,this.startCallback=e,this.moveCallback=i,this.endCallback=n;for(const t of["onPointerStart","onTouchStart","onMove","onTouchEnd","onPointerEnd","onWindowBlur"])this[t]=this[t].bind(this);this.element.addEventListener("mousedown",this.onPointerStart,M),this.element.addEventListener("touchstart",this.onTouchStart,M),this.element.addEventListener("touchmove",this.onMove,M),this.element.addEventListener("touchend",this.onTouchEnd),this.element.addEventListener("touchcancel",this.onTouchEnd)}onPointerStart(t){if(!t.buttons||0!==t.button)return;const e=new C(t);this.currentPointers.some((t=>t.id===e.id))||this.triggerPointerStart(e,t)&&(window.addEventListener("mousemove",this.onMove),window.addEventListener("mouseup",this.onPointerEnd),window.addEventListener("blur",this.onWindowBlur))}onTouchStart(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerStart(new C(e),t);window.addEventListener("blur",this.onWindowBlur)}onMove(t){const e=this.currentPointers.slice(),i="changedTouches"in t?Array.from(t.changedTouches||[]).map((t=>new C(t))):[new C(t)],n=[];for(const t of i){const e=this.currentPointers.findIndex((e=>e.id===t.id));e<0||(n.push(t),this.currentPointers[e]=t)}n.length&&this.moveCallback(t,this.currentPointers.slice(),e)}onPointerEnd(t){t.buttons>0&&0!==t.button||(this.triggerPointerEnd(t,new C(t)),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur))}onTouchEnd(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerEnd(t,new C(e))}triggerPointerStart(t,e){return!!this.startCallback(e,t,this.currentPointers.slice())&&(this.currentPointers.push(t),this.startPointers.push(t),!0)}triggerPointerEnd(t,e){const i=this.currentPointers.findIndex((t=>t.id===e.id));i<0||(this.currentPointers.splice(i,1),this.startPointers.splice(i,1),this.endCallback(t,e,this.currentPointers.slice()))}onWindowBlur(){this.clear()}clear(){for(;this.currentPointers.length;){const t=this.currentPointers[this.currentPointers.length-1];this.currentPointers.splice(this.currentPointers.length-1,1),this.startPointers.splice(this.currentPointers.length-1,1),this.endCallback(new Event("touchend",{bubbles:!0,cancelable:!0,clientX:t.clientX,clientY:t.clientY}),t,this.currentPointers.slice())}}stop(){this.element.removeEventListener("mousedown",this.onPointerStart,M),this.element.removeEventListener("touchstart",this.onTouchStart,M),this.element.removeEventListener("touchmove",this.onMove,M),this.element.removeEventListener("touchend",this.onTouchEnd),this.element.removeEventListener("touchcancel",this.onTouchEnd),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur)}}function O(t,e){return e?Math.sqrt(Math.pow(e.clientX-t.clientX,2)+Math.pow(e.clientY-t.clientY,2)):0}function A(t,e){return e?{clientX:(t.clientX+e.clientX)/2,clientY:(t.clientY+e.clientY)/2}:t}var L;!function(t){t[t.Init=0]="Init",t[t.Error=1]="Error",t[t.Ready=2]="Ready",t[t.Panning=3]="Panning",t[t.Mousemove=4]="Mousemove",t[t.Destroy=5]="Destroy"}(L||(L={}));const z=["a","b","c","d","e","f"],R={content:null,width:"auto",height:"auto",panMode:"drag",touch:!0,dragMinThreshold:3,lockAxis:!1,mouseMoveFactor:1,mouseMoveFriction:.12,zoom:!0,pinchToZoom:!0,panOnlyZoomed:"auto",minScale:1,maxScale:2,friction:.25,dragFriction:.35,decelFriction:.05,click:"toggleZoom",dblClick:!1,wheel:"zoom",wheelLimit:7,spinner:!0,bounds:"auto",infinite:!1,rubberband:!0,bounce:!0,maxVelocity:75,transformParent:!1,classes:{content:"f-panzoom__content",isLoading:"is-loading",canZoomIn:"can-zoom_in",canZoomOut:"can-zoom_out",isDraggable:"is-draggable",isDragging:"is-dragging",inFullscreen:"in-fullscreen",htmlHasFullscreen:"with-panzoom-in-fullscreen"},l10n:h},k=(t,e)=>{E(e).forEach((e=>{t&&t.classList.remove(e)}))},I=(t,e)=>{E(e).forEach((e=>{t&&t.classList.add(e)}))},D={a:1,b:0,c:0,d:1,e:0,f:0};let F=null,j=null;class H extends g{get isTouchDevice(){return null===j&&(j=window.matchMedia("(hover: none)").matches),j}get isMobile(){return null===F&&(F=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)),F}get panMode(){return"mousemove"!==this.options.panMode||this.isTouchDevice?"drag":"mousemove"}get panOnlyZoomed(){const t=this.options.panOnlyZoomed;return"auto"===t?this.isTouchDevice:t}get isInfinite(){return this.option("infinite")}get angle(){return 180*Math.atan2(this.current.b,this.current.a)/Math.PI||0}get targetAngle(){return 180*Math.atan2(this.target.b,this.target.a)/Math.PI||0}get scale(){const{a:t,b:e}=this.current;return Math.sqrt(t*t+e*e)||1}get targetScale(){const{a:t,b:e}=this.target;return Math.sqrt(t*t+e*e)||1}get minScale(){return this.option("minScale")||1}get fullScale(){const{contentRect:t}=this;return t.fullWidth/t.fitWidth||1}get maxScale(){return this.fullScale*(this.option("maxScale")||1)||1}get coverScale(){const{containerRect:t,contentRect:e}=this,i=Math.max(t.height/e.fitHeight,t.width/e.fitWidth)||1;return Math.min(this.fullScale,i)}get isScaling(){return Math.abs(this.targetScale-this.scale)>1e-5&&!this.isResting}get isContentLoading(){const t=this.content;return!!(t&&t instanceof HTMLImageElement)&&!t.complete}get isResting(){if(this.isBouncingX||this.isBouncingY)return!1;for(const t of z){const e="e"==t||"f"===t?.001:1e-5;if(Math.abs(this.target[t]-this.current[t])>e)return!1}return!(!this.ignoreBounds&&!this.checkBounds().inBounds)}constructor(t,e={},n={}){var s;if(super(e),Object.defineProperty(this,"pointerTracker",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"updateTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"clickTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"rAF",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"isTicking",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"friction",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoreBounds",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingX",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingY",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"clicks",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"trackingPoints",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"wheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevMouseMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:L.Init}),Object.defineProperty(this,"isDragging",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"spinner",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"containerRect",{enumerable:!0,configurable:!0,writable:!0,value:{width:0,height:0,innerWidth:0,innerHeight:0}}),Object.defineProperty(this,"contentRect",{enumerable:!0,configurable:!0,writable:!0,value:{top:0,right:0,bottom:0,left:0,fullWidth:0,fullHeight:0,fitWidth:0,fitHeight:0,width:0,height:0}}),Object.defineProperty(this,"dragStart",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,top:0,left:0,time:0}}),Object.defineProperty(this,"dragOffset",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,time:0}}),Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},D)}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},D)}),Object.defineProperty(this,"velocity",{enumerable:!0,configurable:!0,writable:!0,value:{a:0,b:0,c:0,d:0,e:0,f:0}}),Object.defineProperty(this,"lockedAxis",{enumerable:!0,configurable:!0,writable:!0,value:!1}),!t)throw new Error("No Element found");if(this.container=t,this.initContent(),this.attachPlugins(Object.assign(Object.assign({},H.Plugins),n)),this.emit("init"),this.isContentLoading){const e=this.content;if(this.option("spinner")){t.classList.add(this.cn("isLoading"));const n=i(c);t.contains(e)?this.spinner=(null===(s=e.parentElement)||void 0===s?void 0:s.insertBefore(n,e))||null:this.spinner=t.appendChild(n)}this.emit("beforeLoad"),e.addEventListener("load",this.onLoad),e.addEventListener("error",this.onError)}else queueMicrotask((()=>{this.enable()}))}initContent(){const{container:t}=this;let e=this.option("content")||t.querySelector(`.${this.cn("content")}`);if(e||(e=t.querySelector("img")||t.firstElementChild,e&&e.classList.add(this.cn("content"))),!e)throw new Error("No content found");this.content=e}onLoad(){this.spinner&&(this.spinner.remove(),this.spinner=null),this.option("spinner")&&this.container.classList.remove(this.cn("isLoading")),this.emit("afterLoad"),this.state===L.Init&&this.enable()}onError(){this.state!==L.Destroy&&(this.spinner&&(this.spinner.remove(),this.spinner=null),this.stop(),this.detachEvents(),this.state=L.Error,this.emit("error"))}attachObserver(){var t;const e=()=>Math.abs(this.containerRect.width-this.container.getBoundingClientRect().width)>.1||Math.abs(this.containerRect.height-this.container.getBoundingClientRect().height)>.1;this.resizeObserver||void 0===window.ResizeObserver||(this.resizeObserver=new ResizeObserver((()=>{this.updateTimer||(e()?(this.onResize(),this.isMobile&&(this.updateTimer=setTimeout((()=>{e()&&this.onResize(),this.updateTimer=null}),500))):this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null))}))),null===(t=this.resizeObserver)||void 0===t||t.observe(this.container)}detachObserver(){var t;null===(t=this.resizeObserver)||void 0===t||t.disconnect()}attachEvents(){const{container:t}=this;t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("wheel",this.onWheel,{passive:!1}),this.pointerTracker=new T(t,{start:this.onPointerDown,move:this.onPointerMove,end:this.onPointerUp}),document.addEventListener("mousemove",this.onMouseMove)}detachEvents(){var t;const{container:e}=this;e.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),e.removeEventListener("wheel",this.onWheel,{passive:!1}),null===(t=this.pointerTracker)||void 0===t||t.stop(),this.pointerTracker=null,document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("keydown",this.onKeydown,!0),this.clickTimer&&(clearTimeout(this.clickTimer),this.clickTimer=null),this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null)}animate(){this.setTargetForce();const t=this.option("maxVelocity");for(const e of z)this.friction?(this.velocity[e]*=1-this.friction,t&&!this.isScaling&&(this.velocity[e]=Math.max(Math.min(this.velocity[e],t),-1*t)),this.current[e]+=this.velocity[e]):this.current[e]=this.target[e];this.setTransform(),this.setEdgeForce(),!this.isResting||this.isDragging?this.rAF=requestAnimationFrame((()=>this.animate())):this.stop("current")}setTargetForce(){for(const t of z)"e"===t&&this.isBouncingX||"f"===t&&this.isBouncingY||(this.velocity[t]=(1/(1-this.friction)-1)*(this.target[t]-this.current[t]))}checkBounds(t=0,e=0){const{current:i}=this,n=i.e+t,s=i.f+e,o=this.getBounds(),{x:a,y:r}=o,l=a.min,c=a.max,h=r.min,d=r.max;let u=0,p=0;return l!==1/0&&nc&&(u=c-n),h!==1/0&&sd&&(p=d-s),Math.abs(u)<.001&&(u=0),Math.abs(p)<.001&&(p=0),Object.assign(Object.assign({},o),{xDiff:u,yDiff:p,inBounds:!u&&!p})}clampTargetBounds(){const{target:t}=this,{x:e,y:i}=this.getBounds();e.min!==1/0&&(t.e=Math.max(t.e,e.min)),e.max!==1/0&&(t.e=Math.min(t.e,e.max)),i.min!==1/0&&(t.f=Math.max(t.f,i.min)),i.max!==1/0&&(t.f=Math.min(t.f,i.max))}calculateContentDim(t=this.current){const{content:e,contentRect:i}=this,{fitWidth:n,fitHeight:s,fullWidth:o,fullHeight:a}=i;let r=o,l=a;if(this.option("zoom")||0!==this.angle){const i=!(e instanceof HTMLImageElement)&&("none"===window.getComputedStyle(e).maxWidth||"none"===window.getComputedStyle(e).maxHeight),c=i?o:n,h=i?a:s,d=this.getMatrix(t),u=new DOMPoint(0,0).matrixTransform(d),p=new DOMPoint(0+c,0).matrixTransform(d),m=new DOMPoint(0+c,0+h).matrixTransform(d),f=new DOMPoint(0,0+h).matrixTransform(d),g=Math.abs(m.x-u.x),b=Math.abs(m.y-u.y),v=Math.abs(f.x-p.x),y=Math.abs(f.y-p.y);r=Math.max(g,v),l=Math.max(b,y)}return{contentWidth:r,contentHeight:l}}setEdgeForce(){if(this.ignoreBounds||this.isDragging||"mousemove"===this.panMode||this.targetScale{const t=window.getSelection();return t&&"Range"===t.type})()&&!i.closest("button"))return;const s=i.closest("[data-panzoom-action]"),o=i.closest("[data-panzoom-change]"),a=s||o,r=a&&n(a)?a.dataset:null;if(r){const e=r.panzoomChange,i=r.panzoomAction;if((e||i)&&t.preventDefault(),e){let t={};try{t=JSON.parse(e)}catch(t){console&&console.warn("The given data was not valid JSON")}return void this.applyChange(t)}if(i)return void(this[i]&&this[i]())}if(Math.abs(this.dragOffset.x)>3||Math.abs(this.dragOffset.y)>3)return t.preventDefault(),void t.stopPropagation();const l=this.content.getBoundingClientRect();if(this.dragStart.time&&!this.canZoomOut()&&(Math.abs(l.x-this.dragStart.x)>2||Math.abs(l.y-this.dragStart.y)>2))return;this.dragStart.time=0;const c=e=>{!this.option("zoom")||Math.abs(this.velocity.a)>.3||e&&"string"==typeof e&&/(iterateZoom)|(toggle(Zoom|Full|Cover|Max)|(zoomTo(Fit|Cover|Max)))/.test(e)&&"function"==typeof this[e]&&(t.preventDefault(),this[e]({event:t}))},h=this.option("click",t),d=this.option("dblClick",t);d?(this.clicks++,1==this.clicks&&(this.clickTimer=setTimeout((()=>{1===this.clicks?(this.emit("click",t),!t.defaultPrevented&&h&&c(h)):(this.emit("dblClick",t),t.defaultPrevented||c(d)),this.clicks=0,this.clickTimer=null}),350))):(this.emit("click",t),!t.defaultPrevented&&h&&c(h))}addTrackingPoint(t){const e=this.trackingPoints.filter((t=>t.time>Date.now()-100));e.push(t),this.trackingPoints=e}onPointerDown(t,e,i){var n;this.dragOffset={x:0,y:0,time:0},this.trackingPoints=[];const s=this.content.getBoundingClientRect();if(this.dragStart={x:s.x,y:s.y,top:s.top,left:s.left,time:Date.now()},this.clickTimer)return!1;if("mousemove"===this.panMode&&this.targetScale>1)return t.preventDefault(),t.stopPropagation(),!1;if(!i.length){const e=t.composedPath()[0];if(["A","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].includes(e.nodeName)||e.closest("[contenteditable]")||e.closest("[data-selectable]")||e.closest("[data-panzoom-change]")||e.closest("[data-panzoom-action]"))return!1;null===(n=window.getSelection())||void 0===n||n.removeAllRanges()}return"mousedown"===t.type&&t.preventDefault(),x(this.targetScale,1e3)===x(this.minScale,1e3)?(this.stop(),this.target.e=this.current.e,this.target.f=this.current.f):this.stop("target"),this.isDragging=!0,this.addTrackingPoint(e),this.emit("touchStart",t),!0}onPointerMove(t,e,i){if(!1===this.option("touch",t))return;if(!this.isDragging)return;if(e.length<2&&this.panOnlyZoomed&&x(this.targetScale)<=x(this.minScale))return;if(this.emit("touchMove",t),t.defaultPrevented)return;this.addTrackingPoint(e[0]);const{content:n}=this,s=A(i[0],i[1]),o=A(e[0],e[1]);let a=0,r=0;if(e.length>1){const t=n.getBoundingClientRect();a=s.clientX-t.left-.5*t.width,r=s.clientY-t.top-.5*t.height}const l=O(i[0],i[1]),c=O(e[0],e[1]);let h=l?c/l:1,d=o.clientX-s.clientX,u=o.clientY-s.clientY;this.dragOffset.x+=d,this.dragOffset.y+=u,this.dragOffset.time=Date.now()-this.dragStart.time;let p=x(this.targetScale)===x(this.minScale)&&this.option("lockAxis");if(p&&!this.lockedAxis)if("xy"===p||"y"===p||"touchmove"===t.type){if(Math.abs(this.dragOffset.x)<6&&Math.abs(this.dragOffset.y)<6)return void t.preventDefault();const e=Math.abs(180*Math.atan2(this.dragOffset.y,this.dragOffset.x)/Math.PI);this.lockedAxis=e>45&&e<135?"y":"x",this.dragOffset.x=0,this.dragOffset.y=0,d=0,u=0}else this.lockedAxis=p;if(S(t.target,this.content)&&(p="x",this.dragOffset.y=0),p&&"xy"!==p&&this.lockedAxis!==p&&x(this.targetScale)===x(this.minScale))return;t.cancelable&&t.preventDefault(),this.container.classList.add(this.cn("isDragging"));const m=this.checkBounds(d,u);this.option("rubberband")?("x"!==this.isInfinite&&(m.xDiff>0&&d<0||m.xDiff<0&&d>0)&&(d*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitWidth*m.xDiff))),"y"!==this.isInfinite&&(m.yDiff>0&&u<0||m.yDiff<0&&u>0)&&(u*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitHeight*m.yDiff)))):(m.xDiff&&(d=0),m.yDiff&&(u=0));const f=this.targetScale,g=this.minScale,b=this.maxScale;f<.5*g&&(h=Math.max(h,g)),f>1.5*b&&(h=Math.min(h,b)),"y"===this.lockedAxis&&x(f)===x(g)&&(d=0),"x"===this.lockedAxis&&x(f)===x(g)&&(u=0),this.applyChange({originX:a,originY:r,panX:d,panY:u,scale:h,friction:this.option("dragFriction"),ignoreBounds:!0})}onPointerUp(t,e,i){if(i.length)return this.dragOffset.x=0,this.dragOffset.y=0,void(this.trackingPoints=[]);this.container.classList.remove(this.cn("isDragging")),this.isDragging&&(this.addTrackingPoint(e),this.panOnlyZoomed&&this.contentRect.width-this.contentRect.fitWidth<1&&this.contentRect.height-this.contentRect.fitHeight<1&&(this.trackingPoints=[]),S(t.target,this.content)&&"y"===this.lockedAxis&&(this.trackingPoints=[]),this.emit("touchEnd",t),this.isDragging=!1,this.lockedAxis=!1,this.state!==L.Destroy&&(t.defaultPrevented||this.startDecelAnim()))}startDecelAnim(){this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of z)this.velocity[t]=0,this.target[t]=this.current[t];k(this.container,"is-scaling"),k(this.container,"is-animating"),this.isTicking=!1;const{trackingPoints:t}=this,e=t[0],i=t[t.length-1];let n=0,s=0,o=0;i&&e&&(n=i.clientX-e.clientX,s=i.clientY-e.clientY,o=i.time-e.time);let a=0,r=0,l=0,c=0,h=this.option("decelFriction");const d=this.targetScale;if((dthis.maxScale+1e-5)&&(h=.35),o>0){l=Math.abs(n)>3?n/(o/30):0,c=Math.abs(s)>3?s/(o/30):0;const t=this.option("maxVelocity");t&&(l=Math.max(Math.min(l,t),-1*t),c=Math.max(Math.min(c,t),-1*t))}l&&(a=l/(1/(1-h)-1)),c&&(r=c/(1/(1-h)-1)),("y"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"y"===this.lockedAxis&&x(d)===this.minScale)&&(a=l=0),("x"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"x"===this.lockedAxis&&x(d)===this.minScale)&&(r=c=0);const u=this.dragOffset.x,p=this.dragOffset.y,m=this.option("dragMinThreshold")||0;Math.abs(u){let e=0;return e=t instanceof HTMLImageElement?t.naturalWidth:t instanceof SVGElement?t.width.baseVal.value:t.offsetWidth,Math.max(e,t.scrollWidth)})(n)),"auto"===p&&(p=parseFloat(n.dataset.height||"")||(t=>{let e=0;return e=t instanceof HTMLImageElement?t.naturalHeight:t instanceof SVGElement?t.height.baseVal.value:t.offsetHeight,Math.max(e,t.scrollHeight)})(n));const m=(this.option("transformParent")?n.parentElement:null)||n,f=m.getAttribute("style")||"";m.style.setProperty("transform","none","important"),n instanceof HTMLImageElement&&(m.style.width="",m.style.height=""),m.offsetHeight;const g=n.getBoundingClientRect();let b=g.width,v=g.height,y=0,w=0;if(n instanceof HTMLImageElement&&({width:b,height:v,top:y,left:w}=((t,e,i,n)=>{const s=i/n;return s>t/e?(i=t,n=t/s):(i=e*s,n=e),{width:i,height:n,top:.5*(e-n),left:.5*(t-i)}})(g.width,g.height,u,p)),this.contentRect=Object.assign(Object.assign({},this.contentRect),{top:g.top-a.top+y,bottom:a.bottom-g.bottom+y,left:g.left-a.left+w,right:a.right-g.right+w,fitWidth:b,fitHeight:v,width:b,height:v,fullWidth:u,fullHeight:p}),m.style.cssText=f,n instanceof HTMLImageElement&&(m.style.width=`${b}px`,m.style.height=`${v}px`),this.setTransform(),!0!==t){let t="";Math.abs(l-s)>1&&(t+="x"),Math.abs(c-o)>1&&(t+="y"),t&&this.emit("refresh",t)}this.ignoreBounds||(x(this.targetScale)this.maxScale?this.zoomTo(this.maxScale,{friction:0}):this.state===L.Init||this.checkBounds().inBounds||this.requestTick()),this.updateControls()}getBounds(){const t=this.option("bounds");if("auto"!==t)return t;const{contentWidth:e,contentHeight:i}=this.calculateContentDim(this.target);let n=0,s=0,o=0,a=0;const r=this.option("infinite");if(!0===r||this.lockedAxis&&r===this.lockedAxis)n=-1/0,o=1/0,s=-1/0,a=1/0;else{let{containerRect:t,contentRect:r}=this,l=x(this.contentRect.fitWidth*this.targetScale,1e3),c=x(this.contentRect.fitHeight*this.targetScale,1e3),{innerWidth:h,innerHeight:d}=t;if(this.containerRect.width===l&&(h=t.width),this.containerRect.width===c&&(d=t.height),e>h){o=.5*(e-h),n=-1*o;let t=.5*(r.right-r.left);n+=t,o+=t}if(this.contentRect.fitWidth>h&&ed){a=.5*(i-d),s=-1*a;let t=.5*(r.bottom-r.top);s+=t,a+=t}this.contentRect.fitHeight>d&&i-1||this.contentRect.height-this.contentRect.fitHeight>-1)&&(a=!0),this.contentRect.width*this.targetScalex(this.targetScale),l=!r&&!a&&s&&x(i).9*t.fullScale?"none":"")}}panTo({x:t=this.target.e,y:e=this.target.f,scale:i=this.targetScale,friction:n=this.option("friction"),angle:s=0,originX:o=0,originY:a=0,flipX:r=!1,flipY:l=!1,ignoreBounds:c=!1}){this.state!==L.Destroy&&this.applyChange({panX:t-this.target.e,panY:e-this.target.f,scale:i/this.targetScale,angle:s,originX:o,originY:a,friction:n,flipX:r,flipY:l,ignoreBounds:c})}applyChange({panX:t=0,panY:e=0,scale:i=1,angle:n=0,originX:s=-this.current.e,originY:o=-this.current.f,friction:a=this.option("friction"),flipX:r=!1,flipY:l=!1,ignoreBounds:c=!1,bounce:h=this.option("bounce")}){const d=this.state;if(d===L.Init||d===L.Destroy)return;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of z)this.velocity[t]=0;this.friction=a||0,this.ignoreBounds=c;const{current:u}=this,p=u.e,m=u.f,f=this.getMatrix(this.target);let g=(new DOMMatrix).translate(p,m).translate(s,o).translate(t,e);if(this.option("zoom")){if(!c){const t=this.targetScale,e=this.minScale,n=this.maxScale;t*in&&(i=n/t)}g=g.scale(i)}g=g.translate(-s,-o).translate(-p,-m).multiply(f),n&&(g=g.rotate(n)),r&&(g=g.scale(-1,1)),l&&(g=g.scale(1,-1));for(const t of z)"a"!=t&&"d"!=t||!(g[t]>this.minScale+1e-5||g[t].1||"mousemove"===this.panMode||!1===h)&&!c&&this.clampTargetBounds(),this.isResting||(this.state=L.Panning,this.requestTick())}stop(t=!1){if(this.state===L.Init||this.state===L.Destroy)return;const e=this.isTicking;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const e of z)this.velocity[e]=0,"current"===t?this.current[e]=this.target[e]:"target"===t&&(this.target[e]=this.current[e]);this.setTransform(),k(this.container,"is-scaling"),k(this.container,"is-animating"),this.isTicking=!1,this.state=L.Ready,e&&(this.emit("endAnimation"),this.updateControls())}requestTick(){this.isTicking||(this.emit("startAnimation"),this.updateControls(),I(this.container,"is-animating"),this.isScaling&&I(this.container,"is-scaling")),this.isTicking=!0,this.rAF||(this.rAF=requestAnimationFrame((()=>this.animate())))}panWithMouse(t,e=this.option("mouseMoveFriction")){if(this.prevMouseMoveEvent=t,"mousemove"!==this.panMode||!t)return;if(x(this.targetScale)<=x(this.minScale))return;this.emit("mouseMove",t);const{container:i,containerRect:n,contentRect:s}=this,o=n.width,a=n.height,r=i.getBoundingClientRect(),l=(t.clientX||0)-r.left,c=(t.clientY||0)-r.top;let{contentWidth:h,contentHeight:d}=this.calculateContentDim(this.target);const u=this.option("mouseMoveFactor");u>1&&(h!==o&&(h*=u),d!==a&&(d*=u));let p=.5*(h-o)-l/o*100/100*(h-o);p+=.5*(s.right-s.left);let m=.5*(d-a)-c/a*100/100*(d-a);m+=.5*(s.bottom-s.top),this.applyChange({panX:p-this.target.e,panY:m-this.target.f,friction:e})}zoomWithWheel(t){if(this.state===L.Destroy||this.state===L.Init)return;const e=Math.abs(t.deltaY)<100&&Math.abs(t.deltaX)<100?25:50,i=Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||-t.detail)),n=this.targetScale,s=this.maxScale,o=this.minScale;let a=n*(100+i*e)/100;as&&n>=s?(this.wheelDelta+=Math.abs(i),a=s):(this.wheelDelta=0,a=Math.max(Math.min(a,s),o)),this.wheelDelta>this.option("wheelLimit")||(t.preventDefault(),a!==n&&this.zoomTo(a,{event:t}))}canZoomIn(){return this.option("zoom")&&(this.contentRect.widththis.minScale+1e-5}zoomIn(t=1.25,e){this.zoomTo(this.targetScale*t,e)}zoomOut(t=.8,e){this.zoomTo(this.targetScale*t,e)}zoomToFit(t){this.zoomTo("fit",t)}zoomToCover(t){this.zoomTo("cover",t)}zoomToFull(t){this.zoomTo("full",t)}zoomToMax(t){this.zoomTo("max",t)}toggleZoom(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.fullScale-this.minScale)?"full":"fit",t)}toggleMax(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.maxScale-this.minScale)?"max":"fit",t)}toggleCover(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.coverScale-this.minScale)?"cover":"fit",t)}iterateZoom(t){this.zoomTo("next",t)}zoomTo(t=1,{friction:e="auto",originX:i=0,originY:n=0,event:s}={}){if(this.isContentLoading||this.state===L.Destroy)return;this.stop();const{targetScale:o}=this;let a=1;if("mousemove"===this.panMode&&(s=this.prevMouseMoveEvent||s),s){const t=this.content.getBoundingClientRect(),e=s.clientX||0,o=s.clientY||0;i=e-t.left-.5*t.width,n=o-t.top-.5*t.height}const r=this.fullScale,l=this.maxScale;let c=this.coverScale;"number"==typeof t?a=t/o:("next"===t&&(r-c<.2&&(c=r),t=o1?.15:.25:e,this.applyChange({scale:a,originX:i,originY:n,friction:e}),s&&"mousemove"===this.panMode&&this.panWithMouse(s,e)}rotateCCW(){this.applyChange({angle:-90})}rotateCW(){this.applyChange({angle:90})}flipX(){this.applyChange({flipX:!0})}flipY(){this.applyChange({flipY:!0})}fitX(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.width/e.fitWidth/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}fitY(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.height/e.fitHeight/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}toggleFS(){const{container:t}=this,e=this.cn("inFullscreen"),i=this.cn("htmlHasFullscreen");t.classList.toggle(e);const n=t.classList.contains(e);n?(document.documentElement.classList.add(i),document.addEventListener("keydown",this.onKeydown,!0)):(document.documentElement.classList.remove(i),document.removeEventListener("keydown",this.onKeydown,!0)),this.updateMetrics(),this.emit(n?"enterFS":"exitFS")}getMatrix(t=this.current){const{a:e,b:i,c:n,d:s,e:o,f:a}=t;return new DOMMatrix([e,i,n,s,o,a])}reset(t){if(this.state!==L.Init&&this.state!==L.Destroy){this.stop("current");for(const t of z)this.target[t]=D[t];this.target.a=this.minScale,this.target.d=this.minScale,this.isResting||(this.friction=void 0===t?this.option("friction"):t,this.state=L.Panning,this.requestTick())}}destroy(){this.stop(),this.state=L.Destroy,this.detachEvents(),this.detachObserver();const{container:t,content:e}=this,i=this.option("classes")||{};for(const e of Object.values(i))t.classList.remove(e+"");e&&(e.removeEventListener("load",this.onLoad),e.removeEventListener("error",this.onError)),this.detachPlugins()}}Object.defineProperty(H,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:R}),Object.defineProperty(H,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}});const B=t=>new Promise(((e,i)=>{const n=new Image;n.onload=e,n.onerror=i,n.src=t}));class _ extends b{onCreateSlide(t,e,i){const n=this.instance,s=n.optionFor(i,"src")||"",{el:o,type:a}=i;o&&"image"===a&&"string"==typeof s&&this.setContent(i,s).then((t=>{if(n.isClosing())return;const e=i.contentEl,s=i.imageEl,o=i.thumbElSrc,a=this.optionFor(i,"initialSize"),r=this.optionFor(i,"zoom"),l={event:n.prevMouseMoveEvent||n.options.event,friction:r?.12:0};if(e&&s&&o&&n.isOpeningSlide(i)&&this.getZoomInfo(i)){let t=document.createElement("img");I(t,"fancybox-ghost"),e.appendChild(t),t.src=o,setTimeout((()=>{n.animate(t,"f-fadeFastOut",(()=>{t&&(t.remove(),t=null)}))}),333),B(o).then((()=>{i.state=p.Opening,this.instance.emit("reveal",i),this.zoomIn(i).then((()=>{this.instance.done(i)}),(()=>{n.hideLoading(i)}))}),(()=>{n.hideLoading(i),n.revealContent(i)}))}else{let e=n.optionFor(i,"showClass")||void 0,s=!0;n.isOpeningSlide(i)&&("full"===a?t.zoomToFull(l):"cover"===a?t.zoomToCover(l):"max"===a?t.zoomToMax(l):s=!1,t.stop("current")),s&&e&&(e="f-fadeIn"),n.revealContent(i,e)}}),(()=>{n.setError(i,"{{IMAGE_ERROR}}")}))}onRemoveSlide(t,e,i){i.panzoom&&i.panzoom.destroy(),i.panzoom=void 0,i.imageEl=void 0}onChange(t,e,i,n){for(const t of e.slides){const e=t.panzoom;e&&t.index!==i&&e.reset(.35)}}onClose(){const t=this.instance,e=t.container,i=t.getSlide();if(!e||!e.parentElement||!i)return;const{el:n,contentEl:s,panzoom:o}=i,a=i.thumbElSrc;if(!n||!a||!s||!o||o.isContentLoading||o.state===L.Init||o.state===L.Destroy)return;o.updateMetrics();let r=this.getZoomInfo(i);if(!r)return;this.instance.state=u.CustomClosing,n.classList.remove("is-zooming-in"),n.classList.add("is-zooming-out"),s.style.backgroundImage=`url('${a}')`,B(a).then((()=>{n.classList.add("hide-image")}),(()=>{}));const l=e.getBoundingClientRect();Object.assign(e.style,{position:"absolute",top:`${window.pageYOffset}px`,left:`${window.pageXOffset}px`,bottom:"auto",right:"auto",width:`${l.width}px`,height:`${l.height}px`,overflow:"hidden"});const{x:c,y:h,scale:d,opacity:p}=r;if(p){const t=((t,e,i,n)=>{const s=e-t,o=n-i;return e=>i+((e-t)/s*o||0)})(o.scale,d,1,0);o.on("afterTransform",(()=>{s.style.opacity=t(o.scale)+""}))}o.on("endAnimation",(()=>{t.destroy()})),o.target.a=d,o.target.b=0,o.target.c=0,o.target.d=d,o.panTo({x:c,y:h,scale:d,friction:p?.2:.33,ignoreBounds:!0}),o.isResting&&t.destroy()}setContent(t,i){return new Promise(((n,s)=>{var o,a;const r=this.instance,l=t.el;if(!l)return void s();r.showLoading(t);const c=document.createElement("img");if(c.classList.add("fancybox-image"),c.src=i||"",c.alt=(null===(o=t.caption)||void 0===o?void 0:o.replace(/<[^>]+>/gi,"").substring(0,1e3))||`Image ${t.index+1} of ${null===(a=r.carousel)||void 0===a?void 0:a.pages.length}`,c.draggable=!1,t.srcset&&c.setAttribute("srcset",t.srcset),t.sizes&&c.setAttribute("sizes",t.sizes),t.imageEl=c,r.setContent(t,c,!1),this.option("protected")){l.addEventListener("contextmenu",(t=>{t.preventDefault()}));const e=t.contentEl;if(e){const t=document.createElement("div");I(t,"fancybox-protected"),e.append(t)}}t.panzoom=new H(l,e({},this.option("Panzoom")||{},{content:c,width:r.optionFor(t,"width","auto"),height:r.optionFor(t,"height","auto"),wheel:()=>{const t=r.option("wheel");return("zoom"===t||"pan"==t)&&t},click:(e,i)=>{var n;if(r.isCompact||r.isClosing())return!1;let s=!i||i.target&&(null===(n=t.contentEl)||void 0===n?void 0:n.contains(i.target));return r.option(s?"contentClick":"backdropClick")||!1},dblClick:()=>r.isCompact?"toggleZoom":r.option("contentDblClick")||!1,spinner:!1,panOnlyZoomed:!0,wheelLimit:1/0,transformParent:!0,on:{ready:t=>{n(t)},error:()=>{s()},destroy:()=>{s()}}}))}))}zoomIn(t){return new Promise(((e,i)=>{const{panzoom:n,contentEl:s,el:o}=t;n&&n.updateMetrics();const a=this.getZoomInfo(t);if(!(a&&o&&s&&n))return void i();const{x:r,y:l,scale:c,opacity:h}=a,d=()=>{t.state!==p.Closing&&(h&&(s.style.opacity=Math.max(Math.min(1,1-(1-n.scale)/(1-c)),0)+""),n.scale>=1&&n.scale>n.targetScale-.1&&e(n))},u=t=>{t.scale<.99||t.scale>1.01||(s.style.opacity="",o.classList.remove("is-zooming-in"),t.off("endAnimation",u),t.off("touchStart",u),t.off("afterTransform",d),e(t))};n.on("endAnimation",u),n.on("touchStart",u),n.on("afterTransform",d),n.on(["error","destroy"],(()=>{i()})),n.panTo({x:r,y:l,scale:c,friction:0,ignoreBounds:!0}),n.stop("current");const m=this.instance,f={event:"mousemove"===n.panMode?m.prevMouseMoveEvent||m.options.event:void 0},g=this.optionFor(t,"initialSize");I(o,"is-zooming-in"),m.hideLoading(t),"full"===g?n.zoomToFull(f):"cover"===g?n.zoomToCover(f):"max"===g?n.zoomToMax(f):n.reset(.165)}))}getZoomInfo(t){const{el:e,imageEl:i,thumbEl:n,panzoom:o}=t;if(!e||!i||!n||!o||s(n)<3||!this.optionFor(t,"zoom")||this.instance.state===u.Destroy)return!1;const{top:a,left:r,width:l,height:c}=n.getBoundingClientRect();let{top:h,left:d,fitWidth:p,fitHeight:m}=o.contentRect;if(!(l&&c&&p&&m))return!1;const f=l/p,g=o.container.getBoundingClientRect();h+=g.top,d+=g.left;const b=-1*(d+.5*p-(r+.5*l)),v=-1*(h+.5*m-(a+.5*c));let y=this.option("zoomOpacity")||!1;return"auto"===y&&(y=Math.abs(l/c-p/m)>.1),{x:b,y:v,scale:f,opacity:y}}attach(){this.instance.on("Carousel.change",this.onChange),this.instance.on("Carousel.createSlide",this.onCreateSlide),this.instance.on("Carousel.removeSlide",this.onRemoveSlide),this.instance.on("close",this.onClose)}detach(){this.instance.off("Carousel.change",this.onChange),this.instance.off("Carousel.createSlide",this.onCreateSlide),this.instance.off("Carousel.removeSlide",this.onRemoveSlide),this.instance.off("close",this.onClose)}}Object.defineProperty(_,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{initialSize:"fit",Panzoom:{maxScale:1},protected:!1,zoom:!0,zoomOpacity:"auto"}});const N=(t,e={})=>{const i=new URL(t),n=new URLSearchParams(i.search),s=new URLSearchParams;for(const[t,i]of[...n,...Object.entries(e)]){let e=i.toString();"t"===t?s.set("start",parseInt(e).toString()):s.set(t,e)}let o=s.toString(),a=t.match(/#t=((.*)?\d+s)/);return a&&(o+=`#t=${a[1]}`),o},W={ajax:null,autoSize:!0,preload:!0,videoAutoplay:!0,videoRatio:16/9,videoTpl:'',videoFormat:"",vimeo:{byline:1,color:"00adef",controls:1,dnt:1,muted:0},youtube:{controls:1,enablejsapi:1,rel:0,fs:1}},$=["image","html","ajax","inline","clone","iframe","map","pdf","html5video","youtube","vimeo","video"];class X extends b{onInitSlide(t,e,i){this.processType(i)}onCreateSlide(t,e,i){this.setContent(i)}onRemoveSlide(t,e,i){i.closeBtnEl&&(i.closeBtnEl.remove(),i.closeBtnEl=void 0),i.xhr&&(i.xhr.abort(),i.xhr=null),i.iframeEl&&(i.iframeEl.onload=i.iframeEl.onerror=null,i.iframeEl.src="//about:blank",i.iframeEl=null);const n=i.contentEl,s=i.placeholderEl;if("inline"===i.type&&n&&s)n.classList.remove("fancybox__content"),"none"!==n.style.display&&(n.style.display="none"),s.parentNode&&s.parentNode.insertBefore(n,s),s.remove(),i.placeholderEl=null;else for(;i.el&&i.el.firstChild;)i.el.removeChild(i.el.firstChild)}onSelectSlide(t,e,i){i.state===p.Ready&&this.playVideo()}onUnselectSlide(t,e,i){var n,s;if("html5video"===i.type){try{null===(s=null===(n=i.el)||void 0===n?void 0:n.querySelector("video"))||void 0===s||s.pause()}catch(t){}return}let o;"vimeo"===i.type?o={method:"pause",value:"true"}:"youtube"===i.type&&(o={event:"command",func:"pauseVideo"}),o&&i.iframeEl&&i.iframeEl.contentWindow&&i.iframeEl.contentWindow.postMessage(JSON.stringify(o),"*"),i.poller&&clearTimeout(i.poller)}onDone(t,e){t.isCurrentSlide(e)&&!t.isClosing()&&this.playVideo()}onRefresh(t,e){e.slides.forEach((t=>{t.el&&(this.setAspectRatio(t),this.resizeIframe(t))}))}onMessage(t){try{let e=JSON.parse(t.data);if("https://player.vimeo.com"===t.origin){if("ready"===e.event)for(let e of Array.from(document.getElementsByClassName("fancybox__iframe")))e instanceof HTMLIFrameElement&&e.contentWindow===t.source&&(e.dataset.ready="true")}else if("https://www.youtube-nocookie.com"===t.origin&&"onReady"===e.event){const t=document.getElementById(e.id);t&&(t.dataset.ready="true")}}catch(t){}}loadAjaxContent(t){const e=this.instance.optionFor(t,"src")||"";this.instance.showLoading(t);const i=this.instance,n=new XMLHttpRequest;i.showLoading(t),n.onreadystatechange=function(){n.readyState===XMLHttpRequest.DONE&&i.state===u.Ready&&(i.hideLoading(t),200===n.status?i.setContent(t,n.responseText):i.setError(t,404===n.status?"{{AJAX_NOT_FOUND}}":"{{AJAX_FORBIDDEN}}"))};const s=t.ajax||null;n.open(s?"POST":"GET",e+""),n.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.send(s),t.xhr=n}setInlineContent(t){let e=null;if(n(t.src))e=t.src;else if("string"==typeof t.src){const i=t.src.split("#",2).pop();e=i?document.getElementById(i):null}if(e){if("clone"===t.type||e.dataset.placeholderId){e=e.cloneNode(!0);const i=e.dataset.animationName;i&&(e.classList.remove(i),delete e.dataset.animationName),delete e.dataset.placeholderId;let n=e.getAttribute("id");n=n?`${n}--clone`:`clone-${this.instance.id}-${t.index}`,e.setAttribute("id",n)}else if(e.parentNode){const i=document.createElement("div");i.classList.add("fancybox-placeholder"),e.parentNode.insertBefore(i,e),t.placeholderEl=i}this.instance.setContent(t,e)}else this.instance.setError(t,"{{ELEMENT_NOT_FOUND}}")}setIframeContent(t){const{src:e,el:i}=t;if(!e||"string"!=typeof e||!i)return;const n=this.instance,s=document.createElement("iframe");s.className="fancybox__iframe",s.setAttribute("id",`fancybox__iframe_${n.id}_${t.index}`),s.setAttribute("allow","autoplay; fullscreen"),s.setAttribute("scrolling","auto"),s.onerror=()=>{n.setError(t,"{{IFRAME_ERROR}}")},t.iframeEl=s;const o=this.optionFor(t,"preload");if(i.classList.add("is-loading"),"iframe"!==t.type||!1===o)return s.setAttribute("src",t.src+""),this.resizeIframe(t),void n.setContent(t,s);n.showLoading(t),s.onload=()=>{if(!s.src.length)return;const e="true"!==s.dataset.ready;s.dataset.ready="true",this.resizeIframe(t),e?n.revealContent(t):n.hideLoading(t)},s.setAttribute("src",e),n.setContent(t,s,!1)}resizeIframe(t){const e=t.iframeEl,i=null==e?void 0:e.parentElement;if(!e||!i)return;let n=t.autoSize,s=t.width||0,o=t.height||0;s&&o&&(n=!1);const a=i&&i.style;if(!1!==t.preload&&!1!==n&&a)try{const t=window.getComputedStyle(i),n=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),r=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),l=e.contentWindow;if(l){const t=l.document,e=t.getElementsByTagName("html")[0],i=t.body;a.width="",i.style.overflow="hidden",s=s||e.scrollWidth+n,a.width=`${s}px`,i.style.overflow="",a.flex="0 0 auto",a.height=`${i.scrollHeight}px`,o=e.scrollHeight+r}}catch(t){}if(s||o){const t={flex:"0 1 auto",width:"",height:""};s&&(t.width=`${s}px`),o&&(t.height=`${o}px`),Object.assign(a,t)}}playVideo(){const t=this.instance.getSlide();if(!t)return;const{el:e}=t;if(!e||!e.offsetParent)return;if(!this.optionFor(t,"videoAutoplay"))return;if("html5video"===t.type)try{const t=e.querySelector("video");if(t){const e=t.play();void 0!==e&&e.then((()=>{})).catch((e=>{t.muted=!0,t.play()}))}}catch(t){}if("youtube"!==t.type&&"vimeo"!==t.type)return;const i=()=>{if(t.iframeEl&&t.iframeEl.contentWindow){let e;if("true"===t.iframeEl.dataset.ready)return e="youtube"===t.type?{event:"command",func:"playVideo"}:{method:"play",value:"true"},e&&t.iframeEl.contentWindow.postMessage(JSON.stringify(e),"*"),void(t.poller=void 0);"youtube"===t.type&&(e={event:"listening",id:t.iframeEl.getAttribute("id")},t.iframeEl.contentWindow.postMessage(JSON.stringify(e),"*"))}t.poller=setTimeout(i,250)};i()}processType(t){if(t.html)return t.type="html",t.src=t.html,void(t.html="");const e=this.instance.optionFor(t,"src","");if(!e||"string"!=typeof e)return;let i=t.type,n=null;if(n=e.match(/(?:youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(?:watch\?(?:.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(?:.*)|[\w-]{11}|\?listType=(?:.*)&list=(?:.*))(?:.*)/i)){const s=N(e,this.optionFor(t,"youtube")),o=encodeURIComponent(n[1]);t.videoId=o,t.src=`https://www.youtube-nocookie.com/embed/${o}?${s}`,t.thumbSrc=t.thumbSrc||`https://i.ytimg.com/vi/${o}/mqdefault.jpg`,i="youtube"}else if(n=e.match(/^.+vimeo.com\/(?:\/)?([\d]+)((\/|\?h=)([a-z0-9]+))?(.*)?/)){const s=N(e,this.optionFor(t,"vimeo")),o=encodeURIComponent(n[1]),a=n[4]||"";t.videoId=o,t.src=`https://player.vimeo.com/video/${o}?${a?`h=${a}${s?"&":""}`:""}${s}`,i="vimeo"}if(!i&&t.triggerEl){const e=t.triggerEl.dataset.type;$.includes(e)&&(i=e)}i||"string"==typeof e&&("#"===e.charAt(0)?i="inline":(n=e.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(i="html5video",t.videoFormat=t.videoFormat||"video/"+("ogv"===n[1]?"ogg":n[1])):e.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?i="image":e.match(/\.(pdf)((\?|#).*)?$/i)?i="pdf":(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:(?:(?:maps\/(?:place\/(?:.*)\/)?\@(.*),(\d+.?\d+?)z))|(?:\?ll=))(.*)?/i))?(t.src=`https://maps.google.${n[1]}/?ll=${(n[2]?n[2]+"&z="+Math.floor(parseFloat(n[3]))+(n[4]?n[4].replace(/^\//,"&"):""):n[4]+"").replace(/\?/,"&")}&output=${n[4]&&n[4].indexOf("layer=c")>0?"svembed":"embed"}`,i="map"):(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i))&&(t.src=`https://maps.google.${n[1]}/maps?q=${n[2].replace("query=","q=").replace("api=1","")}&output=embed`,i="map")),i=i||this.instance.option("defaultType"),t.type=i,"image"===i&&(t.thumbSrc=t.thumbSrc||t.src)}setContent(t){const e=this.instance.optionFor(t,"src")||"";if(t&&t.type&&e){switch(t.type){case"html":this.instance.setContent(t,e);break;case"html5video":const i=this.option("videoTpl");i&&this.instance.setContent(t,i.replace(/\{\{src\}\}/gi,e+"").replace(/\{\{format\}\}/gi,this.optionFor(t,"videoFormat")||"").replace(/\{\{poster\}\}/gi,t.poster||t.thumbSrc||""));break;case"inline":case"clone":this.setInlineContent(t);break;case"ajax":this.loadAjaxContent(t);break;case"pdf":case"map":case"youtube":case"vimeo":t.preload=!1;case"iframe":this.setIframeContent(t)}this.setAspectRatio(t)}}setAspectRatio(t){var e;const i=t.contentEl,n=this.optionFor(t,"videoRatio"),s=null===(e=t.el)||void 0===e?void 0:e.getBoundingClientRect();if(!(i&&s&&n&&1!==n&&t.type&&["video","youtube","vimeo","html5video"].includes(t.type)))return;const o=s.width,a=s.height;i.style.aspectRatio=n+"",i.style.width=o/a>n?"auto":"",i.style.height=o/a>n?"":"auto"}attach(){this.instance.on("Carousel.initSlide",this.onInitSlide),this.instance.on("Carousel.createSlide",this.onCreateSlide),this.instance.on("Carousel.removeSlide",this.onRemoveSlide),this.instance.on("Carousel.selectSlide",this.onSelectSlide),this.instance.on("Carousel.unselectSlide",this.onUnselectSlide),this.instance.on("Carousel.Panzoom.refresh",this.onRefresh),this.instance.on("done",this.onDone),window.addEventListener("message",this.onMessage)}detach(){this.instance.off("Carousel.initSlide",this.onInitSlide),this.instance.off("Carousel.createSlide",this.onCreateSlide),this.instance.off("Carousel.removeSlide",this.onRemoveSlide),this.instance.off("Carousel.selectSlide",this.onSelectSlide),this.instance.off("Carousel.unselectSlide",this.onUnselectSlide),this.instance.off("Carousel.Panzoom.refresh",this.onRefresh),this.instance.off("done",this.onDone),window.removeEventListener("message",this.onMessage)}}Object.defineProperty(X,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:W});class Y extends b{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:"ready"}),Object.defineProperty(this,"inHover",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"progressBar",{enumerable:!0,configurable:!0,writable:!0,value:null})}get isActive(){return"ready"!==this.state}onReady(t){this.option("autoStart")&&(t.isInfinite||t.page{this.timer=null,this.inHover||this.onTimerEnd()}),t),this.emit("set")}clear(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.removeProgressBar()}start(){if(this.set(),this.option("pauseOnHover")){const t=this.instance.container;t.addEventListener("mouseenter",this.onMouseEnter,!1),t.addEventListener("mouseleave",this.onMouseLeave,!1)}document.addEventListener("visibilitychange",this.onVisibilityChange,!1)}stop(){const t=this.instance.container;this.clear(),this.state="ready",t.removeEventListener("mouseenter",this.onMouseEnter,!1),t.removeEventListener("mouseleave",this.onMouseLeave,!1),document.removeEventListener("visibilitychange",this.onVisibilityChange,!1),k(t,"has-autoplay"),this.emit("stop")}pause(){"play"===this.state&&(this.state="pause",this.clear(),this.emit("pause"))}resume(){const t=this.instance;if(t.isInfinite||t.page!==t.pages.length-1)if("play"!==this.state){if("pause"===this.state&&!this.inHover){const t=new Event("resume",{bubbles:!0,cancelable:!0});this.emit("resume",event),t.defaultPrevented||this.set()}}else this.set();else this.stop()}toggle(){"play"===this.state||"pause"===this.state?this.stop():this.set()}attach(){this.instance.on("ready",this.onReady),this.instance.on("Panzoom.startAnimation",this.onChange),this.instance.on("Panzoom.endAnimation",this.onSettle),this.instance.on("Panzoom.touchMove",this.onChange)}detach(){this.instance.off("ready",this.onReady),this.instance.off("Panzoom.startAnimation",this.onChange),this.instance.off("Panzoom.endAnimation",this.onSettle),this.instance.off("Panzoom.touchMove",this.onChange),this.stop()}}Object.defineProperty(Y,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{autoStart:!0,pauseOnHover:!0,progressParentEl:null,showProgress:!0,timeout:3e3}});class q extends b{constructor(){super(...arguments),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:null})}onPrepare(t){const i=t.carousel;if(!i)return;const n=t.container;n&&(i.options.Autoplay=e(this.option("Autoplay")||{},{pauseOnHover:!1,autoStart:!1,timeout:this.option("timeout"),progressParentEl:()=>n.querySelector(".fancybox__toolbar [data-fancybox-toggle-slideshow]")||n,on:{set:e=>{var i;n.classList.add("has-slideshow"),(null===(i=t.getSlide())||void 0===i?void 0:i.state)!==p.Ready&&e.pause()},stop:()=>{n.classList.remove("has-slideshow"),t.isCompact||t.endIdle()},resume:(e,i)=>{var n,s,o;!i||!i.cancelable||(null===(n=t.getSlide())||void 0===n?void 0:n.state)===p.Ready&&(null===(o=null===(s=t.carousel)||void 0===s?void 0:s.panzoom)||void 0===o?void 0:o.isResting)||i.preventDefault()}}}),i.attachPlugins({Autoplay:Y}),this.ref=i.plugins.Autoplay)}onReady(t){const e=t.carousel,i=this.ref;e&&i&&this.option("playOnStart")&&(e.isInfinite||e.page{t.isCurrentSlide(e)&&i.stop()})),t.isCurrentSlide(e)&&i.resume()}onKeydown(t,e){var i;const n=this.ref;n&&e===this.option("key")&&"BUTTON"!==(null===(i=document.activeElement)||void 0===i?void 0:i.nodeName)&&n.toggle()}attach(){this.instance.on("Carousel.init",this.onPrepare),this.instance.on("Carousel.ready",this.onReady),this.instance.on("done",this.onDone),this.instance.on("keydown",this.onKeydown)}detach(){this.instance.off("Carousel.init",this.onPrepare),this.instance.off("Carousel.ready",this.onReady),this.instance.off("done",this.onDone),this.instance.off("keydown",this.onKeydown)}}Object.defineProperty(q,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{key:" ",playOnStart:!1,timeout:3e3}});const Z={classes:{container:"f-thumbs f-carousel__thumbs",viewport:"f-thumbs__viewport",track:"f-thumbs__track",slide:"f-thumbs__slide",isResting:"is-resting",isSelected:"is-selected",isLoading:"is-loading",hasThumbs:"has-thumbs"},minCount:2,parentEl:null,thumbTpl:'',type:"modern"};var V;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Hidden=2]="Hidden",t[t.Disabled=3]="Disabled"}(V||(V={}));let U=class extends b{constructor(){super(...arguments),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"modern"}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"carousel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"thumbWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbClipWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbHeight",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbExtraGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"shouldCenter",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:V.Init})}formatThumb(t,e){return this.instance.localize(e,[["%i",t.index],["%d",t.index+1],["%s",t.thumbSrc||"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"]])}getSlides(){const t=[],e=this.option("thumbTpl")||"";if(e)for(const i of this.instance.slides||[]){let n="";i.type&&(n=`for-${i.type}`,i.type&&["video","youtube","vimeo","html5video"].includes(i.type)&&(n+=" for-video")),t.push({html:this.formatThumb(i,e),customClass:n})}return t}onInitSlide(t,e){const i=e.el;i&&(e.thumbSrc=i.dataset.thumbSrc||e.thumbSrc||"",e.thumbClipWidth=parseFloat(i.dataset.thumbClipWidth||"")||e.thumbClipWidth||0,e.thumbHeight=parseFloat(i.dataset.thumbHeight||"")||e.thumbHeight||0)}onInitSlides(){this.state===V.Init&&this.build()}onRefreshM(){this.refreshModern()}onChangeM(){"modern"===this.type&&(this.shouldCenter=!0,this.centerModern())}onClickModern(t){t.preventDefault(),t.stopPropagation();const e=this.instance,i=e.page,n=t=>{if(t){const e=t.closest("[data-carousel-index]");if(e)return parseInt(e.dataset.carouselIndex||"",10)||0}return-1},s=(t,e)=>{const i=document.elementFromPoint(t,e);return i?n(i):-1};let o=n(t.target);o<0&&(o=s(t.clientX+this.thumbGap,t.clientY),o===i&&(o=i-1)),o<0&&(o=s(t.clientX-this.thumbGap,t.clientY),o===i&&(o=i+1)),o<0&&(o=(e=>{let n=s(t.clientX-e,t.clientY),a=s(t.clientX+e,t.clientY);return o<0&&n===i&&(o=i+1),o<0&&a===i&&(o=i-1),o})(this.thumbExtraGap)),o===i?this.centerModern():o>-1&&o{this.emit("ready")}))}buildModern(){if("modern"!==this.type)return;const{container:t,track:e,instance:n}=this,s=this.option("thumbTpl")||"";if(!t||!e||!s)return;I(t,"is-horizontal"),this.updateModern();for(const t of n.slides||[]){const n=document.createElement("div");if(I(n,this.cn("slide")),t.type){let e=`for-${t.type}`;["video","youtube","vimeo","html5video"].includes(t.type)&&(e+=" for-video"),I(n,e)}n.appendChild(i(this.formatThumb(t,s))),t.thumbSlideEl=n,e.appendChild(n),this.resizeModernSlide(t)}const o=new n.constructor.Panzoom(t,{content:e,lockAxis:"x",zoom:!1,panOnlyZoomed:!1,bounds:()=>{let t=0,e=0,i=n.slides[0],s=n.slides[n.slides.length-1],o=n.slides[n.page];return i&&s&&o&&(e=-1*this.getModernThumbPos(0),0!==n.page&&(e+=.5*(i.thumbWidth||0)),t=-1*this.getModernThumbPos(n.slides.length-1),n.page!==n.slides.length-1&&(t+=(s.thumbWidth||0)-(o.thumbWidth||0)-.5*(s.thumbWidth||0))),{x:{min:t,max:e},y:{min:0,max:0}}}});o.on("touchStart",((t,e)=>{this.shouldCenter=!1})),o.on("click",((t,e)=>this.onClickModern(e))),o.on("ready",(()=>{this.centerModern(),this.emit("ready")})),o.on(["afterTransform","refresh"],(t=>{this.lazyLoadModern()})),this.panzoom=o,this.refreshModern()}updateModern(){if("modern"!==this.type)return;const{container:t}=this;t&&(this.thumbGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-gap"))||0,this.thumbExtraGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-extra-gap"))||0,this.thumbWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-width"))||40,this.thumbClipWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-clip-width"))||40,this.thumbHeight=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-height"))||40)}refreshModern(){var t;if("modern"===this.type){this.updateModern();for(const t of this.instance.slides||[])this.resizeModernSlide(t);this.onTransformM(),null===(t=this.panzoom)||void 0===t||t.updateMetrics(!0),this.centerModern(0)}}centerModern(t){const e=this.instance,{container:i,panzoom:n}=this;if(!i||!n||n.state===L.Init)return;const s=e.page;let o=this.getModernThumbPos(s),a=o;for(let t=e.page-3;te.pages.length-1||t===e.page)continue;const i=1-Math.abs(e.getProgress(t));i>0&&i<1&&(a+=i*(this.getModernThumbPos(t)-o))}let r=100;void 0===t&&(t=.2,e.inTransition.size>0&&(t=.12),Math.abs(-1*n.current.e-a)>n.containerRect.width&&(t=.5,r=0)),n.options.maxVelocity=r,n.applyChange({panX:x(-1*a-n.target.e,1e3),friction:null===e.prevPage?0:t})}lazyLoadModern(){const{instance:t,panzoom:e}=this;if(!e)return;const n=-1*e.current.e||0;let s=this.getModernThumbPos(t.page);if(e.state!==L.Init||0===s)for(const s of t.slides||[]){const t=s.thumbSlideEl;if(!t)continue;const o=t.querySelector("img[data-lazy-src]"),a=s.index,r=this.getModernThumbPos(a),l=n-.5*e.containerRect.innerWidth,h=l+e.containerRect.innerWidth;if(!o||rh)continue;let d=o.dataset.lazySrc;if(!d||!d.length)continue;if(delete o.dataset.lazySrc,o.src=d,o.complete)continue;I(t,this.cn("isLoading"));const u=i(c);t.appendChild(u),o.addEventListener("load",(()=>{t.offsetParent&&(t.classList.remove(this.cn("isLoading")),u.remove())}),!1)}}resizeModernSlide(t){if("modern"!==this.type)return;if(!t.thumbSlideEl)return;const e=t.thumbClipWidth&&t.thumbHeight?Math.round(this.thumbHeight*(t.thumbClipWidth/t.thumbHeight)):this.thumbWidth;t.thumbWidth=e}getModernThumbPos(t){const e=this.instance.slides[t],i=this.panzoom;if(!i||!i.contentRect.fitWidth)return 0;let n=i.containerRect.innerWidth,s=i.contentRect.width;2===this.instance.slides.length&&(t-=1,s=2*this.thumbClipWidth);let o=t*(this.thumbClipWidth+this.thumbGap)+this.thumbExtraGap+.5*(e.thumbWidth||0);return o-=s>n?.5*n:.5*s,x(o||0,1)}build(){const t=this.instance,e=t.container,i=this.option("minCount")||0;if(i){let e=0;for(const i of t.slides||[])i.thumbSrc&&e++;if(e{setTimeout((()=>{var e;null===(e=null==s?void 0:s.querySelector(`[data-carousel-index="${t.page}"]`))||void 0===e||e.focus()}),100)}))}cleanup(){this.carousel&&this.carousel.destroy(),this.carousel=null,this.panzoom&&this.panzoom.destroy(),this.panzoom=null,this.container&&this.container.remove(),this.container=null,this.track=null,this.state=V.Init,k(this.instance.container,this.cn("hasThumbs"))}attach(){this.instance.on("initSlide",this.onInitSlide),this.instance.on("initSlides",this.onInitSlides),this.instance.on("Panzoom.afterTransform",this.onTransformM),this.instance.on("Panzoom.refresh",this.onRefreshM),this.instance.on("change",this.onChangeM)}detach(){this.instance.off("initSlide",this.onInitSlide),this.instance.off("initSlides",this.onInitSlides),this.instance.off("Panzoom.afterTransform",this.onTransformM),this.instance.off("Panzoom.refresh",this.onRefreshM),this.instance.off("change",this.onChangeM),this.cleanup()}};Object.defineProperty(U,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:Z});const G=Object.assign(Object.assign({},Z),{key:"t",showOnStart:!0,parentEl:null});class K extends b{constructor(){super(...arguments),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hidden",{enumerable:!0,configurable:!0,writable:!0,value:!1})}get isEnabled(){const t=this.ref;return t&&t.state!==V.Disabled}get isHidden(){return this.hidden}onInit(){const t=this.instance,i=t.carousel;if(!i)return;const n=this.option("parentEl")||t.footer||t.container;n&&(i.options.Thumbs=e({},this.options,{parentEl:n,classes:{container:"f-thumbs fancybox__thumbs"},Carousel:{Sync:{friction:t.option("Carousel.friction")},on:{click:(t,e)=>{e.stopPropagation()}}},on:{ready:t=>{const e=t.container;e&&this.hidden&&(this.refresh(),e.style.transition="none",this.hide(),e.offsetHeight,queueMicrotask((()=>{e.style.transition="",this.show()})))}}}),i.attachPlugins({Thumbs:U}),this.ref=i.plugins.Thumbs,this.option("showOnStart")||(this.ref.state=V.Hidden,this.hidden=!0))}onResize(){var t;const e=null===(t=this.ref)||void 0===t?void 0:t.container;e&&(e.style.maxHeight="")}onKeydown(t,e){const i=this.option("key");i&&i===e&&this.toggle()}toggle(){const t=this.ref;t&&t.state!==V.Disabled&&(t.state!==V.Hidden?this.hidden?this.show():this.hide():t.build())}show(){const t=this.ref,e=t&&t.state!==V.Disabled&&t.container;e&&(this.refresh(),e.offsetHeight,e.removeAttribute("aria-hidden"),e.classList.remove("is-hidden"),this.hidden=!1)}hide(){const t=this.ref,e=t&&t.container;e&&(this.refresh(),e.offsetHeight,e.classList.add("is-hidden"),e.setAttribute("aria-hidden","true")),this.hidden=!0}refresh(){const t=this.ref;if(!t||t.state===V.Disabled)return;const e=t.container,i=(null==e?void 0:e.firstChild)||null;e&&i&&i.childNodes.length&&(e.style.maxHeight=`${i.getBoundingClientRect().height}px`)}attach(){this.instance.on("Carousel.init",this.onInit),this.instance.on("resize",this.onResize),this.instance.on("keydown",this.onKeydown)}detach(){this.instance.off("Carousel.init",this.onInit),this.instance.off("resize",this.onResize),this.instance.off("keydown",this.onKeydown)}}Object.defineProperty(K,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:G});const J={panLeft:{icon:'',change:{panX:-100}},panRight:{icon:'',change:{panX:100}},panUp:{icon:'',change:{panY:-100}},panDown:{icon:'',change:{panY:100}},zoomIn:{icon:'',action:"zoomIn"},zoomOut:{icon:'',action:"zoomOut"},toggle1to1:{icon:'',action:"toggleZoom"},toggleZoom:{icon:'',action:"toggleZoom"},iterateZoom:{icon:'',action:"iterateZoom"},rotateCCW:{icon:'',action:"rotateCCW"},rotateCW:{icon:'',action:"rotateCW"},flipX:{icon:'',action:"flipX"},flipY:{icon:'',action:"flipY"},fitX:{icon:'',action:"fitX"},fitY:{icon:'',action:"fitY"},reset:{icon:'',action:"reset"},toggleFS:{icon:'',action:"toggleFS"}};var Q;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Disabled=2]="Disabled"}(Q||(Q={}));const tt={absolute:"auto",display:{left:["infobar"],middle:[],right:["iterateZoom","slideshow","fullscreen","thumbs","close"]},enabled:"auto",items:{infobar:{tpl:'
    /
    '},download:{tpl:''},prev:{tpl:''},next:{tpl:''},slideshow:{tpl:''},fullscreen:{tpl:''},thumbs:{tpl:''},close:{tpl:''}},parentEl:null},et={tabindex:"-1",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"};class it extends b{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:Q.Init}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null})}onReady(t){var e;if(!t.carousel)return;let i=this.option("display"),n=this.option("absolute"),s=this.option("enabled");if("auto"===s){const t=this.instance.carousel;let e=0;if(t)for(const i of t.slides)(i.panzoom||"image"===i.type)&&e++;e||(s=!1)}s||(i=void 0);let o=0;const a={left:[],middle:[],right:[]};if(i)for(const t of["left","middle","right"])for(const n of i[t]){const i=this.createEl(n);i&&(null===(e=a[t])||void 0===e||e.push(i),o++)}let r=null;if(o&&(r=this.createContainer()),r){for(const[t,e]of Object.entries(a)){const i=document.createElement("div");I(i,"fancybox__toolbar__column is-"+t);for(const t of e)i.appendChild(t);"auto"!==n||"middle"!==t||e.length||(n=!0),r.appendChild(i)}!0===n&&I(r,"is-absolute"),this.state=Q.Ready,this.onRefresh()}else this.state=Q.Disabled}onClick(t){var e,i;const s=this.instance,o=s.getSlide(),a=null==o?void 0:o.panzoom,r=t.target,l=r&&n(r)?r.dataset:null;if(!l)return;if(void 0!==l.fancyboxToggleThumbs)return t.preventDefault(),t.stopPropagation(),void(null===(e=s.plugins.Thumbs)||void 0===e||e.toggle());if(void 0!==l.fancyboxToggleFullscreen)return t.preventDefault(),t.stopPropagation(),void this.instance.toggleFullscreen();if(void 0!==l.fancyboxToggleSlideshow){t.preventDefault(),t.stopPropagation();const e=null===(i=s.carousel)||void 0===i?void 0:i.plugins.Autoplay;let n=e.isActive;return a&&"mousemove"===a.panMode&&!n&&a.reset(),void(n?e.stop():e.start())}const c=l.panzoomAction,h=l.panzoomChange;if((h||c)&&(t.preventDefault(),t.stopPropagation()),h){let t={};try{t=JSON.parse(h)}catch(t){}a&&a.applyChange(t)}else c&&a&&a[c]&&a[c]()}onChange(){this.onRefresh()}onRefresh(){if(this.instance.isClosing())return;const t=this.container;if(!t)return;const e=this.instance.getSlide();if(!e||e.state!==p.Ready)return;const i=e&&!e.error&&e.panzoom;for(const e of t.querySelectorAll("[data-panzoom-action]"))i?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));let n=i&&i.canZoomIn(),s=i&&i.canZoomOut();for(const e of t.querySelectorAll('[data-panzoom-action="zoomIn"]'))n?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));for(const e of t.querySelectorAll('[data-panzoom-action="zoomOut"]'))s?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));for(const e of t.querySelectorAll('[data-panzoom-action="toggleZoom"],[data-panzoom-action="iterateZoom"]')){s||n?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));const t=e.querySelector("g");t&&(t.style.display=n?"":"none")}}onDone(t,e){var i;null===(i=e.panzoom)||void 0===i||i.on("afterTransform",(()=>{this.instance.isCurrentSlide(e)&&this.onRefresh()})),this.instance.isCurrentSlide(e)&&this.onRefresh()}createContainer(){const t=this.instance.container;if(!t)return null;const e=this.option("parentEl")||t,i=document.createElement("div");return I(i,"fancybox__toolbar"),e.prepend(i),i.addEventListener("click",this.onClick,{passive:!1,capture:!0}),t&&I(t,"has-toolbar"),this.container=i,i}createEl(t){var e;const n=this.instance.carousel;if(!n)return null;if("toggleFS"===t)return null;if("fullscreen"===t&&!this.instance.fsAPI)return null;let s=null;const o=n.slides.length||0;let a=0,r=0;for(const t of n.slides)(t.panzoom||"image"===t.type)&&a++,("image"===t.type||t.downloadSrc)&&r++;if(o<2&&["infobar","prev","next"].includes(t))return s;if(void 0!==J[t]&&!a)return null;if("download"===t&&!r)return null;if("thumbs"===t){const t=this.instance.plugins.Thumbs;if(!t||!t.isEnabled)return null}if("slideshow"===t){if(!(null===(e=this.instance.carousel)||void 0===e?void 0:e.plugins.Autoplay)||o<2)return null}if(void 0!==J[t]){const e=J[t];s=document.createElement("button"),s.setAttribute("title",this.instance.localize(`{{${t.toUpperCase()}}}`)),I(s,"f-button"),e.action&&(s.dataset.panzoomAction=e.action),e.change&&(s.dataset.panzoomChange=JSON.stringify(e.change)),s.appendChild(i(this.instance.localize(e.icon)))}else{const e=(this.option("items")||[])[t];e&&(s=i(this.instance.localize(e.tpl)),"function"==typeof e.click&&s.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),"function"==typeof e.click&&e.click.call(this,this,t)})))}const l=null==s?void 0:s.querySelector("svg");if(l)for(const[t,e]of Object.entries(et))l.getAttribute(t)||l.setAttribute(t,String(e));return s}removeContainer(){var t;const e=this.container;e&&e.removeEventListener("click",this.onClick,{passive:!1,capture:!0}),null===(t=this.container)||void 0===t||t.remove(),this.container=null,this.state=Q.Disabled;const i=this.instance.container;i&&k(i,"has-toolbar")}attach(){this.instance.on("Carousel.initSlides",this.onReady),this.instance.on("done",this.onDone),this.instance.on("reveal",this.onChange),this.instance.on("Carousel.change",this.onChange),this.onReady(this.instance)}detach(){this.instance.off("Carousel.initSlides",this.onReady),this.instance.off("done",this.onDone),this.instance.off("reveal",this.onChange),this.instance.off("Carousel.change",this.onChange),this.removeContainer()}}Object.defineProperty(it,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:tt});const nt={Hash:y,Html:X,Images:_,Slideshow:q,Thumbs:K,Toolbar:it},st=function(t,e){let i=!0;return(...n)=>{i&&(i=!1,t(...n),setTimeout((()=>{i=!0}),e))}},ot=(t,e)=>{let i=[];return t.childNodes.forEach((t=>{t.nodeType!==Node.ELEMENT_NODE||e&&!t.matches(e)||i.push(t)})),i},at={viewport:null,track:null,enabled:!0,slides:[],axis:"x",transition:"fade",preload:1,slidesPerPage:"auto",initialPage:0,friction:.12,Panzoom:{decelFriction:.12},center:!0,infinite:!0,fill:!0,dragFree:!1,adaptiveHeight:!1,direction:"ltr",classes:{container:"f-carousel",viewport:"f-carousel__viewport",track:"f-carousel__track",slide:"f-carousel__slide",isLTR:"is-ltr",isRTL:"is-rtl",isHorizontal:"is-horizontal",isVertical:"is-vertical",inTransition:"in-transition",isSelected:"is-selected"},l10n:{NEXT:"Next slide",PREV:"Previous slide",GOTO:"Go to slide #%d"}};var rt;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Destroy=2]="Destroy"}(rt||(rt={}));const lt=t=>{if("string"==typeof t&&(t={html:t}),!(t instanceof String||t instanceof HTMLElement)){const e=t.thumb;void 0!==e&&("string"==typeof e&&(t.thumbSrc=e),e instanceof HTMLImageElement&&(t.thumbEl=e,t.thumbElSrc=e.src,t.thumbSrc=e.src),delete t.thumb)}return Object.assign({html:"",el:null,isDom:!1,class:"",index:-1,dim:0,gap:0,pos:0,transition:!1},t)},ct=(t={})=>Object.assign({index:-1,slides:[],dim:0,pos:-1},t),ht={classes:{list:"f-carousel__dots",isDynamic:"is-dynamic",hasDots:"has-dots",dot:"f-carousel__dot",isBeforePrev:"is-before-prev",isPrev:"is-prev",isCurrent:"is-current",isNext:"is-next",isAfterNext:"is-after-next"},dotTpl:'',dynamicFrom:11,maxCount:1/0,minCount:2};class dt extends b{constructor(){super(...arguments),Object.defineProperty(this,"isDynamic",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"list",{enumerable:!0,configurable:!0,writable:!0,value:null})}onRefresh(){this.refresh()}build(){let t=this.list;return t||(t=document.createElement("ul"),I(t,this.cn("list")),t.setAttribute("role","tablist"),this.instance.container.appendChild(t),I(this.instance.container,this.cn("hasDots")),this.list=t),t}refresh(){var t;const e=this.instance.pages.length,i=Math.min(2,this.option("minCount")),n=Math.max(2e3,this.option("maxCount")),s=this.option("dynamicFrom");if(en)return void this.cleanup();const o="number"==typeof s&&e>5&&e>=s,a=!this.list||this.isDynamic!==o||this.list.children.length!==e;a&&this.cleanup();const r=this.build();if(P(r,this.cn("isDynamic"),!!o),a)for(let t=0;t=e-1&&s.setAttribute("disabled","")))}createButton(t){const e=this.instance,i=document.createElement("button");i.setAttribute("tabindex","0"),i.setAttribute("title",e.localize(`{{${t.toUpperCase()}}}`)),I(i,this.cn("button")+" "+this.cn("next"===t?"isNext":"isPrev"));const n=e.isRTL?"next"===t?"prev":"next":t;var s;return i.innerHTML=e.localize(this.option(`${n}Tpl`)),i.dataset[`carousel${s=t,s?s.match("^[a-z]")?s.charAt(0).toUpperCase()+s.substring(1):s:""}`]="true",i}build(){let t=this.container;t||(this.container=t=document.createElement("div"),I(t,this.cn("container")),this.instance.container.appendChild(t)),this.next||(this.next=t.appendChild(this.createButton("next"))),this.prev||(this.prev=t.appendChild(this.createButton("prev")))}cleanup(){this.prev&&this.prev.remove(),this.next&&this.next.remove(),this.container&&this.container.remove(),this.prev=null,this.next=null,this.container=null}attach(){this.instance.on(["refresh","change"],this.onRefresh)}detach(){this.instance.off(["refresh","change"],this.onRefresh),this.cleanup()}}Object.defineProperty(ut,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{classes:{container:"f-carousel__nav",button:"f-button",isNext:"is-next",isPrev:"is-prev"},nextTpl:'',prevTpl:''}});class pt extends b{constructor(){super(...arguments),Object.defineProperty(this,"selectedIndex",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"nav",{enumerable:!0,configurable:!0,writable:!0,value:null})}addAsTargetFor(t){this.target=this.instance,this.nav=t,this.attachEvents()}addAsNavFor(t){this.nav=this.instance,this.target=t,this.attachEvents()}attachEvents(){this.nav&&this.target&&(this.nav.options.initialSlide=this.target.options.initialPage,this.nav.on("ready",this.onNavReady),this.nav.state===rt.Ready&&this.onNavReady(this.nav),this.target.on("ready",this.onTargetReady),this.target.state===rt.Ready&&this.onTargetReady(this.target))}onNavReady(t){t.on("createSlide",this.onNavCreateSlide),t.on("Panzoom.click",this.onNavClick),t.on("Panzoom.touchEnd",this.onNavTouch),this.onTargetChange()}onTargetReady(t){t.on("change",this.onTargetChange),t.on("Panzoom.refresh",this.onTargetChange),this.onTargetChange()}onNavClick(t,e,i){i.pointerType||this.onNavTouch(t,t.panzoom,i)}onNavTouch(t,e,i){var n,s;if(Math.abs(e.dragOffset.x)>3||Math.abs(e.dragOffset.y)>3)return;const o=i.target,{nav:a,target:r}=this;if(!a||!r||!o)return;const l=o.closest("[data-index]");if(i.stopPropagation(),i.preventDefault(),!l)return;const c=parseInt(l.dataset.index||"",10)||0,h=r.getPageForSlide(c),d=a.getPageForSlide(c);a.slideTo(d),r.slideTo(h,{friction:null===(s=null===(n=this.nav)||void 0===n?void 0:n.plugins)||void 0===s?void 0:s.Sync.option("friction")}),this.markSelectedSlide(c)}onNavCreateSlide(t,e){e.index===this.selectedIndex&&this.markSelectedSlide(e.index)}onTargetChange(){const{target:t,nav:e}=this;if(!t||!e)return;if(e.state!==rt.Ready||t.state!==rt.Ready)return;const i=t.pages[t.page].slides[0].index,n=e.getPageForSlide(i);this.markSelectedSlide(i),e.slideTo(n)}markSelectedSlide(t){const{nav:e}=this;e&&e.state===rt.Ready&&(this.selectedIndex=t,[...e.slides].map((e=>{e.el&&e.el.classList[e.index===t?"add":"remove"]("is-nav-selected")})))}attach(){let t=this.options.target,e=this.options.nav;t?this.addAsNavFor(t):e&&this.addAsTargetFor(e)}detach(){this.nav&&(this.nav.off("ready",this.onNavReady),this.nav.off("createSlide",this.onNavCreateSlide),this.nav.off("Panzoom.click",this.onNavClick),this.nav.off("Panzoom.touchEnd",this.onNavTouch)),this.nav=null,this.target&&(this.target.off("ready",this.onTargetReady),this.target.off("refresh",this.onTargetChange),this.target.off("change",this.onTargetChange)),this.target=null}}Object.defineProperty(pt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{friction:.35}});const mt={Navigation:ut,Dots:dt,Sync:pt};class ft extends g{get axis(){return this.isHorizontal?"e":"f"}get isEnabled(){return this.state===rt.Ready}get isInfinite(){let t=!1;const e=this.contentDim,i=this.viewportDim;return this.pages.length>=2&&e>1.5*i&&(t=this.option("infinite")),t}get isRTL(){return"rtl"===this.option("direction")}get isHorizontal(){return"x"===this.option("axis")}constructor(t,e={},i={}){if(super(),Object.defineProperty(this,"userOptions",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"userPlugins",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"bp",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:rt.Init}),Object.defineProperty(this,"page",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevPage",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"viewport",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"slides",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"inTransition",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"contentDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"viewportDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),"string"==typeof t&&(t=document.querySelector(t)),!t||!n(t))throw new Error("No Element found");this.container=t,this.slideNext=st(this.slideNext.bind(this),150),this.slidePrev=st(this.slidePrev.bind(this),150),this.userOptions=e,this.userPlugins=i,queueMicrotask((()=>{this.processOptions()}))}processOptions(){const i=e({},ft.defaults,this.userOptions);let n="";const s=i.breakpoints;if(s&&t(s))for(const[o,a]of Object.entries(s))window.matchMedia(o).matches&&t(a)&&(n+=o,e(i,a));n===this.bp&&this.state!==rt.Init||(this.bp=n,this.state===rt.Ready&&(i.initialSlide=this.pages[this.page].slides[0].index),this.state!==rt.Init&&this.destroy(),super.setOptions(i),!1===this.option("enabled")?this.attachEvents():setTimeout((()=>{this.init()}),0))}init(){this.state=rt.Init,this.emit("init"),this.attachPlugins(Object.assign(Object.assign({},ft.Plugins),this.userPlugins)),this.initLayout(),this.initSlides(),this.updateMetrics(),this.setInitialPosition(),this.initPanzoom(),this.attachEvents(),this.state=rt.Ready,this.emit("ready")}initLayout(){const{container:t}=this,e=this.option("classes");I(t,this.cn("container")),P(t,e.isLTR,!this.isRTL),P(t,e.isRTL,this.isRTL),P(t,e.isVertical,!this.isHorizontal),P(t,e.isHorizontal,this.isHorizontal);let i=this.option("viewport")||t.querySelector(`.${e.viewport}`);i||(i=document.createElement("div"),I(i,e.viewport),i.append(...ot(t,`.${e.slide}`)),t.prepend(i));let n=this.option("track")||t.querySelector(`.${e.track}`);n||(n=document.createElement("div"),I(n,e.track),n.append(...Array.from(i.childNodes))),n.setAttribute("aria-live","polite"),i.contains(n)||i.prepend(n),this.viewport=i,this.track=n,this.emit("initLayout")}initSlides(){const{track:t}=this;if(t){this.slides=[],[...ot(t,`.${this.cn("slide")}`)].forEach((t=>{if(n(t)){const e=lt({el:t,isDom:!0,index:this.slides.length});this.slides.push(e),this.emit("initSlide",e,this.slides.length)}}));for(let t of this.option("slides",[])){const e=lt(t);e.index=this.slides.length,this.slides.push(e),this.emit("initSlide",e,this.slides.length)}this.emit("initSlides")}}setInitialPage(){let t=0;const e=this.option("initialSlide");t="number"==typeof e?this.getPageForSlide(e):parseInt(this.option("initialPage",0)+"",10)||0,this.page=t}setInitialPosition(){if(!this.track||!this.pages.length)return;const t=this.isHorizontal;let e=this.page;this.pages[e]||(this.page=e=0);const i=this.pages[e].pos*(this.isRTL&&t?1:-1),n=t?`${i}px`:"0",s=t?"0":`${i}px`;this.track.style.transform=`translate3d(${n}, ${s}, 0) scale(1)`,this.option("adaptiveHeight")&&this.setViewportHeight()}initPanzoom(){this.panzoom&&(this.panzoom.destroy(),this.panzoom=null);const t=this.option("Panzoom")||{};this.panzoom=new H(this.viewport,e({},{content:this.track,zoom:!1,panOnlyZoomed:!1,lockAxis:this.isHorizontal?"x":"y",infinite:this.isInfinite,click:!1,dblClick:!1,touch:t=>!(this.pages.length<2&&!t.options.infinite),bounds:()=>this.getBounds(),maxVelocity:t=>Math.abs(t.target[this.axis]-t.current[this.axis])<2*this.viewportDim?100:0},t)),this.panzoom.on("*",((t,e,...i)=>{this.emit(`Panzoom.${e}`,t,...i)})),this.panzoom.on("decel",this.onDecel),this.panzoom.on("refresh",this.onRefresh),this.panzoom.on("beforeTransform",this.onBeforeTransform),this.panzoom.on("endAnimation",this.onEndAnimation)}attachEvents(){const t=this.container;t&&(t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("slideTo",this.onSlideTo)),window.addEventListener("resize",this.onResize)}createPages(){let t=[];const{contentDim:e,viewportDim:i}=this,n=this.option("slidesPerPage");if("number"==typeof n&&e>i){for(let e=0;ei)&&(t.push(ct()),s=t.length-1,o=0),o+=e.dim+e.gap,t[s].slides.push(e);return t}processPages(){const t=this.pages,{contentDim:e,viewportDim:i}=this,n=this.option("center"),s=this.option("fill"),o=s&&n&&e>i&&!this.isInfinite;if(t.forEach(((t,s)=>{t.index=s,t.pos=t.slides[0].pos,t.dim=0;for(const[e,i]of t.slides.entries())t.dim+=i.dim,e=e-.5*i?t.pos=e-i:n&&(t.pos+=-.5*(i-t.dim))})),t.forEach(((t,n)=>{s&&!this.isInfinite&&e>i&&(t.pos=Math.max(t.pos,0),t.pos=Math.min(t.pos,e-i)),t.pos=x(t.pos,1e3),t.dim=x(t.dim,1e3),t.pos<.1&&t.pos>-.1&&(t.pos=0)})),this.isInfinite)return t;const a=[];let r;return t.forEach((t=>{const e=Object.assign({},t);r&&e.pos===r.pos?(r.dim+=e.dim,r.slides=[...r.slides,...e.slides]):(e.index=a.length,r=e,a.push(e))})),a}getPageFromIndex(t=0){const e=this.pages.length;let i;return t=parseInt((t||0).toString())||0,i=this.isInfinite?(t%e+e)%e:Math.max(Math.min(t,this.pages.length-1),0),i}getSlideMetrics(t){const e=this.isHorizontal?"width":"height";let i=0,n=0,s=t.el;s?i=parseFloat(s.dataset[e]||"")||0:(s=document.createElement("div"),s.style.visibility="hidden",I(s,this.cn("slide")+" "+t.class),(this.track||document.body).prepend(s)),i?(s.style[e]=`${i}px`,s.style["width"===e?"height":"width"]=""):i=s.getBoundingClientRect()[e];const o=getComputedStyle(s);return"content-box"===o.boxSizing&&(this.isHorizontal?(i+=parseFloat(o.paddingLeft)||0,i+=parseFloat(o.paddingRight)||0):(i+=parseFloat(o.paddingTop)||0,i+=parseFloat(o.paddingBottom)||0)),n=parseFloat(o[this.isHorizontal?"marginRight":"marginBottom"])||0,this.isHorizontal,t.el||s.remove(),{dim:x(i,1e3),gap:x(n,1e3)}}getBounds(){let t={min:0,max:0};if(this.isInfinite)t={min:-1/0,max:1/0};else if(this.pages.length){const e=this.pages[0].pos,i=this.pages[this.pages.length-1].pos;t=this.isRTL&&this.isHorizontal?{min:e,max:i}:{min:-1*i,max:-1*e}}return{x:this.isHorizontal?t:{min:0,max:0},y:this.isHorizontal?{min:0,max:0}:t}}repositionSlides(){const{viewportDim:t,contentDim:e,page:i,pages:n}=this;let s,o=0,a=0,r=0,l=0;this.panzoom?l=-1*this.panzoom.current[this.isHorizontal?"e":"f"]:n[i]&&(l=n[i].pos||0),s=this.isHorizontal?this.isRTL?"right":"left":"top",this.isRTL&&this.isHorizontal&&(l*=-1);for(const t of this.slides)t.el?("top"===s?(t.el.style.right="",t.el.style.left=""):t.el.style.top="",t.index!==o?t.el.style[s]=0===a?"":`${x(a,1e3)}px`:t.el.style[s]="",r+=t.dim+t.gap,o++):a+=t.dim+t.gap;if(this.isInfinite&&r)for(const i of this.slides)i.el&&(x(i.pos)x(e-t)&&(i.el.style[s]=`${x(a+r,1e3)}px`),x(i.pos+i.gap)>=x(e-t)&&x(i.pos)>x(l+t)&&x(l)1&&(c=this.pages[d[0]],h=this.pages[d[1]]),c&&h){let t=0;for(const e of this.slides)e.el?this.inTransition.has(e.index)&&c.slides.indexOf(e)<0&&(e.el.style[s]=`${x(t+(c.pos-h.pos),1e3)}px`):t+=e.dim+e.gap}}createSlideEl(t){if(!this.track||!t)return;if(t.el)return;const e=document.createElement("div");I(e,this.cn("slide")),I(e,t.class),I(e,t.customClass),t.html&&(e.innerHTML=t.html);const i=[];this.slides.forEach(((t,e)=>{t.el&&i.push(e)}));const n=t.index;let s=null;if(i.length){let t=i.reduce(((t,e)=>Math.abs(e-n)this.page?1:-1,a=this.pages[s].pos*(this.isRTL?1:-1);if(this.page===s&&x(a,1e3)===x(n.target[this.axis],1e3))return!1;this.clearTransitions();const r=n.isResting;I(this.container,this.cn("inTransition"));const l=this.pages[this.page].slides[0],c=this.pages[s].slides[0];this.inTransition.add(c.index),this.createSlideEl(c);let h=l.el,d=c.el;r||"slide"===e||(e="fadeFast",h=null);const u=this.isRTL?"next":"prev",p=this.isRTL?"prev":"next";return h&&(this.inTransition.add(l.index),l.transition=e,h.addEventListener("animationend",this.onAnimationEnd),h.classList.add(`f-${e}Out`,`to-${o>0?p:u}`)),d&&(c.transition=e,d.addEventListener("animationend",this.onAnimationEnd),d.classList.add(`f-${e}In`,`from-${o>0?u:p}`)),n.panTo({x:this.isHorizontal?a:0,y:this.isHorizontal?0:a,friction:0}),this.onChange(s),!0}manageSlideVisiblity(){const t=new Set,e=new Set,i=this.getVisibleSlides(parseFloat(this.option("preload",0)+"")||0);for(const n of this.slides)i.has(n)?t.add(n):e.add(n);for(const e of this.inTransition)t.add(this.slides[e]);for(const e of t)this.createSlideEl(e),this.lazyLoadSlide(e);for(const i of e)t.has(i)||this.removeSlideEl(i);this.markSelectedSlides(),this.repositionSlides()}markSelectedSlides(){if(!this.pages[this.page]||!this.pages[this.page].slides)return;const t="aria-hidden";let e=this.cn("isSelected");if(e)for(const i of this.slides)i.el&&(i.el.dataset.index=`${i.index}`,this.pages[this.page].slides.includes(i)?(i.el.classList.contains(e)||(I(i.el,e),this.emit("selectSlide",i)),i.el.removeAttribute(t)):(i.el.classList.contains(e)&&(k(i.el,e),this.emit("unselectSlide",i)),i.el.setAttribute(t,"true")))}flipInfiniteTrack(){const t=this.panzoom;if(!t||!this.isInfinite)return;const e="x"===this.option("axis")?"e":"f",{viewportDim:i,contentDim:n}=this;let s=t.current[e],o=t.target[e]-s,a=0,r=.5*i,l=n;this.isRTL&&this.isHorizontal?(s<-r&&(a=-1,s+=l),s>l-r&&(a=1,s-=l)):(s>r&&(a=1,s-=l),s<-l+r&&(a=-1,s+=l)),a&&(t.current[e]=s,t.target[e]=s+o)}lazyLoadSlide(t){const e=this,s=t&&t.el;if(!s)return;const o=new Set,a="f-fadeIn";s.querySelectorAll("[data-lazy-srcset]").forEach((t=>{t instanceof HTMLImageElement&&o.add(t)})),s.querySelectorAll("[data-lazy-src]").forEach((t=>{t instanceof HTMLImageElement?o.add(t):n(t)&&(t.style.backgroundImage=`url('${t.dataset.lazySrc||""}')`)}));const r=(t,i,n)=>{n&&(n.remove(),n=null),i.complete&&(i.classList.add(a),setTimeout((()=>{i.classList.remove(a)}),350),i.style.display=""),this.option("adaptiveHeight")&&t.el&&this.pages[this.page].slides.indexOf(t)>-1&&e.setViewportHeight()};for(const e of o){let n=null;e.src=e.dataset.lazySrcset||e.dataset.lazySrc||"",delete e.dataset.lazySrc,delete e.dataset.lazySrcset,e.style.display="none",e.addEventListener("error",(()=>{r(t,e,n)})),e.addEventListener("load",(()=>{r(t,e,n)})),setTimeout((()=>{e.parentNode&&t.el&&(e.complete?r(t,e,n):(n=i(c),e.parentNode.insertBefore(n,e)))}),300)}let l=s.dataset.lazySrc;l&&l.length&&(s.style.backgroundImage=`url('${l}')`)}onAnimationEnd(t){var e;const i=t.target,n=i?parseInt(i.dataset.index||"",10)||0:-1,s=this.slides[n],o=t.animationName;if(!i||!s||!o)return;const a=!!this.inTransition.has(n)&&s.transition;a&&o.substring(0,a.length+2)===`f-${a}`&&this.inTransition.delete(n),this.inTransition.size||this.clearTransitions(),n===this.page&&(null===(e=this.panzoom)||void 0===e?void 0:e.isResting)&&this.emit("settle")}onDecel(t,e=0,i=0,n=0,s=0){const o=this.isRTL,a=this.isHorizontal,r=this.axis,l=this.pages.length,c=Math.abs(Math.atan2(i,e)/(Math.PI/180));let h=0;if(h=c>45&&c<135?a?0:i:a?e:0,!l)return;const d=this.option("dragFree");let u=this.page;const p=t.target[r]*(this.isRTL&&a?1:-1),{pageIndex:m}=this.getPageFromPosition(p),f=t.current[r]*(o&&a?1:-1);let{page:g}=this.getPageFromPosition(f);d?this.onChange(m):(Math.abs(h)>5?((this.pages.length<3||Math.max(Math.abs(n),Math.abs(s))>this.pages[u].slides[0].dim)&&(u=g),u=o&&a?h<0?u-1:u+1:h<0?u+1:u-1):u=g,this.slideTo(u,{transition:!1,friction:t.option("decelFriction")}))}onClick(t){const e=t.target,i=e&&n(e)?e.dataset:null;let s,o;i&&(void 0!==i.carouselPage?(o="slideTo",s=i.carouselPage):void 0!==i.carouselNext?o="slideNext":void 0!==i.carouselPrev&&(o="slidePrev")),o?(t.preventDefault(),t.stopPropagation(),e&&!e.hasAttribute("disabled")&&this[o](s)):this.emit("click",t)}onSlideTo(t){const e=t.detail||0;this.slideTo(this.getPageForSlide(e),{friction:0})}onChange(t,e=0){const i=this.page;this.prevPage=i,this.page=t,this.option("adaptiveHeight")&&this.setViewportHeight(),t!==i&&(this.markSelectedSlides(),this.emit("change",t,i,e))}onRefresh(t,e=""){let i=this.contentDim,n=this.viewportDim;this.updateMetrics(),this.contentDim===i&&this.viewportDim===n||this.slideTo(this.page,{friction:0,transition:!1})}onResize(){this.option("breakpoints")&&this.processOptions()}onBeforeTransform(){this.flipInfiniteTrack(),this.manageSlideVisiblity()}onEndAnimation(){this.emit("settle")}reInit(t=null,e=null){this.destroy(),this.state=rt.Init,this.userOptions=t||this.userOptions,this.userPlugins=e||this.userPlugins,this.processOptions()}slideTo(t=0,{friction:e=this.option("friction"),transition:i=this.option("transition")}={}){if(this.state===rt.Destroy)return;const n=this.panzoom,s=this.pages.length;if(!n||!s)return;if(this.transitionTo(t,i))return;const o=this.axis,a=this.getPageFromIndex(t);let r=this.pages[a].pos,l=0;if(this.isInfinite){const t=n.current[o]*(this.isRTL&&this.isHorizontal?1:-1),e=this.contentDim,i=r+e,s=r-e;Math.abs(t-i){t.el&&(s=Math.max(s,t.el.offsetHeight))}))),i.style.height=s?`${s}px`:""}getPageForSlide(t){for(const e of this.pages)for(const i of e.slides)if(i.index===t)return e.index;return-1}getVisibleSlides(t=0){var e;const i=new Set;let{contentDim:n,viewportDim:s,pages:o,page:a}=this;n=n+(null===(e=this.slides[this.slides.length-1])||void 0===e?void 0:e.gap)||0;let r=0;r=this.panzoom?-1*this.panzoom.current[this.axis]:o[a]&&o[a].pos||0,this.isInfinite&&(r-=Math.floor(r/n)*n),this.isRTL&&this.isHorizontal&&(r*=-1);const l=r-s*t,c=r+s*(t+1),h=this.isInfinite?[-1,0,1]:[0];for(const t of this.slides)for(const e of h){const s=t.pos+e*n,o=t.pos+t.dim+t.gap+e*n;sl&&i.add(t)}return i}getPageFromPosition(t){const{viewportDim:e,contentDim:i}=this,n=this.pages.length,s=this.slides.length,o=this.slides[s-1];let a=0,r=0,l=0;const c=this.option("center");c&&(t+=.5*e),this.isInfinite||(t=Math.max(this.slides[0].pos,Math.min(t,o.pos)));const h=i+o.gap;l=Math.floor(t/h)||0,t-=l*h;let d=o,u=this.slides.find((e=>{const i=t+(d&&!c?.5*d.dim:0);return d=e,e.pos<=i&&e.pos+e.dim+e.gap>i}));return u||(u=o),r=this.getPageForSlide(u.index),a=r+l*n,{page:a,pageIndex:r}}destroy(){if([rt.Destroy].includes(this.state))return;this.state=rt.Destroy;const{container:t,viewport:e,track:i,slides:n,panzoom:s}=this,o=this.option("classes");t.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),t.removeEventListener("slideTo",this.onSlideTo),window.removeEventListener("resize",this.onResize),s&&(s.destroy(),this.panzoom=null),n&&n.forEach((t=>{this.removeSlideEl(t)})),this.detachPlugins(),this.track=null,this.viewport=null,this.page=0,e&&i&&e.replaceWith(...i.childNodes);for(const[e,i]of Object.entries(o))"container"!==e&&i&&t.classList.remove(i);this.slides=[];const a=this.events.get("ready");this.events=new Map,a&&this.events.set("ready",a)}}Object.defineProperty(ft,"Panzoom",{enumerable:!0,configurable:!0,writable:!0,value:H}),Object.defineProperty(ft,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:at}),Object.defineProperty(ft,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:mt});let gt=null,bt=null;const vt=new Map;let yt=0;class wt extends g{get isIdle(){return this.idle}get isCompact(){return this.option("compact")}constructor(t=[],e={},i={}){super(e),Object.defineProperty(this,"userSlides",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"userPlugins",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"idle",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"idleTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"clickTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"prevWheelTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoreFocusChange",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:u.Init}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"footer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"carousel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"lastFocus",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"prevMouseMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fsAPI",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.fsAPI=(()=>{let t,e="",i="",n="";return document.fullscreenEnabled?(e="requestFullscreen",i="exitFullscreen",n="fullscreenElement"):document.webkitFullscreenEnabled&&(e="webkitRequestFullscreen",i="webkitExitFullscreen",n="webkitFullscreenElement"),e&&(t={request:function(t){return"webkitRequestFullscreen"===e?t[e](Element.ALLOW_KEYBOARD_INPUT):t[e]()},exit:function(){return document[n]&&document[i]()},isFullscreen:function(){return document[n]}}),t})(),this.id=e.id||++yt,vt.set(this.id,this),this.userSlides=t,this.userPlugins=i,queueMicrotask((()=>{this.init()}))}init(){this.state=u.Init,this.attachPlugins(Object.assign(Object.assign({},wt.Plugins),this.userPlugins)),this.emit("init"),!0===this.option("hideScrollbar")&&(()=>{if(!o)return;if(document.body.classList.contains("compensate-for-scrollbar"))return;const t=window.innerWidth-document.documentElement.getBoundingClientRect().width;t>1&&(document.documentElement.style.setProperty("--fancybox-scrollbar-compensate",`${t}px`),document.body.classList.add("compensate-for-scrollbar"))})(),this.initLayout();const t=()=>{this.initCarousel(this.userSlides),this.state=u.Ready,this.attachEvents(),this.emit("ready"),setTimeout((()=>{this.container&&this.container.setAttribute("aria-hidden","false")}),16)};this.option("Fullscreen.autoStart")&&this.fsAPI&&!this.fsAPI.isFullscreen()?this.fsAPI.request(this.container).then((()=>t())).catch((()=>t())):t()}initLayout(){const t=this.option("parentEl")||document.body,e=i(this.localize(this.option("tpl.main")||""));e&&(e.setAttribute("id",`fancybox-${this.id}`),e.setAttribute("aria-label",this.localize("{{MODAL}}")),e.classList.toggle("is-compact",this.isCompact),I(e,this.option("mainClass")||""),this.container=e,this.footer=e.querySelector(".fancybox__footer"),t.appendChild(e),document.documentElement.classList.add("with-fancybox"),gt&&bt||(gt=document.createElement("button"),gt.classList.add("fancybox-focus-guard"),gt.setAttribute("aria-hidden","true"),gt.setAttribute("aria-label","Focus guard"),gt.setAttribute("type","button"),bt=gt.cloneNode(),document.body.insertBefore(gt,e),document.body.append(bt)),this.option("animated")&&(e.classList.add("is-animated"),setTimeout((()=>{this.isClosing()||e.classList.remove("is-animated")}),350)),this.emit("initLayout"))}initCarousel(t){const i=this.container;if(!i)return;const n=i.querySelector(".fancybox__carousel");if(!n)return;const s=this.carousel=new ft(n,e({},{slides:t,transition:"fade",Panzoom:{lockAxis:this.option("dragToClose")?"xy":"x",infinite:!!this.option("dragToClose")&&"y"},Dots:!1,Navigation:{classes:{container:"fancybox__nav",button:"f-button",isNext:"is-next",isPrev:"is-prev"}},initialPage:this.option("startIndex"),l10n:this.option("l10n")},this.option("Carousel")||{}));s.on("*",((t,e,...i)=>{this.emit(`Carousel.${e}`,t,...i)})),s.on(["ready","change"],(()=>{this.manageCaption(this.getSlide())})),s.on("removeSlide",((t,e)=>{e.closeBtnEl&&e.closeBtnEl.remove(),e.closeBtnEl=void 0,e.captionEl&&e.captionEl.remove(),e.captionEl=void 0,e.spinnerEl&&e.spinnerEl.remove(),e.spinnerEl=void 0,e.state=void 0})),s.on("Panzoom.touchStart",(()=>{this.isCompact||this.endIdle()})),s.on("settle",(()=>{this.idleTimer||this.isCompact||!this.option("idle")||this.setIdle(),this.option("autoFocus")&&this.checkFocus()})),this.option("dragToClose")&&(s.on("Panzoom.afterTransform",((t,e)=>{const i=this.container;if(i){const t=Math.abs(e.current.f),n=t<1?"":Math.max(.5,Math.min(1,1-t/e.contentRect.fitHeight*1.5));i.style.setProperty("--fancybox-ts",n?"0s":""),i.style.setProperty("--fancybox-opacity",n+"")}})),s.on("Panzoom.touchEnd",((t,e,i)=>{var n;if(e.isMobile&&document.activeElement&&-1!==["TEXTAREA","INPUT","SELECT"].indexOf(null===(n=document.activeElement)||void 0===n?void 0:n.nodeName))return;const s=this.getSlide();if(s&&s.el&&s.el.scrollHeight>s.el.clientHeight)return;const o=Math.abs(e.dragOffset.y);"y"===e.lockedAxis&&(o>=200||o>=50&&e.dragOffset.time<300)&&(i&&i.cancelable&&i.preventDefault(),this.close(i,"f-throwOut"+(e.current.f<0?"Up":"Down")))}))),s.on(["change"],(t=>{var e;let i=null===(e=this.getSlide())||void 0===e?void 0:e.triggerEl;if(i){const e=new CustomEvent("slideTo",{bubbles:!0,cancelable:!0,detail:t.page});i.dispatchEvent(e)}})),s.on(["refresh","change"],(t=>{const e=this.container;if(!e)return;for(const i of e.querySelectorAll("[data-fancybox-current-index]"))i.innerHTML=t.page+1;for(const i of e.querySelectorAll("[data-fancybox-count]"))i.innerHTML=t.pages.length;if(!t.isInfinite){for(const i of e.querySelectorAll("[data-fancybox-next]"))t.page0?(i.removeAttribute("disabled"),i.removeAttribute("tabindex")):(i.setAttribute("disabled",""),i.setAttribute("tabindex","-1"))}const i=this.getSlide();let n=(null==i?void 0:i.downloadSrc)||"";n||!i||"image"!==i.type||i.error||"string"!=typeof i.src||(n=i.src);for(const t of e.querySelectorAll("[data-fancybox-download]"))n?(t.removeAttribute("disabled"),t.removeAttribute("tabindex"),t.setAttribute("href",n),t.setAttribute("download",n),t.setAttribute("target","_blank")):(t.setAttribute("disabled",""),t.setAttribute("tabindex","-1"),t.removeAttribute("href"),t.removeAttribute("download"))})),this.emit("initCarousel")}attachEvents(){const t=this.container;t&&(t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("wheel",this.onWheel,{passive:!1,capture:!1}),document.addEventListener("keydown",this.onKeydown,{passive:!1,capture:!0}),document.addEventListener("visibilitychange",this.onVisibilityChange,!1),document.addEventListener("mousemove",this.onMousemove),this.option("trapFocus")&&document.addEventListener("focus",this.onFocus,!0),window.addEventListener("resize",this.onResize))}detachEvents(){const t=this.container;t&&(document.removeEventListener("keydown",this.onKeydown,{passive:!1,capture:!0}),t.removeEventListener("wheel",this.onWheel,{passive:!1,capture:!1}),t.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),document.removeEventListener("mousemove",this.onMousemove),window.removeEventListener("resize",this.onResize),document.removeEventListener("visibilitychange",this.onVisibilityChange,!1),document.removeEventListener("focus",this.onFocus,!0))}onClick(t){var e,i;if(this.isClosing())return;!this.isCompact&&this.option("idle")&&this.resetIdle();const n=t.composedPath()[0];if(n===(null===(e=this.carousel)||void 0===e?void 0:e.container))return;if(n.closest(".f-spinner")||n.closest("[data-fancybox-close]"))return t.preventDefault(),void this.close(t);if(n.closest("[data-fancybox-prev]"))return t.preventDefault(),void this.prev();if(n.closest("[data-fancybox-next]"))return t.preventDefault(),void this.next();if(this.isCompact&&"image"===(null===(i=this.getSlide())||void 0===i?void 0:i.type))return void(this.clickTimer?(clearTimeout(this.clickTimer),this.clickTimer=null):this.clickTimer=setTimeout((()=>{this.toggleIdle(),this.clickTimer=null}),350));if(this.emit("click",t),t.defaultPrevented)return;let s=!1;const o=document.activeElement;if(n.closest(".fancybox__content")){if(o){if(o.closest("[contenteditable]"))return;n.matches(r)||o.blur()}if((a=window.getSelection())&&"Range"===a.type)return;s=this.option("contentClick")}else n.closest(".fancybox__carousel")&&!n.matches(r)&&(s=this.option("backdropClick"));var a;"close"===s?(t.preventDefault(),this.close(t)):"next"===s?(t.preventDefault(),this.next()):"prev"===s&&(t.preventDefault(),this.prev())}onWheel(t){const e=t.wheelDeltaY?t.wheelDeltaY===-3*t.deltaY:0===t.deltaMode,i=Date.now();if(this.prevWheelTime&&i-this.prevWheelTime<(e?600:300))return void t.preventDefault();if(this.prevWheelTime=i,this.emit("wheel",t),t.defaultPrevented)return;const n=this.option("wheel",t);if("close"===n)t.preventDefault(),this.close(t);else if("slide"===n){t.preventDefault();this[Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||-t.detail))>0?"prev":"next"]()}}onKeydown(t){if(!this.isTopmost())return;this.isCompact||!this.option("idle")||this.isClosing()||this.resetIdle();const e=t.key,i=this.option("keyboard");if(!i||t.ctrlKey||t.altKey||t.shiftKey)return;const s=t.composedPath()[0],o=document.activeElement&&document.activeElement.classList,a=o&&o.contains("f-button")||s.dataset.carouselPage||s.dataset.carouselIndex;if("Escape"!==e&&!a&&n(s)){if(s.isContentEditable||-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(s.nodeName))return}this.emit("keydown",e,t);const r=i[e];"function"==typeof this[r]&&(t.preventDefault(),this[r]())}onResize(){const t=this.container;if(!t)return;const e=this.isCompact;t.classList.toggle("is-compact",e),this.manageCaption(this.getSlide()),this.isCompact?this.clearIdle():this.endIdle(),this.emit("resize")}onFocus(t){this.isTopmost()&&this.checkFocus(t)}onMousemove(t){this.prevMouseMoveEvent=t,!this.isCompact&&this.option("idle")&&this.resetIdle()}onVisibilityChange(){"visible"===document.visibilityState?this.checkFocus():this.endIdle()}manageCloseBtn(t){const e=this.optionFor(t,"closeButton")||!1;if("auto"===e){const t=this.plugins.Toolbar;if(t&&t.state===Q.Ready)return}if(!e)return;if(!t.contentEl||t.closeBtnEl)return;const n=this.option("tpl.closeButton");if(n){const e=i(this.localize(n));t.closeBtnEl=t.contentEl.appendChild(e),t.el&&I(t.el,"has-close-btn")}}manageCaption(t){var e,i,n;const s=this.container;if(!s)return;const o=this.isCompact||this.option("commonCaption"),a=!o;if(this.caption&&this.stop(this.caption),a&&this.caption&&(this.caption.remove(),this.caption=null),o&&!this.caption)for(const t of(null===(e=this.carousel)||void 0===e?void 0:e.slides)||[])t.captionEl&&(t.captionEl.remove(),t.captionEl=void 0,null===(i=t.el)||void 0===i||i.classList.remove("has-caption"),null===(n=t.el)||void 0===n||n.removeAttribute("aria-labelledby"));if(t||(t=this.getSlide()),!t||o&&!this.isCurrentSlide(t))return;const r=t.el;let l=this.optionFor(t,"caption","");if("string"!=typeof l||!l.length)return void(o&&this.caption&&this.animate(this.caption,"f-fadeOut",(()=>{var t;null===(t=this.caption)||void 0===t||t.remove(),this.caption=null})));let c=null;if(a){if(c=t.captionEl||null,r&&!c){const e=`fancybox__caption_${this.id}_${t.index}`;c=document.createElement("div"),c.className="fancybox__caption",c.setAttribute("id",e),t.captionEl=r.appendChild(c),r.classList.add("has-caption"),r.setAttribute("aria-labelledby",e)}}else{if(c=this.caption,c||(c=s.querySelector(".fancybox__caption")),!c){c=document.createElement("div"),c.dataset.fancyboxCaption="",c.className="fancybox__caption",c.innerHTML=l;(this.footer||s).prepend(c)}s.classList.add("has-caption"),this.caption=c}c&&(c.innerHTML=l)}checkFocus(t){var e;const i=document.activeElement||null;i&&(null===(e=this.container)||void 0===e?void 0:e.contains(i))||this.focus(t)}focus(t){var e;if(this.ignoreFocusChange)return;const i=document.activeElement||null,n=(null==t?void 0:t.target)||null,s=this.container,o=this.getSlide();if(!s||!(null===(e=this.carousel)||void 0===e?void 0:e.viewport))return;if(!t&&i&&s.contains(i))return;const a=o&&o.state===p.Ready?o.el:null;if(!a||a.contains(i)||s===i)return;t&&t.cancelable&&t.preventDefault(),this.ignoreFocusChange=!0;const c=Array.from(s.querySelectorAll(r));let h=[],d=null;for(let t of c){const e=!t.offsetParent||t.closest('[aria-hidden="true"]'),i=a&&a.contains(t),n=!this.carousel.viewport.contains(t);t===s||(i||n)&&!e?(h.push(t),void 0!==t.dataset.origTabindex&&(t.tabIndex=parseFloat(t.dataset.origTabindex)),t.removeAttribute("data-orig-tabindex"),!t.hasAttribute("autoFocus")&&d||(d=t)):(t.dataset.origTabindex=void 0===t.dataset.origTabindex?t.getAttribute("tabindex")||void 0:t.dataset.origTabindex,t.tabIndex=-1)}let u=null;t?(!n||h.indexOf(n)<0)&&(u=d||s,h.length&&(i===bt?u=h[0]:this.lastFocus!==s&&i!==gt||(u=h[h.length-1]))):u=o&&"image"===o.type?s:d||s,u&&l(u),this.lastFocus=document.activeElement,this.ignoreFocusChange=!1}next(){const t=this.carousel;t&&t.pages.length>1&&t.slideNext()}prev(){const t=this.carousel;t&&t.pages.length>1&&t.slidePrev()}jumpTo(...t){this.carousel&&this.carousel.slideTo(...t)}isTopmost(){var t;return(null===(t=wt.getInstance())||void 0===t?void 0:t.id)==this.id}animate(t=null,e="",i){if(!t||!e)return void(i&&i());this.stop(t);const n=s=>{s.target===t&&t.dataset.animationName&&(t.removeEventListener("animationend",n),delete t.dataset.animationName,i&&i(),t.classList.remove(e))};t.dataset.animationName=e,t.addEventListener("animationend",n),t.classList.add(e)}stop(t){t&&t.dispatchEvent(new CustomEvent("animationend",{bubbles:!1,cancelable:!0,currentTarget:t}))}setContent(t,e="",i=!0){if(this.isClosing())return;const s=t.el;if(!s)return;let o=null;if(n(e))["img","iframe","video","audio"].includes(e.nodeName.toLowerCase())?(o=document.createElement("div"),o.appendChild(e)):o=e;else{const t=document.createRange().createContextualFragment(e);o=document.createElement("div"),o.appendChild(t)}o instanceof Element&&t.filter&&!t.error&&(o=o.querySelector(t.filter)),o instanceof Element?(o.classList.add("fancybox__content"),t.id&&o.setAttribute("id",t.id),"none"!==o.style.display&&"none"!==getComputedStyle(o).getPropertyValue("display")||(o.style.display=t.display||this.option("defaultDisplay")||"flex"),s.classList.add(`has-${t.error?"error":t.type||"unknown"}`),s.prepend(o),t.contentEl=o,i&&this.revealContent(t),this.manageCloseBtn(t),this.manageCaption(t)):this.setError(t,"{{ELEMENT_NOT_FOUND}}")}revealContent(t,e){const i=t.el,n=t.contentEl;i&&n&&(this.emit("reveal",t),this.hideLoading(t),t.state=p.Opening,(e=this.isOpeningSlide(t)?void 0===e?this.optionFor(t,"showClass"):e:"f-fadeIn")?this.animate(n,e,(()=>{this.done(t)})):this.done(t))}done(t){var e;this.isClosing()||(t.state=p.Ready,this.emit("done",t),null===(e=t.el)||void 0===e||e.classList.add("is-done"),this.isCurrentSlide(t)&&this.option("autoFocus")&&queueMicrotask((()=>{this.option("autoFocus")&&(this.option("autoFocus")?this.focus():this.checkFocus())})),this.isOpeningSlide(t)&&!this.isCompact&&this.option("idle")&&this.setIdle())}isCurrentSlide(t){const e=this.getSlide();return!(!t||!e)&&e.index===t.index}isOpeningSlide(t){var e,i;return null===(null===(e=this.carousel)||void 0===e?void 0:e.prevPage)&&t.index===(null===(i=this.getSlide())||void 0===i?void 0:i.index)}showLoading(t){t.state=p.Loading;const e=t.el;if(!e)return;e.classList.add("is-loading"),this.emit("loading",t),t.spinnerEl||setTimeout((()=>{if(!this.isClosing()&&!t.spinnerEl&&t.state===p.Loading){let n=i(c);t.spinnerEl=n,e.prepend(n),this.animate(n,"f-fadeIn")}}),250)}hideLoading(t){const e=t.el;if(!e)return;const i=t.spinnerEl;this.isClosing()?null==i||i.remove():(e.classList.remove("is-loading"),i&&this.animate(i,"f-fadeOut",(()=>{i.remove()})),t.state===p.Loading&&(this.emit("loaded",t),t.state=p.Ready))}setError(t,e){if(this.isClosing())return;this.emit("error"),t.error=e,this.hideLoading(t),this.clearContent(t);const i=document.createElement("div");i.classList.add("fancybox-error"),i.innerHTML=this.localize(e||"

    {{ERROR}}

    "),this.setContent(t,i)}clearContent(t){var e;null===(e=this.carousel)||void 0===e||e.emit("removeSlide",t),t.contentEl&&(t.contentEl.remove(),t.contentEl=void 0),t.closeBtnEl&&(t.closeBtnEl.remove(),t.closeBtnEl=void 0);const i=t.el;i&&(k(i,"is-loading"),k(i,"has-error"),k(i,"has-unknown"),k(i,`has-${t.type||"unknown"}`))}getSlide(){var t;const e=this.carousel;return(null===(t=null==e?void 0:e.pages[null==e?void 0:e.page])||void 0===t?void 0:t.slides[0])||void 0}close(t,e){if(this.isClosing())return;const i=new Event("shouldClose",{bubbles:!0,cancelable:!0});if(this.emit("shouldClose",i,t),i.defaultPrevented)return;t&&t.cancelable&&(t.preventDefault(),t.stopPropagation());const n=this.fsAPI,s=()=>{this.proceedClose(t,e)};n&&n.isFullscreen()?Promise.resolve(n.exit()).then((()=>s())):s()}clearIdle(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null}setIdle(t=!1){const e=()=>{var t;this.clearIdle(),this.idle=!0,null===(t=this.container)||void 0===t||t.classList.add("is-idle"),this.emit("setIdle")};if(this.clearIdle(),!this.isClosing())if(t)e();else{const t=this.option("idle");t&&(this.idleTimer=setTimeout(e,t))}}endIdle(){var t;this.clearIdle(),this.idle&&!this.isClosing()&&(this.idle=!1,null===(t=this.container)||void 0===t||t.classList.remove("is-idle"),this.emit("endIdle"))}resetIdle(){this.endIdle(),this.setIdle()}toggleIdle(){this.idle?this.endIdle():this.setIdle(!0)}toggleFullscreen(){const t=this.fsAPI;t&&(t.isFullscreen()?t.exit():this.container&&t.request(this.container))}isClosing(){return[u.Closing,u.CustomClosing,u.Destroy].includes(this.state)}proceedClose(t,e){var i,n;this.state=u.Closing,this.clearIdle(),this.detachEvents();const o=this.container,a=this.carousel,r=this.getSlide();if(r){const t=this.option("placeFocusBack")?(null===(i=this.getSlide())||void 0===i?void 0:i.triggerEl)||this.option("trigger"):null;t&&(s(t)?l(t):t.focus())}if(o&&(I(o,"is-closing"),o.setAttribute("aria-hidden","true"),this.option("animated")&&I(o,"is-animated"),o.style.pointerEvents="none"),a){a.clearTransitions(),null===(n=a.panzoom)||void 0===n||n.destroy();for(const t of a.slides){t.state=p.Closing,this.hideLoading(t);const e=t.contentEl;e&&this.stop(e);const i=null==t?void 0:t.panzoom;i&&(i.stop(),i.detachEvents(),i.detachObserver()),this.isCurrentSlide(t)||a.emit("removeSlide",t)}}this.emit("close",t),this.state!==u.CustomClosing?(void 0===e&&r&&(e=this.optionFor(r,"hideClass")),e&&r?(this.animate(r.contentEl,e,(()=>{a&&a.emit("removeSlide",r)})),setTimeout((()=>{this.destroy()}),350)):this.destroy()):setTimeout((()=>{this.destroy()}),350)}destroy(){var t;if(this.state===u.Destroy)return;this.state=u.Destroy,null===(t=this.carousel)||void 0===t||t.destroy();const e=this.container;e&&e.remove(),vt.delete(this.id);const i=wt.getInstance();i?i.focus():(gt&&(gt.remove(),gt=null),bt&&(bt.remove(),bt=null),document.documentElement.classList.remove("with-fancybox"),o&&(document.documentElement.style.setProperty("--fancybox-scrollbar-compensate",""),document.body.classList.remove("compensate-for-scrollbar")))}static bind(t,e,i){if(!o)return;let n,s="",a={};if("string"==typeof t?(n=document.body,s=t,"object"==typeof e&&(a=e||{})):(n=t,"string"==typeof e&&(s=e),"object"==typeof i&&(a=i||{})),!n)return;s=s||"[data-fancybox]";const r=wt.openers.get(n)||new Map;r.set(s,a),wt.openers.set(n,r),1===r.size&&n.addEventListener("click",wt.fromEvent)}static unbind(t,e){let i,n="";if("string"==typeof t?(i=document.body,n=t):(i=t,"string"==typeof e&&(n=e)),!i)return;const s=wt.openers.get(i);s&&n&&s.delete(n),n&&s||(wt.openers.delete(i),i.removeEventListener("click",wt.fromEvent))}static destroy(){let t;for(;t=wt.getInstance();)t.destroy();for(const t of wt.openers.keys())t.removeEventListener("click",wt.fromEvent);wt.openers=new Map}static fromEvent(t){if(t.defaultPrevented)return;if(t.button&&0!==t.button)return;if(t.ctrlKey||t.metaKey||t.shiftKey)return;let i=t.composedPath()[0];const n=i.closest("[data-fancybox-trigger]");if(n){const t=n.dataset.fancyboxTrigger||"",e=document.querySelectorAll(`[data-fancybox="${t}"]`),s=parseInt(n.dataset.fancyboxIndex||"",10)||0;i=e[s]||i}if(!(i&&i instanceof Element))return;let s,o,a,r;if([...wt.openers].reverse().find((([t,e])=>!(!t.contains(i)||![...e].reverse().find((([e,n])=>{let l=i.closest(e);return!!l&&(s=t,o=e,a=l,r=n,!0)}))))),!s||!o||!a)return;r=r||{},t.preventDefault(),i=a;let l=[],c=e({},d,r);c.event=t,c.trigger=i,c.delegate=n;const h=c.groupAll,u=c.groupAttr,p=u&&i?i.getAttribute(`${u}`):"";if((!i||p||h)&&(l=[].slice.call(s.querySelectorAll(o))),i&&!h&&(l=p?l.filter((t=>t.getAttribute(`${u}`)===p)):[i]),!l.length)return;const m=wt.getInstance();return m&&m.options.trigger&&l.indexOf(m.options.trigger)>-1?void 0:(i&&(c.startIndex=l.indexOf(i)),wt.fromNodes(l,c))}static fromNodes(t,i){i=e({},d,i);const n=[];for(const e of t){const t=e.dataset||{},s=t.src||e.getAttribute("href")||e.getAttribute("currentSrc")||e.getAttribute("src")||void 0;let o;const a=i.delegate;let r;a&&n.length===i.startIndex&&(o=a instanceof HTMLImageElement?a:a.querySelector("img:not([aria-hidden])")),o||(o=e instanceof HTMLImageElement?e:e.querySelector("img:not([aria-hidden])")),o&&(r=o.currentSrc||o.src||void 0,!r&&o.dataset&&(r=o.dataset.lazySrc||o.dataset.src||void 0));const l={src:s,triggerEl:e,thumbEl:o,thumbElSrc:r,thumbSrc:r};for(const e in t)"fancybox"!==e&&(l[e]=t[e]+"");n.push(l)}return new wt(n,i)}static getInstance(t){if(t)return vt.get(t);return Array.from(vt.values()).reverse().find((t=>!t.isClosing()&&t))||null}static getSlide(){var t;return(null===(t=wt.getInstance())||void 0===t?void 0:t.getSlide())||null}static show(t=[],e={}){return new wt(t,e)}static next(){const t=wt.getInstance();t&&t.next()}static prev(){const t=wt.getInstance();t&&t.prev()}static close(t=!0,...e){if(t)for(const t of vt.values())t.close(...e);else{const t=wt.getInstance();t&&t.close(...e)}}}Object.defineProperty(wt,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(wt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:d}),Object.defineProperty(wt,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:nt}),Object.defineProperty(wt,"openers",{enumerable:!0,configurable:!0,writable:!0,value:new Map});export{wt as Fancybox}; diff --git a/cdn/@fancyapps/ui/dist/fancybox/fancybox.umd.js b/cdn/@fancyapps/ui/dist/fancybox/fancybox.umd.js new file mode 100644 index 00000000..45322992 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/fancybox/fancybox.umd.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).window=t.window||{})}(this,(function(t){"use strict";const e=t=>"object"==typeof t&&null!==t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t),i=(t,...n)=>{const s=n.length;for(let o=0;o{const o=Array.isArray(s)?[]:{};t[n]||Object.assign(t,{[n]:o}),e(s)?Object.assign(t[n],i(o,s)):Array.isArray(s)?Object.assign(t,{[n]:[...s]}):Object.assign(t,{[n]:s})}))}return t},n=function(t){return(new DOMParser).parseFromString(t,"text/html").body.firstChild},s=t=>t&&null!==t&&t instanceof Element&&"nodeType"in t,o=function(t){const e=window.pageYOffset,i=window.pageYOffset+window.innerHeight;if(!s(t))return 0;const n=t.getBoundingClientRect(),o=n.y+window.pageYOffset,a=n.y+n.height+window.pageYOffset;if(e>a||ia)return 100;if(oi)return 100;let r=n.height;oi&&(r-=a-i);const l=r/window.innerHeight*100;return Math.round(l)},a=!("undefined"==typeof window||!window.document||!window.document.createElement);let r;const l=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden]):not(.fancybox-focus-guard)","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"]):not([disabled]):not([aria-hidden])'].join(","),c=t=>{if(t&&a){void 0===r&&document.createElement("div").focus({get preventScroll(){return r=!0,!1}});try{if(r)t.focus({preventScroll:!0});else{const e=window.pageXOffset||document.body.scrollTop,i=window.pageYOffset||document.body.scrollLeft;t.focus(),document.body.scrollTo({top:e,left:i,behavior:"auto"})}}catch(t){}}},h='
    ',d={PANUP:"Move up",PANDOWN:"Move down",PANLEFT:"Move left",PANRIGHT:"Move right",ZOOMIN:"Zoom in",ZOOMOUT:"Zoom out",TOGGLEZOOM:"Toggle zoom level",TOGGLE1TO1:"Toggle zoom level",ITERATEZOOM:"Toggle zoom level",ROTATECCW:"Rotate counterclockwise",ROTATECW:"Rotate clockwise",FLIPX:"Flip horizontally",FLIPY:"Flip vertically",FITX:"Fit horizontally",FITY:"Fit vertically",RESET:"Reset",TOGGLEFS:"Toggle fullscreen"},u={dragToClose:!0,hideScrollbar:!0,Carousel:{classes:{container:"fancybox__carousel",viewport:"fancybox__viewport",track:"fancybox__track",slide:"fancybox__slide"}},contentClick:"toggleZoom",contentDblClick:!1,backdropClick:"close",animated:!0,idle:3500,showClass:"f-zoomInUp",hideClass:"f-fadeOut",commonCaption:!1,parentEl:null,startIndex:0,l10n:Object.assign(Object.assign({},d),{CLOSE:"Close",NEXT:"Next",PREV:"Previous",MODAL:"You can close this modal content with the ESC key",ERROR:"Something Went Wrong, Please Try Again Later",IMAGE_ERROR:"Image Not Found",ELEMENT_NOT_FOUND:"HTML Element Not Found",AJAX_NOT_FOUND:"Error Loading AJAX : Not Found",AJAX_FORBIDDEN:"Error Loading AJAX : Forbidden",IFRAME_ERROR:"Error Loading Page",TOGGLE_ZOOM:"Toggle zoom level",TOGGLE_THUMBS:"Toggle thumbnails",TOGGLE_SLIDESHOW:"Toggle slideshow",TOGGLE_FULLSCREEN:"Toggle full-screen mode",DOWNLOAD:"Download"}),tpl:{closeButton:'',main:''},groupAll:!1,groupAttr:"data-fancybox",defaultType:"image",defaultDisplay:"block",autoFocus:!0,trapFocus:!0,placeFocusBack:!0,closeButton:"auto",keyboard:{Escape:"close",Delete:"close",Backspace:"close",PageUp:"next",PageDown:"prev",ArrowUp:"prev",ArrowDown:"next",ArrowRight:"next",ArrowLeft:"prev"},Fullscreen:{autoStart:!1},compact:()=>window.matchMedia("(max-width: 578px), (max-height: 578px)").matches,wheel:"zoom"};var p,m;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Closing=2]="Closing",t[t.CustomClosing=3]="CustomClosing",t[t.Destroy=4]="Destroy"}(p||(p={})),function(t){t[t.Loading=0]="Loading",t[t.Opening=1]="Opening",t[t.Ready=2]="Ready",t[t.Closing=3]="Closing"}(m||(m={}));const f=function(t,e){return t.split(".").reduce(((t,e)=>"object"==typeof t?t[e]:void 0),e)};class g{constructor(t={}){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),this.setOptions(t);for(const t of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))t.startsWith("on")&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}setOptions(t){this.options=t?i({},this.constructor.defaults,t):{};for(const[t,e]of Object.entries(this.option("on")||{}))this.on(t,e)}option(t,...e){let i=f(t,this.options);return i&&"function"==typeof i&&(i=i.call(this,this,...e)),i}optionFor(t,e,i,...n){let s=f(e,t);var o;"string"!=typeof(o=s)||isNaN(o)||isNaN(parseFloat(o))||(s=parseFloat(s)),"true"===s&&(s=!0),"false"===s&&(s=!1),s&&"function"==typeof s&&(s=s.call(this,this,t,...n));let a=f(e,this.options);return a&&"function"==typeof a?s=a.call(this,this,t,...n,s):void 0===s&&(s=a),void 0===s?i:s}cn(t){const e=this.options.classes;return e&&e[t]||""}localize(t,e=[]){t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,((t,e,i)=>{let n="";return i?n=this.option(`${e[0]+e.toLowerCase().substring(1)}.l10n.${i}`):e&&(n=this.option(`l10n.${e}`)),n||(n=t),n}));for(let i=0;ie))}on(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),this.events||(this.events=new Map),i.forEach((t=>{let i=this.events.get(t);i||(this.events.set(t,[]),i=[]),i.includes(e)||i.push(e),this.events.set(t,i)}))}off(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),i.forEach((t=>{const i=this.events.get(t);if(Array.isArray(i)){const t=i.indexOf(e);t>-1&&i.splice(t,1)}}))}emit(t,...e){[...this.events.get(t)||[]].forEach((t=>t(this,...e))),"*"!==t&&this.emit("*",t,...e)}}Object.defineProperty(g,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(g,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class b extends g{constructor(t={}){super(t),Object.defineProperty(this,"plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}})}attachPlugins(t={}){const e=new Map;for(const[i,n]of Object.entries(t)){const t=this.option(i),s=this.plugins[i];s||!1===t?s&&!1===t&&(s.detach(),delete this.plugins[i]):e.set(i,new n(this,t||{}))}for(const[t,i]of e)this.plugins[t]=i,i.attach();this.emit("attachPlugins")}detachPlugins(){for(const t of Object.values(this.plugins))t.detach();return this.plugins={},this.emit("detachPlugins"),this}}class v extends g{constructor(t,e){super(e),Object.defineProperty(this,"instance",{enumerable:!0,configurable:!0,writable:!0,value:t})}attach(){}detach(){}}const y=()=>{queueMicrotask((()=>{(()=>{const{slug:t,index:e}=w.parseURL(),i=Pt.getInstance();if(i&&!1!==i.option("Hash")){const n=i.carousel;if(t&&n){for(let e of n.slides)if(e.slug&&e.slug===t)return n.slideTo(e.index);if(t===i.option("slug"))return n.slideTo(e-1);const s=i.getSlide(),o=s&&s.triggerEl&&s.triggerEl.dataset;if(o&&o.fancybox===t)return n.slideTo(e-1)}w.hasSilentClose=!0,i.close()}w.startFromUrl()})()}))};class w extends v{constructor(){super(...arguments),Object.defineProperty(this,"origHash",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:null})}onChange(){const t=this.instance,e=t.carousel;this.timer&&clearTimeout(this.timer);const i=t.getSlide();if(!e||!i)return;const n=t.isOpeningSlide(i),s=new URL(document.URL).hash;let o,a=i.slug||void 0;o=a||this.instance.option("slug"),!o&&i.triggerEl&&i.triggerEl.dataset&&(o=i.triggerEl.dataset.fancybox);let r="";o&&"true"!==o&&(r="#"+o+(!a&&e.slides.length>1?"-"+(i.index+1):"")),n&&(this.origHash=s!==r?s:""),r&&s!==r&&(this.timer=setTimeout((()=>{try{window.history[n?"pushState":"replaceState"]({},document.title,window.location.pathname+window.location.search+r)}catch(t){}}),300))}onClose(){if(this.timer&&clearTimeout(this.timer),!0!==w.hasSilentClose)try{window.history.replaceState({},document.title,window.location.pathname+window.location.search+(this.origHash||""))}catch(t){}}attach(){this.instance.on("Carousel.ready",this.onChange),this.instance.on("Carousel.change",this.onChange),this.instance.on("close",this.onClose)}detach(){this.instance.off("Carousel.ready",this.onChange),this.instance.off("Carousel.change",this.onChange),this.instance.off("close",this.onClose)}static parseURL(){const t=window.location.hash.slice(1),e=t.split("-"),i=e[e.length-1],n=i&&/^\+?\d+$/.test(i)&&parseInt(e.pop()||"1",10)||1;return{hash:t,slug:e.join("-"),index:n}}static startFromUrl(){if(w.hasSilentClose=!1,Pt.getInstance()||!1===Pt.defaults.Hash)return;const{hash:t,slug:e,index:i}=w.parseURL();if(!e)return;let n=document.querySelector(`[data-slug="${t}"]`);if(n&&n.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})),Pt.getInstance())return;const s=document.querySelectorAll(`[data-fancybox="${e}"]`);s.length&&(n=s[i-1],n&&n.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})))}static destroy(){window.removeEventListener("hashchange",y,!1)}}function x(){window.addEventListener("hashchange",y,!1),setTimeout((()=>{w.startFromUrl()}),500)}Object.defineProperty(w,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(w,"hasSilentClose",{enumerable:!0,configurable:!0,writable:!0,value:!1}),a&&(/complete|interactive|loaded/.test(document.readyState)?x():document.addEventListener("DOMContentLoaded",x));const S=(t,e=1e4)=>(t=parseFloat(t+"")||0,Math.round((t+Number.EPSILON)*e)/e),E=function(t,e){return!(!t||t===document.body||e&&t===e)&&(function(t){if(!(t&&t instanceof Element&&t.offsetParent))return!1;const e=t.scrollHeight>t.clientHeight,i=window.getComputedStyle(t).overflowY,n=-1!==i.indexOf("hidden"),s=-1!==i.indexOf("visible");return e&&!n&&!s}(t)?t:E(t.parentElement,e))},P=t=>`${t||""}`.split(" ").filter((t=>!!t)),C=(t,e,i)=>{P(e).forEach((e=>{t&&t.classList.toggle(e,i||!1)}))};class M{constructor(t){Object.defineProperty(this,"pageX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nativePointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.nativePointer=t,this.pageX=t.pageX,this.pageY=t.pageY,this.clientX=t.clientX,this.clientY=t.clientY,this.id=self.Touch&&t instanceof Touch?t.identifier:-1,this.time=Date.now()}}const T={passive:!1};class O{constructor(t,{start:e=(()=>!0),move:i=(()=>{}),end:n=(()=>{})}){Object.defineProperty(this,"element",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"startCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"moveCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"endCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"startPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.element=t,this.startCallback=e,this.moveCallback=i,this.endCallback=n;for(const t of["onPointerStart","onTouchStart","onMove","onTouchEnd","onPointerEnd","onWindowBlur"])this[t]=this[t].bind(this);this.element.addEventListener("mousedown",this.onPointerStart,T),this.element.addEventListener("touchstart",this.onTouchStart,T),this.element.addEventListener("touchmove",this.onMove,T),this.element.addEventListener("touchend",this.onTouchEnd),this.element.addEventListener("touchcancel",this.onTouchEnd)}onPointerStart(t){if(!t.buttons||0!==t.button)return;const e=new M(t);this.currentPointers.some((t=>t.id===e.id))||this.triggerPointerStart(e,t)&&(window.addEventListener("mousemove",this.onMove),window.addEventListener("mouseup",this.onPointerEnd),window.addEventListener("blur",this.onWindowBlur))}onTouchStart(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerStart(new M(e),t);window.addEventListener("blur",this.onWindowBlur)}onMove(t){const e=this.currentPointers.slice(),i="changedTouches"in t?Array.from(t.changedTouches||[]).map((t=>new M(t))):[new M(t)],n=[];for(const t of i){const e=this.currentPointers.findIndex((e=>e.id===t.id));e<0||(n.push(t),this.currentPointers[e]=t)}n.length&&this.moveCallback(t,this.currentPointers.slice(),e)}onPointerEnd(t){t.buttons>0&&0!==t.button||(this.triggerPointerEnd(t,new M(t)),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur))}onTouchEnd(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerEnd(t,new M(e))}triggerPointerStart(t,e){return!!this.startCallback(e,t,this.currentPointers.slice())&&(this.currentPointers.push(t),this.startPointers.push(t),!0)}triggerPointerEnd(t,e){const i=this.currentPointers.findIndex((t=>t.id===e.id));i<0||(this.currentPointers.splice(i,1),this.startPointers.splice(i,1),this.endCallback(t,e,this.currentPointers.slice()))}onWindowBlur(){this.clear()}clear(){for(;this.currentPointers.length;){const t=this.currentPointers[this.currentPointers.length-1];this.currentPointers.splice(this.currentPointers.length-1,1),this.startPointers.splice(this.currentPointers.length-1,1),this.endCallback(new Event("touchend",{bubbles:!0,cancelable:!0,clientX:t.clientX,clientY:t.clientY}),t,this.currentPointers.slice())}}stop(){this.element.removeEventListener("mousedown",this.onPointerStart,T),this.element.removeEventListener("touchstart",this.onTouchStart,T),this.element.removeEventListener("touchmove",this.onMove,T),this.element.removeEventListener("touchend",this.onTouchEnd),this.element.removeEventListener("touchcancel",this.onTouchEnd),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur)}}function A(t,e){return e?Math.sqrt(Math.pow(e.clientX-t.clientX,2)+Math.pow(e.clientY-t.clientY,2)):0}function L(t,e){return e?{clientX:(t.clientX+e.clientX)/2,clientY:(t.clientY+e.clientY)/2}:t}var z;!function(t){t[t.Init=0]="Init",t[t.Error=1]="Error",t[t.Ready=2]="Ready",t[t.Panning=3]="Panning",t[t.Mousemove=4]="Mousemove",t[t.Destroy=5]="Destroy"}(z||(z={}));const R=["a","b","c","d","e","f"],k={content:null,width:"auto",height:"auto",panMode:"drag",touch:!0,dragMinThreshold:3,lockAxis:!1,mouseMoveFactor:1,mouseMoveFriction:.12,zoom:!0,pinchToZoom:!0,panOnlyZoomed:"auto",minScale:1,maxScale:2,friction:.25,dragFriction:.35,decelFriction:.05,click:"toggleZoom",dblClick:!1,wheel:"zoom",wheelLimit:7,spinner:!0,bounds:"auto",infinite:!1,rubberband:!0,bounce:!0,maxVelocity:75,transformParent:!1,classes:{content:"f-panzoom__content",isLoading:"is-loading",canZoomIn:"can-zoom_in",canZoomOut:"can-zoom_out",isDraggable:"is-draggable",isDragging:"is-dragging",inFullscreen:"in-fullscreen",htmlHasFullscreen:"with-panzoom-in-fullscreen"},l10n:d},I=(t,e)=>{P(e).forEach((e=>{t&&t.classList.remove(e)}))},D=(t,e)=>{P(e).forEach((e=>{t&&t.classList.add(e)}))},F={a:1,b:0,c:0,d:1,e:0,f:0},j=1e5,H=1e3;let B=null,_=null;class N extends b{get isTouchDevice(){return null===_&&(_=window.matchMedia("(hover: none)").matches),_}get isMobile(){return null===B&&(B=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)),B}get panMode(){return"mousemove"!==this.options.panMode||this.isTouchDevice?"drag":"mousemove"}get panOnlyZoomed(){const t=this.options.panOnlyZoomed;return"auto"===t?this.isTouchDevice:t}get isInfinite(){return this.option("infinite")}get angle(){return 180*Math.atan2(this.current.b,this.current.a)/Math.PI||0}get targetAngle(){return 180*Math.atan2(this.target.b,this.target.a)/Math.PI||0}get scale(){const{a:t,b:e}=this.current;return Math.sqrt(t*t+e*e)||1}get targetScale(){const{a:t,b:e}=this.target;return Math.sqrt(t*t+e*e)||1}get minScale(){return this.option("minScale")||1}get fullScale(){const{contentRect:t}=this;return t.fullWidth/t.fitWidth||1}get maxScale(){return this.fullScale*(this.option("maxScale")||1)||1}get coverScale(){const{containerRect:t,contentRect:e}=this,i=Math.max(t.height/e.fitHeight,t.width/e.fitWidth)||1;return Math.min(this.fullScale,i)}get isScaling(){return Math.abs(this.targetScale-this.scale)>1e-5&&!this.isResting}get isContentLoading(){const t=this.content;return!!(t&&t instanceof HTMLImageElement)&&!t.complete}get isResting(){if(this.isBouncingX||this.isBouncingY)return!1;for(const t of R){const e="e"==t||"f"===t?.001:1e-5;if(Math.abs(this.target[t]-this.current[t])>e)return!1}return!(!this.ignoreBounds&&!this.checkBounds().inBounds)}constructor(t,e={},i={}){var s;if(super(e),Object.defineProperty(this,"pointerTracker",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"updateTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"clickTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"rAF",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"isTicking",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"friction",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoreBounds",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingX",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingY",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"clicks",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"trackingPoints",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"wheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevMouseMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:z.Init}),Object.defineProperty(this,"isDragging",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"spinner",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"containerRect",{enumerable:!0,configurable:!0,writable:!0,value:{width:0,height:0,innerWidth:0,innerHeight:0}}),Object.defineProperty(this,"contentRect",{enumerable:!0,configurable:!0,writable:!0,value:{top:0,right:0,bottom:0,left:0,fullWidth:0,fullHeight:0,fitWidth:0,fitHeight:0,width:0,height:0}}),Object.defineProperty(this,"dragStart",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,top:0,left:0,time:0}}),Object.defineProperty(this,"dragOffset",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,time:0}}),Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},F)}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},F)}),Object.defineProperty(this,"velocity",{enumerable:!0,configurable:!0,writable:!0,value:{a:0,b:0,c:0,d:0,e:0,f:0}}),Object.defineProperty(this,"lockedAxis",{enumerable:!0,configurable:!0,writable:!0,value:!1}),!t)throw new Error("No Element found");if(this.container=t,this.initContent(),this.attachPlugins(Object.assign(Object.assign({},N.Plugins),i)),this.emit("init"),this.isContentLoading){const e=this.content;if(this.option("spinner")){t.classList.add(this.cn("isLoading"));const i=n(h);t.contains(e)?this.spinner=(null===(s=e.parentElement)||void 0===s?void 0:s.insertBefore(i,e))||null:this.spinner=t.appendChild(i)}this.emit("beforeLoad"),e.addEventListener("load",this.onLoad),e.addEventListener("error",this.onError)}else queueMicrotask((()=>{this.enable()}))}initContent(){const{container:t}=this;let e=this.option("content")||t.querySelector(`.${this.cn("content")}`);if(e||(e=t.querySelector("img")||t.firstElementChild,e&&e.classList.add(this.cn("content"))),!e)throw new Error("No content found");this.content=e}onLoad(){this.spinner&&(this.spinner.remove(),this.spinner=null),this.option("spinner")&&this.container.classList.remove(this.cn("isLoading")),this.emit("afterLoad"),this.state===z.Init&&this.enable()}onError(){this.state!==z.Destroy&&(this.spinner&&(this.spinner.remove(),this.spinner=null),this.stop(),this.detachEvents(),this.state=z.Error,this.emit("error"))}attachObserver(){var t;const e=()=>Math.abs(this.containerRect.width-this.container.getBoundingClientRect().width)>.1||Math.abs(this.containerRect.height-this.container.getBoundingClientRect().height)>.1;this.resizeObserver||void 0===window.ResizeObserver||(this.resizeObserver=new ResizeObserver((()=>{this.updateTimer||(e()?(this.onResize(),this.isMobile&&(this.updateTimer=setTimeout((()=>{e()&&this.onResize(),this.updateTimer=null}),500))):this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null))}))),null===(t=this.resizeObserver)||void 0===t||t.observe(this.container)}detachObserver(){var t;null===(t=this.resizeObserver)||void 0===t||t.disconnect()}attachEvents(){const{container:t}=this;t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("wheel",this.onWheel,{passive:!1}),this.pointerTracker=new O(t,{start:this.onPointerDown,move:this.onPointerMove,end:this.onPointerUp}),document.addEventListener("mousemove",this.onMouseMove)}detachEvents(){var t;const{container:e}=this;e.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),e.removeEventListener("wheel",this.onWheel,{passive:!1}),null===(t=this.pointerTracker)||void 0===t||t.stop(),this.pointerTracker=null,document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("keydown",this.onKeydown,!0),this.clickTimer&&(clearTimeout(this.clickTimer),this.clickTimer=null),this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null)}animate(){this.setTargetForce();const t=this.option("maxVelocity");for(const e of R)this.friction?(this.velocity[e]*=1-this.friction,t&&!this.isScaling&&(this.velocity[e]=Math.max(Math.min(this.velocity[e],t),-1*t)),this.current[e]+=this.velocity[e]):this.current[e]=this.target[e];this.setTransform(),this.setEdgeForce(),!this.isResting||this.isDragging?this.rAF=requestAnimationFrame((()=>this.animate())):this.stop("current")}setTargetForce(){for(const t of R)"e"===t&&this.isBouncingX||"f"===t&&this.isBouncingY||(this.velocity[t]=(1/(1-this.friction)-1)*(this.target[t]-this.current[t]))}checkBounds(t=0,e=0){const{current:i}=this,n=i.e+t,s=i.f+e,o=this.getBounds(),{x:a,y:r}=o,l=a.min,c=a.max,h=r.min,d=r.max;let u=0,p=0;return l!==1/0&&nc&&(u=c-n),h!==1/0&&sd&&(p=d-s),Math.abs(u)<.001&&(u=0),Math.abs(p)<.001&&(p=0),Object.assign(Object.assign({},o),{xDiff:u,yDiff:p,inBounds:!u&&!p})}clampTargetBounds(){const{target:t}=this,{x:e,y:i}=this.getBounds();e.min!==1/0&&(t.e=Math.max(t.e,e.min)),e.max!==1/0&&(t.e=Math.min(t.e,e.max)),i.min!==1/0&&(t.f=Math.max(t.f,i.min)),i.max!==1/0&&(t.f=Math.min(t.f,i.max))}calculateContentDim(t=this.current){const{content:e,contentRect:i}=this,{fitWidth:n,fitHeight:s,fullWidth:o,fullHeight:a}=i;let r=o,l=a;if(this.option("zoom")||0!==this.angle){const i=!(e instanceof HTMLImageElement)&&("none"===window.getComputedStyle(e).maxWidth||"none"===window.getComputedStyle(e).maxHeight),c=i?o:n,h=i?a:s,d=this.getMatrix(t),u=new DOMPoint(0,0).matrixTransform(d),p=new DOMPoint(0+c,0).matrixTransform(d),m=new DOMPoint(0+c,0+h).matrixTransform(d),f=new DOMPoint(0,0+h).matrixTransform(d),g=Math.abs(m.x-u.x),b=Math.abs(m.y-u.y),v=Math.abs(f.x-p.x),y=Math.abs(f.y-p.y);r=Math.max(g,v),l=Math.max(b,y)}return{contentWidth:r,contentHeight:l}}setEdgeForce(){if(this.ignoreBounds||this.isDragging||"mousemove"===this.panMode||this.targetScale{const t=window.getSelection();return t&&"Range"===t.type})()&&!i.closest("button"))return;const n=i.closest("[data-panzoom-action]"),o=i.closest("[data-panzoom-change]"),a=n||o,r=a&&s(a)?a.dataset:null;if(r){const e=r.panzoomChange,i=r.panzoomAction;if((e||i)&&t.preventDefault(),e){let t={};try{t=JSON.parse(e)}catch(t){console&&console.warn("The given data was not valid JSON")}return void this.applyChange(t)}if(i)return void(this[i]&&this[i]())}if(Math.abs(this.dragOffset.x)>3||Math.abs(this.dragOffset.y)>3)return t.preventDefault(),void t.stopPropagation();const l=this.content.getBoundingClientRect();if(this.dragStart.time&&!this.canZoomOut()&&(Math.abs(l.x-this.dragStart.x)>2||Math.abs(l.y-this.dragStart.y)>2))return;this.dragStart.time=0;const c=e=>{!this.option("zoom")||Math.abs(this.velocity.a)>.3||e&&"string"==typeof e&&/(iterateZoom)|(toggle(Zoom|Full|Cover|Max)|(zoomTo(Fit|Cover|Max)))/.test(e)&&"function"==typeof this[e]&&(t.preventDefault(),this[e]({event:t}))},h=this.option("click",t),d=this.option("dblClick",t);d?(this.clicks++,1==this.clicks&&(this.clickTimer=setTimeout((()=>{1===this.clicks?(this.emit("click",t),!t.defaultPrevented&&h&&c(h)):(this.emit("dblClick",t),t.defaultPrevented||c(d)),this.clicks=0,this.clickTimer=null}),350))):(this.emit("click",t),!t.defaultPrevented&&h&&c(h))}addTrackingPoint(t){const e=this.trackingPoints.filter((t=>t.time>Date.now()-100));e.push(t),this.trackingPoints=e}onPointerDown(t,e,i){var n;this.dragOffset={x:0,y:0,time:0},this.trackingPoints=[];const s=this.content.getBoundingClientRect();if(this.dragStart={x:s.x,y:s.y,top:s.top,left:s.left,time:Date.now()},this.clickTimer)return!1;if("mousemove"===this.panMode&&this.targetScale>1)return t.preventDefault(),t.stopPropagation(),!1;if(!i.length){const e=t.composedPath()[0];if(["A","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].includes(e.nodeName)||e.closest("[contenteditable]")||e.closest("[data-selectable]")||e.closest("[data-panzoom-change]")||e.closest("[data-panzoom-action]"))return!1;null===(n=window.getSelection())||void 0===n||n.removeAllRanges()}return"mousedown"===t.type&&t.preventDefault(),S(this.targetScale,1e3)===S(this.minScale,1e3)?(this.stop(),this.target.e=this.current.e,this.target.f=this.current.f):this.stop("target"),this.isDragging=!0,this.addTrackingPoint(e),this.emit("touchStart",t),!0}onPointerMove(t,e,i){if(!1===this.option("touch",t))return;if(!this.isDragging)return;if(e.length<2&&this.panOnlyZoomed&&S(this.targetScale)<=S(this.minScale))return;if(this.emit("touchMove",t),t.defaultPrevented)return;this.addTrackingPoint(e[0]);const{content:n}=this,s=L(i[0],i[1]),o=L(e[0],e[1]);let a=0,r=0;if(e.length>1){const t=n.getBoundingClientRect();a=s.clientX-t.left-.5*t.width,r=s.clientY-t.top-.5*t.height}const l=A(i[0],i[1]),c=A(e[0],e[1]);let h=l?c/l:1,d=o.clientX-s.clientX,u=o.clientY-s.clientY;this.dragOffset.x+=d,this.dragOffset.y+=u,this.dragOffset.time=Date.now()-this.dragStart.time;let p=S(this.targetScale)===S(this.minScale)&&this.option("lockAxis");if(p&&!this.lockedAxis)if("xy"===p||"y"===p||"touchmove"===t.type){if(Math.abs(this.dragOffset.x)<6&&Math.abs(this.dragOffset.y)<6)return void t.preventDefault();const e=Math.abs(180*Math.atan2(this.dragOffset.y,this.dragOffset.x)/Math.PI);this.lockedAxis=e>45&&e<135?"y":"x",this.dragOffset.x=0,this.dragOffset.y=0,d=0,u=0}else this.lockedAxis=p;if(E(t.target,this.content)&&(p="x",this.dragOffset.y=0),p&&"xy"!==p&&this.lockedAxis!==p&&S(this.targetScale)===S(this.minScale))return;t.cancelable&&t.preventDefault(),this.container.classList.add(this.cn("isDragging"));const m=this.checkBounds(d,u);this.option("rubberband")?("x"!==this.isInfinite&&(m.xDiff>0&&d<0||m.xDiff<0&&d>0)&&(d*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitWidth*m.xDiff))),"y"!==this.isInfinite&&(m.yDiff>0&&u<0||m.yDiff<0&&u>0)&&(u*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitHeight*m.yDiff)))):(m.xDiff&&(d=0),m.yDiff&&(u=0));const f=this.targetScale,g=this.minScale,b=this.maxScale;f<.5*g&&(h=Math.max(h,g)),f>1.5*b&&(h=Math.min(h,b)),"y"===this.lockedAxis&&S(f)===S(g)&&(d=0),"x"===this.lockedAxis&&S(f)===S(g)&&(u=0),this.applyChange({originX:a,originY:r,panX:d,panY:u,scale:h,friction:this.option("dragFriction"),ignoreBounds:!0})}onPointerUp(t,e,i){if(i.length)return this.dragOffset.x=0,this.dragOffset.y=0,void(this.trackingPoints=[]);this.container.classList.remove(this.cn("isDragging")),this.isDragging&&(this.addTrackingPoint(e),this.panOnlyZoomed&&this.contentRect.width-this.contentRect.fitWidth<1&&this.contentRect.height-this.contentRect.fitHeight<1&&(this.trackingPoints=[]),E(t.target,this.content)&&"y"===this.lockedAxis&&(this.trackingPoints=[]),this.emit("touchEnd",t),this.isDragging=!1,this.lockedAxis=!1,this.state!==z.Destroy&&(t.defaultPrevented||this.startDecelAnim()))}startDecelAnim(){this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of R)this.velocity[t]=0,this.target[t]=this.current[t];I(this.container,"is-scaling"),I(this.container,"is-animating"),this.isTicking=!1;const{trackingPoints:t}=this,e=t[0],i=t[t.length-1];let n=0,s=0,o=0;i&&e&&(n=i.clientX-e.clientX,s=i.clientY-e.clientY,o=i.time-e.time);let a=0,r=0,l=0,c=0,h=this.option("decelFriction");const d=this.targetScale;if((dthis.maxScale+1e-5)&&(h=.35),o>0){l=Math.abs(n)>3?n/(o/30):0,c=Math.abs(s)>3?s/(o/30):0;const t=this.option("maxVelocity");t&&(l=Math.max(Math.min(l,t),-1*t),c=Math.max(Math.min(c,t),-1*t))}l&&(a=l/(1/(1-h)-1)),c&&(r=c/(1/(1-h)-1)),("y"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"y"===this.lockedAxis&&S(d)===this.minScale)&&(a=l=0),("x"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"x"===this.lockedAxis&&S(d)===this.minScale)&&(r=c=0);const u=this.dragOffset.x,p=this.dragOffset.y,m=this.option("dragMinThreshold")||0;Math.abs(u){let e=0;return e=t instanceof HTMLImageElement?t.naturalWidth:t instanceof SVGElement?t.width.baseVal.value:t.offsetWidth,Math.max(e,t.scrollWidth)})(n)),"auto"===p&&(p=parseFloat(n.dataset.height||"")||(t=>{let e=0;return e=t instanceof HTMLImageElement?t.naturalHeight:t instanceof SVGElement?t.height.baseVal.value:t.offsetHeight,Math.max(e,t.scrollHeight)})(n));const m=(this.option("transformParent")?n.parentElement:null)||n,f=m.getAttribute("style")||"";m.style.setProperty("transform","none","important"),n instanceof HTMLImageElement&&(m.style.width="",m.style.height=""),m.offsetHeight;const g=n.getBoundingClientRect();let b=g.width,v=g.height,y=0,w=0;if(n instanceof HTMLImageElement&&({width:b,height:v,top:y,left:w}=((t,e,i,n)=>{const s=i/n;return s>t/e?(i=t,n=t/s):(i=e*s,n=e),{width:i,height:n,top:.5*(e-n),left:.5*(t-i)}})(g.width,g.height,u,p)),this.contentRect=Object.assign(Object.assign({},this.contentRect),{top:g.top-a.top+y,bottom:a.bottom-g.bottom+y,left:g.left-a.left+w,right:a.right-g.right+w,fitWidth:b,fitHeight:v,width:b,height:v,fullWidth:u,fullHeight:p}),m.style.cssText=f,n instanceof HTMLImageElement&&(m.style.width=`${b}px`,m.style.height=`${v}px`),this.setTransform(),!0!==t){let t="";Math.abs(l-s)>1&&(t+="x"),Math.abs(c-o)>1&&(t+="y"),t&&this.emit("refresh",t)}this.ignoreBounds||(S(this.targetScale)this.maxScale?this.zoomTo(this.maxScale,{friction:0}):this.state===z.Init||this.checkBounds().inBounds||this.requestTick()),this.updateControls()}getBounds(){const t=this.option("bounds");if("auto"!==t)return t;const{contentWidth:e,contentHeight:i}=this.calculateContentDim(this.target);let n=0,s=0,o=0,a=0;const r=this.option("infinite");if(!0===r||this.lockedAxis&&r===this.lockedAxis)n=-1/0,o=1/0,s=-1/0,a=1/0;else{let{containerRect:t,contentRect:r}=this,l=S(this.contentRect.fitWidth*this.targetScale,H),c=S(this.contentRect.fitHeight*this.targetScale,H),{innerWidth:h,innerHeight:d}=t;if(this.containerRect.width===l&&(h=t.width),this.containerRect.width===c&&(d=t.height),e>h){o=.5*(e-h),n=-1*o;let t=.5*(r.right-r.left);n+=t,o+=t}if(this.contentRect.fitWidth>h&&ed){a=.5*(i-d),s=-1*a;let t=.5*(r.bottom-r.top);s+=t,a+=t}this.contentRect.fitHeight>d&&i-1||this.contentRect.height-this.contentRect.fitHeight>-1)&&(a=!0),this.contentRect.width*this.targetScaleS(this.targetScale),l=!r&&!a&&s&&S(i).9*t.fullScale?"none":"")}}panTo({x:t=this.target.e,y:e=this.target.f,scale:i=this.targetScale,friction:n=this.option("friction"),angle:s=0,originX:o=0,originY:a=0,flipX:r=!1,flipY:l=!1,ignoreBounds:c=!1}){this.state!==z.Destroy&&this.applyChange({panX:t-this.target.e,panY:e-this.target.f,scale:i/this.targetScale,angle:s,originX:o,originY:a,friction:n,flipX:r,flipY:l,ignoreBounds:c})}applyChange({panX:t=0,panY:e=0,scale:i=1,angle:n=0,originX:s=-this.current.e,originY:o=-this.current.f,friction:a=this.option("friction"),flipX:r=!1,flipY:l=!1,ignoreBounds:c=!1,bounce:h=this.option("bounce")}){const d=this.state;if(d===z.Init||d===z.Destroy)return;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of R)this.velocity[t]=0;this.friction=a||0,this.ignoreBounds=c;const{current:u}=this,p=u.e,m=u.f,f=this.getMatrix(this.target);let g=(new DOMMatrix).translate(p,m).translate(s,o).translate(t,e);if(this.option("zoom")){if(!c){const t=this.targetScale,e=this.minScale,n=this.maxScale;t*in&&(i=n/t)}g=g.scale(i)}g=g.translate(-s,-o).translate(-p,-m).multiply(f),n&&(g=g.rotate(n)),r&&(g=g.scale(-1,1)),l&&(g=g.scale(1,-1));for(const t of R)"a"!=t&&"d"!=t||!(g[t]>this.minScale+1e-5||g[t].1||"mousemove"===this.panMode||!1===h)&&!c&&this.clampTargetBounds(),this.isResting||(this.state=z.Panning,this.requestTick())}stop(t=!1){if(this.state===z.Init||this.state===z.Destroy)return;const e=this.isTicking;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const e of R)this.velocity[e]=0,"current"===t?this.current[e]=this.target[e]:"target"===t&&(this.target[e]=this.current[e]);this.setTransform(),I(this.container,"is-scaling"),I(this.container,"is-animating"),this.isTicking=!1,this.state=z.Ready,e&&(this.emit("endAnimation"),this.updateControls())}requestTick(){this.isTicking||(this.emit("startAnimation"),this.updateControls(),D(this.container,"is-animating"),this.isScaling&&D(this.container,"is-scaling")),this.isTicking=!0,this.rAF||(this.rAF=requestAnimationFrame((()=>this.animate())))}panWithMouse(t,e=this.option("mouseMoveFriction")){if(this.prevMouseMoveEvent=t,"mousemove"!==this.panMode||!t)return;if(S(this.targetScale)<=S(this.minScale))return;this.emit("mouseMove",t);const{container:i,containerRect:n,contentRect:s}=this,o=n.width,a=n.height,r=i.getBoundingClientRect(),l=(t.clientX||0)-r.left,c=(t.clientY||0)-r.top;let{contentWidth:h,contentHeight:d}=this.calculateContentDim(this.target);const u=this.option("mouseMoveFactor");u>1&&(h!==o&&(h*=u),d!==a&&(d*=u));let p=.5*(h-o)-l/o*100/100*(h-o);p+=.5*(s.right-s.left);let m=.5*(d-a)-c/a*100/100*(d-a);m+=.5*(s.bottom-s.top),this.applyChange({panX:p-this.target.e,panY:m-this.target.f,friction:e})}zoomWithWheel(t){if(this.state===z.Destroy||this.state===z.Init)return;const e=Math.abs(t.deltaY)<100&&Math.abs(t.deltaX)<100?25:50,i=Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||-t.detail)),n=this.targetScale,s=this.maxScale,o=this.minScale;let a=n*(100+i*e)/100;as&&n>=s?(this.wheelDelta+=Math.abs(i),a=s):(this.wheelDelta=0,a=Math.max(Math.min(a,s),o)),this.wheelDelta>this.option("wheelLimit")||(t.preventDefault(),a!==n&&this.zoomTo(a,{event:t}))}canZoomIn(){return this.option("zoom")&&(this.contentRect.widththis.minScale+1e-5}zoomIn(t=1.25,e){this.zoomTo(this.targetScale*t,e)}zoomOut(t=.8,e){this.zoomTo(this.targetScale*t,e)}zoomToFit(t){this.zoomTo("fit",t)}zoomToCover(t){this.zoomTo("cover",t)}zoomToFull(t){this.zoomTo("full",t)}zoomToMax(t){this.zoomTo("max",t)}toggleZoom(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.fullScale-this.minScale)?"full":"fit",t)}toggleMax(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.maxScale-this.minScale)?"max":"fit",t)}toggleCover(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.coverScale-this.minScale)?"cover":"fit",t)}iterateZoom(t){this.zoomTo("next",t)}zoomTo(t=1,{friction:e="auto",originX:i=0,originY:n=0,event:s}={}){if(this.isContentLoading||this.state===z.Destroy)return;this.stop();const{targetScale:o}=this;let a=1;if("mousemove"===this.panMode&&(s=this.prevMouseMoveEvent||s),s){const t=this.content.getBoundingClientRect(),e=s.clientX||0,o=s.clientY||0;i=e-t.left-.5*t.width,n=o-t.top-.5*t.height}const r=this.fullScale,l=this.maxScale;let c=this.coverScale;"number"==typeof t?a=t/o:("next"===t&&(r-c<.2&&(c=r),t=o1?.15:.25:e,this.applyChange({scale:a,originX:i,originY:n,friction:e}),s&&"mousemove"===this.panMode&&this.panWithMouse(s,e)}rotateCCW(){this.applyChange({angle:-90})}rotateCW(){this.applyChange({angle:90})}flipX(){this.applyChange({flipX:!0})}flipY(){this.applyChange({flipY:!0})}fitX(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.width/e.fitWidth/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}fitY(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.height/e.fitHeight/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}toggleFS(){const{container:t}=this,e=this.cn("inFullscreen"),i=this.cn("htmlHasFullscreen");t.classList.toggle(e);const n=t.classList.contains(e);n?(document.documentElement.classList.add(i),document.addEventListener("keydown",this.onKeydown,!0)):(document.documentElement.classList.remove(i),document.removeEventListener("keydown",this.onKeydown,!0)),this.updateMetrics(),this.emit(n?"enterFS":"exitFS")}getMatrix(t=this.current){const{a:e,b:i,c:n,d:s,e:o,f:a}=t;return new DOMMatrix([e,i,n,s,o,a])}reset(t){if(this.state!==z.Init&&this.state!==z.Destroy){this.stop("current");for(const t of R)this.target[t]=F[t];this.target.a=this.minScale,this.target.d=this.minScale,this.isResting||(this.friction=void 0===t?this.option("friction"):t,this.state=z.Panning,this.requestTick())}}destroy(){this.stop(),this.state=z.Destroy,this.detachEvents(),this.detachObserver();const{container:t,content:e}=this,i=this.option("classes")||{};for(const e of Object.values(i))t.classList.remove(e+"");e&&(e.removeEventListener("load",this.onLoad),e.removeEventListener("error",this.onError)),this.detachPlugins()}}Object.defineProperty(N,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:k}),Object.defineProperty(N,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}});const W=t=>new Promise(((e,i)=>{const n=new Image;n.onload=e,n.onerror=i,n.src=t}));class $ extends v{onCreateSlide(t,e,i){const n=this.instance,s=n.optionFor(i,"src")||"",{el:o,type:a}=i;o&&"image"===a&&"string"==typeof s&&this.setContent(i,s).then((t=>{if(n.isClosing())return;const e=i.contentEl,s=i.imageEl,o=i.thumbElSrc,a=this.optionFor(i,"initialSize"),r=this.optionFor(i,"zoom"),l={event:n.prevMouseMoveEvent||n.options.event,friction:r?.12:0};if(e&&s&&o&&n.isOpeningSlide(i)&&this.getZoomInfo(i)){let t=document.createElement("img");D(t,"fancybox-ghost"),e.appendChild(t),t.src=o,setTimeout((()=>{n.animate(t,"f-fadeFastOut",(()=>{t&&(t.remove(),t=null)}))}),333),W(o).then((()=>{i.state=m.Opening,this.instance.emit("reveal",i),this.zoomIn(i).then((()=>{this.instance.done(i)}),(()=>{n.hideLoading(i)}))}),(()=>{n.hideLoading(i),n.revealContent(i)}))}else{let e=n.optionFor(i,"showClass")||void 0,s=!0;n.isOpeningSlide(i)&&("full"===a?t.zoomToFull(l):"cover"===a?t.zoomToCover(l):"max"===a?t.zoomToMax(l):s=!1,t.stop("current")),s&&e&&(e="f-fadeIn"),n.revealContent(i,e)}}),(()=>{n.setError(i,"{{IMAGE_ERROR}}")}))}onRemoveSlide(t,e,i){i.panzoom&&i.panzoom.destroy(),i.panzoom=void 0,i.imageEl=void 0}onChange(t,e,i,n){for(const t of e.slides){const e=t.panzoom;e&&t.index!==i&&e.reset(.35)}}onClose(){const t=this.instance,e=t.container,i=t.getSlide();if(!e||!e.parentElement||!i)return;const{el:n,contentEl:s,panzoom:o}=i,a=i.thumbElSrc;if(!n||!a||!s||!o||o.isContentLoading||o.state===z.Init||o.state===z.Destroy)return;o.updateMetrics();let r=this.getZoomInfo(i);if(!r)return;this.instance.state=p.CustomClosing,n.classList.remove("is-zooming-in"),n.classList.add("is-zooming-out"),s.style.backgroundImage=`url('${a}')`,W(a).then((()=>{n.classList.add("hide-image")}),(()=>{}));const l=e.getBoundingClientRect();Object.assign(e.style,{position:"absolute",top:`${window.pageYOffset}px`,left:`${window.pageXOffset}px`,bottom:"auto",right:"auto",width:`${l.width}px`,height:`${l.height}px`,overflow:"hidden"});const{x:c,y:h,scale:d,opacity:u}=r;if(u){const t=((t,e,i,n)=>{const s=e-t,o=n-i;return e=>i+((e-t)/s*o||0)})(o.scale,d,1,0);o.on("afterTransform",(()=>{s.style.opacity=t(o.scale)+""}))}o.on("endAnimation",(()=>{t.destroy()})),o.target.a=d,o.target.b=0,o.target.c=0,o.target.d=d,o.panTo({x:c,y:h,scale:d,friction:u?.2:.33,ignoreBounds:!0}),o.isResting&&t.destroy()}setContent(t,e){return new Promise(((n,s)=>{var o,a;const r=this.instance,l=t.el;if(!l)return void s();r.showLoading(t);const c=document.createElement("img");if(c.classList.add("fancybox-image"),c.src=e||"",c.alt=(null===(o=t.caption)||void 0===o?void 0:o.replace(/<[^>]+>/gi,"").substring(0,1e3))||`Image ${t.index+1} of ${null===(a=r.carousel)||void 0===a?void 0:a.pages.length}`,c.draggable=!1,t.srcset&&c.setAttribute("srcset",t.srcset),t.sizes&&c.setAttribute("sizes",t.sizes),t.imageEl=c,r.setContent(t,c,!1),this.option("protected")){l.addEventListener("contextmenu",(t=>{t.preventDefault()}));const e=t.contentEl;if(e){const t=document.createElement("div");D(t,"fancybox-protected"),e.append(t)}}t.panzoom=new N(l,i({},this.option("Panzoom")||{},{content:c,width:r.optionFor(t,"width","auto"),height:r.optionFor(t,"height","auto"),wheel:()=>{const t=r.option("wheel");return("zoom"===t||"pan"==t)&&t},click:(e,i)=>{var n;if(r.isCompact||r.isClosing())return!1;let s=!i||i.target&&(null===(n=t.contentEl)||void 0===n?void 0:n.contains(i.target));return r.option(s?"contentClick":"backdropClick")||!1},dblClick:()=>r.isCompact?"toggleZoom":r.option("contentDblClick")||!1,spinner:!1,panOnlyZoomed:!0,wheelLimit:1/0,transformParent:!0,on:{ready:t=>{n(t)},error:()=>{s()},destroy:()=>{s()}}}))}))}zoomIn(t){return new Promise(((e,i)=>{const{panzoom:n,contentEl:s,el:o}=t;n&&n.updateMetrics();const a=this.getZoomInfo(t);if(!(a&&o&&s&&n))return void i();const{x:r,y:l,scale:c,opacity:h}=a,d=()=>{t.state!==m.Closing&&(h&&(s.style.opacity=Math.max(Math.min(1,1-(1-n.scale)/(1-c)),0)+""),n.scale>=1&&n.scale>n.targetScale-.1&&e(n))},u=t=>{t.scale<.99||t.scale>1.01||(s.style.opacity="",o.classList.remove("is-zooming-in"),t.off("endAnimation",u),t.off("touchStart",u),t.off("afterTransform",d),e(t))};n.on("endAnimation",u),n.on("touchStart",u),n.on("afterTransform",d),n.on(["error","destroy"],(()=>{i()})),n.panTo({x:r,y:l,scale:c,friction:0,ignoreBounds:!0}),n.stop("current");const p=this.instance,f={event:"mousemove"===n.panMode?p.prevMouseMoveEvent||p.options.event:void 0},g=this.optionFor(t,"initialSize");D(o,"is-zooming-in"),p.hideLoading(t),"full"===g?n.zoomToFull(f):"cover"===g?n.zoomToCover(f):"max"===g?n.zoomToMax(f):n.reset(.165)}))}getZoomInfo(t){const{el:e,imageEl:i,thumbEl:n,panzoom:s}=t;if(!e||!i||!n||!s||o(n)<3||!this.optionFor(t,"zoom")||this.instance.state===p.Destroy)return!1;const{top:a,left:r,width:l,height:c}=n.getBoundingClientRect();let{top:h,left:d,fitWidth:u,fitHeight:m}=s.contentRect;if(!(l&&c&&u&&m))return!1;const f=l/u,g=s.container.getBoundingClientRect();h+=g.top,d+=g.left;const b=-1*(d+.5*u-(r+.5*l)),v=-1*(h+.5*m-(a+.5*c));let y=this.option("zoomOpacity")||!1;return"auto"===y&&(y=Math.abs(l/c-u/m)>.1),{x:b,y:v,scale:f,opacity:y}}attach(){this.instance.on("Carousel.change",this.onChange),this.instance.on("Carousel.createSlide",this.onCreateSlide),this.instance.on("Carousel.removeSlide",this.onRemoveSlide),this.instance.on("close",this.onClose)}detach(){this.instance.off("Carousel.change",this.onChange),this.instance.off("Carousel.createSlide",this.onCreateSlide),this.instance.off("Carousel.removeSlide",this.onRemoveSlide),this.instance.off("close",this.onClose)}}Object.defineProperty($,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{initialSize:"fit",Panzoom:{maxScale:1},protected:!1,zoom:!0,zoomOpacity:"auto"}});const X=(t,e={})=>{const i=new URL(t),n=new URLSearchParams(i.search),s=new URLSearchParams;for(const[t,i]of[...n,...Object.entries(e)]){let e=i.toString();"t"===t?s.set("start",parseInt(e).toString()):s.set(t,e)}let o=s.toString(),a=t.match(/#t=((.*)?\d+s)/);return a&&(o+=`#t=${a[1]}`),o},Y={ajax:null,autoSize:!0,preload:!0,videoAutoplay:!0,videoRatio:16/9,videoTpl:'',videoFormat:"",vimeo:{byline:1,color:"00adef",controls:1,dnt:1,muted:0},youtube:{controls:1,enablejsapi:1,rel:0,fs:1}},q=["image","html","ajax","inline","clone","iframe","map","pdf","html5video","youtube","vimeo","video"];class Z extends v{onInitSlide(t,e,i){this.processType(i)}onCreateSlide(t,e,i){this.setContent(i)}onRemoveSlide(t,e,i){i.closeBtnEl&&(i.closeBtnEl.remove(),i.closeBtnEl=void 0),i.xhr&&(i.xhr.abort(),i.xhr=null),i.iframeEl&&(i.iframeEl.onload=i.iframeEl.onerror=null,i.iframeEl.src="//about:blank",i.iframeEl=null);const n=i.contentEl,s=i.placeholderEl;if("inline"===i.type&&n&&s)n.classList.remove("fancybox__content"),"none"!==n.style.display&&(n.style.display="none"),s.parentNode&&s.parentNode.insertBefore(n,s),s.remove(),i.placeholderEl=null;else for(;i.el&&i.el.firstChild;)i.el.removeChild(i.el.firstChild)}onSelectSlide(t,e,i){i.state===m.Ready&&this.playVideo()}onUnselectSlide(t,e,i){var n,s;if("html5video"===i.type){try{null===(s=null===(n=i.el)||void 0===n?void 0:n.querySelector("video"))||void 0===s||s.pause()}catch(t){}return}let o;"vimeo"===i.type?o={method:"pause",value:"true"}:"youtube"===i.type&&(o={event:"command",func:"pauseVideo"}),o&&i.iframeEl&&i.iframeEl.contentWindow&&i.iframeEl.contentWindow.postMessage(JSON.stringify(o),"*"),i.poller&&clearTimeout(i.poller)}onDone(t,e){t.isCurrentSlide(e)&&!t.isClosing()&&this.playVideo()}onRefresh(t,e){e.slides.forEach((t=>{t.el&&(this.setAspectRatio(t),this.resizeIframe(t))}))}onMessage(t){try{let e=JSON.parse(t.data);if("https://player.vimeo.com"===t.origin){if("ready"===e.event)for(let e of Array.from(document.getElementsByClassName("fancybox__iframe")))e instanceof HTMLIFrameElement&&e.contentWindow===t.source&&(e.dataset.ready="true")}else if("https://www.youtube-nocookie.com"===t.origin&&"onReady"===e.event){const t=document.getElementById(e.id);t&&(t.dataset.ready="true")}}catch(t){}}loadAjaxContent(t){const e=this.instance.optionFor(t,"src")||"";this.instance.showLoading(t);const i=this.instance,n=new XMLHttpRequest;i.showLoading(t),n.onreadystatechange=function(){n.readyState===XMLHttpRequest.DONE&&i.state===p.Ready&&(i.hideLoading(t),200===n.status?i.setContent(t,n.responseText):i.setError(t,404===n.status?"{{AJAX_NOT_FOUND}}":"{{AJAX_FORBIDDEN}}"))};const s=t.ajax||null;n.open(s?"POST":"GET",e+""),n.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.send(s),t.xhr=n}setInlineContent(t){let e=null;if(s(t.src))e=t.src;else if("string"==typeof t.src){const i=t.src.split("#",2).pop();e=i?document.getElementById(i):null}if(e){if("clone"===t.type||e.dataset.placeholderId){e=e.cloneNode(!0);const i=e.dataset.animationName;i&&(e.classList.remove(i),delete e.dataset.animationName),delete e.dataset.placeholderId;let n=e.getAttribute("id");n=n?`${n}--clone`:`clone-${this.instance.id}-${t.index}`,e.setAttribute("id",n)}else if(e.parentNode){const i=document.createElement("div");i.classList.add("fancybox-placeholder"),e.parentNode.insertBefore(i,e),t.placeholderEl=i}this.instance.setContent(t,e)}else this.instance.setError(t,"{{ELEMENT_NOT_FOUND}}")}setIframeContent(t){const{src:e,el:i}=t;if(!e||"string"!=typeof e||!i)return;const n=this.instance,s=document.createElement("iframe");s.className="fancybox__iframe",s.setAttribute("id",`fancybox__iframe_${n.id}_${t.index}`),s.setAttribute("allow","autoplay; fullscreen"),s.setAttribute("scrolling","auto"),s.onerror=()=>{n.setError(t,"{{IFRAME_ERROR}}")},t.iframeEl=s;const o=this.optionFor(t,"preload");if(i.classList.add("is-loading"),"iframe"!==t.type||!1===o)return s.setAttribute("src",t.src+""),this.resizeIframe(t),void n.setContent(t,s);n.showLoading(t),s.onload=()=>{if(!s.src.length)return;const e="true"!==s.dataset.ready;s.dataset.ready="true",this.resizeIframe(t),e?n.revealContent(t):n.hideLoading(t)},s.setAttribute("src",e),n.setContent(t,s,!1)}resizeIframe(t){const e=t.iframeEl,i=null==e?void 0:e.parentElement;if(!e||!i)return;let n=t.autoSize,s=t.width||0,o=t.height||0;s&&o&&(n=!1);const a=i&&i.style;if(!1!==t.preload&&!1!==n&&a)try{const t=window.getComputedStyle(i),n=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),r=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),l=e.contentWindow;if(l){const t=l.document,e=t.getElementsByTagName("html")[0],i=t.body;a.width="",i.style.overflow="hidden",s=s||e.scrollWidth+n,a.width=`${s}px`,i.style.overflow="",a.flex="0 0 auto",a.height=`${i.scrollHeight}px`,o=e.scrollHeight+r}}catch(t){}if(s||o){const t={flex:"0 1 auto",width:"",height:""};s&&(t.width=`${s}px`),o&&(t.height=`${o}px`),Object.assign(a,t)}}playVideo(){const t=this.instance.getSlide();if(!t)return;const{el:e}=t;if(!e||!e.offsetParent)return;if(!this.optionFor(t,"videoAutoplay"))return;if("html5video"===t.type)try{const t=e.querySelector("video");if(t){const e=t.play();void 0!==e&&e.then((()=>{})).catch((e=>{t.muted=!0,t.play()}))}}catch(t){}if("youtube"!==t.type&&"vimeo"!==t.type)return;const i=()=>{if(t.iframeEl&&t.iframeEl.contentWindow){let e;if("true"===t.iframeEl.dataset.ready)return e="youtube"===t.type?{event:"command",func:"playVideo"}:{method:"play",value:"true"},e&&t.iframeEl.contentWindow.postMessage(JSON.stringify(e),"*"),void(t.poller=void 0);"youtube"===t.type&&(e={event:"listening",id:t.iframeEl.getAttribute("id")},t.iframeEl.contentWindow.postMessage(JSON.stringify(e),"*"))}t.poller=setTimeout(i,250)};i()}processType(t){if(t.html)return t.type="html",t.src=t.html,void(t.html="");const e=this.instance.optionFor(t,"src","");if(!e||"string"!=typeof e)return;let i=t.type,n=null;if(n=e.match(/(?:youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(?:watch\?(?:.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(?:.*)|[\w-]{11}|\?listType=(?:.*)&list=(?:.*))(?:.*)/i)){const s=X(e,this.optionFor(t,"youtube")),o=encodeURIComponent(n[1]);t.videoId=o,t.src=`https://www.youtube-nocookie.com/embed/${o}?${s}`,t.thumbSrc=t.thumbSrc||`https://i.ytimg.com/vi/${o}/mqdefault.jpg`,i="youtube"}else if(n=e.match(/^.+vimeo.com\/(?:\/)?([\d]+)((\/|\?h=)([a-z0-9]+))?(.*)?/)){const s=X(e,this.optionFor(t,"vimeo")),o=encodeURIComponent(n[1]),a=n[4]||"";t.videoId=o,t.src=`https://player.vimeo.com/video/${o}?${a?`h=${a}${s?"&":""}`:""}${s}`,i="vimeo"}if(!i&&t.triggerEl){const e=t.triggerEl.dataset.type;q.includes(e)&&(i=e)}i||"string"==typeof e&&("#"===e.charAt(0)?i="inline":(n=e.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(i="html5video",t.videoFormat=t.videoFormat||"video/"+("ogv"===n[1]?"ogg":n[1])):e.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?i="image":e.match(/\.(pdf)((\?|#).*)?$/i)?i="pdf":(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:(?:(?:maps\/(?:place\/(?:.*)\/)?\@(.*),(\d+.?\d+?)z))|(?:\?ll=))(.*)?/i))?(t.src=`https://maps.google.${n[1]}/?ll=${(n[2]?n[2]+"&z="+Math.floor(parseFloat(n[3]))+(n[4]?n[4].replace(/^\//,"&"):""):n[4]+"").replace(/\?/,"&")}&output=${n[4]&&n[4].indexOf("layer=c")>0?"svembed":"embed"}`,i="map"):(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i))&&(t.src=`https://maps.google.${n[1]}/maps?q=${n[2].replace("query=","q=").replace("api=1","")}&output=embed`,i="map")),i=i||this.instance.option("defaultType"),t.type=i,"image"===i&&(t.thumbSrc=t.thumbSrc||t.src)}setContent(t){const e=this.instance.optionFor(t,"src")||"";if(t&&t.type&&e){switch(t.type){case"html":this.instance.setContent(t,e);break;case"html5video":const i=this.option("videoTpl");i&&this.instance.setContent(t,i.replace(/\{\{src\}\}/gi,e+"").replace(/\{\{format\}\}/gi,this.optionFor(t,"videoFormat")||"").replace(/\{\{poster\}\}/gi,t.poster||t.thumbSrc||""));break;case"inline":case"clone":this.setInlineContent(t);break;case"ajax":this.loadAjaxContent(t);break;case"pdf":case"map":case"youtube":case"vimeo":t.preload=!1;case"iframe":this.setIframeContent(t)}this.setAspectRatio(t)}}setAspectRatio(t){var e;const i=t.contentEl,n=this.optionFor(t,"videoRatio"),s=null===(e=t.el)||void 0===e?void 0:e.getBoundingClientRect();if(!(i&&s&&n&&1!==n&&t.type&&["video","youtube","vimeo","html5video"].includes(t.type)))return;const o=s.width,a=s.height;i.style.aspectRatio=n+"",i.style.width=o/a>n?"auto":"",i.style.height=o/a>n?"":"auto"}attach(){this.instance.on("Carousel.initSlide",this.onInitSlide),this.instance.on("Carousel.createSlide",this.onCreateSlide),this.instance.on("Carousel.removeSlide",this.onRemoveSlide),this.instance.on("Carousel.selectSlide",this.onSelectSlide),this.instance.on("Carousel.unselectSlide",this.onUnselectSlide),this.instance.on("Carousel.Panzoom.refresh",this.onRefresh),this.instance.on("done",this.onDone),window.addEventListener("message",this.onMessage)}detach(){this.instance.off("Carousel.initSlide",this.onInitSlide),this.instance.off("Carousel.createSlide",this.onCreateSlide),this.instance.off("Carousel.removeSlide",this.onRemoveSlide),this.instance.off("Carousel.selectSlide",this.onSelectSlide),this.instance.off("Carousel.unselectSlide",this.onUnselectSlide),this.instance.off("Carousel.Panzoom.refresh",this.onRefresh),this.instance.off("done",this.onDone),window.removeEventListener("message",this.onMessage)}}Object.defineProperty(Z,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:Y});class V extends v{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:"ready"}),Object.defineProperty(this,"inHover",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"progressBar",{enumerable:!0,configurable:!0,writable:!0,value:null})}get isActive(){return"ready"!==this.state}onReady(t){this.option("autoStart")&&(t.isInfinite||t.page{this.timer=null,this.inHover||this.onTimerEnd()}),t),this.emit("set")}clear(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.removeProgressBar()}start(){if(this.set(),this.option("pauseOnHover")){const t=this.instance.container;t.addEventListener("mouseenter",this.onMouseEnter,!1),t.addEventListener("mouseleave",this.onMouseLeave,!1)}document.addEventListener("visibilitychange",this.onVisibilityChange,!1)}stop(){const t=this.instance.container;this.clear(),this.state="ready",t.removeEventListener("mouseenter",this.onMouseEnter,!1),t.removeEventListener("mouseleave",this.onMouseLeave,!1),document.removeEventListener("visibilitychange",this.onVisibilityChange,!1),I(t,"has-autoplay"),this.emit("stop")}pause(){"play"===this.state&&(this.state="pause",this.clear(),this.emit("pause"))}resume(){const t=this.instance;if(t.isInfinite||t.page!==t.pages.length-1)if("play"!==this.state){if("pause"===this.state&&!this.inHover){const t=new Event("resume",{bubbles:!0,cancelable:!0});this.emit("resume",event),t.defaultPrevented||this.set()}}else this.set();else this.stop()}toggle(){"play"===this.state||"pause"===this.state?this.stop():this.set()}attach(){this.instance.on("ready",this.onReady),this.instance.on("Panzoom.startAnimation",this.onChange),this.instance.on("Panzoom.endAnimation",this.onSettle),this.instance.on("Panzoom.touchMove",this.onChange)}detach(){this.instance.off("ready",this.onReady),this.instance.off("Panzoom.startAnimation",this.onChange),this.instance.off("Panzoom.endAnimation",this.onSettle),this.instance.off("Panzoom.touchMove",this.onChange),this.stop()}}Object.defineProperty(V,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{autoStart:!0,pauseOnHover:!0,progressParentEl:null,showProgress:!0,timeout:3e3}});class U extends v{constructor(){super(...arguments),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:null})}onPrepare(t){const e=t.carousel;if(!e)return;const n=t.container;n&&(e.options.Autoplay=i(this.option("Autoplay")||{},{pauseOnHover:!1,autoStart:!1,timeout:this.option("timeout"),progressParentEl:()=>n.querySelector(".fancybox__toolbar [data-fancybox-toggle-slideshow]")||n,on:{set:e=>{var i;n.classList.add("has-slideshow"),(null===(i=t.getSlide())||void 0===i?void 0:i.state)!==m.Ready&&e.pause()},stop:()=>{n.classList.remove("has-slideshow"),t.isCompact||t.endIdle()},resume:(e,i)=>{var n,s,o;!i||!i.cancelable||(null===(n=t.getSlide())||void 0===n?void 0:n.state)===m.Ready&&(null===(o=null===(s=t.carousel)||void 0===s?void 0:s.panzoom)||void 0===o?void 0:o.isResting)||i.preventDefault()}}}),e.attachPlugins({Autoplay:V}),this.ref=e.plugins.Autoplay)}onReady(t){const e=t.carousel,i=this.ref;e&&i&&this.option("playOnStart")&&(e.isInfinite||e.page{t.isCurrentSlide(e)&&i.stop()})),t.isCurrentSlide(e)&&i.resume()}onKeydown(t,e){var i;const n=this.ref;n&&e===this.option("key")&&"BUTTON"!==(null===(i=document.activeElement)||void 0===i?void 0:i.nodeName)&&n.toggle()}attach(){this.instance.on("Carousel.init",this.onPrepare),this.instance.on("Carousel.ready",this.onReady),this.instance.on("done",this.onDone),this.instance.on("keydown",this.onKeydown)}detach(){this.instance.off("Carousel.init",this.onPrepare),this.instance.off("Carousel.ready",this.onReady),this.instance.off("done",this.onDone),this.instance.off("keydown",this.onKeydown)}}Object.defineProperty(U,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{key:" ",playOnStart:!1,timeout:3e3}});const G={classes:{container:"f-thumbs f-carousel__thumbs",viewport:"f-thumbs__viewport",track:"f-thumbs__track",slide:"f-thumbs__slide",isResting:"is-resting",isSelected:"is-selected",isLoading:"is-loading",hasThumbs:"has-thumbs"},minCount:2,parentEl:null,thumbTpl:'',type:"modern"};var K;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Hidden=2]="Hidden",t[t.Disabled=3]="Disabled"}(K||(K={}));let J=class extends v{constructor(){super(...arguments),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"modern"}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"carousel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"thumbWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbClipWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbHeight",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbExtraGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"shouldCenter",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:K.Init})}formatThumb(t,e){return this.instance.localize(e,[["%i",t.index],["%d",t.index+1],["%s",t.thumbSrc||"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"]])}getSlides(){const t=[],e=this.option("thumbTpl")||"";if(e)for(const i of this.instance.slides||[]){let n="";i.type&&(n=`for-${i.type}`,i.type&&["video","youtube","vimeo","html5video"].includes(i.type)&&(n+=" for-video")),t.push({html:this.formatThumb(i,e),customClass:n})}return t}onInitSlide(t,e){const i=e.el;i&&(e.thumbSrc=i.dataset.thumbSrc||e.thumbSrc||"",e.thumbClipWidth=parseFloat(i.dataset.thumbClipWidth||"")||e.thumbClipWidth||0,e.thumbHeight=parseFloat(i.dataset.thumbHeight||"")||e.thumbHeight||0)}onInitSlides(){this.state===K.Init&&this.build()}onRefreshM(){this.refreshModern()}onChangeM(){"modern"===this.type&&(this.shouldCenter=!0,this.centerModern())}onClickModern(t){t.preventDefault(),t.stopPropagation();const e=this.instance,i=e.page,n=t=>{if(t){const e=t.closest("[data-carousel-index]");if(e)return parseInt(e.dataset.carouselIndex||"",10)||0}return-1},s=(t,e)=>{const i=document.elementFromPoint(t,e);return i?n(i):-1};let o=n(t.target);o<0&&(o=s(t.clientX+this.thumbGap,t.clientY),o===i&&(o=i-1)),o<0&&(o=s(t.clientX-this.thumbGap,t.clientY),o===i&&(o=i+1)),o<0&&(o=(e=>{let n=s(t.clientX-e,t.clientY),a=s(t.clientX+e,t.clientY);return o<0&&n===i&&(o=i+1),o<0&&a===i&&(o=i-1),o})(this.thumbExtraGap)),o===i?this.centerModern():o>-1&&o{this.emit("ready")}))}buildModern(){if("modern"!==this.type)return;const{container:t,track:e,instance:i}=this,s=this.option("thumbTpl")||"";if(!t||!e||!s)return;D(t,"is-horizontal"),this.updateModern();for(const t of i.slides||[]){const i=document.createElement("div");if(D(i,this.cn("slide")),t.type){let e=`for-${t.type}`;["video","youtube","vimeo","html5video"].includes(t.type)&&(e+=" for-video"),D(i,e)}i.appendChild(n(this.formatThumb(t,s))),t.thumbSlideEl=i,e.appendChild(i),this.resizeModernSlide(t)}const o=new i.constructor.Panzoom(t,{content:e,lockAxis:"x",zoom:!1,panOnlyZoomed:!1,bounds:()=>{let t=0,e=0,n=i.slides[0],s=i.slides[i.slides.length-1],o=i.slides[i.page];return n&&s&&o&&(e=-1*this.getModernThumbPos(0),0!==i.page&&(e+=.5*(n.thumbWidth||0)),t=-1*this.getModernThumbPos(i.slides.length-1),i.page!==i.slides.length-1&&(t+=(s.thumbWidth||0)-(o.thumbWidth||0)-.5*(s.thumbWidth||0))),{x:{min:t,max:e},y:{min:0,max:0}}}});o.on("touchStart",((t,e)=>{this.shouldCenter=!1})),o.on("click",((t,e)=>this.onClickModern(e))),o.on("ready",(()=>{this.centerModern(),this.emit("ready")})),o.on(["afterTransform","refresh"],(t=>{this.lazyLoadModern()})),this.panzoom=o,this.refreshModern()}updateModern(){if("modern"!==this.type)return;const{container:t}=this;t&&(this.thumbGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-gap"))||0,this.thumbExtraGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-extra-gap"))||0,this.thumbWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-width"))||40,this.thumbClipWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-clip-width"))||40,this.thumbHeight=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-height"))||40)}refreshModern(){var t;if("modern"===this.type){this.updateModern();for(const t of this.instance.slides||[])this.resizeModernSlide(t);this.onTransformM(),null===(t=this.panzoom)||void 0===t||t.updateMetrics(!0),this.centerModern(0)}}centerModern(t){const e=this.instance,{container:i,panzoom:n}=this;if(!i||!n||n.state===z.Init)return;const s=e.page;let o=this.getModernThumbPos(s),a=o;for(let t=e.page-3;te.pages.length-1||t===e.page)continue;const i=1-Math.abs(e.getProgress(t));i>0&&i<1&&(a+=i*(this.getModernThumbPos(t)-o))}let r=100;void 0===t&&(t=.2,e.inTransition.size>0&&(t=.12),Math.abs(-1*n.current.e-a)>n.containerRect.width&&(t=.5,r=0)),n.options.maxVelocity=r,n.applyChange({panX:S(-1*a-n.target.e,1e3),friction:null===e.prevPage?0:t})}lazyLoadModern(){const{instance:t,panzoom:e}=this;if(!e)return;const i=-1*e.current.e||0;let s=this.getModernThumbPos(t.page);if(e.state!==z.Init||0===s)for(const s of t.slides||[]){const t=s.thumbSlideEl;if(!t)continue;const o=t.querySelector("img[data-lazy-src]"),a=s.index,r=this.getModernThumbPos(a),l=i-.5*e.containerRect.innerWidth,c=l+e.containerRect.innerWidth;if(!o||rc)continue;let d=o.dataset.lazySrc;if(!d||!d.length)continue;if(delete o.dataset.lazySrc,o.src=d,o.complete)continue;D(t,this.cn("isLoading"));const u=n(h);t.appendChild(u),o.addEventListener("load",(()=>{t.offsetParent&&(t.classList.remove(this.cn("isLoading")),u.remove())}),!1)}}resizeModernSlide(t){if("modern"!==this.type)return;if(!t.thumbSlideEl)return;const e=t.thumbClipWidth&&t.thumbHeight?Math.round(this.thumbHeight*(t.thumbClipWidth/t.thumbHeight)):this.thumbWidth;t.thumbWidth=e}getModernThumbPos(t){const e=this.instance.slides[t],i=this.panzoom;if(!i||!i.contentRect.fitWidth)return 0;let n=i.containerRect.innerWidth,s=i.contentRect.width;2===this.instance.slides.length&&(t-=1,s=2*this.thumbClipWidth);let o=t*(this.thumbClipWidth+this.thumbGap)+this.thumbExtraGap+.5*(e.thumbWidth||0);return o-=s>n?.5*n:.5*s,S(o||0,1)}build(){const t=this.instance,e=t.container,i=this.option("minCount")||0;if(i){let e=0;for(const i of t.slides||[])i.thumbSrc&&e++;if(e{setTimeout((()=>{var e;null===(e=null==s?void 0:s.querySelector(`[data-carousel-index="${t.page}"]`))||void 0===e||e.focus()}),100)}))}cleanup(){this.carousel&&this.carousel.destroy(),this.carousel=null,this.panzoom&&this.panzoom.destroy(),this.panzoom=null,this.container&&this.container.remove(),this.container=null,this.track=null,this.state=K.Init,I(this.instance.container,this.cn("hasThumbs"))}attach(){this.instance.on("initSlide",this.onInitSlide),this.instance.on("initSlides",this.onInitSlides),this.instance.on("Panzoom.afterTransform",this.onTransformM),this.instance.on("Panzoom.refresh",this.onRefreshM),this.instance.on("change",this.onChangeM)}detach(){this.instance.off("initSlide",this.onInitSlide),this.instance.off("initSlides",this.onInitSlides),this.instance.off("Panzoom.afterTransform",this.onTransformM),this.instance.off("Panzoom.refresh",this.onRefreshM),this.instance.off("change",this.onChangeM),this.cleanup()}};Object.defineProperty(J,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:G});const Q=Object.assign(Object.assign({},G),{key:"t",showOnStart:!0,parentEl:null});class tt extends v{constructor(){super(...arguments),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hidden",{enumerable:!0,configurable:!0,writable:!0,value:!1})}get isEnabled(){const t=this.ref;return t&&t.state!==K.Disabled}get isHidden(){return this.hidden}onInit(){const t=this.instance,e=t.carousel;if(!e)return;const n=this.option("parentEl")||t.footer||t.container;n&&(e.options.Thumbs=i({},this.options,{parentEl:n,classes:{container:"f-thumbs fancybox__thumbs"},Carousel:{Sync:{friction:t.option("Carousel.friction")},on:{click:(t,e)=>{e.stopPropagation()}}},on:{ready:t=>{const e=t.container;e&&this.hidden&&(this.refresh(),e.style.transition="none",this.hide(),e.offsetHeight,queueMicrotask((()=>{e.style.transition="",this.show()})))}}}),e.attachPlugins({Thumbs:J}),this.ref=e.plugins.Thumbs,this.option("showOnStart")||(this.ref.state=K.Hidden,this.hidden=!0))}onResize(){var t;const e=null===(t=this.ref)||void 0===t?void 0:t.container;e&&(e.style.maxHeight="")}onKeydown(t,e){const i=this.option("key");i&&i===e&&this.toggle()}toggle(){const t=this.ref;t&&t.state!==K.Disabled&&(t.state!==K.Hidden?this.hidden?this.show():this.hide():t.build())}show(){const t=this.ref,e=t&&t.state!==K.Disabled&&t.container;e&&(this.refresh(),e.offsetHeight,e.removeAttribute("aria-hidden"),e.classList.remove("is-hidden"),this.hidden=!1)}hide(){const t=this.ref,e=t&&t.container;e&&(this.refresh(),e.offsetHeight,e.classList.add("is-hidden"),e.setAttribute("aria-hidden","true")),this.hidden=!0}refresh(){const t=this.ref;if(!t||t.state===K.Disabled)return;const e=t.container,i=(null==e?void 0:e.firstChild)||null;e&&i&&i.childNodes.length&&(e.style.maxHeight=`${i.getBoundingClientRect().height}px`)}attach(){this.instance.on("Carousel.init",this.onInit),this.instance.on("resize",this.onResize),this.instance.on("keydown",this.onKeydown)}detach(){this.instance.off("Carousel.init",this.onInit),this.instance.off("resize",this.onResize),this.instance.off("keydown",this.onKeydown)}}Object.defineProperty(tt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:Q});const et={panLeft:{icon:'',change:{panX:-100}},panRight:{icon:'',change:{panX:100}},panUp:{icon:'',change:{panY:-100}},panDown:{icon:'',change:{panY:100}},zoomIn:{icon:'',action:"zoomIn"},zoomOut:{icon:'',action:"zoomOut"},toggle1to1:{icon:'',action:"toggleZoom"},toggleZoom:{icon:'',action:"toggleZoom"},iterateZoom:{icon:'',action:"iterateZoom"},rotateCCW:{icon:'',action:"rotateCCW"},rotateCW:{icon:'',action:"rotateCW"},flipX:{icon:'',action:"flipX"},flipY:{icon:'',action:"flipY"},fitX:{icon:'',action:"fitX"},fitY:{icon:'',action:"fitY"},reset:{icon:'',action:"reset"},toggleFS:{icon:'',action:"toggleFS"}};var it;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Disabled=2]="Disabled"}(it||(it={}));const nt={absolute:"auto",display:{left:["infobar"],middle:[],right:["iterateZoom","slideshow","fullscreen","thumbs","close"]},enabled:"auto",items:{infobar:{tpl:'
    /
    '},download:{tpl:''},prev:{tpl:''},next:{tpl:''},slideshow:{tpl:''},fullscreen:{tpl:''},thumbs:{tpl:''},close:{tpl:''}},parentEl:null},st={tabindex:"-1",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"};class ot extends v{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:it.Init}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null})}onReady(t){var e;if(!t.carousel)return;let i=this.option("display"),n=this.option("absolute"),s=this.option("enabled");if("auto"===s){const t=this.instance.carousel;let e=0;if(t)for(const i of t.slides)(i.panzoom||"image"===i.type)&&e++;e||(s=!1)}s||(i=void 0);let o=0;const a={left:[],middle:[],right:[]};if(i)for(const t of["left","middle","right"])for(const n of i[t]){const i=this.createEl(n);i&&(null===(e=a[t])||void 0===e||e.push(i),o++)}let r=null;if(o&&(r=this.createContainer()),r){for(const[t,e]of Object.entries(a)){const i=document.createElement("div");D(i,"fancybox__toolbar__column is-"+t);for(const t of e)i.appendChild(t);"auto"!==n||"middle"!==t||e.length||(n=!0),r.appendChild(i)}!0===n&&D(r,"is-absolute"),this.state=it.Ready,this.onRefresh()}else this.state=it.Disabled}onClick(t){var e,i;const n=this.instance,o=n.getSlide(),a=null==o?void 0:o.panzoom,r=t.target,l=r&&s(r)?r.dataset:null;if(!l)return;if(void 0!==l.fancyboxToggleThumbs)return t.preventDefault(),t.stopPropagation(),void(null===(e=n.plugins.Thumbs)||void 0===e||e.toggle());if(void 0!==l.fancyboxToggleFullscreen)return t.preventDefault(),t.stopPropagation(),void this.instance.toggleFullscreen();if(void 0!==l.fancyboxToggleSlideshow){t.preventDefault(),t.stopPropagation();const e=null===(i=n.carousel)||void 0===i?void 0:i.plugins.Autoplay;let s=e.isActive;return a&&"mousemove"===a.panMode&&!s&&a.reset(),void(s?e.stop():e.start())}const c=l.panzoomAction,h=l.panzoomChange;if((h||c)&&(t.preventDefault(),t.stopPropagation()),h){let t={};try{t=JSON.parse(h)}catch(t){}a&&a.applyChange(t)}else c&&a&&a[c]&&a[c]()}onChange(){this.onRefresh()}onRefresh(){if(this.instance.isClosing())return;const t=this.container;if(!t)return;const e=this.instance.getSlide();if(!e||e.state!==m.Ready)return;const i=e&&!e.error&&e.panzoom;for(const e of t.querySelectorAll("[data-panzoom-action]"))i?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));let n=i&&i.canZoomIn(),s=i&&i.canZoomOut();for(const e of t.querySelectorAll('[data-panzoom-action="zoomIn"]'))n?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));for(const e of t.querySelectorAll('[data-panzoom-action="zoomOut"]'))s?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));for(const e of t.querySelectorAll('[data-panzoom-action="toggleZoom"],[data-panzoom-action="iterateZoom"]')){s||n?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));const t=e.querySelector("g");t&&(t.style.display=n?"":"none")}}onDone(t,e){var i;null===(i=e.panzoom)||void 0===i||i.on("afterTransform",(()=>{this.instance.isCurrentSlide(e)&&this.onRefresh()})),this.instance.isCurrentSlide(e)&&this.onRefresh()}createContainer(){const t=this.instance.container;if(!t)return null;const e=this.option("parentEl")||t,i=document.createElement("div");return D(i,"fancybox__toolbar"),e.prepend(i),i.addEventListener("click",this.onClick,{passive:!1,capture:!0}),t&&D(t,"has-toolbar"),this.container=i,i}createEl(t){var e;const i=this.instance.carousel;if(!i)return null;if("toggleFS"===t)return null;if("fullscreen"===t&&!this.instance.fsAPI)return null;let s=null;const o=i.slides.length||0;let a=0,r=0;for(const t of i.slides)(t.panzoom||"image"===t.type)&&a++,("image"===t.type||t.downloadSrc)&&r++;if(o<2&&["infobar","prev","next"].includes(t))return s;if(void 0!==et[t]&&!a)return null;if("download"===t&&!r)return null;if("thumbs"===t){const t=this.instance.plugins.Thumbs;if(!t||!t.isEnabled)return null}if("slideshow"===t){if(!(null===(e=this.instance.carousel)||void 0===e?void 0:e.plugins.Autoplay)||o<2)return null}if(void 0!==et[t]){const e=et[t];s=document.createElement("button"),s.setAttribute("title",this.instance.localize(`{{${t.toUpperCase()}}}`)),D(s,"f-button"),e.action&&(s.dataset.panzoomAction=e.action),e.change&&(s.dataset.panzoomChange=JSON.stringify(e.change)),s.appendChild(n(this.instance.localize(e.icon)))}else{const e=(this.option("items")||[])[t];e&&(s=n(this.instance.localize(e.tpl)),"function"==typeof e.click&&s.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),"function"==typeof e.click&&e.click.call(this,this,t)})))}const l=null==s?void 0:s.querySelector("svg");if(l)for(const[t,e]of Object.entries(st))l.getAttribute(t)||l.setAttribute(t,String(e));return s}removeContainer(){var t;const e=this.container;e&&e.removeEventListener("click",this.onClick,{passive:!1,capture:!0}),null===(t=this.container)||void 0===t||t.remove(),this.container=null,this.state=it.Disabled;const i=this.instance.container;i&&I(i,"has-toolbar")}attach(){this.instance.on("Carousel.initSlides",this.onReady),this.instance.on("done",this.onDone),this.instance.on("reveal",this.onChange),this.instance.on("Carousel.change",this.onChange),this.onReady(this.instance)}detach(){this.instance.off("Carousel.initSlides",this.onReady),this.instance.off("done",this.onDone),this.instance.off("reveal",this.onChange),this.instance.off("Carousel.change",this.onChange),this.removeContainer()}}Object.defineProperty(ot,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:nt});const at={Hash:w,Html:Z,Images:$,Slideshow:U,Thumbs:tt,Toolbar:ot},rt=function(t,e){let i=!0;return(...n)=>{i&&(i=!1,t(...n),setTimeout((()=>{i=!0}),e))}},lt=(t,e)=>{let i=[];return t.childNodes.forEach((t=>{t.nodeType!==Node.ELEMENT_NODE||e&&!t.matches(e)||i.push(t)})),i},ct={viewport:null,track:null,enabled:!0,slides:[],axis:"x",transition:"fade",preload:1,slidesPerPage:"auto",initialPage:0,friction:.12,Panzoom:{decelFriction:.12},center:!0,infinite:!0,fill:!0,dragFree:!1,adaptiveHeight:!1,direction:"ltr",classes:{container:"f-carousel",viewport:"f-carousel__viewport",track:"f-carousel__track",slide:"f-carousel__slide",isLTR:"is-ltr",isRTL:"is-rtl",isHorizontal:"is-horizontal",isVertical:"is-vertical",inTransition:"in-transition",isSelected:"is-selected"},l10n:{NEXT:"Next slide",PREV:"Previous slide",GOTO:"Go to slide #%d"}};var ht;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Destroy=2]="Destroy"}(ht||(ht={}));const dt=t=>{if("string"==typeof t&&(t={html:t}),!(t instanceof String||t instanceof HTMLElement)){const e=t.thumb;void 0!==e&&("string"==typeof e&&(t.thumbSrc=e),e instanceof HTMLImageElement&&(t.thumbEl=e,t.thumbElSrc=e.src,t.thumbSrc=e.src),delete t.thumb)}return Object.assign({html:"",el:null,isDom:!1,class:"",index:-1,dim:0,gap:0,pos:0,transition:!1},t)},ut=(t={})=>Object.assign({index:-1,slides:[],dim:0,pos:-1},t),pt={classes:{list:"f-carousel__dots",isDynamic:"is-dynamic",hasDots:"has-dots",dot:"f-carousel__dot",isBeforePrev:"is-before-prev",isPrev:"is-prev",isCurrent:"is-current",isNext:"is-next",isAfterNext:"is-after-next"},dotTpl:'',dynamicFrom:11,maxCount:1/0,minCount:2};class mt extends v{constructor(){super(...arguments),Object.defineProperty(this,"isDynamic",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"list",{enumerable:!0,configurable:!0,writable:!0,value:null})}onRefresh(){this.refresh()}build(){let t=this.list;return t||(t=document.createElement("ul"),D(t,this.cn("list")),t.setAttribute("role","tablist"),this.instance.container.appendChild(t),D(this.instance.container,this.cn("hasDots")),this.list=t),t}refresh(){var t;const e=this.instance.pages.length,i=Math.min(2,this.option("minCount")),n=Math.max(2e3,this.option("maxCount")),s=this.option("dynamicFrom");if(en)return void this.cleanup();const o="number"==typeof s&&e>5&&e>=s,a=!this.list||this.isDynamic!==o||this.list.children.length!==e;a&&this.cleanup();const r=this.build();if(C(r,this.cn("isDynamic"),!!o),a)for(let t=0;t=e-1&&s.setAttribute("disabled","")))}createButton(t){const e=this.instance,i=document.createElement("button");i.setAttribute("tabindex","0"),i.setAttribute("title",e.localize(`{{${t.toUpperCase()}}}`)),D(i,this.cn("button")+" "+this.cn("next"===t?"isNext":"isPrev"));const n=e.isRTL?"next"===t?"prev":"next":t;var s;return i.innerHTML=e.localize(this.option(`${n}Tpl`)),i.dataset[`carousel${s=t,s?s.match("^[a-z]")?s.charAt(0).toUpperCase()+s.substring(1):s:""}`]="true",i}build(){let t=this.container;t||(this.container=t=document.createElement("div"),D(t,this.cn("container")),this.instance.container.appendChild(t)),this.next||(this.next=t.appendChild(this.createButton("next"))),this.prev||(this.prev=t.appendChild(this.createButton("prev")))}cleanup(){this.prev&&this.prev.remove(),this.next&&this.next.remove(),this.container&&this.container.remove(),this.prev=null,this.next=null,this.container=null}attach(){this.instance.on(["refresh","change"],this.onRefresh)}detach(){this.instance.off(["refresh","change"],this.onRefresh),this.cleanup()}}Object.defineProperty(ft,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{classes:{container:"f-carousel__nav",button:"f-button",isNext:"is-next",isPrev:"is-prev"},nextTpl:'',prevTpl:''}});class gt extends v{constructor(){super(...arguments),Object.defineProperty(this,"selectedIndex",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"nav",{enumerable:!0,configurable:!0,writable:!0,value:null})}addAsTargetFor(t){this.target=this.instance,this.nav=t,this.attachEvents()}addAsNavFor(t){this.nav=this.instance,this.target=t,this.attachEvents()}attachEvents(){this.nav&&this.target&&(this.nav.options.initialSlide=this.target.options.initialPage,this.nav.on("ready",this.onNavReady),this.nav.state===ht.Ready&&this.onNavReady(this.nav),this.target.on("ready",this.onTargetReady),this.target.state===ht.Ready&&this.onTargetReady(this.target))}onNavReady(t){t.on("createSlide",this.onNavCreateSlide),t.on("Panzoom.click",this.onNavClick),t.on("Panzoom.touchEnd",this.onNavTouch),this.onTargetChange()}onTargetReady(t){t.on("change",this.onTargetChange),t.on("Panzoom.refresh",this.onTargetChange),this.onTargetChange()}onNavClick(t,e,i){i.pointerType||this.onNavTouch(t,t.panzoom,i)}onNavTouch(t,e,i){var n,s;if(Math.abs(e.dragOffset.x)>3||Math.abs(e.dragOffset.y)>3)return;const o=i.target,{nav:a,target:r}=this;if(!a||!r||!o)return;const l=o.closest("[data-index]");if(i.stopPropagation(),i.preventDefault(),!l)return;const c=parseInt(l.dataset.index||"",10)||0,h=r.getPageForSlide(c),d=a.getPageForSlide(c);a.slideTo(d),r.slideTo(h,{friction:null===(s=null===(n=this.nav)||void 0===n?void 0:n.plugins)||void 0===s?void 0:s.Sync.option("friction")}),this.markSelectedSlide(c)}onNavCreateSlide(t,e){e.index===this.selectedIndex&&this.markSelectedSlide(e.index)}onTargetChange(){const{target:t,nav:e}=this;if(!t||!e)return;if(e.state!==ht.Ready||t.state!==ht.Ready)return;const i=t.pages[t.page].slides[0].index,n=e.getPageForSlide(i);this.markSelectedSlide(i),e.slideTo(n)}markSelectedSlide(t){const{nav:e}=this;e&&e.state===ht.Ready&&(this.selectedIndex=t,[...e.slides].map((e=>{e.el&&e.el.classList[e.index===t?"add":"remove"]("is-nav-selected")})))}attach(){let t=this.options.target,e=this.options.nav;t?this.addAsNavFor(t):e&&this.addAsTargetFor(e)}detach(){this.nav&&(this.nav.off("ready",this.onNavReady),this.nav.off("createSlide",this.onNavCreateSlide),this.nav.off("Panzoom.click",this.onNavClick),this.nav.off("Panzoom.touchEnd",this.onNavTouch)),this.nav=null,this.target&&(this.target.off("ready",this.onTargetReady),this.target.off("refresh",this.onTargetChange),this.target.off("change",this.onTargetChange)),this.target=null}}Object.defineProperty(gt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{friction:.35}});const bt={Navigation:ft,Dots:mt,Sync:gt};class vt extends b{get axis(){return this.isHorizontal?"e":"f"}get isEnabled(){return this.state===ht.Ready}get isInfinite(){let t=!1;const e=this.contentDim,i=this.viewportDim;return this.pages.length>=2&&e>1.5*i&&(t=this.option("infinite")),t}get isRTL(){return"rtl"===this.option("direction")}get isHorizontal(){return"x"===this.option("axis")}constructor(t,e={},i={}){if(super(),Object.defineProperty(this,"userOptions",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"userPlugins",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"bp",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:ht.Init}),Object.defineProperty(this,"page",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevPage",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"viewport",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"slides",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"inTransition",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"contentDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"viewportDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),"string"==typeof t&&(t=document.querySelector(t)),!t||!s(t))throw new Error("No Element found");this.container=t,this.slideNext=rt(this.slideNext.bind(this),150),this.slidePrev=rt(this.slidePrev.bind(this),150),this.userOptions=e,this.userPlugins=i,queueMicrotask((()=>{this.processOptions()}))}processOptions(){const t=i({},vt.defaults,this.userOptions);let n="";const s=t.breakpoints;if(s&&e(s))for(const[o,a]of Object.entries(s))window.matchMedia(o).matches&&e(a)&&(n+=o,i(t,a));n===this.bp&&this.state!==ht.Init||(this.bp=n,this.state===ht.Ready&&(t.initialSlide=this.pages[this.page].slides[0].index),this.state!==ht.Init&&this.destroy(),super.setOptions(t),!1===this.option("enabled")?this.attachEvents():setTimeout((()=>{this.init()}),0))}init(){this.state=ht.Init,this.emit("init"),this.attachPlugins(Object.assign(Object.assign({},vt.Plugins),this.userPlugins)),this.initLayout(),this.initSlides(),this.updateMetrics(),this.setInitialPosition(),this.initPanzoom(),this.attachEvents(),this.state=ht.Ready,this.emit("ready")}initLayout(){const{container:t}=this,e=this.option("classes");D(t,this.cn("container")),C(t,e.isLTR,!this.isRTL),C(t,e.isRTL,this.isRTL),C(t,e.isVertical,!this.isHorizontal),C(t,e.isHorizontal,this.isHorizontal);let i=this.option("viewport")||t.querySelector(`.${e.viewport}`);i||(i=document.createElement("div"),D(i,e.viewport),i.append(...lt(t,`.${e.slide}`)),t.prepend(i));let n=this.option("track")||t.querySelector(`.${e.track}`);n||(n=document.createElement("div"),D(n,e.track),n.append(...Array.from(i.childNodes))),n.setAttribute("aria-live","polite"),i.contains(n)||i.prepend(n),this.viewport=i,this.track=n,this.emit("initLayout")}initSlides(){const{track:t}=this;if(t){this.slides=[],[...lt(t,`.${this.cn("slide")}`)].forEach((t=>{if(s(t)){const e=dt({el:t,isDom:!0,index:this.slides.length});this.slides.push(e),this.emit("initSlide",e,this.slides.length)}}));for(let t of this.option("slides",[])){const e=dt(t);e.index=this.slides.length,this.slides.push(e),this.emit("initSlide",e,this.slides.length)}this.emit("initSlides")}}setInitialPage(){let t=0;const e=this.option("initialSlide");t="number"==typeof e?this.getPageForSlide(e):parseInt(this.option("initialPage",0)+"",10)||0,this.page=t}setInitialPosition(){if(!this.track||!this.pages.length)return;const t=this.isHorizontal;let e=this.page;this.pages[e]||(this.page=e=0);const i=this.pages[e].pos*(this.isRTL&&t?1:-1),n=t?`${i}px`:"0",s=t?"0":`${i}px`;this.track.style.transform=`translate3d(${n}, ${s}, 0) scale(1)`,this.option("adaptiveHeight")&&this.setViewportHeight()}initPanzoom(){this.panzoom&&(this.panzoom.destroy(),this.panzoom=null);const t=this.option("Panzoom")||{};this.panzoom=new N(this.viewport,i({},{content:this.track,zoom:!1,panOnlyZoomed:!1,lockAxis:this.isHorizontal?"x":"y",infinite:this.isInfinite,click:!1,dblClick:!1,touch:t=>!(this.pages.length<2&&!t.options.infinite),bounds:()=>this.getBounds(),maxVelocity:t=>Math.abs(t.target[this.axis]-t.current[this.axis])<2*this.viewportDim?100:0},t)),this.panzoom.on("*",((t,e,...i)=>{this.emit(`Panzoom.${e}`,t,...i)})),this.panzoom.on("decel",this.onDecel),this.panzoom.on("refresh",this.onRefresh),this.panzoom.on("beforeTransform",this.onBeforeTransform),this.panzoom.on("endAnimation",this.onEndAnimation)}attachEvents(){const t=this.container;t&&(t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("slideTo",this.onSlideTo)),window.addEventListener("resize",this.onResize)}createPages(){let t=[];const{contentDim:e,viewportDim:i}=this,n=this.option("slidesPerPage");if("number"==typeof n&&e>i){for(let e=0;ei)&&(t.push(ut()),s=t.length-1,o=0),o+=e.dim+e.gap,t[s].slides.push(e);return t}processPages(){const t=this.pages,{contentDim:e,viewportDim:i}=this,n=this.option("center"),s=this.option("fill"),o=s&&n&&e>i&&!this.isInfinite;if(t.forEach(((t,s)=>{t.index=s,t.pos=t.slides[0].pos,t.dim=0;for(const[e,i]of t.slides.entries())t.dim+=i.dim,e=e-.5*i?t.pos=e-i:n&&(t.pos+=-.5*(i-t.dim))})),t.forEach(((t,n)=>{s&&!this.isInfinite&&e>i&&(t.pos=Math.max(t.pos,0),t.pos=Math.min(t.pos,e-i)),t.pos=S(t.pos,1e3),t.dim=S(t.dim,1e3),t.pos<.1&&t.pos>-.1&&(t.pos=0)})),this.isInfinite)return t;const a=[];let r;return t.forEach((t=>{const e=Object.assign({},t);r&&e.pos===r.pos?(r.dim+=e.dim,r.slides=[...r.slides,...e.slides]):(e.index=a.length,r=e,a.push(e))})),a}getPageFromIndex(t=0){const e=this.pages.length;let i;return t=parseInt((t||0).toString())||0,i=this.isInfinite?(t%e+e)%e:Math.max(Math.min(t,this.pages.length-1),0),i}getSlideMetrics(t){const e=this.isHorizontal?"width":"height";let i=0,n=0,s=t.el;s?i=parseFloat(s.dataset[e]||"")||0:(s=document.createElement("div"),s.style.visibility="hidden",D(s,this.cn("slide")+" "+t.class),(this.track||document.body).prepend(s)),i?(s.style[e]=`${i}px`,s.style["width"===e?"height":"width"]=""):i=s.getBoundingClientRect()[e];const o=getComputedStyle(s);return"content-box"===o.boxSizing&&(this.isHorizontal?(i+=parseFloat(o.paddingLeft)||0,i+=parseFloat(o.paddingRight)||0):(i+=parseFloat(o.paddingTop)||0,i+=parseFloat(o.paddingBottom)||0)),n=parseFloat(o[this.isHorizontal?"marginRight":"marginBottom"])||0,this.isHorizontal,t.el||s.remove(),{dim:S(i,1e3),gap:S(n,1e3)}}getBounds(){let t={min:0,max:0};if(this.isInfinite)t={min:-1/0,max:1/0};else if(this.pages.length){const e=this.pages[0].pos,i=this.pages[this.pages.length-1].pos;t=this.isRTL&&this.isHorizontal?{min:e,max:i}:{min:-1*i,max:-1*e}}return{x:this.isHorizontal?t:{min:0,max:0},y:this.isHorizontal?{min:0,max:0}:t}}repositionSlides(){const{viewportDim:t,contentDim:e,page:i,pages:n}=this;let s,o=0,a=0,r=0,l=0;this.panzoom?l=-1*this.panzoom.current[this.isHorizontal?"e":"f"]:n[i]&&(l=n[i].pos||0),s=this.isHorizontal?this.isRTL?"right":"left":"top",this.isRTL&&this.isHorizontal&&(l*=-1);for(const t of this.slides)t.el?("top"===s?(t.el.style.right="",t.el.style.left=""):t.el.style.top="",t.index!==o?t.el.style[s]=0===a?"":`${S(a,1e3)}px`:t.el.style[s]="",r+=t.dim+t.gap,o++):a+=t.dim+t.gap;if(this.isInfinite&&r)for(const i of this.slides)i.el&&(S(i.pos)S(e-t)&&(i.el.style[s]=`${S(a+r,1e3)}px`),S(i.pos+i.gap)>=S(e-t)&&S(i.pos)>S(l+t)&&S(l)1&&(c=this.pages[d[0]],h=this.pages[d[1]]),c&&h){let t=0;for(const e of this.slides)e.el?this.inTransition.has(e.index)&&c.slides.indexOf(e)<0&&(e.el.style[s]=`${S(t+(c.pos-h.pos),1e3)}px`):t+=e.dim+e.gap}}createSlideEl(t){if(!this.track||!t)return;if(t.el)return;const e=document.createElement("div");D(e,this.cn("slide")),D(e,t.class),D(e,t.customClass),t.html&&(e.innerHTML=t.html);const i=[];this.slides.forEach(((t,e)=>{t.el&&i.push(e)}));const n=t.index;let s=null;if(i.length){let t=i.reduce(((t,e)=>Math.abs(e-n)this.page?1:-1,a=this.pages[s].pos*(this.isRTL?1:-1);if(this.page===s&&S(a,1e3)===S(n.target[this.axis],1e3))return!1;this.clearTransitions();const r=n.isResting;D(this.container,this.cn("inTransition"));const l=this.pages[this.page].slides[0],c=this.pages[s].slides[0];this.inTransition.add(c.index),this.createSlideEl(c);let h=l.el,d=c.el;r||"slide"===e||(e="fadeFast",h=null);const u=this.isRTL?"next":"prev",p=this.isRTL?"prev":"next";return h&&(this.inTransition.add(l.index),l.transition=e,h.addEventListener("animationend",this.onAnimationEnd),h.classList.add(`f-${e}Out`,`to-${o>0?p:u}`)),d&&(c.transition=e,d.addEventListener("animationend",this.onAnimationEnd),d.classList.add(`f-${e}In`,`from-${o>0?u:p}`)),n.panTo({x:this.isHorizontal?a:0,y:this.isHorizontal?0:a,friction:0}),this.onChange(s),!0}manageSlideVisiblity(){const t=new Set,e=new Set,i=this.getVisibleSlides(parseFloat(this.option("preload",0)+"")||0);for(const n of this.slides)i.has(n)?t.add(n):e.add(n);for(const e of this.inTransition)t.add(this.slides[e]);for(const e of t)this.createSlideEl(e),this.lazyLoadSlide(e);for(const i of e)t.has(i)||this.removeSlideEl(i);this.markSelectedSlides(),this.repositionSlides()}markSelectedSlides(){if(!this.pages[this.page]||!this.pages[this.page].slides)return;const t="aria-hidden";let e=this.cn("isSelected");if(e)for(const i of this.slides)i.el&&(i.el.dataset.index=`${i.index}`,this.pages[this.page].slides.includes(i)?(i.el.classList.contains(e)||(D(i.el,e),this.emit("selectSlide",i)),i.el.removeAttribute(t)):(i.el.classList.contains(e)&&(I(i.el,e),this.emit("unselectSlide",i)),i.el.setAttribute(t,"true")))}flipInfiniteTrack(){const t=this.panzoom;if(!t||!this.isInfinite)return;const e="x"===this.option("axis")?"e":"f",{viewportDim:i,contentDim:n}=this;let s=t.current[e],o=t.target[e]-s,a=0,r=.5*i,l=n;this.isRTL&&this.isHorizontal?(s<-r&&(a=-1,s+=l),s>l-r&&(a=1,s-=l)):(s>r&&(a=1,s-=l),s<-l+r&&(a=-1,s+=l)),a&&(t.current[e]=s,t.target[e]=s+o)}lazyLoadSlide(t){const e=this,i=t&&t.el;if(!i)return;const o=new Set,a="f-fadeIn";i.querySelectorAll("[data-lazy-srcset]").forEach((t=>{t instanceof HTMLImageElement&&o.add(t)})),i.querySelectorAll("[data-lazy-src]").forEach((t=>{t instanceof HTMLImageElement?o.add(t):s(t)&&(t.style.backgroundImage=`url('${t.dataset.lazySrc||""}')`)}));const r=(t,i,n)=>{n&&(n.remove(),n=null),i.complete&&(i.classList.add(a),setTimeout((()=>{i.classList.remove(a)}),350),i.style.display=""),this.option("adaptiveHeight")&&t.el&&this.pages[this.page].slides.indexOf(t)>-1&&e.setViewportHeight()};for(const e of o){let i=null;e.src=e.dataset.lazySrcset||e.dataset.lazySrc||"",delete e.dataset.lazySrc,delete e.dataset.lazySrcset,e.style.display="none",e.addEventListener("error",(()=>{r(t,e,i)})),e.addEventListener("load",(()=>{r(t,e,i)})),setTimeout((()=>{e.parentNode&&t.el&&(e.complete?r(t,e,i):(i=n(h),e.parentNode.insertBefore(i,e)))}),300)}let l=i.dataset.lazySrc;l&&l.length&&(i.style.backgroundImage=`url('${l}')`)}onAnimationEnd(t){var e;const i=t.target,n=i?parseInt(i.dataset.index||"",10)||0:-1,s=this.slides[n],o=t.animationName;if(!i||!s||!o)return;const a=!!this.inTransition.has(n)&&s.transition;a&&o.substring(0,a.length+2)===`f-${a}`&&this.inTransition.delete(n),this.inTransition.size||this.clearTransitions(),n===this.page&&(null===(e=this.panzoom)||void 0===e?void 0:e.isResting)&&this.emit("settle")}onDecel(t,e=0,i=0,n=0,s=0){const o=this.isRTL,a=this.isHorizontal,r=this.axis,l=this.pages.length,c=Math.abs(Math.atan2(i,e)/(Math.PI/180));let h=0;if(h=c>45&&c<135?a?0:i:a?e:0,!l)return;const d=this.option("dragFree");let u=this.page;const p=t.target[r]*(this.isRTL&&a?1:-1),{pageIndex:m}=this.getPageFromPosition(p),f=t.current[r]*(o&&a?1:-1);let{page:g}=this.getPageFromPosition(f);d?this.onChange(m):(Math.abs(h)>5?((this.pages.length<3||Math.max(Math.abs(n),Math.abs(s))>this.pages[u].slides[0].dim)&&(u=g),u=o&&a?h<0?u-1:u+1:h<0?u+1:u-1):u=g,this.slideTo(u,{transition:!1,friction:t.option("decelFriction")}))}onClick(t){const e=t.target,i=e&&s(e)?e.dataset:null;let n,o;i&&(void 0!==i.carouselPage?(o="slideTo",n=i.carouselPage):void 0!==i.carouselNext?o="slideNext":void 0!==i.carouselPrev&&(o="slidePrev")),o?(t.preventDefault(),t.stopPropagation(),e&&!e.hasAttribute("disabled")&&this[o](n)):this.emit("click",t)}onSlideTo(t){const e=t.detail||0;this.slideTo(this.getPageForSlide(e),{friction:0})}onChange(t,e=0){const i=this.page;this.prevPage=i,this.page=t,this.option("adaptiveHeight")&&this.setViewportHeight(),t!==i&&(this.markSelectedSlides(),this.emit("change",t,i,e))}onRefresh(t,e=""){let i=this.contentDim,n=this.viewportDim;this.updateMetrics(),this.contentDim===i&&this.viewportDim===n||this.slideTo(this.page,{friction:0,transition:!1})}onResize(){this.option("breakpoints")&&this.processOptions()}onBeforeTransform(){this.flipInfiniteTrack(),this.manageSlideVisiblity()}onEndAnimation(){this.emit("settle")}reInit(t=null,e=null){this.destroy(),this.state=ht.Init,this.userOptions=t||this.userOptions,this.userPlugins=e||this.userPlugins,this.processOptions()}slideTo(t=0,{friction:e=this.option("friction"),transition:i=this.option("transition")}={}){if(this.state===ht.Destroy)return;const n=this.panzoom,s=this.pages.length;if(!n||!s)return;if(this.transitionTo(t,i))return;const o=this.axis,a=this.getPageFromIndex(t);let r=this.pages[a].pos,l=0;if(this.isInfinite){const t=n.current[o]*(this.isRTL&&this.isHorizontal?1:-1),e=this.contentDim,i=r+e,s=r-e;Math.abs(t-i){t.el&&(s=Math.max(s,t.el.offsetHeight))}))),i.style.height=s?`${s}px`:""}getPageForSlide(t){for(const e of this.pages)for(const i of e.slides)if(i.index===t)return e.index;return-1}getVisibleSlides(t=0){var e;const i=new Set;let{contentDim:n,viewportDim:s,pages:o,page:a}=this;n=n+(null===(e=this.slides[this.slides.length-1])||void 0===e?void 0:e.gap)||0;let r=0;r=this.panzoom?-1*this.panzoom.current[this.axis]:o[a]&&o[a].pos||0,this.isInfinite&&(r-=Math.floor(r/n)*n),this.isRTL&&this.isHorizontal&&(r*=-1);const l=r-s*t,c=r+s*(t+1),h=this.isInfinite?[-1,0,1]:[0];for(const t of this.slides)for(const e of h){const s=t.pos+e*n,o=t.pos+t.dim+t.gap+e*n;sl&&i.add(t)}return i}getPageFromPosition(t){const{viewportDim:e,contentDim:i}=this,n=this.pages.length,s=this.slides.length,o=this.slides[s-1];let a=0,r=0,l=0;const c=this.option("center");c&&(t+=.5*e),this.isInfinite||(t=Math.max(this.slides[0].pos,Math.min(t,o.pos)));const h=i+o.gap;l=Math.floor(t/h)||0,t-=l*h;let d=o,u=this.slides.find((e=>{const i=t+(d&&!c?.5*d.dim:0);return d=e,e.pos<=i&&e.pos+e.dim+e.gap>i}));return u||(u=o),r=this.getPageForSlide(u.index),a=r+l*n,{page:a,pageIndex:r}}destroy(){if([ht.Destroy].includes(this.state))return;this.state=ht.Destroy;const{container:t,viewport:e,track:i,slides:n,panzoom:s}=this,o=this.option("classes");t.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),t.removeEventListener("slideTo",this.onSlideTo),window.removeEventListener("resize",this.onResize),s&&(s.destroy(),this.panzoom=null),n&&n.forEach((t=>{this.removeSlideEl(t)})),this.detachPlugins(),this.track=null,this.viewport=null,this.page=0,e&&i&&e.replaceWith(...i.childNodes);for(const[e,i]of Object.entries(o))"container"!==e&&i&&t.classList.remove(i);this.slides=[];const a=this.events.get("ready");this.events=new Map,a&&this.events.set("ready",a)}}Object.defineProperty(vt,"Panzoom",{enumerable:!0,configurable:!0,writable:!0,value:N}),Object.defineProperty(vt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:ct}),Object.defineProperty(vt,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:bt});const yt="is-animated";let wt=null,xt=null;const St=new Map;let Et=0;class Pt extends b{get isIdle(){return this.idle}get isCompact(){return this.option("compact")}constructor(t=[],e={},i={}){super(e),Object.defineProperty(this,"userSlides",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"userPlugins",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"idle",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"idleTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"clickTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"prevWheelTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoreFocusChange",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:p.Init}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"footer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"carousel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"lastFocus",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"prevMouseMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fsAPI",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.fsAPI=(()=>{let t,e="",i="",n="";return document.fullscreenEnabled?(e="requestFullscreen",i="exitFullscreen",n="fullscreenElement"):document.webkitFullscreenEnabled&&(e="webkitRequestFullscreen",i="webkitExitFullscreen",n="webkitFullscreenElement"),e&&(t={request:function(t){return"webkitRequestFullscreen"===e?t[e](Element.ALLOW_KEYBOARD_INPUT):t[e]()},exit:function(){return document[n]&&document[i]()},isFullscreen:function(){return document[n]}}),t})(),this.id=e.id||++Et,St.set(this.id,this),this.userSlides=t,this.userPlugins=i,queueMicrotask((()=>{this.init()}))}init(){this.state=p.Init,this.attachPlugins(Object.assign(Object.assign({},Pt.Plugins),this.userPlugins)),this.emit("init"),!0===this.option("hideScrollbar")&&(()=>{if(!a)return;if(document.body.classList.contains("compensate-for-scrollbar"))return;const t=window.innerWidth-document.documentElement.getBoundingClientRect().width;t>1&&(document.documentElement.style.setProperty("--fancybox-scrollbar-compensate",`${t}px`),document.body.classList.add("compensate-for-scrollbar"))})(),this.initLayout();const t=()=>{this.initCarousel(this.userSlides),this.state=p.Ready,this.attachEvents(),this.emit("ready"),setTimeout((()=>{this.container&&this.container.setAttribute("aria-hidden","false")}),16)};this.option("Fullscreen.autoStart")&&this.fsAPI&&!this.fsAPI.isFullscreen()?this.fsAPI.request(this.container).then((()=>t())).catch((()=>t())):t()}initLayout(){const t=this.option("parentEl")||document.body,e=n(this.localize(this.option("tpl.main")||""));e&&(e.setAttribute("id",`fancybox-${this.id}`),e.setAttribute("aria-label",this.localize("{{MODAL}}")),e.classList.toggle("is-compact",this.isCompact),D(e,this.option("mainClass")||""),this.container=e,this.footer=e.querySelector(".fancybox__footer"),t.appendChild(e),document.documentElement.classList.add("with-fancybox"),wt&&xt||(wt=document.createElement("button"),wt.classList.add("fancybox-focus-guard"),wt.setAttribute("aria-hidden","true"),wt.setAttribute("aria-label","Focus guard"),wt.setAttribute("type","button"),xt=wt.cloneNode(),document.body.insertBefore(wt,e),document.body.append(xt)),this.option("animated")&&(e.classList.add(yt),setTimeout((()=>{this.isClosing()||e.classList.remove(yt)}),350)),this.emit("initLayout"))}initCarousel(t){const e=this.container;if(!e)return;const n=e.querySelector(".fancybox__carousel");if(!n)return;const s=this.carousel=new vt(n,i({},{slides:t,transition:"fade",Panzoom:{lockAxis:this.option("dragToClose")?"xy":"x",infinite:!!this.option("dragToClose")&&"y"},Dots:!1,Navigation:{classes:{container:"fancybox__nav",button:"f-button",isNext:"is-next",isPrev:"is-prev"}},initialPage:this.option("startIndex"),l10n:this.option("l10n")},this.option("Carousel")||{}));s.on("*",((t,e,...i)=>{this.emit(`Carousel.${e}`,t,...i)})),s.on(["ready","change"],(()=>{this.manageCaption(this.getSlide())})),s.on("removeSlide",((t,e)=>{e.closeBtnEl&&e.closeBtnEl.remove(),e.closeBtnEl=void 0,e.captionEl&&e.captionEl.remove(),e.captionEl=void 0,e.spinnerEl&&e.spinnerEl.remove(),e.spinnerEl=void 0,e.state=void 0})),s.on("Panzoom.touchStart",(()=>{this.isCompact||this.endIdle()})),s.on("settle",(()=>{this.idleTimer||this.isCompact||!this.option("idle")||this.setIdle(),this.option("autoFocus")&&this.checkFocus()})),this.option("dragToClose")&&(s.on("Panzoom.afterTransform",((t,e)=>{const i=this.container;if(i){const t=Math.abs(e.current.f),n=t<1?"":Math.max(.5,Math.min(1,1-t/e.contentRect.fitHeight*1.5));i.style.setProperty("--fancybox-ts",n?"0s":""),i.style.setProperty("--fancybox-opacity",n+"")}})),s.on("Panzoom.touchEnd",((t,e,i)=>{var n;if(e.isMobile&&document.activeElement&&-1!==["TEXTAREA","INPUT","SELECT"].indexOf(null===(n=document.activeElement)||void 0===n?void 0:n.nodeName))return;const s=this.getSlide();if(s&&s.el&&s.el.scrollHeight>s.el.clientHeight)return;const o=Math.abs(e.dragOffset.y);"y"===e.lockedAxis&&(o>=200||o>=50&&e.dragOffset.time<300)&&(i&&i.cancelable&&i.preventDefault(),this.close(i,"f-throwOut"+(e.current.f<0?"Up":"Down")))}))),s.on(["change"],(t=>{var e;let i=null===(e=this.getSlide())||void 0===e?void 0:e.triggerEl;if(i){const e=new CustomEvent("slideTo",{bubbles:!0,cancelable:!0,detail:t.page});i.dispatchEvent(e)}})),s.on(["refresh","change"],(t=>{const e=this.container;if(!e)return;for(const i of e.querySelectorAll("[data-fancybox-current-index]"))i.innerHTML=t.page+1;for(const i of e.querySelectorAll("[data-fancybox-count]"))i.innerHTML=t.pages.length;if(!t.isInfinite){for(const i of e.querySelectorAll("[data-fancybox-next]"))t.page0?(i.removeAttribute("disabled"),i.removeAttribute("tabindex")):(i.setAttribute("disabled",""),i.setAttribute("tabindex","-1"))}const i=this.getSlide();let n=(null==i?void 0:i.downloadSrc)||"";n||!i||"image"!==i.type||i.error||"string"!=typeof i.src||(n=i.src);for(const t of e.querySelectorAll("[data-fancybox-download]"))n?(t.removeAttribute("disabled"),t.removeAttribute("tabindex"),t.setAttribute("href",n),t.setAttribute("download",n),t.setAttribute("target","_blank")):(t.setAttribute("disabled",""),t.setAttribute("tabindex","-1"),t.removeAttribute("href"),t.removeAttribute("download"))})),this.emit("initCarousel")}attachEvents(){const t=this.container;t&&(t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("wheel",this.onWheel,{passive:!1,capture:!1}),document.addEventListener("keydown",this.onKeydown,{passive:!1,capture:!0}),document.addEventListener("visibilitychange",this.onVisibilityChange,!1),document.addEventListener("mousemove",this.onMousemove),this.option("trapFocus")&&document.addEventListener("focus",this.onFocus,!0),window.addEventListener("resize",this.onResize))}detachEvents(){const t=this.container;t&&(document.removeEventListener("keydown",this.onKeydown,{passive:!1,capture:!0}),t.removeEventListener("wheel",this.onWheel,{passive:!1,capture:!1}),t.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),document.removeEventListener("mousemove",this.onMousemove),window.removeEventListener("resize",this.onResize),document.removeEventListener("visibilitychange",this.onVisibilityChange,!1),document.removeEventListener("focus",this.onFocus,!0))}onClick(t){var e,i;if(this.isClosing())return;!this.isCompact&&this.option("idle")&&this.resetIdle();const n=t.composedPath()[0];if(n===(null===(e=this.carousel)||void 0===e?void 0:e.container))return;if(n.closest(".f-spinner")||n.closest("[data-fancybox-close]"))return t.preventDefault(),void this.close(t);if(n.closest("[data-fancybox-prev]"))return t.preventDefault(),void this.prev();if(n.closest("[data-fancybox-next]"))return t.preventDefault(),void this.next();if(this.isCompact&&"image"===(null===(i=this.getSlide())||void 0===i?void 0:i.type))return void(this.clickTimer?(clearTimeout(this.clickTimer),this.clickTimer=null):this.clickTimer=setTimeout((()=>{this.toggleIdle(),this.clickTimer=null}),350));if(this.emit("click",t),t.defaultPrevented)return;let s=!1;const o=document.activeElement;if(n.closest(".fancybox__content")){if(o){if(o.closest("[contenteditable]"))return;n.matches(l)||o.blur()}if((a=window.getSelection())&&"Range"===a.type)return;s=this.option("contentClick")}else n.closest(".fancybox__carousel")&&!n.matches(l)&&(s=this.option("backdropClick"));var a;"close"===s?(t.preventDefault(),this.close(t)):"next"===s?(t.preventDefault(),this.next()):"prev"===s&&(t.preventDefault(),this.prev())}onWheel(t){const e=t.wheelDeltaY?t.wheelDeltaY===-3*t.deltaY:0===t.deltaMode,i=Date.now();if(this.prevWheelTime&&i-this.prevWheelTime<(e?600:300))return void t.preventDefault();if(this.prevWheelTime=i,this.emit("wheel",t),t.defaultPrevented)return;const n=this.option("wheel",t);if("close"===n)t.preventDefault(),this.close(t);else if("slide"===n){t.preventDefault();this[Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||-t.detail))>0?"prev":"next"]()}}onKeydown(t){if(!this.isTopmost())return;this.isCompact||!this.option("idle")||this.isClosing()||this.resetIdle();const e=t.key,i=this.option("keyboard");if(!i||t.ctrlKey||t.altKey||t.shiftKey)return;const n=t.composedPath()[0],o=document.activeElement&&document.activeElement.classList,a=o&&o.contains("f-button")||n.dataset.carouselPage||n.dataset.carouselIndex;if("Escape"!==e&&!a&&s(n)){if(n.isContentEditable||-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(n.nodeName))return}this.emit("keydown",e,t);const r=i[e];"function"==typeof this[r]&&(t.preventDefault(),this[r]())}onResize(){const t=this.container;if(!t)return;const e=this.isCompact;t.classList.toggle("is-compact",e),this.manageCaption(this.getSlide()),this.isCompact?this.clearIdle():this.endIdle(),this.emit("resize")}onFocus(t){this.isTopmost()&&this.checkFocus(t)}onMousemove(t){this.prevMouseMoveEvent=t,!this.isCompact&&this.option("idle")&&this.resetIdle()}onVisibilityChange(){"visible"===document.visibilityState?this.checkFocus():this.endIdle()}manageCloseBtn(t){const e=this.optionFor(t,"closeButton")||!1;if("auto"===e){const t=this.plugins.Toolbar;if(t&&t.state===it.Ready)return}if(!e)return;if(!t.contentEl||t.closeBtnEl)return;const i=this.option("tpl.closeButton");if(i){const e=n(this.localize(i));t.closeBtnEl=t.contentEl.appendChild(e),t.el&&D(t.el,"has-close-btn")}}manageCaption(t){var e,i,n;const s=this.container;if(!s)return;const o=this.isCompact||this.option("commonCaption"),a=!o;if(this.caption&&this.stop(this.caption),a&&this.caption&&(this.caption.remove(),this.caption=null),o&&!this.caption)for(const t of(null===(e=this.carousel)||void 0===e?void 0:e.slides)||[])t.captionEl&&(t.captionEl.remove(),t.captionEl=void 0,null===(i=t.el)||void 0===i||i.classList.remove("has-caption"),null===(n=t.el)||void 0===n||n.removeAttribute("aria-labelledby"));if(t||(t=this.getSlide()),!t||o&&!this.isCurrentSlide(t))return;const r=t.el;let l=this.optionFor(t,"caption","");if("string"!=typeof l||!l.length)return void(o&&this.caption&&this.animate(this.caption,"f-fadeOut",(()=>{var t;null===(t=this.caption)||void 0===t||t.remove(),this.caption=null})));let c=null;if(a){if(c=t.captionEl||null,r&&!c){const e=`fancybox__caption_${this.id}_${t.index}`;c=document.createElement("div"),c.className="fancybox__caption",c.setAttribute("id",e),t.captionEl=r.appendChild(c),r.classList.add("has-caption"),r.setAttribute("aria-labelledby",e)}}else{if(c=this.caption,c||(c=s.querySelector(".fancybox__caption")),!c){c=document.createElement("div"),c.dataset.fancyboxCaption="",c.className="fancybox__caption",c.innerHTML=l;(this.footer||s).prepend(c)}s.classList.add("has-caption"),this.caption=c}c&&(c.innerHTML=l)}checkFocus(t){var e;const i=document.activeElement||null;i&&(null===(e=this.container)||void 0===e?void 0:e.contains(i))||this.focus(t)}focus(t){var e;if(this.ignoreFocusChange)return;const i=document.activeElement||null,n=(null==t?void 0:t.target)||null,s=this.container,o=this.getSlide();if(!s||!(null===(e=this.carousel)||void 0===e?void 0:e.viewport))return;if(!t&&i&&s.contains(i))return;const a=o&&o.state===m.Ready?o.el:null;if(!a||a.contains(i)||s===i)return;t&&t.cancelable&&t.preventDefault(),this.ignoreFocusChange=!0;const r=Array.from(s.querySelectorAll(l));let h=[],d=null;for(let t of r){const e=!t.offsetParent||t.closest('[aria-hidden="true"]'),i=a&&a.contains(t),n=!this.carousel.viewport.contains(t);t===s||(i||n)&&!e?(h.push(t),void 0!==t.dataset.origTabindex&&(t.tabIndex=parseFloat(t.dataset.origTabindex)),t.removeAttribute("data-orig-tabindex"),!t.hasAttribute("autoFocus")&&d||(d=t)):(t.dataset.origTabindex=void 0===t.dataset.origTabindex?t.getAttribute("tabindex")||void 0:t.dataset.origTabindex,t.tabIndex=-1)}let u=null;t?(!n||h.indexOf(n)<0)&&(u=d||s,h.length&&(i===xt?u=h[0]:this.lastFocus!==s&&i!==wt||(u=h[h.length-1]))):u=o&&"image"===o.type?s:d||s,u&&c(u),this.lastFocus=document.activeElement,this.ignoreFocusChange=!1}next(){const t=this.carousel;t&&t.pages.length>1&&t.slideNext()}prev(){const t=this.carousel;t&&t.pages.length>1&&t.slidePrev()}jumpTo(...t){this.carousel&&this.carousel.slideTo(...t)}isTopmost(){var t;return(null===(t=Pt.getInstance())||void 0===t?void 0:t.id)==this.id}animate(t=null,e="",i){if(!t||!e)return void(i&&i());this.stop(t);const n=s=>{s.target===t&&t.dataset.animationName&&(t.removeEventListener("animationend",n),delete t.dataset.animationName,i&&i(),t.classList.remove(e))};t.dataset.animationName=e,t.addEventListener("animationend",n),t.classList.add(e)}stop(t){t&&t.dispatchEvent(new CustomEvent("animationend",{bubbles:!1,cancelable:!0,currentTarget:t}))}setContent(t,e="",i=!0){if(this.isClosing())return;const n=t.el;if(!n)return;let o=null;if(s(e))["img","iframe","video","audio"].includes(e.nodeName.toLowerCase())?(o=document.createElement("div"),o.appendChild(e)):o=e;else{const t=document.createRange().createContextualFragment(e);o=document.createElement("div"),o.appendChild(t)}o instanceof Element&&t.filter&&!t.error&&(o=o.querySelector(t.filter)),o instanceof Element?(o.classList.add("fancybox__content"),t.id&&o.setAttribute("id",t.id),"none"!==o.style.display&&"none"!==getComputedStyle(o).getPropertyValue("display")||(o.style.display=t.display||this.option("defaultDisplay")||"flex"),n.classList.add(`has-${t.error?"error":t.type||"unknown"}`),n.prepend(o),t.contentEl=o,i&&this.revealContent(t),this.manageCloseBtn(t),this.manageCaption(t)):this.setError(t,"{{ELEMENT_NOT_FOUND}}")}revealContent(t,e){const i=t.el,n=t.contentEl;i&&n&&(this.emit("reveal",t),this.hideLoading(t),t.state=m.Opening,(e=this.isOpeningSlide(t)?void 0===e?this.optionFor(t,"showClass"):e:"f-fadeIn")?this.animate(n,e,(()=>{this.done(t)})):this.done(t))}done(t){var e;this.isClosing()||(t.state=m.Ready,this.emit("done",t),null===(e=t.el)||void 0===e||e.classList.add("is-done"),this.isCurrentSlide(t)&&this.option("autoFocus")&&queueMicrotask((()=>{this.option("autoFocus")&&(this.option("autoFocus")?this.focus():this.checkFocus())})),this.isOpeningSlide(t)&&!this.isCompact&&this.option("idle")&&this.setIdle())}isCurrentSlide(t){const e=this.getSlide();return!(!t||!e)&&e.index===t.index}isOpeningSlide(t){var e,i;return null===(null===(e=this.carousel)||void 0===e?void 0:e.prevPage)&&t.index===(null===(i=this.getSlide())||void 0===i?void 0:i.index)}showLoading(t){t.state=m.Loading;const e=t.el;if(!e)return;e.classList.add("is-loading"),this.emit("loading",t),t.spinnerEl||setTimeout((()=>{if(!this.isClosing()&&!t.spinnerEl&&t.state===m.Loading){let i=n(h);t.spinnerEl=i,e.prepend(i),this.animate(i,"f-fadeIn")}}),250)}hideLoading(t){const e=t.el;if(!e)return;const i=t.spinnerEl;this.isClosing()?null==i||i.remove():(e.classList.remove("is-loading"),i&&this.animate(i,"f-fadeOut",(()=>{i.remove()})),t.state===m.Loading&&(this.emit("loaded",t),t.state=m.Ready))}setError(t,e){if(this.isClosing())return;this.emit("error"),t.error=e,this.hideLoading(t),this.clearContent(t);const i=document.createElement("div");i.classList.add("fancybox-error"),i.innerHTML=this.localize(e||"

    {{ERROR}}

    "),this.setContent(t,i)}clearContent(t){var e;null===(e=this.carousel)||void 0===e||e.emit("removeSlide",t),t.contentEl&&(t.contentEl.remove(),t.contentEl=void 0),t.closeBtnEl&&(t.closeBtnEl.remove(),t.closeBtnEl=void 0);const i=t.el;i&&(I(i,"is-loading"),I(i,"has-error"),I(i,"has-unknown"),I(i,`has-${t.type||"unknown"}`))}getSlide(){var t;const e=this.carousel;return(null===(t=null==e?void 0:e.pages[null==e?void 0:e.page])||void 0===t?void 0:t.slides[0])||void 0}close(t,e){if(this.isClosing())return;const i=new Event("shouldClose",{bubbles:!0,cancelable:!0});if(this.emit("shouldClose",i,t),i.defaultPrevented)return;t&&t.cancelable&&(t.preventDefault(),t.stopPropagation());const n=this.fsAPI,s=()=>{this.proceedClose(t,e)};n&&n.isFullscreen()?Promise.resolve(n.exit()).then((()=>s())):s()}clearIdle(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null}setIdle(t=!1){const e=()=>{var t;this.clearIdle(),this.idle=!0,null===(t=this.container)||void 0===t||t.classList.add("is-idle"),this.emit("setIdle")};if(this.clearIdle(),!this.isClosing())if(t)e();else{const t=this.option("idle");t&&(this.idleTimer=setTimeout(e,t))}}endIdle(){var t;this.clearIdle(),this.idle&&!this.isClosing()&&(this.idle=!1,null===(t=this.container)||void 0===t||t.classList.remove("is-idle"),this.emit("endIdle"))}resetIdle(){this.endIdle(),this.setIdle()}toggleIdle(){this.idle?this.endIdle():this.setIdle(!0)}toggleFullscreen(){const t=this.fsAPI;t&&(t.isFullscreen()?t.exit():this.container&&t.request(this.container))}isClosing(){return[p.Closing,p.CustomClosing,p.Destroy].includes(this.state)}proceedClose(t,e){var i,n;this.state=p.Closing,this.clearIdle(),this.detachEvents();const s=this.container,a=this.carousel,r=this.getSlide();if(r){const t=this.option("placeFocusBack")?(null===(i=this.getSlide())||void 0===i?void 0:i.triggerEl)||this.option("trigger"):null;t&&(o(t)?c(t):t.focus())}if(s&&(D(s,"is-closing"),s.setAttribute("aria-hidden","true"),this.option("animated")&&D(s,yt),s.style.pointerEvents="none"),a){a.clearTransitions(),null===(n=a.panzoom)||void 0===n||n.destroy();for(const t of a.slides){t.state=m.Closing,this.hideLoading(t);const e=t.contentEl;e&&this.stop(e);const i=null==t?void 0:t.panzoom;i&&(i.stop(),i.detachEvents(),i.detachObserver()),this.isCurrentSlide(t)||a.emit("removeSlide",t)}}this.emit("close",t),this.state!==p.CustomClosing?(void 0===e&&r&&(e=this.optionFor(r,"hideClass")),e&&r?(this.animate(r.contentEl,e,(()=>{a&&a.emit("removeSlide",r)})),setTimeout((()=>{this.destroy()}),350)):this.destroy()):setTimeout((()=>{this.destroy()}),350)}destroy(){var t;if(this.state===p.Destroy)return;this.state=p.Destroy,null===(t=this.carousel)||void 0===t||t.destroy();const e=this.container;e&&e.remove(),St.delete(this.id);const i=Pt.getInstance();i?i.focus():(wt&&(wt.remove(),wt=null),xt&&(xt.remove(),xt=null),document.documentElement.classList.remove("with-fancybox"),a&&(document.documentElement.style.setProperty("--fancybox-scrollbar-compensate",""),document.body.classList.remove("compensate-for-scrollbar")))}static bind(t,e,i){if(!a)return;let n,s="",o={};if("string"==typeof t?(n=document.body,s=t,"object"==typeof e&&(o=e||{})):(n=t,"string"==typeof e&&(s=e),"object"==typeof i&&(o=i||{})),!n)return;s=s||"[data-fancybox]";const r=Pt.openers.get(n)||new Map;r.set(s,o),Pt.openers.set(n,r),1===r.size&&n.addEventListener("click",Pt.fromEvent)}static unbind(t,e){let i,n="";if("string"==typeof t?(i=document.body,n=t):(i=t,"string"==typeof e&&(n=e)),!i)return;const s=Pt.openers.get(i);s&&n&&s.delete(n),n&&s||(Pt.openers.delete(i),i.removeEventListener("click",Pt.fromEvent))}static destroy(){let t;for(;t=Pt.getInstance();)t.destroy();for(const t of Pt.openers.keys())t.removeEventListener("click",Pt.fromEvent);Pt.openers=new Map}static fromEvent(t){if(t.defaultPrevented)return;if(t.button&&0!==t.button)return;if(t.ctrlKey||t.metaKey||t.shiftKey)return;let e=t.composedPath()[0];const n=e.closest("[data-fancybox-trigger]");if(n){const t=n.dataset.fancyboxTrigger||"",i=document.querySelectorAll(`[data-fancybox="${t}"]`),s=parseInt(n.dataset.fancyboxIndex||"",10)||0;e=i[s]||e}if(!(e&&e instanceof Element))return;let s,o,a,r;if([...Pt.openers].reverse().find((([t,i])=>!(!t.contains(e)||![...i].reverse().find((([i,n])=>{let l=e.closest(i);return!!l&&(s=t,o=i,a=l,r=n,!0)}))))),!s||!o||!a)return;r=r||{},t.preventDefault(),e=a;let l=[],c=i({},u,r);c.event=t,c.trigger=e,c.delegate=n;const h=c.groupAll,d=c.groupAttr,p=d&&e?e.getAttribute(`${d}`):"";if((!e||p||h)&&(l=[].slice.call(s.querySelectorAll(o))),e&&!h&&(l=p?l.filter((t=>t.getAttribute(`${d}`)===p)):[e]),!l.length)return;const m=Pt.getInstance();return m&&m.options.trigger&&l.indexOf(m.options.trigger)>-1?void 0:(e&&(c.startIndex=l.indexOf(e)),Pt.fromNodes(l,c))}static fromNodes(t,e){e=i({},u,e);const n=[];for(const i of t){const t=i.dataset||{},s=t.src||i.getAttribute("href")||i.getAttribute("currentSrc")||i.getAttribute("src")||void 0;let o;const a=e.delegate;let r;a&&n.length===e.startIndex&&(o=a instanceof HTMLImageElement?a:a.querySelector("img:not([aria-hidden])")),o||(o=i instanceof HTMLImageElement?i:i.querySelector("img:not([aria-hidden])")),o&&(r=o.currentSrc||o.src||void 0,!r&&o.dataset&&(r=o.dataset.lazySrc||o.dataset.src||void 0));const l={src:s,triggerEl:i,thumbEl:o,thumbElSrc:r,thumbSrc:r};for(const e in t)"fancybox"!==e&&(l[e]=t[e]+"");n.push(l)}return new Pt(n,e)}static getInstance(t){if(t)return St.get(t);return Array.from(St.values()).reverse().find((t=>!t.isClosing()&&t))||null}static getSlide(){var t;return(null===(t=Pt.getInstance())||void 0===t?void 0:t.getSlide())||null}static show(t=[],e={}){return new Pt(t,e)}static next(){const t=Pt.getInstance();t&&t.next()}static prev(){const t=Pt.getInstance();t&&t.prev()}static close(t=!0,...e){if(t)for(const t of St.values())t.close(...e);else{const t=Pt.getInstance();t&&t.close(...e)}}}Object.defineProperty(Pt,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(Pt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:u}),Object.defineProperty(Pt,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:at}),Object.defineProperty(Pt,"openers",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),t.Fancybox=Pt})); diff --git a/cdn/@fancyapps/ui/dist/fancybox/l10n/de.esm.js b/cdn/@fancyapps/ui/dist/fancybox/l10n/de.esm.js new file mode 100644 index 00000000..47318a84 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/fancybox/l10n/de.esm.js @@ -0,0 +1 @@ +const e={PANUP:"Aufwärts bewegen",PANDOWN:"Nach unten bewegen",PANLEFT:"Nach links bewegen",PANRIGHT:"Nach rechts bewegen",ZOOMIN:"Vergrößern",ZOOMOUT:"Verkleinern",TOGGLEZOOM:"Zoomstufe umschalten",TOGGLE1TO1:"Zoomstufe umschalten",ITERATEZOOM:"Zoomstufe umschalten",ROTATECCW:"Gegen den Uhrzeigersinn drehen",ROTATECW:"Im Uhrzeigersinn drehen",FLIPX:"Horizontal spiegeln",FLIPY:"Vertikal spiegeln",FITX:"Horizontal einpassen",FITY:"Vertikal anpassen",RESET:"Zurücksetzen",TOGGLEFS:"Vollbild umschalten",CLOSE:"Schließen",NEXT:"Weiter",PREV:"Zurück",MODAL:"Sie können diesen modalen Inhalt mit der ESC-Taste schließen",ERROR:"Etwas ist schief gelaufen, bitte versuchen Sie es später noch einmal",IMAGE_ERROR:"Bild nicht gefunden",ELEMENT_NOT_FOUND:"HTML-Element nicht gefunden",AJAX_NOT_FOUND:"Fehler beim Laden von AJAX: Nicht gefunden",AJAX_FORBIDDEN:"Fehler beim Laden von AJAX: Verboten",IFRAME_ERROR:"Fehler beim Laden der Seite",TOGGLE_ZOOM:"Zoomstufe umschalten",TOGGLE_THUMBS:"Miniaturansichten umschalten",TOGGLE_SLIDESHOW:"Diashow wechseln",TOGGLE_FULLSCREEN:"Vollbildmodus umschalten",DOWNLOAD:"Herunterladen"};export{e as de}; diff --git a/cdn/@fancyapps/ui/dist/fancybox/l10n/de.umd.js b/cdn/@fancyapps/ui/dist/fancybox/l10n/de.umd.js new file mode 100644 index 00000000..b21c6eb4 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/fancybox/l10n/de.umd.js @@ -0,0 +1 @@ +!function(e,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports):"function"==typeof define&&define.amd?define(["exports"],n):n(((e="undefined"!=typeof globalThis?globalThis:e||self).Fancybox=e.Fancybox||{},e.Fancybox.l10n=e.Fancybox.l10n||{}))}(this,(function(e){"use strict";const n={PANUP:"Aufwärts bewegen",PANDOWN:"Nach unten bewegen",PANLEFT:"Nach links bewegen",PANRIGHT:"Nach rechts bewegen",ZOOMIN:"Vergrößern",ZOOMOUT:"Verkleinern",TOGGLEZOOM:"Zoomstufe umschalten",TOGGLE1TO1:"Zoomstufe umschalten",ITERATEZOOM:"Zoomstufe umschalten",ROTATECCW:"Gegen den Uhrzeigersinn drehen",ROTATECW:"Im Uhrzeigersinn drehen",FLIPX:"Horizontal spiegeln",FLIPY:"Vertikal spiegeln",FITX:"Horizontal einpassen",FITY:"Vertikal anpassen",RESET:"Zurücksetzen",TOGGLEFS:"Vollbild umschalten",CLOSE:"Schließen",NEXT:"Weiter",PREV:"Zurück",MODAL:"Sie können diesen modalen Inhalt mit der ESC-Taste schließen",ERROR:"Etwas ist schief gelaufen, bitte versuchen Sie es später noch einmal",IMAGE_ERROR:"Bild nicht gefunden",ELEMENT_NOT_FOUND:"HTML-Element nicht gefunden",AJAX_NOT_FOUND:"Fehler beim Laden von AJAX: Nicht gefunden",AJAX_FORBIDDEN:"Fehler beim Laden von AJAX: Verboten",IFRAME_ERROR:"Fehler beim Laden der Seite",TOGGLE_ZOOM:"Zoomstufe umschalten",TOGGLE_THUMBS:"Miniaturansichten umschalten",TOGGLE_SLIDESHOW:"Diashow wechseln",TOGGLE_FULLSCREEN:"Vollbildmodus umschalten",DOWNLOAD:"Herunterladen"};e.de=n})); diff --git a/cdn/@fancyapps/ui/dist/fancybox/l10n/en.esm.js b/cdn/@fancyapps/ui/dist/fancybox/l10n/en.esm.js new file mode 100644 index 00000000..813f1cbe --- /dev/null +++ b/cdn/@fancyapps/ui/dist/fancybox/l10n/en.esm.js @@ -0,0 +1 @@ +const o=Object.assign(Object.assign({},{PANUP:"Move up",PANDOWN:"Move down",PANLEFT:"Move left",PANRIGHT:"Move right",ZOOMIN:"Zoom in",ZOOMOUT:"Zoom out",TOGGLEZOOM:"Toggle zoom level",TOGGLE1TO1:"Toggle zoom level",ITERATEZOOM:"Toggle zoom level",ROTATECCW:"Rotate counterclockwise",ROTATECW:"Rotate clockwise",FLIPX:"Flip horizontally",FLIPY:"Flip vertically",FITX:"Fit horizontally",FITY:"Fit vertically",RESET:"Reset",TOGGLEFS:"Toggle fullscreen"}),{CLOSE:"Close",NEXT:"Next",PREV:"Previous",MODAL:"You can close this modal content with the ESC key",ERROR:"Something Went Wrong, Please Try Again Later",IMAGE_ERROR:"Image Not Found",ELEMENT_NOT_FOUND:"HTML Element Not Found",AJAX_NOT_FOUND:"Error Loading AJAX : Not Found",AJAX_FORBIDDEN:"Error Loading AJAX : Forbidden",IFRAME_ERROR:"Error Loading Page",TOGGLE_ZOOM:"Toggle zoom level",TOGGLE_THUMBS:"Toggle thumbnails",TOGGLE_SLIDESHOW:"Toggle slideshow",TOGGLE_FULLSCREEN:"Toggle full-screen mode",DOWNLOAD:"Download"});export{o as en}; diff --git a/cdn/@fancyapps/ui/dist/fancybox/l10n/en.umd.js b/cdn/@fancyapps/ui/dist/fancybox/l10n/en.umd.js new file mode 100644 index 00000000..8c02b109 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/fancybox/l10n/en.umd.js @@ -0,0 +1 @@ +!function(o,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(((o="undefined"!=typeof globalThis?globalThis:o||self).Fancybox=o.Fancybox||{},o.Fancybox.l10n=o.Fancybox.l10n||{}))}(this,(function(o){"use strict";const e=Object.assign(Object.assign({},{PANUP:"Move up",PANDOWN:"Move down",PANLEFT:"Move left",PANRIGHT:"Move right",ZOOMIN:"Zoom in",ZOOMOUT:"Zoom out",TOGGLEZOOM:"Toggle zoom level",TOGGLE1TO1:"Toggle zoom level",ITERATEZOOM:"Toggle zoom level",ROTATECCW:"Rotate counterclockwise",ROTATECW:"Rotate clockwise",FLIPX:"Flip horizontally",FLIPY:"Flip vertically",FITX:"Fit horizontally",FITY:"Fit vertically",RESET:"Reset",TOGGLEFS:"Toggle fullscreen"}),{CLOSE:"Close",NEXT:"Next",PREV:"Previous",MODAL:"You can close this modal content with the ESC key",ERROR:"Something Went Wrong, Please Try Again Later",IMAGE_ERROR:"Image Not Found",ELEMENT_NOT_FOUND:"HTML Element Not Found",AJAX_NOT_FOUND:"Error Loading AJAX : Not Found",AJAX_FORBIDDEN:"Error Loading AJAX : Forbidden",IFRAME_ERROR:"Error Loading Page",TOGGLE_ZOOM:"Toggle zoom level",TOGGLE_THUMBS:"Toggle thumbnails",TOGGLE_SLIDESHOW:"Toggle slideshow",TOGGLE_FULLSCREEN:"Toggle full-screen mode",DOWNLOAD:"Download"});o.en=e})); diff --git a/cdn/@fancyapps/ui/dist/fancybox/l10n/pl.esm.js b/cdn/@fancyapps/ui/dist/fancybox/l10n/pl.esm.js new file mode 100644 index 00000000..de336eb2 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/fancybox/l10n/pl.esm.js @@ -0,0 +1 @@ +const o={PANUP:"Przesuń w górę",PANDOWN:"Przesuń w dół",PANLEFT:"Przesuń w lewo",PANRIGHT:"Przesuń w prawo",ZOOMIN:"Zbliż",ZOOMOUT:"Oddal",TOGGLEZOOM:"Zbliż/oddal",TOGGLE1TO1:"Zmieść/skala 1:1",ITERATEZOOM:"Zbliż/oddal",ROTATECCW:"Obróć w lewo",ROTATECW:"Obróć w prawo",FLIPX:"Obróć w poziomie",FLIPY:"Obróć w pionie",FITX:"Dopasuj do szerokości ekranu",FITY:"Dopasuj do wysokości ekranu",RESET:"Resetuj",TOGGLEFS:"Włącz/wyłącz tryb pełnego ekranu",CLOSE:"Zamknij",NEXT:"Dalej",PREV:"Wstecz",MODAL:"Wciśnij ESC, by zamknąć",ERROR:"Coś poszło nie tak. Spróbuj ponownie później",IMAGE_ERROR:"Wczytywanie obrazu nie powiodło się",ELEMENT_NOT_FOUND:"Element HTML nie został odnaleziony",AJAX_NOT_FOUND:"Żądanie AJAX nie powiodło się: brak właściwego zasobu",AJAX_FORBIDDEN:"Żądanie AJAX nie powiodło się: braku dostępu",IFRAME_ERROR:"Nie udało się załadować poprawnie tej strony",TOGGLE_ZOOM:"Zbliż/oddal",TOGGLE_THUMBS:"Wyświetl/ukryj miniatury",TOGGLE_SLIDESHOW:"Włącz/wyłącz pokaz slajdów",TOGGLE_FULLSCREEN:"Włącz/wyłącz tryb pełnego ekranu",DOWNLOAD:"Pobierz"};export{o as pl}; diff --git a/cdn/@fancyapps/ui/dist/fancybox/l10n/pl.umd.js b/cdn/@fancyapps/ui/dist/fancybox/l10n/pl.umd.js new file mode 100644 index 00000000..669c8208 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/fancybox/l10n/pl.umd.js @@ -0,0 +1 @@ +!function(o,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e(((o="undefined"!=typeof globalThis?globalThis:o||self).Fancybox=o.Fancybox||{},o.Fancybox.l10n=o.Fancybox.l10n||{}))}(this,(function(o){"use strict";const e={PANUP:"Przesuń w górę",PANDOWN:"Przesuń w dół",PANLEFT:"Przesuń w lewo",PANRIGHT:"Przesuń w prawo",ZOOMIN:"Zbliż",ZOOMOUT:"Oddal",TOGGLEZOOM:"Zbliż/oddal",TOGGLE1TO1:"Zmieść/skala 1:1",ITERATEZOOM:"Zbliż/oddal",ROTATECCW:"Obróć w lewo",ROTATECW:"Obróć w prawo",FLIPX:"Obróć w poziomie",FLIPY:"Obróć w pionie",FITX:"Dopasuj do szerokości ekranu",FITY:"Dopasuj do wysokości ekranu",RESET:"Resetuj",TOGGLEFS:"Włącz/wyłącz tryb pełnego ekranu",CLOSE:"Zamknij",NEXT:"Dalej",PREV:"Wstecz",MODAL:"Wciśnij ESC, by zamknąć",ERROR:"Coś poszło nie tak. Spróbuj ponownie później",IMAGE_ERROR:"Wczytywanie obrazu nie powiodło się",ELEMENT_NOT_FOUND:"Element HTML nie został odnaleziony",AJAX_NOT_FOUND:"Żądanie AJAX nie powiodło się: brak właściwego zasobu",AJAX_FORBIDDEN:"Żądanie AJAX nie powiodło się: braku dostępu",IFRAME_ERROR:"Nie udało się załadować poprawnie tej strony",TOGGLE_ZOOM:"Zbliż/oddal",TOGGLE_THUMBS:"Wyświetl/ukryj miniatury",TOGGLE_SLIDESHOW:"Włącz/wyłącz pokaz slajdów",TOGGLE_FULLSCREEN:"Włącz/wyłącz tryb pełnego ekranu",DOWNLOAD:"Pobierz"};o.pl=e})); diff --git a/cdn/@fancyapps/ui/dist/index.esm.js b/cdn/@fancyapps/ui/dist/index.esm.js new file mode 100644 index 00000000..0218c754 --- /dev/null +++ b/cdn/@fancyapps/ui/dist/index.esm.js @@ -0,0 +1 @@ +const t=(t,e=1e4)=>(t=parseFloat(t+"")||0,Math.round((t+Number.EPSILON)*e)/e),e=function(t,i){return!(!t||t===document.body||i&&t===i)&&(function(t){if(!(t&&t instanceof Element&&t.offsetParent))return!1;const e=t.scrollHeight>t.clientHeight,i=window.getComputedStyle(t).overflowY,n=-1!==i.indexOf("hidden"),s=-1!==i.indexOf("visible");return e&&!n&&!s}(t)?t:e(t.parentElement,i))},i=function(t){return(new DOMParser).parseFromString(t,"text/html").body.firstChild},n=t=>`${t||""}`.split(" ").filter((t=>!!t)),s=(t,e,i)=>{n(e).forEach((e=>{t&&t.classList.toggle(e,i||!1)}))};class o{constructor(t){Object.defineProperty(this,"pageX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nativePointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.nativePointer=t,this.pageX=t.pageX,this.pageY=t.pageY,this.clientX=t.clientX,this.clientY=t.clientY,this.id=self.Touch&&t instanceof Touch?t.identifier:-1,this.time=Date.now()}}const a={passive:!1};class r{constructor(t,{start:e=(()=>!0),move:i=(()=>{}),end:n=(()=>{})}){Object.defineProperty(this,"element",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"startCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"moveCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"endCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"startPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.element=t,this.startCallback=e,this.moveCallback=i,this.endCallback=n;for(const t of["onPointerStart","onTouchStart","onMove","onTouchEnd","onPointerEnd","onWindowBlur"])this[t]=this[t].bind(this);this.element.addEventListener("mousedown",this.onPointerStart,a),this.element.addEventListener("touchstart",this.onTouchStart,a),this.element.addEventListener("touchmove",this.onMove,a),this.element.addEventListener("touchend",this.onTouchEnd),this.element.addEventListener("touchcancel",this.onTouchEnd)}onPointerStart(t){if(!t.buttons||0!==t.button)return;const e=new o(t);this.currentPointers.some((t=>t.id===e.id))||this.triggerPointerStart(e,t)&&(window.addEventListener("mousemove",this.onMove),window.addEventListener("mouseup",this.onPointerEnd),window.addEventListener("blur",this.onWindowBlur))}onTouchStart(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerStart(new o(e),t);window.addEventListener("blur",this.onWindowBlur)}onMove(t){const e=this.currentPointers.slice(),i="changedTouches"in t?Array.from(t.changedTouches||[]).map((t=>new o(t))):[new o(t)],n=[];for(const t of i){const e=this.currentPointers.findIndex((e=>e.id===t.id));e<0||(n.push(t),this.currentPointers[e]=t)}n.length&&this.moveCallback(t,this.currentPointers.slice(),e)}onPointerEnd(t){t.buttons>0&&0!==t.button||(this.triggerPointerEnd(t,new o(t)),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur))}onTouchEnd(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerEnd(t,new o(e))}triggerPointerStart(t,e){return!!this.startCallback(e,t,this.currentPointers.slice())&&(this.currentPointers.push(t),this.startPointers.push(t),!0)}triggerPointerEnd(t,e){const i=this.currentPointers.findIndex((t=>t.id===e.id));i<0||(this.currentPointers.splice(i,1),this.startPointers.splice(i,1),this.endCallback(t,e,this.currentPointers.slice()))}onWindowBlur(){this.clear()}clear(){for(;this.currentPointers.length;){const t=this.currentPointers[this.currentPointers.length-1];this.currentPointers.splice(this.currentPointers.length-1,1),this.startPointers.splice(this.currentPointers.length-1,1),this.endCallback(new Event("touchend",{bubbles:!0,cancelable:!0,clientX:t.clientX,clientY:t.clientY}),t,this.currentPointers.slice())}}stop(){this.element.removeEventListener("mousedown",this.onPointerStart,a),this.element.removeEventListener("touchstart",this.onTouchStart,a),this.element.removeEventListener("touchmove",this.onMove,a),this.element.removeEventListener("touchend",this.onTouchEnd),this.element.removeEventListener("touchcancel",this.onTouchEnd),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur)}}function l(t,e){return e?Math.sqrt(Math.pow(e.clientX-t.clientX,2)+Math.pow(e.clientY-t.clientY,2)):0}function c(t,e){return e?{clientX:(t.clientX+e.clientX)/2,clientY:(t.clientY+e.clientY)/2}:t}const h=t=>"object"==typeof t&&null!==t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t),d=(t,...e)=>{const i=e.length;for(let n=0;n{const n=Array.isArray(i)?[]:{};t[e]||Object.assign(t,{[e]:n}),h(i)?Object.assign(t[e],d(n,i)):Array.isArray(i)?Object.assign(t,{[e]:[...i]}):Object.assign(t,{[e]:i})}))}return t},u=function(t,e){return t.split(".").reduce(((t,e)=>"object"==typeof t?t[e]:void 0),e)};class p{constructor(t={}){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),this.setOptions(t);for(const t of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))t.startsWith("on")&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}setOptions(t){this.options=t?d({},this.constructor.defaults,t):{};for(const[t,e]of Object.entries(this.option("on")||{}))this.on(t,e)}option(t,...e){let i=u(t,this.options);return i&&"function"==typeof i&&(i=i.call(this,this,...e)),i}optionFor(t,e,i,...n){let s=u(e,t);var o;"string"!=typeof(o=s)||isNaN(o)||isNaN(parseFloat(o))||(s=parseFloat(s)),"true"===s&&(s=!0),"false"===s&&(s=!1),s&&"function"==typeof s&&(s=s.call(this,this,t,...n));let a=u(e,this.options);return a&&"function"==typeof a?s=a.call(this,this,t,...n,s):void 0===s&&(s=a),void 0===s?i:s}cn(t){const e=this.options.classes;return e&&e[t]||""}localize(t,e=[]){t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,((t,e,i)=>{let n="";return i?n=this.option(`${e[0]+e.toLowerCase().substring(1)}.l10n.${i}`):e&&(n=this.option(`l10n.${e}`)),n||(n=t),n}));for(let i=0;ie))}on(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),this.events||(this.events=new Map),i.forEach((t=>{let i=this.events.get(t);i||(this.events.set(t,[]),i=[]),i.includes(e)||i.push(e),this.events.set(t,i)}))}off(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),i.forEach((t=>{const i=this.events.get(t);if(Array.isArray(i)){const t=i.indexOf(e);t>-1&&i.splice(t,1)}}))}emit(t,...e){[...this.events.get(t)||[]].forEach((t=>t(this,...e))),"*"!==t&&this.emit("*",t,...e)}}Object.defineProperty(p,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(p,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class m extends p{constructor(t={}){super(t),Object.defineProperty(this,"plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}})}attachPlugins(t={}){const e=new Map;for(const[i,n]of Object.entries(t)){const t=this.option(i),s=this.plugins[i];s||!1===t?s&&!1===t&&(s.detach(),delete this.plugins[i]):e.set(i,new n(this,t||{}))}for(const[t,i]of e)this.plugins[t]=i,i.attach();this.emit("attachPlugins")}detachPlugins(){for(const t of Object.values(this.plugins))t.detach();return this.plugins={},this.emit("detachPlugins"),this}}var f;!function(t){t[t.Init=0]="Init",t[t.Error=1]="Error",t[t.Ready=2]="Ready",t[t.Panning=3]="Panning",t[t.Mousemove=4]="Mousemove",t[t.Destroy=5]="Destroy"}(f||(f={}));const g=["a","b","c","d","e","f"],b={PANUP:"Move up",PANDOWN:"Move down",PANLEFT:"Move left",PANRIGHT:"Move right",ZOOMIN:"Zoom in",ZOOMOUT:"Zoom out",TOGGLEZOOM:"Toggle zoom level",TOGGLE1TO1:"Toggle zoom level",ITERATEZOOM:"Toggle zoom level",ROTATECCW:"Rotate counterclockwise",ROTATECW:"Rotate clockwise",FLIPX:"Flip horizontally",FLIPY:"Flip vertically",FITX:"Fit horizontally",FITY:"Fit vertically",RESET:"Reset",TOGGLEFS:"Toggle fullscreen"},v={content:null,width:"auto",height:"auto",panMode:"drag",touch:!0,dragMinThreshold:3,lockAxis:!1,mouseMoveFactor:1,mouseMoveFriction:.12,zoom:!0,pinchToZoom:!0,panOnlyZoomed:"auto",minScale:1,maxScale:2,friction:.25,dragFriction:.35,decelFriction:.05,click:"toggleZoom",dblClick:!1,wheel:"zoom",wheelLimit:7,spinner:!0,bounds:"auto",infinite:!1,rubberband:!0,bounce:!0,maxVelocity:75,transformParent:!1,classes:{content:"f-panzoom__content",isLoading:"is-loading",canZoomIn:"can-zoom_in",canZoomOut:"can-zoom_out",isDraggable:"is-draggable",isDragging:"is-dragging",inFullscreen:"in-fullscreen",htmlHasFullscreen:"with-panzoom-in-fullscreen"},l10n:b},y='
    ',w=t=>t&&null!==t&&t instanceof Element&&"nodeType"in t,x=(t,e)=>{n(e).forEach((e=>{t&&t.classList.remove(e)}))},S=(t,e)=>{n(e).forEach((e=>{t&&t.classList.add(e)}))},E={a:1,b:0,c:0,d:1,e:0,f:0};let P=null,C=null;class M extends m{get isTouchDevice(){return null===C&&(C=window.matchMedia("(hover: none)").matches),C}get isMobile(){return null===P&&(P=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)),P}get panMode(){return"mousemove"!==this.options.panMode||this.isTouchDevice?"drag":"mousemove"}get panOnlyZoomed(){const t=this.options.panOnlyZoomed;return"auto"===t?this.isTouchDevice:t}get isInfinite(){return this.option("infinite")}get angle(){return 180*Math.atan2(this.current.b,this.current.a)/Math.PI||0}get targetAngle(){return 180*Math.atan2(this.target.b,this.target.a)/Math.PI||0}get scale(){const{a:t,b:e}=this.current;return Math.sqrt(t*t+e*e)||1}get targetScale(){const{a:t,b:e}=this.target;return Math.sqrt(t*t+e*e)||1}get minScale(){return this.option("minScale")||1}get fullScale(){const{contentRect:t}=this;return t.fullWidth/t.fitWidth||1}get maxScale(){return this.fullScale*(this.option("maxScale")||1)||1}get coverScale(){const{containerRect:t,contentRect:e}=this,i=Math.max(t.height/e.fitHeight,t.width/e.fitWidth)||1;return Math.min(this.fullScale,i)}get isScaling(){return Math.abs(this.targetScale-this.scale)>1e-5&&!this.isResting}get isContentLoading(){const t=this.content;return!!(t&&t instanceof HTMLImageElement)&&!t.complete}get isResting(){if(this.isBouncingX||this.isBouncingY)return!1;for(const t of g){const e="e"==t||"f"===t?.001:1e-5;if(Math.abs(this.target[t]-this.current[t])>e)return!1}return!(!this.ignoreBounds&&!this.checkBounds().inBounds)}constructor(t,e={},n={}){var s;if(super(e),Object.defineProperty(this,"pointerTracker",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"updateTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"clickTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"rAF",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"isTicking",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"friction",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoreBounds",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingX",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingY",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"clicks",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"trackingPoints",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"wheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevMouseMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:f.Init}),Object.defineProperty(this,"isDragging",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"spinner",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"containerRect",{enumerable:!0,configurable:!0,writable:!0,value:{width:0,height:0,innerWidth:0,innerHeight:0}}),Object.defineProperty(this,"contentRect",{enumerable:!0,configurable:!0,writable:!0,value:{top:0,right:0,bottom:0,left:0,fullWidth:0,fullHeight:0,fitWidth:0,fitHeight:0,width:0,height:0}}),Object.defineProperty(this,"dragStart",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,top:0,left:0,time:0}}),Object.defineProperty(this,"dragOffset",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,time:0}}),Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},E)}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},E)}),Object.defineProperty(this,"velocity",{enumerable:!0,configurable:!0,writable:!0,value:{a:0,b:0,c:0,d:0,e:0,f:0}}),Object.defineProperty(this,"lockedAxis",{enumerable:!0,configurable:!0,writable:!0,value:!1}),!t)throw new Error("No Element found");if(this.container=t,this.initContent(),this.attachPlugins(Object.assign(Object.assign({},M.Plugins),n)),this.emit("init"),this.isContentLoading){const e=this.content;if(this.option("spinner")){t.classList.add(this.cn("isLoading"));const n=i(y);t.contains(e)?this.spinner=(null===(s=e.parentElement)||void 0===s?void 0:s.insertBefore(n,e))||null:this.spinner=t.appendChild(n)}this.emit("beforeLoad"),e.addEventListener("load",this.onLoad),e.addEventListener("error",this.onError)}else queueMicrotask((()=>{this.enable()}))}initContent(){const{container:t}=this;let e=this.option("content")||t.querySelector(`.${this.cn("content")}`);if(e||(e=t.querySelector("img")||t.firstElementChild,e&&e.classList.add(this.cn("content"))),!e)throw new Error("No content found");this.content=e}onLoad(){this.spinner&&(this.spinner.remove(),this.spinner=null),this.option("spinner")&&this.container.classList.remove(this.cn("isLoading")),this.emit("afterLoad"),this.state===f.Init&&this.enable()}onError(){this.state!==f.Destroy&&(this.spinner&&(this.spinner.remove(),this.spinner=null),this.stop(),this.detachEvents(),this.state=f.Error,this.emit("error"))}attachObserver(){var t;const e=()=>Math.abs(this.containerRect.width-this.container.getBoundingClientRect().width)>.1||Math.abs(this.containerRect.height-this.container.getBoundingClientRect().height)>.1;this.resizeObserver||void 0===window.ResizeObserver||(this.resizeObserver=new ResizeObserver((()=>{this.updateTimer||(e()?(this.onResize(),this.isMobile&&(this.updateTimer=setTimeout((()=>{e()&&this.onResize(),this.updateTimer=null}),500))):this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null))}))),null===(t=this.resizeObserver)||void 0===t||t.observe(this.container)}detachObserver(){var t;null===(t=this.resizeObserver)||void 0===t||t.disconnect()}attachEvents(){const{container:t}=this;t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("wheel",this.onWheel,{passive:!1}),this.pointerTracker=new r(t,{start:this.onPointerDown,move:this.onPointerMove,end:this.onPointerUp}),document.addEventListener("mousemove",this.onMouseMove)}detachEvents(){var t;const{container:e}=this;e.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),e.removeEventListener("wheel",this.onWheel,{passive:!1}),null===(t=this.pointerTracker)||void 0===t||t.stop(),this.pointerTracker=null,document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("keydown",this.onKeydown,!0),this.clickTimer&&(clearTimeout(this.clickTimer),this.clickTimer=null),this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null)}animate(){this.setTargetForce();const t=this.option("maxVelocity");for(const e of g)this.friction?(this.velocity[e]*=1-this.friction,t&&!this.isScaling&&(this.velocity[e]=Math.max(Math.min(this.velocity[e],t),-1*t)),this.current[e]+=this.velocity[e]):this.current[e]=this.target[e];this.setTransform(),this.setEdgeForce(),!this.isResting||this.isDragging?this.rAF=requestAnimationFrame((()=>this.animate())):this.stop("current")}setTargetForce(){for(const t of g)"e"===t&&this.isBouncingX||"f"===t&&this.isBouncingY||(this.velocity[t]=(1/(1-this.friction)-1)*(this.target[t]-this.current[t]))}checkBounds(t=0,e=0){const{current:i}=this,n=i.e+t,s=i.f+e,o=this.getBounds(),{x:a,y:r}=o,l=a.min,c=a.max,h=r.min,d=r.max;let u=0,p=0;return l!==1/0&&nc&&(u=c-n),h!==1/0&&sd&&(p=d-s),Math.abs(u)<.001&&(u=0),Math.abs(p)<.001&&(p=0),Object.assign(Object.assign({},o),{xDiff:u,yDiff:p,inBounds:!u&&!p})}clampTargetBounds(){const{target:t}=this,{x:e,y:i}=this.getBounds();e.min!==1/0&&(t.e=Math.max(t.e,e.min)),e.max!==1/0&&(t.e=Math.min(t.e,e.max)),i.min!==1/0&&(t.f=Math.max(t.f,i.min)),i.max!==1/0&&(t.f=Math.min(t.f,i.max))}calculateContentDim(t=this.current){const{content:e,contentRect:i}=this,{fitWidth:n,fitHeight:s,fullWidth:o,fullHeight:a}=i;let r=o,l=a;if(this.option("zoom")||0!==this.angle){const i=!(e instanceof HTMLImageElement)&&("none"===window.getComputedStyle(e).maxWidth||"none"===window.getComputedStyle(e).maxHeight),c=i?o:n,h=i?a:s,d=this.getMatrix(t),u=new DOMPoint(0,0).matrixTransform(d),p=new DOMPoint(0+c,0).matrixTransform(d),m=new DOMPoint(0+c,0+h).matrixTransform(d),f=new DOMPoint(0,0+h).matrixTransform(d),g=Math.abs(m.x-u.x),b=Math.abs(m.y-u.y),v=Math.abs(f.x-p.x),y=Math.abs(f.y-p.y);r=Math.max(g,v),l=Math.max(b,y)}return{contentWidth:r,contentHeight:l}}setEdgeForce(){if(this.ignoreBounds||this.isDragging||"mousemove"===this.panMode||this.targetScale{const t=window.getSelection();return t&&"Range"===t.type})()&&!i.closest("button"))return;const n=i.closest("[data-panzoom-action]"),s=i.closest("[data-panzoom-change]"),o=n||s,a=o&&w(o)?o.dataset:null;if(a){const e=a.panzoomChange,i=a.panzoomAction;if((e||i)&&t.preventDefault(),e){let t={};try{t=JSON.parse(e)}catch(t){console&&console.warn("The given data was not valid JSON")}return void this.applyChange(t)}if(i)return void(this[i]&&this[i]())}if(Math.abs(this.dragOffset.x)>3||Math.abs(this.dragOffset.y)>3)return t.preventDefault(),void t.stopPropagation();const r=this.content.getBoundingClientRect();if(this.dragStart.time&&!this.canZoomOut()&&(Math.abs(r.x-this.dragStart.x)>2||Math.abs(r.y-this.dragStart.y)>2))return;this.dragStart.time=0;const l=e=>{!this.option("zoom")||Math.abs(this.velocity.a)>.3||e&&"string"==typeof e&&/(iterateZoom)|(toggle(Zoom|Full|Cover|Max)|(zoomTo(Fit|Cover|Max)))/.test(e)&&"function"==typeof this[e]&&(t.preventDefault(),this[e]({event:t}))},c=this.option("click",t),h=this.option("dblClick",t);h?(this.clicks++,1==this.clicks&&(this.clickTimer=setTimeout((()=>{1===this.clicks?(this.emit("click",t),!t.defaultPrevented&&c&&l(c)):(this.emit("dblClick",t),t.defaultPrevented||l(h)),this.clicks=0,this.clickTimer=null}),350))):(this.emit("click",t),!t.defaultPrevented&&c&&l(c))}addTrackingPoint(t){const e=this.trackingPoints.filter((t=>t.time>Date.now()-100));e.push(t),this.trackingPoints=e}onPointerDown(e,i,n){var s;this.dragOffset={x:0,y:0,time:0},this.trackingPoints=[];const o=this.content.getBoundingClientRect();if(this.dragStart={x:o.x,y:o.y,top:o.top,left:o.left,time:Date.now()},this.clickTimer)return!1;if("mousemove"===this.panMode&&this.targetScale>1)return e.preventDefault(),e.stopPropagation(),!1;if(!n.length){const t=e.composedPath()[0];if(["A","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].includes(t.nodeName)||t.closest("[contenteditable]")||t.closest("[data-selectable]")||t.closest("[data-panzoom-change]")||t.closest("[data-panzoom-action]"))return!1;null===(s=window.getSelection())||void 0===s||s.removeAllRanges()}return"mousedown"===e.type&&e.preventDefault(),t(this.targetScale,1e3)===t(this.minScale,1e3)?(this.stop(),this.target.e=this.current.e,this.target.f=this.current.f):this.stop("target"),this.isDragging=!0,this.addTrackingPoint(i),this.emit("touchStart",e),!0}onPointerMove(i,n,s){if(!1===this.option("touch",i))return;if(!this.isDragging)return;if(n.length<2&&this.panOnlyZoomed&&t(this.targetScale)<=t(this.minScale))return;if(this.emit("touchMove",i),i.defaultPrevented)return;this.addTrackingPoint(n[0]);const{content:o}=this,a=c(s[0],s[1]),r=c(n[0],n[1]);let h=0,d=0;if(n.length>1){const t=o.getBoundingClientRect();h=a.clientX-t.left-.5*t.width,d=a.clientY-t.top-.5*t.height}const u=l(s[0],s[1]),p=l(n[0],n[1]);let m=u?p/u:1,f=r.clientX-a.clientX,g=r.clientY-a.clientY;this.dragOffset.x+=f,this.dragOffset.y+=g,this.dragOffset.time=Date.now()-this.dragStart.time;let b=t(this.targetScale)===t(this.minScale)&&this.option("lockAxis");if(b&&!this.lockedAxis)if("xy"===b||"y"===b||"touchmove"===i.type){if(Math.abs(this.dragOffset.x)<6&&Math.abs(this.dragOffset.y)<6)return void i.preventDefault();const t=Math.abs(180*Math.atan2(this.dragOffset.y,this.dragOffset.x)/Math.PI);this.lockedAxis=t>45&&t<135?"y":"x",this.dragOffset.x=0,this.dragOffset.y=0,f=0,g=0}else this.lockedAxis=b;if(e(i.target,this.content)&&(b="x",this.dragOffset.y=0),b&&"xy"!==b&&this.lockedAxis!==b&&t(this.targetScale)===t(this.minScale))return;i.cancelable&&i.preventDefault(),this.container.classList.add(this.cn("isDragging"));const v=this.checkBounds(f,g);this.option("rubberband")?("x"!==this.isInfinite&&(v.xDiff>0&&f<0||v.xDiff<0&&f>0)&&(f*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitWidth*v.xDiff))),"y"!==this.isInfinite&&(v.yDiff>0&&g<0||v.yDiff<0&&g>0)&&(g*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitHeight*v.yDiff)))):(v.xDiff&&(f=0),v.yDiff&&(g=0));const y=this.targetScale,w=this.minScale,x=this.maxScale;y<.5*w&&(m=Math.max(m,w)),y>1.5*x&&(m=Math.min(m,x)),"y"===this.lockedAxis&&t(y)===t(w)&&(f=0),"x"===this.lockedAxis&&t(y)===t(w)&&(g=0),this.applyChange({originX:h,originY:d,panX:f,panY:g,scale:m,friction:this.option("dragFriction"),ignoreBounds:!0})}onPointerUp(t,i,n){if(n.length)return this.dragOffset.x=0,this.dragOffset.y=0,void(this.trackingPoints=[]);this.container.classList.remove(this.cn("isDragging")),this.isDragging&&(this.addTrackingPoint(i),this.panOnlyZoomed&&this.contentRect.width-this.contentRect.fitWidth<1&&this.contentRect.height-this.contentRect.fitHeight<1&&(this.trackingPoints=[]),e(t.target,this.content)&&"y"===this.lockedAxis&&(this.trackingPoints=[]),this.emit("touchEnd",t),this.isDragging=!1,this.lockedAxis=!1,this.state!==f.Destroy&&(t.defaultPrevented||this.startDecelAnim()))}startDecelAnim(){this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of g)this.velocity[t]=0,this.target[t]=this.current[t];x(this.container,"is-scaling"),x(this.container,"is-animating"),this.isTicking=!1;const{trackingPoints:e}=this,i=e[0],n=e[e.length-1];let s=0,o=0,a=0;n&&i&&(s=n.clientX-i.clientX,o=n.clientY-i.clientY,a=n.time-i.time);let r=0,l=0,c=0,h=0,d=this.option("decelFriction");const u=this.targetScale;if((uthis.maxScale+1e-5)&&(d=.35),a>0){c=Math.abs(s)>3?s/(a/30):0,h=Math.abs(o)>3?o/(a/30):0;const t=this.option("maxVelocity");t&&(c=Math.max(Math.min(c,t),-1*t),h=Math.max(Math.min(h,t),-1*t))}c&&(r=c/(1/(1-d)-1)),h&&(l=h/(1/(1-d)-1)),("y"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"y"===this.lockedAxis&&t(u)===this.minScale)&&(r=c=0),("x"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"x"===this.lockedAxis&&t(u)===this.minScale)&&(l=h=0);const p=this.dragOffset.x,m=this.dragOffset.y,f=this.option("dragMinThreshold")||0;Math.abs(p){let e=0;return e=t instanceof HTMLImageElement?t.naturalWidth:t instanceof SVGElement?t.width.baseVal.value:t.offsetWidth,Math.max(e,t.scrollWidth)})(s)),"auto"===m&&(m=parseFloat(s.dataset.height||"")||(t=>{let e=0;return e=t instanceof HTMLImageElement?t.naturalHeight:t instanceof SVGElement?t.height.baseVal.value:t.offsetHeight,Math.max(e,t.scrollHeight)})(s));const g=(this.option("transformParent")?s.parentElement:null)||s,b=g.getAttribute("style")||"";g.style.setProperty("transform","none","important"),s instanceof HTMLImageElement&&(g.style.width="",g.style.height=""),g.offsetHeight;const v=s.getBoundingClientRect();let y=v.width,w=v.height,x=0,S=0;if(s instanceof HTMLImageElement&&({width:y,height:w,top:x,left:S}=((t,e,i,n)=>{const s=i/n;return s>t/e?(i=t,n=t/s):(i=e*s,n=e),{width:i,height:n,top:.5*(e-n),left:.5*(t-i)}})(v.width,v.height,p,m)),this.contentRect=Object.assign(Object.assign({},this.contentRect),{top:v.top-r.top+x,bottom:r.bottom-v.bottom+x,left:v.left-r.left+S,right:r.right-v.right+S,fitWidth:y,fitHeight:w,width:y,height:w,fullWidth:p,fullHeight:m}),g.style.cssText=b,s instanceof HTMLImageElement&&(g.style.width=`${y}px`,g.style.height=`${w}px`),this.setTransform(),!0!==e){let t="";Math.abs(c-o)>1&&(t+="x"),Math.abs(h-a)>1&&(t+="y"),t&&this.emit("refresh",t)}this.ignoreBounds||(t(this.targetScale)this.maxScale?this.zoomTo(this.maxScale,{friction:0}):this.state===f.Init||this.checkBounds().inBounds||this.requestTick()),this.updateControls()}getBounds(){const e=this.option("bounds");if("auto"!==e)return e;const{contentWidth:i,contentHeight:n}=this.calculateContentDim(this.target);let s=0,o=0,a=0,r=0;const l=this.option("infinite");if(!0===l||this.lockedAxis&&l===this.lockedAxis)s=-1/0,a=1/0,o=-1/0,r=1/0;else{let{containerRect:e,contentRect:l}=this,c=t(this.contentRect.fitWidth*this.targetScale,1e3),h=t(this.contentRect.fitHeight*this.targetScale,1e3),{innerWidth:d,innerHeight:u}=e;if(this.containerRect.width===c&&(d=e.width),this.containerRect.width===h&&(u=e.height),i>d){a=.5*(i-d),s=-1*a;let t=.5*(l.right-l.left);s+=t,a+=t}if(this.contentRect.fitWidth>d&&iu){r=.5*(n-u),o=-1*r;let t=.5*(l.bottom-l.top);o+=t,r+=t}this.contentRect.fitHeight>u&&n-1||this.contentRect.height-this.contentRect.fitHeight>-1)&&(l=!0),this.contentRect.width*this.targetScalet(this.targetScale),h=!c&&!l&&a&&t(n).9*e.fullScale?"none":"")}}panTo({x:t=this.target.e,y:e=this.target.f,scale:i=this.targetScale,friction:n=this.option("friction"),angle:s=0,originX:o=0,originY:a=0,flipX:r=!1,flipY:l=!1,ignoreBounds:c=!1}){this.state!==f.Destroy&&this.applyChange({panX:t-this.target.e,panY:e-this.target.f,scale:i/this.targetScale,angle:s,originX:o,originY:a,friction:n,flipX:r,flipY:l,ignoreBounds:c})}applyChange({panX:e=0,panY:i=0,scale:n=1,angle:s=0,originX:o=-this.current.e,originY:a=-this.current.f,friction:r=this.option("friction"),flipX:l=!1,flipY:c=!1,ignoreBounds:h=!1,bounce:d=this.option("bounce")}){const u=this.state;if(u===f.Init||u===f.Destroy)return;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of g)this.velocity[t]=0;this.friction=r||0,this.ignoreBounds=h;const{current:p}=this,m=p.e,b=p.f,v=this.getMatrix(this.target);let y=(new DOMMatrix).translate(m,b).translate(o,a).translate(e,i);if(this.option("zoom")){if(!h){const t=this.targetScale,e=this.minScale,i=this.maxScale;t*ni&&(n=i/t)}y=y.scale(n)}y=y.translate(-o,-a).translate(-m,-b).multiply(v),s&&(y=y.rotate(s)),l&&(y=y.scale(-1,1)),c&&(y=y.scale(1,-1));for(const e of g)"a"!=e&&"d"!=e||!(y[e]>this.minScale+1e-5||y[e].1||"mousemove"===this.panMode||!1===d)&&!h&&this.clampTargetBounds(),this.isResting||(this.state=f.Panning,this.requestTick())}stop(t=!1){if(this.state===f.Init||this.state===f.Destroy)return;const e=this.isTicking;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const e of g)this.velocity[e]=0,"current"===t?this.current[e]=this.target[e]:"target"===t&&(this.target[e]=this.current[e]);this.setTransform(),x(this.container,"is-scaling"),x(this.container,"is-animating"),this.isTicking=!1,this.state=f.Ready,e&&(this.emit("endAnimation"),this.updateControls())}requestTick(){this.isTicking||(this.emit("startAnimation"),this.updateControls(),S(this.container,"is-animating"),this.isScaling&&S(this.container,"is-scaling")),this.isTicking=!0,this.rAF||(this.rAF=requestAnimationFrame((()=>this.animate())))}panWithMouse(e,i=this.option("mouseMoveFriction")){if(this.prevMouseMoveEvent=e,"mousemove"!==this.panMode||!e)return;if(t(this.targetScale)<=t(this.minScale))return;this.emit("mouseMove",e);const{container:n,containerRect:s,contentRect:o}=this,a=s.width,r=s.height,l=n.getBoundingClientRect(),c=(e.clientX||0)-l.left,h=(e.clientY||0)-l.top;let{contentWidth:d,contentHeight:u}=this.calculateContentDim(this.target);const p=this.option("mouseMoveFactor");p>1&&(d!==a&&(d*=p),u!==r&&(u*=p));let m=.5*(d-a)-c/a*100/100*(d-a);m+=.5*(o.right-o.left);let f=.5*(u-r)-h/r*100/100*(u-r);f+=.5*(o.bottom-o.top),this.applyChange({panX:m-this.target.e,panY:f-this.target.f,friction:i})}zoomWithWheel(t){if(this.state===f.Destroy||this.state===f.Init)return;const e=Math.abs(t.deltaY)<100&&Math.abs(t.deltaX)<100?25:50,i=Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||-t.detail)),n=this.targetScale,s=this.maxScale,o=this.minScale;let a=n*(100+i*e)/100;as&&n>=s?(this.wheelDelta+=Math.abs(i),a=s):(this.wheelDelta=0,a=Math.max(Math.min(a,s),o)),this.wheelDelta>this.option("wheelLimit")||(t.preventDefault(),a!==n&&this.zoomTo(a,{event:t}))}canZoomIn(){return this.option("zoom")&&(this.contentRect.widththis.minScale+1e-5}zoomIn(t=1.25,e){this.zoomTo(this.targetScale*t,e)}zoomOut(t=.8,e){this.zoomTo(this.targetScale*t,e)}zoomToFit(t){this.zoomTo("fit",t)}zoomToCover(t){this.zoomTo("cover",t)}zoomToFull(t){this.zoomTo("full",t)}zoomToMax(t){this.zoomTo("max",t)}toggleZoom(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.fullScale-this.minScale)?"full":"fit",t)}toggleMax(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.maxScale-this.minScale)?"max":"fit",t)}toggleCover(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.coverScale-this.minScale)?"cover":"fit",t)}iterateZoom(t){this.zoomTo("next",t)}zoomTo(t=1,{friction:e="auto",originX:i=0,originY:n=0,event:s}={}){if(this.isContentLoading||this.state===f.Destroy)return;this.stop();const{targetScale:o}=this;let a=1;if("mousemove"===this.panMode&&(s=this.prevMouseMoveEvent||s),s){const t=this.content.getBoundingClientRect(),e=s.clientX||0,o=s.clientY||0;i=e-t.left-.5*t.width,n=o-t.top-.5*t.height}const r=this.fullScale,l=this.maxScale;let c=this.coverScale;"number"==typeof t?a=t/o:("next"===t&&(r-c<.2&&(c=r),t=o1?.15:.25:e,this.applyChange({scale:a,originX:i,originY:n,friction:e}),s&&"mousemove"===this.panMode&&this.panWithMouse(s,e)}rotateCCW(){this.applyChange({angle:-90})}rotateCW(){this.applyChange({angle:90})}flipX(){this.applyChange({flipX:!0})}flipY(){this.applyChange({flipY:!0})}fitX(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.width/e.fitWidth/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}fitY(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.height/e.fitHeight/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}toggleFS(){const{container:t}=this,e=this.cn("inFullscreen"),i=this.cn("htmlHasFullscreen");t.classList.toggle(e);const n=t.classList.contains(e);n?(document.documentElement.classList.add(i),document.addEventListener("keydown",this.onKeydown,!0)):(document.documentElement.classList.remove(i),document.removeEventListener("keydown",this.onKeydown,!0)),this.updateMetrics(),this.emit(n?"enterFS":"exitFS")}getMatrix(t=this.current){const{a:e,b:i,c:n,d:s,e:o,f:a}=t;return new DOMMatrix([e,i,n,s,o,a])}reset(t){if(this.state!==f.Init&&this.state!==f.Destroy){this.stop("current");for(const t of g)this.target[t]=E[t];this.target.a=this.minScale,this.target.d=this.minScale,this.isResting||(this.friction=void 0===t?this.option("friction"):t,this.state=f.Panning,this.requestTick())}}destroy(){this.stop(),this.state=f.Destroy,this.detachEvents(),this.detachObserver();const{container:t,content:e}=this,i=this.option("classes")||{};for(const e of Object.values(i))t.classList.remove(e+"");e&&(e.removeEventListener("load",this.onLoad),e.removeEventListener("error",this.onError)),this.detachPlugins()}}Object.defineProperty(M,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:v}),Object.defineProperty(M,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}});const T=function(t,e){let i=!0;return(...n)=>{i&&(i=!1,t(...n),setTimeout((()=>{i=!0}),e))}},O=(t,e)=>{let i=[];return t.childNodes.forEach((t=>{t.nodeType!==Node.ELEMENT_NODE||e&&!t.matches(e)||i.push(t)})),i},A={viewport:null,track:null,enabled:!0,slides:[],axis:"x",transition:"fade",preload:1,slidesPerPage:"auto",initialPage:0,friction:.12,Panzoom:{decelFriction:.12},center:!0,infinite:!0,fill:!0,dragFree:!1,adaptiveHeight:!1,direction:"ltr",classes:{container:"f-carousel",viewport:"f-carousel__viewport",track:"f-carousel__track",slide:"f-carousel__slide",isLTR:"is-ltr",isRTL:"is-rtl",isHorizontal:"is-horizontal",isVertical:"is-vertical",inTransition:"in-transition",isSelected:"is-selected"},l10n:{NEXT:"Next slide",PREV:"Previous slide",GOTO:"Go to slide #%d"}};var L;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Destroy=2]="Destroy"}(L||(L={}));const z=t=>{if("string"==typeof t&&(t={html:t}),!(t instanceof String||t instanceof HTMLElement)){const e=t.thumb;void 0!==e&&("string"==typeof e&&(t.thumbSrc=e),e instanceof HTMLImageElement&&(t.thumbEl=e,t.thumbElSrc=e.src,t.thumbSrc=e.src),delete t.thumb)}return Object.assign({html:"",el:null,isDom:!1,class:"",index:-1,dim:0,gap:0,pos:0,transition:!1},t)},R=(t={})=>Object.assign({index:-1,slides:[],dim:0,pos:-1},t);class k extends p{constructor(t,e){super(e),Object.defineProperty(this,"instance",{enumerable:!0,configurable:!0,writable:!0,value:t})}attach(){}detach(){}}const I={classes:{list:"f-carousel__dots",isDynamic:"is-dynamic",hasDots:"has-dots",dot:"f-carousel__dot",isBeforePrev:"is-before-prev",isPrev:"is-prev",isCurrent:"is-current",isNext:"is-next",isAfterNext:"is-after-next"},dotTpl:'',dynamicFrom:11,maxCount:1/0,minCount:2};class D extends k{constructor(){super(...arguments),Object.defineProperty(this,"isDynamic",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"list",{enumerable:!0,configurable:!0,writable:!0,value:null})}onRefresh(){this.refresh()}build(){let t=this.list;return t||(t=document.createElement("ul"),S(t,this.cn("list")),t.setAttribute("role","tablist"),this.instance.container.appendChild(t),S(this.instance.container,this.cn("hasDots")),this.list=t),t}refresh(){var t;const e=this.instance.pages.length,i=Math.min(2,this.option("minCount")),n=Math.max(2e3,this.option("maxCount")),o=this.option("dynamicFrom");if(en)return void this.cleanup();const a="number"==typeof o&&e>5&&e>=o,r=!this.list||this.isDynamic!==a||this.list.children.length!==e;r&&this.cleanup();const l=this.build();if(s(l,this.cn("isDynamic"),!!a),r)for(let t=0;t=e-1&&s.setAttribute("disabled","")))}createButton(t){const e=this.instance,i=document.createElement("button");i.setAttribute("tabindex","0"),i.setAttribute("title",e.localize(`{{${t.toUpperCase()}}}`)),S(i,this.cn("button")+" "+this.cn("next"===t?"isNext":"isPrev"));const n=e.isRTL?"next"===t?"prev":"next":t;var s;return i.innerHTML=e.localize(this.option(`${n}Tpl`)),i.dataset[`carousel${s=t,s?s.match("^[a-z]")?s.charAt(0).toUpperCase()+s.substring(1):s:""}`]="true",i}build(){let t=this.container;t||(this.container=t=document.createElement("div"),S(t,this.cn("container")),this.instance.container.appendChild(t)),this.next||(this.next=t.appendChild(this.createButton("next"))),this.prev||(this.prev=t.appendChild(this.createButton("prev")))}cleanup(){this.prev&&this.prev.remove(),this.next&&this.next.remove(),this.container&&this.container.remove(),this.prev=null,this.next=null,this.container=null}attach(){this.instance.on(["refresh","change"],this.onRefresh)}detach(){this.instance.off(["refresh","change"],this.onRefresh),this.cleanup()}}Object.defineProperty(F,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{classes:{container:"f-carousel__nav",button:"f-button",isNext:"is-next",isPrev:"is-prev"},nextTpl:'',prevTpl:''}});class j extends k{constructor(){super(...arguments),Object.defineProperty(this,"selectedIndex",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"nav",{enumerable:!0,configurable:!0,writable:!0,value:null})}addAsTargetFor(t){this.target=this.instance,this.nav=t,this.attachEvents()}addAsNavFor(t){this.nav=this.instance,this.target=t,this.attachEvents()}attachEvents(){this.nav&&this.target&&(this.nav.options.initialSlide=this.target.options.initialPage,this.nav.on("ready",this.onNavReady),this.nav.state===L.Ready&&this.onNavReady(this.nav),this.target.on("ready",this.onTargetReady),this.target.state===L.Ready&&this.onTargetReady(this.target))}onNavReady(t){t.on("createSlide",this.onNavCreateSlide),t.on("Panzoom.click",this.onNavClick),t.on("Panzoom.touchEnd",this.onNavTouch),this.onTargetChange()}onTargetReady(t){t.on("change",this.onTargetChange),t.on("Panzoom.refresh",this.onTargetChange),this.onTargetChange()}onNavClick(t,e,i){i.pointerType||this.onNavTouch(t,t.panzoom,i)}onNavTouch(t,e,i){var n,s;if(Math.abs(e.dragOffset.x)>3||Math.abs(e.dragOffset.y)>3)return;const o=i.target,{nav:a,target:r}=this;if(!a||!r||!o)return;const l=o.closest("[data-index]");if(i.stopPropagation(),i.preventDefault(),!l)return;const c=parseInt(l.dataset.index||"",10)||0,h=r.getPageForSlide(c),d=a.getPageForSlide(c);a.slideTo(d),r.slideTo(h,{friction:null===(s=null===(n=this.nav)||void 0===n?void 0:n.plugins)||void 0===s?void 0:s.Sync.option("friction")}),this.markSelectedSlide(c)}onNavCreateSlide(t,e){e.index===this.selectedIndex&&this.markSelectedSlide(e.index)}onTargetChange(){const{target:t,nav:e}=this;if(!t||!e)return;if(e.state!==L.Ready||t.state!==L.Ready)return;const i=t.pages[t.page].slides[0].index,n=e.getPageForSlide(i);this.markSelectedSlide(i),e.slideTo(n)}markSelectedSlide(t){const{nav:e}=this;e&&e.state===L.Ready&&(this.selectedIndex=t,[...e.slides].map((e=>{e.el&&e.el.classList[e.index===t?"add":"remove"]("is-nav-selected")})))}attach(){let t=this.options.target,e=this.options.nav;t?this.addAsNavFor(t):e&&this.addAsTargetFor(e)}detach(){this.nav&&(this.nav.off("ready",this.onNavReady),this.nav.off("createSlide",this.onNavCreateSlide),this.nav.off("Panzoom.click",this.onNavClick),this.nav.off("Panzoom.touchEnd",this.onNavTouch)),this.nav=null,this.target&&(this.target.off("ready",this.onTargetReady),this.target.off("refresh",this.onTargetChange),this.target.off("change",this.onTargetChange)),this.target=null}}Object.defineProperty(j,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{friction:.35}});const H={Navigation:F,Dots:D,Sync:j};class B extends m{get axis(){return this.isHorizontal?"e":"f"}get isEnabled(){return this.state===L.Ready}get isInfinite(){let t=!1;const e=this.contentDim,i=this.viewportDim;return this.pages.length>=2&&e>1.5*i&&(t=this.option("infinite")),t}get isRTL(){return"rtl"===this.option("direction")}get isHorizontal(){return"x"===this.option("axis")}constructor(t,e={},i={}){if(super(),Object.defineProperty(this,"userOptions",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"userPlugins",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"bp",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:L.Init}),Object.defineProperty(this,"page",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevPage",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"viewport",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"slides",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"inTransition",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"contentDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"viewportDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),"string"==typeof t&&(t=document.querySelector(t)),!t||!w(t))throw new Error("No Element found");this.container=t,this.slideNext=T(this.slideNext.bind(this),150),this.slidePrev=T(this.slidePrev.bind(this),150),this.userOptions=e,this.userPlugins=i,queueMicrotask((()=>{this.processOptions()}))}processOptions(){const t=d({},B.defaults,this.userOptions);let e="";const i=t.breakpoints;if(i&&h(i))for(const[n,s]of Object.entries(i))window.matchMedia(n).matches&&h(s)&&(e+=n,d(t,s));e===this.bp&&this.state!==L.Init||(this.bp=e,this.state===L.Ready&&(t.initialSlide=this.pages[this.page].slides[0].index),this.state!==L.Init&&this.destroy(),super.setOptions(t),!1===this.option("enabled")?this.attachEvents():setTimeout((()=>{this.init()}),0))}init(){this.state=L.Init,this.emit("init"),this.attachPlugins(Object.assign(Object.assign({},B.Plugins),this.userPlugins)),this.initLayout(),this.initSlides(),this.updateMetrics(),this.setInitialPosition(),this.initPanzoom(),this.attachEvents(),this.state=L.Ready,this.emit("ready")}initLayout(){const{container:t}=this,e=this.option("classes");S(t,this.cn("container")),s(t,e.isLTR,!this.isRTL),s(t,e.isRTL,this.isRTL),s(t,e.isVertical,!this.isHorizontal),s(t,e.isHorizontal,this.isHorizontal);let i=this.option("viewport")||t.querySelector(`.${e.viewport}`);i||(i=document.createElement("div"),S(i,e.viewport),i.append(...O(t,`.${e.slide}`)),t.prepend(i));let n=this.option("track")||t.querySelector(`.${e.track}`);n||(n=document.createElement("div"),S(n,e.track),n.append(...Array.from(i.childNodes))),n.setAttribute("aria-live","polite"),i.contains(n)||i.prepend(n),this.viewport=i,this.track=n,this.emit("initLayout")}initSlides(){const{track:t}=this;if(t){this.slides=[],[...O(t,`.${this.cn("slide")}`)].forEach((t=>{if(w(t)){const e=z({el:t,isDom:!0,index:this.slides.length});this.slides.push(e),this.emit("initSlide",e,this.slides.length)}}));for(let t of this.option("slides",[])){const e=z(t);e.index=this.slides.length,this.slides.push(e),this.emit("initSlide",e,this.slides.length)}this.emit("initSlides")}}setInitialPage(){let t=0;const e=this.option("initialSlide");t="number"==typeof e?this.getPageForSlide(e):parseInt(this.option("initialPage",0)+"",10)||0,this.page=t}setInitialPosition(){if(!this.track||!this.pages.length)return;const t=this.isHorizontal;let e=this.page;this.pages[e]||(this.page=e=0);const i=this.pages[e].pos*(this.isRTL&&t?1:-1),n=t?`${i}px`:"0",s=t?"0":`${i}px`;this.track.style.transform=`translate3d(${n}, ${s}, 0) scale(1)`,this.option("adaptiveHeight")&&this.setViewportHeight()}initPanzoom(){this.panzoom&&(this.panzoom.destroy(),this.panzoom=null);const t=this.option("Panzoom")||{};this.panzoom=new M(this.viewport,d({},{content:this.track,zoom:!1,panOnlyZoomed:!1,lockAxis:this.isHorizontal?"x":"y",infinite:this.isInfinite,click:!1,dblClick:!1,touch:t=>!(this.pages.length<2&&!t.options.infinite),bounds:()=>this.getBounds(),maxVelocity:t=>Math.abs(t.target[this.axis]-t.current[this.axis])<2*this.viewportDim?100:0},t)),this.panzoom.on("*",((t,e,...i)=>{this.emit(`Panzoom.${e}`,t,...i)})),this.panzoom.on("decel",this.onDecel),this.panzoom.on("refresh",this.onRefresh),this.panzoom.on("beforeTransform",this.onBeforeTransform),this.panzoom.on("endAnimation",this.onEndAnimation)}attachEvents(){const t=this.container;t&&(t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("slideTo",this.onSlideTo)),window.addEventListener("resize",this.onResize)}createPages(){let t=[];const{contentDim:e,viewportDim:i}=this,n=this.option("slidesPerPage");if("number"==typeof n&&e>i){for(let e=0;ei)&&(t.push(R()),s=t.length-1,o=0),o+=e.dim+e.gap,t[s].slides.push(e);return t}processPages(){const e=this.pages,{contentDim:i,viewportDim:n}=this,s=this.option("center"),o=this.option("fill"),a=o&&s&&i>n&&!this.isInfinite;if(e.forEach(((t,e)=>{t.index=e,t.pos=t.slides[0].pos,t.dim=0;for(const[e,i]of t.slides.entries())t.dim+=i.dim,e=i-.5*n?t.pos=i-n:s&&(t.pos+=-.5*(n-t.dim))})),e.forEach(((e,s)=>{o&&!this.isInfinite&&i>n&&(e.pos=Math.max(e.pos,0),e.pos=Math.min(e.pos,i-n)),e.pos=t(e.pos,1e3),e.dim=t(e.dim,1e3),e.pos<.1&&e.pos>-.1&&(e.pos=0)})),this.isInfinite)return e;const r=[];let l;return e.forEach((t=>{const e=Object.assign({},t);l&&e.pos===l.pos?(l.dim+=e.dim,l.slides=[...l.slides,...e.slides]):(e.index=r.length,l=e,r.push(e))})),r}getPageFromIndex(t=0){const e=this.pages.length;let i;return t=parseInt((t||0).toString())||0,i=this.isInfinite?(t%e+e)%e:Math.max(Math.min(t,this.pages.length-1),0),i}getSlideMetrics(e){const i=this.isHorizontal?"width":"height";let n=0,s=0,o=e.el;o?n=parseFloat(o.dataset[i]||"")||0:(o=document.createElement("div"),o.style.visibility="hidden",S(o,this.cn("slide")+" "+e.class),(this.track||document.body).prepend(o)),n?(o.style[i]=`${n}px`,o.style["width"===i?"height":"width"]=""):n=o.getBoundingClientRect()[i];const a=getComputedStyle(o);return"content-box"===a.boxSizing&&(this.isHorizontal?(n+=parseFloat(a.paddingLeft)||0,n+=parseFloat(a.paddingRight)||0):(n+=parseFloat(a.paddingTop)||0,n+=parseFloat(a.paddingBottom)||0)),s=parseFloat(a[this.isHorizontal?"marginRight":"marginBottom"])||0,this.isHorizontal,e.el||o.remove(),{dim:t(n,1e3),gap:t(s,1e3)}}getBounds(){let t={min:0,max:0};if(this.isInfinite)t={min:-1/0,max:1/0};else if(this.pages.length){const e=this.pages[0].pos,i=this.pages[this.pages.length-1].pos;t=this.isRTL&&this.isHorizontal?{min:e,max:i}:{min:-1*i,max:-1*e}}return{x:this.isHorizontal?t:{min:0,max:0},y:this.isHorizontal?{min:0,max:0}:t}}repositionSlides(){const{viewportDim:e,contentDim:i,page:n,pages:s}=this;let o,a=0,r=0,l=0,c=0;this.panzoom?c=-1*this.panzoom.current[this.isHorizontal?"e":"f"]:s[n]&&(c=s[n].pos||0),o=this.isHorizontal?this.isRTL?"right":"left":"top",this.isRTL&&this.isHorizontal&&(c*=-1);for(const e of this.slides)e.el?("top"===o?(e.el.style.right="",e.el.style.left=""):e.el.style.top="",e.index!==a?e.el.style[o]=0===r?"":`${t(r,1e3)}px`:e.el.style[o]="",l+=e.dim+e.gap,a++):r+=e.dim+e.gap;if(this.isInfinite&&l)for(const n of this.slides)n.el&&(t(n.pos)t(i-e)&&(n.el.style[o]=`${t(r+l,1e3)}px`),t(n.pos+n.gap)>=t(i-e)&&t(n.pos)>t(c+e)&&t(c)1&&(h=this.pages[u[0]],d=this.pages[u[1]]),h&&d){let e=0;for(const i of this.slides)i.el?this.inTransition.has(i.index)&&h.slides.indexOf(i)<0&&(i.el.style[o]=`${t(e+(h.pos-d.pos),1e3)}px`):e+=i.dim+i.gap}}createSlideEl(t){if(!this.track||!t)return;if(t.el)return;const e=document.createElement("div");S(e,this.cn("slide")),S(e,t.class),S(e,t.customClass),t.html&&(e.innerHTML=t.html);const i=[];this.slides.forEach(((t,e)=>{t.el&&i.push(e)}));const n=t.index;let s=null;if(i.length){let t=i.reduce(((t,e)=>Math.abs(e-n)this.page?1:-1,r=this.pages[o].pos*(this.isRTL?1:-1);if(this.page===o&&t(r,1e3)===t(s.target[this.axis],1e3))return!1;this.clearTransitions();const l=s.isResting;S(this.container,this.cn("inTransition"));const c=this.pages[this.page].slides[0],h=this.pages[o].slides[0];this.inTransition.add(h.index),this.createSlideEl(h);let d=c.el,u=h.el;l||"slide"===i||(i="fadeFast",d=null);const p=this.isRTL?"next":"prev",m=this.isRTL?"prev":"next";return d&&(this.inTransition.add(c.index),c.transition=i,d.addEventListener("animationend",this.onAnimationEnd),d.classList.add(`f-${i}Out`,`to-${a>0?m:p}`)),u&&(h.transition=i,u.addEventListener("animationend",this.onAnimationEnd),u.classList.add(`f-${i}In`,`from-${a>0?p:m}`)),s.panTo({x:this.isHorizontal?r:0,y:this.isHorizontal?0:r,friction:0}),this.onChange(o),!0}manageSlideVisiblity(){const t=new Set,e=new Set,i=this.getVisibleSlides(parseFloat(this.option("preload",0)+"")||0);for(const n of this.slides)i.has(n)?t.add(n):e.add(n);for(const e of this.inTransition)t.add(this.slides[e]);for(const e of t)this.createSlideEl(e),this.lazyLoadSlide(e);for(const i of e)t.has(i)||this.removeSlideEl(i);this.markSelectedSlides(),this.repositionSlides()}markSelectedSlides(){if(!this.pages[this.page]||!this.pages[this.page].slides)return;const t="aria-hidden";let e=this.cn("isSelected");if(e)for(const i of this.slides)i.el&&(i.el.dataset.index=`${i.index}`,this.pages[this.page].slides.includes(i)?(i.el.classList.contains(e)||(S(i.el,e),this.emit("selectSlide",i)),i.el.removeAttribute(t)):(i.el.classList.contains(e)&&(x(i.el,e),this.emit("unselectSlide",i)),i.el.setAttribute(t,"true")))}flipInfiniteTrack(){const t=this.panzoom;if(!t||!this.isInfinite)return;const e="x"===this.option("axis")?"e":"f",{viewportDim:i,contentDim:n}=this;let s=t.current[e],o=t.target[e]-s,a=0,r=.5*i,l=n;this.isRTL&&this.isHorizontal?(s<-r&&(a=-1,s+=l),s>l-r&&(a=1,s-=l)):(s>r&&(a=1,s-=l),s<-l+r&&(a=-1,s+=l)),a&&(t.current[e]=s,t.target[e]=s+o)}lazyLoadSlide(t){const e=this,n=t&&t.el;if(!n)return;const s=new Set,o="f-fadeIn";n.querySelectorAll("[data-lazy-srcset]").forEach((t=>{t instanceof HTMLImageElement&&s.add(t)})),n.querySelectorAll("[data-lazy-src]").forEach((t=>{t instanceof HTMLImageElement?s.add(t):w(t)&&(t.style.backgroundImage=`url('${t.dataset.lazySrc||""}')`)}));const a=(t,i,n)=>{n&&(n.remove(),n=null),i.complete&&(i.classList.add(o),setTimeout((()=>{i.classList.remove(o)}),350),i.style.display=""),this.option("adaptiveHeight")&&t.el&&this.pages[this.page].slides.indexOf(t)>-1&&e.setViewportHeight()};for(const e of s){let n=null;e.src=e.dataset.lazySrcset||e.dataset.lazySrc||"",delete e.dataset.lazySrc,delete e.dataset.lazySrcset,e.style.display="none",e.addEventListener("error",(()=>{a(t,e,n)})),e.addEventListener("load",(()=>{a(t,e,n)})),setTimeout((()=>{e.parentNode&&t.el&&(e.complete?a(t,e,n):(n=i(y),e.parentNode.insertBefore(n,e)))}),300)}let r=n.dataset.lazySrc;r&&r.length&&(n.style.backgroundImage=`url('${r}')`)}onAnimationEnd(t){var e;const i=t.target,n=i?parseInt(i.dataset.index||"",10)||0:-1,s=this.slides[n],o=t.animationName;if(!i||!s||!o)return;const a=!!this.inTransition.has(n)&&s.transition;a&&o.substring(0,a.length+2)===`f-${a}`&&this.inTransition.delete(n),this.inTransition.size||this.clearTransitions(),n===this.page&&(null===(e=this.panzoom)||void 0===e?void 0:e.isResting)&&this.emit("settle")}onDecel(t,e=0,i=0,n=0,s=0){const o=this.isRTL,a=this.isHorizontal,r=this.axis,l=this.pages.length,c=Math.abs(Math.atan2(i,e)/(Math.PI/180));let h=0;if(h=c>45&&c<135?a?0:i:a?e:0,!l)return;const d=this.option("dragFree");let u=this.page;const p=t.target[r]*(this.isRTL&&a?1:-1),{pageIndex:m}=this.getPageFromPosition(p),f=t.current[r]*(o&&a?1:-1);let{page:g}=this.getPageFromPosition(f);d?this.onChange(m):(Math.abs(h)>5?((this.pages.length<3||Math.max(Math.abs(n),Math.abs(s))>this.pages[u].slides[0].dim)&&(u=g),u=o&&a?h<0?u-1:u+1:h<0?u+1:u-1):u=g,this.slideTo(u,{transition:!1,friction:t.option("decelFriction")}))}onClick(t){const e=t.target,i=e&&w(e)?e.dataset:null;let n,s;i&&(void 0!==i.carouselPage?(s="slideTo",n=i.carouselPage):void 0!==i.carouselNext?s="slideNext":void 0!==i.carouselPrev&&(s="slidePrev")),s?(t.preventDefault(),t.stopPropagation(),e&&!e.hasAttribute("disabled")&&this[s](n)):this.emit("click",t)}onSlideTo(t){const e=t.detail||0;this.slideTo(this.getPageForSlide(e),{friction:0})}onChange(t,e=0){const i=this.page;this.prevPage=i,this.page=t,this.option("adaptiveHeight")&&this.setViewportHeight(),t!==i&&(this.markSelectedSlides(),this.emit("change",t,i,e))}onRefresh(t,e=""){let i=this.contentDim,n=this.viewportDim;this.updateMetrics(),this.contentDim===i&&this.viewportDim===n||this.slideTo(this.page,{friction:0,transition:!1})}onResize(){this.option("breakpoints")&&this.processOptions()}onBeforeTransform(){this.flipInfiniteTrack(),this.manageSlideVisiblity()}onEndAnimation(){this.emit("settle")}reInit(t=null,e=null){this.destroy(),this.state=L.Init,this.userOptions=t||this.userOptions,this.userPlugins=e||this.userPlugins,this.processOptions()}slideTo(t=0,{friction:e=this.option("friction"),transition:i=this.option("transition")}={}){if(this.state===L.Destroy)return;const n=this.panzoom,s=this.pages.length;if(!n||!s)return;if(this.transitionTo(t,i))return;const o=this.axis,a=this.getPageFromIndex(t);let r=this.pages[a].pos,l=0;if(this.isInfinite){const t=n.current[o]*(this.isRTL&&this.isHorizontal?1:-1),e=this.contentDim,i=r+e,s=r-e;Math.abs(t-i){t.el&&(s=Math.max(s,t.el.offsetHeight))}))),i.style.height=s?`${s}px`:""}getPageForSlide(t){for(const e of this.pages)for(const i of e.slides)if(i.index===t)return e.index;return-1}getVisibleSlides(t=0){var e;const i=new Set;let{contentDim:n,viewportDim:s,pages:o,page:a}=this;n=n+(null===(e=this.slides[this.slides.length-1])||void 0===e?void 0:e.gap)||0;let r=0;r=this.panzoom?-1*this.panzoom.current[this.axis]:o[a]&&o[a].pos||0,this.isInfinite&&(r-=Math.floor(r/n)*n),this.isRTL&&this.isHorizontal&&(r*=-1);const l=r-s*t,c=r+s*(t+1),h=this.isInfinite?[-1,0,1]:[0];for(const t of this.slides)for(const e of h){const s=t.pos+e*n,o=t.pos+t.dim+t.gap+e*n;sl&&i.add(t)}return i}getPageFromPosition(t){const{viewportDim:e,contentDim:i}=this,n=this.pages.length,s=this.slides.length,o=this.slides[s-1];let a=0,r=0,l=0;const c=this.option("center");c&&(t+=.5*e),this.isInfinite||(t=Math.max(this.slides[0].pos,Math.min(t,o.pos)));const h=i+o.gap;l=Math.floor(t/h)||0,t-=l*h;let d=o,u=this.slides.find((e=>{const i=t+(d&&!c?.5*d.dim:0);return d=e,e.pos<=i&&e.pos+e.dim+e.gap>i}));return u||(u=o),r=this.getPageForSlide(u.index),a=r+l*n,{page:a,pageIndex:r}}destroy(){if([L.Destroy].includes(this.state))return;this.state=L.Destroy;const{container:t,viewport:e,track:i,slides:n,panzoom:s}=this,o=this.option("classes");t.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),t.removeEventListener("slideTo",this.onSlideTo),window.removeEventListener("resize",this.onResize),s&&(s.destroy(),this.panzoom=null),n&&n.forEach((t=>{this.removeSlideEl(t)})),this.detachPlugins(),this.track=null,this.viewport=null,this.page=0,e&&i&&e.replaceWith(...i.childNodes);for(const[e,i]of Object.entries(o))"container"!==e&&i&&t.classList.remove(i);this.slides=[];const a=this.events.get("ready");this.events=new Map,a&&this.events.set("ready",a)}}Object.defineProperty(B,"Panzoom",{enumerable:!0,configurable:!0,writable:!0,value:M}),Object.defineProperty(B,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:A}),Object.defineProperty(B,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:H});const _=function(t){const e=window.pageYOffset,i=window.pageYOffset+window.innerHeight;if(!w(t))return 0;const n=t.getBoundingClientRect(),s=n.y+window.pageYOffset,o=n.y+n.height+window.pageYOffset;if(e>o||io)return 100;if(si)return 100;let a=n.height;si&&(a-=o-i);const r=a/window.innerHeight*100;return Math.round(r)},N=!("undefined"==typeof window||!window.document||!window.document.createElement);let W;const $=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden]):not(.fancybox-focus-guard)","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"]):not([disabled]):not([aria-hidden])'].join(","),X=t=>{if(t&&N){void 0===W&&document.createElement("div").focus({get preventScroll(){return W=!0,!1}});try{if(W)t.focus({preventScroll:!0});else{const e=window.pageXOffset||document.body.scrollTop,i=window.pageYOffset||document.body.scrollLeft;t.focus(),document.body.scrollTo({top:e,left:i,behavior:"auto"})}}catch(t){}}},Y={dragToClose:!0,hideScrollbar:!0,Carousel:{classes:{container:"fancybox__carousel",viewport:"fancybox__viewport",track:"fancybox__track",slide:"fancybox__slide"}},contentClick:"toggleZoom",contentDblClick:!1,backdropClick:"close",animated:!0,idle:3500,showClass:"f-zoomInUp",hideClass:"f-fadeOut",commonCaption:!1,parentEl:null,startIndex:0,l10n:Object.assign(Object.assign({},b),{CLOSE:"Close",NEXT:"Next",PREV:"Previous",MODAL:"You can close this modal content with the ESC key",ERROR:"Something Went Wrong, Please Try Again Later",IMAGE_ERROR:"Image Not Found",ELEMENT_NOT_FOUND:"HTML Element Not Found",AJAX_NOT_FOUND:"Error Loading AJAX : Not Found",AJAX_FORBIDDEN:"Error Loading AJAX : Forbidden",IFRAME_ERROR:"Error Loading Page",TOGGLE_ZOOM:"Toggle zoom level",TOGGLE_THUMBS:"Toggle thumbnails",TOGGLE_SLIDESHOW:"Toggle slideshow",TOGGLE_FULLSCREEN:"Toggle full-screen mode",DOWNLOAD:"Download"}),tpl:{closeButton:'',main:''},groupAll:!1,groupAttr:"data-fancybox",defaultType:"image",defaultDisplay:"block",autoFocus:!0,trapFocus:!0,placeFocusBack:!0,closeButton:"auto",keyboard:{Escape:"close",Delete:"close",Backspace:"close",PageUp:"next",PageDown:"prev",ArrowUp:"prev",ArrowDown:"next",ArrowRight:"next",ArrowLeft:"prev"},Fullscreen:{autoStart:!1},compact:()=>window.matchMedia("(max-width: 578px), (max-height: 578px)").matches,wheel:"zoom"};var q,Z;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Closing=2]="Closing",t[t.CustomClosing=3]="CustomClosing",t[t.Destroy=4]="Destroy"}(q||(q={})),function(t){t[t.Loading=0]="Loading",t[t.Opening=1]="Opening",t[t.Ready=2]="Ready",t[t.Closing=3]="Closing"}(Z||(Z={}));const V=()=>{queueMicrotask((()=>{(()=>{const{slug:t,index:e}=U.parseURL(),i=wt.getInstance();if(i&&!1!==i.option("Hash")){const n=i.carousel;if(t&&n){for(let e of n.slides)if(e.slug&&e.slug===t)return n.slideTo(e.index);if(t===i.option("slug"))return n.slideTo(e-1);const s=i.getSlide(),o=s&&s.triggerEl&&s.triggerEl.dataset;if(o&&o.fancybox===t)return n.slideTo(e-1)}U.hasSilentClose=!0,i.close()}U.startFromUrl()})()}))};class U extends k{constructor(){super(...arguments),Object.defineProperty(this,"origHash",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:null})}onChange(){const t=this.instance,e=t.carousel;this.timer&&clearTimeout(this.timer);const i=t.getSlide();if(!e||!i)return;const n=t.isOpeningSlide(i),s=new URL(document.URL).hash;let o,a=i.slug||void 0;o=a||this.instance.option("slug"),!o&&i.triggerEl&&i.triggerEl.dataset&&(o=i.triggerEl.dataset.fancybox);let r="";o&&"true"!==o&&(r="#"+o+(!a&&e.slides.length>1?"-"+(i.index+1):"")),n&&(this.origHash=s!==r?s:""),r&&s!==r&&(this.timer=setTimeout((()=>{try{window.history[n?"pushState":"replaceState"]({},document.title,window.location.pathname+window.location.search+r)}catch(t){}}),300))}onClose(){if(this.timer&&clearTimeout(this.timer),!0!==U.hasSilentClose)try{window.history.replaceState({},document.title,window.location.pathname+window.location.search+(this.origHash||""))}catch(t){}}attach(){this.instance.on("Carousel.ready",this.onChange),this.instance.on("Carousel.change",this.onChange),this.instance.on("close",this.onClose)}detach(){this.instance.off("Carousel.ready",this.onChange),this.instance.off("Carousel.change",this.onChange),this.instance.off("close",this.onClose)}static parseURL(){const t=window.location.hash.slice(1),e=t.split("-"),i=e[e.length-1],n=i&&/^\+?\d+$/.test(i)&&parseInt(e.pop()||"1",10)||1;return{hash:t,slug:e.join("-"),index:n}}static startFromUrl(){if(U.hasSilentClose=!1,wt.getInstance()||!1===wt.defaults.Hash)return;const{hash:t,slug:e,index:i}=U.parseURL();if(!e)return;let n=document.querySelector(`[data-slug="${t}"]`);if(n&&n.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})),wt.getInstance())return;const s=document.querySelectorAll(`[data-fancybox="${e}"]`);s.length&&(n=s[i-1],n&&n.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})))}static destroy(){window.removeEventListener("hashchange",V,!1)}}function G(){window.addEventListener("hashchange",V,!1),setTimeout((()=>{U.startFromUrl()}),500)}Object.defineProperty(U,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(U,"hasSilentClose",{enumerable:!0,configurable:!0,writable:!0,value:!1}),N&&(/complete|interactive|loaded/.test(document.readyState)?G():document.addEventListener("DOMContentLoaded",G));const K=t=>new Promise(((e,i)=>{const n=new Image;n.onload=e,n.onerror=i,n.src=t}));class J extends k{onCreateSlide(t,e,i){const n=this.instance,s=n.optionFor(i,"src")||"",{el:o,type:a}=i;o&&"image"===a&&"string"==typeof s&&this.setContent(i,s).then((t=>{if(n.isClosing())return;const e=i.contentEl,s=i.imageEl,o=i.thumbElSrc,a=this.optionFor(i,"initialSize"),r=this.optionFor(i,"zoom"),l={event:n.prevMouseMoveEvent||n.options.event,friction:r?.12:0};if(e&&s&&o&&n.isOpeningSlide(i)&&this.getZoomInfo(i)){let t=document.createElement("img");S(t,"fancybox-ghost"),e.appendChild(t),t.src=o,setTimeout((()=>{n.animate(t,"f-fadeFastOut",(()=>{t&&(t.remove(),t=null)}))}),333),K(o).then((()=>{i.state=Z.Opening,this.instance.emit("reveal",i),this.zoomIn(i).then((()=>{this.instance.done(i)}),(()=>{n.hideLoading(i)}))}),(()=>{n.hideLoading(i),n.revealContent(i)}))}else{let e=n.optionFor(i,"showClass")||void 0,s=!0;n.isOpeningSlide(i)&&("full"===a?t.zoomToFull(l):"cover"===a?t.zoomToCover(l):"max"===a?t.zoomToMax(l):s=!1,t.stop("current")),s&&e&&(e="f-fadeIn"),n.revealContent(i,e)}}),(()=>{n.setError(i,"{{IMAGE_ERROR}}")}))}onRemoveSlide(t,e,i){i.panzoom&&i.panzoom.destroy(),i.panzoom=void 0,i.imageEl=void 0}onChange(t,e,i,n){for(const t of e.slides){const e=t.panzoom;e&&t.index!==i&&e.reset(.35)}}onClose(){const t=this.instance,e=t.container,i=t.getSlide();if(!e||!e.parentElement||!i)return;const{el:n,contentEl:s,panzoom:o}=i,a=i.thumbElSrc;if(!n||!a||!s||!o||o.isContentLoading||o.state===f.Init||o.state===f.Destroy)return;o.updateMetrics();let r=this.getZoomInfo(i);if(!r)return;this.instance.state=q.CustomClosing,n.classList.remove("is-zooming-in"),n.classList.add("is-zooming-out"),s.style.backgroundImage=`url('${a}')`,K(a).then((()=>{n.classList.add("hide-image")}),(()=>{}));const l=e.getBoundingClientRect();Object.assign(e.style,{position:"absolute",top:`${window.pageYOffset}px`,left:`${window.pageXOffset}px`,bottom:"auto",right:"auto",width:`${l.width}px`,height:`${l.height}px`,overflow:"hidden"});const{x:c,y:h,scale:d,opacity:u}=r;if(u){const t=((t,e,i,n)=>{const s=e-t,o=n-i;return e=>i+((e-t)/s*o||0)})(o.scale,d,1,0);o.on("afterTransform",(()=>{s.style.opacity=t(o.scale)+""}))}o.on("endAnimation",(()=>{t.destroy()})),o.target.a=d,o.target.b=0,o.target.c=0,o.target.d=d,o.panTo({x:c,y:h,scale:d,friction:u?.2:.33,ignoreBounds:!0}),o.isResting&&t.destroy()}setContent(t,e){return new Promise(((i,n)=>{var s,o;const a=this.instance,r=t.el;if(!r)return void n();a.showLoading(t);const l=document.createElement("img");if(l.classList.add("fancybox-image"),l.src=e||"",l.alt=(null===(s=t.caption)||void 0===s?void 0:s.replace(/<[^>]+>/gi,"").substring(0,1e3))||`Image ${t.index+1} of ${null===(o=a.carousel)||void 0===o?void 0:o.pages.length}`,l.draggable=!1,t.srcset&&l.setAttribute("srcset",t.srcset),t.sizes&&l.setAttribute("sizes",t.sizes),t.imageEl=l,a.setContent(t,l,!1),this.option("protected")){r.addEventListener("contextmenu",(t=>{t.preventDefault()}));const e=t.contentEl;if(e){const t=document.createElement("div");S(t,"fancybox-protected"),e.append(t)}}t.panzoom=new M(r,d({},this.option("Panzoom")||{},{content:l,width:a.optionFor(t,"width","auto"),height:a.optionFor(t,"height","auto"),wheel:()=>{const t=a.option("wheel");return("zoom"===t||"pan"==t)&&t},click:(e,i)=>{var n;if(a.isCompact||a.isClosing())return!1;let s=!i||i.target&&(null===(n=t.contentEl)||void 0===n?void 0:n.contains(i.target));return a.option(s?"contentClick":"backdropClick")||!1},dblClick:()=>a.isCompact?"toggleZoom":a.option("contentDblClick")||!1,spinner:!1,panOnlyZoomed:!0,wheelLimit:1/0,transformParent:!0,on:{ready:t=>{i(t)},error:()=>{n()},destroy:()=>{n()}}}))}))}zoomIn(t){return new Promise(((e,i)=>{const{panzoom:n,contentEl:s,el:o}=t;n&&n.updateMetrics();const a=this.getZoomInfo(t);if(!(a&&o&&s&&n))return void i();const{x:r,y:l,scale:c,opacity:h}=a,d=()=>{t.state!==Z.Closing&&(h&&(s.style.opacity=Math.max(Math.min(1,1-(1-n.scale)/(1-c)),0)+""),n.scale>=1&&n.scale>n.targetScale-.1&&e(n))},u=t=>{t.scale<.99||t.scale>1.01||(s.style.opacity="",o.classList.remove("is-zooming-in"),t.off("endAnimation",u),t.off("touchStart",u),t.off("afterTransform",d),e(t))};n.on("endAnimation",u),n.on("touchStart",u),n.on("afterTransform",d),n.on(["error","destroy"],(()=>{i()})),n.panTo({x:r,y:l,scale:c,friction:0,ignoreBounds:!0}),n.stop("current");const p=this.instance,m={event:"mousemove"===n.panMode?p.prevMouseMoveEvent||p.options.event:void 0},f=this.optionFor(t,"initialSize");S(o,"is-zooming-in"),p.hideLoading(t),"full"===f?n.zoomToFull(m):"cover"===f?n.zoomToCover(m):"max"===f?n.zoomToMax(m):n.reset(.165)}))}getZoomInfo(t){const{el:e,imageEl:i,thumbEl:n,panzoom:s}=t;if(!e||!i||!n||!s||_(n)<3||!this.optionFor(t,"zoom")||this.instance.state===q.Destroy)return!1;const{top:o,left:a,width:r,height:l}=n.getBoundingClientRect();let{top:c,left:h,fitWidth:d,fitHeight:u}=s.contentRect;if(!(r&&l&&d&&u))return!1;const p=r/d,m=s.container.getBoundingClientRect();c+=m.top,h+=m.left;const f=-1*(h+.5*d-(a+.5*r)),g=-1*(c+.5*u-(o+.5*l));let b=this.option("zoomOpacity")||!1;return"auto"===b&&(b=Math.abs(r/l-d/u)>.1),{x:f,y:g,scale:p,opacity:b}}attach(){this.instance.on("Carousel.change",this.onChange),this.instance.on("Carousel.createSlide",this.onCreateSlide),this.instance.on("Carousel.removeSlide",this.onRemoveSlide),this.instance.on("close",this.onClose)}detach(){this.instance.off("Carousel.change",this.onChange),this.instance.off("Carousel.createSlide",this.onCreateSlide),this.instance.off("Carousel.removeSlide",this.onRemoveSlide),this.instance.off("close",this.onClose)}}Object.defineProperty(J,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{initialSize:"fit",Panzoom:{maxScale:1},protected:!1,zoom:!0,zoomOpacity:"auto"}});const Q=(t,e={})=>{const i=new URL(t),n=new URLSearchParams(i.search),s=new URLSearchParams;for(const[t,i]of[...n,...Object.entries(e)]){let e=i.toString();"t"===t?s.set("start",parseInt(e).toString()):s.set(t,e)}let o=s.toString(),a=t.match(/#t=((.*)?\d+s)/);return a&&(o+=`#t=${a[1]}`),o},tt={ajax:null,autoSize:!0,preload:!0,videoAutoplay:!0,videoRatio:16/9,videoTpl:'',videoFormat:"",vimeo:{byline:1,color:"00adef",controls:1,dnt:1,muted:0},youtube:{controls:1,enablejsapi:1,rel:0,fs:1}},et=["image","html","ajax","inline","clone","iframe","map","pdf","html5video","youtube","vimeo","video"];class it extends k{onInitSlide(t,e,i){this.processType(i)}onCreateSlide(t,e,i){this.setContent(i)}onRemoveSlide(t,e,i){i.closeBtnEl&&(i.closeBtnEl.remove(),i.closeBtnEl=void 0),i.xhr&&(i.xhr.abort(),i.xhr=null),i.iframeEl&&(i.iframeEl.onload=i.iframeEl.onerror=null,i.iframeEl.src="//about:blank",i.iframeEl=null);const n=i.contentEl,s=i.placeholderEl;if("inline"===i.type&&n&&s)n.classList.remove("fancybox__content"),"none"!==n.style.display&&(n.style.display="none"),s.parentNode&&s.parentNode.insertBefore(n,s),s.remove(),i.placeholderEl=null;else for(;i.el&&i.el.firstChild;)i.el.removeChild(i.el.firstChild)}onSelectSlide(t,e,i){i.state===Z.Ready&&this.playVideo()}onUnselectSlide(t,e,i){var n,s;if("html5video"===i.type){try{null===(s=null===(n=i.el)||void 0===n?void 0:n.querySelector("video"))||void 0===s||s.pause()}catch(t){}return}let o;"vimeo"===i.type?o={method:"pause",value:"true"}:"youtube"===i.type&&(o={event:"command",func:"pauseVideo"}),o&&i.iframeEl&&i.iframeEl.contentWindow&&i.iframeEl.contentWindow.postMessage(JSON.stringify(o),"*"),i.poller&&clearTimeout(i.poller)}onDone(t,e){t.isCurrentSlide(e)&&!t.isClosing()&&this.playVideo()}onRefresh(t,e){e.slides.forEach((t=>{t.el&&(this.setAspectRatio(t),this.resizeIframe(t))}))}onMessage(t){try{let e=JSON.parse(t.data);if("https://player.vimeo.com"===t.origin){if("ready"===e.event)for(let e of Array.from(document.getElementsByClassName("fancybox__iframe")))e instanceof HTMLIFrameElement&&e.contentWindow===t.source&&(e.dataset.ready="true")}else if("https://www.youtube-nocookie.com"===t.origin&&"onReady"===e.event){const t=document.getElementById(e.id);t&&(t.dataset.ready="true")}}catch(t){}}loadAjaxContent(t){const e=this.instance.optionFor(t,"src")||"";this.instance.showLoading(t);const i=this.instance,n=new XMLHttpRequest;i.showLoading(t),n.onreadystatechange=function(){n.readyState===XMLHttpRequest.DONE&&i.state===q.Ready&&(i.hideLoading(t),200===n.status?i.setContent(t,n.responseText):i.setError(t,404===n.status?"{{AJAX_NOT_FOUND}}":"{{AJAX_FORBIDDEN}}"))};const s=t.ajax||null;n.open(s?"POST":"GET",e+""),n.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.send(s),t.xhr=n}setInlineContent(t){let e=null;if(w(t.src))e=t.src;else if("string"==typeof t.src){const i=t.src.split("#",2).pop();e=i?document.getElementById(i):null}if(e){if("clone"===t.type||e.dataset.placeholderId){e=e.cloneNode(!0);const i=e.dataset.animationName;i&&(e.classList.remove(i),delete e.dataset.animationName),delete e.dataset.placeholderId;let n=e.getAttribute("id");n=n?`${n}--clone`:`clone-${this.instance.id}-${t.index}`,e.setAttribute("id",n)}else if(e.parentNode){const i=document.createElement("div");i.classList.add("fancybox-placeholder"),e.parentNode.insertBefore(i,e),t.placeholderEl=i}this.instance.setContent(t,e)}else this.instance.setError(t,"{{ELEMENT_NOT_FOUND}}")}setIframeContent(t){const{src:e,el:i}=t;if(!e||"string"!=typeof e||!i)return;const n=this.instance,s=document.createElement("iframe");s.className="fancybox__iframe",s.setAttribute("id",`fancybox__iframe_${n.id}_${t.index}`),s.setAttribute("allow","autoplay; fullscreen"),s.setAttribute("scrolling","auto"),s.onerror=()=>{n.setError(t,"{{IFRAME_ERROR}}")},t.iframeEl=s;const o=this.optionFor(t,"preload");if(i.classList.add("is-loading"),"iframe"!==t.type||!1===o)return s.setAttribute("src",t.src+""),this.resizeIframe(t),void n.setContent(t,s);n.showLoading(t),s.onload=()=>{if(!s.src.length)return;const e="true"!==s.dataset.ready;s.dataset.ready="true",this.resizeIframe(t),e?n.revealContent(t):n.hideLoading(t)},s.setAttribute("src",e),n.setContent(t,s,!1)}resizeIframe(t){const e=t.iframeEl,i=null==e?void 0:e.parentElement;if(!e||!i)return;let n=t.autoSize,s=t.width||0,o=t.height||0;s&&o&&(n=!1);const a=i&&i.style;if(!1!==t.preload&&!1!==n&&a)try{const t=window.getComputedStyle(i),n=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),r=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),l=e.contentWindow;if(l){const t=l.document,e=t.getElementsByTagName("html")[0],i=t.body;a.width="",i.style.overflow="hidden",s=s||e.scrollWidth+n,a.width=`${s}px`,i.style.overflow="",a.flex="0 0 auto",a.height=`${i.scrollHeight}px`,o=e.scrollHeight+r}}catch(t){}if(s||o){const t={flex:"0 1 auto",width:"",height:""};s&&(t.width=`${s}px`),o&&(t.height=`${o}px`),Object.assign(a,t)}}playVideo(){const t=this.instance.getSlide();if(!t)return;const{el:e}=t;if(!e||!e.offsetParent)return;if(!this.optionFor(t,"videoAutoplay"))return;if("html5video"===t.type)try{const t=e.querySelector("video");if(t){const e=t.play();void 0!==e&&e.then((()=>{})).catch((e=>{t.muted=!0,t.play()}))}}catch(t){}if("youtube"!==t.type&&"vimeo"!==t.type)return;const i=()=>{if(t.iframeEl&&t.iframeEl.contentWindow){let e;if("true"===t.iframeEl.dataset.ready)return e="youtube"===t.type?{event:"command",func:"playVideo"}:{method:"play",value:"true"},e&&t.iframeEl.contentWindow.postMessage(JSON.stringify(e),"*"),void(t.poller=void 0);"youtube"===t.type&&(e={event:"listening",id:t.iframeEl.getAttribute("id")},t.iframeEl.contentWindow.postMessage(JSON.stringify(e),"*"))}t.poller=setTimeout(i,250)};i()}processType(t){if(t.html)return t.type="html",t.src=t.html,void(t.html="");const e=this.instance.optionFor(t,"src","");if(!e||"string"!=typeof e)return;let i=t.type,n=null;if(n=e.match(/(?:youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(?:watch\?(?:.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(?:.*)|[\w-]{11}|\?listType=(?:.*)&list=(?:.*))(?:.*)/i)){const s=Q(e,this.optionFor(t,"youtube")),o=encodeURIComponent(n[1]);t.videoId=o,t.src=`https://www.youtube-nocookie.com/embed/${o}?${s}`,t.thumbSrc=t.thumbSrc||`https://i.ytimg.com/vi/${o}/mqdefault.jpg`,i="youtube"}else if(n=e.match(/^.+vimeo.com\/(?:\/)?([\d]+)((\/|\?h=)([a-z0-9]+))?(.*)?/)){const s=Q(e,this.optionFor(t,"vimeo")),o=encodeURIComponent(n[1]),a=n[4]||"";t.videoId=o,t.src=`https://player.vimeo.com/video/${o}?${a?`h=${a}${s?"&":""}`:""}${s}`,i="vimeo"}if(!i&&t.triggerEl){const e=t.triggerEl.dataset.type;et.includes(e)&&(i=e)}i||"string"==typeof e&&("#"===e.charAt(0)?i="inline":(n=e.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(i="html5video",t.videoFormat=t.videoFormat||"video/"+("ogv"===n[1]?"ogg":n[1])):e.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?i="image":e.match(/\.(pdf)((\?|#).*)?$/i)?i="pdf":(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:(?:(?:maps\/(?:place\/(?:.*)\/)?\@(.*),(\d+.?\d+?)z))|(?:\?ll=))(.*)?/i))?(t.src=`https://maps.google.${n[1]}/?ll=${(n[2]?n[2]+"&z="+Math.floor(parseFloat(n[3]))+(n[4]?n[4].replace(/^\//,"&"):""):n[4]+"").replace(/\?/,"&")}&output=${n[4]&&n[4].indexOf("layer=c")>0?"svembed":"embed"}`,i="map"):(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i))&&(t.src=`https://maps.google.${n[1]}/maps?q=${n[2].replace("query=","q=").replace("api=1","")}&output=embed`,i="map")),i=i||this.instance.option("defaultType"),t.type=i,"image"===i&&(t.thumbSrc=t.thumbSrc||t.src)}setContent(t){const e=this.instance.optionFor(t,"src")||"";if(t&&t.type&&e){switch(t.type){case"html":this.instance.setContent(t,e);break;case"html5video":const i=this.option("videoTpl");i&&this.instance.setContent(t,i.replace(/\{\{src\}\}/gi,e+"").replace(/\{\{format\}\}/gi,this.optionFor(t,"videoFormat")||"").replace(/\{\{poster\}\}/gi,t.poster||t.thumbSrc||""));break;case"inline":case"clone":this.setInlineContent(t);break;case"ajax":this.loadAjaxContent(t);break;case"pdf":case"map":case"youtube":case"vimeo":t.preload=!1;case"iframe":this.setIframeContent(t)}this.setAspectRatio(t)}}setAspectRatio(t){var e;const i=t.contentEl,n=this.optionFor(t,"videoRatio"),s=null===(e=t.el)||void 0===e?void 0:e.getBoundingClientRect();if(!(i&&s&&n&&1!==n&&t.type&&["video","youtube","vimeo","html5video"].includes(t.type)))return;const o=s.width,a=s.height;i.style.aspectRatio=n+"",i.style.width=o/a>n?"auto":"",i.style.height=o/a>n?"":"auto"}attach(){this.instance.on("Carousel.initSlide",this.onInitSlide),this.instance.on("Carousel.createSlide",this.onCreateSlide),this.instance.on("Carousel.removeSlide",this.onRemoveSlide),this.instance.on("Carousel.selectSlide",this.onSelectSlide),this.instance.on("Carousel.unselectSlide",this.onUnselectSlide),this.instance.on("Carousel.Panzoom.refresh",this.onRefresh),this.instance.on("done",this.onDone),window.addEventListener("message",this.onMessage)}detach(){this.instance.off("Carousel.initSlide",this.onInitSlide),this.instance.off("Carousel.createSlide",this.onCreateSlide),this.instance.off("Carousel.removeSlide",this.onRemoveSlide),this.instance.off("Carousel.selectSlide",this.onSelectSlide),this.instance.off("Carousel.unselectSlide",this.onUnselectSlide),this.instance.off("Carousel.Panzoom.refresh",this.onRefresh),this.instance.off("done",this.onDone),window.removeEventListener("message",this.onMessage)}}Object.defineProperty(it,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:tt});class nt extends k{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:"ready"}),Object.defineProperty(this,"inHover",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"progressBar",{enumerable:!0,configurable:!0,writable:!0,value:null})}get isActive(){return"ready"!==this.state}onReady(t){this.option("autoStart")&&(t.isInfinite||t.page{this.timer=null,this.inHover||this.onTimerEnd()}),t),this.emit("set")}clear(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.removeProgressBar()}start(){if(this.set(),this.option("pauseOnHover")){const t=this.instance.container;t.addEventListener("mouseenter",this.onMouseEnter,!1),t.addEventListener("mouseleave",this.onMouseLeave,!1)}document.addEventListener("visibilitychange",this.onVisibilityChange,!1)}stop(){const t=this.instance.container;this.clear(),this.state="ready",t.removeEventListener("mouseenter",this.onMouseEnter,!1),t.removeEventListener("mouseleave",this.onMouseLeave,!1),document.removeEventListener("visibilitychange",this.onVisibilityChange,!1),x(t,"has-autoplay"),this.emit("stop")}pause(){"play"===this.state&&(this.state="pause",this.clear(),this.emit("pause"))}resume(){const t=this.instance;if(t.isInfinite||t.page!==t.pages.length-1)if("play"!==this.state){if("pause"===this.state&&!this.inHover){const t=new Event("resume",{bubbles:!0,cancelable:!0});this.emit("resume",event),t.defaultPrevented||this.set()}}else this.set();else this.stop()}toggle(){"play"===this.state||"pause"===this.state?this.stop():this.set()}attach(){this.instance.on("ready",this.onReady),this.instance.on("Panzoom.startAnimation",this.onChange),this.instance.on("Panzoom.endAnimation",this.onSettle),this.instance.on("Panzoom.touchMove",this.onChange)}detach(){this.instance.off("ready",this.onReady),this.instance.off("Panzoom.startAnimation",this.onChange),this.instance.off("Panzoom.endAnimation",this.onSettle),this.instance.off("Panzoom.touchMove",this.onChange),this.stop()}}Object.defineProperty(nt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{autoStart:!0,pauseOnHover:!0,progressParentEl:null,showProgress:!0,timeout:3e3}});class st extends k{constructor(){super(...arguments),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:null})}onPrepare(t){const e=t.carousel;if(!e)return;const i=t.container;i&&(e.options.Autoplay=d(this.option("Autoplay")||{},{pauseOnHover:!1,autoStart:!1,timeout:this.option("timeout"),progressParentEl:()=>i.querySelector(".fancybox__toolbar [data-fancybox-toggle-slideshow]")||i,on:{set:e=>{var n;i.classList.add("has-slideshow"),(null===(n=t.getSlide())||void 0===n?void 0:n.state)!==Z.Ready&&e.pause()},stop:()=>{i.classList.remove("has-slideshow"),t.isCompact||t.endIdle()},resume:(e,i)=>{var n,s,o;!i||!i.cancelable||(null===(n=t.getSlide())||void 0===n?void 0:n.state)===Z.Ready&&(null===(o=null===(s=t.carousel)||void 0===s?void 0:s.panzoom)||void 0===o?void 0:o.isResting)||i.preventDefault()}}}),e.attachPlugins({Autoplay:nt}),this.ref=e.plugins.Autoplay)}onReady(t){const e=t.carousel,i=this.ref;e&&i&&this.option("playOnStart")&&(e.isInfinite||e.page{t.isCurrentSlide(e)&&i.stop()})),t.isCurrentSlide(e)&&i.resume()}onKeydown(t,e){var i;const n=this.ref;n&&e===this.option("key")&&"BUTTON"!==(null===(i=document.activeElement)||void 0===i?void 0:i.nodeName)&&n.toggle()}attach(){this.instance.on("Carousel.init",this.onPrepare),this.instance.on("Carousel.ready",this.onReady),this.instance.on("done",this.onDone),this.instance.on("keydown",this.onKeydown)}detach(){this.instance.off("Carousel.init",this.onPrepare),this.instance.off("Carousel.ready",this.onReady),this.instance.off("done",this.onDone),this.instance.off("keydown",this.onKeydown)}}Object.defineProperty(st,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{key:" ",playOnStart:!1,timeout:3e3}});const ot={classes:{container:"f-thumbs f-carousel__thumbs",viewport:"f-thumbs__viewport",track:"f-thumbs__track",slide:"f-thumbs__slide",isResting:"is-resting",isSelected:"is-selected",isLoading:"is-loading",hasThumbs:"has-thumbs"},minCount:2,parentEl:null,thumbTpl:'',type:"modern"};var at;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Hidden=2]="Hidden",t[t.Disabled=3]="Disabled"}(at||(at={}));let rt=class extends k{constructor(){super(...arguments),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"modern"}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"carousel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"thumbWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbClipWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbHeight",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbExtraGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"shouldCenter",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:at.Init})}formatThumb(t,e){return this.instance.localize(e,[["%i",t.index],["%d",t.index+1],["%s",t.thumbSrc||"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"]])}getSlides(){const t=[],e=this.option("thumbTpl")||"";if(e)for(const i of this.instance.slides||[]){let n="";i.type&&(n=`for-${i.type}`,i.type&&["video","youtube","vimeo","html5video"].includes(i.type)&&(n+=" for-video")),t.push({html:this.formatThumb(i,e),customClass:n})}return t}onInitSlide(t,e){const i=e.el;i&&(e.thumbSrc=i.dataset.thumbSrc||e.thumbSrc||"",e.thumbClipWidth=parseFloat(i.dataset.thumbClipWidth||"")||e.thumbClipWidth||0,e.thumbHeight=parseFloat(i.dataset.thumbHeight||"")||e.thumbHeight||0)}onInitSlides(){this.state===at.Init&&this.build()}onRefreshM(){this.refreshModern()}onChangeM(){"modern"===this.type&&(this.shouldCenter=!0,this.centerModern())}onClickModern(t){t.preventDefault(),t.stopPropagation();const e=this.instance,i=e.page,n=t=>{if(t){const e=t.closest("[data-carousel-index]");if(e)return parseInt(e.dataset.carouselIndex||"",10)||0}return-1},s=(t,e)=>{const i=document.elementFromPoint(t,e);return i?n(i):-1};let o=n(t.target);o<0&&(o=s(t.clientX+this.thumbGap,t.clientY),o===i&&(o=i-1)),o<0&&(o=s(t.clientX-this.thumbGap,t.clientY),o===i&&(o=i+1)),o<0&&(o=(e=>{let n=s(t.clientX-e,t.clientY),a=s(t.clientX+e,t.clientY);return o<0&&n===i&&(o=i+1),o<0&&a===i&&(o=i-1),o})(this.thumbExtraGap)),o===i?this.centerModern():o>-1&&o{this.emit("ready")}))}buildModern(){if("modern"!==this.type)return;const{container:t,track:e,instance:n}=this,s=this.option("thumbTpl")||"";if(!t||!e||!s)return;S(t,"is-horizontal"),this.updateModern();for(const t of n.slides||[]){const n=document.createElement("div");if(S(n,this.cn("slide")),t.type){let e=`for-${t.type}`;["video","youtube","vimeo","html5video"].includes(t.type)&&(e+=" for-video"),S(n,e)}n.appendChild(i(this.formatThumb(t,s))),t.thumbSlideEl=n,e.appendChild(n),this.resizeModernSlide(t)}const o=new n.constructor.Panzoom(t,{content:e,lockAxis:"x",zoom:!1,panOnlyZoomed:!1,bounds:()=>{let t=0,e=0,i=n.slides[0],s=n.slides[n.slides.length-1],o=n.slides[n.page];return i&&s&&o&&(e=-1*this.getModernThumbPos(0),0!==n.page&&(e+=.5*(i.thumbWidth||0)),t=-1*this.getModernThumbPos(n.slides.length-1),n.page!==n.slides.length-1&&(t+=(s.thumbWidth||0)-(o.thumbWidth||0)-.5*(s.thumbWidth||0))),{x:{min:t,max:e},y:{min:0,max:0}}}});o.on("touchStart",((t,e)=>{this.shouldCenter=!1})),o.on("click",((t,e)=>this.onClickModern(e))),o.on("ready",(()=>{this.centerModern(),this.emit("ready")})),o.on(["afterTransform","refresh"],(t=>{this.lazyLoadModern()})),this.panzoom=o,this.refreshModern()}updateModern(){if("modern"!==this.type)return;const{container:t}=this;t&&(this.thumbGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-gap"))||0,this.thumbExtraGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-extra-gap"))||0,this.thumbWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-width"))||40,this.thumbClipWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-clip-width"))||40,this.thumbHeight=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-height"))||40)}refreshModern(){var t;if("modern"===this.type){this.updateModern();for(const t of this.instance.slides||[])this.resizeModernSlide(t);this.onTransformM(),null===(t=this.panzoom)||void 0===t||t.updateMetrics(!0),this.centerModern(0)}}centerModern(e){const i=this.instance,{container:n,panzoom:s}=this;if(!n||!s||s.state===f.Init)return;const o=i.page;let a=this.getModernThumbPos(o),r=a;for(let t=i.page-3;ti.pages.length-1||t===i.page)continue;const e=1-Math.abs(i.getProgress(t));e>0&&e<1&&(r+=e*(this.getModernThumbPos(t)-a))}let l=100;void 0===e&&(e=.2,i.inTransition.size>0&&(e=.12),Math.abs(-1*s.current.e-r)>s.containerRect.width&&(e=.5,l=0)),s.options.maxVelocity=l,s.applyChange({panX:t(-1*r-s.target.e,1e3),friction:null===i.prevPage?0:e})}lazyLoadModern(){const{instance:t,panzoom:e}=this;if(!e)return;const n=-1*e.current.e||0;let s=this.getModernThumbPos(t.page);if(e.state!==f.Init||0===s)for(const s of t.slides||[]){const t=s.thumbSlideEl;if(!t)continue;const o=t.querySelector("img[data-lazy-src]"),a=s.index,r=this.getModernThumbPos(a),l=n-.5*e.containerRect.innerWidth,c=l+e.containerRect.innerWidth;if(!o||rc)continue;let h=o.dataset.lazySrc;if(!h||!h.length)continue;if(delete o.dataset.lazySrc,o.src=h,o.complete)continue;S(t,this.cn("isLoading"));const d=i(y);t.appendChild(d),o.addEventListener("load",(()=>{t.offsetParent&&(t.classList.remove(this.cn("isLoading")),d.remove())}),!1)}}resizeModernSlide(t){if("modern"!==this.type)return;if(!t.thumbSlideEl)return;const e=t.thumbClipWidth&&t.thumbHeight?Math.round(this.thumbHeight*(t.thumbClipWidth/t.thumbHeight)):this.thumbWidth;t.thumbWidth=e}getModernThumbPos(e){const i=this.instance.slides[e],n=this.panzoom;if(!n||!n.contentRect.fitWidth)return 0;let s=n.containerRect.innerWidth,o=n.contentRect.width;2===this.instance.slides.length&&(e-=1,o=2*this.thumbClipWidth);let a=e*(this.thumbClipWidth+this.thumbGap)+this.thumbExtraGap+.5*(i.thumbWidth||0);return a-=o>s?.5*s:.5*o,t(a||0,1)}build(){const t=this.instance,e=t.container,i=this.option("minCount")||0;if(i){let e=0;for(const i of t.slides||[])i.thumbSrc&&e++;if(e{setTimeout((()=>{var e;null===(e=null==s?void 0:s.querySelector(`[data-carousel-index="${t.page}"]`))||void 0===e||e.focus()}),100)}))}cleanup(){this.carousel&&this.carousel.destroy(),this.carousel=null,this.panzoom&&this.panzoom.destroy(),this.panzoom=null,this.container&&this.container.remove(),this.container=null,this.track=null,this.state=at.Init,x(this.instance.container,this.cn("hasThumbs"))}attach(){this.instance.on("initSlide",this.onInitSlide),this.instance.on("initSlides",this.onInitSlides),this.instance.on("Panzoom.afterTransform",this.onTransformM),this.instance.on("Panzoom.refresh",this.onRefreshM),this.instance.on("change",this.onChangeM)}detach(){this.instance.off("initSlide",this.onInitSlide),this.instance.off("initSlides",this.onInitSlides),this.instance.off("Panzoom.afterTransform",this.onTransformM),this.instance.off("Panzoom.refresh",this.onRefreshM),this.instance.off("change",this.onChangeM),this.cleanup()}};Object.defineProperty(rt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:ot});const lt=Object.assign(Object.assign({},ot),{key:"t",showOnStart:!0,parentEl:null});class ct extends k{constructor(){super(...arguments),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hidden",{enumerable:!0,configurable:!0,writable:!0,value:!1})}get isEnabled(){const t=this.ref;return t&&t.state!==at.Disabled}get isHidden(){return this.hidden}onInit(){const t=this.instance,e=t.carousel;if(!e)return;const i=this.option("parentEl")||t.footer||t.container;i&&(e.options.Thumbs=d({},this.options,{parentEl:i,classes:{container:"f-thumbs fancybox__thumbs"},Carousel:{Sync:{friction:t.option("Carousel.friction")},on:{click:(t,e)=>{e.stopPropagation()}}},on:{ready:t=>{const e=t.container;e&&this.hidden&&(this.refresh(),e.style.transition="none",this.hide(),e.offsetHeight,queueMicrotask((()=>{e.style.transition="",this.show()})))}}}),e.attachPlugins({Thumbs:rt}),this.ref=e.plugins.Thumbs,this.option("showOnStart")||(this.ref.state=at.Hidden,this.hidden=!0))}onResize(){var t;const e=null===(t=this.ref)||void 0===t?void 0:t.container;e&&(e.style.maxHeight="")}onKeydown(t,e){const i=this.option("key");i&&i===e&&this.toggle()}toggle(){const t=this.ref;t&&t.state!==at.Disabled&&(t.state!==at.Hidden?this.hidden?this.show():this.hide():t.build())}show(){const t=this.ref,e=t&&t.state!==at.Disabled&&t.container;e&&(this.refresh(),e.offsetHeight,e.removeAttribute("aria-hidden"),e.classList.remove("is-hidden"),this.hidden=!1)}hide(){const t=this.ref,e=t&&t.container;e&&(this.refresh(),e.offsetHeight,e.classList.add("is-hidden"),e.setAttribute("aria-hidden","true")),this.hidden=!0}refresh(){const t=this.ref;if(!t||t.state===at.Disabled)return;const e=t.container,i=(null==e?void 0:e.firstChild)||null;e&&i&&i.childNodes.length&&(e.style.maxHeight=`${i.getBoundingClientRect().height}px`)}attach(){this.instance.on("Carousel.init",this.onInit),this.instance.on("resize",this.onResize),this.instance.on("keydown",this.onKeydown)}detach(){this.instance.off("Carousel.init",this.onInit),this.instance.off("resize",this.onResize),this.instance.off("keydown",this.onKeydown)}}Object.defineProperty(ct,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:lt});const ht={panLeft:{icon:'',change:{panX:-100}},panRight:{icon:'',change:{panX:100}},panUp:{icon:'',change:{panY:-100}},panDown:{icon:'',change:{panY:100}},zoomIn:{icon:'',action:"zoomIn"},zoomOut:{icon:'',action:"zoomOut"},toggle1to1:{icon:'',action:"toggleZoom"},toggleZoom:{icon:'',action:"toggleZoom"},iterateZoom:{icon:'',action:"iterateZoom"},rotateCCW:{icon:'',action:"rotateCCW"},rotateCW:{icon:'',action:"rotateCW"},flipX:{icon:'',action:"flipX"},flipY:{icon:'',action:"flipY"},fitX:{icon:'',action:"fitX"},fitY:{icon:'',action:"fitY"},reset:{icon:'',action:"reset"},toggleFS:{icon:'',action:"toggleFS"}};var dt;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Disabled=2]="Disabled"}(dt||(dt={}));const ut={absolute:"auto",display:{left:["infobar"],middle:[],right:["iterateZoom","slideshow","fullscreen","thumbs","close"]},enabled:"auto",items:{infobar:{tpl:'
    /
    '},download:{tpl:''},prev:{tpl:''},next:{tpl:''},slideshow:{tpl:''},fullscreen:{tpl:''},thumbs:{tpl:''},close:{tpl:''}},parentEl:null},pt={tabindex:"-1",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"};class mt extends k{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:dt.Init}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null})}onReady(t){var e;if(!t.carousel)return;let i=this.option("display"),n=this.option("absolute"),s=this.option("enabled");if("auto"===s){const t=this.instance.carousel;let e=0;if(t)for(const i of t.slides)(i.panzoom||"image"===i.type)&&e++;e||(s=!1)}s||(i=void 0);let o=0;const a={left:[],middle:[],right:[]};if(i)for(const t of["left","middle","right"])for(const n of i[t]){const i=this.createEl(n);i&&(null===(e=a[t])||void 0===e||e.push(i),o++)}let r=null;if(o&&(r=this.createContainer()),r){for(const[t,e]of Object.entries(a)){const i=document.createElement("div");S(i,"fancybox__toolbar__column is-"+t);for(const t of e)i.appendChild(t);"auto"!==n||"middle"!==t||e.length||(n=!0),r.appendChild(i)}!0===n&&S(r,"is-absolute"),this.state=dt.Ready,this.onRefresh()}else this.state=dt.Disabled}onClick(t){var e,i;const n=this.instance,s=n.getSlide(),o=null==s?void 0:s.panzoom,a=t.target,r=a&&w(a)?a.dataset:null;if(!r)return;if(void 0!==r.fancyboxToggleThumbs)return t.preventDefault(),t.stopPropagation(),void(null===(e=n.plugins.Thumbs)||void 0===e||e.toggle());if(void 0!==r.fancyboxToggleFullscreen)return t.preventDefault(),t.stopPropagation(),void this.instance.toggleFullscreen();if(void 0!==r.fancyboxToggleSlideshow){t.preventDefault(),t.stopPropagation();const e=null===(i=n.carousel)||void 0===i?void 0:i.plugins.Autoplay;let s=e.isActive;return o&&"mousemove"===o.panMode&&!s&&o.reset(),void(s?e.stop():e.start())}const l=r.panzoomAction,c=r.panzoomChange;if((c||l)&&(t.preventDefault(),t.stopPropagation()),c){let t={};try{t=JSON.parse(c)}catch(t){}o&&o.applyChange(t)}else l&&o&&o[l]&&o[l]()}onChange(){this.onRefresh()}onRefresh(){if(this.instance.isClosing())return;const t=this.container;if(!t)return;const e=this.instance.getSlide();if(!e||e.state!==Z.Ready)return;const i=e&&!e.error&&e.panzoom;for(const e of t.querySelectorAll("[data-panzoom-action]"))i?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));let n=i&&i.canZoomIn(),s=i&&i.canZoomOut();for(const e of t.querySelectorAll('[data-panzoom-action="zoomIn"]'))n?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));for(const e of t.querySelectorAll('[data-panzoom-action="zoomOut"]'))s?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));for(const e of t.querySelectorAll('[data-panzoom-action="toggleZoom"],[data-panzoom-action="iterateZoom"]')){s||n?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));const t=e.querySelector("g");t&&(t.style.display=n?"":"none")}}onDone(t,e){var i;null===(i=e.panzoom)||void 0===i||i.on("afterTransform",(()=>{this.instance.isCurrentSlide(e)&&this.onRefresh()})),this.instance.isCurrentSlide(e)&&this.onRefresh()}createContainer(){const t=this.instance.container;if(!t)return null;const e=this.option("parentEl")||t,i=document.createElement("div");return S(i,"fancybox__toolbar"),e.prepend(i),i.addEventListener("click",this.onClick,{passive:!1,capture:!0}),t&&S(t,"has-toolbar"),this.container=i,i}createEl(t){var e;const n=this.instance.carousel;if(!n)return null;if("toggleFS"===t)return null;if("fullscreen"===t&&!this.instance.fsAPI)return null;let s=null;const o=n.slides.length||0;let a=0,r=0;for(const t of n.slides)(t.panzoom||"image"===t.type)&&a++,("image"===t.type||t.downloadSrc)&&r++;if(o<2&&["infobar","prev","next"].includes(t))return s;if(void 0!==ht[t]&&!a)return null;if("download"===t&&!r)return null;if("thumbs"===t){const t=this.instance.plugins.Thumbs;if(!t||!t.isEnabled)return null}if("slideshow"===t){if(!(null===(e=this.instance.carousel)||void 0===e?void 0:e.plugins.Autoplay)||o<2)return null}if(void 0!==ht[t]){const e=ht[t];s=document.createElement("button"),s.setAttribute("title",this.instance.localize(`{{${t.toUpperCase()}}}`)),S(s,"f-button"),e.action&&(s.dataset.panzoomAction=e.action),e.change&&(s.dataset.panzoomChange=JSON.stringify(e.change)),s.appendChild(i(this.instance.localize(e.icon)))}else{const e=(this.option("items")||[])[t];e&&(s=i(this.instance.localize(e.tpl)),"function"==typeof e.click&&s.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),"function"==typeof e.click&&e.click.call(this,this,t)})))}const l=null==s?void 0:s.querySelector("svg");if(l)for(const[t,e]of Object.entries(pt))l.getAttribute(t)||l.setAttribute(t,String(e));return s}removeContainer(){var t;const e=this.container;e&&e.removeEventListener("click",this.onClick,{passive:!1,capture:!0}),null===(t=this.container)||void 0===t||t.remove(),this.container=null,this.state=dt.Disabled;const i=this.instance.container;i&&x(i,"has-toolbar")}attach(){this.instance.on("Carousel.initSlides",this.onReady),this.instance.on("done",this.onDone),this.instance.on("reveal",this.onChange),this.instance.on("Carousel.change",this.onChange),this.onReady(this.instance)}detach(){this.instance.off("Carousel.initSlides",this.onReady),this.instance.off("done",this.onDone),this.instance.off("reveal",this.onChange),this.instance.off("Carousel.change",this.onChange),this.removeContainer()}}Object.defineProperty(mt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:ut});const ft={Hash:U,Html:it,Images:J,Slideshow:st,Thumbs:ct,Toolbar:mt};let gt=null,bt=null;const vt=new Map;let yt=0;class wt extends m{get isIdle(){return this.idle}get isCompact(){return this.option("compact")}constructor(t=[],e={},i={}){super(e),Object.defineProperty(this,"userSlides",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"userPlugins",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"idle",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"idleTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"clickTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"prevWheelTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoreFocusChange",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:q.Init}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"footer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"carousel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"lastFocus",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"prevMouseMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fsAPI",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.fsAPI=(()=>{let t,e="",i="",n="";return document.fullscreenEnabled?(e="requestFullscreen",i="exitFullscreen",n="fullscreenElement"):document.webkitFullscreenEnabled&&(e="webkitRequestFullscreen",i="webkitExitFullscreen",n="webkitFullscreenElement"),e&&(t={request:function(t){return"webkitRequestFullscreen"===e?t[e](Element.ALLOW_KEYBOARD_INPUT):t[e]()},exit:function(){return document[n]&&document[i]()},isFullscreen:function(){return document[n]}}),t})(),this.id=e.id||++yt,vt.set(this.id,this),this.userSlides=t,this.userPlugins=i,queueMicrotask((()=>{this.init()}))}init(){this.state=q.Init,this.attachPlugins(Object.assign(Object.assign({},wt.Plugins),this.userPlugins)),this.emit("init"),!0===this.option("hideScrollbar")&&(()=>{if(!N)return;if(document.body.classList.contains("compensate-for-scrollbar"))return;const t=window.innerWidth-document.documentElement.getBoundingClientRect().width;t>1&&(document.documentElement.style.setProperty("--fancybox-scrollbar-compensate",`${t}px`),document.body.classList.add("compensate-for-scrollbar"))})(),this.initLayout();const t=()=>{this.initCarousel(this.userSlides),this.state=q.Ready,this.attachEvents(),this.emit("ready"),setTimeout((()=>{this.container&&this.container.setAttribute("aria-hidden","false")}),16)};this.option("Fullscreen.autoStart")&&this.fsAPI&&!this.fsAPI.isFullscreen()?this.fsAPI.request(this.container).then((()=>t())).catch((()=>t())):t()}initLayout(){const t=this.option("parentEl")||document.body,e=i(this.localize(this.option("tpl.main")||""));e&&(e.setAttribute("id",`fancybox-${this.id}`),e.setAttribute("aria-label",this.localize("{{MODAL}}")),e.classList.toggle("is-compact",this.isCompact),S(e,this.option("mainClass")||""),this.container=e,this.footer=e.querySelector(".fancybox__footer"),t.appendChild(e),document.documentElement.classList.add("with-fancybox"),gt&&bt||(gt=document.createElement("button"),gt.classList.add("fancybox-focus-guard"),gt.setAttribute("aria-hidden","true"),gt.setAttribute("aria-label","Focus guard"),gt.setAttribute("type","button"),bt=gt.cloneNode(),document.body.insertBefore(gt,e),document.body.append(bt)),this.option("animated")&&(e.classList.add("is-animated"),setTimeout((()=>{this.isClosing()||e.classList.remove("is-animated")}),350)),this.emit("initLayout"))}initCarousel(t){const e=this.container;if(!e)return;const i=e.querySelector(".fancybox__carousel");if(!i)return;const n=this.carousel=new B(i,d({},{slides:t,transition:"fade",Panzoom:{lockAxis:this.option("dragToClose")?"xy":"x",infinite:!!this.option("dragToClose")&&"y"},Dots:!1,Navigation:{classes:{container:"fancybox__nav",button:"f-button",isNext:"is-next",isPrev:"is-prev"}},initialPage:this.option("startIndex"),l10n:this.option("l10n")},this.option("Carousel")||{}));n.on("*",((t,e,...i)=>{this.emit(`Carousel.${e}`,t,...i)})),n.on(["ready","change"],(()=>{this.manageCaption(this.getSlide())})),n.on("removeSlide",((t,e)=>{e.closeBtnEl&&e.closeBtnEl.remove(),e.closeBtnEl=void 0,e.captionEl&&e.captionEl.remove(),e.captionEl=void 0,e.spinnerEl&&e.spinnerEl.remove(),e.spinnerEl=void 0,e.state=void 0})),n.on("Panzoom.touchStart",(()=>{this.isCompact||this.endIdle()})),n.on("settle",(()=>{this.idleTimer||this.isCompact||!this.option("idle")||this.setIdle(),this.option("autoFocus")&&this.checkFocus()})),this.option("dragToClose")&&(n.on("Panzoom.afterTransform",((t,e)=>{const i=this.container;if(i){const t=Math.abs(e.current.f),n=t<1?"":Math.max(.5,Math.min(1,1-t/e.contentRect.fitHeight*1.5));i.style.setProperty("--fancybox-ts",n?"0s":""),i.style.setProperty("--fancybox-opacity",n+"")}})),n.on("Panzoom.touchEnd",((t,e,i)=>{var n;if(e.isMobile&&document.activeElement&&-1!==["TEXTAREA","INPUT","SELECT"].indexOf(null===(n=document.activeElement)||void 0===n?void 0:n.nodeName))return;const s=this.getSlide();if(s&&s.el&&s.el.scrollHeight>s.el.clientHeight)return;const o=Math.abs(e.dragOffset.y);"y"===e.lockedAxis&&(o>=200||o>=50&&e.dragOffset.time<300)&&(i&&i.cancelable&&i.preventDefault(),this.close(i,"f-throwOut"+(e.current.f<0?"Up":"Down")))}))),n.on(["change"],(t=>{var e;let i=null===(e=this.getSlide())||void 0===e?void 0:e.triggerEl;if(i){const e=new CustomEvent("slideTo",{bubbles:!0,cancelable:!0,detail:t.page});i.dispatchEvent(e)}})),n.on(["refresh","change"],(t=>{const e=this.container;if(!e)return;for(const i of e.querySelectorAll("[data-fancybox-current-index]"))i.innerHTML=t.page+1;for(const i of e.querySelectorAll("[data-fancybox-count]"))i.innerHTML=t.pages.length;if(!t.isInfinite){for(const i of e.querySelectorAll("[data-fancybox-next]"))t.page0?(i.removeAttribute("disabled"),i.removeAttribute("tabindex")):(i.setAttribute("disabled",""),i.setAttribute("tabindex","-1"))}const i=this.getSlide();let n=(null==i?void 0:i.downloadSrc)||"";n||!i||"image"!==i.type||i.error||"string"!=typeof i.src||(n=i.src);for(const t of e.querySelectorAll("[data-fancybox-download]"))n?(t.removeAttribute("disabled"),t.removeAttribute("tabindex"),t.setAttribute("href",n),t.setAttribute("download",n),t.setAttribute("target","_blank")):(t.setAttribute("disabled",""),t.setAttribute("tabindex","-1"),t.removeAttribute("href"),t.removeAttribute("download"))})),this.emit("initCarousel")}attachEvents(){const t=this.container;t&&(t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("wheel",this.onWheel,{passive:!1,capture:!1}),document.addEventListener("keydown",this.onKeydown,{passive:!1,capture:!0}),document.addEventListener("visibilitychange",this.onVisibilityChange,!1),document.addEventListener("mousemove",this.onMousemove),this.option("trapFocus")&&document.addEventListener("focus",this.onFocus,!0),window.addEventListener("resize",this.onResize))}detachEvents(){const t=this.container;t&&(document.removeEventListener("keydown",this.onKeydown,{passive:!1,capture:!0}),t.removeEventListener("wheel",this.onWheel,{passive:!1,capture:!1}),t.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),document.removeEventListener("mousemove",this.onMousemove),window.removeEventListener("resize",this.onResize),document.removeEventListener("visibilitychange",this.onVisibilityChange,!1),document.removeEventListener("focus",this.onFocus,!0))}onClick(t){var e,i;if(this.isClosing())return;!this.isCompact&&this.option("idle")&&this.resetIdle();const n=t.composedPath()[0];if(n===(null===(e=this.carousel)||void 0===e?void 0:e.container))return;if(n.closest(".f-spinner")||n.closest("[data-fancybox-close]"))return t.preventDefault(),void this.close(t);if(n.closest("[data-fancybox-prev]"))return t.preventDefault(),void this.prev();if(n.closest("[data-fancybox-next]"))return t.preventDefault(),void this.next();if(this.isCompact&&"image"===(null===(i=this.getSlide())||void 0===i?void 0:i.type))return void(this.clickTimer?(clearTimeout(this.clickTimer),this.clickTimer=null):this.clickTimer=setTimeout((()=>{this.toggleIdle(),this.clickTimer=null}),350));if(this.emit("click",t),t.defaultPrevented)return;let s=!1;const o=document.activeElement;if(n.closest(".fancybox__content")){if(o){if(o.closest("[contenteditable]"))return;n.matches($)||o.blur()}if((a=window.getSelection())&&"Range"===a.type)return;s=this.option("contentClick")}else n.closest(".fancybox__carousel")&&!n.matches($)&&(s=this.option("backdropClick"));var a;"close"===s?(t.preventDefault(),this.close(t)):"next"===s?(t.preventDefault(),this.next()):"prev"===s&&(t.preventDefault(),this.prev())}onWheel(t){const e=t.wheelDeltaY?t.wheelDeltaY===-3*t.deltaY:0===t.deltaMode,i=Date.now();if(this.prevWheelTime&&i-this.prevWheelTime<(e?600:300))return void t.preventDefault();if(this.prevWheelTime=i,this.emit("wheel",t),t.defaultPrevented)return;const n=this.option("wheel",t);if("close"===n)t.preventDefault(),this.close(t);else if("slide"===n){t.preventDefault();this[Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||-t.detail))>0?"prev":"next"]()}}onKeydown(t){if(!this.isTopmost())return;this.isCompact||!this.option("idle")||this.isClosing()||this.resetIdle();const e=t.key,i=this.option("keyboard");if(!i||t.ctrlKey||t.altKey||t.shiftKey)return;const n=t.composedPath()[0],s=document.activeElement&&document.activeElement.classList,o=s&&s.contains("f-button")||n.dataset.carouselPage||n.dataset.carouselIndex;if("Escape"!==e&&!o&&w(n)){if(n.isContentEditable||-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(n.nodeName))return}this.emit("keydown",e,t);const a=i[e];"function"==typeof this[a]&&(t.preventDefault(),this[a]())}onResize(){const t=this.container;if(!t)return;const e=this.isCompact;t.classList.toggle("is-compact",e),this.manageCaption(this.getSlide()),this.isCompact?this.clearIdle():this.endIdle(),this.emit("resize")}onFocus(t){this.isTopmost()&&this.checkFocus(t)}onMousemove(t){this.prevMouseMoveEvent=t,!this.isCompact&&this.option("idle")&&this.resetIdle()}onVisibilityChange(){"visible"===document.visibilityState?this.checkFocus():this.endIdle()}manageCloseBtn(t){const e=this.optionFor(t,"closeButton")||!1;if("auto"===e){const t=this.plugins.Toolbar;if(t&&t.state===dt.Ready)return}if(!e)return;if(!t.contentEl||t.closeBtnEl)return;const n=this.option("tpl.closeButton");if(n){const e=i(this.localize(n));t.closeBtnEl=t.contentEl.appendChild(e),t.el&&S(t.el,"has-close-btn")}}manageCaption(t){var e,i,n;const s=this.container;if(!s)return;const o=this.isCompact||this.option("commonCaption"),a=!o;if(this.caption&&this.stop(this.caption),a&&this.caption&&(this.caption.remove(),this.caption=null),o&&!this.caption)for(const t of(null===(e=this.carousel)||void 0===e?void 0:e.slides)||[])t.captionEl&&(t.captionEl.remove(),t.captionEl=void 0,null===(i=t.el)||void 0===i||i.classList.remove("has-caption"),null===(n=t.el)||void 0===n||n.removeAttribute("aria-labelledby"));if(t||(t=this.getSlide()),!t||o&&!this.isCurrentSlide(t))return;const r=t.el;let l=this.optionFor(t,"caption","");if("string"!=typeof l||!l.length)return void(o&&this.caption&&this.animate(this.caption,"f-fadeOut",(()=>{var t;null===(t=this.caption)||void 0===t||t.remove(),this.caption=null})));let c=null;if(a){if(c=t.captionEl||null,r&&!c){const e=`fancybox__caption_${this.id}_${t.index}`;c=document.createElement("div"),c.className="fancybox__caption",c.setAttribute("id",e),t.captionEl=r.appendChild(c),r.classList.add("has-caption"),r.setAttribute("aria-labelledby",e)}}else{if(c=this.caption,c||(c=s.querySelector(".fancybox__caption")),!c){c=document.createElement("div"),c.dataset.fancyboxCaption="",c.className="fancybox__caption",c.innerHTML=l;(this.footer||s).prepend(c)}s.classList.add("has-caption"),this.caption=c}c&&(c.innerHTML=l)}checkFocus(t){var e;const i=document.activeElement||null;i&&(null===(e=this.container)||void 0===e?void 0:e.contains(i))||this.focus(t)}focus(t){var e;if(this.ignoreFocusChange)return;const i=document.activeElement||null,n=(null==t?void 0:t.target)||null,s=this.container,o=this.getSlide();if(!s||!(null===(e=this.carousel)||void 0===e?void 0:e.viewport))return;if(!t&&i&&s.contains(i))return;const a=o&&o.state===Z.Ready?o.el:null;if(!a||a.contains(i)||s===i)return;t&&t.cancelable&&t.preventDefault(),this.ignoreFocusChange=!0;const r=Array.from(s.querySelectorAll($));let l=[],c=null;for(let t of r){const e=!t.offsetParent||t.closest('[aria-hidden="true"]'),i=a&&a.contains(t),n=!this.carousel.viewport.contains(t);t===s||(i||n)&&!e?(l.push(t),void 0!==t.dataset.origTabindex&&(t.tabIndex=parseFloat(t.dataset.origTabindex)),t.removeAttribute("data-orig-tabindex"),!t.hasAttribute("autoFocus")&&c||(c=t)):(t.dataset.origTabindex=void 0===t.dataset.origTabindex?t.getAttribute("tabindex")||void 0:t.dataset.origTabindex,t.tabIndex=-1)}let h=null;t?(!n||l.indexOf(n)<0)&&(h=c||s,l.length&&(i===bt?h=l[0]:this.lastFocus!==s&&i!==gt||(h=l[l.length-1]))):h=o&&"image"===o.type?s:c||s,h&&X(h),this.lastFocus=document.activeElement,this.ignoreFocusChange=!1}next(){const t=this.carousel;t&&t.pages.length>1&&t.slideNext()}prev(){const t=this.carousel;t&&t.pages.length>1&&t.slidePrev()}jumpTo(...t){this.carousel&&this.carousel.slideTo(...t)}isTopmost(){var t;return(null===(t=wt.getInstance())||void 0===t?void 0:t.id)==this.id}animate(t=null,e="",i){if(!t||!e)return void(i&&i());this.stop(t);const n=s=>{s.target===t&&t.dataset.animationName&&(t.removeEventListener("animationend",n),delete t.dataset.animationName,i&&i(),t.classList.remove(e))};t.dataset.animationName=e,t.addEventListener("animationend",n),t.classList.add(e)}stop(t){t&&t.dispatchEvent(new CustomEvent("animationend",{bubbles:!1,cancelable:!0,currentTarget:t}))}setContent(t,e="",i=!0){if(this.isClosing())return;const n=t.el;if(!n)return;let s=null;if(w(e))["img","iframe","video","audio"].includes(e.nodeName.toLowerCase())?(s=document.createElement("div"),s.appendChild(e)):s=e;else{const t=document.createRange().createContextualFragment(e);s=document.createElement("div"),s.appendChild(t)}s instanceof Element&&t.filter&&!t.error&&(s=s.querySelector(t.filter)),s instanceof Element?(s.classList.add("fancybox__content"),t.id&&s.setAttribute("id",t.id),"none"!==s.style.display&&"none"!==getComputedStyle(s).getPropertyValue("display")||(s.style.display=t.display||this.option("defaultDisplay")||"flex"),n.classList.add(`has-${t.error?"error":t.type||"unknown"}`),n.prepend(s),t.contentEl=s,i&&this.revealContent(t),this.manageCloseBtn(t),this.manageCaption(t)):this.setError(t,"{{ELEMENT_NOT_FOUND}}")}revealContent(t,e){const i=t.el,n=t.contentEl;i&&n&&(this.emit("reveal",t),this.hideLoading(t),t.state=Z.Opening,(e=this.isOpeningSlide(t)?void 0===e?this.optionFor(t,"showClass"):e:"f-fadeIn")?this.animate(n,e,(()=>{this.done(t)})):this.done(t))}done(t){var e;this.isClosing()||(t.state=Z.Ready,this.emit("done",t),null===(e=t.el)||void 0===e||e.classList.add("is-done"),this.isCurrentSlide(t)&&this.option("autoFocus")&&queueMicrotask((()=>{this.option("autoFocus")&&(this.option("autoFocus")?this.focus():this.checkFocus())})),this.isOpeningSlide(t)&&!this.isCompact&&this.option("idle")&&this.setIdle())}isCurrentSlide(t){const e=this.getSlide();return!(!t||!e)&&e.index===t.index}isOpeningSlide(t){var e,i;return null===(null===(e=this.carousel)||void 0===e?void 0:e.prevPage)&&t.index===(null===(i=this.getSlide())||void 0===i?void 0:i.index)}showLoading(t){t.state=Z.Loading;const e=t.el;if(!e)return;e.classList.add("is-loading"),this.emit("loading",t),t.spinnerEl||setTimeout((()=>{if(!this.isClosing()&&!t.spinnerEl&&t.state===Z.Loading){let n=i(y);t.spinnerEl=n,e.prepend(n),this.animate(n,"f-fadeIn")}}),250)}hideLoading(t){const e=t.el;if(!e)return;const i=t.spinnerEl;this.isClosing()?null==i||i.remove():(e.classList.remove("is-loading"),i&&this.animate(i,"f-fadeOut",(()=>{i.remove()})),t.state===Z.Loading&&(this.emit("loaded",t),t.state=Z.Ready))}setError(t,e){if(this.isClosing())return;this.emit("error"),t.error=e,this.hideLoading(t),this.clearContent(t);const i=document.createElement("div");i.classList.add("fancybox-error"),i.innerHTML=this.localize(e||"

    {{ERROR}}

    "),this.setContent(t,i)}clearContent(t){var e;null===(e=this.carousel)||void 0===e||e.emit("removeSlide",t),t.contentEl&&(t.contentEl.remove(),t.contentEl=void 0),t.closeBtnEl&&(t.closeBtnEl.remove(),t.closeBtnEl=void 0);const i=t.el;i&&(x(i,"is-loading"),x(i,"has-error"),x(i,"has-unknown"),x(i,`has-${t.type||"unknown"}`))}getSlide(){var t;const e=this.carousel;return(null===(t=null==e?void 0:e.pages[null==e?void 0:e.page])||void 0===t?void 0:t.slides[0])||void 0}close(t,e){if(this.isClosing())return;const i=new Event("shouldClose",{bubbles:!0,cancelable:!0});if(this.emit("shouldClose",i,t),i.defaultPrevented)return;t&&t.cancelable&&(t.preventDefault(),t.stopPropagation());const n=this.fsAPI,s=()=>{this.proceedClose(t,e)};n&&n.isFullscreen()?Promise.resolve(n.exit()).then((()=>s())):s()}clearIdle(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null}setIdle(t=!1){const e=()=>{var t;this.clearIdle(),this.idle=!0,null===(t=this.container)||void 0===t||t.classList.add("is-idle"),this.emit("setIdle")};if(this.clearIdle(),!this.isClosing())if(t)e();else{const t=this.option("idle");t&&(this.idleTimer=setTimeout(e,t))}}endIdle(){var t;this.clearIdle(),this.idle&&!this.isClosing()&&(this.idle=!1,null===(t=this.container)||void 0===t||t.classList.remove("is-idle"),this.emit("endIdle"))}resetIdle(){this.endIdle(),this.setIdle()}toggleIdle(){this.idle?this.endIdle():this.setIdle(!0)}toggleFullscreen(){const t=this.fsAPI;t&&(t.isFullscreen()?t.exit():this.container&&t.request(this.container))}isClosing(){return[q.Closing,q.CustomClosing,q.Destroy].includes(this.state)}proceedClose(t,e){var i,n;this.state=q.Closing,this.clearIdle(),this.detachEvents();const s=this.container,o=this.carousel,a=this.getSlide();if(a){const t=this.option("placeFocusBack")?(null===(i=this.getSlide())||void 0===i?void 0:i.triggerEl)||this.option("trigger"):null;t&&(_(t)?X(t):t.focus())}if(s&&(S(s,"is-closing"),s.setAttribute("aria-hidden","true"),this.option("animated")&&S(s,"is-animated"),s.style.pointerEvents="none"),o){o.clearTransitions(),null===(n=o.panzoom)||void 0===n||n.destroy();for(const t of o.slides){t.state=Z.Closing,this.hideLoading(t);const e=t.contentEl;e&&this.stop(e);const i=null==t?void 0:t.panzoom;i&&(i.stop(),i.detachEvents(),i.detachObserver()),this.isCurrentSlide(t)||o.emit("removeSlide",t)}}this.emit("close",t),this.state!==q.CustomClosing?(void 0===e&&a&&(e=this.optionFor(a,"hideClass")),e&&a?(this.animate(a.contentEl,e,(()=>{o&&o.emit("removeSlide",a)})),setTimeout((()=>{this.destroy()}),350)):this.destroy()):setTimeout((()=>{this.destroy()}),350)}destroy(){var t;if(this.state===q.Destroy)return;this.state=q.Destroy,null===(t=this.carousel)||void 0===t||t.destroy();const e=this.container;e&&e.remove(),vt.delete(this.id);const i=wt.getInstance();i?i.focus():(gt&&(gt.remove(),gt=null),bt&&(bt.remove(),bt=null),document.documentElement.classList.remove("with-fancybox"),N&&(document.documentElement.style.setProperty("--fancybox-scrollbar-compensate",""),document.body.classList.remove("compensate-for-scrollbar")))}static bind(t,e,i){if(!N)return;let n,s="",o={};if("string"==typeof t?(n=document.body,s=t,"object"==typeof e&&(o=e||{})):(n=t,"string"==typeof e&&(s=e),"object"==typeof i&&(o=i||{})),!n)return;s=s||"[data-fancybox]";const a=wt.openers.get(n)||new Map;a.set(s,o),wt.openers.set(n,a),1===a.size&&n.addEventListener("click",wt.fromEvent)}static unbind(t,e){let i,n="";if("string"==typeof t?(i=document.body,n=t):(i=t,"string"==typeof e&&(n=e)),!i)return;const s=wt.openers.get(i);s&&n&&s.delete(n),n&&s||(wt.openers.delete(i),i.removeEventListener("click",wt.fromEvent))}static destroy(){let t;for(;t=wt.getInstance();)t.destroy();for(const t of wt.openers.keys())t.removeEventListener("click",wt.fromEvent);wt.openers=new Map}static fromEvent(t){if(t.defaultPrevented)return;if(t.button&&0!==t.button)return;if(t.ctrlKey||t.metaKey||t.shiftKey)return;let e=t.composedPath()[0];const i=e.closest("[data-fancybox-trigger]");if(i){const t=i.dataset.fancyboxTrigger||"",n=document.querySelectorAll(`[data-fancybox="${t}"]`),s=parseInt(i.dataset.fancyboxIndex||"",10)||0;e=n[s]||e}if(!(e&&e instanceof Element))return;let n,s,o,a;if([...wt.openers].reverse().find((([t,i])=>!(!t.contains(e)||![...i].reverse().find((([i,r])=>{let l=e.closest(i);return!!l&&(n=t,s=i,o=l,a=r,!0)}))))),!n||!s||!o)return;a=a||{},t.preventDefault(),e=o;let r=[],l=d({},Y,a);l.event=t,l.trigger=e,l.delegate=i;const c=l.groupAll,h=l.groupAttr,u=h&&e?e.getAttribute(`${h}`):"";if((!e||u||c)&&(r=[].slice.call(n.querySelectorAll(s))),e&&!c&&(r=u?r.filter((t=>t.getAttribute(`${h}`)===u)):[e]),!r.length)return;const p=wt.getInstance();return p&&p.options.trigger&&r.indexOf(p.options.trigger)>-1?void 0:(e&&(l.startIndex=r.indexOf(e)),wt.fromNodes(r,l))}static fromNodes(t,e){e=d({},Y,e);const i=[];for(const n of t){const t=n.dataset||{},s=t.src||n.getAttribute("href")||n.getAttribute("currentSrc")||n.getAttribute("src")||void 0;let o;const a=e.delegate;let r;a&&i.length===e.startIndex&&(o=a instanceof HTMLImageElement?a:a.querySelector("img:not([aria-hidden])")),o||(o=n instanceof HTMLImageElement?n:n.querySelector("img:not([aria-hidden])")),o&&(r=o.currentSrc||o.src||void 0,!r&&o.dataset&&(r=o.dataset.lazySrc||o.dataset.src||void 0));const l={src:s,triggerEl:n,thumbEl:o,thumbElSrc:r,thumbSrc:r};for(const e in t)"fancybox"!==e&&(l[e]=t[e]+"");i.push(l)}return new wt(i,e)}static getInstance(t){if(t)return vt.get(t);return Array.from(vt.values()).reverse().find((t=>!t.isClosing()&&t))||null}static getSlide(){var t;return(null===(t=wt.getInstance())||void 0===t?void 0:t.getSlide())||null}static show(t=[],e={}){return new wt(t,e)}static next(){const t=wt.getInstance();t&&t.next()}static prev(){const t=wt.getInstance();t&&t.prev()}static close(t=!0,...e){if(t)for(const t of vt.values())t.close(...e);else{const t=wt.getInstance();t&&t.close(...e)}}}Object.defineProperty(wt,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(wt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:Y}),Object.defineProperty(wt,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:ft}),Object.defineProperty(wt,"openers",{enumerable:!0,configurable:!0,writable:!0,value:new Map});export{B as Carousel,wt as Fancybox,M as Panzoom}; diff --git a/cdn/@fancyapps/ui/dist/index.umd.js b/cdn/@fancyapps/ui/dist/index.umd.js new file mode 100644 index 00000000..37d207eb --- /dev/null +++ b/cdn/@fancyapps/ui/dist/index.umd.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).window=t.window||{})}(this,(function(t){"use strict";const e=(t,e=1e4)=>(t=parseFloat(t+"")||0,Math.round((t+Number.EPSILON)*e)/e),i=function(t,e){return!(!t||t===document.body||e&&t===e)&&(function(t){if(!(t&&t instanceof Element&&t.offsetParent))return!1;const e=t.scrollHeight>t.clientHeight,i=window.getComputedStyle(t).overflowY,n=-1!==i.indexOf("hidden"),s=-1!==i.indexOf("visible");return e&&!n&&!s}(t)?t:i(t.parentElement,e))},n=function(t){return(new DOMParser).parseFromString(t,"text/html").body.firstChild},s=t=>`${t||""}`.split(" ").filter((t=>!!t)),o=(t,e,i)=>{s(e).forEach((e=>{t&&t.classList.toggle(e,i||!1)}))};class a{constructor(t){Object.defineProperty(this,"pageX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"pageY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientX",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"clientY",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"time",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"nativePointer",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.nativePointer=t,this.pageX=t.pageX,this.pageY=t.pageY,this.clientX=t.clientX,this.clientY=t.clientY,this.id=self.Touch&&t instanceof Touch?t.identifier:-1,this.time=Date.now()}}const r={passive:!1};class l{constructor(t,{start:e=(()=>!0),move:i=(()=>{}),end:n=(()=>{})}){Object.defineProperty(this,"element",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"startCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"moveCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"endCallback",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"currentPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"startPointers",{enumerable:!0,configurable:!0,writable:!0,value:[]}),this.element=t,this.startCallback=e,this.moveCallback=i,this.endCallback=n;for(const t of["onPointerStart","onTouchStart","onMove","onTouchEnd","onPointerEnd","onWindowBlur"])this[t]=this[t].bind(this);this.element.addEventListener("mousedown",this.onPointerStart,r),this.element.addEventListener("touchstart",this.onTouchStart,r),this.element.addEventListener("touchmove",this.onMove,r),this.element.addEventListener("touchend",this.onTouchEnd),this.element.addEventListener("touchcancel",this.onTouchEnd)}onPointerStart(t){if(!t.buttons||0!==t.button)return;const e=new a(t);this.currentPointers.some((t=>t.id===e.id))||this.triggerPointerStart(e,t)&&(window.addEventListener("mousemove",this.onMove),window.addEventListener("mouseup",this.onPointerEnd),window.addEventListener("blur",this.onWindowBlur))}onTouchStart(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerStart(new a(e),t);window.addEventListener("blur",this.onWindowBlur)}onMove(t){const e=this.currentPointers.slice(),i="changedTouches"in t?Array.from(t.changedTouches||[]).map((t=>new a(t))):[new a(t)],n=[];for(const t of i){const e=this.currentPointers.findIndex((e=>e.id===t.id));e<0||(n.push(t),this.currentPointers[e]=t)}n.length&&this.moveCallback(t,this.currentPointers.slice(),e)}onPointerEnd(t){t.buttons>0&&0!==t.button||(this.triggerPointerEnd(t,new a(t)),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur))}onTouchEnd(t){for(const e of Array.from(t.changedTouches||[]))this.triggerPointerEnd(t,new a(e))}triggerPointerStart(t,e){return!!this.startCallback(e,t,this.currentPointers.slice())&&(this.currentPointers.push(t),this.startPointers.push(t),!0)}triggerPointerEnd(t,e){const i=this.currentPointers.findIndex((t=>t.id===e.id));i<0||(this.currentPointers.splice(i,1),this.startPointers.splice(i,1),this.endCallback(t,e,this.currentPointers.slice()))}onWindowBlur(){this.clear()}clear(){for(;this.currentPointers.length;){const t=this.currentPointers[this.currentPointers.length-1];this.currentPointers.splice(this.currentPointers.length-1,1),this.startPointers.splice(this.currentPointers.length-1,1),this.endCallback(new Event("touchend",{bubbles:!0,cancelable:!0,clientX:t.clientX,clientY:t.clientY}),t,this.currentPointers.slice())}}stop(){this.element.removeEventListener("mousedown",this.onPointerStart,r),this.element.removeEventListener("touchstart",this.onTouchStart,r),this.element.removeEventListener("touchmove",this.onMove,r),this.element.removeEventListener("touchend",this.onTouchEnd),this.element.removeEventListener("touchcancel",this.onTouchEnd),window.removeEventListener("mousemove",this.onMove),window.removeEventListener("mouseup",this.onPointerEnd),window.removeEventListener("blur",this.onWindowBlur)}}function c(t,e){return e?Math.sqrt(Math.pow(e.clientX-t.clientX,2)+Math.pow(e.clientY-t.clientY,2)):0}function h(t,e){return e?{clientX:(t.clientX+e.clientX)/2,clientY:(t.clientY+e.clientY)/2}:t}const d=t=>"object"==typeof t&&null!==t&&t.constructor===Object&&"[object Object]"===Object.prototype.toString.call(t),u=(t,...e)=>{const i=e.length;for(let n=0;n{const n=Array.isArray(i)?[]:{};t[e]||Object.assign(t,{[e]:n}),d(i)?Object.assign(t[e],u(n,i)):Array.isArray(i)?Object.assign(t,{[e]:[...i]}):Object.assign(t,{[e]:i})}))}return t},p=function(t,e){return t.split(".").reduce(((t,e)=>"object"==typeof t?t[e]:void 0),e)};class m{constructor(t={}){Object.defineProperty(this,"options",{enumerable:!0,configurable:!0,writable:!0,value:t}),Object.defineProperty(this,"events",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),this.setOptions(t);for(const t of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))t.startsWith("on")&&"function"==typeof this[t]&&(this[t]=this[t].bind(this))}setOptions(t){this.options=t?u({},this.constructor.defaults,t):{};for(const[t,e]of Object.entries(this.option("on")||{}))this.on(t,e)}option(t,...e){let i=p(t,this.options);return i&&"function"==typeof i&&(i=i.call(this,this,...e)),i}optionFor(t,e,i,...n){let s=p(e,t);var o;"string"!=typeof(o=s)||isNaN(o)||isNaN(parseFloat(o))||(s=parseFloat(s)),"true"===s&&(s=!0),"false"===s&&(s=!1),s&&"function"==typeof s&&(s=s.call(this,this,t,...n));let a=p(e,this.options);return a&&"function"==typeof a?s=a.call(this,this,t,...n,s):void 0===s&&(s=a),void 0===s?i:s}cn(t){const e=this.options.classes;return e&&e[t]||""}localize(t,e=[]){t=String(t).replace(/\{\{(\w+).?(\w+)?\}\}/g,((t,e,i)=>{let n="";return i?n=this.option(`${e[0]+e.toLowerCase().substring(1)}.l10n.${i}`):e&&(n=this.option(`l10n.${e}`)),n||(n=t),n}));for(let i=0;ie))}on(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),this.events||(this.events=new Map),i.forEach((t=>{let i=this.events.get(t);i||(this.events.set(t,[]),i=[]),i.includes(e)||i.push(e),this.events.set(t,i)}))}off(t,e){let i=[];"string"==typeof t?i=t.split(" "):Array.isArray(t)&&(i=t),i.forEach((t=>{const i=this.events.get(t);if(Array.isArray(i)){const t=i.indexOf(e);t>-1&&i.splice(t,1)}}))}emit(t,...e){[...this.events.get(t)||[]].forEach((t=>t(this,...e))),"*"!==t&&this.emit("*",t,...e)}}Object.defineProperty(m,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(m,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}});class f extends m{constructor(t={}){super(t),Object.defineProperty(this,"plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}})}attachPlugins(t={}){const e=new Map;for(const[i,n]of Object.entries(t)){const t=this.option(i),s=this.plugins[i];s||!1===t?s&&!1===t&&(s.detach(),delete this.plugins[i]):e.set(i,new n(this,t||{}))}for(const[t,i]of e)this.plugins[t]=i,i.attach();this.emit("attachPlugins")}detachPlugins(){for(const t of Object.values(this.plugins))t.detach();return this.plugins={},this.emit("detachPlugins"),this}}var g;!function(t){t[t.Init=0]="Init",t[t.Error=1]="Error",t[t.Ready=2]="Ready",t[t.Panning=3]="Panning",t[t.Mousemove=4]="Mousemove",t[t.Destroy=5]="Destroy"}(g||(g={}));const b=["a","b","c","d","e","f"],v={PANUP:"Move up",PANDOWN:"Move down",PANLEFT:"Move left",PANRIGHT:"Move right",ZOOMIN:"Zoom in",ZOOMOUT:"Zoom out",TOGGLEZOOM:"Toggle zoom level",TOGGLE1TO1:"Toggle zoom level",ITERATEZOOM:"Toggle zoom level",ROTATECCW:"Rotate counterclockwise",ROTATECW:"Rotate clockwise",FLIPX:"Flip horizontally",FLIPY:"Flip vertically",FITX:"Fit horizontally",FITY:"Fit vertically",RESET:"Reset",TOGGLEFS:"Toggle fullscreen"},y={content:null,width:"auto",height:"auto",panMode:"drag",touch:!0,dragMinThreshold:3,lockAxis:!1,mouseMoveFactor:1,mouseMoveFriction:.12,zoom:!0,pinchToZoom:!0,panOnlyZoomed:"auto",minScale:1,maxScale:2,friction:.25,dragFriction:.35,decelFriction:.05,click:"toggleZoom",dblClick:!1,wheel:"zoom",wheelLimit:7,spinner:!0,bounds:"auto",infinite:!1,rubberband:!0,bounce:!0,maxVelocity:75,transformParent:!1,classes:{content:"f-panzoom__content",isLoading:"is-loading",canZoomIn:"can-zoom_in",canZoomOut:"can-zoom_out",isDraggable:"is-draggable",isDragging:"is-dragging",inFullscreen:"in-fullscreen",htmlHasFullscreen:"with-panzoom-in-fullscreen"},l10n:v},w='
    ',x=t=>t&&null!==t&&t instanceof Element&&"nodeType"in t,S=(t,e)=>{s(e).forEach((e=>{t&&t.classList.remove(e)}))},E=(t,e)=>{s(e).forEach((e=>{t&&t.classList.add(e)}))},P={a:1,b:0,c:0,d:1,e:0,f:0},C=1e5,M=1e3;let T=null,O=null;class A extends f{get isTouchDevice(){return null===O&&(O=window.matchMedia("(hover: none)").matches),O}get isMobile(){return null===T&&(T=/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)),T}get panMode(){return"mousemove"!==this.options.panMode||this.isTouchDevice?"drag":"mousemove"}get panOnlyZoomed(){const t=this.options.panOnlyZoomed;return"auto"===t?this.isTouchDevice:t}get isInfinite(){return this.option("infinite")}get angle(){return 180*Math.atan2(this.current.b,this.current.a)/Math.PI||0}get targetAngle(){return 180*Math.atan2(this.target.b,this.target.a)/Math.PI||0}get scale(){const{a:t,b:e}=this.current;return Math.sqrt(t*t+e*e)||1}get targetScale(){const{a:t,b:e}=this.target;return Math.sqrt(t*t+e*e)||1}get minScale(){return this.option("minScale")||1}get fullScale(){const{contentRect:t}=this;return t.fullWidth/t.fitWidth||1}get maxScale(){return this.fullScale*(this.option("maxScale")||1)||1}get coverScale(){const{containerRect:t,contentRect:e}=this,i=Math.max(t.height/e.fitHeight,t.width/e.fitWidth)||1;return Math.min(this.fullScale,i)}get isScaling(){return Math.abs(this.targetScale-this.scale)>1e-5&&!this.isResting}get isContentLoading(){const t=this.content;return!!(t&&t instanceof HTMLImageElement)&&!t.complete}get isResting(){if(this.isBouncingX||this.isBouncingY)return!1;for(const t of b){const e="e"==t||"f"===t?.001:1e-5;if(Math.abs(this.target[t]-this.current[t])>e)return!1}return!(!this.ignoreBounds&&!this.checkBounds().inBounds)}constructor(t,e={},i={}){var s;if(super(e),Object.defineProperty(this,"pointerTracker",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"resizeObserver",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"updateTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"clickTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"rAF",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"isTicking",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"friction",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoreBounds",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingX",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"isBouncingY",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"clicks",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"trackingPoints",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"wheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelDelta",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevWheelTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevMouseMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:g.Init}),Object.defineProperty(this,"isDragging",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"content",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"spinner",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"containerRect",{enumerable:!0,configurable:!0,writable:!0,value:{width:0,height:0,innerWidth:0,innerHeight:0}}),Object.defineProperty(this,"contentRect",{enumerable:!0,configurable:!0,writable:!0,value:{top:0,right:0,bottom:0,left:0,fullWidth:0,fullHeight:0,fitWidth:0,fitHeight:0,width:0,height:0}}),Object.defineProperty(this,"dragStart",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,top:0,left:0,time:0}}),Object.defineProperty(this,"dragOffset",{enumerable:!0,configurable:!0,writable:!0,value:{x:0,y:0,time:0}}),Object.defineProperty(this,"current",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},P)}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:Object.assign({},P)}),Object.defineProperty(this,"velocity",{enumerable:!0,configurable:!0,writable:!0,value:{a:0,b:0,c:0,d:0,e:0,f:0}}),Object.defineProperty(this,"lockedAxis",{enumerable:!0,configurable:!0,writable:!0,value:!1}),!t)throw new Error("No Element found");if(this.container=t,this.initContent(),this.attachPlugins(Object.assign(Object.assign({},A.Plugins),i)),this.emit("init"),this.isContentLoading){const e=this.content;if(this.option("spinner")){t.classList.add(this.cn("isLoading"));const i=n(w);t.contains(e)?this.spinner=(null===(s=e.parentElement)||void 0===s?void 0:s.insertBefore(i,e))||null:this.spinner=t.appendChild(i)}this.emit("beforeLoad"),e.addEventListener("load",this.onLoad),e.addEventListener("error",this.onError)}else queueMicrotask((()=>{this.enable()}))}initContent(){const{container:t}=this;let e=this.option("content")||t.querySelector(`.${this.cn("content")}`);if(e||(e=t.querySelector("img")||t.firstElementChild,e&&e.classList.add(this.cn("content"))),!e)throw new Error("No content found");this.content=e}onLoad(){this.spinner&&(this.spinner.remove(),this.spinner=null),this.option("spinner")&&this.container.classList.remove(this.cn("isLoading")),this.emit("afterLoad"),this.state===g.Init&&this.enable()}onError(){this.state!==g.Destroy&&(this.spinner&&(this.spinner.remove(),this.spinner=null),this.stop(),this.detachEvents(),this.state=g.Error,this.emit("error"))}attachObserver(){var t;const e=()=>Math.abs(this.containerRect.width-this.container.getBoundingClientRect().width)>.1||Math.abs(this.containerRect.height-this.container.getBoundingClientRect().height)>.1;this.resizeObserver||void 0===window.ResizeObserver||(this.resizeObserver=new ResizeObserver((()=>{this.updateTimer||(e()?(this.onResize(),this.isMobile&&(this.updateTimer=setTimeout((()=>{e()&&this.onResize(),this.updateTimer=null}),500))):this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null))}))),null===(t=this.resizeObserver)||void 0===t||t.observe(this.container)}detachObserver(){var t;null===(t=this.resizeObserver)||void 0===t||t.disconnect()}attachEvents(){const{container:t}=this;t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("wheel",this.onWheel,{passive:!1}),this.pointerTracker=new l(t,{start:this.onPointerDown,move:this.onPointerMove,end:this.onPointerUp}),document.addEventListener("mousemove",this.onMouseMove)}detachEvents(){var t;const{container:e}=this;e.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),e.removeEventListener("wheel",this.onWheel,{passive:!1}),null===(t=this.pointerTracker)||void 0===t||t.stop(),this.pointerTracker=null,document.removeEventListener("mousemove",this.onMouseMove),document.removeEventListener("keydown",this.onKeydown,!0),this.clickTimer&&(clearTimeout(this.clickTimer),this.clickTimer=null),this.updateTimer&&(clearTimeout(this.updateTimer),this.updateTimer=null)}animate(){this.setTargetForce();const t=this.option("maxVelocity");for(const e of b)this.friction?(this.velocity[e]*=1-this.friction,t&&!this.isScaling&&(this.velocity[e]=Math.max(Math.min(this.velocity[e],t),-1*t)),this.current[e]+=this.velocity[e]):this.current[e]=this.target[e];this.setTransform(),this.setEdgeForce(),!this.isResting||this.isDragging?this.rAF=requestAnimationFrame((()=>this.animate())):this.stop("current")}setTargetForce(){for(const t of b)"e"===t&&this.isBouncingX||"f"===t&&this.isBouncingY||(this.velocity[t]=(1/(1-this.friction)-1)*(this.target[t]-this.current[t]))}checkBounds(t=0,e=0){const{current:i}=this,n=i.e+t,s=i.f+e,o=this.getBounds(),{x:a,y:r}=o,l=a.min,c=a.max,h=r.min,d=r.max;let u=0,p=0;return l!==1/0&&nc&&(u=c-n),h!==1/0&&sd&&(p=d-s),Math.abs(u)<.001&&(u=0),Math.abs(p)<.001&&(p=0),Object.assign(Object.assign({},o),{xDiff:u,yDiff:p,inBounds:!u&&!p})}clampTargetBounds(){const{target:t}=this,{x:e,y:i}=this.getBounds();e.min!==1/0&&(t.e=Math.max(t.e,e.min)),e.max!==1/0&&(t.e=Math.min(t.e,e.max)),i.min!==1/0&&(t.f=Math.max(t.f,i.min)),i.max!==1/0&&(t.f=Math.min(t.f,i.max))}calculateContentDim(t=this.current){const{content:e,contentRect:i}=this,{fitWidth:n,fitHeight:s,fullWidth:o,fullHeight:a}=i;let r=o,l=a;if(this.option("zoom")||0!==this.angle){const i=!(e instanceof HTMLImageElement)&&("none"===window.getComputedStyle(e).maxWidth||"none"===window.getComputedStyle(e).maxHeight),c=i?o:n,h=i?a:s,d=this.getMatrix(t),u=new DOMPoint(0,0).matrixTransform(d),p=new DOMPoint(0+c,0).matrixTransform(d),m=new DOMPoint(0+c,0+h).matrixTransform(d),f=new DOMPoint(0,0+h).matrixTransform(d),g=Math.abs(m.x-u.x),b=Math.abs(m.y-u.y),v=Math.abs(f.x-p.x),y=Math.abs(f.y-p.y);r=Math.max(g,v),l=Math.max(b,y)}return{contentWidth:r,contentHeight:l}}setEdgeForce(){if(this.ignoreBounds||this.isDragging||"mousemove"===this.panMode||this.targetScale{const t=window.getSelection();return t&&"Range"===t.type})()&&!i.closest("button"))return;const n=i.closest("[data-panzoom-action]"),s=i.closest("[data-panzoom-change]"),o=n||s,a=o&&x(o)?o.dataset:null;if(a){const e=a.panzoomChange,i=a.panzoomAction;if((e||i)&&t.preventDefault(),e){let t={};try{t=JSON.parse(e)}catch(t){console&&console.warn("The given data was not valid JSON")}return void this.applyChange(t)}if(i)return void(this[i]&&this[i]())}if(Math.abs(this.dragOffset.x)>3||Math.abs(this.dragOffset.y)>3)return t.preventDefault(),void t.stopPropagation();const r=this.content.getBoundingClientRect();if(this.dragStart.time&&!this.canZoomOut()&&(Math.abs(r.x-this.dragStart.x)>2||Math.abs(r.y-this.dragStart.y)>2))return;this.dragStart.time=0;const l=e=>{!this.option("zoom")||Math.abs(this.velocity.a)>.3||e&&"string"==typeof e&&/(iterateZoom)|(toggle(Zoom|Full|Cover|Max)|(zoomTo(Fit|Cover|Max)))/.test(e)&&"function"==typeof this[e]&&(t.preventDefault(),this[e]({event:t}))},c=this.option("click",t),h=this.option("dblClick",t);h?(this.clicks++,1==this.clicks&&(this.clickTimer=setTimeout((()=>{1===this.clicks?(this.emit("click",t),!t.defaultPrevented&&c&&l(c)):(this.emit("dblClick",t),t.defaultPrevented||l(h)),this.clicks=0,this.clickTimer=null}),350))):(this.emit("click",t),!t.defaultPrevented&&c&&l(c))}addTrackingPoint(t){const e=this.trackingPoints.filter((t=>t.time>Date.now()-100));e.push(t),this.trackingPoints=e}onPointerDown(t,i,n){var s;this.dragOffset={x:0,y:0,time:0},this.trackingPoints=[];const o=this.content.getBoundingClientRect();if(this.dragStart={x:o.x,y:o.y,top:o.top,left:o.left,time:Date.now()},this.clickTimer)return!1;if("mousemove"===this.panMode&&this.targetScale>1)return t.preventDefault(),t.stopPropagation(),!1;if(!n.length){const e=t.composedPath()[0];if(["A","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].includes(e.nodeName)||e.closest("[contenteditable]")||e.closest("[data-selectable]")||e.closest("[data-panzoom-change]")||e.closest("[data-panzoom-action]"))return!1;null===(s=window.getSelection())||void 0===s||s.removeAllRanges()}return"mousedown"===t.type&&t.preventDefault(),e(this.targetScale,1e3)===e(this.minScale,1e3)?(this.stop(),this.target.e=this.current.e,this.target.f=this.current.f):this.stop("target"),this.isDragging=!0,this.addTrackingPoint(i),this.emit("touchStart",t),!0}onPointerMove(t,n,s){if(!1===this.option("touch",t))return;if(!this.isDragging)return;if(n.length<2&&this.panOnlyZoomed&&e(this.targetScale)<=e(this.minScale))return;if(this.emit("touchMove",t),t.defaultPrevented)return;this.addTrackingPoint(n[0]);const{content:o}=this,a=h(s[0],s[1]),r=h(n[0],n[1]);let l=0,d=0;if(n.length>1){const t=o.getBoundingClientRect();l=a.clientX-t.left-.5*t.width,d=a.clientY-t.top-.5*t.height}const u=c(s[0],s[1]),p=c(n[0],n[1]);let m=u?p/u:1,f=r.clientX-a.clientX,g=r.clientY-a.clientY;this.dragOffset.x+=f,this.dragOffset.y+=g,this.dragOffset.time=Date.now()-this.dragStart.time;let b=e(this.targetScale)===e(this.minScale)&&this.option("lockAxis");if(b&&!this.lockedAxis)if("xy"===b||"y"===b||"touchmove"===t.type){if(Math.abs(this.dragOffset.x)<6&&Math.abs(this.dragOffset.y)<6)return void t.preventDefault();const e=Math.abs(180*Math.atan2(this.dragOffset.y,this.dragOffset.x)/Math.PI);this.lockedAxis=e>45&&e<135?"y":"x",this.dragOffset.x=0,this.dragOffset.y=0,f=0,g=0}else this.lockedAxis=b;if(i(t.target,this.content)&&(b="x",this.dragOffset.y=0),b&&"xy"!==b&&this.lockedAxis!==b&&e(this.targetScale)===e(this.minScale))return;t.cancelable&&t.preventDefault(),this.container.classList.add(this.cn("isDragging"));const v=this.checkBounds(f,g);this.option("rubberband")?("x"!==this.isInfinite&&(v.xDiff>0&&f<0||v.xDiff<0&&f>0)&&(f*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitWidth*v.xDiff))),"y"!==this.isInfinite&&(v.yDiff>0&&g<0||v.yDiff<0&&g>0)&&(g*=Math.max(0,.5-Math.abs(.75/this.contentRect.fitHeight*v.yDiff)))):(v.xDiff&&(f=0),v.yDiff&&(g=0));const y=this.targetScale,w=this.minScale,x=this.maxScale;y<.5*w&&(m=Math.max(m,w)),y>1.5*x&&(m=Math.min(m,x)),"y"===this.lockedAxis&&e(y)===e(w)&&(f=0),"x"===this.lockedAxis&&e(y)===e(w)&&(g=0),this.applyChange({originX:l,originY:d,panX:f,panY:g,scale:m,friction:this.option("dragFriction"),ignoreBounds:!0})}onPointerUp(t,e,n){if(n.length)return this.dragOffset.x=0,this.dragOffset.y=0,void(this.trackingPoints=[]);this.container.classList.remove(this.cn("isDragging")),this.isDragging&&(this.addTrackingPoint(e),this.panOnlyZoomed&&this.contentRect.width-this.contentRect.fitWidth<1&&this.contentRect.height-this.contentRect.fitHeight<1&&(this.trackingPoints=[]),i(t.target,this.content)&&"y"===this.lockedAxis&&(this.trackingPoints=[]),this.emit("touchEnd",t),this.isDragging=!1,this.lockedAxis=!1,this.state!==g.Destroy&&(t.defaultPrevented||this.startDecelAnim()))}startDecelAnim(){this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of b)this.velocity[t]=0,this.target[t]=this.current[t];S(this.container,"is-scaling"),S(this.container,"is-animating"),this.isTicking=!1;const{trackingPoints:t}=this,i=t[0],n=t[t.length-1];let s=0,o=0,a=0;n&&i&&(s=n.clientX-i.clientX,o=n.clientY-i.clientY,a=n.time-i.time);let r=0,l=0,c=0,h=0,d=this.option("decelFriction");const u=this.targetScale;if((uthis.maxScale+1e-5)&&(d=.35),a>0){c=Math.abs(s)>3?s/(a/30):0,h=Math.abs(o)>3?o/(a/30):0;const t=this.option("maxVelocity");t&&(c=Math.max(Math.min(c,t),-1*t),h=Math.max(Math.min(h,t),-1*t))}c&&(r=c/(1/(1-d)-1)),h&&(l=h/(1/(1-d)-1)),("y"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"y"===this.lockedAxis&&e(u)===this.minScale)&&(r=c=0),("x"===this.option("lockAxis")||"xy"===this.option("lockAxis")&&"x"===this.lockedAxis&&e(u)===this.minScale)&&(l=h=0);const p=this.dragOffset.x,m=this.dragOffset.y,f=this.option("dragMinThreshold")||0;Math.abs(p){let e=0;return e=t instanceof HTMLImageElement?t.naturalWidth:t instanceof SVGElement?t.width.baseVal.value:t.offsetWidth,Math.max(e,t.scrollWidth)})(s)),"auto"===m&&(m=parseFloat(s.dataset.height||"")||(t=>{let e=0;return e=t instanceof HTMLImageElement?t.naturalHeight:t instanceof SVGElement?t.height.baseVal.value:t.offsetHeight,Math.max(e,t.scrollHeight)})(s));const f=(this.option("transformParent")?s.parentElement:null)||s,b=f.getAttribute("style")||"";f.style.setProperty("transform","none","important"),s instanceof HTMLImageElement&&(f.style.width="",f.style.height=""),f.offsetHeight;const v=s.getBoundingClientRect();let y=v.width,w=v.height,x=0,S=0;if(s instanceof HTMLImageElement&&({width:y,height:w,top:x,left:S}=((t,e,i,n)=>{const s=i/n;return s>t/e?(i=t,n=t/s):(i=e*s,n=e),{width:i,height:n,top:.5*(e-n),left:.5*(t-i)}})(v.width,v.height,p,m)),this.contentRect=Object.assign(Object.assign({},this.contentRect),{top:v.top-r.top+x,bottom:r.bottom-v.bottom+x,left:v.left-r.left+S,right:r.right-v.right+S,fitWidth:y,fitHeight:w,width:y,height:w,fullWidth:p,fullHeight:m}),f.style.cssText=b,s instanceof HTMLImageElement&&(f.style.width=`${y}px`,f.style.height=`${w}px`),this.setTransform(),!0!==t){let t="";Math.abs(c-o)>1&&(t+="x"),Math.abs(h-a)>1&&(t+="y"),t&&this.emit("refresh",t)}this.ignoreBounds||(e(this.targetScale)this.maxScale?this.zoomTo(this.maxScale,{friction:0}):this.state===g.Init||this.checkBounds().inBounds||this.requestTick()),this.updateControls()}getBounds(){const t=this.option("bounds");if("auto"!==t)return t;const{contentWidth:i,contentHeight:n}=this.calculateContentDim(this.target);let s=0,o=0,a=0,r=0;const l=this.option("infinite");if(!0===l||this.lockedAxis&&l===this.lockedAxis)s=-1/0,a=1/0,o=-1/0,r=1/0;else{let{containerRect:t,contentRect:l}=this,c=e(this.contentRect.fitWidth*this.targetScale,M),h=e(this.contentRect.fitHeight*this.targetScale,M),{innerWidth:d,innerHeight:u}=t;if(this.containerRect.width===c&&(d=t.width),this.containerRect.width===h&&(u=t.height),i>d){a=.5*(i-d),s=-1*a;let t=.5*(l.right-l.left);s+=t,a+=t}if(this.contentRect.fitWidth>d&&iu){r=.5*(n-u),o=-1*r;let t=.5*(l.bottom-l.top);o+=t,r+=t}this.contentRect.fitHeight>u&&n-1||this.contentRect.height-this.contentRect.fitHeight>-1)&&(l=!0),this.contentRect.width*this.targetScalee(this.targetScale),h=!c&&!l&&a&&e(n).9*t.fullScale?"none":"")}}panTo({x:t=this.target.e,y:e=this.target.f,scale:i=this.targetScale,friction:n=this.option("friction"),angle:s=0,originX:o=0,originY:a=0,flipX:r=!1,flipY:l=!1,ignoreBounds:c=!1}){this.state!==g.Destroy&&this.applyChange({panX:t-this.target.e,panY:e-this.target.f,scale:i/this.targetScale,angle:s,originX:o,originY:a,friction:n,flipX:r,flipY:l,ignoreBounds:c})}applyChange({panX:t=0,panY:i=0,scale:n=1,angle:s=0,originX:o=-this.current.e,originY:a=-this.current.f,friction:r=this.option("friction"),flipX:l=!1,flipY:c=!1,ignoreBounds:h=!1,bounce:d=this.option("bounce")}){const u=this.state;if(u===g.Init||u===g.Destroy)return;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const t of b)this.velocity[t]=0;this.friction=r||0,this.ignoreBounds=h;const{current:p}=this,m=p.e,f=p.f,v=this.getMatrix(this.target);let y=(new DOMMatrix).translate(m,f).translate(o,a).translate(t,i);if(this.option("zoom")){if(!h){const t=this.targetScale,e=this.minScale,i=this.maxScale;t*ni&&(n=i/t)}y=y.scale(n)}y=y.translate(-o,-a).translate(-m,-f).multiply(v),s&&(y=y.rotate(s)),l&&(y=y.scale(-1,1)),c&&(y=y.scale(1,-1));for(const t of b)"a"!=t&&"d"!=t||!(y[t]>this.minScale+1e-5||y[t].1||"mousemove"===this.panMode||!1===d)&&!h&&this.clampTargetBounds(),this.isResting||(this.state=g.Panning,this.requestTick())}stop(t=!1){if(this.state===g.Init||this.state===g.Destroy)return;const e=this.isTicking;this.rAF&&(cancelAnimationFrame(this.rAF),this.rAF=null),this.isBouncingX=!1,this.isBouncingY=!1;for(const e of b)this.velocity[e]=0,"current"===t?this.current[e]=this.target[e]:"target"===t&&(this.target[e]=this.current[e]);this.setTransform(),S(this.container,"is-scaling"),S(this.container,"is-animating"),this.isTicking=!1,this.state=g.Ready,e&&(this.emit("endAnimation"),this.updateControls())}requestTick(){this.isTicking||(this.emit("startAnimation"),this.updateControls(),E(this.container,"is-animating"),this.isScaling&&E(this.container,"is-scaling")),this.isTicking=!0,this.rAF||(this.rAF=requestAnimationFrame((()=>this.animate())))}panWithMouse(t,i=this.option("mouseMoveFriction")){if(this.prevMouseMoveEvent=t,"mousemove"!==this.panMode||!t)return;if(e(this.targetScale)<=e(this.minScale))return;this.emit("mouseMove",t);const{container:n,containerRect:s,contentRect:o}=this,a=s.width,r=s.height,l=n.getBoundingClientRect(),c=(t.clientX||0)-l.left,h=(t.clientY||0)-l.top;let{contentWidth:d,contentHeight:u}=this.calculateContentDim(this.target);const p=this.option("mouseMoveFactor");p>1&&(d!==a&&(d*=p),u!==r&&(u*=p));let m=.5*(d-a)-c/a*100/100*(d-a);m+=.5*(o.right-o.left);let f=.5*(u-r)-h/r*100/100*(u-r);f+=.5*(o.bottom-o.top),this.applyChange({panX:m-this.target.e,panY:f-this.target.f,friction:i})}zoomWithWheel(t){if(this.state===g.Destroy||this.state===g.Init)return;const e=Math.abs(t.deltaY)<100&&Math.abs(t.deltaX)<100?25:50,i=Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||-t.detail)),n=this.targetScale,s=this.maxScale,o=this.minScale;let a=n*(100+i*e)/100;as&&n>=s?(this.wheelDelta+=Math.abs(i),a=s):(this.wheelDelta=0,a=Math.max(Math.min(a,s),o)),this.wheelDelta>this.option("wheelLimit")||(t.preventDefault(),a!==n&&this.zoomTo(a,{event:t}))}canZoomIn(){return this.option("zoom")&&(this.contentRect.widththis.minScale+1e-5}zoomIn(t=1.25,e){this.zoomTo(this.targetScale*t,e)}zoomOut(t=.8,e){this.zoomTo(this.targetScale*t,e)}zoomToFit(t){this.zoomTo("fit",t)}zoomToCover(t){this.zoomTo("cover",t)}zoomToFull(t){this.zoomTo("full",t)}zoomToMax(t){this.zoomTo("max",t)}toggleZoom(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.fullScale-this.minScale)?"full":"fit",t)}toggleMax(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.maxScale-this.minScale)?"max":"fit",t)}toggleCover(t){this.zoomTo(this.targetScale-this.minScale<.5*(this.coverScale-this.minScale)?"cover":"fit",t)}iterateZoom(t){this.zoomTo("next",t)}zoomTo(t=1,{friction:e="auto",originX:i=0,originY:n=0,event:s}={}){if(this.isContentLoading||this.state===g.Destroy)return;this.stop();const{targetScale:o}=this;let a=1;if("mousemove"===this.panMode&&(s=this.prevMouseMoveEvent||s),s){const t=this.content.getBoundingClientRect(),e=s.clientX||0,o=s.clientY||0;i=e-t.left-.5*t.width,n=o-t.top-.5*t.height}const r=this.fullScale,l=this.maxScale;let c=this.coverScale;"number"==typeof t?a=t/o:("next"===t&&(r-c<.2&&(c=r),t=o1?.15:.25:e,this.applyChange({scale:a,originX:i,originY:n,friction:e}),s&&"mousemove"===this.panMode&&this.panWithMouse(s,e)}rotateCCW(){this.applyChange({angle:-90})}rotateCW(){this.applyChange({angle:90})}flipX(){this.applyChange({flipX:!0})}flipY(){this.applyChange({flipY:!0})}fitX(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.width/e.fitWidth/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}fitY(){this.stop("target");const{containerRect:t,contentRect:e,target:i}=this;this.applyChange({panX:.5*t.width-(e.left+.5*e.fitWidth)-i.e,panY:.5*t.height-(e.top+.5*e.fitHeight)-i.f,scale:t.height/e.fitHeight/this.targetScale,originX:0,originY:0,ignoreBounds:!0})}toggleFS(){const{container:t}=this,e=this.cn("inFullscreen"),i=this.cn("htmlHasFullscreen");t.classList.toggle(e);const n=t.classList.contains(e);n?(document.documentElement.classList.add(i),document.addEventListener("keydown",this.onKeydown,!0)):(document.documentElement.classList.remove(i),document.removeEventListener("keydown",this.onKeydown,!0)),this.updateMetrics(),this.emit(n?"enterFS":"exitFS")}getMatrix(t=this.current){const{a:e,b:i,c:n,d:s,e:o,f:a}=t;return new DOMMatrix([e,i,n,s,o,a])}reset(t){if(this.state!==g.Init&&this.state!==g.Destroy){this.stop("current");for(const t of b)this.target[t]=P[t];this.target.a=this.minScale,this.target.d=this.minScale,this.isResting||(this.friction=void 0===t?this.option("friction"):t,this.state=g.Panning,this.requestTick())}}destroy(){this.stop(),this.state=g.Destroy,this.detachEvents(),this.detachObserver();const{container:t,content:e}=this,i=this.option("classes")||{};for(const e of Object.values(i))t.classList.remove(e+"");e&&(e.removeEventListener("load",this.onLoad),e.removeEventListener("error",this.onError)),this.detachPlugins()}}Object.defineProperty(A,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:y}),Object.defineProperty(A,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:{}});const L=function(t,e){let i=!0;return(...n)=>{i&&(i=!1,t(...n),setTimeout((()=>{i=!0}),e))}},z=(t,e)=>{let i=[];return t.childNodes.forEach((t=>{t.nodeType!==Node.ELEMENT_NODE||e&&!t.matches(e)||i.push(t)})),i},R={viewport:null,track:null,enabled:!0,slides:[],axis:"x",transition:"fade",preload:1,slidesPerPage:"auto",initialPage:0,friction:.12,Panzoom:{decelFriction:.12},center:!0,infinite:!0,fill:!0,dragFree:!1,adaptiveHeight:!1,direction:"ltr",classes:{container:"f-carousel",viewport:"f-carousel__viewport",track:"f-carousel__track",slide:"f-carousel__slide",isLTR:"is-ltr",isRTL:"is-rtl",isHorizontal:"is-horizontal",isVertical:"is-vertical",inTransition:"in-transition",isSelected:"is-selected"},l10n:{NEXT:"Next slide",PREV:"Previous slide",GOTO:"Go to slide #%d"}};var k;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Destroy=2]="Destroy"}(k||(k={}));const I=t=>{if("string"==typeof t&&(t={html:t}),!(t instanceof String||t instanceof HTMLElement)){const e=t.thumb;void 0!==e&&("string"==typeof e&&(t.thumbSrc=e),e instanceof HTMLImageElement&&(t.thumbEl=e,t.thumbElSrc=e.src,t.thumbSrc=e.src),delete t.thumb)}return Object.assign({html:"",el:null,isDom:!1,class:"",index:-1,dim:0,gap:0,pos:0,transition:!1},t)},D=(t={})=>Object.assign({index:-1,slides:[],dim:0,pos:-1},t);class F extends m{constructor(t,e){super(e),Object.defineProperty(this,"instance",{enumerable:!0,configurable:!0,writable:!0,value:t})}attach(){}detach(){}}const j={classes:{list:"f-carousel__dots",isDynamic:"is-dynamic",hasDots:"has-dots",dot:"f-carousel__dot",isBeforePrev:"is-before-prev",isPrev:"is-prev",isCurrent:"is-current",isNext:"is-next",isAfterNext:"is-after-next"},dotTpl:'',dynamicFrom:11,maxCount:1/0,minCount:2};class H extends F{constructor(){super(...arguments),Object.defineProperty(this,"isDynamic",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"list",{enumerable:!0,configurable:!0,writable:!0,value:null})}onRefresh(){this.refresh()}build(){let t=this.list;return t||(t=document.createElement("ul"),E(t,this.cn("list")),t.setAttribute("role","tablist"),this.instance.container.appendChild(t),E(this.instance.container,this.cn("hasDots")),this.list=t),t}refresh(){var t;const e=this.instance.pages.length,i=Math.min(2,this.option("minCount")),n=Math.max(2e3,this.option("maxCount")),s=this.option("dynamicFrom");if(en)return void this.cleanup();const a="number"==typeof s&&e>5&&e>=s,r=!this.list||this.isDynamic!==a||this.list.children.length!==e;r&&this.cleanup();const l=this.build();if(o(l,this.cn("isDynamic"),!!a),r)for(let t=0;t=e-1&&s.setAttribute("disabled","")))}createButton(t){const e=this.instance,i=document.createElement("button");i.setAttribute("tabindex","0"),i.setAttribute("title",e.localize(`{{${t.toUpperCase()}}}`)),E(i,this.cn("button")+" "+this.cn("next"===t?"isNext":"isPrev"));const n=e.isRTL?"next"===t?"prev":"next":t;var s;return i.innerHTML=e.localize(this.option(`${n}Tpl`)),i.dataset[`carousel${s=t,s?s.match("^[a-z]")?s.charAt(0).toUpperCase()+s.substring(1):s:""}`]="true",i}build(){let t=this.container;t||(this.container=t=document.createElement("div"),E(t,this.cn("container")),this.instance.container.appendChild(t)),this.next||(this.next=t.appendChild(this.createButton("next"))),this.prev||(this.prev=t.appendChild(this.createButton("prev")))}cleanup(){this.prev&&this.prev.remove(),this.next&&this.next.remove(),this.container&&this.container.remove(),this.prev=null,this.next=null,this.container=null}attach(){this.instance.on(["refresh","change"],this.onRefresh)}detach(){this.instance.off(["refresh","change"],this.onRefresh),this.cleanup()}}Object.defineProperty(B,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{classes:{container:"f-carousel__nav",button:"f-button",isNext:"is-next",isPrev:"is-prev"},nextTpl:'',prevTpl:''}});class _ extends F{constructor(){super(...arguments),Object.defineProperty(this,"selectedIndex",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"target",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"nav",{enumerable:!0,configurable:!0,writable:!0,value:null})}addAsTargetFor(t){this.target=this.instance,this.nav=t,this.attachEvents()}addAsNavFor(t){this.nav=this.instance,this.target=t,this.attachEvents()}attachEvents(){this.nav&&this.target&&(this.nav.options.initialSlide=this.target.options.initialPage,this.nav.on("ready",this.onNavReady),this.nav.state===k.Ready&&this.onNavReady(this.nav),this.target.on("ready",this.onTargetReady),this.target.state===k.Ready&&this.onTargetReady(this.target))}onNavReady(t){t.on("createSlide",this.onNavCreateSlide),t.on("Panzoom.click",this.onNavClick),t.on("Panzoom.touchEnd",this.onNavTouch),this.onTargetChange()}onTargetReady(t){t.on("change",this.onTargetChange),t.on("Panzoom.refresh",this.onTargetChange),this.onTargetChange()}onNavClick(t,e,i){i.pointerType||this.onNavTouch(t,t.panzoom,i)}onNavTouch(t,e,i){var n,s;if(Math.abs(e.dragOffset.x)>3||Math.abs(e.dragOffset.y)>3)return;const o=i.target,{nav:a,target:r}=this;if(!a||!r||!o)return;const l=o.closest("[data-index]");if(i.stopPropagation(),i.preventDefault(),!l)return;const c=parseInt(l.dataset.index||"",10)||0,h=r.getPageForSlide(c),d=a.getPageForSlide(c);a.slideTo(d),r.slideTo(h,{friction:null===(s=null===(n=this.nav)||void 0===n?void 0:n.plugins)||void 0===s?void 0:s.Sync.option("friction")}),this.markSelectedSlide(c)}onNavCreateSlide(t,e){e.index===this.selectedIndex&&this.markSelectedSlide(e.index)}onTargetChange(){const{target:t,nav:e}=this;if(!t||!e)return;if(e.state!==k.Ready||t.state!==k.Ready)return;const i=t.pages[t.page].slides[0].index,n=e.getPageForSlide(i);this.markSelectedSlide(i),e.slideTo(n)}markSelectedSlide(t){const{nav:e}=this;e&&e.state===k.Ready&&(this.selectedIndex=t,[...e.slides].map((e=>{e.el&&e.el.classList[e.index===t?"add":"remove"]("is-nav-selected")})))}attach(){let t=this.options.target,e=this.options.nav;t?this.addAsNavFor(t):e&&this.addAsTargetFor(e)}detach(){this.nav&&(this.nav.off("ready",this.onNavReady),this.nav.off("createSlide",this.onNavCreateSlide),this.nav.off("Panzoom.click",this.onNavClick),this.nav.off("Panzoom.touchEnd",this.onNavTouch)),this.nav=null,this.target&&(this.target.off("ready",this.onTargetReady),this.target.off("refresh",this.onTargetChange),this.target.off("change",this.onTargetChange)),this.target=null}}Object.defineProperty(_,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{friction:.35}});const N={Navigation:B,Dots:H,Sync:_};class W extends f{get axis(){return this.isHorizontal?"e":"f"}get isEnabled(){return this.state===k.Ready}get isInfinite(){let t=!1;const e=this.contentDim,i=this.viewportDim;return this.pages.length>=2&&e>1.5*i&&(t=this.option("infinite")),t}get isRTL(){return"rtl"===this.option("direction")}get isHorizontal(){return"x"===this.option("axis")}constructor(t,e={},i={}){if(super(),Object.defineProperty(this,"userOptions",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"userPlugins",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"bp",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:k.Init}),Object.defineProperty(this,"page",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"prevPage",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"viewport",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"slides",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"pages",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"inTransition",{enumerable:!0,configurable:!0,writable:!0,value:new Set}),Object.defineProperty(this,"contentDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"viewportDim",{enumerable:!0,configurable:!0,writable:!0,value:0}),"string"==typeof t&&(t=document.querySelector(t)),!t||!x(t))throw new Error("No Element found");this.container=t,this.slideNext=L(this.slideNext.bind(this),150),this.slidePrev=L(this.slidePrev.bind(this),150),this.userOptions=e,this.userPlugins=i,queueMicrotask((()=>{this.processOptions()}))}processOptions(){const t=u({},W.defaults,this.userOptions);let e="";const i=t.breakpoints;if(i&&d(i))for(const[n,s]of Object.entries(i))window.matchMedia(n).matches&&d(s)&&(e+=n,u(t,s));e===this.bp&&this.state!==k.Init||(this.bp=e,this.state===k.Ready&&(t.initialSlide=this.pages[this.page].slides[0].index),this.state!==k.Init&&this.destroy(),super.setOptions(t),!1===this.option("enabled")?this.attachEvents():setTimeout((()=>{this.init()}),0))}init(){this.state=k.Init,this.emit("init"),this.attachPlugins(Object.assign(Object.assign({},W.Plugins),this.userPlugins)),this.initLayout(),this.initSlides(),this.updateMetrics(),this.setInitialPosition(),this.initPanzoom(),this.attachEvents(),this.state=k.Ready,this.emit("ready")}initLayout(){const{container:t}=this,e=this.option("classes");E(t,this.cn("container")),o(t,e.isLTR,!this.isRTL),o(t,e.isRTL,this.isRTL),o(t,e.isVertical,!this.isHorizontal),o(t,e.isHorizontal,this.isHorizontal);let i=this.option("viewport")||t.querySelector(`.${e.viewport}`);i||(i=document.createElement("div"),E(i,e.viewport),i.append(...z(t,`.${e.slide}`)),t.prepend(i));let n=this.option("track")||t.querySelector(`.${e.track}`);n||(n=document.createElement("div"),E(n,e.track),n.append(...Array.from(i.childNodes))),n.setAttribute("aria-live","polite"),i.contains(n)||i.prepend(n),this.viewport=i,this.track=n,this.emit("initLayout")}initSlides(){const{track:t}=this;if(t){this.slides=[],[...z(t,`.${this.cn("slide")}`)].forEach((t=>{if(x(t)){const e=I({el:t,isDom:!0,index:this.slides.length});this.slides.push(e),this.emit("initSlide",e,this.slides.length)}}));for(let t of this.option("slides",[])){const e=I(t);e.index=this.slides.length,this.slides.push(e),this.emit("initSlide",e,this.slides.length)}this.emit("initSlides")}}setInitialPage(){let t=0;const e=this.option("initialSlide");t="number"==typeof e?this.getPageForSlide(e):parseInt(this.option("initialPage",0)+"",10)||0,this.page=t}setInitialPosition(){if(!this.track||!this.pages.length)return;const t=this.isHorizontal;let e=this.page;this.pages[e]||(this.page=e=0);const i=this.pages[e].pos*(this.isRTL&&t?1:-1),n=t?`${i}px`:"0",s=t?"0":`${i}px`;this.track.style.transform=`translate3d(${n}, ${s}, 0) scale(1)`,this.option("adaptiveHeight")&&this.setViewportHeight()}initPanzoom(){this.panzoom&&(this.panzoom.destroy(),this.panzoom=null);const t=this.option("Panzoom")||{};this.panzoom=new A(this.viewport,u({},{content:this.track,zoom:!1,panOnlyZoomed:!1,lockAxis:this.isHorizontal?"x":"y",infinite:this.isInfinite,click:!1,dblClick:!1,touch:t=>!(this.pages.length<2&&!t.options.infinite),bounds:()=>this.getBounds(),maxVelocity:t=>Math.abs(t.target[this.axis]-t.current[this.axis])<2*this.viewportDim?100:0},t)),this.panzoom.on("*",((t,e,...i)=>{this.emit(`Panzoom.${e}`,t,...i)})),this.panzoom.on("decel",this.onDecel),this.panzoom.on("refresh",this.onRefresh),this.panzoom.on("beforeTransform",this.onBeforeTransform),this.panzoom.on("endAnimation",this.onEndAnimation)}attachEvents(){const t=this.container;t&&(t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("slideTo",this.onSlideTo)),window.addEventListener("resize",this.onResize)}createPages(){let t=[];const{contentDim:e,viewportDim:i}=this,n=this.option("slidesPerPage");if("number"==typeof n&&e>i){for(let e=0;ei)&&(t.push(D()),s=t.length-1,o=0),o+=e.dim+e.gap,t[s].slides.push(e);return t}processPages(){const t=this.pages,{contentDim:i,viewportDim:n}=this,s=this.option("center"),o=this.option("fill"),a=o&&s&&i>n&&!this.isInfinite;if(t.forEach(((t,e)=>{t.index=e,t.pos=t.slides[0].pos,t.dim=0;for(const[e,i]of t.slides.entries())t.dim+=i.dim,e=i-.5*n?t.pos=i-n:s&&(t.pos+=-.5*(n-t.dim))})),t.forEach(((t,s)=>{o&&!this.isInfinite&&i>n&&(t.pos=Math.max(t.pos,0),t.pos=Math.min(t.pos,i-n)),t.pos=e(t.pos,1e3),t.dim=e(t.dim,1e3),t.pos<.1&&t.pos>-.1&&(t.pos=0)})),this.isInfinite)return t;const r=[];let l;return t.forEach((t=>{const e=Object.assign({},t);l&&e.pos===l.pos?(l.dim+=e.dim,l.slides=[...l.slides,...e.slides]):(e.index=r.length,l=e,r.push(e))})),r}getPageFromIndex(t=0){const e=this.pages.length;let i;return t=parseInt((t||0).toString())||0,i=this.isInfinite?(t%e+e)%e:Math.max(Math.min(t,this.pages.length-1),0),i}getSlideMetrics(t){const i=this.isHorizontal?"width":"height";let n=0,s=0,o=t.el;o?n=parseFloat(o.dataset[i]||"")||0:(o=document.createElement("div"),o.style.visibility="hidden",E(o,this.cn("slide")+" "+t.class),(this.track||document.body).prepend(o)),n?(o.style[i]=`${n}px`,o.style["width"===i?"height":"width"]=""):n=o.getBoundingClientRect()[i];const a=getComputedStyle(o);return"content-box"===a.boxSizing&&(this.isHorizontal?(n+=parseFloat(a.paddingLeft)||0,n+=parseFloat(a.paddingRight)||0):(n+=parseFloat(a.paddingTop)||0,n+=parseFloat(a.paddingBottom)||0)),s=parseFloat(a[this.isHorizontal?"marginRight":"marginBottom"])||0,this.isHorizontal,t.el||o.remove(),{dim:e(n,1e3),gap:e(s,1e3)}}getBounds(){let t={min:0,max:0};if(this.isInfinite)t={min:-1/0,max:1/0};else if(this.pages.length){const e=this.pages[0].pos,i=this.pages[this.pages.length-1].pos;t=this.isRTL&&this.isHorizontal?{min:e,max:i}:{min:-1*i,max:-1*e}}return{x:this.isHorizontal?t:{min:0,max:0},y:this.isHorizontal?{min:0,max:0}:t}}repositionSlides(){const{viewportDim:t,contentDim:i,page:n,pages:s}=this;let o,a=0,r=0,l=0,c=0;this.panzoom?c=-1*this.panzoom.current[this.isHorizontal?"e":"f"]:s[n]&&(c=s[n].pos||0),o=this.isHorizontal?this.isRTL?"right":"left":"top",this.isRTL&&this.isHorizontal&&(c*=-1);for(const t of this.slides)t.el?("top"===o?(t.el.style.right="",t.el.style.left=""):t.el.style.top="",t.index!==a?t.el.style[o]=0===r?"":`${e(r,1e3)}px`:t.el.style[o]="",l+=t.dim+t.gap,a++):r+=t.dim+t.gap;if(this.isInfinite&&l)for(const n of this.slides)n.el&&(e(n.pos)e(i-t)&&(n.el.style[o]=`${e(r+l,1e3)}px`),e(n.pos+n.gap)>=e(i-t)&&e(n.pos)>e(c+t)&&e(c)1&&(h=this.pages[u[0]],d=this.pages[u[1]]),h&&d){let t=0;for(const i of this.slides)i.el?this.inTransition.has(i.index)&&h.slides.indexOf(i)<0&&(i.el.style[o]=`${e(t+(h.pos-d.pos),1e3)}px`):t+=i.dim+i.gap}}createSlideEl(t){if(!this.track||!t)return;if(t.el)return;const e=document.createElement("div");E(e,this.cn("slide")),E(e,t.class),E(e,t.customClass),t.html&&(e.innerHTML=t.html);const i=[];this.slides.forEach(((t,e)=>{t.el&&i.push(e)}));const n=t.index;let s=null;if(i.length){let t=i.reduce(((t,e)=>Math.abs(e-n)this.page?1:-1,r=this.pages[o].pos*(this.isRTL?1:-1);if(this.page===o&&e(r,1e3)===e(s.target[this.axis],1e3))return!1;this.clearTransitions();const l=s.isResting;E(this.container,this.cn("inTransition"));const c=this.pages[this.page].slides[0],h=this.pages[o].slides[0];this.inTransition.add(h.index),this.createSlideEl(h);let d=c.el,u=h.el;l||"slide"===i||(i="fadeFast",d=null);const p=this.isRTL?"next":"prev",m=this.isRTL?"prev":"next";return d&&(this.inTransition.add(c.index),c.transition=i,d.addEventListener("animationend",this.onAnimationEnd),d.classList.add(`f-${i}Out`,`to-${a>0?m:p}`)),u&&(h.transition=i,u.addEventListener("animationend",this.onAnimationEnd),u.classList.add(`f-${i}In`,`from-${a>0?p:m}`)),s.panTo({x:this.isHorizontal?r:0,y:this.isHorizontal?0:r,friction:0}),this.onChange(o),!0}manageSlideVisiblity(){const t=new Set,e=new Set,i=this.getVisibleSlides(parseFloat(this.option("preload",0)+"")||0);for(const n of this.slides)i.has(n)?t.add(n):e.add(n);for(const e of this.inTransition)t.add(this.slides[e]);for(const e of t)this.createSlideEl(e),this.lazyLoadSlide(e);for(const i of e)t.has(i)||this.removeSlideEl(i);this.markSelectedSlides(),this.repositionSlides()}markSelectedSlides(){if(!this.pages[this.page]||!this.pages[this.page].slides)return;const t="aria-hidden";let e=this.cn("isSelected");if(e)for(const i of this.slides)i.el&&(i.el.dataset.index=`${i.index}`,this.pages[this.page].slides.includes(i)?(i.el.classList.contains(e)||(E(i.el,e),this.emit("selectSlide",i)),i.el.removeAttribute(t)):(i.el.classList.contains(e)&&(S(i.el,e),this.emit("unselectSlide",i)),i.el.setAttribute(t,"true")))}flipInfiniteTrack(){const t=this.panzoom;if(!t||!this.isInfinite)return;const e="x"===this.option("axis")?"e":"f",{viewportDim:i,contentDim:n}=this;let s=t.current[e],o=t.target[e]-s,a=0,r=.5*i,l=n;this.isRTL&&this.isHorizontal?(s<-r&&(a=-1,s+=l),s>l-r&&(a=1,s-=l)):(s>r&&(a=1,s-=l),s<-l+r&&(a=-1,s+=l)),a&&(t.current[e]=s,t.target[e]=s+o)}lazyLoadSlide(t){const e=this,i=t&&t.el;if(!i)return;const s=new Set,o="f-fadeIn";i.querySelectorAll("[data-lazy-srcset]").forEach((t=>{t instanceof HTMLImageElement&&s.add(t)})),i.querySelectorAll("[data-lazy-src]").forEach((t=>{t instanceof HTMLImageElement?s.add(t):x(t)&&(t.style.backgroundImage=`url('${t.dataset.lazySrc||""}')`)}));const a=(t,i,n)=>{n&&(n.remove(),n=null),i.complete&&(i.classList.add(o),setTimeout((()=>{i.classList.remove(o)}),350),i.style.display=""),this.option("adaptiveHeight")&&t.el&&this.pages[this.page].slides.indexOf(t)>-1&&e.setViewportHeight()};for(const e of s){let i=null;e.src=e.dataset.lazySrcset||e.dataset.lazySrc||"",delete e.dataset.lazySrc,delete e.dataset.lazySrcset,e.style.display="none",e.addEventListener("error",(()=>{a(t,e,i)})),e.addEventListener("load",(()=>{a(t,e,i)})),setTimeout((()=>{e.parentNode&&t.el&&(e.complete?a(t,e,i):(i=n(w),e.parentNode.insertBefore(i,e)))}),300)}let r=i.dataset.lazySrc;r&&r.length&&(i.style.backgroundImage=`url('${r}')`)}onAnimationEnd(t){var e;const i=t.target,n=i?parseInt(i.dataset.index||"",10)||0:-1,s=this.slides[n],o=t.animationName;if(!i||!s||!o)return;const a=!!this.inTransition.has(n)&&s.transition;a&&o.substring(0,a.length+2)===`f-${a}`&&this.inTransition.delete(n),this.inTransition.size||this.clearTransitions(),n===this.page&&(null===(e=this.panzoom)||void 0===e?void 0:e.isResting)&&this.emit("settle")}onDecel(t,e=0,i=0,n=0,s=0){const o=this.isRTL,a=this.isHorizontal,r=this.axis,l=this.pages.length,c=Math.abs(Math.atan2(i,e)/(Math.PI/180));let h=0;if(h=c>45&&c<135?a?0:i:a?e:0,!l)return;const d=this.option("dragFree");let u=this.page;const p=t.target[r]*(this.isRTL&&a?1:-1),{pageIndex:m}=this.getPageFromPosition(p),f=t.current[r]*(o&&a?1:-1);let{page:g}=this.getPageFromPosition(f);d?this.onChange(m):(Math.abs(h)>5?((this.pages.length<3||Math.max(Math.abs(n),Math.abs(s))>this.pages[u].slides[0].dim)&&(u=g),u=o&&a?h<0?u-1:u+1:h<0?u+1:u-1):u=g,this.slideTo(u,{transition:!1,friction:t.option("decelFriction")}))}onClick(t){const e=t.target,i=e&&x(e)?e.dataset:null;let n,s;i&&(void 0!==i.carouselPage?(s="slideTo",n=i.carouselPage):void 0!==i.carouselNext?s="slideNext":void 0!==i.carouselPrev&&(s="slidePrev")),s?(t.preventDefault(),t.stopPropagation(),e&&!e.hasAttribute("disabled")&&this[s](n)):this.emit("click",t)}onSlideTo(t){const e=t.detail||0;this.slideTo(this.getPageForSlide(e),{friction:0})}onChange(t,e=0){const i=this.page;this.prevPage=i,this.page=t,this.option("adaptiveHeight")&&this.setViewportHeight(),t!==i&&(this.markSelectedSlides(),this.emit("change",t,i,e))}onRefresh(t,e=""){let i=this.contentDim,n=this.viewportDim;this.updateMetrics(),this.contentDim===i&&this.viewportDim===n||this.slideTo(this.page,{friction:0,transition:!1})}onResize(){this.option("breakpoints")&&this.processOptions()}onBeforeTransform(){this.flipInfiniteTrack(),this.manageSlideVisiblity()}onEndAnimation(){this.emit("settle")}reInit(t=null,e=null){this.destroy(),this.state=k.Init,this.userOptions=t||this.userOptions,this.userPlugins=e||this.userPlugins,this.processOptions()}slideTo(t=0,{friction:e=this.option("friction"),transition:i=this.option("transition")}={}){if(this.state===k.Destroy)return;const n=this.panzoom,s=this.pages.length;if(!n||!s)return;if(this.transitionTo(t,i))return;const o=this.axis,a=this.getPageFromIndex(t);let r=this.pages[a].pos,l=0;if(this.isInfinite){const t=n.current[o]*(this.isRTL&&this.isHorizontal?1:-1),e=this.contentDim,i=r+e,s=r-e;Math.abs(t-i){t.el&&(s=Math.max(s,t.el.offsetHeight))}))),i.style.height=s?`${s}px`:""}getPageForSlide(t){for(const e of this.pages)for(const i of e.slides)if(i.index===t)return e.index;return-1}getVisibleSlides(t=0){var e;const i=new Set;let{contentDim:n,viewportDim:s,pages:o,page:a}=this;n=n+(null===(e=this.slides[this.slides.length-1])||void 0===e?void 0:e.gap)||0;let r=0;r=this.panzoom?-1*this.panzoom.current[this.axis]:o[a]&&o[a].pos||0,this.isInfinite&&(r-=Math.floor(r/n)*n),this.isRTL&&this.isHorizontal&&(r*=-1);const l=r-s*t,c=r+s*(t+1),h=this.isInfinite?[-1,0,1]:[0];for(const t of this.slides)for(const e of h){const s=t.pos+e*n,o=t.pos+t.dim+t.gap+e*n;sl&&i.add(t)}return i}getPageFromPosition(t){const{viewportDim:e,contentDim:i}=this,n=this.pages.length,s=this.slides.length,o=this.slides[s-1];let a=0,r=0,l=0;const c=this.option("center");c&&(t+=.5*e),this.isInfinite||(t=Math.max(this.slides[0].pos,Math.min(t,o.pos)));const h=i+o.gap;l=Math.floor(t/h)||0,t-=l*h;let d=o,u=this.slides.find((e=>{const i=t+(d&&!c?.5*d.dim:0);return d=e,e.pos<=i&&e.pos+e.dim+e.gap>i}));return u||(u=o),r=this.getPageForSlide(u.index),a=r+l*n,{page:a,pageIndex:r}}destroy(){if([k.Destroy].includes(this.state))return;this.state=k.Destroy;const{container:t,viewport:e,track:i,slides:n,panzoom:s}=this,o=this.option("classes");t.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),t.removeEventListener("slideTo",this.onSlideTo),window.removeEventListener("resize",this.onResize),s&&(s.destroy(),this.panzoom=null),n&&n.forEach((t=>{this.removeSlideEl(t)})),this.detachPlugins(),this.track=null,this.viewport=null,this.page=0,e&&i&&e.replaceWith(...i.childNodes);for(const[e,i]of Object.entries(o))"container"!==e&&i&&t.classList.remove(i);this.slides=[];const a=this.events.get("ready");this.events=new Map,a&&this.events.set("ready",a)}}Object.defineProperty(W,"Panzoom",{enumerable:!0,configurable:!0,writable:!0,value:A}),Object.defineProperty(W,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:R}),Object.defineProperty(W,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:N});const $=function(t){const e=window.pageYOffset,i=window.pageYOffset+window.innerHeight;if(!x(t))return 0;const n=t.getBoundingClientRect(),s=n.y+window.pageYOffset,o=n.y+n.height+window.pageYOffset;if(e>o||io)return 100;if(si)return 100;let a=n.height;si&&(a-=o-i);const r=a/window.innerHeight*100;return Math.round(r)},X=!("undefined"==typeof window||!window.document||!window.document.createElement);let Y;const q=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden]):not(.fancybox-focus-guard)","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"]):not([disabled]):not([aria-hidden])'].join(","),Z=t=>{if(t&&X){void 0===Y&&document.createElement("div").focus({get preventScroll(){return Y=!0,!1}});try{if(Y)t.focus({preventScroll:!0});else{const e=window.pageXOffset||document.body.scrollTop,i=window.pageYOffset||document.body.scrollLeft;t.focus(),document.body.scrollTo({top:e,left:i,behavior:"auto"})}}catch(t){}}},V={dragToClose:!0,hideScrollbar:!0,Carousel:{classes:{container:"fancybox__carousel",viewport:"fancybox__viewport",track:"fancybox__track",slide:"fancybox__slide"}},contentClick:"toggleZoom",contentDblClick:!1,backdropClick:"close",animated:!0,idle:3500,showClass:"f-zoomInUp",hideClass:"f-fadeOut",commonCaption:!1,parentEl:null,startIndex:0,l10n:Object.assign(Object.assign({},v),{CLOSE:"Close",NEXT:"Next",PREV:"Previous",MODAL:"You can close this modal content with the ESC key",ERROR:"Something Went Wrong, Please Try Again Later",IMAGE_ERROR:"Image Not Found",ELEMENT_NOT_FOUND:"HTML Element Not Found",AJAX_NOT_FOUND:"Error Loading AJAX : Not Found",AJAX_FORBIDDEN:"Error Loading AJAX : Forbidden",IFRAME_ERROR:"Error Loading Page",TOGGLE_ZOOM:"Toggle zoom level",TOGGLE_THUMBS:"Toggle thumbnails",TOGGLE_SLIDESHOW:"Toggle slideshow",TOGGLE_FULLSCREEN:"Toggle full-screen mode",DOWNLOAD:"Download"}),tpl:{closeButton:'',main:''},groupAll:!1,groupAttr:"data-fancybox",defaultType:"image",defaultDisplay:"block",autoFocus:!0,trapFocus:!0,placeFocusBack:!0,closeButton:"auto",keyboard:{Escape:"close",Delete:"close",Backspace:"close",PageUp:"next",PageDown:"prev",ArrowUp:"prev",ArrowDown:"next",ArrowRight:"next",ArrowLeft:"prev"},Fullscreen:{autoStart:!1},compact:()=>window.matchMedia("(max-width: 578px), (max-height: 578px)").matches,wheel:"zoom"};var U,G;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Closing=2]="Closing",t[t.CustomClosing=3]="CustomClosing",t[t.Destroy=4]="Destroy"}(U||(U={})),function(t){t[t.Loading=0]="Loading",t[t.Opening=1]="Opening",t[t.Ready=2]="Ready",t[t.Closing=3]="Closing"}(G||(G={}));const K=()=>{queueMicrotask((()=>{(()=>{const{slug:t,index:e}=J.parseURL(),i=Pt.getInstance();if(i&&!1!==i.option("Hash")){const n=i.carousel;if(t&&n){for(let e of n.slides)if(e.slug&&e.slug===t)return n.slideTo(e.index);if(t===i.option("slug"))return n.slideTo(e-1);const s=i.getSlide(),o=s&&s.triggerEl&&s.triggerEl.dataset;if(o&&o.fancybox===t)return n.slideTo(e-1)}J.hasSilentClose=!0,i.close()}J.startFromUrl()})()}))};class J extends F{constructor(){super(...arguments),Object.defineProperty(this,"origHash",{enumerable:!0,configurable:!0,writable:!0,value:""}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:null})}onChange(){const t=this.instance,e=t.carousel;this.timer&&clearTimeout(this.timer);const i=t.getSlide();if(!e||!i)return;const n=t.isOpeningSlide(i),s=new URL(document.URL).hash;let o,a=i.slug||void 0;o=a||this.instance.option("slug"),!o&&i.triggerEl&&i.triggerEl.dataset&&(o=i.triggerEl.dataset.fancybox);let r="";o&&"true"!==o&&(r="#"+o+(!a&&e.slides.length>1?"-"+(i.index+1):"")),n&&(this.origHash=s!==r?s:""),r&&s!==r&&(this.timer=setTimeout((()=>{try{window.history[n?"pushState":"replaceState"]({},document.title,window.location.pathname+window.location.search+r)}catch(t){}}),300))}onClose(){if(this.timer&&clearTimeout(this.timer),!0!==J.hasSilentClose)try{window.history.replaceState({},document.title,window.location.pathname+window.location.search+(this.origHash||""))}catch(t){}}attach(){this.instance.on("Carousel.ready",this.onChange),this.instance.on("Carousel.change",this.onChange),this.instance.on("close",this.onClose)}detach(){this.instance.off("Carousel.ready",this.onChange),this.instance.off("Carousel.change",this.onChange),this.instance.off("close",this.onClose)}static parseURL(){const t=window.location.hash.slice(1),e=t.split("-"),i=e[e.length-1],n=i&&/^\+?\d+$/.test(i)&&parseInt(e.pop()||"1",10)||1;return{hash:t,slug:e.join("-"),index:n}}static startFromUrl(){if(J.hasSilentClose=!1,Pt.getInstance()||!1===Pt.defaults.Hash)return;const{hash:t,slug:e,index:i}=J.parseURL();if(!e)return;let n=document.querySelector(`[data-slug="${t}"]`);if(n&&n.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})),Pt.getInstance())return;const s=document.querySelectorAll(`[data-fancybox="${e}"]`);s.length&&(n=s[i-1],n&&n.dispatchEvent(new CustomEvent("click",{bubbles:!0,cancelable:!0})))}static destroy(){window.removeEventListener("hashchange",K,!1)}}function Q(){window.addEventListener("hashchange",K,!1),setTimeout((()=>{J.startFromUrl()}),500)}Object.defineProperty(J,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(J,"hasSilentClose",{enumerable:!0,configurable:!0,writable:!0,value:!1}),X&&(/complete|interactive|loaded/.test(document.readyState)?Q():document.addEventListener("DOMContentLoaded",Q));const tt=t=>new Promise(((e,i)=>{const n=new Image;n.onload=e,n.onerror=i,n.src=t}));class et extends F{onCreateSlide(t,e,i){const n=this.instance,s=n.optionFor(i,"src")||"",{el:o,type:a}=i;o&&"image"===a&&"string"==typeof s&&this.setContent(i,s).then((t=>{if(n.isClosing())return;const e=i.contentEl,s=i.imageEl,o=i.thumbElSrc,a=this.optionFor(i,"initialSize"),r=this.optionFor(i,"zoom"),l={event:n.prevMouseMoveEvent||n.options.event,friction:r?.12:0};if(e&&s&&o&&n.isOpeningSlide(i)&&this.getZoomInfo(i)){let t=document.createElement("img");E(t,"fancybox-ghost"),e.appendChild(t),t.src=o,setTimeout((()=>{n.animate(t,"f-fadeFastOut",(()=>{t&&(t.remove(),t=null)}))}),333),tt(o).then((()=>{i.state=G.Opening,this.instance.emit("reveal",i),this.zoomIn(i).then((()=>{this.instance.done(i)}),(()=>{n.hideLoading(i)}))}),(()=>{n.hideLoading(i),n.revealContent(i)}))}else{let e=n.optionFor(i,"showClass")||void 0,s=!0;n.isOpeningSlide(i)&&("full"===a?t.zoomToFull(l):"cover"===a?t.zoomToCover(l):"max"===a?t.zoomToMax(l):s=!1,t.stop("current")),s&&e&&(e="f-fadeIn"),n.revealContent(i,e)}}),(()=>{n.setError(i,"{{IMAGE_ERROR}}")}))}onRemoveSlide(t,e,i){i.panzoom&&i.panzoom.destroy(),i.panzoom=void 0,i.imageEl=void 0}onChange(t,e,i,n){for(const t of e.slides){const e=t.panzoom;e&&t.index!==i&&e.reset(.35)}}onClose(){const t=this.instance,e=t.container,i=t.getSlide();if(!e||!e.parentElement||!i)return;const{el:n,contentEl:s,panzoom:o}=i,a=i.thumbElSrc;if(!n||!a||!s||!o||o.isContentLoading||o.state===g.Init||o.state===g.Destroy)return;o.updateMetrics();let r=this.getZoomInfo(i);if(!r)return;this.instance.state=U.CustomClosing,n.classList.remove("is-zooming-in"),n.classList.add("is-zooming-out"),s.style.backgroundImage=`url('${a}')`,tt(a).then((()=>{n.classList.add("hide-image")}),(()=>{}));const l=e.getBoundingClientRect();Object.assign(e.style,{position:"absolute",top:`${window.pageYOffset}px`,left:`${window.pageXOffset}px`,bottom:"auto",right:"auto",width:`${l.width}px`,height:`${l.height}px`,overflow:"hidden"});const{x:c,y:h,scale:d,opacity:u}=r;if(u){const t=((t,e,i,n)=>{const s=e-t,o=n-i;return e=>i+((e-t)/s*o||0)})(o.scale,d,1,0);o.on("afterTransform",(()=>{s.style.opacity=t(o.scale)+""}))}o.on("endAnimation",(()=>{t.destroy()})),o.target.a=d,o.target.b=0,o.target.c=0,o.target.d=d,o.panTo({x:c,y:h,scale:d,friction:u?.2:.33,ignoreBounds:!0}),o.isResting&&t.destroy()}setContent(t,e){return new Promise(((i,n)=>{var s,o;const a=this.instance,r=t.el;if(!r)return void n();a.showLoading(t);const l=document.createElement("img");if(l.classList.add("fancybox-image"),l.src=e||"",l.alt=(null===(s=t.caption)||void 0===s?void 0:s.replace(/<[^>]+>/gi,"").substring(0,1e3))||`Image ${t.index+1} of ${null===(o=a.carousel)||void 0===o?void 0:o.pages.length}`,l.draggable=!1,t.srcset&&l.setAttribute("srcset",t.srcset),t.sizes&&l.setAttribute("sizes",t.sizes),t.imageEl=l,a.setContent(t,l,!1),this.option("protected")){r.addEventListener("contextmenu",(t=>{t.preventDefault()}));const e=t.contentEl;if(e){const t=document.createElement("div");E(t,"fancybox-protected"),e.append(t)}}t.panzoom=new A(r,u({},this.option("Panzoom")||{},{content:l,width:a.optionFor(t,"width","auto"),height:a.optionFor(t,"height","auto"),wheel:()=>{const t=a.option("wheel");return("zoom"===t||"pan"==t)&&t},click:(e,i)=>{var n;if(a.isCompact||a.isClosing())return!1;let s=!i||i.target&&(null===(n=t.contentEl)||void 0===n?void 0:n.contains(i.target));return a.option(s?"contentClick":"backdropClick")||!1},dblClick:()=>a.isCompact?"toggleZoom":a.option("contentDblClick")||!1,spinner:!1,panOnlyZoomed:!0,wheelLimit:1/0,transformParent:!0,on:{ready:t=>{i(t)},error:()=>{n()},destroy:()=>{n()}}}))}))}zoomIn(t){return new Promise(((e,i)=>{const{panzoom:n,contentEl:s,el:o}=t;n&&n.updateMetrics();const a=this.getZoomInfo(t);if(!(a&&o&&s&&n))return void i();const{x:r,y:l,scale:c,opacity:h}=a,d=()=>{t.state!==G.Closing&&(h&&(s.style.opacity=Math.max(Math.min(1,1-(1-n.scale)/(1-c)),0)+""),n.scale>=1&&n.scale>n.targetScale-.1&&e(n))},u=t=>{t.scale<.99||t.scale>1.01||(s.style.opacity="",o.classList.remove("is-zooming-in"),t.off("endAnimation",u),t.off("touchStart",u),t.off("afterTransform",d),e(t))};n.on("endAnimation",u),n.on("touchStart",u),n.on("afterTransform",d),n.on(["error","destroy"],(()=>{i()})),n.panTo({x:r,y:l,scale:c,friction:0,ignoreBounds:!0}),n.stop("current");const p=this.instance,m={event:"mousemove"===n.panMode?p.prevMouseMoveEvent||p.options.event:void 0},f=this.optionFor(t,"initialSize");E(o,"is-zooming-in"),p.hideLoading(t),"full"===f?n.zoomToFull(m):"cover"===f?n.zoomToCover(m):"max"===f?n.zoomToMax(m):n.reset(.165)}))}getZoomInfo(t){const{el:e,imageEl:i,thumbEl:n,panzoom:s}=t;if(!e||!i||!n||!s||$(n)<3||!this.optionFor(t,"zoom")||this.instance.state===U.Destroy)return!1;const{top:o,left:a,width:r,height:l}=n.getBoundingClientRect();let{top:c,left:h,fitWidth:d,fitHeight:u}=s.contentRect;if(!(r&&l&&d&&u))return!1;const p=r/d,m=s.container.getBoundingClientRect();c+=m.top,h+=m.left;const f=-1*(h+.5*d-(a+.5*r)),g=-1*(c+.5*u-(o+.5*l));let b=this.option("zoomOpacity")||!1;return"auto"===b&&(b=Math.abs(r/l-d/u)>.1),{x:f,y:g,scale:p,opacity:b}}attach(){this.instance.on("Carousel.change",this.onChange),this.instance.on("Carousel.createSlide",this.onCreateSlide),this.instance.on("Carousel.removeSlide",this.onRemoveSlide),this.instance.on("close",this.onClose)}detach(){this.instance.off("Carousel.change",this.onChange),this.instance.off("Carousel.createSlide",this.onCreateSlide),this.instance.off("Carousel.removeSlide",this.onRemoveSlide),this.instance.off("close",this.onClose)}}Object.defineProperty(et,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{initialSize:"fit",Panzoom:{maxScale:1},protected:!1,zoom:!0,zoomOpacity:"auto"}});const it=(t,e={})=>{const i=new URL(t),n=new URLSearchParams(i.search),s=new URLSearchParams;for(const[t,i]of[...n,...Object.entries(e)]){let e=i.toString();"t"===t?s.set("start",parseInt(e).toString()):s.set(t,e)}let o=s.toString(),a=t.match(/#t=((.*)?\d+s)/);return a&&(o+=`#t=${a[1]}`),o},nt={ajax:null,autoSize:!0,preload:!0,videoAutoplay:!0,videoRatio:16/9,videoTpl:'',videoFormat:"",vimeo:{byline:1,color:"00adef",controls:1,dnt:1,muted:0},youtube:{controls:1,enablejsapi:1,rel:0,fs:1}},st=["image","html","ajax","inline","clone","iframe","map","pdf","html5video","youtube","vimeo","video"];class ot extends F{onInitSlide(t,e,i){this.processType(i)}onCreateSlide(t,e,i){this.setContent(i)}onRemoveSlide(t,e,i){i.closeBtnEl&&(i.closeBtnEl.remove(),i.closeBtnEl=void 0),i.xhr&&(i.xhr.abort(),i.xhr=null),i.iframeEl&&(i.iframeEl.onload=i.iframeEl.onerror=null,i.iframeEl.src="//about:blank",i.iframeEl=null);const n=i.contentEl,s=i.placeholderEl;if("inline"===i.type&&n&&s)n.classList.remove("fancybox__content"),"none"!==n.style.display&&(n.style.display="none"),s.parentNode&&s.parentNode.insertBefore(n,s),s.remove(),i.placeholderEl=null;else for(;i.el&&i.el.firstChild;)i.el.removeChild(i.el.firstChild)}onSelectSlide(t,e,i){i.state===G.Ready&&this.playVideo()}onUnselectSlide(t,e,i){var n,s;if("html5video"===i.type){try{null===(s=null===(n=i.el)||void 0===n?void 0:n.querySelector("video"))||void 0===s||s.pause()}catch(t){}return}let o;"vimeo"===i.type?o={method:"pause",value:"true"}:"youtube"===i.type&&(o={event:"command",func:"pauseVideo"}),o&&i.iframeEl&&i.iframeEl.contentWindow&&i.iframeEl.contentWindow.postMessage(JSON.stringify(o),"*"),i.poller&&clearTimeout(i.poller)}onDone(t,e){t.isCurrentSlide(e)&&!t.isClosing()&&this.playVideo()}onRefresh(t,e){e.slides.forEach((t=>{t.el&&(this.setAspectRatio(t),this.resizeIframe(t))}))}onMessage(t){try{let e=JSON.parse(t.data);if("https://player.vimeo.com"===t.origin){if("ready"===e.event)for(let e of Array.from(document.getElementsByClassName("fancybox__iframe")))e instanceof HTMLIFrameElement&&e.contentWindow===t.source&&(e.dataset.ready="true")}else if("https://www.youtube-nocookie.com"===t.origin&&"onReady"===e.event){const t=document.getElementById(e.id);t&&(t.dataset.ready="true")}}catch(t){}}loadAjaxContent(t){const e=this.instance.optionFor(t,"src")||"";this.instance.showLoading(t);const i=this.instance,n=new XMLHttpRequest;i.showLoading(t),n.onreadystatechange=function(){n.readyState===XMLHttpRequest.DONE&&i.state===U.Ready&&(i.hideLoading(t),200===n.status?i.setContent(t,n.responseText):i.setError(t,404===n.status?"{{AJAX_NOT_FOUND}}":"{{AJAX_FORBIDDEN}}"))};const s=t.ajax||null;n.open(s?"POST":"GET",e+""),n.setRequestHeader("Content-Type","application/x-www-form-urlencoded"),n.setRequestHeader("X-Requested-With","XMLHttpRequest"),n.send(s),t.xhr=n}setInlineContent(t){let e=null;if(x(t.src))e=t.src;else if("string"==typeof t.src){const i=t.src.split("#",2).pop();e=i?document.getElementById(i):null}if(e){if("clone"===t.type||e.dataset.placeholderId){e=e.cloneNode(!0);const i=e.dataset.animationName;i&&(e.classList.remove(i),delete e.dataset.animationName),delete e.dataset.placeholderId;let n=e.getAttribute("id");n=n?`${n}--clone`:`clone-${this.instance.id}-${t.index}`,e.setAttribute("id",n)}else if(e.parentNode){const i=document.createElement("div");i.classList.add("fancybox-placeholder"),e.parentNode.insertBefore(i,e),t.placeholderEl=i}this.instance.setContent(t,e)}else this.instance.setError(t,"{{ELEMENT_NOT_FOUND}}")}setIframeContent(t){const{src:e,el:i}=t;if(!e||"string"!=typeof e||!i)return;const n=this.instance,s=document.createElement("iframe");s.className="fancybox__iframe",s.setAttribute("id",`fancybox__iframe_${n.id}_${t.index}`),s.setAttribute("allow","autoplay; fullscreen"),s.setAttribute("scrolling","auto"),s.onerror=()=>{n.setError(t,"{{IFRAME_ERROR}}")},t.iframeEl=s;const o=this.optionFor(t,"preload");if(i.classList.add("is-loading"),"iframe"!==t.type||!1===o)return s.setAttribute("src",t.src+""),this.resizeIframe(t),void n.setContent(t,s);n.showLoading(t),s.onload=()=>{if(!s.src.length)return;const e="true"!==s.dataset.ready;s.dataset.ready="true",this.resizeIframe(t),e?n.revealContent(t):n.hideLoading(t)},s.setAttribute("src",e),n.setContent(t,s,!1)}resizeIframe(t){const e=t.iframeEl,i=null==e?void 0:e.parentElement;if(!e||!i)return;let n=t.autoSize,s=t.width||0,o=t.height||0;s&&o&&(n=!1);const a=i&&i.style;if(!1!==t.preload&&!1!==n&&a)try{const t=window.getComputedStyle(i),n=parseFloat(t.paddingLeft)+parseFloat(t.paddingRight),r=parseFloat(t.paddingTop)+parseFloat(t.paddingBottom),l=e.contentWindow;if(l){const t=l.document,e=t.getElementsByTagName("html")[0],i=t.body;a.width="",i.style.overflow="hidden",s=s||e.scrollWidth+n,a.width=`${s}px`,i.style.overflow="",a.flex="0 0 auto",a.height=`${i.scrollHeight}px`,o=e.scrollHeight+r}}catch(t){}if(s||o){const t={flex:"0 1 auto",width:"",height:""};s&&(t.width=`${s}px`),o&&(t.height=`${o}px`),Object.assign(a,t)}}playVideo(){const t=this.instance.getSlide();if(!t)return;const{el:e}=t;if(!e||!e.offsetParent)return;if(!this.optionFor(t,"videoAutoplay"))return;if("html5video"===t.type)try{const t=e.querySelector("video");if(t){const e=t.play();void 0!==e&&e.then((()=>{})).catch((e=>{t.muted=!0,t.play()}))}}catch(t){}if("youtube"!==t.type&&"vimeo"!==t.type)return;const i=()=>{if(t.iframeEl&&t.iframeEl.contentWindow){let e;if("true"===t.iframeEl.dataset.ready)return e="youtube"===t.type?{event:"command",func:"playVideo"}:{method:"play",value:"true"},e&&t.iframeEl.contentWindow.postMessage(JSON.stringify(e),"*"),void(t.poller=void 0);"youtube"===t.type&&(e={event:"listening",id:t.iframeEl.getAttribute("id")},t.iframeEl.contentWindow.postMessage(JSON.stringify(e),"*"))}t.poller=setTimeout(i,250)};i()}processType(t){if(t.html)return t.type="html",t.src=t.html,void(t.html="");const e=this.instance.optionFor(t,"src","");if(!e||"string"!=typeof e)return;let i=t.type,n=null;if(n=e.match(/(?:youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(?:watch\?(?:.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(?:.*)|[\w-]{11}|\?listType=(?:.*)&list=(?:.*))(?:.*)/i)){const s=it(e,this.optionFor(t,"youtube")),o=encodeURIComponent(n[1]);t.videoId=o,t.src=`https://www.youtube-nocookie.com/embed/${o}?${s}`,t.thumbSrc=t.thumbSrc||`https://i.ytimg.com/vi/${o}/mqdefault.jpg`,i="youtube"}else if(n=e.match(/^.+vimeo.com\/(?:\/)?([\d]+)((\/|\?h=)([a-z0-9]+))?(.*)?/)){const s=it(e,this.optionFor(t,"vimeo")),o=encodeURIComponent(n[1]),a=n[4]||"";t.videoId=o,t.src=`https://player.vimeo.com/video/${o}?${a?`h=${a}${s?"&":""}`:""}${s}`,i="vimeo"}if(!i&&t.triggerEl){const e=t.triggerEl.dataset.type;st.includes(e)&&(i=e)}i||"string"==typeof e&&("#"===e.charAt(0)?i="inline":(n=e.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(i="html5video",t.videoFormat=t.videoFormat||"video/"+("ogv"===n[1]?"ogg":n[1])):e.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?i="image":e.match(/\.(pdf)((\?|#).*)?$/i)?i="pdf":(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:(?:(?:maps\/(?:place\/(?:.*)\/)?\@(.*),(\d+.?\d+?)z))|(?:\?ll=))(.*)?/i))?(t.src=`https://maps.google.${n[1]}/?ll=${(n[2]?n[2]+"&z="+Math.floor(parseFloat(n[3]))+(n[4]?n[4].replace(/^\//,"&"):""):n[4]+"").replace(/\?/,"&")}&output=${n[4]&&n[4].indexOf("layer=c")>0?"svembed":"embed"}`,i="map"):(n=e.match(/(?:maps\.)?google\.([a-z]{2,3}(?:\.[a-z]{2})?)\/(?:maps\/search\/)(.*)/i))&&(t.src=`https://maps.google.${n[1]}/maps?q=${n[2].replace("query=","q=").replace("api=1","")}&output=embed`,i="map")),i=i||this.instance.option("defaultType"),t.type=i,"image"===i&&(t.thumbSrc=t.thumbSrc||t.src)}setContent(t){const e=this.instance.optionFor(t,"src")||"";if(t&&t.type&&e){switch(t.type){case"html":this.instance.setContent(t,e);break;case"html5video":const i=this.option("videoTpl");i&&this.instance.setContent(t,i.replace(/\{\{src\}\}/gi,e+"").replace(/\{\{format\}\}/gi,this.optionFor(t,"videoFormat")||"").replace(/\{\{poster\}\}/gi,t.poster||t.thumbSrc||""));break;case"inline":case"clone":this.setInlineContent(t);break;case"ajax":this.loadAjaxContent(t);break;case"pdf":case"map":case"youtube":case"vimeo":t.preload=!1;case"iframe":this.setIframeContent(t)}this.setAspectRatio(t)}}setAspectRatio(t){var e;const i=t.contentEl,n=this.optionFor(t,"videoRatio"),s=null===(e=t.el)||void 0===e?void 0:e.getBoundingClientRect();if(!(i&&s&&n&&1!==n&&t.type&&["video","youtube","vimeo","html5video"].includes(t.type)))return;const o=s.width,a=s.height;i.style.aspectRatio=n+"",i.style.width=o/a>n?"auto":"",i.style.height=o/a>n?"":"auto"}attach(){this.instance.on("Carousel.initSlide",this.onInitSlide),this.instance.on("Carousel.createSlide",this.onCreateSlide),this.instance.on("Carousel.removeSlide",this.onRemoveSlide),this.instance.on("Carousel.selectSlide",this.onSelectSlide),this.instance.on("Carousel.unselectSlide",this.onUnselectSlide),this.instance.on("Carousel.Panzoom.refresh",this.onRefresh),this.instance.on("done",this.onDone),window.addEventListener("message",this.onMessage)}detach(){this.instance.off("Carousel.initSlide",this.onInitSlide),this.instance.off("Carousel.createSlide",this.onCreateSlide),this.instance.off("Carousel.removeSlide",this.onRemoveSlide),this.instance.off("Carousel.selectSlide",this.onSelectSlide),this.instance.off("Carousel.unselectSlide",this.onUnselectSlide),this.instance.off("Carousel.Panzoom.refresh",this.onRefresh),this.instance.off("done",this.onDone),window.removeEventListener("message",this.onMessage)}}Object.defineProperty(ot,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:nt});class at extends F{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:"ready"}),Object.defineProperty(this,"inHover",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"timer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"progressBar",{enumerable:!0,configurable:!0,writable:!0,value:null})}get isActive(){return"ready"!==this.state}onReady(t){this.option("autoStart")&&(t.isInfinite||t.page{this.timer=null,this.inHover||this.onTimerEnd()}),t),this.emit("set")}clear(){this.timer&&(clearTimeout(this.timer),this.timer=null),this.removeProgressBar()}start(){if(this.set(),this.option("pauseOnHover")){const t=this.instance.container;t.addEventListener("mouseenter",this.onMouseEnter,!1),t.addEventListener("mouseleave",this.onMouseLeave,!1)}document.addEventListener("visibilitychange",this.onVisibilityChange,!1)}stop(){const t=this.instance.container;this.clear(),this.state="ready",t.removeEventListener("mouseenter",this.onMouseEnter,!1),t.removeEventListener("mouseleave",this.onMouseLeave,!1),document.removeEventListener("visibilitychange",this.onVisibilityChange,!1),S(t,"has-autoplay"),this.emit("stop")}pause(){"play"===this.state&&(this.state="pause",this.clear(),this.emit("pause"))}resume(){const t=this.instance;if(t.isInfinite||t.page!==t.pages.length-1)if("play"!==this.state){if("pause"===this.state&&!this.inHover){const t=new Event("resume",{bubbles:!0,cancelable:!0});this.emit("resume",event),t.defaultPrevented||this.set()}}else this.set();else this.stop()}toggle(){"play"===this.state||"pause"===this.state?this.stop():this.set()}attach(){this.instance.on("ready",this.onReady),this.instance.on("Panzoom.startAnimation",this.onChange),this.instance.on("Panzoom.endAnimation",this.onSettle),this.instance.on("Panzoom.touchMove",this.onChange)}detach(){this.instance.off("ready",this.onReady),this.instance.off("Panzoom.startAnimation",this.onChange),this.instance.off("Panzoom.endAnimation",this.onSettle),this.instance.off("Panzoom.touchMove",this.onChange),this.stop()}}Object.defineProperty(at,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{autoStart:!0,pauseOnHover:!0,progressParentEl:null,showProgress:!0,timeout:3e3}});class rt extends F{constructor(){super(...arguments),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:null})}onPrepare(t){const e=t.carousel;if(!e)return;const i=t.container;i&&(e.options.Autoplay=u(this.option("Autoplay")||{},{pauseOnHover:!1,autoStart:!1,timeout:this.option("timeout"),progressParentEl:()=>i.querySelector(".fancybox__toolbar [data-fancybox-toggle-slideshow]")||i,on:{set:e=>{var n;i.classList.add("has-slideshow"),(null===(n=t.getSlide())||void 0===n?void 0:n.state)!==G.Ready&&e.pause()},stop:()=>{i.classList.remove("has-slideshow"),t.isCompact||t.endIdle()},resume:(e,i)=>{var n,s,o;!i||!i.cancelable||(null===(n=t.getSlide())||void 0===n?void 0:n.state)===G.Ready&&(null===(o=null===(s=t.carousel)||void 0===s?void 0:s.panzoom)||void 0===o?void 0:o.isResting)||i.preventDefault()}}}),e.attachPlugins({Autoplay:at}),this.ref=e.plugins.Autoplay)}onReady(t){const e=t.carousel,i=this.ref;e&&i&&this.option("playOnStart")&&(e.isInfinite||e.page{t.isCurrentSlide(e)&&i.stop()})),t.isCurrentSlide(e)&&i.resume()}onKeydown(t,e){var i;const n=this.ref;n&&e===this.option("key")&&"BUTTON"!==(null===(i=document.activeElement)||void 0===i?void 0:i.nodeName)&&n.toggle()}attach(){this.instance.on("Carousel.init",this.onPrepare),this.instance.on("Carousel.ready",this.onReady),this.instance.on("done",this.onDone),this.instance.on("keydown",this.onKeydown)}detach(){this.instance.off("Carousel.init",this.onPrepare),this.instance.off("Carousel.ready",this.onReady),this.instance.off("done",this.onDone),this.instance.off("keydown",this.onKeydown)}}Object.defineProperty(rt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:{key:" ",playOnStart:!1,timeout:3e3}});const lt={classes:{container:"f-thumbs f-carousel__thumbs",viewport:"f-thumbs__viewport",track:"f-thumbs__track",slide:"f-thumbs__slide",isResting:"is-resting",isSelected:"is-selected",isLoading:"is-loading",hasThumbs:"has-thumbs"},minCount:2,parentEl:null,thumbTpl:'',type:"modern"};var ct;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Hidden=2]="Hidden",t[t.Disabled=3]="Disabled"}(ct||(ct={}));let ht=class extends F{constructor(){super(...arguments),Object.defineProperty(this,"type",{enumerable:!0,configurable:!0,writable:!0,value:"modern"}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"track",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"carousel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"panzoom",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"thumbWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbClipWidth",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbHeight",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"thumbExtraGap",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"shouldCenter",{enumerable:!0,configurable:!0,writable:!0,value:!0}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:ct.Init})}formatThumb(t,e){return this.instance.localize(e,[["%i",t.index],["%d",t.index+1],["%s",t.thumbSrc||"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"]])}getSlides(){const t=[],e=this.option("thumbTpl")||"";if(e)for(const i of this.instance.slides||[]){let n="";i.type&&(n=`for-${i.type}`,i.type&&["video","youtube","vimeo","html5video"].includes(i.type)&&(n+=" for-video")),t.push({html:this.formatThumb(i,e),customClass:n})}return t}onInitSlide(t,e){const i=e.el;i&&(e.thumbSrc=i.dataset.thumbSrc||e.thumbSrc||"",e.thumbClipWidth=parseFloat(i.dataset.thumbClipWidth||"")||e.thumbClipWidth||0,e.thumbHeight=parseFloat(i.dataset.thumbHeight||"")||e.thumbHeight||0)}onInitSlides(){this.state===ct.Init&&this.build()}onRefreshM(){this.refreshModern()}onChangeM(){"modern"===this.type&&(this.shouldCenter=!0,this.centerModern())}onClickModern(t){t.preventDefault(),t.stopPropagation();const e=this.instance,i=e.page,n=t=>{if(t){const e=t.closest("[data-carousel-index]");if(e)return parseInt(e.dataset.carouselIndex||"",10)||0}return-1},s=(t,e)=>{const i=document.elementFromPoint(t,e);return i?n(i):-1};let o=n(t.target);o<0&&(o=s(t.clientX+this.thumbGap,t.clientY),o===i&&(o=i-1)),o<0&&(o=s(t.clientX-this.thumbGap,t.clientY),o===i&&(o=i+1)),o<0&&(o=(e=>{let n=s(t.clientX-e,t.clientY),a=s(t.clientX+e,t.clientY);return o<0&&n===i&&(o=i+1),o<0&&a===i&&(o=i-1),o})(this.thumbExtraGap)),o===i?this.centerModern():o>-1&&o{this.emit("ready")}))}buildModern(){if("modern"!==this.type)return;const{container:t,track:e,instance:i}=this,s=this.option("thumbTpl")||"";if(!t||!e||!s)return;E(t,"is-horizontal"),this.updateModern();for(const t of i.slides||[]){const i=document.createElement("div");if(E(i,this.cn("slide")),t.type){let e=`for-${t.type}`;["video","youtube","vimeo","html5video"].includes(t.type)&&(e+=" for-video"),E(i,e)}i.appendChild(n(this.formatThumb(t,s))),t.thumbSlideEl=i,e.appendChild(i),this.resizeModernSlide(t)}const o=new i.constructor.Panzoom(t,{content:e,lockAxis:"x",zoom:!1,panOnlyZoomed:!1,bounds:()=>{let t=0,e=0,n=i.slides[0],s=i.slides[i.slides.length-1],o=i.slides[i.page];return n&&s&&o&&(e=-1*this.getModernThumbPos(0),0!==i.page&&(e+=.5*(n.thumbWidth||0)),t=-1*this.getModernThumbPos(i.slides.length-1),i.page!==i.slides.length-1&&(t+=(s.thumbWidth||0)-(o.thumbWidth||0)-.5*(s.thumbWidth||0))),{x:{min:t,max:e},y:{min:0,max:0}}}});o.on("touchStart",((t,e)=>{this.shouldCenter=!1})),o.on("click",((t,e)=>this.onClickModern(e))),o.on("ready",(()=>{this.centerModern(),this.emit("ready")})),o.on(["afterTransform","refresh"],(t=>{this.lazyLoadModern()})),this.panzoom=o,this.refreshModern()}updateModern(){if("modern"!==this.type)return;const{container:t}=this;t&&(this.thumbGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-gap"))||0,this.thumbExtraGap=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-extra-gap"))||0,this.thumbWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-width"))||40,this.thumbClipWidth=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-clip-width"))||40,this.thumbHeight=parseFloat(getComputedStyle(t).getPropertyValue("--f-thumb-height"))||40)}refreshModern(){var t;if("modern"===this.type){this.updateModern();for(const t of this.instance.slides||[])this.resizeModernSlide(t);this.onTransformM(),null===(t=this.panzoom)||void 0===t||t.updateMetrics(!0),this.centerModern(0)}}centerModern(t){const i=this.instance,{container:n,panzoom:s}=this;if(!n||!s||s.state===g.Init)return;const o=i.page;let a=this.getModernThumbPos(o),r=a;for(let t=i.page-3;ti.pages.length-1||t===i.page)continue;const e=1-Math.abs(i.getProgress(t));e>0&&e<1&&(r+=e*(this.getModernThumbPos(t)-a))}let l=100;void 0===t&&(t=.2,i.inTransition.size>0&&(t=.12),Math.abs(-1*s.current.e-r)>s.containerRect.width&&(t=.5,l=0)),s.options.maxVelocity=l,s.applyChange({panX:e(-1*r-s.target.e,1e3),friction:null===i.prevPage?0:t})}lazyLoadModern(){const{instance:t,panzoom:e}=this;if(!e)return;const i=-1*e.current.e||0;let s=this.getModernThumbPos(t.page);if(e.state!==g.Init||0===s)for(const s of t.slides||[]){const t=s.thumbSlideEl;if(!t)continue;const o=t.querySelector("img[data-lazy-src]"),a=s.index,r=this.getModernThumbPos(a),l=i-.5*e.containerRect.innerWidth,c=l+e.containerRect.innerWidth;if(!o||rc)continue;let h=o.dataset.lazySrc;if(!h||!h.length)continue;if(delete o.dataset.lazySrc,o.src=h,o.complete)continue;E(t,this.cn("isLoading"));const d=n(w);t.appendChild(d),o.addEventListener("load",(()=>{t.offsetParent&&(t.classList.remove(this.cn("isLoading")),d.remove())}),!1)}}resizeModernSlide(t){if("modern"!==this.type)return;if(!t.thumbSlideEl)return;const e=t.thumbClipWidth&&t.thumbHeight?Math.round(this.thumbHeight*(t.thumbClipWidth/t.thumbHeight)):this.thumbWidth;t.thumbWidth=e}getModernThumbPos(t){const i=this.instance.slides[t],n=this.panzoom;if(!n||!n.contentRect.fitWidth)return 0;let s=n.containerRect.innerWidth,o=n.contentRect.width;2===this.instance.slides.length&&(t-=1,o=2*this.thumbClipWidth);let a=t*(this.thumbClipWidth+this.thumbGap)+this.thumbExtraGap+.5*(i.thumbWidth||0);return a-=o>s?.5*s:.5*o,e(a||0,1)}build(){const t=this.instance,e=t.container,i=this.option("minCount")||0;if(i){let e=0;for(const i of t.slides||[])i.thumbSrc&&e++;if(e{setTimeout((()=>{var e;null===(e=null==s?void 0:s.querySelector(`[data-carousel-index="${t.page}"]`))||void 0===e||e.focus()}),100)}))}cleanup(){this.carousel&&this.carousel.destroy(),this.carousel=null,this.panzoom&&this.panzoom.destroy(),this.panzoom=null,this.container&&this.container.remove(),this.container=null,this.track=null,this.state=ct.Init,S(this.instance.container,this.cn("hasThumbs"))}attach(){this.instance.on("initSlide",this.onInitSlide),this.instance.on("initSlides",this.onInitSlides),this.instance.on("Panzoom.afterTransform",this.onTransformM),this.instance.on("Panzoom.refresh",this.onRefreshM),this.instance.on("change",this.onChangeM)}detach(){this.instance.off("initSlide",this.onInitSlide),this.instance.off("initSlides",this.onInitSlides),this.instance.off("Panzoom.afterTransform",this.onTransformM),this.instance.off("Panzoom.refresh",this.onRefreshM),this.instance.off("change",this.onChangeM),this.cleanup()}};Object.defineProperty(ht,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:lt});const dt=Object.assign(Object.assign({},lt),{key:"t",showOnStart:!0,parentEl:null});class ut extends F{constructor(){super(...arguments),Object.defineProperty(this,"ref",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"hidden",{enumerable:!0,configurable:!0,writable:!0,value:!1})}get isEnabled(){const t=this.ref;return t&&t.state!==ct.Disabled}get isHidden(){return this.hidden}onInit(){const t=this.instance,e=t.carousel;if(!e)return;const i=this.option("parentEl")||t.footer||t.container;i&&(e.options.Thumbs=u({},this.options,{parentEl:i,classes:{container:"f-thumbs fancybox__thumbs"},Carousel:{Sync:{friction:t.option("Carousel.friction")},on:{click:(t,e)=>{e.stopPropagation()}}},on:{ready:t=>{const e=t.container;e&&this.hidden&&(this.refresh(),e.style.transition="none",this.hide(),e.offsetHeight,queueMicrotask((()=>{e.style.transition="",this.show()})))}}}),e.attachPlugins({Thumbs:ht}),this.ref=e.plugins.Thumbs,this.option("showOnStart")||(this.ref.state=ct.Hidden,this.hidden=!0))}onResize(){var t;const e=null===(t=this.ref)||void 0===t?void 0:t.container;e&&(e.style.maxHeight="")}onKeydown(t,e){const i=this.option("key");i&&i===e&&this.toggle()}toggle(){const t=this.ref;t&&t.state!==ct.Disabled&&(t.state!==ct.Hidden?this.hidden?this.show():this.hide():t.build())}show(){const t=this.ref,e=t&&t.state!==ct.Disabled&&t.container;e&&(this.refresh(),e.offsetHeight,e.removeAttribute("aria-hidden"),e.classList.remove("is-hidden"),this.hidden=!1)}hide(){const t=this.ref,e=t&&t.container;e&&(this.refresh(),e.offsetHeight,e.classList.add("is-hidden"),e.setAttribute("aria-hidden","true")),this.hidden=!0}refresh(){const t=this.ref;if(!t||t.state===ct.Disabled)return;const e=t.container,i=(null==e?void 0:e.firstChild)||null;e&&i&&i.childNodes.length&&(e.style.maxHeight=`${i.getBoundingClientRect().height}px`)}attach(){this.instance.on("Carousel.init",this.onInit),this.instance.on("resize",this.onResize),this.instance.on("keydown",this.onKeydown)}detach(){this.instance.off("Carousel.init",this.onInit),this.instance.off("resize",this.onResize),this.instance.off("keydown",this.onKeydown)}}Object.defineProperty(ut,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:dt});const pt={panLeft:{icon:'',change:{panX:-100}},panRight:{icon:'',change:{panX:100}},panUp:{icon:'',change:{panY:-100}},panDown:{icon:'',change:{panY:100}},zoomIn:{icon:'',action:"zoomIn"},zoomOut:{icon:'',action:"zoomOut"},toggle1to1:{icon:'',action:"toggleZoom"},toggleZoom:{icon:'',action:"toggleZoom"},iterateZoom:{icon:'',action:"iterateZoom"},rotateCCW:{icon:'',action:"rotateCCW"},rotateCW:{icon:'',action:"rotateCW"},flipX:{icon:'',action:"flipX"},flipY:{icon:'',action:"flipY"},fitX:{icon:'',action:"fitX"},fitY:{icon:'',action:"fitY"},reset:{icon:'',action:"reset"},toggleFS:{icon:'',action:"toggleFS"}};var mt;!function(t){t[t.Init=0]="Init",t[t.Ready=1]="Ready",t[t.Disabled=2]="Disabled"}(mt||(mt={}));const ft={absolute:"auto",display:{left:["infobar"],middle:[],right:["iterateZoom","slideshow","fullscreen","thumbs","close"]},enabled:"auto",items:{infobar:{tpl:'
    /
    '},download:{tpl:''},prev:{tpl:''},next:{tpl:''},slideshow:{tpl:''},fullscreen:{tpl:''},thumbs:{tpl:''},close:{tpl:''}},parentEl:null},gt={tabindex:"-1",width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"};class bt extends F{constructor(){super(...arguments),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:mt.Init}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null})}onReady(t){var e;if(!t.carousel)return;let i=this.option("display"),n=this.option("absolute"),s=this.option("enabled");if("auto"===s){const t=this.instance.carousel;let e=0;if(t)for(const i of t.slides)(i.panzoom||"image"===i.type)&&e++;e||(s=!1)}s||(i=void 0);let o=0;const a={left:[],middle:[],right:[]};if(i)for(const t of["left","middle","right"])for(const n of i[t]){const i=this.createEl(n);i&&(null===(e=a[t])||void 0===e||e.push(i),o++)}let r=null;if(o&&(r=this.createContainer()),r){for(const[t,e]of Object.entries(a)){const i=document.createElement("div");E(i,"fancybox__toolbar__column is-"+t);for(const t of e)i.appendChild(t);"auto"!==n||"middle"!==t||e.length||(n=!0),r.appendChild(i)}!0===n&&E(r,"is-absolute"),this.state=mt.Ready,this.onRefresh()}else this.state=mt.Disabled}onClick(t){var e,i;const n=this.instance,s=n.getSlide(),o=null==s?void 0:s.panzoom,a=t.target,r=a&&x(a)?a.dataset:null;if(!r)return;if(void 0!==r.fancyboxToggleThumbs)return t.preventDefault(),t.stopPropagation(),void(null===(e=n.plugins.Thumbs)||void 0===e||e.toggle());if(void 0!==r.fancyboxToggleFullscreen)return t.preventDefault(),t.stopPropagation(),void this.instance.toggleFullscreen();if(void 0!==r.fancyboxToggleSlideshow){t.preventDefault(),t.stopPropagation();const e=null===(i=n.carousel)||void 0===i?void 0:i.plugins.Autoplay;let s=e.isActive;return o&&"mousemove"===o.panMode&&!s&&o.reset(),void(s?e.stop():e.start())}const l=r.panzoomAction,c=r.panzoomChange;if((c||l)&&(t.preventDefault(),t.stopPropagation()),c){let t={};try{t=JSON.parse(c)}catch(t){}o&&o.applyChange(t)}else l&&o&&o[l]&&o[l]()}onChange(){this.onRefresh()}onRefresh(){if(this.instance.isClosing())return;const t=this.container;if(!t)return;const e=this.instance.getSlide();if(!e||e.state!==G.Ready)return;const i=e&&!e.error&&e.panzoom;for(const e of t.querySelectorAll("[data-panzoom-action]"))i?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));let n=i&&i.canZoomIn(),s=i&&i.canZoomOut();for(const e of t.querySelectorAll('[data-panzoom-action="zoomIn"]'))n?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));for(const e of t.querySelectorAll('[data-panzoom-action="zoomOut"]'))s?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));for(const e of t.querySelectorAll('[data-panzoom-action="toggleZoom"],[data-panzoom-action="iterateZoom"]')){s||n?(e.removeAttribute("disabled"),e.removeAttribute("tabindex")):(e.setAttribute("disabled",""),e.setAttribute("tabindex","-1"));const t=e.querySelector("g");t&&(t.style.display=n?"":"none")}}onDone(t,e){var i;null===(i=e.panzoom)||void 0===i||i.on("afterTransform",(()=>{this.instance.isCurrentSlide(e)&&this.onRefresh()})),this.instance.isCurrentSlide(e)&&this.onRefresh()}createContainer(){const t=this.instance.container;if(!t)return null;const e=this.option("parentEl")||t,i=document.createElement("div");return E(i,"fancybox__toolbar"),e.prepend(i),i.addEventListener("click",this.onClick,{passive:!1,capture:!0}),t&&E(t,"has-toolbar"),this.container=i,i}createEl(t){var e;const i=this.instance.carousel;if(!i)return null;if("toggleFS"===t)return null;if("fullscreen"===t&&!this.instance.fsAPI)return null;let s=null;const o=i.slides.length||0;let a=0,r=0;for(const t of i.slides)(t.panzoom||"image"===t.type)&&a++,("image"===t.type||t.downloadSrc)&&r++;if(o<2&&["infobar","prev","next"].includes(t))return s;if(void 0!==pt[t]&&!a)return null;if("download"===t&&!r)return null;if("thumbs"===t){const t=this.instance.plugins.Thumbs;if(!t||!t.isEnabled)return null}if("slideshow"===t){if(!(null===(e=this.instance.carousel)||void 0===e?void 0:e.plugins.Autoplay)||o<2)return null}if(void 0!==pt[t]){const e=pt[t];s=document.createElement("button"),s.setAttribute("title",this.instance.localize(`{{${t.toUpperCase()}}}`)),E(s,"f-button"),e.action&&(s.dataset.panzoomAction=e.action),e.change&&(s.dataset.panzoomChange=JSON.stringify(e.change)),s.appendChild(n(this.instance.localize(e.icon)))}else{const e=(this.option("items")||[])[t];e&&(s=n(this.instance.localize(e.tpl)),"function"==typeof e.click&&s.addEventListener("click",(t=>{t.preventDefault(),t.stopPropagation(),"function"==typeof e.click&&e.click.call(this,this,t)})))}const l=null==s?void 0:s.querySelector("svg");if(l)for(const[t,e]of Object.entries(gt))l.getAttribute(t)||l.setAttribute(t,String(e));return s}removeContainer(){var t;const e=this.container;e&&e.removeEventListener("click",this.onClick,{passive:!1,capture:!0}),null===(t=this.container)||void 0===t||t.remove(),this.container=null,this.state=mt.Disabled;const i=this.instance.container;i&&S(i,"has-toolbar")}attach(){this.instance.on("Carousel.initSlides",this.onReady),this.instance.on("done",this.onDone),this.instance.on("reveal",this.onChange),this.instance.on("Carousel.change",this.onChange),this.onReady(this.instance)}detach(){this.instance.off("Carousel.initSlides",this.onReady),this.instance.off("done",this.onDone),this.instance.off("reveal",this.onChange),this.instance.off("Carousel.change",this.onChange),this.removeContainer()}}Object.defineProperty(bt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:ft});const vt={Hash:J,Html:ot,Images:et,Slideshow:rt,Thumbs:ut,Toolbar:bt},yt="is-animated";let wt=null,xt=null;const St=new Map;let Et=0;class Pt extends f{get isIdle(){return this.idle}get isCompact(){return this.option("compact")}constructor(t=[],e={},i={}){super(e),Object.defineProperty(this,"userSlides",{enumerable:!0,configurable:!0,writable:!0,value:[]}),Object.defineProperty(this,"userPlugins",{enumerable:!0,configurable:!0,writable:!0,value:{}}),Object.defineProperty(this,"idle",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"idleTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"clickTimer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"prevWheelTime",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"ignoreFocusChange",{enumerable:!0,configurable:!0,writable:!0,value:!1}),Object.defineProperty(this,"state",{enumerable:!0,configurable:!0,writable:!0,value:U.Init}),Object.defineProperty(this,"id",{enumerable:!0,configurable:!0,writable:!0,value:0}),Object.defineProperty(this,"container",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"footer",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"caption",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"carousel",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"lastFocus",{enumerable:!0,configurable:!0,writable:!0,value:null}),Object.defineProperty(this,"prevMouseMoveEvent",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"fsAPI",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),this.fsAPI=(()=>{let t,e="",i="",n="";return document.fullscreenEnabled?(e="requestFullscreen",i="exitFullscreen",n="fullscreenElement"):document.webkitFullscreenEnabled&&(e="webkitRequestFullscreen",i="webkitExitFullscreen",n="webkitFullscreenElement"),e&&(t={request:function(t){return"webkitRequestFullscreen"===e?t[e](Element.ALLOW_KEYBOARD_INPUT):t[e]()},exit:function(){return document[n]&&document[i]()},isFullscreen:function(){return document[n]}}),t})(),this.id=e.id||++Et,St.set(this.id,this),this.userSlides=t,this.userPlugins=i,queueMicrotask((()=>{this.init()}))}init(){this.state=U.Init,this.attachPlugins(Object.assign(Object.assign({},Pt.Plugins),this.userPlugins)),this.emit("init"),!0===this.option("hideScrollbar")&&(()=>{if(!X)return;if(document.body.classList.contains("compensate-for-scrollbar"))return;const t=window.innerWidth-document.documentElement.getBoundingClientRect().width;t>1&&(document.documentElement.style.setProperty("--fancybox-scrollbar-compensate",`${t}px`),document.body.classList.add("compensate-for-scrollbar"))})(),this.initLayout();const t=()=>{this.initCarousel(this.userSlides),this.state=U.Ready,this.attachEvents(),this.emit("ready"),setTimeout((()=>{this.container&&this.container.setAttribute("aria-hidden","false")}),16)};this.option("Fullscreen.autoStart")&&this.fsAPI&&!this.fsAPI.isFullscreen()?this.fsAPI.request(this.container).then((()=>t())).catch((()=>t())):t()}initLayout(){const t=this.option("parentEl")||document.body,e=n(this.localize(this.option("tpl.main")||""));e&&(e.setAttribute("id",`fancybox-${this.id}`),e.setAttribute("aria-label",this.localize("{{MODAL}}")),e.classList.toggle("is-compact",this.isCompact),E(e,this.option("mainClass")||""),this.container=e,this.footer=e.querySelector(".fancybox__footer"),t.appendChild(e),document.documentElement.classList.add("with-fancybox"),wt&&xt||(wt=document.createElement("button"),wt.classList.add("fancybox-focus-guard"),wt.setAttribute("aria-hidden","true"),wt.setAttribute("aria-label","Focus guard"),wt.setAttribute("type","button"),xt=wt.cloneNode(),document.body.insertBefore(wt,e),document.body.append(xt)),this.option("animated")&&(e.classList.add(yt),setTimeout((()=>{this.isClosing()||e.classList.remove(yt)}),350)),this.emit("initLayout"))}initCarousel(t){const e=this.container;if(!e)return;const i=e.querySelector(".fancybox__carousel");if(!i)return;const n=this.carousel=new W(i,u({},{slides:t,transition:"fade",Panzoom:{lockAxis:this.option("dragToClose")?"xy":"x",infinite:!!this.option("dragToClose")&&"y"},Dots:!1,Navigation:{classes:{container:"fancybox__nav",button:"f-button",isNext:"is-next",isPrev:"is-prev"}},initialPage:this.option("startIndex"),l10n:this.option("l10n")},this.option("Carousel")||{}));n.on("*",((t,e,...i)=>{this.emit(`Carousel.${e}`,t,...i)})),n.on(["ready","change"],(()=>{this.manageCaption(this.getSlide())})),n.on("removeSlide",((t,e)=>{e.closeBtnEl&&e.closeBtnEl.remove(),e.closeBtnEl=void 0,e.captionEl&&e.captionEl.remove(),e.captionEl=void 0,e.spinnerEl&&e.spinnerEl.remove(),e.spinnerEl=void 0,e.state=void 0})),n.on("Panzoom.touchStart",(()=>{this.isCompact||this.endIdle()})),n.on("settle",(()=>{this.idleTimer||this.isCompact||!this.option("idle")||this.setIdle(),this.option("autoFocus")&&this.checkFocus()})),this.option("dragToClose")&&(n.on("Panzoom.afterTransform",((t,e)=>{const i=this.container;if(i){const t=Math.abs(e.current.f),n=t<1?"":Math.max(.5,Math.min(1,1-t/e.contentRect.fitHeight*1.5));i.style.setProperty("--fancybox-ts",n?"0s":""),i.style.setProperty("--fancybox-opacity",n+"")}})),n.on("Panzoom.touchEnd",((t,e,i)=>{var n;if(e.isMobile&&document.activeElement&&-1!==["TEXTAREA","INPUT","SELECT"].indexOf(null===(n=document.activeElement)||void 0===n?void 0:n.nodeName))return;const s=this.getSlide();if(s&&s.el&&s.el.scrollHeight>s.el.clientHeight)return;const o=Math.abs(e.dragOffset.y);"y"===e.lockedAxis&&(o>=200||o>=50&&e.dragOffset.time<300)&&(i&&i.cancelable&&i.preventDefault(),this.close(i,"f-throwOut"+(e.current.f<0?"Up":"Down")))}))),n.on(["change"],(t=>{var e;let i=null===(e=this.getSlide())||void 0===e?void 0:e.triggerEl;if(i){const e=new CustomEvent("slideTo",{bubbles:!0,cancelable:!0,detail:t.page});i.dispatchEvent(e)}})),n.on(["refresh","change"],(t=>{const e=this.container;if(!e)return;for(const i of e.querySelectorAll("[data-fancybox-current-index]"))i.innerHTML=t.page+1;for(const i of e.querySelectorAll("[data-fancybox-count]"))i.innerHTML=t.pages.length;if(!t.isInfinite){for(const i of e.querySelectorAll("[data-fancybox-next]"))t.page0?(i.removeAttribute("disabled"),i.removeAttribute("tabindex")):(i.setAttribute("disabled",""),i.setAttribute("tabindex","-1"))}const i=this.getSlide();let n=(null==i?void 0:i.downloadSrc)||"";n||!i||"image"!==i.type||i.error||"string"!=typeof i.src||(n=i.src);for(const t of e.querySelectorAll("[data-fancybox-download]"))n?(t.removeAttribute("disabled"),t.removeAttribute("tabindex"),t.setAttribute("href",n),t.setAttribute("download",n),t.setAttribute("target","_blank")):(t.setAttribute("disabled",""),t.setAttribute("tabindex","-1"),t.removeAttribute("href"),t.removeAttribute("download"))})),this.emit("initCarousel")}attachEvents(){const t=this.container;t&&(t.addEventListener("click",this.onClick,{passive:!1,capture:!1}),t.addEventListener("wheel",this.onWheel,{passive:!1,capture:!1}),document.addEventListener("keydown",this.onKeydown,{passive:!1,capture:!0}),document.addEventListener("visibilitychange",this.onVisibilityChange,!1),document.addEventListener("mousemove",this.onMousemove),this.option("trapFocus")&&document.addEventListener("focus",this.onFocus,!0),window.addEventListener("resize",this.onResize))}detachEvents(){const t=this.container;t&&(document.removeEventListener("keydown",this.onKeydown,{passive:!1,capture:!0}),t.removeEventListener("wheel",this.onWheel,{passive:!1,capture:!1}),t.removeEventListener("click",this.onClick,{passive:!1,capture:!1}),document.removeEventListener("mousemove",this.onMousemove),window.removeEventListener("resize",this.onResize),document.removeEventListener("visibilitychange",this.onVisibilityChange,!1),document.removeEventListener("focus",this.onFocus,!0))}onClick(t){var e,i;if(this.isClosing())return;!this.isCompact&&this.option("idle")&&this.resetIdle();const n=t.composedPath()[0];if(n===(null===(e=this.carousel)||void 0===e?void 0:e.container))return;if(n.closest(".f-spinner")||n.closest("[data-fancybox-close]"))return t.preventDefault(),void this.close(t);if(n.closest("[data-fancybox-prev]"))return t.preventDefault(),void this.prev();if(n.closest("[data-fancybox-next]"))return t.preventDefault(),void this.next();if(this.isCompact&&"image"===(null===(i=this.getSlide())||void 0===i?void 0:i.type))return void(this.clickTimer?(clearTimeout(this.clickTimer),this.clickTimer=null):this.clickTimer=setTimeout((()=>{this.toggleIdle(),this.clickTimer=null}),350));if(this.emit("click",t),t.defaultPrevented)return;let s=!1;const o=document.activeElement;if(n.closest(".fancybox__content")){if(o){if(o.closest("[contenteditable]"))return;n.matches(q)||o.blur()}if((a=window.getSelection())&&"Range"===a.type)return;s=this.option("contentClick")}else n.closest(".fancybox__carousel")&&!n.matches(q)&&(s=this.option("backdropClick"));var a;"close"===s?(t.preventDefault(),this.close(t)):"next"===s?(t.preventDefault(),this.next()):"prev"===s&&(t.preventDefault(),this.prev())}onWheel(t){const e=t.wheelDeltaY?t.wheelDeltaY===-3*t.deltaY:0===t.deltaMode,i=Date.now();if(this.prevWheelTime&&i-this.prevWheelTime<(e?600:300))return void t.preventDefault();if(this.prevWheelTime=i,this.emit("wheel",t),t.defaultPrevented)return;const n=this.option("wheel",t);if("close"===n)t.preventDefault(),this.close(t);else if("slide"===n){t.preventDefault();this[Math.max(-1,Math.min(1,-t.deltaY||-t.deltaX||-t.detail))>0?"prev":"next"]()}}onKeydown(t){if(!this.isTopmost())return;this.isCompact||!this.option("idle")||this.isClosing()||this.resetIdle();const e=t.key,i=this.option("keyboard");if(!i||t.ctrlKey||t.altKey||t.shiftKey)return;const n=t.composedPath()[0],s=document.activeElement&&document.activeElement.classList,o=s&&s.contains("f-button")||n.dataset.carouselPage||n.dataset.carouselIndex;if("Escape"!==e&&!o&&x(n)){if(n.isContentEditable||-1!==["BUTTON","TEXTAREA","OPTION","INPUT","SELECT","VIDEO"].indexOf(n.nodeName))return}this.emit("keydown",e,t);const a=i[e];"function"==typeof this[a]&&(t.preventDefault(),this[a]())}onResize(){const t=this.container;if(!t)return;const e=this.isCompact;t.classList.toggle("is-compact",e),this.manageCaption(this.getSlide()),this.isCompact?this.clearIdle():this.endIdle(),this.emit("resize")}onFocus(t){this.isTopmost()&&this.checkFocus(t)}onMousemove(t){this.prevMouseMoveEvent=t,!this.isCompact&&this.option("idle")&&this.resetIdle()}onVisibilityChange(){"visible"===document.visibilityState?this.checkFocus():this.endIdle()}manageCloseBtn(t){const e=this.optionFor(t,"closeButton")||!1;if("auto"===e){const t=this.plugins.Toolbar;if(t&&t.state===mt.Ready)return}if(!e)return;if(!t.contentEl||t.closeBtnEl)return;const i=this.option("tpl.closeButton");if(i){const e=n(this.localize(i));t.closeBtnEl=t.contentEl.appendChild(e),t.el&&E(t.el,"has-close-btn")}}manageCaption(t){var e,i,n;const s=this.container;if(!s)return;const o=this.isCompact||this.option("commonCaption"),a=!o;if(this.caption&&this.stop(this.caption),a&&this.caption&&(this.caption.remove(),this.caption=null),o&&!this.caption)for(const t of(null===(e=this.carousel)||void 0===e?void 0:e.slides)||[])t.captionEl&&(t.captionEl.remove(),t.captionEl=void 0,null===(i=t.el)||void 0===i||i.classList.remove("has-caption"),null===(n=t.el)||void 0===n||n.removeAttribute("aria-labelledby"));if(t||(t=this.getSlide()),!t||o&&!this.isCurrentSlide(t))return;const r=t.el;let l=this.optionFor(t,"caption","");if("string"!=typeof l||!l.length)return void(o&&this.caption&&this.animate(this.caption,"f-fadeOut",(()=>{var t;null===(t=this.caption)||void 0===t||t.remove(),this.caption=null})));let c=null;if(a){if(c=t.captionEl||null,r&&!c){const e=`fancybox__caption_${this.id}_${t.index}`;c=document.createElement("div"),c.className="fancybox__caption",c.setAttribute("id",e),t.captionEl=r.appendChild(c),r.classList.add("has-caption"),r.setAttribute("aria-labelledby",e)}}else{if(c=this.caption,c||(c=s.querySelector(".fancybox__caption")),!c){c=document.createElement("div"),c.dataset.fancyboxCaption="",c.className="fancybox__caption",c.innerHTML=l;(this.footer||s).prepend(c)}s.classList.add("has-caption"),this.caption=c}c&&(c.innerHTML=l)}checkFocus(t){var e;const i=document.activeElement||null;i&&(null===(e=this.container)||void 0===e?void 0:e.contains(i))||this.focus(t)}focus(t){var e;if(this.ignoreFocusChange)return;const i=document.activeElement||null,n=(null==t?void 0:t.target)||null,s=this.container,o=this.getSlide();if(!s||!(null===(e=this.carousel)||void 0===e?void 0:e.viewport))return;if(!t&&i&&s.contains(i))return;const a=o&&o.state===G.Ready?o.el:null;if(!a||a.contains(i)||s===i)return;t&&t.cancelable&&t.preventDefault(),this.ignoreFocusChange=!0;const r=Array.from(s.querySelectorAll(q));let l=[],c=null;for(let t of r){const e=!t.offsetParent||t.closest('[aria-hidden="true"]'),i=a&&a.contains(t),n=!this.carousel.viewport.contains(t);t===s||(i||n)&&!e?(l.push(t),void 0!==t.dataset.origTabindex&&(t.tabIndex=parseFloat(t.dataset.origTabindex)),t.removeAttribute("data-orig-tabindex"),!t.hasAttribute("autoFocus")&&c||(c=t)):(t.dataset.origTabindex=void 0===t.dataset.origTabindex?t.getAttribute("tabindex")||void 0:t.dataset.origTabindex,t.tabIndex=-1)}let h=null;t?(!n||l.indexOf(n)<0)&&(h=c||s,l.length&&(i===xt?h=l[0]:this.lastFocus!==s&&i!==wt||(h=l[l.length-1]))):h=o&&"image"===o.type?s:c||s,h&&Z(h),this.lastFocus=document.activeElement,this.ignoreFocusChange=!1}next(){const t=this.carousel;t&&t.pages.length>1&&t.slideNext()}prev(){const t=this.carousel;t&&t.pages.length>1&&t.slidePrev()}jumpTo(...t){this.carousel&&this.carousel.slideTo(...t)}isTopmost(){var t;return(null===(t=Pt.getInstance())||void 0===t?void 0:t.id)==this.id}animate(t=null,e="",i){if(!t||!e)return void(i&&i());this.stop(t);const n=s=>{s.target===t&&t.dataset.animationName&&(t.removeEventListener("animationend",n),delete t.dataset.animationName,i&&i(),t.classList.remove(e))};t.dataset.animationName=e,t.addEventListener("animationend",n),t.classList.add(e)}stop(t){t&&t.dispatchEvent(new CustomEvent("animationend",{bubbles:!1,cancelable:!0,currentTarget:t}))}setContent(t,e="",i=!0){if(this.isClosing())return;const n=t.el;if(!n)return;let s=null;if(x(e))["img","iframe","video","audio"].includes(e.nodeName.toLowerCase())?(s=document.createElement("div"),s.appendChild(e)):s=e;else{const t=document.createRange().createContextualFragment(e);s=document.createElement("div"),s.appendChild(t)}s instanceof Element&&t.filter&&!t.error&&(s=s.querySelector(t.filter)),s instanceof Element?(s.classList.add("fancybox__content"),t.id&&s.setAttribute("id",t.id),"none"!==s.style.display&&"none"!==getComputedStyle(s).getPropertyValue("display")||(s.style.display=t.display||this.option("defaultDisplay")||"flex"),n.classList.add(`has-${t.error?"error":t.type||"unknown"}`),n.prepend(s),t.contentEl=s,i&&this.revealContent(t),this.manageCloseBtn(t),this.manageCaption(t)):this.setError(t,"{{ELEMENT_NOT_FOUND}}")}revealContent(t,e){const i=t.el,n=t.contentEl;i&&n&&(this.emit("reveal",t),this.hideLoading(t),t.state=G.Opening,(e=this.isOpeningSlide(t)?void 0===e?this.optionFor(t,"showClass"):e:"f-fadeIn")?this.animate(n,e,(()=>{this.done(t)})):this.done(t))}done(t){var e;this.isClosing()||(t.state=G.Ready,this.emit("done",t),null===(e=t.el)||void 0===e||e.classList.add("is-done"),this.isCurrentSlide(t)&&this.option("autoFocus")&&queueMicrotask((()=>{this.option("autoFocus")&&(this.option("autoFocus")?this.focus():this.checkFocus())})),this.isOpeningSlide(t)&&!this.isCompact&&this.option("idle")&&this.setIdle())}isCurrentSlide(t){const e=this.getSlide();return!(!t||!e)&&e.index===t.index}isOpeningSlide(t){var e,i;return null===(null===(e=this.carousel)||void 0===e?void 0:e.prevPage)&&t.index===(null===(i=this.getSlide())||void 0===i?void 0:i.index)}showLoading(t){t.state=G.Loading;const e=t.el;if(!e)return;e.classList.add("is-loading"),this.emit("loading",t),t.spinnerEl||setTimeout((()=>{if(!this.isClosing()&&!t.spinnerEl&&t.state===G.Loading){let i=n(w);t.spinnerEl=i,e.prepend(i),this.animate(i,"f-fadeIn")}}),250)}hideLoading(t){const e=t.el;if(!e)return;const i=t.spinnerEl;this.isClosing()?null==i||i.remove():(e.classList.remove("is-loading"),i&&this.animate(i,"f-fadeOut",(()=>{i.remove()})),t.state===G.Loading&&(this.emit("loaded",t),t.state=G.Ready))}setError(t,e){if(this.isClosing())return;this.emit("error"),t.error=e,this.hideLoading(t),this.clearContent(t);const i=document.createElement("div");i.classList.add("fancybox-error"),i.innerHTML=this.localize(e||"

    {{ERROR}}

    "),this.setContent(t,i)}clearContent(t){var e;null===(e=this.carousel)||void 0===e||e.emit("removeSlide",t),t.contentEl&&(t.contentEl.remove(),t.contentEl=void 0),t.closeBtnEl&&(t.closeBtnEl.remove(),t.closeBtnEl=void 0);const i=t.el;i&&(S(i,"is-loading"),S(i,"has-error"),S(i,"has-unknown"),S(i,`has-${t.type||"unknown"}`))}getSlide(){var t;const e=this.carousel;return(null===(t=null==e?void 0:e.pages[null==e?void 0:e.page])||void 0===t?void 0:t.slides[0])||void 0}close(t,e){if(this.isClosing())return;const i=new Event("shouldClose",{bubbles:!0,cancelable:!0});if(this.emit("shouldClose",i,t),i.defaultPrevented)return;t&&t.cancelable&&(t.preventDefault(),t.stopPropagation());const n=this.fsAPI,s=()=>{this.proceedClose(t,e)};n&&n.isFullscreen()?Promise.resolve(n.exit()).then((()=>s())):s()}clearIdle(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=null}setIdle(t=!1){const e=()=>{var t;this.clearIdle(),this.idle=!0,null===(t=this.container)||void 0===t||t.classList.add("is-idle"),this.emit("setIdle")};if(this.clearIdle(),!this.isClosing())if(t)e();else{const t=this.option("idle");t&&(this.idleTimer=setTimeout(e,t))}}endIdle(){var t;this.clearIdle(),this.idle&&!this.isClosing()&&(this.idle=!1,null===(t=this.container)||void 0===t||t.classList.remove("is-idle"),this.emit("endIdle"))}resetIdle(){this.endIdle(),this.setIdle()}toggleIdle(){this.idle?this.endIdle():this.setIdle(!0)}toggleFullscreen(){const t=this.fsAPI;t&&(t.isFullscreen()?t.exit():this.container&&t.request(this.container))}isClosing(){return[U.Closing,U.CustomClosing,U.Destroy].includes(this.state)}proceedClose(t,e){var i,n;this.state=U.Closing,this.clearIdle(),this.detachEvents();const s=this.container,o=this.carousel,a=this.getSlide();if(a){const t=this.option("placeFocusBack")?(null===(i=this.getSlide())||void 0===i?void 0:i.triggerEl)||this.option("trigger"):null;t&&($(t)?Z(t):t.focus())}if(s&&(E(s,"is-closing"),s.setAttribute("aria-hidden","true"),this.option("animated")&&E(s,yt),s.style.pointerEvents="none"),o){o.clearTransitions(),null===(n=o.panzoom)||void 0===n||n.destroy();for(const t of o.slides){t.state=G.Closing,this.hideLoading(t);const e=t.contentEl;e&&this.stop(e);const i=null==t?void 0:t.panzoom;i&&(i.stop(),i.detachEvents(),i.detachObserver()),this.isCurrentSlide(t)||o.emit("removeSlide",t)}}this.emit("close",t),this.state!==U.CustomClosing?(void 0===e&&a&&(e=this.optionFor(a,"hideClass")),e&&a?(this.animate(a.contentEl,e,(()=>{o&&o.emit("removeSlide",a)})),setTimeout((()=>{this.destroy()}),350)):this.destroy()):setTimeout((()=>{this.destroy()}),350)}destroy(){var t;if(this.state===U.Destroy)return;this.state=U.Destroy,null===(t=this.carousel)||void 0===t||t.destroy();const e=this.container;e&&e.remove(),St.delete(this.id);const i=Pt.getInstance();i?i.focus():(wt&&(wt.remove(),wt=null),xt&&(xt.remove(),xt=null),document.documentElement.classList.remove("with-fancybox"),X&&(document.documentElement.style.setProperty("--fancybox-scrollbar-compensate",""),document.body.classList.remove("compensate-for-scrollbar")))}static bind(t,e,i){if(!X)return;let n,s="",o={};if("string"==typeof t?(n=document.body,s=t,"object"==typeof e&&(o=e||{})):(n=t,"string"==typeof e&&(s=e),"object"==typeof i&&(o=i||{})),!n)return;s=s||"[data-fancybox]";const a=Pt.openers.get(n)||new Map;a.set(s,o),Pt.openers.set(n,a),1===a.size&&n.addEventListener("click",Pt.fromEvent)}static unbind(t,e){let i,n="";if("string"==typeof t?(i=document.body,n=t):(i=t,"string"==typeof e&&(n=e)),!i)return;const s=Pt.openers.get(i);s&&n&&s.delete(n),n&&s||(Pt.openers.delete(i),i.removeEventListener("click",Pt.fromEvent))}static destroy(){let t;for(;t=Pt.getInstance();)t.destroy();for(const t of Pt.openers.keys())t.removeEventListener("click",Pt.fromEvent);Pt.openers=new Map}static fromEvent(t){if(t.defaultPrevented)return;if(t.button&&0!==t.button)return;if(t.ctrlKey||t.metaKey||t.shiftKey)return;let e=t.composedPath()[0];const i=e.closest("[data-fancybox-trigger]");if(i){const t=i.dataset.fancyboxTrigger||"",n=document.querySelectorAll(`[data-fancybox="${t}"]`),s=parseInt(i.dataset.fancyboxIndex||"",10)||0;e=n[s]||e}if(!(e&&e instanceof Element))return;let n,s,o,a;if([...Pt.openers].reverse().find((([t,i])=>!(!t.contains(e)||![...i].reverse().find((([i,r])=>{let l=e.closest(i);return!!l&&(n=t,s=i,o=l,a=r,!0)}))))),!n||!s||!o)return;a=a||{},t.preventDefault(),e=o;let r=[],l=u({},V,a);l.event=t,l.trigger=e,l.delegate=i;const c=l.groupAll,h=l.groupAttr,d=h&&e?e.getAttribute(`${h}`):"";if((!e||d||c)&&(r=[].slice.call(n.querySelectorAll(s))),e&&!c&&(r=d?r.filter((t=>t.getAttribute(`${h}`)===d)):[e]),!r.length)return;const p=Pt.getInstance();return p&&p.options.trigger&&r.indexOf(p.options.trigger)>-1?void 0:(e&&(l.startIndex=r.indexOf(e)),Pt.fromNodes(r,l))}static fromNodes(t,e){e=u({},V,e);const i=[];for(const n of t){const t=n.dataset||{},s=t.src||n.getAttribute("href")||n.getAttribute("currentSrc")||n.getAttribute("src")||void 0;let o;const a=e.delegate;let r;a&&i.length===e.startIndex&&(o=a instanceof HTMLImageElement?a:a.querySelector("img:not([aria-hidden])")),o||(o=n instanceof HTMLImageElement?n:n.querySelector("img:not([aria-hidden])")),o&&(r=o.currentSrc||o.src||void 0,!r&&o.dataset&&(r=o.dataset.lazySrc||o.dataset.src||void 0));const l={src:s,triggerEl:n,thumbEl:o,thumbElSrc:r,thumbSrc:r};for(const e in t)"fancybox"!==e&&(l[e]=t[e]+"");i.push(l)}return new Pt(i,e)}static getInstance(t){if(t)return St.get(t);return Array.from(St.values()).reverse().find((t=>!t.isClosing()&&t))||null}static getSlide(){var t;return(null===(t=Pt.getInstance())||void 0===t?void 0:t.getSlide())||null}static show(t=[],e={}){return new Pt(t,e)}static next(){const t=Pt.getInstance();t&&t.next()}static prev(){const t=Pt.getInstance();t&&t.prev()}static close(t=!0,...e){if(t)for(const t of St.values())t.close(...e);else{const t=Pt.getInstance();t&&t.close(...e)}}}Object.defineProperty(Pt,"version",{enumerable:!0,configurable:!0,writable:!0,value:"5.0.8"}),Object.defineProperty(Pt,"defaults",{enumerable:!0,configurable:!0,writable:!0,value:V}),Object.defineProperty(Pt,"Plugins",{enumerable:!0,configurable:!0,writable:!0,value:vt}),Object.defineProperty(Pt,"openers",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),t.Carousel=W,t.Fancybox=Pt,t.Panzoom=A})); diff --git a/cdn/@fortawesome/fontawesome-free/css/all.min.css b/cdn/@fortawesome/fontawesome-free/css/all.min.css new file mode 100644 index 00000000..df7439bc --- /dev/null +++ b/cdn/@fortawesome/fontawesome-free/css/all.min.css @@ -0,0 +1,9 @@ +/*! + * Font Awesome Free 6.3.0 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + * Copyright 2023 Fonticons, Inc. + */ +.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-classic,.fa-regular,.fa-sharp,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{-webkit-animation-name:fa-beat;animation-name:fa-beat;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{-webkit-animation-name:fa-bounce;animation-name:fa-bounce;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{-webkit-animation-name:fa-fade;animation-name:fa-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{-webkit-animation-name:fa-beat-fade;animation-name:fa-beat-fade;-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1));animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{-webkit-animation-name:fa-flip;animation-name:fa-flip;-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,ease-in-out);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{-webkit-animation-name:fa-shake;animation-name:fa-shake;-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{-webkit-animation-delay:var(--fa-animation-delay,0s);animation-delay:var(--fa-animation-delay,0s);-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-duration:var(--fa-animation-duration,2s);animation-duration:var(--fa-animation-duration,2s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,linear);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{-webkit-animation-name:fa-spin;animation-name:fa-spin;-webkit-animation-direction:var(--fa-animation-direction,normal);animation-direction:var(--fa-animation-direction,normal);-webkit-animation-duration:var(--fa-animation-duration,1s);animation-duration:var(--fa-animation-duration,1s);-webkit-animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-iteration-count:var(--fa-animation-iteration-count,infinite);-webkit-animation-timing-function:var(--fa-animation-timing,steps(8));animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{-webkit-animation-delay:-1ms;animation-delay:-1ms;-webkit-animation-duration:1ms;animation-duration:1ms;-webkit-animation-iteration-count:1;animation-iteration-count:1;-webkit-transition-delay:0s;transition-delay:0s;-webkit-transition-duration:0s;transition-duration:0s}}@-webkit-keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-beat{0%,90%{-webkit-transform:scale(1);transform:scale(1)}45%{-webkit-transform:scale(var(--fa-beat-scale,1.25));transform:scale(var(--fa-beat-scale,1.25))}}@-webkit-keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@keyframes fa-bounce{0%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}10%{-webkit-transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0);transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{-webkit-transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em));transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{-webkit-transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0);transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{-webkit-transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em));transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}to{-webkit-transform:scale(1) translateY(0);transform:scale(1) translateY(0)}}@-webkit-keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@-webkit-keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);-webkit-transform:scale(1);transform:scale(1)}50%{opacity:1;-webkit-transform:scale(var(--fa-beat-fade-scale,1.125));transform:scale(var(--fa-beat-fade-scale,1.125))}}@-webkit-keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-flip{50%{-webkit-transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg));transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@-webkit-keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@keyframes fa-shake{0%{-webkit-transform:rotate(-15deg);transform:rotate(-15deg)}4%{-webkit-transform:rotate(15deg);transform:rotate(15deg)}8%,24%{-webkit-transform:rotate(-18deg);transform:rotate(-18deg)}12%,28%{-webkit-transform:rotate(18deg);transform:rotate(18deg)}16%{-webkit-transform:rotate(-22deg);transform:rotate(-22deg)}20%{-webkit-transform:rotate(22deg);transform:rotate(22deg)}32%{-webkit-transform:rotate(-12deg);transform:rotate(-12deg)}36%{-webkit-transform:rotate(12deg);transform:rotate(12deg)}40%,to{-webkit-transform:rotate(0deg);transform:rotate(0deg)}}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}.fa-rotate-by{-webkit-transform:rotate(var(--fa-rotate-angle,none));transform:rotate(var(--fa-rotate-angle,none))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)} + +.fa-0:before{content:"\30"}.fa-1:before{content:"\31"}.fa-2:before{content:"\32"}.fa-3:before{content:"\33"}.fa-4:before{content:"\34"}.fa-5:before{content:"\35"}.fa-6:before{content:"\36"}.fa-7:before{content:"\37"}.fa-8:before{content:"\38"}.fa-9:before{content:"\39"}.fa-fill-drip:before{content:"\f576"}.fa-arrows-to-circle:before{content:"\e4bd"}.fa-chevron-circle-right:before,.fa-circle-chevron-right:before{content:"\f138"}.fa-at:before{content:"\40"}.fa-trash-alt:before,.fa-trash-can:before{content:"\f2ed"}.fa-text-height:before{content:"\f034"}.fa-user-times:before,.fa-user-xmark:before{content:"\f235"}.fa-stethoscope:before{content:"\f0f1"}.fa-comment-alt:before,.fa-message:before{content:"\f27a"}.fa-info:before{content:"\f129"}.fa-compress-alt:before,.fa-down-left-and-up-right-to-center:before{content:"\f422"}.fa-explosion:before{content:"\e4e9"}.fa-file-alt:before,.fa-file-lines:before,.fa-file-text:before{content:"\f15c"}.fa-wave-square:before{content:"\f83e"}.fa-ring:before{content:"\f70b"}.fa-building-un:before{content:"\e4d9"}.fa-dice-three:before{content:"\f527"}.fa-calendar-alt:before,.fa-calendar-days:before{content:"\f073"}.fa-anchor-circle-check:before{content:"\e4aa"}.fa-building-circle-arrow-right:before{content:"\e4d1"}.fa-volleyball-ball:before,.fa-volleyball:before{content:"\f45f"}.fa-arrows-up-to-line:before{content:"\e4c2"}.fa-sort-desc:before,.fa-sort-down:before{content:"\f0dd"}.fa-circle-minus:before,.fa-minus-circle:before{content:"\f056"}.fa-door-open:before{content:"\f52b"}.fa-right-from-bracket:before,.fa-sign-out-alt:before{content:"\f2f5"}.fa-atom:before{content:"\f5d2"}.fa-soap:before{content:"\e06e"}.fa-heart-music-camera-bolt:before,.fa-icons:before{content:"\f86d"}.fa-microphone-alt-slash:before,.fa-microphone-lines-slash:before{content:"\f539"}.fa-bridge-circle-check:before{content:"\e4c9"}.fa-pump-medical:before{content:"\e06a"}.fa-fingerprint:before{content:"\f577"}.fa-hand-point-right:before{content:"\f0a4"}.fa-magnifying-glass-location:before,.fa-search-location:before{content:"\f689"}.fa-forward-step:before,.fa-step-forward:before{content:"\f051"}.fa-face-smile-beam:before,.fa-smile-beam:before{content:"\f5b8"}.fa-flag-checkered:before{content:"\f11e"}.fa-football-ball:before,.fa-football:before{content:"\f44e"}.fa-school-circle-exclamation:before{content:"\e56c"}.fa-crop:before{content:"\f125"}.fa-angle-double-down:before,.fa-angles-down:before{content:"\f103"}.fa-users-rectangle:before{content:"\e594"}.fa-people-roof:before{content:"\e537"}.fa-people-line:before{content:"\e534"}.fa-beer-mug-empty:before,.fa-beer:before{content:"\f0fc"}.fa-diagram-predecessor:before{content:"\e477"}.fa-arrow-up-long:before,.fa-long-arrow-up:before{content:"\f176"}.fa-burn:before,.fa-fire-flame-simple:before{content:"\f46a"}.fa-male:before,.fa-person:before{content:"\f183"}.fa-laptop:before{content:"\f109"}.fa-file-csv:before{content:"\f6dd"}.fa-menorah:before{content:"\f676"}.fa-truck-plane:before{content:"\e58f"}.fa-record-vinyl:before{content:"\f8d9"}.fa-face-grin-stars:before,.fa-grin-stars:before{content:"\f587"}.fa-bong:before{content:"\f55c"}.fa-pastafarianism:before,.fa-spaghetti-monster-flying:before{content:"\f67b"}.fa-arrow-down-up-across-line:before{content:"\e4af"}.fa-spoon:before,.fa-utensil-spoon:before{content:"\f2e5"}.fa-jar-wheat:before{content:"\e517"}.fa-envelopes-bulk:before,.fa-mail-bulk:before{content:"\f674"}.fa-file-circle-exclamation:before{content:"\e4eb"}.fa-circle-h:before,.fa-hospital-symbol:before{content:"\f47e"}.fa-pager:before{content:"\f815"}.fa-address-book:before,.fa-contact-book:before{content:"\f2b9"}.fa-strikethrough:before{content:"\f0cc"}.fa-k:before{content:"\4b"}.fa-landmark-flag:before{content:"\e51c"}.fa-pencil-alt:before,.fa-pencil:before{content:"\f303"}.fa-backward:before{content:"\f04a"}.fa-caret-right:before{content:"\f0da"}.fa-comments:before{content:"\f086"}.fa-file-clipboard:before,.fa-paste:before{content:"\f0ea"}.fa-code-pull-request:before{content:"\e13c"}.fa-clipboard-list:before{content:"\f46d"}.fa-truck-loading:before,.fa-truck-ramp-box:before{content:"\f4de"}.fa-user-check:before{content:"\f4fc"}.fa-vial-virus:before{content:"\e597"}.fa-sheet-plastic:before{content:"\e571"}.fa-blog:before{content:"\f781"}.fa-user-ninja:before{content:"\f504"}.fa-person-arrow-up-from-line:before{content:"\e539"}.fa-scroll-torah:before,.fa-torah:before{content:"\f6a0"}.fa-broom-ball:before,.fa-quidditch-broom-ball:before,.fa-quidditch:before{content:"\f458"}.fa-toggle-off:before{content:"\f204"}.fa-archive:before,.fa-box-archive:before{content:"\f187"}.fa-person-drowning:before{content:"\e545"}.fa-arrow-down-9-1:before,.fa-sort-numeric-desc:before,.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-face-grin-tongue-squint:before,.fa-grin-tongue-squint:before{content:"\f58a"}.fa-spray-can:before{content:"\f5bd"}.fa-truck-monster:before{content:"\f63b"}.fa-w:before{content:"\57"}.fa-earth-africa:before,.fa-globe-africa:before{content:"\f57c"}.fa-rainbow:before{content:"\f75b"}.fa-circle-notch:before{content:"\f1ce"}.fa-tablet-alt:before,.fa-tablet-screen-button:before{content:"\f3fa"}.fa-paw:before{content:"\f1b0"}.fa-cloud:before{content:"\f0c2"}.fa-trowel-bricks:before{content:"\e58a"}.fa-face-flushed:before,.fa-flushed:before{content:"\f579"}.fa-hospital-user:before{content:"\f80d"}.fa-tent-arrow-left-right:before{content:"\e57f"}.fa-gavel:before,.fa-legal:before{content:"\f0e3"}.fa-binoculars:before{content:"\f1e5"}.fa-microphone-slash:before{content:"\f131"}.fa-box-tissue:before{content:"\e05b"}.fa-motorcycle:before{content:"\f21c"}.fa-bell-concierge:before,.fa-concierge-bell:before{content:"\f562"}.fa-pen-ruler:before,.fa-pencil-ruler:before{content:"\f5ae"}.fa-people-arrows-left-right:before,.fa-people-arrows:before{content:"\e068"}.fa-mars-and-venus-burst:before{content:"\e523"}.fa-caret-square-right:before,.fa-square-caret-right:before{content:"\f152"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-sun-plant-wilt:before{content:"\e57a"}.fa-toilets-portable:before{content:"\e584"}.fa-hockey-puck:before{content:"\f453"}.fa-table:before{content:"\f0ce"}.fa-magnifying-glass-arrow-right:before{content:"\e521"}.fa-digital-tachograph:before,.fa-tachograph-digital:before{content:"\f566"}.fa-users-slash:before{content:"\e073"}.fa-clover:before{content:"\e139"}.fa-mail-reply:before,.fa-reply:before{content:"\f3e5"}.fa-star-and-crescent:before{content:"\f699"}.fa-house-fire:before{content:"\e50c"}.fa-minus-square:before,.fa-square-minus:before{content:"\f146"}.fa-helicopter:before{content:"\f533"}.fa-compass:before{content:"\f14e"}.fa-caret-square-down:before,.fa-square-caret-down:before{content:"\f150"}.fa-file-circle-question:before{content:"\e4ef"}.fa-laptop-code:before{content:"\f5fc"}.fa-swatchbook:before{content:"\f5c3"}.fa-prescription-bottle:before{content:"\f485"}.fa-bars:before,.fa-navicon:before{content:"\f0c9"}.fa-people-group:before{content:"\e533"}.fa-hourglass-3:before,.fa-hourglass-end:before{content:"\f253"}.fa-heart-broken:before,.fa-heart-crack:before{content:"\f7a9"}.fa-external-link-square-alt:before,.fa-square-up-right:before{content:"\f360"}.fa-face-kiss-beam:before,.fa-kiss-beam:before{content:"\f597"}.fa-film:before{content:"\f008"}.fa-ruler-horizontal:before{content:"\f547"}.fa-people-robbery:before{content:"\e536"}.fa-lightbulb:before{content:"\f0eb"}.fa-caret-left:before{content:"\f0d9"}.fa-circle-exclamation:before,.fa-exclamation-circle:before{content:"\f06a"}.fa-school-circle-xmark:before{content:"\e56d"}.fa-arrow-right-from-bracket:before,.fa-sign-out:before{content:"\f08b"}.fa-chevron-circle-down:before,.fa-circle-chevron-down:before{content:"\f13a"}.fa-unlock-alt:before,.fa-unlock-keyhole:before{content:"\f13e"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-headphones-alt:before,.fa-headphones-simple:before{content:"\f58f"}.fa-sitemap:before{content:"\f0e8"}.fa-circle-dollar-to-slot:before,.fa-donate:before{content:"\f4b9"}.fa-memory:before{content:"\f538"}.fa-road-spikes:before{content:"\e568"}.fa-fire-burner:before{content:"\e4f1"}.fa-flag:before{content:"\f024"}.fa-hanukiah:before{content:"\f6e6"}.fa-feather:before{content:"\f52d"}.fa-volume-down:before,.fa-volume-low:before{content:"\f027"}.fa-comment-slash:before{content:"\f4b3"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-compress:before{content:"\f066"}.fa-wheat-alt:before,.fa-wheat-awn:before{content:"\e2cd"}.fa-ankh:before{content:"\f644"}.fa-hands-holding-child:before{content:"\e4fa"}.fa-asterisk:before{content:"\2a"}.fa-check-square:before,.fa-square-check:before{content:"\f14a"}.fa-peseta-sign:before{content:"\e221"}.fa-header:before,.fa-heading:before{content:"\f1dc"}.fa-ghost:before{content:"\f6e2"}.fa-list-squares:before,.fa-list:before{content:"\f03a"}.fa-phone-square-alt:before,.fa-square-phone-flip:before{content:"\f87b"}.fa-cart-plus:before{content:"\f217"}.fa-gamepad:before{content:"\f11b"}.fa-circle-dot:before,.fa-dot-circle:before{content:"\f192"}.fa-dizzy:before,.fa-face-dizzy:before{content:"\f567"}.fa-egg:before{content:"\f7fb"}.fa-house-medical-circle-xmark:before{content:"\e513"}.fa-campground:before{content:"\f6bb"}.fa-folder-plus:before{content:"\f65e"}.fa-futbol-ball:before,.fa-futbol:before,.fa-soccer-ball:before{content:"\f1e3"}.fa-paint-brush:before,.fa-paintbrush:before{content:"\f1fc"}.fa-lock:before{content:"\f023"}.fa-gas-pump:before{content:"\f52f"}.fa-hot-tub-person:before,.fa-hot-tub:before{content:"\f593"}.fa-map-location:before,.fa-map-marked:before{content:"\f59f"}.fa-house-flood-water:before{content:"\e50e"}.fa-tree:before{content:"\f1bb"}.fa-bridge-lock:before{content:"\e4cc"}.fa-sack-dollar:before{content:"\f81d"}.fa-edit:before,.fa-pen-to-square:before{content:"\f044"}.fa-car-side:before{content:"\f5e4"}.fa-share-alt:before,.fa-share-nodes:before{content:"\f1e0"}.fa-heart-circle-minus:before{content:"\e4ff"}.fa-hourglass-2:before,.fa-hourglass-half:before{content:"\f252"}.fa-microscope:before{content:"\f610"}.fa-sink:before{content:"\e06d"}.fa-bag-shopping:before,.fa-shopping-bag:before{content:"\f290"}.fa-arrow-down-z-a:before,.fa-sort-alpha-desc:before,.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-mitten:before{content:"\f7b5"}.fa-person-rays:before{content:"\e54d"}.fa-users:before{content:"\f0c0"}.fa-eye-slash:before{content:"\f070"}.fa-flask-vial:before{content:"\e4f3"}.fa-hand-paper:before,.fa-hand:before{content:"\f256"}.fa-om:before{content:"\f679"}.fa-worm:before{content:"\e599"}.fa-house-circle-xmark:before{content:"\e50b"}.fa-plug:before{content:"\f1e6"}.fa-chevron-up:before{content:"\f077"}.fa-hand-spock:before{content:"\f259"}.fa-stopwatch:before{content:"\f2f2"}.fa-face-kiss:before,.fa-kiss:before{content:"\f596"}.fa-bridge-circle-xmark:before{content:"\e4cb"}.fa-face-grin-tongue:before,.fa-grin-tongue:before{content:"\f589"}.fa-chess-bishop:before{content:"\f43a"}.fa-face-grin-wink:before,.fa-grin-wink:before{content:"\f58c"}.fa-deaf:before,.fa-deafness:before,.fa-ear-deaf:before,.fa-hard-of-hearing:before{content:"\f2a4"}.fa-road-circle-check:before{content:"\e564"}.fa-dice-five:before{content:"\f523"}.fa-rss-square:before,.fa-square-rss:before{content:"\f143"}.fa-land-mine-on:before{content:"\e51b"}.fa-i-cursor:before{content:"\f246"}.fa-stamp:before{content:"\f5bf"}.fa-stairs:before{content:"\e289"}.fa-i:before{content:"\49"}.fa-hryvnia-sign:before,.fa-hryvnia:before{content:"\f6f2"}.fa-pills:before{content:"\f484"}.fa-face-grin-wide:before,.fa-grin-alt:before{content:"\f581"}.fa-tooth:before{content:"\f5c9"}.fa-v:before{content:"\56"}.fa-bangladeshi-taka-sign:before{content:"\e2e6"}.fa-bicycle:before{content:"\f206"}.fa-rod-asclepius:before,.fa-rod-snake:before,.fa-staff-aesculapius:before,.fa-staff-snake:before{content:"\e579"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-ambulance:before,.fa-truck-medical:before{content:"\f0f9"}.fa-wheat-awn-circle-exclamation:before{content:"\e598"}.fa-snowman:before{content:"\f7d0"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-road-barrier:before{content:"\e562"}.fa-school:before{content:"\f549"}.fa-igloo:before{content:"\f7ae"}.fa-joint:before{content:"\f595"}.fa-angle-right:before{content:"\f105"}.fa-horse:before{content:"\f6f0"}.fa-q:before{content:"\51"}.fa-g:before{content:"\47"}.fa-notes-medical:before{content:"\f481"}.fa-temperature-2:before,.fa-temperature-half:before,.fa-thermometer-2:before,.fa-thermometer-half:before{content:"\f2c9"}.fa-dong-sign:before{content:"\e169"}.fa-capsules:before{content:"\f46b"}.fa-poo-bolt:before,.fa-poo-storm:before{content:"\f75a"}.fa-face-frown-open:before,.fa-frown-open:before{content:"\f57a"}.fa-hand-point-up:before{content:"\f0a6"}.fa-money-bill:before{content:"\f0d6"}.fa-bookmark:before{content:"\f02e"}.fa-align-justify:before{content:"\f039"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-helmet-un:before{content:"\e503"}.fa-bullseye:before{content:"\f140"}.fa-bacon:before{content:"\f7e5"}.fa-hand-point-down:before{content:"\f0a7"}.fa-arrow-up-from-bracket:before{content:"\e09a"}.fa-folder-blank:before,.fa-folder:before{content:"\f07b"}.fa-file-medical-alt:before,.fa-file-waveform:before{content:"\f478"}.fa-radiation:before{content:"\f7b9"}.fa-chart-simple:before{content:"\e473"}.fa-mars-stroke:before{content:"\f229"}.fa-vial:before{content:"\f492"}.fa-dashboard:before,.fa-gauge-med:before,.fa-gauge:before,.fa-tachometer-alt-average:before{content:"\f624"}.fa-magic-wand-sparkles:before,.fa-wand-magic-sparkles:before{content:"\e2ca"}.fa-e:before{content:"\45"}.fa-pen-alt:before,.fa-pen-clip:before{content:"\f305"}.fa-bridge-circle-exclamation:before{content:"\e4ca"}.fa-user:before{content:"\f007"}.fa-school-circle-check:before{content:"\e56b"}.fa-dumpster:before{content:"\f793"}.fa-shuttle-van:before,.fa-van-shuttle:before{content:"\f5b6"}.fa-building-user:before{content:"\e4da"}.fa-caret-square-left:before,.fa-square-caret-left:before{content:"\f191"}.fa-highlighter:before{content:"\f591"}.fa-key:before{content:"\f084"}.fa-bullhorn:before{content:"\f0a1"}.fa-globe:before{content:"\f0ac"}.fa-synagogue:before{content:"\f69b"}.fa-person-half-dress:before{content:"\e548"}.fa-road-bridge:before{content:"\e563"}.fa-location-arrow:before{content:"\f124"}.fa-c:before{content:"\43"}.fa-tablet-button:before{content:"\f10a"}.fa-building-lock:before{content:"\e4d6"}.fa-pizza-slice:before{content:"\f818"}.fa-money-bill-wave:before{content:"\f53a"}.fa-area-chart:before,.fa-chart-area:before{content:"\f1fe"}.fa-house-flag:before{content:"\e50d"}.fa-person-circle-minus:before{content:"\e540"}.fa-ban:before,.fa-cancel:before{content:"\f05e"}.fa-camera-rotate:before{content:"\e0d8"}.fa-air-freshener:before,.fa-spray-can-sparkles:before{content:"\f5d0"}.fa-star:before{content:"\f005"}.fa-repeat:before{content:"\f363"}.fa-cross:before{content:"\f654"}.fa-box:before{content:"\f466"}.fa-venus-mars:before{content:"\f228"}.fa-arrow-pointer:before,.fa-mouse-pointer:before{content:"\f245"}.fa-expand-arrows-alt:before,.fa-maximize:before{content:"\f31e"}.fa-charging-station:before{content:"\f5e7"}.fa-shapes:before,.fa-triangle-circle-square:before{content:"\f61f"}.fa-random:before,.fa-shuffle:before{content:"\f074"}.fa-person-running:before,.fa-running:before{content:"\f70c"}.fa-mobile-retro:before{content:"\e527"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-spider:before{content:"\f717"}.fa-hands-bound:before{content:"\e4f9"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-plane-circle-exclamation:before{content:"\e556"}.fa-x-ray:before{content:"\f497"}.fa-spell-check:before{content:"\f891"}.fa-slash:before{content:"\f715"}.fa-computer-mouse:before,.fa-mouse:before{content:"\f8cc"}.fa-arrow-right-to-bracket:before,.fa-sign-in:before{content:"\f090"}.fa-shop-slash:before,.fa-store-alt-slash:before{content:"\e070"}.fa-server:before{content:"\f233"}.fa-virus-covid-slash:before{content:"\e4a9"}.fa-shop-lock:before{content:"\e4a5"}.fa-hourglass-1:before,.fa-hourglass-start:before{content:"\f251"}.fa-blender-phone:before{content:"\f6b6"}.fa-building-wheat:before{content:"\e4db"}.fa-person-breastfeeding:before{content:"\e53a"}.fa-right-to-bracket:before,.fa-sign-in-alt:before{content:"\f2f6"}.fa-venus:before{content:"\f221"}.fa-passport:before{content:"\f5ab"}.fa-heart-pulse:before,.fa-heartbeat:before{content:"\f21e"}.fa-people-carry-box:before,.fa-people-carry:before{content:"\f4ce"}.fa-temperature-high:before{content:"\f769"}.fa-microchip:before{content:"\f2db"}.fa-crown:before{content:"\f521"}.fa-weight-hanging:before{content:"\f5cd"}.fa-xmarks-lines:before{content:"\e59a"}.fa-file-prescription:before{content:"\f572"}.fa-weight-scale:before,.fa-weight:before{content:"\f496"}.fa-user-friends:before,.fa-user-group:before{content:"\f500"}.fa-arrow-up-a-z:before,.fa-sort-alpha-up:before{content:"\f15e"}.fa-chess-knight:before{content:"\f441"}.fa-face-laugh-squint:before,.fa-laugh-squint:before{content:"\f59b"}.fa-wheelchair:before{content:"\f193"}.fa-arrow-circle-up:before,.fa-circle-arrow-up:before{content:"\f0aa"}.fa-toggle-on:before{content:"\f205"}.fa-person-walking:before,.fa-walking:before{content:"\f554"}.fa-l:before{content:"\4c"}.fa-fire:before{content:"\f06d"}.fa-bed-pulse:before,.fa-procedures:before{content:"\f487"}.fa-shuttle-space:before,.fa-space-shuttle:before{content:"\f197"}.fa-face-laugh:before,.fa-laugh:before{content:"\f599"}.fa-folder-open:before{content:"\f07c"}.fa-heart-circle-plus:before{content:"\e500"}.fa-code-fork:before{content:"\e13b"}.fa-city:before{content:"\f64f"}.fa-microphone-alt:before,.fa-microphone-lines:before{content:"\f3c9"}.fa-pepper-hot:before{content:"\f816"}.fa-unlock:before{content:"\f09c"}.fa-colon-sign:before{content:"\e140"}.fa-headset:before{content:"\f590"}.fa-store-slash:before{content:"\e071"}.fa-road-circle-xmark:before{content:"\e566"}.fa-user-minus:before{content:"\f503"}.fa-mars-stroke-up:before,.fa-mars-stroke-v:before{content:"\f22a"}.fa-champagne-glasses:before,.fa-glass-cheers:before{content:"\f79f"}.fa-clipboard:before{content:"\f328"}.fa-house-circle-exclamation:before{content:"\e50a"}.fa-file-arrow-up:before,.fa-file-upload:before{content:"\f574"}.fa-wifi-3:before,.fa-wifi-strong:before,.fa-wifi:before{content:"\f1eb"}.fa-bath:before,.fa-bathtub:before{content:"\f2cd"}.fa-underline:before{content:"\f0cd"}.fa-user-edit:before,.fa-user-pen:before{content:"\f4ff"}.fa-signature:before{content:"\f5b7"}.fa-stroopwafel:before{content:"\f551"}.fa-bold:before{content:"\f032"}.fa-anchor-lock:before{content:"\e4ad"}.fa-building-ngo:before{content:"\e4d7"}.fa-manat-sign:before{content:"\e1d5"}.fa-not-equal:before{content:"\f53e"}.fa-border-style:before,.fa-border-top-left:before{content:"\f853"}.fa-map-location-dot:before,.fa-map-marked-alt:before{content:"\f5a0"}.fa-jedi:before{content:"\f669"}.fa-poll:before,.fa-square-poll-vertical:before{content:"\f681"}.fa-mug-hot:before{content:"\f7b6"}.fa-battery-car:before,.fa-car-battery:before{content:"\f5df"}.fa-gift:before{content:"\f06b"}.fa-dice-two:before{content:"\f528"}.fa-chess-queen:before{content:"\f445"}.fa-glasses:before{content:"\f530"}.fa-chess-board:before{content:"\f43c"}.fa-building-circle-check:before{content:"\e4d2"}.fa-person-chalkboard:before{content:"\e53d"}.fa-mars-stroke-h:before,.fa-mars-stroke-right:before{content:"\f22b"}.fa-hand-back-fist:before,.fa-hand-rock:before{content:"\f255"}.fa-caret-square-up:before,.fa-square-caret-up:before{content:"\f151"}.fa-cloud-showers-water:before{content:"\e4e4"}.fa-bar-chart:before,.fa-chart-bar:before{content:"\f080"}.fa-hands-bubbles:before,.fa-hands-wash:before{content:"\e05e"}.fa-less-than-equal:before{content:"\f537"}.fa-train:before{content:"\f238"}.fa-eye-low-vision:before,.fa-low-vision:before{content:"\f2a8"}.fa-crow:before{content:"\f520"}.fa-sailboat:before{content:"\e445"}.fa-window-restore:before{content:"\f2d2"}.fa-plus-square:before,.fa-square-plus:before{content:"\f0fe"}.fa-torii-gate:before{content:"\f6a1"}.fa-frog:before{content:"\f52e"}.fa-bucket:before{content:"\e4cf"}.fa-image:before{content:"\f03e"}.fa-microphone:before{content:"\f130"}.fa-cow:before{content:"\f6c8"}.fa-caret-up:before{content:"\f0d8"}.fa-screwdriver:before{content:"\f54a"}.fa-folder-closed:before{content:"\e185"}.fa-house-tsunami:before{content:"\e515"}.fa-square-nfi:before{content:"\e576"}.fa-arrow-up-from-ground-water:before{content:"\e4b5"}.fa-glass-martini-alt:before,.fa-martini-glass:before{content:"\f57b"}.fa-rotate-back:before,.fa-rotate-backward:before,.fa-rotate-left:before,.fa-undo-alt:before{content:"\f2ea"}.fa-columns:before,.fa-table-columns:before{content:"\f0db"}.fa-lemon:before{content:"\f094"}.fa-head-side-mask:before{content:"\e063"}.fa-handshake:before{content:"\f2b5"}.fa-gem:before{content:"\f3a5"}.fa-dolly-box:before,.fa-dolly:before{content:"\f472"}.fa-smoking:before{content:"\f48d"}.fa-compress-arrows-alt:before,.fa-minimize:before{content:"\f78c"}.fa-monument:before{content:"\f5a6"}.fa-snowplow:before{content:"\f7d2"}.fa-angle-double-right:before,.fa-angles-right:before{content:"\f101"}.fa-cannabis:before{content:"\f55f"}.fa-circle-play:before,.fa-play-circle:before{content:"\f144"}.fa-tablets:before{content:"\f490"}.fa-ethernet:before{content:"\f796"}.fa-eur:before,.fa-euro-sign:before,.fa-euro:before{content:"\f153"}.fa-chair:before{content:"\f6c0"}.fa-check-circle:before,.fa-circle-check:before{content:"\f058"}.fa-circle-stop:before,.fa-stop-circle:before{content:"\f28d"}.fa-compass-drafting:before,.fa-drafting-compass:before{content:"\f568"}.fa-plate-wheat:before{content:"\e55a"}.fa-icicles:before{content:"\f7ad"}.fa-person-shelter:before{content:"\e54f"}.fa-neuter:before{content:"\f22c"}.fa-id-badge:before{content:"\f2c1"}.fa-marker:before{content:"\f5a1"}.fa-face-laugh-beam:before,.fa-laugh-beam:before{content:"\f59a"}.fa-helicopter-symbol:before{content:"\e502"}.fa-universal-access:before{content:"\f29a"}.fa-chevron-circle-up:before,.fa-circle-chevron-up:before{content:"\f139"}.fa-lari-sign:before{content:"\e1c8"}.fa-volcano:before{content:"\f770"}.fa-person-walking-dashed-line-arrow-right:before{content:"\e553"}.fa-gbp:before,.fa-pound-sign:before,.fa-sterling-sign:before{content:"\f154"}.fa-viruses:before{content:"\e076"}.fa-square-person-confined:before{content:"\e577"}.fa-user-tie:before{content:"\f508"}.fa-arrow-down-long:before,.fa-long-arrow-down:before{content:"\f175"}.fa-tent-arrow-down-to-line:before{content:"\e57e"}.fa-certificate:before{content:"\f0a3"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-suitcase:before{content:"\f0f2"}.fa-person-skating:before,.fa-skating:before{content:"\f7c5"}.fa-filter-circle-dollar:before,.fa-funnel-dollar:before{content:"\f662"}.fa-camera-retro:before{content:"\f083"}.fa-arrow-circle-down:before,.fa-circle-arrow-down:before{content:"\f0ab"}.fa-arrow-right-to-file:before,.fa-file-import:before{content:"\f56f"}.fa-external-link-square:before,.fa-square-arrow-up-right:before{content:"\f14c"}.fa-box-open:before{content:"\f49e"}.fa-scroll:before{content:"\f70e"}.fa-spa:before{content:"\f5bb"}.fa-location-pin-lock:before{content:"\e51f"}.fa-pause:before{content:"\f04c"}.fa-hill-avalanche:before{content:"\e507"}.fa-temperature-0:before,.fa-temperature-empty:before,.fa-thermometer-0:before,.fa-thermometer-empty:before{content:"\f2cb"}.fa-bomb:before{content:"\f1e2"}.fa-registered:before{content:"\f25d"}.fa-address-card:before,.fa-contact-card:before,.fa-vcard:before{content:"\f2bb"}.fa-balance-scale-right:before,.fa-scale-unbalanced-flip:before{content:"\f516"}.fa-subscript:before{content:"\f12c"}.fa-diamond-turn-right:before,.fa-directions:before{content:"\f5eb"}.fa-burst:before{content:"\e4dc"}.fa-house-laptop:before,.fa-laptop-house:before{content:"\e066"}.fa-face-tired:before,.fa-tired:before{content:"\f5c8"}.fa-money-bills:before{content:"\e1f3"}.fa-smog:before{content:"\f75f"}.fa-crutch:before{content:"\f7f7"}.fa-cloud-arrow-up:before,.fa-cloud-upload-alt:before,.fa-cloud-upload:before{content:"\f0ee"}.fa-palette:before{content:"\f53f"}.fa-arrows-turn-right:before{content:"\e4c0"}.fa-vest:before{content:"\e085"}.fa-ferry:before{content:"\e4ea"}.fa-arrows-down-to-people:before{content:"\e4b9"}.fa-seedling:before,.fa-sprout:before{content:"\f4d8"}.fa-arrows-alt-h:before,.fa-left-right:before{content:"\f337"}.fa-boxes-packing:before{content:"\e4c7"}.fa-arrow-circle-left:before,.fa-circle-arrow-left:before{content:"\f0a8"}.fa-group-arrows-rotate:before{content:"\e4f6"}.fa-bowl-food:before{content:"\e4c6"}.fa-candy-cane:before{content:"\f786"}.fa-arrow-down-wide-short:before,.fa-sort-amount-asc:before,.fa-sort-amount-down:before{content:"\f160"}.fa-cloud-bolt:before,.fa-thunderstorm:before{content:"\f76c"}.fa-remove-format:before,.fa-text-slash:before{content:"\f87d"}.fa-face-smile-wink:before,.fa-smile-wink:before{content:"\f4da"}.fa-file-word:before{content:"\f1c2"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-arrows-h:before,.fa-arrows-left-right:before{content:"\f07e"}.fa-house-lock:before{content:"\e510"}.fa-cloud-arrow-down:before,.fa-cloud-download-alt:before,.fa-cloud-download:before{content:"\f0ed"}.fa-children:before{content:"\e4e1"}.fa-blackboard:before,.fa-chalkboard:before{content:"\f51b"}.fa-user-alt-slash:before,.fa-user-large-slash:before{content:"\f4fa"}.fa-envelope-open:before{content:"\f2b6"}.fa-handshake-alt-slash:before,.fa-handshake-simple-slash:before{content:"\e05f"}.fa-mattress-pillow:before{content:"\e525"}.fa-guarani-sign:before{content:"\e19a"}.fa-arrows-rotate:before,.fa-refresh:before,.fa-sync:before{content:"\f021"}.fa-fire-extinguisher:before{content:"\f134"}.fa-cruzeiro-sign:before{content:"\e152"}.fa-greater-than-equal:before{content:"\f532"}.fa-shield-alt:before,.fa-shield-halved:before{content:"\f3ed"}.fa-atlas:before,.fa-book-atlas:before{content:"\f558"}.fa-virus:before{content:"\e074"}.fa-envelope-circle-check:before{content:"\e4e8"}.fa-layer-group:before{content:"\f5fd"}.fa-arrows-to-dot:before{content:"\e4be"}.fa-archway:before{content:"\f557"}.fa-heart-circle-check:before{content:"\e4fd"}.fa-house-chimney-crack:before,.fa-house-damage:before{content:"\f6f1"}.fa-file-archive:before,.fa-file-zipper:before{content:"\f1c6"}.fa-square:before{content:"\f0c8"}.fa-glass-martini:before,.fa-martini-glass-empty:before{content:"\f000"}.fa-couch:before{content:"\f4b8"}.fa-cedi-sign:before{content:"\e0df"}.fa-italic:before{content:"\f033"}.fa-church:before{content:"\f51d"}.fa-comments-dollar:before{content:"\f653"}.fa-democrat:before{content:"\f747"}.fa-z:before{content:"\5a"}.fa-person-skiing:before,.fa-skiing:before{content:"\f7c9"}.fa-road-lock:before{content:"\e567"}.fa-a:before{content:"\41"}.fa-temperature-arrow-down:before,.fa-temperature-down:before{content:"\e03f"}.fa-feather-alt:before,.fa-feather-pointed:before{content:"\f56b"}.fa-p:before{content:"\50"}.fa-snowflake:before{content:"\f2dc"}.fa-newspaper:before{content:"\f1ea"}.fa-ad:before,.fa-rectangle-ad:before{content:"\f641"}.fa-arrow-circle-right:before,.fa-circle-arrow-right:before{content:"\f0a9"}.fa-filter-circle-xmark:before{content:"\e17b"}.fa-locust:before{content:"\e520"}.fa-sort:before,.fa-unsorted:before{content:"\f0dc"}.fa-list-1-2:before,.fa-list-numeric:before,.fa-list-ol:before{content:"\f0cb"}.fa-person-dress-burst:before{content:"\e544"}.fa-money-check-alt:before,.fa-money-check-dollar:before{content:"\f53d"}.fa-vector-square:before{content:"\f5cb"}.fa-bread-slice:before{content:"\f7ec"}.fa-language:before{content:"\f1ab"}.fa-face-kiss-wink-heart:before,.fa-kiss-wink-heart:before{content:"\f598"}.fa-filter:before{content:"\f0b0"}.fa-question:before{content:"\3f"}.fa-file-signature:before{content:"\f573"}.fa-arrows-alt:before,.fa-up-down-left-right:before{content:"\f0b2"}.fa-house-chimney-user:before{content:"\e065"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-puzzle-piece:before{content:"\f12e"}.fa-money-check:before{content:"\f53c"}.fa-star-half-alt:before,.fa-star-half-stroke:before{content:"\f5c0"}.fa-code:before{content:"\f121"}.fa-glass-whiskey:before,.fa-whiskey-glass:before{content:"\f7a0"}.fa-building-circle-exclamation:before{content:"\e4d3"}.fa-magnifying-glass-chart:before{content:"\e522"}.fa-arrow-up-right-from-square:before,.fa-external-link:before{content:"\f08e"}.fa-cubes-stacked:before{content:"\e4e6"}.fa-krw:before,.fa-won-sign:before,.fa-won:before{content:"\f159"}.fa-virus-covid:before{content:"\e4a8"}.fa-austral-sign:before{content:"\e0a9"}.fa-f:before{content:"\46"}.fa-leaf:before{content:"\f06c"}.fa-road:before{content:"\f018"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-person-circle-plus:before{content:"\e541"}.fa-chart-pie:before,.fa-pie-chart:before{content:"\f200"}.fa-bolt-lightning:before{content:"\e0b7"}.fa-sack-xmark:before{content:"\e56a"}.fa-file-excel:before{content:"\f1c3"}.fa-file-contract:before{content:"\f56c"}.fa-fish-fins:before{content:"\e4f2"}.fa-building-flag:before{content:"\e4d5"}.fa-face-grin-beam:before,.fa-grin-beam:before{content:"\f582"}.fa-object-ungroup:before{content:"\f248"}.fa-poop:before{content:"\f619"}.fa-location-pin:before,.fa-map-marker:before{content:"\f041"}.fa-kaaba:before{content:"\f66b"}.fa-toilet-paper:before{content:"\f71e"}.fa-hard-hat:before,.fa-hat-hard:before,.fa-helmet-safety:before{content:"\f807"}.fa-eject:before{content:"\f052"}.fa-arrow-alt-circle-right:before,.fa-circle-right:before{content:"\f35a"}.fa-plane-circle-check:before{content:"\e555"}.fa-face-rolling-eyes:before,.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-object-group:before{content:"\f247"}.fa-chart-line:before,.fa-line-chart:before{content:"\f201"}.fa-mask-ventilator:before{content:"\e524"}.fa-arrow-right:before{content:"\f061"}.fa-map-signs:before,.fa-signs-post:before{content:"\f277"}.fa-cash-register:before{content:"\f788"}.fa-person-circle-question:before{content:"\e542"}.fa-h:before{content:"\48"}.fa-tarp:before{content:"\e57b"}.fa-screwdriver-wrench:before,.fa-tools:before{content:"\f7d9"}.fa-arrows-to-eye:before{content:"\e4bf"}.fa-plug-circle-bolt:before{content:"\e55b"}.fa-heart:before{content:"\f004"}.fa-mars-and-venus:before{content:"\f224"}.fa-home-user:before,.fa-house-user:before{content:"\e1b0"}.fa-dumpster-fire:before{content:"\f794"}.fa-house-crack:before{content:"\e3b1"}.fa-cocktail:before,.fa-martini-glass-citrus:before{content:"\f561"}.fa-face-surprise:before,.fa-surprise:before{content:"\f5c2"}.fa-bottle-water:before{content:"\e4c5"}.fa-circle-pause:before,.fa-pause-circle:before{content:"\f28b"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-apple-alt:before,.fa-apple-whole:before{content:"\f5d1"}.fa-kitchen-set:before{content:"\e51a"}.fa-r:before{content:"\52"}.fa-temperature-1:before,.fa-temperature-quarter:before,.fa-thermometer-1:before,.fa-thermometer-quarter:before{content:"\f2ca"}.fa-cube:before{content:"\f1b2"}.fa-bitcoin-sign:before{content:"\e0b4"}.fa-shield-dog:before{content:"\e573"}.fa-solar-panel:before{content:"\f5ba"}.fa-lock-open:before{content:"\f3c1"}.fa-elevator:before{content:"\e16d"}.fa-money-bill-transfer:before{content:"\e528"}.fa-money-bill-trend-up:before{content:"\e529"}.fa-house-flood-water-circle-arrow-right:before{content:"\e50f"}.fa-poll-h:before,.fa-square-poll-horizontal:before{content:"\f682"}.fa-circle:before{content:"\f111"}.fa-backward-fast:before,.fa-fast-backward:before{content:"\f049"}.fa-recycle:before{content:"\f1b8"}.fa-user-astronaut:before{content:"\f4fb"}.fa-plane-slash:before{content:"\e069"}.fa-trademark:before{content:"\f25c"}.fa-basketball-ball:before,.fa-basketball:before{content:"\f434"}.fa-satellite-dish:before{content:"\f7c0"}.fa-arrow-alt-circle-up:before,.fa-circle-up:before{content:"\f35b"}.fa-mobile-alt:before,.fa-mobile-screen-button:before{content:"\f3cd"}.fa-volume-high:before,.fa-volume-up:before{content:"\f028"}.fa-users-rays:before{content:"\e593"}.fa-wallet:before{content:"\f555"}.fa-clipboard-check:before{content:"\f46c"}.fa-file-audio:before{content:"\f1c7"}.fa-burger:before,.fa-hamburger:before{content:"\f805"}.fa-wrench:before{content:"\f0ad"}.fa-bugs:before{content:"\e4d0"}.fa-rupee-sign:before,.fa-rupee:before{content:"\f156"}.fa-file-image:before{content:"\f1c5"}.fa-circle-question:before,.fa-question-circle:before{content:"\f059"}.fa-plane-departure:before{content:"\f5b0"}.fa-handshake-slash:before{content:"\e060"}.fa-book-bookmark:before{content:"\e0bb"}.fa-code-branch:before{content:"\f126"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-bridge:before{content:"\e4c8"}.fa-phone-alt:before,.fa-phone-flip:before{content:"\f879"}.fa-truck-front:before{content:"\e2b7"}.fa-cat:before{content:"\f6be"}.fa-anchor-circle-exclamation:before{content:"\e4ab"}.fa-truck-field:before{content:"\e58d"}.fa-route:before{content:"\f4d7"}.fa-clipboard-question:before{content:"\e4e3"}.fa-panorama:before{content:"\e209"}.fa-comment-medical:before{content:"\f7f5"}.fa-teeth-open:before{content:"\f62f"}.fa-file-circle-minus:before{content:"\e4ed"}.fa-tags:before{content:"\f02c"}.fa-wine-glass:before{content:"\f4e3"}.fa-fast-forward:before,.fa-forward-fast:before{content:"\f050"}.fa-face-meh-blank:before,.fa-meh-blank:before{content:"\f5a4"}.fa-parking:before,.fa-square-parking:before{content:"\f540"}.fa-house-signal:before{content:"\e012"}.fa-bars-progress:before,.fa-tasks-alt:before{content:"\f828"}.fa-faucet-drip:before{content:"\e006"}.fa-cart-flatbed:before,.fa-dolly-flatbed:before{content:"\f474"}.fa-ban-smoking:before,.fa-smoking-ban:before{content:"\f54d"}.fa-terminal:before{content:"\f120"}.fa-mobile-button:before{content:"\f10b"}.fa-house-medical-flag:before{content:"\e514"}.fa-basket-shopping:before,.fa-shopping-basket:before{content:"\f291"}.fa-tape:before{content:"\f4db"}.fa-bus-alt:before,.fa-bus-simple:before{content:"\f55e"}.fa-eye:before{content:"\f06e"}.fa-face-sad-cry:before,.fa-sad-cry:before{content:"\f5b3"}.fa-audio-description:before{content:"\f29e"}.fa-person-military-to-person:before{content:"\e54c"}.fa-file-shield:before{content:"\e4f0"}.fa-user-slash:before{content:"\f506"}.fa-pen:before{content:"\f304"}.fa-tower-observation:before{content:"\e586"}.fa-file-code:before{content:"\f1c9"}.fa-signal-5:before,.fa-signal-perfect:before,.fa-signal:before{content:"\f012"}.fa-bus:before{content:"\f207"}.fa-heart-circle-xmark:before{content:"\e501"}.fa-home-lg:before,.fa-house-chimney:before{content:"\e3af"}.fa-window-maximize:before{content:"\f2d0"}.fa-face-frown:before,.fa-frown:before{content:"\f119"}.fa-prescription:before{content:"\f5b1"}.fa-shop:before,.fa-store-alt:before{content:"\f54f"}.fa-floppy-disk:before,.fa-save:before{content:"\f0c7"}.fa-vihara:before{content:"\f6a7"}.fa-balance-scale-left:before,.fa-scale-unbalanced:before{content:"\f515"}.fa-sort-asc:before,.fa-sort-up:before{content:"\f0de"}.fa-comment-dots:before,.fa-commenting:before{content:"\f4ad"}.fa-plant-wilt:before{content:"\e5aa"}.fa-diamond:before{content:"\f219"}.fa-face-grin-squint:before,.fa-grin-squint:before{content:"\f585"}.fa-hand-holding-dollar:before,.fa-hand-holding-usd:before{content:"\f4c0"}.fa-bacterium:before{content:"\e05a"}.fa-hand-pointer:before{content:"\f25a"}.fa-drum-steelpan:before{content:"\f56a"}.fa-hand-scissors:before{content:"\f257"}.fa-hands-praying:before,.fa-praying-hands:before{content:"\f684"}.fa-arrow-right-rotate:before,.fa-arrow-rotate-forward:before,.fa-arrow-rotate-right:before,.fa-redo:before{content:"\f01e"}.fa-biohazard:before{content:"\f780"}.fa-location-crosshairs:before,.fa-location:before{content:"\f601"}.fa-mars-double:before{content:"\f227"}.fa-child-dress:before{content:"\e59c"}.fa-users-between-lines:before{content:"\e591"}.fa-lungs-virus:before{content:"\e067"}.fa-face-grin-tears:before,.fa-grin-tears:before{content:"\f588"}.fa-phone:before{content:"\f095"}.fa-calendar-times:before,.fa-calendar-xmark:before{content:"\f273"}.fa-child-reaching:before{content:"\e59d"}.fa-head-side-virus:before{content:"\e064"}.fa-user-cog:before,.fa-user-gear:before{content:"\f4fe"}.fa-arrow-up-1-9:before,.fa-sort-numeric-up:before{content:"\f163"}.fa-door-closed:before{content:"\f52a"}.fa-shield-virus:before{content:"\e06c"}.fa-dice-six:before{content:"\f526"}.fa-mosquito-net:before{content:"\e52c"}.fa-bridge-water:before{content:"\e4ce"}.fa-person-booth:before{content:"\f756"}.fa-text-width:before{content:"\f035"}.fa-hat-wizard:before{content:"\f6e8"}.fa-pen-fancy:before{content:"\f5ac"}.fa-digging:before,.fa-person-digging:before{content:"\f85e"}.fa-trash:before{content:"\f1f8"}.fa-gauge-simple-med:before,.fa-gauge-simple:before,.fa-tachometer-average:before{content:"\f629"}.fa-book-medical:before{content:"\f7e6"}.fa-poo:before{content:"\f2fe"}.fa-quote-right-alt:before,.fa-quote-right:before{content:"\f10e"}.fa-shirt:before,.fa-t-shirt:before,.fa-tshirt:before{content:"\f553"}.fa-cubes:before{content:"\f1b3"}.fa-divide:before{content:"\f529"}.fa-tenge-sign:before,.fa-tenge:before{content:"\f7d7"}.fa-headphones:before{content:"\f025"}.fa-hands-holding:before{content:"\f4c2"}.fa-hands-clapping:before{content:"\e1a8"}.fa-republican:before{content:"\f75e"}.fa-arrow-left:before{content:"\f060"}.fa-person-circle-xmark:before{content:"\e543"}.fa-ruler:before{content:"\f545"}.fa-align-left:before{content:"\f036"}.fa-dice-d6:before{content:"\f6d1"}.fa-restroom:before{content:"\f7bd"}.fa-j:before{content:"\4a"}.fa-users-viewfinder:before{content:"\e595"}.fa-file-video:before{content:"\f1c8"}.fa-external-link-alt:before,.fa-up-right-from-square:before{content:"\f35d"}.fa-table-cells:before,.fa-th:before{content:"\f00a"}.fa-file-pdf:before{content:"\f1c1"}.fa-bible:before,.fa-book-bible:before{content:"\f647"}.fa-o:before{content:"\4f"}.fa-medkit:before,.fa-suitcase-medical:before{content:"\f0fa"}.fa-user-secret:before{content:"\f21b"}.fa-otter:before{content:"\f700"}.fa-female:before,.fa-person-dress:before{content:"\f182"}.fa-comment-dollar:before{content:"\f651"}.fa-briefcase-clock:before,.fa-business-time:before{content:"\f64a"}.fa-table-cells-large:before,.fa-th-large:before{content:"\f009"}.fa-book-tanakh:before,.fa-tanakh:before{content:"\f827"}.fa-phone-volume:before,.fa-volume-control-phone:before{content:"\f2a0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-clipboard-user:before{content:"\f7f3"}.fa-child:before{content:"\f1ae"}.fa-lira-sign:before{content:"\f195"}.fa-satellite:before{content:"\f7bf"}.fa-plane-lock:before{content:"\e558"}.fa-tag:before{content:"\f02b"}.fa-comment:before{content:"\f075"}.fa-birthday-cake:before,.fa-cake-candles:before,.fa-cake:before{content:"\f1fd"}.fa-envelope:before{content:"\f0e0"}.fa-angle-double-up:before,.fa-angles-up:before{content:"\f102"}.fa-paperclip:before{content:"\f0c6"}.fa-arrow-right-to-city:before{content:"\e4b3"}.fa-ribbon:before{content:"\f4d6"}.fa-lungs:before{content:"\f604"}.fa-arrow-up-9-1:before,.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-litecoin-sign:before{content:"\e1d3"}.fa-border-none:before{content:"\f850"}.fa-circle-nodes:before{content:"\e4e2"}.fa-parachute-box:before{content:"\f4cd"}.fa-indent:before{content:"\f03c"}.fa-truck-field-un:before{content:"\e58e"}.fa-hourglass-empty:before,.fa-hourglass:before{content:"\f254"}.fa-mountain:before{content:"\f6fc"}.fa-user-doctor:before,.fa-user-md:before{content:"\f0f0"}.fa-circle-info:before,.fa-info-circle:before{content:"\f05a"}.fa-cloud-meatball:before{content:"\f73b"}.fa-camera-alt:before,.fa-camera:before{content:"\f030"}.fa-square-virus:before{content:"\e578"}.fa-meteor:before{content:"\f753"}.fa-car-on:before{content:"\e4dd"}.fa-sleigh:before{content:"\f7cc"}.fa-arrow-down-1-9:before,.fa-sort-numeric-asc:before,.fa-sort-numeric-down:before{content:"\f162"}.fa-hand-holding-droplet:before,.fa-hand-holding-water:before{content:"\f4c1"}.fa-water:before{content:"\f773"}.fa-calendar-check:before{content:"\f274"}.fa-braille:before{content:"\f2a1"}.fa-prescription-bottle-alt:before,.fa-prescription-bottle-medical:before{content:"\f486"}.fa-landmark:before{content:"\f66f"}.fa-truck:before{content:"\f0d1"}.fa-crosshairs:before{content:"\f05b"}.fa-person-cane:before{content:"\e53c"}.fa-tent:before{content:"\e57d"}.fa-vest-patches:before{content:"\e086"}.fa-check-double:before{content:"\f560"}.fa-arrow-down-a-z:before,.fa-sort-alpha-asc:before,.fa-sort-alpha-down:before{content:"\f15d"}.fa-money-bill-wheat:before{content:"\e52a"}.fa-cookie:before{content:"\f563"}.fa-arrow-left-rotate:before,.fa-arrow-rotate-back:before,.fa-arrow-rotate-backward:before,.fa-arrow-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-hard-drive:before,.fa-hdd:before{content:"\f0a0"}.fa-face-grin-squint-tears:before,.fa-grin-squint-tears:before{content:"\f586"}.fa-dumbbell:before{content:"\f44b"}.fa-list-alt:before,.fa-rectangle-list:before{content:"\f022"}.fa-tarp-droplet:before{content:"\e57c"}.fa-house-medical-circle-check:before{content:"\e511"}.fa-person-skiing-nordic:before,.fa-skiing-nordic:before{content:"\f7ca"}.fa-calendar-plus:before{content:"\f271"}.fa-plane-arrival:before{content:"\f5af"}.fa-arrow-alt-circle-left:before,.fa-circle-left:before{content:"\f359"}.fa-subway:before,.fa-train-subway:before{content:"\f239"}.fa-chart-gantt:before{content:"\e0e4"}.fa-indian-rupee-sign:before,.fa-indian-rupee:before,.fa-inr:before{content:"\e1bc"}.fa-crop-alt:before,.fa-crop-simple:before{content:"\f565"}.fa-money-bill-1:before,.fa-money-bill-alt:before{content:"\f3d1"}.fa-left-long:before,.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-dna:before{content:"\f471"}.fa-virus-slash:before{content:"\e075"}.fa-minus:before,.fa-subtract:before{content:"\f068"}.fa-chess:before{content:"\f439"}.fa-arrow-left-long:before,.fa-long-arrow-left:before{content:"\f177"}.fa-plug-circle-check:before{content:"\e55c"}.fa-street-view:before{content:"\f21d"}.fa-franc-sign:before{content:"\e18f"}.fa-volume-off:before{content:"\f026"}.fa-american-sign-language-interpreting:before,.fa-asl-interpreting:before,.fa-hands-american-sign-language-interpreting:before,.fa-hands-asl-interpreting:before{content:"\f2a3"}.fa-cog:before,.fa-gear:before{content:"\f013"}.fa-droplet-slash:before,.fa-tint-slash:before{content:"\f5c7"}.fa-mosque:before{content:"\f678"}.fa-mosquito:before{content:"\e52b"}.fa-star-of-david:before{content:"\f69a"}.fa-person-military-rifle:before{content:"\e54b"}.fa-cart-shopping:before,.fa-shopping-cart:before{content:"\f07a"}.fa-vials:before{content:"\f493"}.fa-plug-circle-plus:before{content:"\e55f"}.fa-place-of-worship:before{content:"\f67f"}.fa-grip-vertical:before{content:"\f58e"}.fa-arrow-turn-up:before,.fa-level-up:before{content:"\f148"}.fa-u:before{content:"\55"}.fa-square-root-alt:before,.fa-square-root-variable:before{content:"\f698"}.fa-clock-four:before,.fa-clock:before{content:"\f017"}.fa-backward-step:before,.fa-step-backward:before{content:"\f048"}.fa-pallet:before{content:"\f482"}.fa-faucet:before{content:"\e005"}.fa-baseball-bat-ball:before{content:"\f432"}.fa-s:before{content:"\53"}.fa-timeline:before{content:"\e29c"}.fa-keyboard:before{content:"\f11c"}.fa-caret-down:before{content:"\f0d7"}.fa-clinic-medical:before,.fa-house-chimney-medical:before{content:"\f7f2"}.fa-temperature-3:before,.fa-temperature-three-quarters:before,.fa-thermometer-3:before,.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-mobile-android-alt:before,.fa-mobile-screen:before{content:"\f3cf"}.fa-plane-up:before{content:"\e22d"}.fa-piggy-bank:before{content:"\f4d3"}.fa-battery-3:before,.fa-battery-half:before{content:"\f242"}.fa-mountain-city:before{content:"\e52e"}.fa-coins:before{content:"\f51e"}.fa-khanda:before{content:"\f66d"}.fa-sliders-h:before,.fa-sliders:before{content:"\f1de"}.fa-folder-tree:before{content:"\f802"}.fa-network-wired:before{content:"\f6ff"}.fa-map-pin:before{content:"\f276"}.fa-hamsa:before{content:"\f665"}.fa-cent-sign:before{content:"\e3f5"}.fa-flask:before{content:"\f0c3"}.fa-person-pregnant:before{content:"\e31e"}.fa-wand-sparkles:before{content:"\f72b"}.fa-ellipsis-v:before,.fa-ellipsis-vertical:before{content:"\f142"}.fa-ticket:before{content:"\f145"}.fa-power-off:before{content:"\f011"}.fa-long-arrow-alt-right:before,.fa-right-long:before{content:"\f30b"}.fa-flag-usa:before{content:"\f74d"}.fa-laptop-file:before{content:"\e51d"}.fa-teletype:before,.fa-tty:before{content:"\f1e4"}.fa-diagram-next:before{content:"\e476"}.fa-person-rifle:before{content:"\e54e"}.fa-house-medical-circle-exclamation:before{content:"\e512"}.fa-closed-captioning:before{content:"\f20a"}.fa-hiking:before,.fa-person-hiking:before{content:"\f6ec"}.fa-venus-double:before{content:"\f226"}.fa-images:before{content:"\f302"}.fa-calculator:before{content:"\f1ec"}.fa-people-pulling:before{content:"\e535"}.fa-n:before{content:"\4e"}.fa-cable-car:before,.fa-tram:before{content:"\f7da"}.fa-cloud-rain:before{content:"\f73d"}.fa-building-circle-xmark:before{content:"\e4d4"}.fa-ship:before{content:"\f21a"}.fa-arrows-down-to-line:before{content:"\e4b8"}.fa-download:before{content:"\f019"}.fa-face-grin:before,.fa-grin:before{content:"\f580"}.fa-backspace:before,.fa-delete-left:before{content:"\f55a"}.fa-eye-dropper-empty:before,.fa-eye-dropper:before,.fa-eyedropper:before{content:"\f1fb"}.fa-file-circle-check:before{content:"\e5a0"}.fa-forward:before{content:"\f04e"}.fa-mobile-android:before,.fa-mobile-phone:before,.fa-mobile:before{content:"\f3ce"}.fa-face-meh:before,.fa-meh:before{content:"\f11a"}.fa-align-center:before{content:"\f037"}.fa-book-dead:before,.fa-book-skull:before{content:"\f6b7"}.fa-drivers-license:before,.fa-id-card:before{content:"\f2c2"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-heart-circle-exclamation:before{content:"\e4fe"}.fa-home-alt:before,.fa-home-lg-alt:before,.fa-home:before,.fa-house:before{content:"\f015"}.fa-calendar-week:before{content:"\f784"}.fa-laptop-medical:before{content:"\f812"}.fa-b:before{content:"\42"}.fa-file-medical:before{content:"\f477"}.fa-dice-one:before{content:"\f525"}.fa-kiwi-bird:before{content:"\f535"}.fa-arrow-right-arrow-left:before,.fa-exchange:before{content:"\f0ec"}.fa-redo-alt:before,.fa-rotate-forward:before,.fa-rotate-right:before{content:"\f2f9"}.fa-cutlery:before,.fa-utensils:before{content:"\f2e7"}.fa-arrow-up-wide-short:before,.fa-sort-amount-up:before{content:"\f161"}.fa-mill-sign:before{content:"\e1ed"}.fa-bowl-rice:before{content:"\e2eb"}.fa-skull:before{content:"\f54c"}.fa-broadcast-tower:before,.fa-tower-broadcast:before{content:"\f519"}.fa-truck-pickup:before{content:"\f63c"}.fa-long-arrow-alt-up:before,.fa-up-long:before{content:"\f30c"}.fa-stop:before{content:"\f04d"}.fa-code-merge:before{content:"\f387"}.fa-upload:before{content:"\f093"}.fa-hurricane:before{content:"\f751"}.fa-mound:before{content:"\e52d"}.fa-toilet-portable:before{content:"\e583"}.fa-compact-disc:before{content:"\f51f"}.fa-file-arrow-down:before,.fa-file-download:before{content:"\f56d"}.fa-caravan:before{content:"\f8ff"}.fa-shield-cat:before{content:"\e572"}.fa-bolt:before,.fa-zap:before{content:"\f0e7"}.fa-glass-water:before{content:"\e4f4"}.fa-oil-well:before{content:"\e532"}.fa-vault:before{content:"\e2c5"}.fa-mars:before{content:"\f222"}.fa-toilet:before{content:"\f7d8"}.fa-plane-circle-xmark:before{content:"\e557"}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen-sign:before,.fa-yen:before{content:"\f157"}.fa-rouble:before,.fa-rub:before,.fa-ruble-sign:before,.fa-ruble:before{content:"\f158"}.fa-sun:before{content:"\f185"}.fa-guitar:before{content:"\f7a6"}.fa-face-laugh-wink:before,.fa-laugh-wink:before{content:"\f59c"}.fa-horse-head:before{content:"\f7ab"}.fa-bore-hole:before{content:"\e4c3"}.fa-industry:before{content:"\f275"}.fa-arrow-alt-circle-down:before,.fa-circle-down:before{content:"\f358"}.fa-arrows-turn-to-dots:before{content:"\e4c1"}.fa-florin-sign:before{content:"\e184"}.fa-arrow-down-short-wide:before,.fa-sort-amount-desc:before,.fa-sort-amount-down-alt:before{content:"\f884"}.fa-less-than:before{content:"\3c"}.fa-angle-down:before{content:"\f107"}.fa-car-tunnel:before{content:"\e4de"}.fa-head-side-cough:before{content:"\e061"}.fa-grip-lines:before{content:"\f7a4"}.fa-thumbs-down:before{content:"\f165"}.fa-user-lock:before{content:"\f502"}.fa-arrow-right-long:before,.fa-long-arrow-right:before{content:"\f178"}.fa-anchor-circle-xmark:before{content:"\e4ac"}.fa-ellipsis-h:before,.fa-ellipsis:before{content:"\f141"}.fa-chess-pawn:before{content:"\f443"}.fa-first-aid:before,.fa-kit-medical:before{content:"\f479"}.fa-person-through-window:before{content:"\e5a9"}.fa-toolbox:before{content:"\f552"}.fa-hands-holding-circle:before{content:"\e4fb"}.fa-bug:before{content:"\f188"}.fa-credit-card-alt:before,.fa-credit-card:before{content:"\f09d"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-hand-holding-hand:before{content:"\e4f7"}.fa-book-open-reader:before,.fa-book-reader:before{content:"\f5da"}.fa-mountain-sun:before{content:"\e52f"}.fa-arrows-left-right-to-line:before{content:"\e4ba"}.fa-dice-d20:before{content:"\f6cf"}.fa-truck-droplet:before{content:"\e58c"}.fa-file-circle-xmark:before{content:"\e5a1"}.fa-temperature-arrow-up:before,.fa-temperature-up:before{content:"\e040"}.fa-medal:before{content:"\f5a2"}.fa-bed:before{content:"\f236"}.fa-h-square:before,.fa-square-h:before{content:"\f0fd"}.fa-podcast:before{content:"\f2ce"}.fa-temperature-4:before,.fa-temperature-full:before,.fa-thermometer-4:before,.fa-thermometer-full:before{content:"\f2c7"}.fa-bell:before{content:"\f0f3"}.fa-superscript:before{content:"\f12b"}.fa-plug-circle-xmark:before{content:"\e560"}.fa-star-of-life:before{content:"\f621"}.fa-phone-slash:before{content:"\f3dd"}.fa-paint-roller:before{content:"\f5aa"}.fa-hands-helping:before,.fa-handshake-angle:before{content:"\f4c4"}.fa-location-dot:before,.fa-map-marker-alt:before{content:"\f3c5"}.fa-file:before{content:"\f15b"}.fa-greater-than:before{content:"\3e"}.fa-person-swimming:before,.fa-swimmer:before{content:"\f5c4"}.fa-arrow-down:before{content:"\f063"}.fa-droplet:before,.fa-tint:before{content:"\f043"}.fa-eraser:before{content:"\f12d"}.fa-earth-america:before,.fa-earth-americas:before,.fa-earth:before,.fa-globe-americas:before{content:"\f57d"}.fa-person-burst:before{content:"\e53b"}.fa-dove:before{content:"\f4ba"}.fa-battery-0:before,.fa-battery-empty:before{content:"\f244"}.fa-socks:before{content:"\f696"}.fa-inbox:before{content:"\f01c"}.fa-section:before{content:"\e447"}.fa-gauge-high:before,.fa-tachometer-alt-fast:before,.fa-tachometer-alt:before{content:"\f625"}.fa-envelope-open-text:before{content:"\f658"}.fa-hospital-alt:before,.fa-hospital-wide:before,.fa-hospital:before{content:"\f0f8"}.fa-wine-bottle:before{content:"\f72f"}.fa-chess-rook:before{content:"\f447"}.fa-bars-staggered:before,.fa-reorder:before,.fa-stream:before{content:"\f550"}.fa-dharmachakra:before{content:"\f655"}.fa-hotdog:before{content:"\f80f"}.fa-blind:before,.fa-person-walking-with-cane:before{content:"\f29d"}.fa-drum:before{content:"\f569"}.fa-ice-cream:before{content:"\f810"}.fa-heart-circle-bolt:before{content:"\e4fc"}.fa-fax:before{content:"\f1ac"}.fa-paragraph:before{content:"\f1dd"}.fa-check-to-slot:before,.fa-vote-yea:before{content:"\f772"}.fa-star-half:before{content:"\f089"}.fa-boxes-alt:before,.fa-boxes-stacked:before,.fa-boxes:before{content:"\f468"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-assistive-listening-systems:before,.fa-ear-listen:before{content:"\f2a2"}.fa-tree-city:before{content:"\e587"}.fa-play:before{content:"\f04b"}.fa-font:before{content:"\f031"}.fa-rupiah-sign:before{content:"\e23d"}.fa-magnifying-glass:before,.fa-search:before{content:"\f002"}.fa-ping-pong-paddle-ball:before,.fa-table-tennis-paddle-ball:before,.fa-table-tennis:before{content:"\f45d"}.fa-diagnoses:before,.fa-person-dots-from-line:before{content:"\f470"}.fa-trash-can-arrow-up:before,.fa-trash-restore-alt:before{content:"\f82a"}.fa-naira-sign:before{content:"\e1f6"}.fa-cart-arrow-down:before{content:"\f218"}.fa-walkie-talkie:before{content:"\f8ef"}.fa-file-edit:before,.fa-file-pen:before{content:"\f31c"}.fa-receipt:before{content:"\f543"}.fa-pen-square:before,.fa-pencil-square:before,.fa-square-pen:before{content:"\f14b"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-person-circle-exclamation:before{content:"\e53f"}.fa-chevron-down:before{content:"\f078"}.fa-battery-5:before,.fa-battery-full:before,.fa-battery:before{content:"\f240"}.fa-skull-crossbones:before{content:"\f714"}.fa-code-compare:before{content:"\e13a"}.fa-list-dots:before,.fa-list-ul:before{content:"\f0ca"}.fa-school-lock:before{content:"\e56f"}.fa-tower-cell:before{content:"\e585"}.fa-down-long:before,.fa-long-arrow-alt-down:before{content:"\f309"}.fa-ranking-star:before{content:"\e561"}.fa-chess-king:before{content:"\f43f"}.fa-person-harassing:before{content:"\e549"}.fa-brazilian-real-sign:before{content:"\e46c"}.fa-landmark-alt:before,.fa-landmark-dome:before{content:"\f752"}.fa-arrow-up:before{content:"\f062"}.fa-television:before,.fa-tv-alt:before,.fa-tv:before{content:"\f26c"}.fa-shrimp:before{content:"\e448"}.fa-list-check:before,.fa-tasks:before{content:"\f0ae"}.fa-jug-detergent:before{content:"\e519"}.fa-circle-user:before,.fa-user-circle:before{content:"\f2bd"}.fa-user-shield:before{content:"\f505"}.fa-wind:before{content:"\f72e"}.fa-car-burst:before,.fa-car-crash:before{content:"\f5e1"}.fa-y:before{content:"\59"}.fa-person-snowboarding:before,.fa-snowboarding:before{content:"\f7ce"}.fa-shipping-fast:before,.fa-truck-fast:before{content:"\f48b"}.fa-fish:before{content:"\f578"}.fa-user-graduate:before{content:"\f501"}.fa-adjust:before,.fa-circle-half-stroke:before{content:"\f042"}.fa-clapperboard:before{content:"\e131"}.fa-circle-radiation:before,.fa-radiation-alt:before{content:"\f7ba"}.fa-baseball-ball:before,.fa-baseball:before{content:"\f433"}.fa-jet-fighter-up:before{content:"\e518"}.fa-diagram-project:before,.fa-project-diagram:before{content:"\f542"}.fa-copy:before{content:"\f0c5"}.fa-volume-mute:before,.fa-volume-times:before,.fa-volume-xmark:before{content:"\f6a9"}.fa-hand-sparkles:before{content:"\e05d"}.fa-grip-horizontal:before,.fa-grip:before{content:"\f58d"}.fa-share-from-square:before,.fa-share-square:before{content:"\f14d"}.fa-child-combatant:before,.fa-child-rifle:before{content:"\e4e0"}.fa-gun:before{content:"\e19b"}.fa-phone-square:before,.fa-square-phone:before{content:"\f098"}.fa-add:before,.fa-plus:before{content:"\2b"}.fa-expand:before{content:"\f065"}.fa-computer:before{content:"\e4e5"}.fa-close:before,.fa-multiply:before,.fa-remove:before,.fa-times:before,.fa-xmark:before{content:"\f00d"}.fa-arrows-up-down-left-right:before,.fa-arrows:before{content:"\f047"}.fa-chalkboard-teacher:before,.fa-chalkboard-user:before{content:"\f51c"}.fa-peso-sign:before{content:"\e222"}.fa-building-shield:before{content:"\e4d8"}.fa-baby:before{content:"\f77c"}.fa-users-line:before{content:"\e592"}.fa-quote-left-alt:before,.fa-quote-left:before{content:"\f10d"}.fa-tractor:before{content:"\f722"}.fa-trash-arrow-up:before,.fa-trash-restore:before{content:"\f829"}.fa-arrow-down-up-lock:before{content:"\e4b0"}.fa-lines-leaning:before{content:"\e51e"}.fa-ruler-combined:before{content:"\f546"}.fa-copyright:before{content:"\f1f9"}.fa-equals:before{content:"\3d"}.fa-blender:before{content:"\f517"}.fa-teeth:before{content:"\f62e"}.fa-ils:before,.fa-shekel-sign:before,.fa-shekel:before,.fa-sheqel-sign:before,.fa-sheqel:before{content:"\f20b"}.fa-map:before{content:"\f279"}.fa-rocket:before{content:"\f135"}.fa-photo-film:before,.fa-photo-video:before{content:"\f87c"}.fa-folder-minus:before{content:"\f65d"}.fa-store:before{content:"\f54e"}.fa-arrow-trend-up:before{content:"\e098"}.fa-plug-circle-minus:before{content:"\e55e"}.fa-sign-hanging:before,.fa-sign:before{content:"\f4d9"}.fa-bezier-curve:before{content:"\f55b"}.fa-bell-slash:before{content:"\f1f6"}.fa-tablet-android:before,.fa-tablet:before{content:"\f3fb"}.fa-school-flag:before{content:"\e56e"}.fa-fill:before{content:"\f575"}.fa-angle-up:before{content:"\f106"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-holly-berry:before{content:"\f7aa"}.fa-chevron-left:before{content:"\f053"}.fa-bacteria:before{content:"\e059"}.fa-hand-lizard:before{content:"\f258"}.fa-notdef:before{content:"\e1fe"}.fa-disease:before{content:"\f7fa"}.fa-briefcase-medical:before{content:"\f469"}.fa-genderless:before{content:"\f22d"}.fa-chevron-right:before{content:"\f054"}.fa-retweet:before{content:"\f079"}.fa-car-alt:before,.fa-car-rear:before{content:"\f5de"}.fa-pump-soap:before{content:"\e06b"}.fa-video-slash:before{content:"\f4e2"}.fa-battery-2:before,.fa-battery-quarter:before{content:"\f243"}.fa-radio:before{content:"\f8d7"}.fa-baby-carriage:before,.fa-carriage-baby:before{content:"\f77d"}.fa-traffic-light:before{content:"\f637"}.fa-thermometer:before{content:"\f491"}.fa-vr-cardboard:before{content:"\f729"}.fa-hand-middle-finger:before{content:"\f806"}.fa-percent:before,.fa-percentage:before{content:"\25"}.fa-truck-moving:before{content:"\f4df"}.fa-glass-water-droplet:before{content:"\e4f5"}.fa-display:before{content:"\e163"}.fa-face-smile:before,.fa-smile:before{content:"\f118"}.fa-thumb-tack:before,.fa-thumbtack:before{content:"\f08d"}.fa-trophy:before{content:"\f091"}.fa-person-praying:before,.fa-pray:before{content:"\f683"}.fa-hammer:before{content:"\f6e3"}.fa-hand-peace:before{content:"\f25b"}.fa-rotate:before,.fa-sync-alt:before{content:"\f2f1"}.fa-spinner:before{content:"\f110"}.fa-robot:before{content:"\f544"}.fa-peace:before{content:"\f67c"}.fa-cogs:before,.fa-gears:before{content:"\f085"}.fa-warehouse:before{content:"\f494"}.fa-arrow-up-right-dots:before{content:"\e4b7"}.fa-splotch:before{content:"\f5bc"}.fa-face-grin-hearts:before,.fa-grin-hearts:before{content:"\f584"}.fa-dice-four:before{content:"\f524"}.fa-sim-card:before{content:"\f7c4"}.fa-transgender-alt:before,.fa-transgender:before{content:"\f225"}.fa-mercury:before{content:"\f223"}.fa-arrow-turn-down:before,.fa-level-down:before{content:"\f149"}.fa-person-falling-burst:before{content:"\e547"}.fa-award:before{content:"\f559"}.fa-ticket-alt:before,.fa-ticket-simple:before{content:"\f3ff"}.fa-building:before{content:"\f1ad"}.fa-angle-double-left:before,.fa-angles-left:before{content:"\f100"}.fa-qrcode:before{content:"\f029"}.fa-clock-rotate-left:before,.fa-history:before{content:"\f1da"}.fa-face-grin-beam-sweat:before,.fa-grin-beam-sweat:before{content:"\f583"}.fa-arrow-right-from-file:before,.fa-file-export:before{content:"\f56e"}.fa-shield-blank:before,.fa-shield:before{content:"\f132"}.fa-arrow-up-short-wide:before,.fa-sort-amount-up-alt:before{content:"\f885"}.fa-house-medical:before{content:"\e3b2"}.fa-golf-ball-tee:before,.fa-golf-ball:before{content:"\f450"}.fa-chevron-circle-left:before,.fa-circle-chevron-left:before{content:"\f137"}.fa-house-chimney-window:before{content:"\e00d"}.fa-pen-nib:before{content:"\f5ad"}.fa-tent-arrow-turn-left:before{content:"\e580"}.fa-tents:before{content:"\e582"}.fa-magic:before,.fa-wand-magic:before{content:"\f0d0"}.fa-dog:before{content:"\f6d3"}.fa-carrot:before{content:"\f787"}.fa-moon:before{content:"\f186"}.fa-wine-glass-alt:before,.fa-wine-glass-empty:before{content:"\f5ce"}.fa-cheese:before{content:"\f7ef"}.fa-yin-yang:before{content:"\f6ad"}.fa-music:before{content:"\f001"}.fa-code-commit:before{content:"\f386"}.fa-temperature-low:before{content:"\f76b"}.fa-biking:before,.fa-person-biking:before{content:"\f84a"}.fa-broom:before{content:"\f51a"}.fa-shield-heart:before{content:"\e574"}.fa-gopuram:before{content:"\f664"}.fa-earth-oceania:before,.fa-globe-oceania:before{content:"\e47b"}.fa-square-xmark:before,.fa-times-square:before,.fa-xmark-square:before{content:"\f2d3"}.fa-hashtag:before{content:"\23"}.fa-expand-alt:before,.fa-up-right-and-down-left-from-center:before{content:"\f424"}.fa-oil-can:before{content:"\f613"}.fa-t:before{content:"\54"}.fa-hippo:before{content:"\f6ed"}.fa-chart-column:before{content:"\e0e3"}.fa-infinity:before{content:"\f534"}.fa-vial-circle-check:before{content:"\e596"}.fa-person-arrow-down-to-line:before{content:"\e538"}.fa-voicemail:before{content:"\f897"}.fa-fan:before{content:"\f863"}.fa-person-walking-luggage:before{content:"\e554"}.fa-arrows-alt-v:before,.fa-up-down:before{content:"\f338"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-calendar:before{content:"\f133"}.fa-trailer:before{content:"\e041"}.fa-bahai:before,.fa-haykal:before{content:"\f666"}.fa-sd-card:before{content:"\f7c2"}.fa-dragon:before{content:"\f6d5"}.fa-shoe-prints:before{content:"\f54b"}.fa-circle-plus:before,.fa-plus-circle:before{content:"\f055"}.fa-face-grin-tongue-wink:before,.fa-grin-tongue-wink:before{content:"\f58b"}.fa-hand-holding:before{content:"\f4bd"}.fa-plug-circle-exclamation:before{content:"\e55d"}.fa-chain-broken:before,.fa-chain-slash:before,.fa-link-slash:before,.fa-unlink:before{content:"\f127"}.fa-clone:before{content:"\f24d"}.fa-person-walking-arrow-loop-left:before{content:"\e551"}.fa-arrow-up-z-a:before,.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-fire-alt:before,.fa-fire-flame-curved:before{content:"\f7e4"}.fa-tornado:before{content:"\f76f"}.fa-file-circle-plus:before{content:"\e494"}.fa-book-quran:before,.fa-quran:before{content:"\f687"}.fa-anchor:before{content:"\f13d"}.fa-border-all:before{content:"\f84c"}.fa-angry:before,.fa-face-angry:before{content:"\f556"}.fa-cookie-bite:before{content:"\f564"}.fa-arrow-trend-down:before{content:"\e097"}.fa-feed:before,.fa-rss:before{content:"\f09e"}.fa-draw-polygon:before{content:"\f5ee"}.fa-balance-scale:before,.fa-scale-balanced:before{content:"\f24e"}.fa-gauge-simple-high:before,.fa-tachometer-fast:before,.fa-tachometer:before{content:"\f62a"}.fa-shower:before{content:"\f2cc"}.fa-desktop-alt:before,.fa-desktop:before{content:"\f390"}.fa-m:before{content:"\4d"}.fa-table-list:before,.fa-th-list:before{content:"\f00b"}.fa-comment-sms:before,.fa-sms:before{content:"\f7cd"}.fa-book:before{content:"\f02d"}.fa-user-plus:before{content:"\f234"}.fa-check:before{content:"\f00c"}.fa-battery-4:before,.fa-battery-three-quarters:before{content:"\f241"}.fa-house-circle-check:before{content:"\e509"}.fa-angle-left:before{content:"\f104"}.fa-diagram-successor:before{content:"\e47a"}.fa-truck-arrow-right:before{content:"\e58b"}.fa-arrows-split-up-and-left:before{content:"\e4bc"}.fa-fist-raised:before,.fa-hand-fist:before{content:"\f6de"}.fa-cloud-moon:before{content:"\f6c3"}.fa-briefcase:before{content:"\f0b1"}.fa-person-falling:before{content:"\e546"}.fa-image-portrait:before,.fa-portrait:before{content:"\f3e0"}.fa-user-tag:before{content:"\f507"}.fa-rug:before{content:"\e569"}.fa-earth-europe:before,.fa-globe-europe:before{content:"\f7a2"}.fa-cart-flatbed-suitcase:before,.fa-luggage-cart:before{content:"\f59d"}.fa-rectangle-times:before,.fa-rectangle-xmark:before,.fa-times-rectangle:before,.fa-window-close:before{content:"\f410"}.fa-baht-sign:before{content:"\e0ac"}.fa-book-open:before{content:"\f518"}.fa-book-journal-whills:before,.fa-journal-whills:before{content:"\f66a"}.fa-handcuffs:before{content:"\e4f8"}.fa-exclamation-triangle:before,.fa-triangle-exclamation:before,.fa-warning:before{content:"\f071"}.fa-database:before{content:"\f1c0"}.fa-arrow-turn-right:before,.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-bottle-droplet:before{content:"\e4c4"}.fa-mask-face:before{content:"\e1d7"}.fa-hill-rockslide:before{content:"\e508"}.fa-exchange-alt:before,.fa-right-left:before{content:"\f362"}.fa-paper-plane:before{content:"\f1d8"}.fa-road-circle-exclamation:before{content:"\e565"}.fa-dungeon:before{content:"\f6d9"}.fa-align-right:before{content:"\f038"}.fa-money-bill-1-wave:before,.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-life-ring:before{content:"\f1cd"}.fa-hands:before,.fa-sign-language:before,.fa-signing:before{content:"\f2a7"}.fa-calendar-day:before{content:"\f783"}.fa-ladder-water:before,.fa-swimming-pool:before,.fa-water-ladder:before{content:"\f5c5"}.fa-arrows-up-down:before,.fa-arrows-v:before{content:"\f07d"}.fa-face-grimace:before,.fa-grimace:before{content:"\f57f"}.fa-wheelchair-alt:before,.fa-wheelchair-move:before{content:"\e2ce"}.fa-level-down-alt:before,.fa-turn-down:before{content:"\f3be"}.fa-person-walking-arrow-right:before{content:"\e552"}.fa-envelope-square:before,.fa-square-envelope:before{content:"\f199"}.fa-dice:before{content:"\f522"}.fa-bowling-ball:before{content:"\f436"}.fa-brain:before{content:"\f5dc"}.fa-band-aid:before,.fa-bandage:before{content:"\f462"}.fa-calendar-minus:before{content:"\f272"}.fa-circle-xmark:before,.fa-times-circle:before,.fa-xmark-circle:before{content:"\f057"}.fa-gifts:before{content:"\f79c"}.fa-hotel:before{content:"\f594"}.fa-earth-asia:before,.fa-globe-asia:before{content:"\f57e"}.fa-id-card-alt:before,.fa-id-card-clip:before{content:"\f47f"}.fa-magnifying-glass-plus:before,.fa-search-plus:before{content:"\f00e"}.fa-thumbs-up:before{content:"\f164"}.fa-user-clock:before{content:"\f4fd"}.fa-allergies:before,.fa-hand-dots:before{content:"\f461"}.fa-file-invoice:before{content:"\f570"}.fa-window-minimize:before{content:"\f2d1"}.fa-coffee:before,.fa-mug-saucer:before{content:"\f0f4"}.fa-brush:before{content:"\f55d"}.fa-mask:before{content:"\f6fa"}.fa-magnifying-glass-minus:before,.fa-search-minus:before{content:"\f010"}.fa-ruler-vertical:before{content:"\f548"}.fa-user-alt:before,.fa-user-large:before{content:"\f406"}.fa-train-tram:before{content:"\e5b4"}.fa-user-nurse:before{content:"\f82f"}.fa-syringe:before{content:"\f48e"}.fa-cloud-sun:before{content:"\f6c4"}.fa-stopwatch-20:before{content:"\e06f"}.fa-square-full:before{content:"\f45c"}.fa-magnet:before{content:"\f076"}.fa-jar:before{content:"\e516"}.fa-note-sticky:before,.fa-sticky-note:before{content:"\f249"}.fa-bug-slash:before{content:"\e490"}.fa-arrow-up-from-water-pump:before{content:"\e4b6"}.fa-bone:before{content:"\f5d7"}.fa-user-injured:before{content:"\f728"}.fa-face-sad-tear:before,.fa-sad-tear:before{content:"\f5b4"}.fa-plane:before{content:"\f072"}.fa-tent-arrows-down:before{content:"\e581"}.fa-exclamation:before{content:"\21"}.fa-arrows-spin:before{content:"\e4bb"}.fa-print:before{content:"\f02f"}.fa-try:before,.fa-turkish-lira-sign:before,.fa-turkish-lira:before{content:"\e2bb"}.fa-dollar-sign:before,.fa-dollar:before,.fa-usd:before{content:"\24"}.fa-x:before{content:"\58"}.fa-magnifying-glass-dollar:before,.fa-search-dollar:before{content:"\f688"}.fa-users-cog:before,.fa-users-gear:before{content:"\f509"}.fa-person-military-pointing:before{content:"\e54a"}.fa-bank:before,.fa-building-columns:before,.fa-institution:before,.fa-museum:before,.fa-university:before{content:"\f19c"}.fa-umbrella:before{content:"\f0e9"}.fa-trowel:before{content:"\e589"}.fa-d:before{content:"\44"}.fa-stapler:before{content:"\e5af"}.fa-masks-theater:before,.fa-theater-masks:before{content:"\f630"}.fa-kip-sign:before{content:"\e1c4"}.fa-hand-point-left:before{content:"\f0a5"}.fa-handshake-alt:before,.fa-handshake-simple:before{content:"\f4c6"}.fa-fighter-jet:before,.fa-jet-fighter:before{content:"\f0fb"}.fa-share-alt-square:before,.fa-square-share-nodes:before{content:"\f1e1"}.fa-barcode:before{content:"\f02a"}.fa-plus-minus:before{content:"\e43c"}.fa-video-camera:before,.fa-video:before{content:"\f03d"}.fa-graduation-cap:before,.fa-mortar-board:before{content:"\f19d"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-person-circle-check:before{content:"\e53e"}.fa-level-up-alt:before,.fa-turn-up:before{content:"\f3bf"} +.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero:before{content:"\f3d0"}.fa-hooli:before{content:"\f427"}.fa-yelp:before{content:"\f1e9"}.fa-cc-visa:before{content:"\f1f0"}.fa-lastfm:before{content:"\f202"}.fa-shopware:before{content:"\f5b5"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-aws:before{content:"\f375"}.fa-redhat:before{content:"\f7bc"}.fa-yoast:before{content:"\f2b1"}.fa-cloudflare:before{content:"\e07d"}.fa-ups:before{content:"\f7e0"}.fa-wpexplorer:before{content:"\f2de"}.fa-dyalog:before{content:"\f399"}.fa-bity:before{content:"\f37a"}.fa-stackpath:before{content:"\f842"}.fa-buysellads:before{content:"\f20d"}.fa-first-order:before{content:"\f2b0"}.fa-modx:before{content:"\f285"}.fa-guilded:before{content:"\e07e"}.fa-vnv:before{content:"\f40b"}.fa-js-square:before,.fa-square-js:before{content:"\f3b9"}.fa-microsoft:before{content:"\f3ca"}.fa-qq:before{content:"\f1d6"}.fa-orcid:before{content:"\f8d2"}.fa-java:before{content:"\f4e4"}.fa-invision:before{content:"\f7b0"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-centercode:before{content:"\f380"}.fa-glide-g:before{content:"\f2a6"}.fa-drupal:before{content:"\f1a9"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-unity:before{content:"\e049"}.fa-whmcs:before{content:"\f40d"}.fa-rocketchat:before{content:"\f3e8"}.fa-vk:before{content:"\f189"}.fa-untappd:before{content:"\f405"}.fa-mailchimp:before{content:"\f59e"}.fa-css3-alt:before{content:"\f38b"}.fa-reddit-square:before,.fa-square-reddit:before{content:"\f1a2"}.fa-vimeo-v:before{content:"\f27d"}.fa-contao:before{content:"\f26d"}.fa-square-font-awesome:before{content:"\e5ad"}.fa-deskpro:before{content:"\f38f"}.fa-sistrix:before{content:"\f3ee"}.fa-instagram-square:before,.fa-square-instagram:before{content:"\e055"}.fa-battle-net:before{content:"\f835"}.fa-the-red-yeti:before{content:"\f69d"}.fa-hacker-news-square:before,.fa-square-hacker-news:before{content:"\f3af"}.fa-edge:before{content:"\f282"}.fa-napster:before{content:"\f3d2"}.fa-snapchat-square:before,.fa-square-snapchat:before{content:"\f2ad"}.fa-google-plus-g:before{content:"\f0d5"}.fa-artstation:before{content:"\f77a"}.fa-markdown:before{content:"\f60f"}.fa-sourcetree:before{content:"\f7d3"}.fa-google-plus:before{content:"\f2b3"}.fa-diaspora:before{content:"\f791"}.fa-foursquare:before{content:"\f180"}.fa-stack-overflow:before{content:"\f16c"}.fa-github-alt:before{content:"\f113"}.fa-phoenix-squadron:before{content:"\f511"}.fa-pagelines:before{content:"\f18c"}.fa-algolia:before{content:"\f36c"}.fa-red-river:before{content:"\f3e3"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-safari:before{content:"\f267"}.fa-google:before{content:"\f1a0"}.fa-font-awesome-alt:before,.fa-square-font-awesome-stroke:before{content:"\f35c"}.fa-atlassian:before{content:"\f77b"}.fa-linkedin-in:before{content:"\f0e1"}.fa-digital-ocean:before{content:"\f391"}.fa-nimblr:before{content:"\f5a8"}.fa-chromecast:before{content:"\f838"}.fa-evernote:before{content:"\f839"}.fa-hacker-news:before{content:"\f1d4"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-adversal:before{content:"\f36a"}.fa-creative-commons:before{content:"\f25e"}.fa-watchman-monitoring:before{content:"\e087"}.fa-fonticons:before{content:"\f280"}.fa-weixin:before{content:"\f1d7"}.fa-shirtsinbulk:before{content:"\f214"}.fa-codepen:before{content:"\f1cb"}.fa-git-alt:before{content:"\f841"}.fa-lyft:before{content:"\f3c3"}.fa-rev:before{content:"\f5b2"}.fa-windows:before{content:"\f17a"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-square-viadeo:before,.fa-viadeo-square:before{content:"\f2aa"}.fa-meetup:before{content:"\f2e0"}.fa-centos:before{content:"\f789"}.fa-adn:before{content:"\f170"}.fa-cloudsmith:before{content:"\f384"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-dribbble-square:before,.fa-square-dribbble:before{content:"\f397"}.fa-codiepie:before{content:"\f284"}.fa-node:before{content:"\f419"}.fa-mix:before{content:"\f3cb"}.fa-steam:before{content:"\f1b6"}.fa-cc-apple-pay:before{content:"\f416"}.fa-scribd:before{content:"\f28a"}.fa-openid:before{content:"\f19b"}.fa-instalod:before{content:"\e081"}.fa-expeditedssl:before{content:"\f23e"}.fa-sellcast:before{content:"\f2da"}.fa-square-twitter:before,.fa-twitter-square:before{content:"\f081"}.fa-r-project:before{content:"\f4f7"}.fa-delicious:before{content:"\f1a5"}.fa-freebsd:before{content:"\f3a4"}.fa-vuejs:before{content:"\f41f"}.fa-accusoft:before{content:"\f369"}.fa-ioxhost:before{content:"\f208"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-app-store:before{content:"\f36f"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-itunes-note:before{content:"\f3b5"}.fa-golang:before{content:"\e40f"}.fa-kickstarter:before{content:"\f3bb"}.fa-grav:before{content:"\f2d6"}.fa-weibo:before{content:"\f18a"}.fa-uncharted:before{content:"\e084"}.fa-firstdraft:before{content:"\f3a1"}.fa-square-youtube:before,.fa-youtube-square:before{content:"\f431"}.fa-wikipedia-w:before{content:"\f266"}.fa-rendact:before,.fa-wpressr:before{content:"\f3e4"}.fa-angellist:before{content:"\f209"}.fa-galactic-republic:before{content:"\f50c"}.fa-nfc-directional:before{content:"\e530"}.fa-skype:before{content:"\f17e"}.fa-joget:before{content:"\f3b7"}.fa-fedora:before{content:"\f798"}.fa-stripe-s:before{content:"\f42a"}.fa-meta:before{content:"\e49b"}.fa-laravel:before{content:"\f3bd"}.fa-hotjar:before{content:"\f3b1"}.fa-bluetooth-b:before{content:"\f294"}.fa-sticker-mule:before{content:"\f3f7"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-hips:before{content:"\f452"}.fa-behance:before{content:"\f1b4"}.fa-reddit:before{content:"\f1a1"}.fa-discord:before{content:"\f392"}.fa-chrome:before{content:"\f268"}.fa-app-store-ios:before{content:"\f370"}.fa-cc-discover:before{content:"\f1f2"}.fa-wpbeginner:before{content:"\f297"}.fa-confluence:before{content:"\f78d"}.fa-mdb:before{content:"\f8ca"}.fa-dochub:before{content:"\f394"}.fa-accessible-icon:before{content:"\f368"}.fa-ebay:before{content:"\f4f4"}.fa-amazon:before{content:"\f270"}.fa-unsplash:before{content:"\e07c"}.fa-yarn:before{content:"\f7e3"}.fa-square-steam:before,.fa-steam-square:before{content:"\f1b7"}.fa-500px:before{content:"\f26e"}.fa-square-vimeo:before,.fa-vimeo-square:before{content:"\f194"}.fa-asymmetrik:before{content:"\f372"}.fa-font-awesome-flag:before,.fa-font-awesome-logo-full:before,.fa-font-awesome:before{content:"\f2b4"}.fa-gratipay:before{content:"\f184"}.fa-apple:before{content:"\f179"}.fa-hive:before{content:"\e07f"}.fa-gitkraken:before{content:"\f3a6"}.fa-keybase:before{content:"\f4f5"}.fa-apple-pay:before{content:"\f415"}.fa-padlet:before{content:"\e4a0"}.fa-amazon-pay:before{content:"\f42c"}.fa-github-square:before,.fa-square-github:before{content:"\f092"}.fa-stumbleupon:before{content:"\f1a4"}.fa-fedex:before{content:"\f797"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-shopify:before{content:"\e057"}.fa-neos:before{content:"\f612"}.fa-hackerrank:before{content:"\f5f7"}.fa-researchgate:before{content:"\f4f8"}.fa-swift:before{content:"\f8e1"}.fa-angular:before{content:"\f420"}.fa-speakap:before{content:"\f3f3"}.fa-angrycreative:before{content:"\f36e"}.fa-y-combinator:before{content:"\f23b"}.fa-empire:before{content:"\f1d1"}.fa-envira:before{content:"\f299"}.fa-gitlab-square:before,.fa-square-gitlab:before{content:"\e5ae"}.fa-studiovinari:before{content:"\f3f8"}.fa-pied-piper:before{content:"\f2ae"}.fa-wordpress:before{content:"\f19a"}.fa-product-hunt:before{content:"\f288"}.fa-firefox:before{content:"\f269"}.fa-linode:before{content:"\f2b8"}.fa-goodreads:before{content:"\f3a8"}.fa-odnoklassniki-square:before,.fa-square-odnoklassniki:before{content:"\f264"}.fa-jsfiddle:before{content:"\f1cc"}.fa-sith:before{content:"\f512"}.fa-themeisle:before{content:"\f2b2"}.fa-page4:before{content:"\f3d7"}.fa-hashnode:before{content:"\e499"}.fa-react:before{content:"\f41b"}.fa-cc-paypal:before{content:"\f1f4"}.fa-squarespace:before{content:"\f5be"}.fa-cc-stripe:before{content:"\f1f5"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-bitcoin:before{content:"\f379"}.fa-keycdn:before{content:"\f3ba"}.fa-opera:before{content:"\f26a"}.fa-itch-io:before{content:"\f83a"}.fa-umbraco:before{content:"\f8e8"}.fa-galactic-senate:before{content:"\f50d"}.fa-ubuntu:before{content:"\f7df"}.fa-draft2digital:before{content:"\f396"}.fa-stripe:before{content:"\f429"}.fa-houzz:before{content:"\f27c"}.fa-gg:before{content:"\f260"}.fa-dhl:before{content:"\f790"}.fa-pinterest-square:before,.fa-square-pinterest:before{content:"\f0d3"}.fa-xing:before{content:"\f168"}.fa-blackberry:before{content:"\f37b"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-playstation:before{content:"\f3df"}.fa-quinscape:before{content:"\f459"}.fa-less:before{content:"\f41d"}.fa-blogger-b:before{content:"\f37d"}.fa-opencart:before{content:"\f23d"}.fa-vine:before{content:"\f1ca"}.fa-paypal:before{content:"\f1ed"}.fa-gitlab:before{content:"\f296"}.fa-typo3:before{content:"\f42b"}.fa-reddit-alien:before{content:"\f281"}.fa-yahoo:before{content:"\f19e"}.fa-dailymotion:before{content:"\e052"}.fa-affiliatetheme:before{content:"\f36b"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-bootstrap:before{content:"\f836"}.fa-odnoklassniki:before{content:"\f263"}.fa-nfc-symbol:before{content:"\e531"}.fa-ethereum:before{content:"\f42e"}.fa-speaker-deck:before{content:"\f83c"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-patreon:before{content:"\f3d9"}.fa-avianex:before{content:"\f374"}.fa-ello:before{content:"\f5f1"}.fa-gofore:before{content:"\f3a7"}.fa-bimobject:before{content:"\f378"}.fa-facebook-f:before{content:"\f39e"}.fa-google-plus-square:before,.fa-square-google-plus:before{content:"\f0d4"}.fa-mandalorian:before{content:"\f50f"}.fa-first-order-alt:before{content:"\f50a"}.fa-osi:before{content:"\f41a"}.fa-google-wallet:before{content:"\f1ee"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-periscope:before{content:"\f3da"}.fa-fulcrum:before{content:"\f50b"}.fa-cloudscale:before{content:"\f383"}.fa-forumbee:before{content:"\f211"}.fa-mizuni:before{content:"\f3cc"}.fa-schlix:before{content:"\f3ea"}.fa-square-xing:before,.fa-xing-square:before{content:"\f169"}.fa-bandcamp:before{content:"\f2d5"}.fa-wpforms:before{content:"\f298"}.fa-cloudversify:before{content:"\f385"}.fa-usps:before{content:"\f7e1"}.fa-megaport:before{content:"\f5a3"}.fa-magento:before{content:"\f3c4"}.fa-spotify:before{content:"\f1bc"}.fa-optin-monster:before{content:"\f23c"}.fa-fly:before{content:"\f417"}.fa-aviato:before{content:"\f421"}.fa-itunes:before{content:"\f3b4"}.fa-cuttlefish:before{content:"\f38c"}.fa-blogger:before{content:"\f37c"}.fa-flickr:before{content:"\f16e"}.fa-viber:before{content:"\f409"}.fa-soundcloud:before{content:"\f1be"}.fa-digg:before{content:"\f1a6"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-symfony:before{content:"\f83d"}.fa-maxcdn:before{content:"\f136"}.fa-etsy:before{content:"\f2d7"}.fa-facebook-messenger:before{content:"\f39f"}.fa-audible:before{content:"\f373"}.fa-think-peaks:before{content:"\f731"}.fa-bilibili:before{content:"\e3d9"}.fa-erlang:before{content:"\f39d"}.fa-cotton-bureau:before{content:"\f89e"}.fa-dashcube:before{content:"\f210"}.fa-42-group:before,.fa-innosoft:before{content:"\e080"}.fa-stack-exchange:before{content:"\f18d"}.fa-elementor:before{content:"\f430"}.fa-pied-piper-square:before,.fa-square-pied-piper:before{content:"\e01e"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-palfed:before{content:"\f3d8"}.fa-superpowers:before{content:"\f2dd"}.fa-resolving:before{content:"\f3e7"}.fa-xbox:before{content:"\f412"}.fa-searchengin:before{content:"\f3eb"}.fa-tiktok:before{content:"\e07b"}.fa-facebook-square:before,.fa-square-facebook:before{content:"\f082"}.fa-renren:before{content:"\f18b"}.fa-linux:before{content:"\f17c"}.fa-glide:before{content:"\f2a5"}.fa-linkedin:before{content:"\f08c"}.fa-hubspot:before{content:"\f3b2"}.fa-deploydog:before{content:"\f38e"}.fa-twitch:before{content:"\f1e8"}.fa-ravelry:before{content:"\f2d9"}.fa-mixer:before{content:"\e056"}.fa-lastfm-square:before,.fa-square-lastfm:before{content:"\f203"}.fa-vimeo:before{content:"\f40a"}.fa-mendeley:before{content:"\f7b3"}.fa-uniregistry:before{content:"\f404"}.fa-figma:before{content:"\f799"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-dropbox:before{content:"\f16b"}.fa-instagram:before{content:"\f16d"}.fa-cmplid:before{content:"\e360"}.fa-facebook:before{content:"\f09a"}.fa-gripfire:before{content:"\f3ac"}.fa-jedi-order:before{content:"\f50e"}.fa-uikit:before{content:"\f403"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-phabricator:before{content:"\f3db"}.fa-ussunnah:before{content:"\f407"}.fa-earlybirds:before{content:"\f39a"}.fa-trade-federation:before{content:"\f513"}.fa-autoprefixer:before{content:"\f41c"}.fa-whatsapp:before{content:"\f232"}.fa-slideshare:before{content:"\f1e7"}.fa-google-play:before{content:"\f3ab"}.fa-viadeo:before{content:"\f2a9"}.fa-line:before{content:"\f3c0"}.fa-google-drive:before{content:"\f3aa"}.fa-servicestack:before{content:"\f3ec"}.fa-simplybuilt:before{content:"\f215"}.fa-bitbucket:before{content:"\f171"}.fa-imdb:before{content:"\f2d8"}.fa-deezer:before{content:"\e077"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-jira:before{content:"\f7b1"}.fa-docker:before{content:"\f395"}.fa-screenpal:before{content:"\e570"}.fa-bluetooth:before{content:"\f293"}.fa-gitter:before{content:"\f426"}.fa-d-and-d:before{content:"\f38d"}.fa-microblog:before{content:"\e01a"}.fa-cc-diners-club:before{content:"\f24c"}.fa-gg-circle:before{content:"\f261"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-yandex:before{content:"\f413"}.fa-readme:before{content:"\f4d5"}.fa-html5:before{content:"\f13b"}.fa-sellsy:before{content:"\f213"}.fa-sass:before{content:"\f41e"}.fa-wirsindhandwerk:before,.fa-wsh:before{content:"\e2d0"}.fa-buromobelexperte:before{content:"\f37f"}.fa-salesforce:before{content:"\f83b"}.fa-octopus-deploy:before{content:"\e082"}.fa-medapps:before{content:"\f3c6"}.fa-ns8:before{content:"\f3d5"}.fa-pinterest-p:before{content:"\f231"}.fa-apper:before{content:"\f371"}.fa-fort-awesome:before{content:"\f286"}.fa-waze:before{content:"\f83f"}.fa-cc-jcb:before{content:"\f24b"}.fa-snapchat-ghost:before,.fa-snapchat:before{content:"\f2ab"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-rust:before{content:"\e07a"}.fa-wix:before{content:"\f5cf"}.fa-behance-square:before,.fa-square-behance:before{content:"\f1b5"}.fa-supple:before{content:"\f3f9"}.fa-rebel:before{content:"\f1d0"}.fa-css3:before{content:"\f13c"}.fa-staylinked:before{content:"\f3f5"}.fa-kaggle:before{content:"\f5fa"}.fa-space-awesome:before{content:"\e5ac"}.fa-deviantart:before{content:"\f1bd"}.fa-cpanel:before{content:"\f388"}.fa-goodreads-g:before{content:"\f3a9"}.fa-git-square:before,.fa-square-git:before{content:"\f1d2"}.fa-square-tumblr:before,.fa-tumblr-square:before{content:"\f174"}.fa-trello:before{content:"\f181"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-get-pocket:before{content:"\f265"}.fa-perbyte:before{content:"\e083"}.fa-grunt:before{content:"\f3ad"}.fa-weebly:before{content:"\f5cc"}.fa-connectdevelop:before{content:"\f20e"}.fa-leanpub:before{content:"\f212"}.fa-black-tie:before{content:"\f27e"}.fa-themeco:before{content:"\f5c6"}.fa-python:before{content:"\f3e2"}.fa-android:before{content:"\f17b"}.fa-bots:before{content:"\e340"}.fa-free-code-camp:before{content:"\f2c5"}.fa-hornbill:before{content:"\f592"}.fa-js:before{content:"\f3b8"}.fa-ideal:before{content:"\e013"}.fa-git:before{content:"\f1d3"}.fa-dev:before{content:"\f6cc"}.fa-sketch:before{content:"\f7c6"}.fa-yandex-international:before{content:"\f414"}.fa-cc-amex:before{content:"\f1f3"}.fa-uber:before{content:"\f402"}.fa-github:before{content:"\f09b"}.fa-php:before{content:"\f457"}.fa-alipay:before{content:"\f642"}.fa-youtube:before{content:"\f167"}.fa-skyatlas:before{content:"\f216"}.fa-firefox-browser:before{content:"\e007"}.fa-replyd:before{content:"\f3e6"}.fa-suse:before{content:"\f7d6"}.fa-jenkins:before{content:"\f3b6"}.fa-twitter:before{content:"\f099"}.fa-rockrms:before{content:"\f3e9"}.fa-pinterest:before{content:"\f0d2"}.fa-buffer:before{content:"\f837"}.fa-npm:before{content:"\f3d4"}.fa-yammer:before{content:"\f840"}.fa-btc:before{content:"\f15a"}.fa-dribbble:before{content:"\f17d"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-internet-explorer:before{content:"\f26b"}.fa-stubber:before{content:"\e5c7"}.fa-telegram-plane:before,.fa-telegram:before{content:"\f2c6"}.fa-old-republic:before{content:"\f510"}.fa-odysee:before{content:"\e5c6"}.fa-square-whatsapp:before,.fa-whatsapp-square:before{content:"\f40c"}.fa-node-js:before{content:"\f3d3"}.fa-edge-legacy:before{content:"\e078"}.fa-slack-hash:before,.fa-slack:before{content:"\f198"}.fa-medrt:before{content:"\f3c8"}.fa-usb:before{content:"\f287"}.fa-tumblr:before{content:"\f173"}.fa-vaadin:before{content:"\f408"}.fa-quora:before{content:"\f2c4"}.fa-reacteurope:before{content:"\f75d"}.fa-medium-m:before,.fa-medium:before{content:"\f23a"}.fa-amilia:before{content:"\f36d"}.fa-mixcloud:before{content:"\f289"}.fa-flipboard:before{content:"\f44d"}.fa-viacoin:before{content:"\f237"}.fa-critical-role:before{content:"\f6c9"}.fa-sitrox:before{content:"\e44a"}.fa-discourse:before{content:"\f393"}.fa-joomla:before{content:"\f1aa"}.fa-mastodon:before{content:"\f4f6"}.fa-airbnb:before{content:"\f834"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-buy-n-large:before{content:"\f8a6"}.fa-gulp:before{content:"\f3ae"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-strava:before{content:"\f428"}.fa-ember:before{content:"\f423"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-teamspeak:before{content:"\f4f9"}.fa-pushed:before{content:"\f3e1"}.fa-wordpress-simple:before{content:"\f411"}.fa-nutritionix:before{content:"\f3d6"}.fa-wodu:before{content:"\e088"}.fa-google-pay:before{content:"\e079"}.fa-intercom:before{content:"\f7af"}.fa-zhihu:before{content:"\f63f"}.fa-korvue:before{content:"\f42f"}.fa-pix:before{content:"\e43a"}.fa-steam-symbol:before{content:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(../webfonts/fa-v4compatibility.woff2) format("woff2"),url(../webfonts/fa-v4compatibility.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a} \ No newline at end of file diff --git a/cdn/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 b/cdn/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..5929101297278b9c51cfc48d99bdd23636163525 GIT binary patch literal 108000 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 z zVK}Uzl0UP)(5lmMUU27?;-cFX+?we`!d|&j7K%uavrBHYDGM))DQTKzQb9@+d5vQ@ z9u@jcYad2WMz4w96@5_@i79|J3OxixOg7PlaMI*vuX@ey6Ok?V8f4~_!HbKA4S#nI z7PrBwsK64%4IRr?0~>hYrESC$?)JrZ7hh?V(^`NJ4oFF>4F9+=#^+k&RRqDcw$|?D zS&~lDI5xf(SVO7U%V(suN=jv|l=9D|dvAibE&s1GDO~aC=d}=Q@@~eNF_}_IWY#Ik zSdq^rMJc#y9@R;#jb=+7Mo1~FmG6*J8Y_j6*2`}amJ(uSjReik*EAKF z)VNh^uLNVL*}+b`a*J78H|S2Z5{}2o{7(*kWAFL9_o{!|%kuofI)4y{P`&XV+r{NS zYpyzax5V}*d^B~b6dKS`_^0BXg)uj&Vyqr>%TcW_V- zR!2vTB9d8_@%5T#Stf~8b9A&C)CUK<_3H4b>GdxE_t|NcR^2{;QM@L0_ukvze(x@0 zckjLZcdU&QW37#!jWD+M>OsF3$FfQ~M22Z4v%z3=aqr&6XfVj6(##Nbl1j#LuYYiK z<;u~2_GRhcHIzE2jfsV~#+ZiM^y&)A-qTY>Zg3Ty~BWtGJ@#iaKvC0FXd$zk650d~WXtNP(Fm!oewu4!0|dyb>I4JxNbtCg*E zJA5wI){Yms5xK5JWKxSlC*ejINB}7TBq2x$A?+U%F6qiN*wZr0#3HW@^QvOMyfNLe zdhFQNW^nlGVw5pH?oDuYI?b1y2h{0P7cVaUMszx};uz0H#eDkhn>YD`bT-?6=9Vk7 znZ_yCT?xsE5T1*q-2S3c)u?T0U%2+6F5q~48f@aABkLdR9R8nbI7A!{tHtv#d;uR> z-8?&;qEIVgW+IaywT8)n!w|IWRu($4?yCw$T}_@*-T;_;r&v%Q|T2l z0hA*S8K*?Zd}-g`Vf@6Y+iu(2Vf=*9b=wj`uI%saADjGPE`zYQ+-xFn7DsVt+u+y+ zb6saCPLfb4mBa{~hjAQOHoA@k$2K=l-+J5L5yp?7y6v_-scD+zf(8_$X!Zxo($E3o zIM+SbHHDDUbp;1t%wLJ51fa|hmMqt^EzYHMe8vGNwFn^u3Az4x_!+oH`s5TLBb8@d z#ZzP=MB_c!i#HRM5S{Ji*Qfx`7iTk;@M-$&Iv~?*yhTq58nh?i0=lrq|=Q;l{ z=K~?Xh{!)J#Or?>0r>X_vGTo~=R$~zbI$J(;w%@R|Ht;Lddc|g z%}ew^zR6lb6wM}UZLr?u;hf-|jR39SY;`8~^%I68=oH}La?uVZ%U(NK+7+dtNhLH_ zkxn2tYMWg_e=Ob9C&a}T^$1x9?4inYQmfMS2!JOidh+DP-4<6^x@#ufYngmZtWRUT zSZ<9Nvfg|@S^-i31P%hsC?&A1MT7(q4_iz#0rGVdSvH8vGE2E~antSQIcun!cHB5*?uiu8MYM%r>isYG!O#K8v;cS1N9h`X3GK!9=ozn=C)oCj+Kd1?x+ zgBF{epK}!m&M^>CrqUz?FfbDnbeR0Bu!d7j#`%5x2+D7esC2+BN*Xj28o2wG}i36psu#Xz13LAPgwm}FWn zJCCg@Ev2=?5PNW`74MuInORC?B@s8VATrFbMViozNSbjJq2ELP2l>mE2u+p9LuH6n zvs&*Gb_dNJQoDB7HjlwMnpUDZ#~7+f(BOAPuf6(ArY&@w?j~` zt^Lyc{a-nM;_dVN)n9V;ttOkfE|*@Hod};*Bzl6rRjmG0=^F(_IltBJhy?^$Tg2enwBlkZ2_`o% zqs_G)L`lWb{ZOWe__Nb~4>=5ni}k)&tGCm|aEQR6-=DQ>HLt(E1Y7_rO9;v}4J6Za z#xOC3U`#iFF)+_pzF$=x#7=cv2bv9Z&aQUAabUFr%?3JWS3BT1Fwk{dARg5m+a3rX5dVHZNDB#i2$l|OiV_P^`!Emb|lR+3>D z&S$q*R^)vkP6~MP3cOEbqs3yB2{ssP!BxX>=4wCu4mKEUMKd%�%hK&BfNrio72I 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 kjEE?V+uJ$<`TCdU^Sk%go@eVUOm0FFQr7ytkO literal 0 HcmV?d00001 diff --git a/cdn/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 b/cdn/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..953d5540b0d2ce898362bdbdd2c53570b3bd7acc GIT binary patch literal 24840 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 literal 0 HcmV?d00001 diff --git a/cdn/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 b/cdn/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..83433f44555ede39dcd26c3d919e5be5a3691c32 GIT binary patch literal 149908 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%0A*YSa{ylHXyb#ghALD5`%wG015U9SUxxI> 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
    FgB2?%Xm841B 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 |Q7cIKf<`<`?UyD%bO{Iz*dWyQpYCmtK_UjJ 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 literal 0 HcmV?d00001 diff --git a/cdn/@waline/client/dist/waline.min.css b/cdn/@waline/client/dist/waline.min.css new file mode 100644 index 00000000..44239eb4 --- /dev/null +++ b/cdn/@waline/client/dist/waline.min.css @@ -0,0 +1,7 @@ +/** + * Skipped minification because the original files appears to be already minified. + * Original file: /npm/@waline/client@2.14.8/dist/waline.css + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +:root{--waline-font-size: 1rem;--waline-white: #fff;--waline-light-grey: #999;--waline-dark-grey: #666;--waline-theme-color: #27ae60;--waline-active-color: #2ecc71;--waline-color: #444;--waline-bgcolor: #fff;--waline-bgcolor-light: #f8f8f8;--waline-bgcolor-hover: #f0f0f0;--waline-border-color: #ddd;--waline-disable-bgcolor: #f8f8f8;--waline-disable-color: #000;--waline-code-bgcolor: #282c34;--waline-bq-color: #f0f0f0;--waline-avatar-size: 3.25rem;--waline-m-avatar-size: calc(var(--waline-avatar-size) * 9 / 13);--waline-badge-color: #3498db;--waline-badge-font-size: 0.75em;--waline-info-bgcolor: #f8f8f8;--waline-info-color: #999;--waline-info-font-size: 0.625em;--waline-border: 1px solid var(--waline-border-color);--waline-avatar-radius: 50%;--waline-box-shadow: none}[data-waline]{font-size:var(--waline-font-size);text-align:start}[dir=rtl] [data-waline]{direction:rtl}[data-waline] *{box-sizing:content-box;line-height:1.75}[data-waline] p{color:var(--waline-color)}[data-waline] a{position:relative;display:inline-block;color:var(--waline-theme-color);text-decoration:none;word-break:break-word;cursor:pointer}[data-waline] a:hover{color:var(--waline-active-color)}[data-waline] img{max-width:100%;max-height:400px;border:none}[data-waline] hr{margin:.825em 0;border-style:dashed;border-color:var(--waline-bgcolor-light)}[data-waline] code,[data-waline] pre{margin:0;padding:.2em .4em;border-radius:3px;background:var(--waline-bgcolor-light);font-size:85%}[data-waline] pre{overflow:auto;padding:10px;line-height:1.45}[data-waline] pre::-webkit-scrollbar{width:6px;height:6px}[data-waline] pre::-webkit-scrollbar-track-piece:horizontal{-webkit-border-radius:6px;border-radius:6px;background:rgba(0,0,0,.1)}[data-waline] pre::-webkit-scrollbar-thumb:horizontal{width:6px;-webkit-border-radius:6px;border-radius:6px;background:var(--waline-theme-color)}[data-waline] pre code{padding:0;background:rgba(0,0,0,0);color:var(--waline-color);white-space:pre-wrap;word-break:keep-all}[data-waline] blockquote{margin:.5em 0;padding:.5em 0 .5em 1em;border-inline-start:8px solid var(--waline-bq-color);color:var(--waline-dark-grey)}[data-waline] blockquote>p{margin:0}[data-waline] ol,[data-waline] ul{margin-inline-start:1.25em;padding:0}[data-waline] input[type=checkbox],[data-waline] input[type=radio]{display:inline-block;vertical-align:middle;margin-top:-2px}.wl-btn{display:inline-block;vertical-align:middle;min-width:2.5em;margin-bottom:0;padding:.5em 1em;border:1px solid var(--waline-border-color);border-radius:.5em;background:rgba(0,0,0,0);color:var(--waline-color);font-weight:400;font-size:.75em;line-height:1.5;text-align:center;white-space:nowrap;cursor:pointer;user-select:none;transition-duration:.4s;touch-action:manipulation}.wl-btn:hover,.wl-btn:active{border-color:var(--waline-theme-color);color:var(--waline-theme-color)}.wl-btn:disabled{border-color:var(--waline-border-color);background:var(--waline-disable-bgcolor);color:var(--waline-disable-color);cursor:not-allowed}.wl-btn.primary{border-color:var(--waline-theme-color);background:var(--waline-theme-color);color:var(--waline-white)}.wl-btn.primary:hover,.wl-btn.primary:active{border-color:var(--waline-active-color);background:var(--waline-active-color);color:var(--waline-white)}.wl-btn.primary:disabled{border-color:var(--waline-border-color);background:var(--waline-disable-bgcolor);color:var(--waline-disable-color);cursor:not-allowed}.wl-loading{text-align:center}.wl-loading svg{margin:0 auto}.wl-comment{position:relative;display:flex;margin-bottom:.75em}.wl-close{position:absolute;top:-4px;inset-inline-end:-4px;padding:0;border:none;background:rgba(0,0,0,0);line-height:1;cursor:pointer}.wl-login-info{max-width:80px;margin-top:.75em;text-align:center}.wl-logout-btn{position:absolute;top:-10px;inset-inline-end:-10px;padding:3px;border:none;background:rgba(0,0,0,0);line-height:0;cursor:pointer}.wl-avatar{position:relative;width:var(--waline-avatar-size);height:var(--waline-avatar-size);margin:0 auto;border:var(--waline-border);border-radius:var(--waline-avatar-radius)}@media(max-width: 720px){.wl-avatar{width:var(--waline-m-avatar-size);height:var(--waline-m-avatar-size)}}.wl-avatar img{width:100%;height:100%;border-radius:var(--waline-avatar-radius)}.wl-login-nick{display:block;color:var(--waline-theme-color);font-size:.75em;word-break:break-all}.wl-panel{position:relative;flex-shrink:1;width:100%;margin:.5em;border:var(--waline-border);border-radius:.75em;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow)}.wl-header{display:flex;overflow:hidden;padding:0 4px;border-bottom:2px dashed var(--waline-border-color);border-top-left-radius:.75em;border-top-right-radius:.75em}@media(max-width: 580px){.wl-header{display:block}}.wl-header label{min-width:40px;padding:.75em .5em;color:var(--waline-color);font-size:.75em;text-align:center}.wl-header input{flex:1;width:0;padding:.5em;background:rgba(0,0,0,0);font-size:.625em;resize:none}.wl-header-item{display:flex;flex:1}@media(max-width: 580px){.wl-header-item:not(:last-child){border-bottom:2px dashed var(--waline-border-color)}}.wl-header-1 .wl-header-item{width:100%}.wl-header-2 .wl-header-item{width:50%}@media(max-width: 580px){.wl-header-2 .wl-header-item{flex:0;width:100%}}.wl-header-3 .wl-header-item{width:33.33%}@media(max-width: 580px){.wl-header-3 .wl-header-item{width:100%}}.wl-editor{position:relative;width:calc(100% - 1em);min-height:8.75em;margin:.75em .5em;border-radius:.5em;background:rgba(0,0,0,0);font-size:.875em;resize:vertical}.wl-editor,.wl-input{max-width:100%;border:none;color:var(--waline-color);outline:none;transition:all .25s ease}.wl-editor:focus,.wl-input:focus{background:var(--waline-bgcolor-light)}.wl-preview{padding:0 .5em .5em}.wl-preview h4{margin:.25em;font-weight:bold;font-size:.9375em}.wl-preview .wl-content{min-height:1.25em;padding:.25em;word-break:break-word;hyphens:auto}.wl-preview .wl-content>*:first-child{margin-top:0}.wl-preview .wl-content>*:last-child{margin-bottom:0}.wl-footer{position:relative;display:flex;flex-wrap:wrap;margin:.5em .75em}.wl-actions{display:flex;flex:2;align-items:center}.wl-action{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em;margin:2px;padding:0;border:none;background:rgba(0,0,0,0);color:var(--waline-color);font-size:16px;cursor:pointer}.wl-action:hover{color:var(--waline-theme-color)}.wl-action.active{color:var(--waline-active-color)}#wl-image-upload{display:none}#wl-image-upload:focus+label{color:var(--waline-color)}#wl-image-upload:focus-visible+label{outline:-webkit-focus-ring-color auto 1px}.wl-info{display:flex;flex:3;align-items:center;justify-content:flex-end}.wl-info .wl-text-number{color:var(--waline-info-color);font-size:.75em}.wl-info .wl-text-number .illegal{color:red}.wl-info button{margin-inline-start:.75em}.wl-info button svg{display:block;margin:0 auto;line-height:18px}.wl-emoji-popup{position:absolute;top:100%;inset-inline-start:1.25em;z-index:10;max-width:526px;border:var(--waline-border);border-radius:6px;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow);opacity:0;visibility:hidden;transition:transform .2s ease-out,opacity .2s ease-out;transform:scale(0.9, 0.9);transform-origin:0 0}.wl-emoji-popup.display{opacity:1;visibility:visible;transform:none}.wl-emoji-popup button{display:inline-block;vertical-align:middle;width:2em;margin:.125em;padding:0;border-width:0;background:rgba(0,0,0,0);font-size:inherit;line-height:2;text-align:center;cursor:pointer}.wl-emoji-popup button:hover{background:var(--waline-bgcolor-hover)}.wl-emoji-popup .wl-emoji{display:inline-block;vertical-align:middle;max-width:1.5em;max-height:1.5em}.wl-emoji-popup .wl-tab-wrapper{overflow-y:auto;max-height:145px;padding:.5em}.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar{width:6px;height:6px}.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar-track-piece:vertical{-webkit-border-radius:6px;border-radius:6px;background:rgba(0,0,0,.1)}.wl-emoji-popup .wl-tab-wrapper::-webkit-scrollbar-thumb:vertical{width:6px;-webkit-border-radius:6px;border-radius:6px;background:var(--waline-theme-color)}.wl-emoji-popup .wl-tabs{position:relative;overflow-x:auto;padding:0 6px;white-space:nowrap}.wl-emoji-popup .wl-tabs::before{content:" ";position:absolute;top:0;right:0;left:0;z-index:2;height:1px;background:var(--waline-border-color)}.wl-emoji-popup .wl-tabs::-webkit-scrollbar{width:6px;height:6px}.wl-emoji-popup .wl-tabs::-webkit-scrollbar-track-piece:horizontal{-webkit-border-radius:6px;border-radius:6px;background:rgba(0,0,0,.1)}.wl-emoji-popup .wl-tabs::-webkit-scrollbar-thumb:horizontal{height:6px;-webkit-border-radius:6px;border-radius:6px;background:var(--waline-theme-color)}.wl-emoji-popup .wl-tab{position:relative;margin:0;padding:0 .5em}.wl-emoji-popup .wl-tab.active{z-index:3;border:1px solid var(--waline-border-color);border-top-width:0;border-bottom-right-radius:6px;border-bottom-left-radius:6px;background:var(--waline-bgcolor)}.wl-gif-popup{position:absolute;top:100%;inset-inline-start:1.25em;z-index:10;width:calc(100% - 3em);padding:.75em .75em .25em;border:var(--waline-border);border-radius:6px;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow);opacity:0;visibility:hidden;transition:transform .2s ease-out,opacity .2s ease-out;transform:scale(0.9, 0.9);transform-origin:0 0}.wl-gif-popup.display{opacity:1;visibility:visible;transform:none}.wl-gif-popup input{box-sizing:border-box;width:100%;margin-bottom:10px;padding:3px 5px;border:var(--waline-border)}.wl-gif-popup img{display:block;box-sizing:border-box;width:100%;border-width:2px;border-style:solid;border-color:#fff;cursor:pointer}.wl-gif-popup img:hover{border-color:var(--waline-theme-color);border-radius:2px}.wl-gallery{display:flex;overflow-y:auto;max-height:80vh}.wl-gallery-column{display:flex;flex:1;flex-direction:column;height:-webkit-max-content;height:-moz-max-content;height:max-content}.wl-cards .wl-user{--avatar-size: var(--waline-avatar-size);position:relative;margin-inline-end:.75em}@media(max-width: 720px){.wl-cards .wl-user{--avatar-size: var(--waline-m-avatar-size)}}.wl-cards .wl-user img{width:var(--avatar-size);height:var(--avatar-size);border-radius:var(--waline-avatar-radius);box-shadow:var(--waline-box-shadow)}.wl-cards .wl-user .verified-icon{position:absolute;top:calc(var(--avatar-size)*3/4);inset-inline-start:calc(var(--avatar-size)*3/4);border-radius:50%;background:var(--waline-bgcolor);box-shadow:var(--waline-box-shadow)}.wl-card-item{position:relative;display:flex;padding:.5em}.wl-card-item .wl-card-item{padding-inline-end:0}.wl-card{flex:1;width:0;padding-bottom:.5em;border-bottom:1px dashed var(--waline-border-color)}.wl-card:first-child{margin-inline-start:1em}.wl-card-item:last-child .wl-card{border-bottom:none}.wl-card .wl-head{overflow:hidden;line-height:1.5}.wl-card .wl-nick{position:relative;display:inline-block;margin-inline-end:.5em;font-weight:bold;font-size:.875em;line-height:1;text-decoration:none}.wl-card .wl-nick svg{position:relative;bottom:-0.125em;line-height:1}.wl-card span.wl-nick{color:var(--waline-dark-grey)}.wl-card .wl-badge{display:inline-block;margin-inline-end:1em;padding:0 .3em;border:1px solid var(--waline-badge-color);border-radius:4px;color:var(--waline-badge-color);font-size:var(--waline-badge-font-size)}.wl-card .wl-time{margin-inline-end:.875em;color:var(--waline-info-color);font-size:.75em}.wl-card .wl-meta{position:relative;line-height:1}.wl-card .wl-meta>span{display:inline-block;margin-inline-end:.25em;padding:2px 4px;border-radius:.2em;background:var(--waline-info-bgcolor);color:var(--waline-info-color);font-size:var(--waline-info-font-size);line-height:1.5}.wl-card .wl-meta>span:empty{display:none}.wl-card .wl-comment-actions{float:right;line-height:1}[dir=rtl] .wl-card .wl-comment-actions{float:left}.wl-card .wl-delete,.wl-card .wl-like,.wl-card .wl-reply,.wl-card .wl-edit{display:inline-flex;align-items:center;border:none;background:rgba(0,0,0,0);color:var(--waline-color);line-height:1;cursor:pointer;transition:color .2s ease}.wl-card .wl-delete:hover,.wl-card .wl-like:hover,.wl-card .wl-reply:hover,.wl-card .wl-edit:hover{color:var(--waline-theme-color)}.wl-card .wl-delete.active,.wl-card .wl-like.active,.wl-card .wl-reply.active,.wl-card .wl-edit.active{color:var(--waline-active-color)}.wl-card .wl-content{position:relative;margin-bottom:.75em;padding-top:.625em;font-size:.875em;line-height:2;word-wrap:break-word}.wl-card .wl-content.expand{overflow:hidden;max-height:8em;cursor:pointer}.wl-card .wl-content.expand::before{content:"";position:absolute;top:0;bottom:3.15em;inset-inline-start:0;z-index:999;display:block;width:100%;background:linear-gradient(180deg, #000, rgba(255, 255, 255, 0.9))}.wl-card .wl-content.expand::after{content:attr(data-expand);position:absolute;bottom:0;inset-inline-start:0;z-index:999;display:block;width:100%;height:3.15em;background:rgba(255,255,255,.9);color:#828586;line-height:3.15em;text-align:center}.wl-card .wl-content>*:first-child{margin-top:0}.wl-card .wl-content>*:last-child{margin-bottom:0}.wl-card .wl-admin-actions{margin:8px 0;font-size:12px;text-align:right}.wl-card .wl-comment-status{margin:0 8px}.wl-card .wl-comment-status .wl-btn{border-radius:0}.wl-card .wl-comment-status .wl-btn:first-child{border-inline-end:0;border-radius:.5em 0 0 .5em}.wl-card .wl-comment-status .wl-btn:last-child{border-inline-start:0;border-radius:0 .5em .5em 0}.wl-card .wl-quote{border-inline-start:1px dashed rgba(237,237,237,.5)}.wl-card .wl-quote .wl-user{--avatar-size: var(--waline-m-avatar-size)}.wl-close-icon{color:var(--waline-border-color)}.wl-content .vemoji,.wl-content .wl-emoji{display:inline-block;vertical-align:baseline;height:1.25em;margin:-0.125em .25em}.wl-content .wl-tex{background:var(--waline-info-bgcolor);color:var(--waline-info-color)}.wl-content span.wl-tex{display:inline-block;margin-inline-end:.25em;padding:2px 4px;border-radius:.2em;font-size:var(--waline-info-font-size);line-height:1.5}.wl-content p.wl-tex{text-align:center}.wl-content .katex-display{overflow:auto hidden;-webkit-overflow-scrolling:touch;padding-top:.2em;padding-bottom:.2em}.wl-content .katex-display::-webkit-scrollbar{height:3px}.wl-content .katex-error{color:red}.wl-count{flex:1;font-weight:bold;font-size:1.25em}.wl-empty{overflow:auto;padding:1.25em;color:var(--waline-color);text-align:center}.wl-operation{text-align:center}.wl-operation button{margin:1em 0}.wl-power{padding:.5em 0;color:var(--waline-light-grey);font-size:var(--waline-info-font-size);text-align:end}.wl-meta-head{display:flex;flex-direction:row;align-items:center;padding:.375em}.wl-sort{margin:0;list-style-type:none}.wl-sort li{display:inline-block;color:var(--waline-info-color);font-size:.75em;cursor:pointer}.wl-sort li.active{color:var(--waline-theme-color)}.wl-sort li+li{margin-inline-start:1em}.wl-reaction{overflow:auto hidden;margin-bottom:1.75em;text-align:center}.wl-reaction img{width:100%;height:100%;transition:all 250ms ease-in-out}.wl-reaction-title{margin:16px auto;font-weight:bold;font-size:18px}.wl-reaction-list{display:flex;flex-direction:row;gap:16px;justify-content:center;margin:0;padding:8px;list-style-type:none}@media(max-width: 580px){.wl-reaction-list{gap:12px}}[data-waline] .wl-reaction-list{margin-inline-start:0}.wl-reaction-item{display:flex;flex-direction:column;align-items:center;cursor:pointer}.wl-reaction-item:hover img,.wl-reaction-item.active img{transform:scale(1.15)}.wl-reaction-img{position:relative;width:42px;height:42px}@media(max-width: 580px){.wl-reaction-img{width:32px;height:32px}}.wl-reaction-loading{position:absolute;top:-4px;inset-inline-end:-5px;width:18px;height:18px;color:var(--waline-theme-color)}.wl-reaction-votes{position:absolute;top:-9px;inset-inline-end:-9px;min-width:1em;padding:2px;border:1px solid var(--waline-theme-color);border-radius:1em;background:var(--waline-bgcolor);color:var(--waline-theme-color);font-weight:700;font-size:.75em;line-height:1}.wl-reaction-item.active .wl-reaction-votes{background:var(--waline-theme-color);color:var(--waline-bgcolor)}.wl-reaction-text{font-size:.875em}.wl-reaction-item.active .wl-reaction-text{color:var(--waline-theme-color)}.wl-content pre,.wl-content pre[class*=language-]{overflow:auto;margin:.75rem 0;padding:1rem 1.25rem;border-radius:6px;background:var(--waline-code-bgcolor);line-height:1.4}.wl-content pre code,.wl-content pre[class*=language-] code{padding:0;border-radius:0;background:rgba(0,0,0,0) !important;color:#bbb;direction:ltr}.wl-content code[class*=language-],.wl-content pre[class*=language-]{background:none;color:#ccc;font-size:1em;font-family:Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace;text-align:left;white-space:pre;word-spacing:normal;word-wrap:normal;word-break:normal;tab-size:4;hyphens:none}.wl-content pre[class*=language-]{overflow:auto}.wl-content :not(pre)>code[class*=language-],.wl-content pre[class*=language-]{background:#2d2d2d}.wl-content :not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.wl-content .token.comment,.wl-content .token.block-comment,.wl-content .token.prolog,.wl-content .token.doctype,.wl-content .token.cdata{color:#999}.wl-content .token.punctuation{color:#ccc}.wl-content .token.tag,.wl-content .token.attr-name,.wl-content .token.namespace,.wl-content .token.deleted{color:#e2777a}.wl-content .token.function-name{color:#6196cc}.wl-content .token.boolean,.wl-content .token.number,.wl-content .token.function{color:#f08d49}.wl-content .token.property,.wl-content .token.class-name,.wl-content .token.constant,.wl-content .token.symbol{color:#f8c555}.wl-content .token.selector,.wl-content .token.important,.wl-content .token.atrule,.wl-content .token.keyword,.wl-content .token.builtin{color:#cc99cd}.wl-content .token.string,.wl-content .token.char,.wl-content .token.attr-value,.wl-content .token.regex,.wl-content .token.variable{color:#7ec699}.wl-content .token.operator,.wl-content .token.entity,.wl-content .token.url{color:#67cdcc}.wl-content .token.important,.wl-content .token.bold{font-weight:bold}.wl-content .token.italic{font-style:italic}.wl-content .token.entity{cursor:help}.wl-content .token.inserted{color:green}.wl-recent-item p{display:inline}.wl-user-list{padding:0;list-style:none}.wl-user-list a,.wl-user-list a:hover,.wl-user-list a:visited{color:var(--waline-color);text-decoration:none}.wl-user-list .wl-user-avatar{position:relative;display:inline-block;overflow:hidden;margin-inline-end:10px;border-radius:4px;line-height:0}.wl-user-list .wl-user-avatar>img{width:var(--waline-user-avatar-size, 48px);height:var(--waline-user-avatar-size, 48px)}.wl-user-list .wl-user-badge{position:absolute;bottom:0;inset-inline-end:0;min-width:.7em;height:1.5em;padding:0 .4em;border-radius:4px;background:var(--waline-info-bgcolor);color:var(--waline-info-color);font-weight:bold;font-size:10px;line-height:1.5em;text-align:center}.wl-user-list .wl-user-item{margin:10px 0}.wl-user-list .wl-user-item:nth-child(1) .wl-user-badge{background:var(--waline-rank-gold-bgcolor, #fa3939);color:var(--waline-white);font-weight:bold}.wl-user-list .wl-user-item:nth-child(2) .wl-user-badge{background:var(--waline-rank-silver-bgcolor, #fb811c);color:var(--waline-white);font-weight:bold}.wl-user-list .wl-user-item:nth-child(3) .wl-user-badge{background:var(--waline-rank-copper-bgcolor, #feb207);color:var(--waline-white)}.wl-user-list .wl-user-meta{display:inline-block;vertical-align:top}.wl-user-list .wl-badge{display:inline-block;vertical-align:text-top;margin-inline-start:.5em;padding:0 .3em;border:1px solid var(--waline-badge-color);border-radius:4px;color:var(--waline-badge-color);font-size:var(--waline-badge-font-size)}.wl-user-wall{padding:0;list-style:none}.wl-user-wall .wl-user-badge,.wl-user-wall .wl-user-meta{display:none}.wl-user-wall .wl-user-item{position:relative;display:inline-block;transition:transform ease-in-out .2s}.wl-user-wall .wl-user-item::before,.wl-user-wall .wl-user-item::after{position:absolute;bottom:100%;left:50%;z-index:10;opacity:0;pointer-events:none;transition:all .18s ease-out .18s;transform:translate(-50%, 4px);transform-origin:top}.wl-user-wall .wl-user-item::before{content:"";width:0;height:0;border:5px solid rgba(0,0,0,0);border-top-color:rgba(16,16,16,.95)}.wl-user-wall .wl-user-item::after{content:attr(aria-label);margin-bottom:10px;padding:.5em 1em;border-radius:2px;background:rgba(16,16,16,.95);color:#fff;font-size:12px;white-space:nowrap}.wl-user-wall .wl-user-item:hover{transform:scale(1.1)}.wl-user-wall .wl-user-item:hover::before,.wl-user-wall .wl-user-item:hover::after{opacity:1;pointer-events:none;transform:translate(-50%, 0)}.wl-user-wall .wl-user-item img{width:var(--waline-user-avatar-size, 48px);height:var(--waline-user-avatar-size, 48px)}/*# sourceMappingURL=waline.css.map */ diff --git a/cdn/@waline/client/dist/waline.min.js b/cdn/@waline/client/dist/waline.min.js new file mode 100644 index 00000000..020d67e7 --- /dev/null +++ b/cdn/@waline/client/dist/waline.min.js @@ -0,0 +1,8 @@ +/** + * Skipped minification because the original files appears to be already minified. + * Original file: /npm/@waline/client@2.14.8/dist/waline.js + * + * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files + */ +!function(e,t){if("function"==typeof define&&define.amd)define("Waline",["exports"],t);else if("undefined"!=typeof exports)t(exports);else{var n={exports:{}};t(n.exports),e.Waline=n.exports}}("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:this,(function(e){Object.defineProperty(e,"__esModule",{value:!0}),e.version=e.pageviewCount=e.init=e.defaultLocales=e.commentCount=e.UserList=e.RecentComments=void 0;const t=["nick","mail","link"],n=e=>e.filter((e=>t.includes(e))),r=["//unpkg.com/@waline/emojis@1.1.0/weibo"],l="en-US",i=e=>new Promise(((t,n)=>{if(e.size>128e3)return n(new Error("File too large! File size limit 128KB"));const r=new FileReader;r.readAsDataURL(e),r.onload=()=>{var e;return t((null===(e=r.result)||void 0===e?void 0:e.toString())||"")},r.onerror=n})),o=e=>!0===e?'

    Tex is not available in preview

    ':'Tex is not available in preview',s=e=>{const t=async function(t){return fetch(`https://api.giphy.com/v1/gifs/${t}?${new URLSearchParams({lang:e,limit:"20",rating:"g",api_key:"6CIMLkNMMOhRcXPoMCPkFy4Ybk2XUiMp",...arguments.length>1&&void 0!==arguments[1]?arguments[1]:{}}).toString()}`).then((e=>e.json())).then((e=>{let{data:t}=e;return t.map((e=>({title:e.title,src:e.images.downsized_medium.url})))}))};return{search:e=>t("search",{q:e,offset:"0"}),default:()=>t("trending",{}),more:function(e){return t("search",{q:e,offset:(arguments.length>1&&void 0!==arguments[1]?arguments[1]:0).toString()})}}},a=["//unpkg.com/@waline/emojis/tieba/tieba_agree.png","//unpkg.com/@waline/emojis/tieba/tieba_look_down.png","//unpkg.com/@waline/emojis/tieba/tieba_sunglasses.png","//unpkg.com/@waline/emojis/tieba/tieba_pick_nose.png","//unpkg.com/@waline/emojis/tieba/tieba_awkward.png","//unpkg.com/@waline/emojis/tieba/tieba_sleep.png"],c=new RegExp(`(${/[\u4E00-\u9FFF\u3400-\u4dbf\uf900-\ufaff\u3040-\u309f\uac00-\ud7af\u0400-\u04FF]+|\w+/.source}|${/{let t=0;return e.replace(c,((e,n,r)=>{if(r)return`${r}`;if("<"===n)return"<";let l;p[n]?l=p[n]:(l=u[t],p[n]=l);const i=`${n}`;return t=++t%u.length,i}))},h=["nick","nickError","mail","mailError","link","optional","placeholder","sofa","submit","like","cancelLike","reply","cancelReply","comment","refresh","more","preview","emoji","uploadImage","seconds","minutes","hours","days","now","uploading","login","logout","admin","sticky","word","wordHint","anonymous","level0","level1","level2","level3","level4","level5","gif","gifSearchPlaceholder","profile","approved","waiting","spam","unsticky","oldest","latest","hottest","reactionTitle"],f=e=>Object.fromEntries(e.map(((e,t)=>[h[t],e])));var g=f(["NickName","NickName cannot be less than 3 bytes.","E-Mail","Please confirm your email address.","Website","Optional","Comment here...","No comment yet.","Submit","Like","Cancel like","Reply","Cancel reply","Comments","Refresh","Load More...","Preview","Emoji","Upload Image","seconds ago","minutes ago","hours ago","days ago","just now","Uploading","Login","logout","Admin","Sticky","Words","Please input comments between $0 and $1 words!\n Current word number: $2","Anonymous","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Search GIF","Profile","Approved","Waiting","Spam","Unsticky","Oldest","Latest","Hottest","What do you think?"]),m=f(["ニックネーム","3バイト以上のニックネームをご入力ください.","メールアドレス","メールアドレスをご確認ください.","サイト","オプション","ここにコメント","コメントしましょう~","提出する","Like","Cancel like","返信する","キャンセル","コメント","更新","さらに読み込む","プレビュー","絵文字","画像をアップロード","秒前","分前","時間前","日前","たっだ今","アップロード","ログインする","ログアウト","管理者","トップに置く","ワード","コメントは $0 から $1 ワードの間でなければなりません!\n 現在の単語番号: $2","匿名","うえにん","なかにん","しもおし","特にしもおし","かげ","なぬし","GIF","探す GIF","個人情報","承認済み","待っている","スパム","べたつかない","逆順","正順","人気順","どう思いますか?"]),v=f(["昵称","昵称不能少于3个字符","邮箱","请填写正确的邮件地址","网址","可选","欢迎评论","来发评论吧~","提交","喜欢","取消喜欢","回复","取消回复","评论","刷新","加载更多...","预览","表情","上传图片","秒前","分钟前","小时前","天前","刚刚","正在上传","登录","退出","博主","置顶","字","评论字数应在 $0 到 $1 字之间!\n当前字数:$2","匿名","潜水","冒泡","吐槽","活跃","话痨","传说","表情包","搜索表情包","个人资料","通过","待审核","垃圾","取消置顶","按倒序","按正序","按热度","你认为这篇文章怎么样?"]),y=f(["暱稱","暱稱不能少於3個字元","郵箱","請填寫正確的郵件地址","網址","可選","歡迎評論","來發評論吧~","提交","喜歡","取消喜歡","回覆","取消回覆","評論","刷新","載入更多...","預覽","表情","上傳圖片","秒前","分鐘前","小時前","天前","剛剛","正在上傳","登錄","退出","博主","置頂","字","評論字數應在 $0 到 $1 字之間!\n當前字數:$2","匿名","潛水","冒泡","吐槽","活躍","話癆","傳說","表情包","搜索表情包","個人資料","通過","待審核","垃圾","取消置頂","按倒序","按正序","按熱度","你認為這篇文章怎麼樣?"]),w=f(["Apelido","Apelido não pode ser menor que 3 bytes.","E-Mail","Por favor, confirme seu endereço de e-mail.","Website","Opcional","Comente aqui...","Nenhum comentário, ainda.","Enviar","Like","Cancel like","Responder","Cancelar resposta","Comentários","Refrescar","Carregar Mais...","Visualizar","Emoji","Enviar Imagem","segundos atrás","minutos atrás","horas atrás","dias atrás","agora mesmo","Enviando","Entrar","Sair","Admin","Sticky","Palavras","Favor enviar comentário com $0 a $1 palavras!\n Número de palavras atuais: $2","Anônimo","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Pesquisar GIF","informação pessoal","Aprovado","Espera","Spam","Unsticky","Mais velho","Mais recentes","Mais quente","O que você acha?"]),b=f(["Псевдоним","Никнейм не может быть меньше 3 байт.","Эл. адрес","Пожалуйста, подтвердите адрес вашей электронной почты.","Веб-сайт","Необязательный","Комментарий здесь...","Пока нет комментариев.","Отправить","Like","Cancel like","Отвечать","Отменить ответ","Комментарии","Обновить","Загрузи больше...","Превью","эмодзи","Загрузить изображение","секунд назад","несколько минут назад","несколько часов назад","дней назад","прямо сейчас","Загрузка","Авторизоваться","Выход из системы","Админ","Липкий","Слова","Пожалуйста, введите комментарии от $0 до $1 слов!\nНомер текущего слова: $2","Анонимный","Dwarves","Hobbits","Ents","Wizards","Elves","Maiar","GIF","Поиск GIF","Персональные данные","Одобренный","Ожидающий","Спам","Нелипкий","самый старый","последний","самый горячий","Что вы думаете?"]);const k={zh:v,"zh-cn":v,"zh-CN":v,"zh-tw":y,"zh-TW":y,en:g,"en-US":g,"en-us":g,jp:m,ja:m,"jp-jp":m,"jp-JP":m,"pt-br":w,"pt-BR":w,ru:b,"ru-ru":b,"ru-RU":b},x={"Content-Type":"application/json"},_=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";if("object"==typeof e&&e.errno)throw new TypeError(`${t} failed with ${e.errno}: ${e.errmsg}`);return e},$=e=>{let{serverURL:t,lang:n,paths:r,type:l,signal:i}=e;return fetch(`${t}/article?path=${encodeURIComponent(r.join(","))}&type=${encodeURIComponent(l.join(","))}&lang=${n}`,{signal:i}).then((e=>e.json()))},C=e=>{let{serverURL:t,lang:n,path:r,type:l,action:i}=e;return fetch(`${t}/article?lang=${n}`,{method:"POST",headers:x,body:JSON.stringify({path:r,type:l,action:i})}).then((e=>e.json()))},S=e=>{let{serverURL:t,lang:n,token:r,objectId:l,comment:i}=e;return fetch(`${t}/comment/${l}?lang=${n}`,{method:"PUT",headers:{...x,Authorization:`Bearer ${r}`},body:JSON.stringify(i)}).then((e=>e.json())).then((e=>_(e,"Update comment")))},A=e=>{try{e=decodeURI(e)}catch(e){}return e},R=function(){return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/\/$/u,"")},E=e=>/^(https?:)?\/\//.test(e),I=e=>{const t=R(e);return E(t)?t:`https://${t}`},L=e=>Array.isArray(e)?e:!!e&&[0,e],z=(e,t)=>"function"==typeof e?e:!1!==e&&t,O="{--waline-white:#000;--waline-light-grey:#666;--waline-dark-grey:#999;--waline-color:#888;--waline-bgcolor:#1e1e1e;--waline-bgcolor-light:#272727;--waline-bgcolor-hover: #444;--waline-border-color:#333;--waline-disable-bgcolor:#444;--waline-disable-color:#272727;--waline-bq-color:#272727;--waline-info-bgcolor:#272727;--waline-info-color:#666}",j=(e,t)=>{let n=e.toString();for(;n.length!!n[e.toLowerCase()]:e=>!!n[e]}function U(e){if(ie(e)){const t={};for(let n=0;n{if(e){const n=e.split(M);n.length>1&&(t[n[0].trim()]=n[1].trim())}})),t}function V(e){let t="";if(ue(e))t=e;else if(ie(e))for(let n=0;nB(e,t)))}const q=e=>ue(e)?e:null==e?"":ie(e)||de(e)&&(e.toString===fe||!ce(e.toString))?JSON.stringify(e,Z,2):String(e),Z=(e,t)=>t&&t.__v_isRef?Z(e,t.value):oe(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((e,t)=>{let[n,r]=t;return e[`${n} =>`]=r,e}),{})}:se(t)?{[`Set(${t.size})`]:[...t.values()]}:!de(t)||ie(t)||ve(t)?t:String(t),Q={},K=[],G=()=>{},J=()=>!1,X=/^on[^a-z]/,Y=e=>X.test(e),ee=e=>e.startsWith("onUpdate:"),te=Object.assign,ne=(e,t)=>{const n=e.indexOf(t);n>-1&&e.splice(n,1)},re=Object.prototype.hasOwnProperty,le=(e,t)=>re.call(e,t),ie=Array.isArray,oe=e=>"[object Map]"===ge(e),se=e=>"[object Set]"===ge(e),ae=e=>"[object Date]"===ge(e),ce=e=>"function"==typeof e,ue=e=>"string"==typeof e,pe=e=>"symbol"==typeof e,de=e=>null!==e&&"object"==typeof e,he=e=>de(e)&&ce(e.then)&&ce(e.catch),fe=Object.prototype.toString,ge=e=>fe.call(e),me=e=>ge(e).slice(8,-1),ve=e=>"[object Object]"===ge(e),ye=e=>ue(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,we=T(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),be=e=>{const t=Object.create(null);return n=>t[n]||(t[n]=e(n))},ke=/-(\w)/g,xe=be((e=>e.replace(ke,((e,t)=>t?t.toUpperCase():"")))),_e=/\B([A-Z])/g,$e=be((e=>e.replace(_e,"-$1").toLowerCase())),Ce=be((e=>e.charAt(0).toUpperCase()+e.slice(1))),Se=be((e=>e?`on${Ce(e)}`:"")),Ae=(e,t)=>!Object.is(e,t),Re=(e,t)=>{for(let n=0;n{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,value:n})},Ie=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let Le;const ze=()=>Le||(Le="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});let Oe;class je{constructor(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];this.detached=e,this._active=!0,this.effects=[],this.cleanups=[],this.parent=Oe,!e&&Oe&&(this.index=(Oe.scopes||(Oe.scopes=[])).push(this)-1)}get active(){return this._active}run(e){if(this._active){const t=Oe;try{return Oe=this,e()}finally{Oe=t}}}on(){Oe=this}off(){Oe=this.parent}stop(e){if(this._active){let t,n;for(t=0,n=this.effects.length;t{const t=new Set(e);return t.w=0,t.n=0,t},Pe=e=>(e.w&Ve)>0,Me=e=>(e.n&Ve)>0,Fe=new WeakMap;let Ne=0,Ve=1;const De=30;let He;const Be=Symbol(""),We=Symbol("");class qe{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2?arguments[2]:void 0;this.fn=e,this.scheduler=t,this.active=!0,this.deps=[],this.parent=void 0,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Oe;t&&t.active&&t.effects.push(e)}(this,n)}run(){if(!this.active)return this.fn();let e=He,t=Qe;for(;e;){if(e===this)return;e=e.parent}try{return this.parent=He,He=this,Qe=!0,Ve=1<<++Ne,Ne<=De?(e=>{let{deps:t}=e;if(t.length)for(let e=0;e{const{deps:t}=e;if(t.length){let n=0;for(let r=0;r{("length"===n||n>=e)&&s.push(t)}))}else switch(void 0!==n&&s.push(o.get(n)),t){case"add":ie(e)?ye(n)&&s.push(o.get("length")):(s.push(o.get(Be)),oe(e)&&s.push(o.get(We)));break;case"delete":ie(e)||(s.push(o.get(Be)),oe(e)&&s.push(o.get(We)));break;case"set":oe(e)&&s.push(o.get(Be))}if(1===s.length)s[0]&&tt(s[0]);else{const e=[];for(const t of s)t&&e.push(...t);tt(Ue(e))}}function tt(e,t){const n=ie(e)?e:[...e];for(const e of n)e.computed&&nt(e);for(const e of n)e.computed||nt(e)}function nt(e,t){(e!==He||e.allowRecurse)&&(e.scheduler?e.scheduler():e.run())}const rt=T("__proto__,__v_isRef,__isVue"),lt=new Set(Object.getOwnPropertyNames(Symbol).filter((e=>"arguments"!==e&&"caller"!==e)).map((e=>Symbol[e])).filter(pe)),it=ut(),ot=ut(!1,!0),st=ut(!0),at=function(){const e={};return["includes","indexOf","lastIndexOf"].forEach((t=>{e[t]=function(){const e=qt(this);for(let t=0,n=this.length;t{e[t]=function(){Ge();for(var e=arguments.length,n=new Array(e),r=0;r0&&void 0!==arguments[0]&&arguments[0],t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return function(n,r,l){if("__v_isReactive"===r)return!e;if("__v_isReadonly"===r)return e;if("__v_isShallow"===r)return t;if("__v_raw"===r&&l===(e?t?Mt:Pt:t?Ut:Tt).get(n))return n;const i=ie(n);if(!e){if(i&&le(at,r))return Reflect.get(at,r,l);if("hasOwnProperty"===r)return ct}const o=Reflect.get(n,r,l);return(pe(r)?lt.has(r):rt(r))?o:(e||Xe(n,0,r),t?o:Xt(o)?i&&ye(r)?o:o.value:de(o)?e?Nt(o):Ft(o):o)}}function pt(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];return function(t,n,r,l){let i=t[n];if(Ht(i)&&Xt(i)&&!Xt(r))return!1;if(!e&&(Bt(r)||Ht(r)||(i=qt(i),r=qt(r)),!ie(t)&&Xt(i)&&!Xt(r)))return i.value=r,!0;const o=ie(t)&&ye(n)?Number(n)!0,deleteProperty:(e,t)=>!0},ft=te({},dt,{get:ot,set:pt(!0)}),gt=e=>e,mt=e=>Reflect.getPrototypeOf(e);function vt(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const l=qt(e=e.__v_raw),i=qt(t);n||(t!==i&&Xe(l,0,t),Xe(l,0,i));const{has:o}=mt(l),s=r?gt:n?Kt:Qt;return o.call(l,t)?s(e.get(t)):o.call(l,i)?s(e.get(i)):void(e!==l&&e.get(t))}function yt(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const n=this.__v_raw,r=qt(n),l=qt(e);return t||(e!==l&&Xe(r,0,e),Xe(r,0,l)),e===l?n.has(e):n.has(e)||n.has(l)}function wt(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e=e.__v_raw,!t&&Xe(qt(e),0,Be),Reflect.get(e,"size",e)}function bt(e){e=qt(e);const t=qt(this);return mt(t).has.call(t,e)||(t.add(e),et(t,"add",e,e)),this}function kt(e,t){t=qt(t);const n=qt(this),{has:r,get:l}=mt(n);let i=r.call(n,e);i||(e=qt(e),i=r.call(n,e));const o=l.call(n,e);return n.set(e,t),i?Ae(t,o)&&et(n,"set",e,t):et(n,"add",e,t),this}function xt(e){const t=qt(this),{has:n,get:r}=mt(t);let l=n.call(t,e);l||(e=qt(e),l=n.call(t,e)),r&&r.call(t,e);const i=t.delete(e);return l&&et(t,"delete",e,void 0),i}function _t(){const e=qt(this),t=0!==e.size,n=e.clear();return t&&et(e,"clear",void 0,void 0),n}function $t(e,t){return function(n,r){const l=this,i=l.__v_raw,o=qt(i),s=t?gt:e?Kt:Qt;return!e&&Xe(o,0,Be),i.forEach(((e,t)=>n.call(r,s(e),s(t),l)))}}function Ct(e,t,n){return function(){const r=this.__v_raw,l=qt(r),i=oe(l),o="entries"===e||e===Symbol.iterator&&i,s="keys"===e&&i,a=r[e](...arguments),c=n?gt:t?Kt:Qt;return!t&&Xe(l,0,s?We:Be),{next(){const{value:e,done:t}=a.next();return t?{value:e,done:t}:{value:o?[c(e[0]),c(e[1])]:c(e),done:t}},[Symbol.iterator](){return this}}}}function St(e){return function(){return"delete"!==e&&this}}const[At,Rt,Et,It]=function(){const e={get(e){return vt(this,e)},get size(){return wt(this)},has:yt,add:bt,set:kt,delete:xt,clear:_t,forEach:$t(!1,!1)},t={get(e){return vt(this,e,!1,!0)},get size(){return wt(this)},has:yt,add:bt,set:kt,delete:xt,clear:_t,forEach:$t(!1,!0)},n={get(e){return vt(this,e,!0)},get size(){return wt(this,!0)},has(e){return yt.call(this,e,!0)},add:St("add"),set:St("set"),delete:St("delete"),clear:St("clear"),forEach:$t(!0,!1)},r={get(e){return vt(this,e,!0,!0)},get size(){return wt(this,!0)},has(e){return yt.call(this,e,!0)},add:St("add"),set:St("set"),delete:St("delete"),clear:St("clear"),forEach:$t(!0,!0)};return["keys","values","entries",Symbol.iterator].forEach((l=>{e[l]=Ct(l,!1,!1),n[l]=Ct(l,!0,!1),t[l]=Ct(l,!1,!0),r[l]=Ct(l,!0,!0)})),[e,n,t,r]}();function Lt(e,t){const n=t?e?It:Et:e?Rt:At;return(t,r,l)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?t:Reflect.get(le(n,r)&&r in t?n:t,r,l)}const zt={get:Lt(!1,!1)},Ot={get:Lt(!1,!0)},jt={get:Lt(!0,!1)},Tt=new WeakMap,Ut=new WeakMap,Pt=new WeakMap,Mt=new WeakMap;function Ft(e){return Ht(e)?e:Vt(e,!1,dt,zt,Tt)}function Nt(e){return Vt(e,!0,ht,jt,Pt)}function Vt(e,t,n,r,l){if(!de(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const i=l.get(e);if(i)return i;const o=(s=e).__v_skip||!Object.isExtensible(s)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}(me(s));var s;if(0===o)return e;const a=new Proxy(e,2===o?r:n);return l.set(e,a),a}function Dt(e){return Ht(e)?Dt(e.__v_raw):!(!e||!e.__v_isReactive)}function Ht(e){return!(!e||!e.__v_isReadonly)}function Bt(e){return!(!e||!e.__v_isShallow)}function Wt(e){return Dt(e)||Ht(e)}function qt(e){const t=e&&e.__v_raw;return t?qt(t):e}function Zt(e){return Ee(e,"__v_skip",!0),e}const Qt=e=>de(e)?Ft(e):e,Kt=e=>de(e)?Nt(e):e;function Gt(e){Qe&&He&&Ye((e=qt(e)).dep||(e.dep=Ue()))}function Jt(e,t){const n=(e=qt(e)).dep;n&&tt(n)}function Xt(e){return!(!e||!0!==e.__v_isRef)}function Yt(e){return tn(e,!1)}function en(e){return tn(e,!0)}function tn(e,t){return Xt(e)?e:new nn(e,t)}class nn{constructor(e,t){this.__v_isShallow=t,this.dep=void 0,this.__v_isRef=!0,this._rawValue=t?e:qt(e),this._value=t?e:Qt(e)}get value(){return Gt(this),this._value}set value(e){const t=this.__v_isShallow||Bt(e)||Ht(e);e=t?e:qt(e),Ae(e,this._rawValue)&&(this._rawValue=e,this._value=t?e:Qt(e),Jt(this))}}function rn(e){return Xt(e)?e.value:e}const ln={get:(e,t,n)=>rn(Reflect.get(e,t,n)),set:(e,t,n,r)=>{const l=e[t];return Xt(l)&&!Xt(n)?(l.value=n,!0):Reflect.set(e,t,n,r)}};function on(e){return Dt(e)?e:new Proxy(e,ln)}var sn;class an{constructor(e,t,n,r){this._setter=t,this.dep=void 0,this.__v_isRef=!0,this[sn]=!1,this._dirty=!0,this.effect=new qe(e,(()=>{this._dirty||(this._dirty=!0,Jt(this))})),this.effect.computed=this,this.effect.active=this._cacheable=!r,this.__v_isReadonly=n}get value(){const e=qt(this);return Gt(e),!e._dirty&&e._cacheable||(e._dirty=!1,e._value=e.effect.run()),e._value}set value(e){this._setter(e)}}function cn(e,t,n,r){let l;try{l=r?e(...r):e()}catch(e){pn(e,t,n)}return l}function un(e,t,n,r){if(ce(e)){const l=cn(e,t,n,r);return l&&he(l)&&l.catch((e=>{pn(e,t,n)})),l}const l=[];for(let i=0;i3&&void 0!==arguments[3])||arguments[3];if(t&&t.vnode,t){let r=t.parent;const l=t.proxy,i=n;for(;r;){const t=r.ec;if(t)for(let n=0;n>>1;Sn(fn[r])1&&void 0!==arguments[1]?arguments[1]:dn?gn+1:0;for(;tSn(e)-Sn(t))),yn=0;ynnull==e.id?1/0:e.id,An=(e,t)=>{const n=Sn(e)-Sn(t);if(0===n){if(e.pre&&!t.pre)return-1;if(t.pre&&!e.pre)return 1}return n};function Rn(e){hn=!1,dn=!0,fn.sort(An);try{for(gn=0;gn2?r-2:0),i=2;iue(e)?e.trim():e))),t&&(o=l.map(Ie))}let c,u=n[c=Se(t)]||n[c=Se(xe(t))];!u&&s&&(u=n[c=Se($e(t))]),u&&un(u,e,6,o);const p=n[c+"Once"];if(p){if(e.emitted){if(e.emitted[c])return}else e.emitted={};e.emitted[c]=!0,un(p,e,6,o)}}function In(e,t){const n=t.emitsCache,r=n.get(e);if(void 0!==r)return r;const l=e.emits;let i={};return l?(ie(l)?l.forEach((e=>i[e]=null)):te(i,l),de(e)&&n.set(e,i),i):(de(e)&&n.set(e,null),null)}function Ln(e,t){return!(!e||!Y(t))&&(t=t.slice(2).replace(/Once$/,""),le(e,t[0].toLowerCase()+t.slice(1))||le(e,$e(t))||le(e,t))}let zn=null,On=null;function jn(e){const t=zn;return zn=e,On=e&&e.type.__scopeId||null,t}function Tn(e){const{type:t,vnode:n,proxy:r,withProxy:l,props:i,propsOptions:[o],slots:s,attrs:a,emit:c,render:u,renderCache:p,data:d,setupState:h,ctx:f,inheritAttrs:g}=e;let m,v;const y=jn(e);try{if(4&n.shapeFlag){const e=l||r;m=ol(u.call(e,e,p,i,h,d,f)),v=a}else{const e=t;m=ol(e.length>1?e(i,{attrs:a,slots:s,emit:c}):e(i,null)),v=t.props?a:Un(a)}}catch(t){Dr.length=0,pn(t,e,1),m=nl(Nr)}let w=m;if(v&&!1!==g){const e=Object.keys(v),{shapeFlag:t}=w;e.length&&7&t&&(o&&e.some(ee)&&(v=Pn(v,o)),w=rl(w,v))}return n.dirs&&(w=rl(w),w.dirs=w.dirs?w.dirs.concat(n.dirs):n.dirs),n.transition&&(w.transition=n.transition),m=w,jn(y),m}const Un=e=>{let t;for(const n in e)("class"===n||"style"===n||Y(n))&&((t||(t={}))[n]=e[n]);return t},Pn=(e,t)=>{const n={};for(const r in e)ee(r)&&r.slice(9)in t||(n[r]=e[r]);return n};function Mn(e,t,n){const r=Object.keys(t);if(r.length!==Object.keys(e).length)return!0;for(let l=0;le.__isSuspense;function Nn(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=dl||zn;if(r){const l=null==r.parent?r.vnode.appContext&&r.vnode.appContext.provides:r.parent.provides;if(l&&e in l)return l[e];if(arguments.length>1)return n&&ce(t)?t.call(r.proxy):t}}function Vn(e,t){return Bn(e,null,t)}const Dn={};function Hn(e,t,n){return Bn(e,t,n)}function Bn(e,t){let{immediate:n,deep:r,flush:l,onTrack:i,onTrigger:o}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Q;const s=Te()===(null==dl?void 0:dl.scope)?dl:null;let a,c,u=!1,p=!1;if(Xt(e)?(a=()=>e.value,u=Bt(e)):Dt(e)?(a=()=>e,r=!0):ie(e)?(p=!0,u=e.some((e=>Dt(e)||Bt(e))),a=()=>e.map((e=>Xt(e)?e.value:Dt(e)?Wn(e):ce(e)?cn(e,s,2):void 0))):a=ce(e)?t?()=>cn(e,s,2):()=>{if(!s||!s.isUnmounted)return c&&c(),un(e,s,3,[h])}:G,t&&r){const e=a;a=()=>Wn(e())}let d,h=e=>{c=v.onStop=()=>{cn(e,s,4)}};if(yl){if(h=G,t?n&&un(t,s,3,[a(),p?[]:void 0,h]):a(),"sync"!==l)return G;{const e=Cl();d=e.__watcherHandles||(e.__watcherHandles=[])}}let f=p?new Array(e.length).fill(Dn):Dn;const g=()=>{if(v.active)if(t){const e=v.run();(r||u||(p?e.some(((e,t)=>Ae(e,f[t]))):Ae(e,f)))&&(c&&c(),un(t,s,3,[e,f===Dn?void 0:p&&f[0]===Dn?[]:f,h]),f=e)}else v.run()};let m;g.allowRecurse=!!t,"sync"===l?m=g:"post"===l?m=()=>Or(g,s&&s.suspense):(g.pre=!0,s&&(g.id=s.uid),m=()=>xn(g));const v=new qe(a,m);t?n?g():f=v.run():"post"===l?Or(v.run.bind(v),s&&s.suspense):v.run();const y=()=>{v.stop(),s&&s.scope&&ne(s.scope.effects,v)};return d&&d.push(y),y}function Wn(e,t){if(!de(e)||e.__v_skip)return e;if((t=t||new Set).has(e))return e;if(t.add(e),Xt(e))Wn(e.value,t);else if(ie(e))for(let n=0;n{Wn(e,t)}));else if(ve(e))for(const n in e)Wn(e[n],t);return e}function qn(e){return ce(e)?{setup:e,name:e.name}:e}const Zn=e=>!!e.type.__asyncLoader,Qn=e=>e.type.__isKeepAlive,Kn=e=>function(t){return(!yl||"sp"===e)&&function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:dl,r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];if(n){const l=n[e]||(n[e]=[]),i=t.__weh||(t.__weh=function(){if(n.isUnmounted)return;Ge(),fl(n);for(var r=arguments.length,l=new Array(r),i=0;i1&&void 0!==arguments[1]?arguments[1]:dl)},Gn=Kn("m"),Jn=Kn("bum"),Xn=Kn("um");function Yn(e,t){const n=zn;if(null===n)return e;const r=kl(n)||n.proxy,l=e.dirs||(e.dirs=[]);for(let e=0;et(e,n,void 0,i&&i[n])));else{const n=Object.keys(e);l=new Array(n.length);for(let r=0,o=n.length;re?ml(e)?kl(e)||e.proxy:ir(e.parent):null,or=te(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>ir(e.parent),$root:e=>ir(e.root),$emit:e=>e.emit,$options:e=>e.type,$forceUpdate:e=>e.f||(e.f=()=>xn(e.update)),$nextTick:e=>e.n||(e.n=kn.bind(e.proxy)),$watch:e=>G}),sr=(e,t)=>e!==Q&&!e.__isScriptSetup&&le(e,t),ar={get(e,t){let{_:n}=e;const{ctx:r,setupState:l,data:i,props:o,accessCache:s,type:a,appContext:c}=n;let u;if("$"!==t[0]){const e=s[t];if(void 0!==e)switch(e){case 1:return l[t];case 2:return i[t];case 4:return r[t];case 3:return o[t]}else{if(sr(l,t))return s[t]=1,l[t];if(i!==Q&&le(i,t))return s[t]=2,i[t];if((u=n.propsOptions[0])&&le(u,t))return s[t]=3,o[t];if(r!==Q&&le(r,t))return s[t]=4,r[t];s[t]=0}}const p=or[t];let d,h;return p?("$attrs"===t&&Xe(n,0,t),p(n)):(d=a.__cssModules)&&(d=d[t])?d:r!==Q&&le(r,t)?(s[t]=4,r[t]):(h=c.config.globalProperties,le(h,t)?h[t]:void 0)},set(e,t,n){let{_:r}=e;const{data:l,setupState:i,ctx:o}=r;return sr(i,t)?(i[t]=n,!0):l!==Q&&le(l,t)?(l[t]=n,!0):!(le(r.props,t)||"$"===t[0]&&t.slice(1)in r||(o[t]=n,0))},has(e,t){let n,{_:{data:r,setupState:l,accessCache:i,ctx:o,appContext:s,propsOptions:a}}=e;return!!i[t]||r!==Q&&le(r,t)||sr(l,t)||(n=a[0])&&le(n,t)||le(o,t)||le(or,t)||le(s.config.globalProperties,t)},defineProperty(e,t,n){return null!=n.get?e._.accessCache[t]=0:le(n,"value")&&this.set(e,t,n.value,null),Reflect.defineProperty(e,t,n)}};function cr(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const{mixins:l,extends:i}=t;i&&cr(e,i,n,!0),l&&l.forEach((t=>cr(e,t,n,!0)));for(const l in t)if(r&&"expose"===l);else{const r=ur[l]||n&&n[l];e[l]=r?r(e[l],t[l]):t[l]}return e}const ur={data:pr,props:fr,emits:fr,methods:fr,computed:fr,beforeCreate:hr,created:hr,beforeMount:hr,mounted:hr,beforeUpdate:hr,updated:hr,beforeDestroy:hr,beforeUnmount:hr,destroyed:hr,unmounted:hr,activated:hr,deactivated:hr,errorCaptured:hr,serverPrefetch:hr,components:fr,directives:fr,watch:function(e,t){if(!e)return t;if(!t)return e;const n=te(Object.create(null),e);for(const r in t)n[r]=hr(e[r],t[r]);return n},provide:pr,inject:function(e,t){return fr(dr(e),dr(t))}};function pr(e,t){return t?e?function(){return te(ce(e)?e.call(this,this):e,ce(t)?t.call(this,this):t)}:t:e}function dr(e){if(ie(e)){const t={};for(let n=0;n-1,r[1]=n<0||e-1||le(r,"default"))&&o.push(t)}}}const s=[i,o];return de(e)&&n.set(e,s),s}function yr(e){return"$"!==e[0]}function wr(e){const t=e&&e.toString().match(/^\s*(function|class) (\w+)/);return t?t[2]:null===e?"null":""}function br(e,t){return wr(e)===wr(t)}function kr(e,t){return ie(t)?t.findIndex((t=>br(t,e))):ce(t)&&br(t,e)?0:-1}const xr=e=>"_"===e[0]||"$stable"===e,_r=e=>ie(e)?e.map(ol):[ol(e)],$r=(e,t,n)=>{if(t._n)return t;const r=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:zn;if(!t)return e;if(e._n)return e;const n=function(){n._d&&qr(-1);const r=jn(t);let l;try{l=e(...arguments)}finally{jn(r),n._d&&qr(1)}return l};return n._n=!0,n._c=!0,n._d=!0,n}((function(){return _r(t(...arguments))}),n);return r._c=!1,r},Cr=(e,t,n)=>{const r=e._ctx;for(const n in e){if(xr(n))continue;const l=e[n];if(ce(l))t[n]=$r(0,l,r);else if(null!=l){const e=_r(l);t[n]=()=>e}}},Sr=(e,t)=>{const n=_r(t);e.slots.default=()=>n},Ar=(e,t)=>{if(32&e.vnode.shapeFlag){const n=t._;n?(e.slots=qt(t),Ee(t,"_",n)):Cr(t,e.slots={})}else e.slots={},t&&Sr(e,t);Ee(e.slots,Xr,1)},Rr=(e,t,n)=>{const{vnode:r,slots:l}=e;let i=!0,o=Q;if(32&r.shapeFlag){const e=t._;e?n&&1===e?i=!1:(te(l,t),n||1!==e||delete l._):(i=!t.$stable,Cr(t,l)),o=t}else t&&(Sr(e,t),o={default:1});if(i)for(const e in l)xr(e)||e in o||delete l[e]};function Er(){return{app:null,config:{isNativeTag:J,performance:!1,globalProperties:{},optionMergeStrategies:{},errorHandler:void 0,warnHandler:void 0,compilerOptions:{}},mixins:[],components:{},directives:{},provides:Object.create(null),optionsCache:new WeakMap,propsCache:new WeakMap,emitsCache:new WeakMap}}let Ir=0;function Lr(e,t){return function(n){let r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;ce(n)||(n=Object.assign({},n)),null==r||de(r)||(r=null);const l=Er(),i=new Set;let o=!1;const s=l.app={_uid:Ir++,_component:n,_props:r,_container:null,_context:l,_instance:null,version:Sl,get config(){return l.config},set config(e){},use:function(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;rs,component:(e,t)=>t?(l.components[e]=t,s):l.components[e],directive:(e,t)=>t?(l.directives[e]=t,s):l.directives[e],mount(i,a,c){if(!o){const u=nl(n,r);return u.appContext=l,a&&t?t(u,i):e(u,i,c),o=!0,s._container=i,i.__vue_app__=s,kl(u.component)||u.component.proxy}},unmount(){o&&(e(null,s._container),delete s._container.__vue_app__)},provide:(e,t)=>(l.provides[e]=t,s)};return s}}function zr(e,t,n,r){let l=arguments.length>4&&void 0!==arguments[4]&&arguments[4];if(ie(e))return void e.forEach(((e,i)=>zr(e,t&&(ie(t)?t[i]:t),n,r,l)));if(Zn(r)&&!l)return;const i=4&r.shapeFlag?kl(r.component)||r.component.proxy:r.el,o=l?null:i,{i:s,r:a}=e,c=t&&t.r,u=s.refs===Q?s.refs={}:s.refs,p=s.setupState;if(null!=c&&c!==a&&(ue(c)?(u[c]=null,le(p,c)&&(p[c]=null)):Xt(c)&&(c.value=null)),ce(a))cn(a,s,12,[o,u]);else{const t=ue(a),r=Xt(a);if(t||r){const s=()=>{if(e.f){const n=t?le(p,a)?p[a]:u[a]:a.value;l?ie(n)&&ne(n,i):ie(n)?n.includes(i)||n.push(i):t?(u[a]=[i],le(p,a)&&(p[a]=u[a])):(a.value=[i],e.k&&(u[e.k]=a.value))}else t?(u[a]=o,le(p,a)&&(p[a]=o)):r&&(a.value=o,e.k&&(u[e.k]=o))};o?(s.id=-1,Or(s,n)):s()}}}const Or=function(e,t){var n;t&&t.pendingBranch?ie(e)?t.effects.push(...e):t.effects.push(e):(ie(n=e)?mn.push(...n):vn&&vn.includes(n,n.allowRecurse?yn+1:yn)||mn.push(n),_n())};function jr(e){return function(e,t){ze().__VUE__=!0;const{insert:n,remove:r,patchProp:l,createElement:i,createText:o,createComment:s,setText:a,setElementText:c,parentNode:u,nextSibling:p,setScopeId:d=G,insertStaticContent:h}=e,f=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:null,o=arguments.length>6&&void 0!==arguments[6]&&arguments[6],s=arguments.length>7&&void 0!==arguments[7]?arguments[7]:null,a=arguments.length>8&&void 0!==arguments[8]?arguments[8]:!!t.dynamicChildren;if(e===t)return;e&&!Jr(e,t)&&(r=V(e),U(e,l,i,!0),e=null),-2===t.patchFlag&&(a=!1,t.dynamicChildren=null);const{type:c,ref:u,shapeFlag:p}=t;switch(c){case Fr:g(e,t,n,r);break;case Nr:m(e,t,n,r);break;case Vr:null==e&&v(t,n,r,o);break;case Mr:S(e,t,n,r,l,i,o,s,a);break;default:1&p?w(e,t,n,r,l,i,o,s,a):6&p?A(e,t,n,r,l,i,o,s,a):(64&p||128&p)&&c.process(e,t,n,r,l,i,o,s,a,H)}null!=u&&l&&zr(u,e&&e.ref,i,t||e,!t)},g=(e,t,r,l)=>{if(null==e)n(t.el=o(t.children),r,l);else{const n=t.el=e.el;t.children!==e.children&&a(n,t.children)}},m=(e,t,r,l)=>{null==e?n(t.el=s(t.children||""),r,l):t.el=e.el},v=(e,t,n,r)=>{[e.el,e.anchor]=h(e.children,t,n,r,e.el,e.anchor)},y=(e,t,r)=>{let l,{el:i,anchor:o}=e;for(;i&&i!==o;)l=p(i),n(i,t,r),i=l;n(o,t,r)},w=(e,t,n,r,l,i,o,s,a)=>{o=o||"svg"===t.type,null==e?b(t,n,r,l,i,o,s,a):_(e,t,l,i,o,s,a)},b=(e,t,r,o,s,a,u,p)=>{let d,h;const{type:f,props:g,shapeFlag:m,transition:v,dirs:y}=e;if(d=e.el=i(e.type,a,g&&g.is,g),8&m?c(d,e.children):16&m&&x(e.children,d,null,o,s,a&&"foreignObject"!==f,u,p),y&&er(e,null,o,"created"),k(d,e,e.scopeId,u,o),g){for(const t in g)"value"===t||we(t)||l(d,t,null,g[t],a,e.children,o,s,N);"value"in g&&l(d,"value",null,g.value),(h=g.onVnodeBeforeMount)&&cl(h,o,e)}y&&er(e,null,o,"beforeMount");const w=(!s||s&&!s.pendingBranch)&&v&&!v.persisted;w&&v.beforeEnter(d),n(d,t,r),((h=g&&g.onVnodeMounted)||w||y)&&Or((()=>{h&&cl(h,o,e),w&&v.enter(d),y&&er(e,null,o,"mounted")}),s)},k=(e,t,n,r,l)=>{if(n&&d(e,n),r)for(let t=0;t8&&void 0!==arguments[8]?arguments[8]:0;a{const a=t.el=e.el;let{patchFlag:u,dynamicChildren:p,dirs:d}=t;u|=16&e.patchFlag;const h=e.props||Q,f=t.props||Q;let g;n&&Tr(n,!1),(g=f.onVnodeBeforeUpdate)&&cl(g,n,t,e),d&&er(t,e,n,"beforeUpdate"),n&&Tr(n,!0);const m=i&&"foreignObject"!==t.type;if(p?$(e.dynamicChildren,p,a,n,r,m,o):s||z(e,t,a,null,n,r,m,o,!1),u>0){if(16&u)C(a,t,h,f,n,r,i);else if(2&u&&h.class!==f.class&&l(a,"class",null,f.class,i),4&u&&l(a,"style",h.style,f.style,i),8&u){const o=t.dynamicProps;for(let t=0;t{g&&cl(g,n,t,e),d&&er(t,e,n,"updated")}),r)},$=(e,t,n,r,l,i,o)=>{for(let s=0;s{if(n!==r){if(n!==Q)for(const a in n)we(a)||a in r||l(e,a,n[a],null,s,t.children,i,o,N);for(const a in r){if(we(a))continue;const c=r[a],u=n[a];c!==u&&"value"!==a&&l(e,a,u,c,s,t.children,i,o,N)}"value"in r&&l(e,"value",n.value,r.value)}},S=(e,t,r,l,i,s,a,c,u)=>{const p=t.el=e?e.el:o(""),d=t.anchor=e?e.anchor:o("");let{patchFlag:h,dynamicChildren:f,slotScopeIds:g}=t;g&&(c=c?c.concat(g):g),null==e?(n(p,r,l),n(d,r,l),x(t.children,r,d,i,s,a,c,u)):h>0&&64&h&&f&&e.dynamicChildren?($(e.dynamicChildren,f,r,i,s,a,c),(null!=t.key||i&&t===i.subTree)&&Ur(e,t,!0)):z(e,t,r,d,i,s,a,c,u)},A=(e,t,n,r,l,i,o,s,a)=>{t.slotScopeIds=s,null==e?512&t.shapeFlag?l.ctx.activate(t,n,r,o,a):R(t,n,r,l,i,o,a):E(e,t,a)},R=(e,t,n,r,l,i,o)=>{const s=e.component=function(e,t,n){const r=e.type,l=(t?t.appContext:e.appContext)||ul,i={uid:pl++,vnode:e,type:r,parent:t,appContext:l,root:null,next:null,subTree:null,effect:null,update:null,scope:new je(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(l.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:vr(r,l),emitsOptions:In(r,l),emit:null,emitted:null,propsDefaults:Q,inheritAttrs:r.inheritAttrs,ctx:Q,data:Q,props:Q,attrs:Q,slots:Q,refs:Q,setupState:Q,setupContext:null,suspense:n,suspenseId:n?n.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};return i.ctx={_:i},i.root=t?t.root:i,i.emit=En.bind(null,i),e.ce&&e.ce(i),i}(e,r,l);if(Qn(e)&&(s.ctx.renderer=H),function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];yl=t;const{props:n,children:r}=e.vnode,l=ml(e);(function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const l={},i={};Ee(i,Xr,1),e.propsDefaults=Object.create(null),gr(e,t,l,i);for(const t in e.propsOptions[0])t in l||(l[t]=void 0);n?e.props=r?l:Vt(l,!1,ft,Ot,Ut):e.type.props?e.props=l:e.props=i,e.attrs=i})(e,n,l,t),Ar(e,r);l&&function(e,t){const n=e.type;e.accessCache=Object.create(null),e.proxy=Zt(new Proxy(e.ctx,ar));const{setup:r}=n;if(r){const n=e.setupContext=r.length>1?function(e){let t;return{get attrs(){return t||(t=function(e){return new Proxy(e.attrs,{get:(t,n)=>(Xe(e,0,"$attrs"),t[n])})}(e))},slots:e.slots,emit:e.emit,expose:t=>{e.exposed=t||{}}}}(e):null;fl(e),Ge();const l=cn(r,e,0,[e.props,n]);if(Je(),gl(),he(l)){if(l.then(gl,gl),t)return l.then((n=>{wl(e,n,t)})).catch((t=>{pn(t,e,0)}));e.asyncDep=l}else wl(e,l,t)}else bl(e,t)}(e,t);yl=!1}(s),s.asyncDep){if(l&&l.registerDep(s,I),!e.el){const e=s.subTree=nl(Nr);m(null,e,t,n)}}else I(s,e,t,n,l,i,o)},E=(e,t,n)=>{const r=t.component=e.component;if(function(e,t,n){const{props:r,children:l,component:i}=e,{props:o,children:s,patchFlag:a}=t,c=i.emitsOptions;if(t.dirs||t.transition)return!0;if(!(n&&a>=0))return!(!l&&!s||s&&s.$stable)||r!==o&&(r?!o||Mn(r,o,c):!!o);if(1024&a)return!0;if(16&a)return r?Mn(r,o,c):!!o;if(8&a){const e=t.dynamicProps;for(let t=0;tgn&&fn.splice(t,1)}(r.update),r.update()}else t.el=e.el,r.vnode=t},I=(e,t,n,r,l,i,o)=>{const s=e.effect=new qe((()=>{if(e.isMounted){let t,{next:n,bu:r,u:s,parent:a,vnode:c}=e,p=n;Tr(e,!1),n?(n.el=c.el,L(e,n,o)):n=c,r&&Re(r),(t=n.props&&n.props.onVnodeBeforeUpdate)&&cl(t,a,n,c),Tr(e,!0);const d=Tn(e),h=e.subTree;e.subTree=d,f(h,d,u(h.el),V(h),e,l,i),n.el=d.el,null===p&&function(e,t){let{vnode:n,parent:r}=e;for(;r&&r.subTree===n;)(n=r.vnode).el=t,r=r.parent}(e,d.el),s&&Or(s,l),(t=n.props&&n.props.onVnodeUpdated)&&Or((()=>cl(t,a,n,c)),l)}else{let o;const{el:s,props:a}=t,{bm:c,m:u,parent:p}=e,d=Zn(t);if(Tr(e,!1),c&&Re(c),!d&&(o=a&&a.onVnodeBeforeMount)&&cl(o,p,t),Tr(e,!0),s&&W){const n=()=>{e.subTree=Tn(e),W(s,e.subTree,e,l,null)};d?t.type.__asyncLoader().then((()=>!e.isUnmounted&&n())):n()}else{const o=e.subTree=Tn(e);f(null,o,n,r,e,l,i),t.el=o.el}if(u&&Or(u,l),!d&&(o=a&&a.onVnodeMounted)){const e=t;Or((()=>cl(o,p,e)),l)}(256&t.shapeFlag||p&&Zn(p.vnode)&&256&p.vnode.shapeFlag)&&e.a&&Or(e.a,l),e.isMounted=!0,t=n=r=null}}),(()=>xn(a)),e.scope),a=e.update=()=>s.run();a.id=e.uid,Tr(e,!0),a()},L=(e,t,n)=>{t.component=e;const r=e.vnode.props;e.vnode=t,e.next=null,function(e,t,n,r){const{props:l,attrs:i,vnode:{patchFlag:o}}=e,s=qt(l),[a]=e.propsOptions;let c=!1;if(!(r||o>0)||16&o){let r;gr(e,t,l,i)&&(c=!0);for(const i in s)t&&(le(t,i)||(r=$e(i))!==i&&le(t,r))||(a?!n||void 0===n[i]&&void 0===n[r]||(l[i]=mr(a,s,i,void 0,e,!0)):delete l[i]);if(i!==s)for(const e in i)t&&le(t,e)||(delete i[e],c=!0)}else if(8&o){const n=e.vnode.dynamicProps;for(let r=0;r8&&void 0!==arguments[8]&&arguments[8];const u=e&&e.children,p=e?e.shapeFlag:0,d=t.children,{patchFlag:h,shapeFlag:f}=t;if(h>0){if(128&h)return void j(u,d,n,r,l,i,o,s,a);if(256&h)return void O(u,d,n,r,l,i,o,s,a)}8&f?(16&p&&N(u,l,i),d!==u&&c(n,d)):16&p?16&f?j(u,d,n,r,l,i,o,s,a):N(u,l,i,!0):(8&p&&c(n,""),16&f&&x(d,n,r,l,i,o,s,a))},O=(e,t,n,r,l,i,o,s,a)=>{t=t||K;const c=(e=e||K).length,u=t.length,p=Math.min(c,u);let d;for(d=0;du?N(e,l,i,!0,!1,p):x(t,n,r,l,i,o,s,a,p)},j=(e,t,n,r,l,i,o,s,a)=>{let c=0;const u=t.length;let p=e.length-1,d=u-1;for(;c<=p&&c<=d;){const r=e[c],u=t[c]=a?sl(t[c]):ol(t[c]);if(!Jr(r,u))break;f(r,u,n,null,l,i,o,s,a),c++}for(;c<=p&&c<=d;){const r=e[p],c=t[d]=a?sl(t[d]):ol(t[d]);if(!Jr(r,c))break;f(r,c,n,null,l,i,o,s,a),p--,d--}if(c>p){if(c<=d){const e=d+1,p=ed)for(;c<=p;)U(e[c],l,i,!0),c++;else{const h=c,g=c,m=new Map;for(c=g;c<=d;c++){const e=t[c]=a?sl(t[c]):ol(t[c]);null!=e.key&&m.set(e.key,c)}let v,y=0;const w=d-g+1;let b=!1,k=0;const x=new Array(w);for(c=0;c=w){U(r,l,i,!0);continue}let u;if(null!=r.key)u=m.get(r.key);else for(v=g;v<=d;v++)if(0===x[v-g]&&Jr(r,t[v])){u=v;break}void 0===u?U(r,l,i,!0):(x[u-g]=c+1,u>=k?k=u:b=!0,f(r,t[u],n,null,l,i,o,s,a),y++)}const _=b?function(e){const t=e.slice(),n=[0];let r,l,i,o,s;const a=e.length;for(r=0;r>1,e[n[s]]0&&(t[r]=n[i-1]),n[i]=r)}}for(i=n.length,o=n[i-1];i-- >0;)n[i]=o,o=t[o];return n}(x):K;for(v=_.length-1,c=w-1;c>=0;c--){const e=g+c,p=t[e],d=e+14&&void 0!==arguments[4]?arguments[4]:null;const{el:o,type:s,transition:a,children:c,shapeFlag:u}=e;if(6&u)T(e.component.subTree,t,r,l);else if(128&u)e.suspense.move(t,r,l);else if(64&u)s.move(e,t,r,H);else if(s!==Mr)if(s!==Vr)if(2!==l&&1&u&&a)if(0===l)a.beforeEnter(o),n(o,t,r),Or((()=>a.enter(o)),i);else{const{leave:e,delayLeave:l,afterLeave:i}=a,s=()=>n(o,t,r),c=()=>{e(o,(()=>{s(),i&&i()}))};l?l(o,s,c):c()}else n(o,t,r);else y(e,t,r);else{n(o,t,r);for(let e=0;e3&&void 0!==arguments[3]&&arguments[3],l=arguments.length>4&&void 0!==arguments[4]&&arguments[4];const{type:i,props:o,ref:s,children:a,dynamicChildren:c,shapeFlag:u,patchFlag:p,dirs:d}=e;if(null!=s&&zr(s,null,n,e,!0),256&u)return void t.ctx.deactivate(e);const h=1&u&&d,f=!Zn(e);let g;if(f&&(g=o&&o.onVnodeBeforeUnmount)&&cl(g,t,e),6&u)F(e.component,n,r);else{if(128&u)return void e.suspense.unmount(n,r);h&&er(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,n,l,H,r):c&&(i!==Mr||p>0&&64&p)?N(c,t,n,!1,!0):(i===Mr&&384&p||!l&&16&u)&&N(a,t,n),r&&P(e)}(f&&(g=o&&o.onVnodeUnmounted)||h)&&Or((()=>{g&&cl(g,t,e),h&&er(e,null,t,"unmounted")}),n)},P=e=>{const{type:t,el:n,anchor:l,transition:i}=e;if(t===Mr)return void M(n,l);if(t===Vr)return void(e=>{let t,{el:n,anchor:l}=e;for(;n&&n!==l;)t=p(n),r(n),n=t;r(l)})(e);const o=()=>{r(n),i&&!i.persisted&&i.afterLeave&&i.afterLeave()};if(1&e.shapeFlag&&i&&!i.persisted){const{leave:t,delayLeave:r}=i,l=()=>t(n,o);r?r(e.el,o,l):l()}else o()},M=(e,t)=>{let n;for(;e!==t;)n=p(e),r(e),e=n;r(t)},F=(e,t,n)=>{const{bum:r,scope:l,update:i,subTree:o,um:s}=e;r&&Re(r),l.stop(),i&&(i.active=!1,U(o,e,t,n)),s&&Or(s,t),Or((()=>{e.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&e.asyncDep&&!e.asyncResolved&&e.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},N=function(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],l=arguments.length>4&&void 0!==arguments[4]&&arguments[4];for(let i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;i6&e.shapeFlag?V(e.component.subTree):128&e.shapeFlag?e.suspense.next():p(e.anchor||e.el),D=(e,t,n)=>{null==e?t._vnode&&U(t._vnode,null,null,!0):f(t._vnode||null,e,t,null,null,null,n),$n(),Cn(),t._vnode=e},H={p:f,um:U,m:T,r:P,mt:R,mc:x,pc:z,pbc:$,n:V,o:e};let B,W;return{render:D,hydrate:B,createApp:Lr(D,B)}}(e)}function Tr(e,t){let{effect:n,update:r}=e;n.allowRecurse=r.allowRecurse=t}function Ur(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const r=e.children,l=t.children;if(ie(r)&&ie(l))for(let e=0;ee.__isTeleport,Mr=Symbol(void 0),Fr=Symbol(void 0),Nr=Symbol(void 0),Vr=Symbol(void 0),Dr=[];let Hr=null;function Br(){let e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];Dr.push(Hr=e?null:[])}let Wr=1;function qr(e){Wr+=e}function Zr(e){return e.dynamicChildren=Wr>0?Hr||K:null,Dr.pop(),Hr=Dr[Dr.length-1]||null,Wr>0&&Hr&&Hr.push(e),e}function Qr(e,t,n,r,l,i){return Zr(tl(e,t,n,r,l,i,!0))}function Kr(e,t,n,r,l){return Zr(nl(e,t,n,r,l,!0))}function Gr(e){return!!e&&!0===e.__v_isVNode}function Jr(e,t){return e.type===t.type&&e.key===t.key}const Xr="__vInternal",Yr=e=>{let{key:t}=e;return null!=t?t:null},el=e=>{let{ref:t,ref_key:n,ref_for:r}=e;return null!=t?ue(t)||Xt(t)||ce(t)?{i:zn,r:t,k:n,f:!!r}:t:null};function tl(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:e===Mr?0:1,o=arguments.length>6&&void 0!==arguments[6]&&arguments[6],s=arguments.length>7&&void 0!==arguments[7]&&arguments[7];const a={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Yr(t),ref:t&&el(t),scopeId:On,slotScopeIds:null,children:n,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:i,patchFlag:r,dynamicProps:l,dynamicChildren:null,appContext:null,ctx:zn};return s?(al(a,n),128&i&&e.normalize(a)):n&&(a.shapeFlag|=ue(n)?8:16),Wr>0&&!o&&Hr&&(a.patchFlag>0||6&i)&&32!==a.patchFlag&&Hr.push(a),a}const nl=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null,i=arguments.length>5&&void 0!==arguments[5]&&arguments[5];if(e&&e!==nr||(e=Nr),Gr(e)){const r=rl(e,t,!0);return n&&al(r,n),Wr>0&&!i&&Hr&&(6&r.shapeFlag?Hr[Hr.indexOf(e)]=r:Hr.push(r)),r.patchFlag|=-2,r}var o;if(ce(o=e)&&"__vccOpts"in o&&(e=e.__vccOpts),t){t=function(e){return e?Wt(e)||Xr in e?te({},e):e:null}(t);let{class:e,style:n}=t;e&&!ue(e)&&(t.class=V(e)),de(n)&&(Wt(n)&&!ie(n)&&(n=te({},n)),t.style=U(n))}return tl(e,t,n,r,l,ue(e)?1:Fn(e)?128:Pr(e)?64:de(e)?4:ce(e)?2:0,i,!0)};function rl(e,t){let n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const{props:r,ref:l,patchFlag:i,children:o}=e,s=t?function(){const e={};for(let t=0;t0&&void 0!==arguments[0]?arguments[0]:" ",arguments.length>1&&void 0!==arguments[1]?arguments[1]:0)}function il(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return arguments.length>1&&void 0!==arguments[1]&&arguments[1]?(Br(),Kr(Nr,null,e)):nl(Nr,null,e)}function ol(e){return null==e||"boolean"==typeof e?nl(Nr):ie(e)?nl(Mr,null,e.slice()):"object"==typeof e?sl(e):nl(Fr,null,String(e))}function sl(e){return null===e.el&&-1!==e.patchFlag||e.memo?e:rl(e)}function al(e,t){let n=0;const{shapeFlag:r}=e;if(null==t)t=null;else if(ie(t))n=16;else if("object"==typeof t){if(65&r){const n=t.default;return void(n&&(n._c&&(n._d=!1),al(e,n()),n._c&&(n._d=!0)))}{n=32;const r=t._;r||Xr in t?3===r&&zn&&(1===zn.slots._?t._=1:(t._=2,e.patchFlag|=1024)):t._ctx=zn}}else ce(t)?(t={default:t,_ctx:zn},n=32):(t=String(t),64&r?(n=16,t=[ll(t)]):n=8);e.children=t,e.shapeFlag|=n}function cl(e,t,n){un(e,t,7,[n,arguments.length>3&&void 0!==arguments[3]?arguments[3]:null])}const ul=Er();let pl=0,dl=null;const hl=()=>dl||zn,fl=e=>{dl=e,e.scope.on()},gl=()=>{dl&&dl.scope.off(),dl=null};function ml(e){return 4&e.vnode.shapeFlag}let vl,yl=!1;function wl(e,t,n){ce(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:de(t)&&(e.setupState=on(t)),bl(e,n)}function bl(e,t,n){const r=e.type;if(!e.render){if(!t&&vl&&!r.render){const t=r.template||function(e){const t=e.type,{mixins:n,extends:r}=t,{mixins:l,optionsCache:i,config:{optionMergeStrategies:o}}=e.appContext,s=i.get(t);let a;return s?a=s:l.length||n||r?(a={},l.length&&l.forEach((e=>cr(a,e,o,!0))),cr(a,t,o)):a=t,de(t)&&i.set(t,a),a}(e).template;if(t){const{isCustomElement:n,compilerOptions:l}=e.appContext.config,{delimiters:i,compilerOptions:o}=r,s=te(te({isCustomElement:n,delimiters:i},l),o);r.render=vl(t,s)}}e.render=r.render||G}}function kl(e){if(e.exposed)return e.exposeProxy||(e.exposeProxy=new Proxy(on(Zt(e.exposed)),{get:(t,n)=>n in t?t[n]:n in or?or[n](e):void 0,has:(e,t)=>t in e||t in or}))}const xl=(e,t)=>function(e,t){let n,r,l=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const i=ce(e);return i?(n=e,r=G):(n=e.get,r=e.set),new an(n,r,i||!r,l)}(e,0,yl);function _l(e,t,n){const r=arguments.length;return 2===r?de(t)&&!ie(t)?Gr(t)?nl(e,null,[t]):nl(e,t):nl(e,null,t):(r>3?n=Array.prototype.slice.call(arguments,2):3===r&&Gr(n)&&(n=[n]),nl(e,t,n))}const $l=Symbol(""),Cl=()=>Nn($l),Sl="3.2.47",Al="undefined"!=typeof document?document:null,Rl=Al&&Al.createElement("template"),El={insert:(e,t,n)=>{t.insertBefore(e,n||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,n,r)=>{const l=t?Al.createElementNS("http://www.w3.org/2000/svg",e):Al.createElement(e,n?{is:n}:void 0);return"select"===e&&r&&null!=r.multiple&&l.setAttribute("multiple",r.multiple),l},createText:e=>Al.createTextNode(e),createComment:e=>Al.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>Al.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,n,r,l,i){const o=n?n.previousSibling:t.lastChild;if(l&&(l===i||l.nextSibling))for(;t.insertBefore(l.cloneNode(!0),n),l!==i&&(l=l.nextSibling););else{Rl.innerHTML=r?`${e}`:e;const l=Rl.content;if(r){const e=l.firstChild;for(;e.firstChild;)l.appendChild(e.firstChild);l.removeChild(e)}t.insertBefore(l,n)}return[o?o.nextSibling:t.firstChild,n?n.previousSibling:t.lastChild]}},Il=/\s*!important$/;function Ll(e,t,n){if(ie(n))n.forEach((n=>Ll(e,t,n)));else if(null==n&&(n=""),t.startsWith("--"))e.setProperty(t,n);else{const r=function(e,t){const n=Ol[t];if(n)return n;let r=xe(t);if("filter"!==r&&r in e)return Ol[t]=r;r=Ce(r);for(let n=0;nPl||(Ml.then((()=>Pl=0)),Pl=Date.now()),Nl=/^on[a-z]/,Vl=e=>{const t=e.props["onUpdate:modelValue"]||!1;return ie(t)?e=>Re(t,e):t};function Dl(e){e.target.composing=!0}function Hl(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const Bl={created(e,t,n){let{modifiers:{lazy:r,trim:l,number:i}}=t;e._assign=Vl(n);const o=i||n.props&&"number"===n.props.type;Tl(e,r?"change":"input",(t=>{if(t.target.composing)return;let n=e.value;l&&(n=n.trim()),o&&(n=Ie(n)),e._assign(n)})),l&&Tl(e,"change",(()=>{e.value=e.value.trim()})),r||(Tl(e,"compositionstart",Dl),Tl(e,"compositionend",Hl),Tl(e,"change",Hl))},mounted(e,t){let{value:n}=t;e.value=null==n?"":n},beforeUpdate(e,t,n){let{value:r,modifiers:{lazy:l,trim:i,number:o}}=t;if(e._assign=Vl(n),e.composing)return;if(document.activeElement===e&&"range"!==e.type){if(l)return;if(i&&e.value.trim()===r)return;if((o||"number"===e.type)&&Ie(e.value)===r)return}const s=null==r?"":r;e.value!==s&&(e.value=s)}},Wl={deep:!0,created(e,t,n){e._assign=Vl(n),Tl(e,"change",(()=>{const t=e._modelValue,n=Gl(e),r=e.checked,l=e._assign;if(ie(t)){const e=W(t,n),i=-1!==e;if(r&&!i)l(t.concat(n));else if(!r&&i){const n=[...t];n.splice(e,1),l(n)}}else if(se(t)){const e=new Set(t);r?e.add(n):e.delete(n),l(e)}else l(Jl(e,r))}))},mounted:ql,beforeUpdate(e,t,n){e._assign=Vl(n),ql(e,t,n)}};function ql(e,t,n){let{value:r,oldValue:l}=t;e._modelValue=r,ie(r)?e.checked=W(r,n.props.value)>-1:se(r)?e.checked=r.has(n.props.value):r!==l&&(e.checked=B(r,Jl(e,!0)))}const Zl={created(e,t,n){let{value:r}=t;e.checked=B(r,n.props.value),e._assign=Vl(n),Tl(e,"change",(()=>{e._assign(Gl(e))}))},beforeUpdate(e,t,n){let{value:r,oldValue:l}=t;e._assign=Vl(n),r!==l&&(e.checked=B(r,n.props.value))}},Ql={deep:!0,created(e,t,n){let{value:r,modifiers:{number:l}}=t;const i=se(r);Tl(e,"change",(()=>{const t=Array.prototype.filter.call(e.options,(e=>e.selected)).map((e=>l?Ie(Gl(e)):Gl(e)));e._assign(e.multiple?i?new Set(t):t:t[0])})),e._assign=Vl(n)},mounted(e,t){let{value:n}=t;Kl(e,n)},beforeUpdate(e,t,n){e._assign=Vl(n)},updated(e,t){let{value:n}=t;Kl(e,n)}};function Kl(e,t){const n=e.multiple;if(!n||ie(t)||se(t)){for(let r=0,l=e.options.length;r-1:l.selected=t.has(i);else if(B(Gl(l),t))return void(e.selectedIndex!==r&&(e.selectedIndex=r))}n||-1===e.selectedIndex||(e.selectedIndex=-1)}}function Gl(e){return"_value"in e?e._value:e.value}function Jl(e,t){const n=t?"_trueValue":"_falseValue";return n in e?e[n]:t}const Xl={created(e,t,n){Yl(e,t,n,null,"created")},mounted(e,t,n){Yl(e,t,n,null,"mounted")},beforeUpdate(e,t,n,r){Yl(e,t,n,r,"beforeUpdate")},updated(e,t,n,r){Yl(e,t,n,r,"updated")}};function Yl(e,t,n,r,l){const i=function(e,t){switch(e){case"SELECT":return Ql;case"TEXTAREA":return Bl;default:switch(t){case"checkbox":return Wl;case"radio":return Zl;default:return Bl}}}(e.tagName,n.props&&n.props.type)[l];i&&i(e,t,n,r)}const ei={beforeMount(e,t,n){let{value:r}=t,{transition:l}=n;e._vod="none"===e.style.display?"":e.style.display,l&&r?l.beforeEnter(e):ti(e,r)},mounted(e,t,n){let{value:r}=t,{transition:l}=n;l&&r&&l.enter(e)},updated(e,t,n){let{value:r,oldValue:l}=t,{transition:i}=n;!r!=!l&&(i?r?(i.beforeEnter(e),ti(e,!0),i.enter(e)):i.leave(e,(()=>{ti(e,!1)})):ti(e,r))},beforeUnmount(e,t){let{value:n}=t;ti(e,n)}};function ti(e,t){e.style.display=t?e._vod:"none"}const ni=te({patchProp:function(e,t,n,r){let l=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=arguments.length>5?arguments[5]:void 0,o=arguments.length>6?arguments[6]:void 0,s=arguments.length>7?arguments[7]:void 0,a=arguments.length>8?arguments[8]:void 0;"class"===t?function(e,t,n){const r=e._vtc;r&&(t=(t?[t,...r]:[...r]).join(" ")),null==t?e.removeAttribute("class"):n?e.setAttribute("class",t):e.className=t}(e,r,l):"style"===t?function(e,t,n){const r=e.style,l=ue(n);if(n&&!l){if(t&&!ue(t))for(const e in t)null==n[e]&&Ll(r,e,"");for(const e in n)Ll(r,e,n[e])}else{const i=r.display;l?t!==n&&(r.cssText=n):t&&e.removeAttribute("style"),"_vod"in e&&(r.display=i)}}(e,n,r):Y(t)?ee(t)||function(e,t,n,r){let l=arguments.length>4&&void 0!==arguments[4]?arguments[4]:null;const i=e._vei||(e._vei={}),o=i[t];if(r&&o)o.value=r;else{const[n,s]=function(e){let t;if(Ul.test(e)){let n;for(t={};n=e.match(Ul);)e=e.slice(0,e.length-n[0].length),t[n[0].toLowerCase()]=!0}return[":"===e[2]?e.slice(3):$e(e.slice(2)),t]}(t);if(r){const o=i[t]=function(e,t){const n=e=>{if(e._vts){if(e._vts<=n.attached)return}else e._vts=Date.now();un(function(e,t){if(ie(t)){const n=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{n.call(e),e._stopped=!0},t.map((e=>t=>!t._stopped&&e&&e(t)))}return t}(e,n.value),t,5,[e])};return n.value=e,n.attached=Fl(),n}(r,l);Tl(e,n,o,s)}else o&&(function(e,t,n,r){e.removeEventListener(t,n,r)}(e,n,o,s),i[t]=void 0)}}(e,t,0,r,o):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,n,r){return r?"innerHTML"===t||"textContent"===t||!!(t in e&&Nl.test(t)&&ce(n)):"spellcheck"!==t&&"draggable"!==t&&"translate"!==t&&("form"!==t&&(("list"!==t||"INPUT"!==e.tagName)&&(("type"!==t||"TEXTAREA"!==e.tagName)&&((!Nl.test(t)||!ue(n))&&t in e))))}(e,t,r,l))?function(e,t,n,r,l,i,o){if("innerHTML"===t||"textContent"===t)return r&&o(r,l,i),void(e[t]=null==n?"":n);if("value"===t&&"PROGRESS"!==e.tagName&&!e.tagName.includes("-")){e._value=n;const r=null==n?"":n;return e.value===r&&"OPTION"!==e.tagName||(e.value=r),void(null==n&&e.removeAttribute(t))}let s=!1;if(""===n||null==n){const r=typeof e[t];"boolean"===r?n=H(n):null==n&&"string"===r?(n="",s=!0):"number"===r&&(n=0,s=!0)}try{e[t]=n}catch(e){}s&&e.removeAttribute(t)}(e,t,r,i,o,s,a):("true-value"===t?e._trueValue=r:"false-value"===t&&(e._falseValue=r),function(e,t,n,r,l){if(r&&t.startsWith("xlink:"))null==n?e.removeAttributeNS(jl,t.slice(6,t.length)):e.setAttributeNS(jl,t,n);else{const r=D(t);null==n||r&&!H(n)?e.removeAttribute(t):e.setAttribute(t,r?"":n)}}(e,t,r,l))}},El);let ri;const li="undefined"!=typeof window,ii=e=>"function"==typeof e,oi=e=>"string"==typeof e,si=()=>{};function ai(e){return"function"==typeof e?e():rn(e)}function ci(e,t){return function(){for(var n=arguments.length,r=new Array(n),l=0;l{Promise.resolve(e((()=>t.apply(this,r)),{fn:t,thisArg:this,args:r})).then(n).catch(l)}))}}const ui=e=>e();function pi(e){return!!Te()&&(function(e){Oe&&Oe.cleanups.push(e)}(e),!0)}var di=Object.getOwnPropertySymbols,hi=Object.prototype.hasOwnProperty,fi=Object.prototype.propertyIsEnumerable,gi=(e,t)=>{var n={};for(var r in e)hi.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&di)for(var r of di(e))t.indexOf(r)<0&&fi.call(e,r)&&(n[r]=e[r]);return n},mi=Object.defineProperty,vi=Object.defineProperties,yi=Object.getOwnPropertyDescriptors,wi=Object.getOwnPropertySymbols,bi=Object.prototype.hasOwnProperty,ki=Object.prototype.propertyIsEnumerable,xi=(e,t,n)=>t in e?mi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,_i=(e,t)=>{for(var n in t||(t={}))bi.call(t,n)&&xi(e,n,t[n]);if(wi)for(var n of wi(t))ki.call(t,n)&&xi(e,n,t[n]);return e},$i=(e,t)=>vi(e,yi(t)),Ci=(e,t)=>{var n={};for(var r in e)bi.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&wi)for(var r of wi(e))t.indexOf(r)<0&&ki.call(e,r)&&(n[r]=e[r]);return n};function Si(e){var t;const n=ai(e);return null!=(t=null==n?void 0:n.$el)?t:n}const Ai=li?window:void 0,Ri=li?window.document:void 0;function Ei(){let e,t,n,r;for(var l=arguments.length,i=new Array(l),o=0;o{s.forEach((e=>e())),s.length=0},c=Hn((()=>[Si(e),ai(r)]),(e=>{let[r,l]=e;a(),r&&s.push(...t.flatMap((e=>n.map((t=>((e,t,n,r)=>(e.addEventListener(t,n,r),()=>e.removeEventListener(t,n,r)))(r,e,t,l))))))}),{immediate:!0,flush:"post"}),u=()=>{c(),a()};return pi(u),u}const Ii="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},Li="__vueuse_ssr_handlers__";Ii[Li]=Ii[Li]||{};const zi=Ii[Li];var Oi=Object.defineProperty,ji=Object.getOwnPropertySymbols,Ti=Object.prototype.hasOwnProperty,Ui=Object.prototype.propertyIsEnumerable,Pi=(e,t,n)=>t in e?Oi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Mi=(e,t)=>{for(var n in t||(t={}))Ti.call(t,n)&&Pi(e,n,t[n]);if(ji)for(var n of ji(t))Ui.call(t,n)&&Pi(e,n,t[n]);return e};const Fi={boolean:{read:e=>"true"===e,write:e=>String(e)},object:{read:e=>JSON.parse(e),write:e=>JSON.stringify(e)},number:{read:e=>Number.parseFloat(e),write:e=>String(e)},any:{read:e=>e,write:e=>String(e)},string:{read:e=>e,write:e=>String(e)},map:{read:e=>new Map(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e.entries()))},set:{read:e=>new Set(JSON.parse(e)),write:e=>JSON.stringify(Array.from(e))},date:{read:e=>new Date(e),write:e=>e.toISOString()}},Ni="vueuse-storage";function Vi(e,t,n){let r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};var l;const{flush:i="pre",deep:o=!0,listenToStorageChanges:s=!0,writeDefaults:a=!0,mergeDefaults:c=!1,shallow:u,window:p=Ai,eventFilter:d,onError:h=(e=>{console.error(e)})}=r,f=(u?en:Yt)(t);if(!n)try{n=(zi.getDefaultStorage||(()=>{var e;return null==(e=Ai)?void 0:e.localStorage}))()}catch(e){h(e)}if(!n)return f;const g=ai(t),m=function(e){return null==e?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":"boolean"==typeof e?"boolean":"string"==typeof e?"string":"object"==typeof e?"object":Number.isNaN(e)?"any":"number"}(g),v=null!=(l=r.serializer)?l:Fi[m],{pause:y,resume:w}=function(e,t){const n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{eventFilter:r}=n,l=Ci(n,["eventFilter"]),{eventFilter:i,pause:o,resume:s,isActive:a}=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:ui;const t=Yt(!0);return{isActive:Nt(t),pause:function(){t.value=!1},resume:function(){t.value=!0},eventFilter:function(){t.value&&e(...arguments)}}}(r),c=function(e,t){const n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},{eventFilter:r=ui}=n,l=gi(n,["eventFilter"]);return Hn(e,ci(r,t),l)}(e,t,$i(_i({},l),{eventFilter:i}));return{stop:c,pause:o,resume:s,isActive:a}}(f,(()=>function(t){try{if(null==t)n.removeItem(e);else{const r=v.write(t),l=n.getItem(e);l!==r&&(n.setItem(e,r),p&&p.dispatchEvent(new CustomEvent(Ni,{detail:{key:e,oldValue:l,newValue:r,storageArea:n}})))}}catch(e){h(e)}}(f.value)),{flush:i,deep:o,eventFilter:d});return p&&s&&(Ei(p,"storage",b),Ei(p,Ni,(function(e){b(e.detail)}))),b(),f;function b(t){if(!t||t.storageArea===n)if(t&&null==t.key)f.value=g;else if(!t||t.key===e){y();try{f.value=function(t){const r=t?t.newValue:n.getItem(e);if(null==r)return a&&null!==g&&n.setItem(e,v.write(g)),g;if(!t&&c){const e=v.read(r);return ii(c)?c(e,g):"object"!==m||Array.isArray(e)?e:Mi(Mi({},g),e)}return"string"!=typeof r?r:v.read(r)}(t)}catch(e){h(e)}finally{t?kn(w):w()}}}}var Di,Hi,Bi=Object.defineProperty,Wi=Object.getOwnPropertySymbols,qi=Object.prototype.hasOwnProperty,Zi=Object.prototype.propertyIsEnumerable,Qi=(e,t,n)=>t in e?Bi(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Ki=(e,t)=>{for(var n in t||(t={}))qi.call(t,n)&&Qi(e,n,t[n]);if(Wi)for(var n of Wi(t))Zi.call(t,n)&&Qi(e,n,t[n]);return e};(Hi=Di||(Di={})).UP="UP",Hi.RIGHT="RIGHT",Hi.DOWN="DOWN",Hi.LEFT="LEFT",Hi.NONE="NONE";let Gi=0;var Ji=Object.defineProperty,Xi=Object.getOwnPropertySymbols,Yi=Object.prototype.hasOwnProperty,eo=Object.prototype.propertyIsEnumerable,to=(e,t,n)=>t in e?Ji(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;((e,t)=>{for(var n in t||(t={}))Yi.call(t,n)&&to(e,n,t[n]);if(Xi)for(var n of Xi(t))eo.call(t,n)&&to(e,n,t[n])})({linear:function(e){return e}},{easeInSine:[.12,0,.39,0],easeOutSine:[.61,1,.88,1],easeInOutSine:[.37,0,.63,1],easeInQuad:[.11,0,.5,0],easeOutQuad:[.5,1,.89,1],easeInOutQuad:[.45,0,.55,1],easeInCubic:[.32,0,.67,0],easeOutCubic:[.33,1,.68,1],easeInOutCubic:[.65,0,.35,1],easeInQuart:[.5,0,.75,0],easeOutQuart:[.25,1,.5,1],easeInOutQuart:[.76,0,.24,1],easeInQuint:[.64,0,.78,0],easeOutQuint:[.22,1,.36,1],easeInOutQuint:[.83,0,.17,1],easeInExpo:[.7,0,.84,0],easeOutExpo:[.16,1,.3,1],easeInOutExpo:[.87,0,.13,1],easeInCirc:[.55,0,1,.45],easeOutCirc:[0,.55,.45,1],easeInOutCirc:[.85,0,.15,1],easeInBack:[.36,0,.66,-.56],easeOutBack:[.34,1.56,.64,1],easeInOutBack:[.68,-.6,.32,1.6]});const no=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";return`${t?`${t}/`:""}${arguments.length>2&&void 0!==arguments[2]?arguments[2]:""}${e}${n?`.${n}`:""}`},ro=e=>{"AbortError"!==e.name&&console.error(e.message)},lo=e=>e instanceof HTMLElement?e:"string"==typeof e?document.querySelector(e):null,io=e=>e.type.includes("image"),oo=e=>{const t=Array.from(e).find(io);return t?t.getAsFile():null};let so={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};const ao=/[&<>"']/,co=new RegExp(ao.source,"g"),uo=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,po=new RegExp(uo.source,"g"),ho={"&":"&","<":"<",">":">",'"':""","'":"'"},fo=e=>ho[e];function go(e,t){if(t){if(ao.test(e))return e.replace(co,fo)}else if(uo.test(e))return e.replace(po,fo);return e}const mo=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function vo(e){return e.replace(mo,((e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""))}const yo=/(^|[^\[])\^/g;function wo(e,t){e="string"==typeof e?e:e.source,t=t||"";const n={replace:(t,r)=>(r=(r=r.source||r).replace(yo,"$1"),e=e.replace(t,r),n),getRegex:()=>new RegExp(e,t)};return n}const bo=/[^\w:]/g,ko=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function xo(e,t,n){if(e){let t;try{t=decodeURIComponent(vo(n)).replace(bo,"").toLowerCase()}catch(e){return null}if(0===t.indexOf("javascript:")||0===t.indexOf("vbscript:")||0===t.indexOf("data:"))return null}t&&!ko.test(n)&&(n=function(e,t){_o[" "+e]||($o.test(e)?_o[" "+e]=e+"/":_o[" "+e]=Io(e,"/",!0));const n=-1===(e=_o[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(Co,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(So,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(e){return null}return n}const _o={},$o=/^[^:]+:\/*[^/]*$/,Co=/^([^:]+:)[\s\S]*$/,So=/^([^:]+:\/*[^/]*)[\s\S]*$/,Ao={exec:function(){}};function Ro(e){let t,n,r=1;for(;r{let r=!1,l=t;for(;--l>=0&&"\\"===n[l];)r=!r;return r?"|":" |"})).split(/ \|/);let r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function Oo(e,t,n,r){const l=t.href,i=t.title?go(t.title):null,o=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;const e={type:"link",raw:n,href:l,title:i,text:o,tokens:r.inlineTokens(o)};return r.state.inLink=!1,e}return{type:"image",raw:n,href:l,title:i,text:go(o)}}class jo{constructor(e){this.options=e||so}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:Io(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],n=function(e,t){const n=e.match(/^(\s+)(?:```)/);if(null===n)return t;const r=n[1];return t.split("\n").map((e=>{const t=e.match(/^\s+/);if(null===t)return e;const[n]=t;return n.length>=r.length?e.slice(r.length):e})).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:n}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=Io(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=t[0].replace(/^ *>[ \t]?/gm,""),n=this.lexer.state.top;this.lexer.state.top=!0;const r=this.lexer.blockTokens(e);return this.lexer.state.top=n,{type:"blockquote",raw:t[0],tokens:r,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let n,r,l,i,o,s,a,c,u,p,d,h,f=t[1].trim();const g=f.length>1,m={type:"list",raw:"",ordered:g,start:g?+f.slice(0,-1):"",loose:!1,items:[]};f=g?`\\d{1,9}\\${f.slice(-1)}`:`\\${f}`,this.options.pedantic&&(f=g?f:"[*+-]");const v=new RegExp(`^( {0,3}${f})((?:[\t ][^\\n]*)?(?:\\n|$))`);for(;e&&(h=!1,t=v.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0].replace(/^\t+/,(e=>" ".repeat(3*e.length))),u=e.split("\n",1)[0],this.options.pedantic?(i=2,d=c.trimLeft()):(i=t[2].search(/[^ ]/),i=i>4?1:i,d=c.slice(i),i+=t[1].length),s=!1,!c&&/^ *$/.test(u)&&(n+=u+"\n",e=e.substring(u.length+1),h=!0),!h){const t=new RegExp(`^ {0,${Math.min(3,i-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),r=new RegExp(`^ {0,${Math.min(3,i-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),l=new RegExp(`^ {0,${Math.min(3,i-1)}}(?:\`\`\`|~~~)`),o=new RegExp(`^ {0,${Math.min(3,i-1)}}#`);for(;e&&(p=e.split("\n",1)[0],u=p,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!l.test(u))&&!o.test(u)&&!t.test(u)&&!r.test(e);){if(u.search(/[^ ]/)>=i||!u.trim())d+="\n"+u.slice(i);else{if(s)break;if(c.search(/[^ ]/)>=4)break;if(l.test(c))break;if(o.test(c))break;if(r.test(c))break;d+="\n"+u}s||u.trim()||(s=!0),n+=p+"\n",e=e.substring(p.length+1),c=u.slice(i)}}m.loose||(a?m.loose=!0:/\n *\n *$/.test(n)&&(a=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(d),r&&(l="[ ] "!==r[0],d=d.replace(/^\[[ xX]\] +/,""))),m.items.push({type:"list_item",raw:n,task:!!r,checked:l,loose:!1,text:d}),m.raw+=n}m.items[m.items.length-1].raw=n.trimRight(),m.items[m.items.length-1].text=d.trimRight(),m.raw=m.raw.trimRight();const y=m.items.length;for(o=0;o"space"===e.type)),t=e.length>0&&e.some((e=>/\n.*\n/.test(e.raw)));m.loose=t}if(m.loose)for(o=0;o$/,"$1").replace(this.rules.inline._escapes,"$1"):"",r=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:n,title:r}}}table(e){const t=this.rules.block.table.exec(e);if(t){const e={type:"table",header:Eo(t[1]).map((e=>({text:e}))),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=t[0];let n,r,l,i,o=e.align.length;for(n=0;n({text:e})));for(o=e.header.length,r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):go(t[0]):t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=Io(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;const n=e.length;let r=0,l=0;for(;l-1){const n=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,n).trim(),t[3]=""}}let n=t[2],r="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(n);e&&(n=e[1],r=e[3])}else r=t[3]?t[3].slice(1,-1):"";return n=n.trim(),/^$/.test(e)?n.slice(1):n.slice(1,-1)),Oo(t,{href:n?n.replace(this.rules.inline._escapes,"$1"):n,title:r?r.replace(this.rules.inline._escapes,"$1"):r},t[0],this.lexer)}}reflink(e,t){let n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){let e=(n[2]||n[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e){const e=n[0].charAt(0);return{type:"text",raw:e,text:e}}return Oo(n,e,n[0],this.lexer)}}emStrong(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(!r)return;if(r[3]&&n.match(/[\p{L}\p{N}]/u))return;const l=r[1]||r[2]||"";if(!l||l&&(""===n||this.rules.inline.punctuation.exec(n))){const n=r[0].length-1;let l,i,o=n,s=0;const a="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(a.lastIndex=0,t=t.slice(-1*e.length+n);null!=(r=a.exec(t));){if(l=r[1]||r[2]||r[3]||r[4]||r[5]||r[6],!l)continue;if(i=l.length,r[3]||r[4]){o+=i;continue}if((r[5]||r[6])&&n%3&&!((n+i)%3)){s+=i;continue}if(o-=i,o>0)continue;i=Math.min(i,i+o+s);const t=e.slice(0,n+r.index+(r[0].length-l.length)+i);if(Math.min(n,i)%2){const e=t.slice(1,-1);return{type:"em",raw:t,text:e,tokens:this.lexer.inlineTokens(e)}}const a=t.slice(2,-2);return{type:"strong",raw:t,text:a,tokens:this.lexer.inlineTokens(a)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const n=/[^ ]/.test(e),r=/^ /.test(e)&&/ $/.test(e);return n&&r&&(e=e.substring(1,e.length-1)),e=go(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e,t){const n=this.rules.inline.autolink.exec(e);if(n){let e,r;return"@"===n[2]?(e=go(this.options.mangle?t(n[1]):n[1]),r="mailto:"+e):(e=go(n[1]),r=e),{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}url(e,t){let n;if(n=this.rules.inline.url.exec(e)){let e,r;if("@"===n[2])e=go(this.options.mangle?t(n[0]):n[0]),r="mailto:"+e;else{let t;do{t=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(t!==n[0]);e=go(n[0]),r="www."===n[1]?"http://"+n[0]:n[0]}return{type:"link",raw:n[0],text:e,href:r,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e,t){const n=this.rules.inline.text.exec(e);if(n){let e;return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(n[0]):go(n[0]):n[0]:go(this.options.smartypants?t(n[0]):n[0]),{type:"text",raw:n[0],text:e}}}}const To={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:Ao,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};To.def=wo(To.def).replace("label",To._label).replace("title",To._title).getRegex(),To.bullet=/(?:[*+-]|\d{1,9}[.)])/,To.listItemStart=wo(/^( *)(bull) */).replace("bull",To.bullet).getRegex(),To.list=wo(To.list).replace(/bull/g,To.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+To.def.source+")").getRegex(),To._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",To._comment=/|$)/,To.html=wo(To.html,"i").replace("comment",To._comment).replace("tag",To._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),To.paragraph=wo(To._paragraph).replace("hr",To.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",To._tag).getRegex(),To.blockquote=wo(To.blockquote).replace("paragraph",To.paragraph).getRegex(),To.normal=Ro({},To),To.gfm=Ro({},To.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),To.gfm.table=wo(To.gfm.table).replace("hr",To.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",To._tag).getRegex(),To.gfm.paragraph=wo(To._paragraph).replace("hr",To.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",To.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",To._tag).getRegex(),To.pedantic=Ro({},To.normal,{html:wo("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",To._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:Ao,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:wo(To.normal._paragraph).replace("hr",To.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",To.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});const Uo={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Ao,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/,rDelimUnd:/^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:Ao,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}Uo._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",Uo.punctuation=wo(Uo.punctuation).replace(/punctuation/g,Uo._punctuation).getRegex(),Uo.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Uo.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,Uo._comment=wo(To._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Uo.emStrong.lDelim=wo(Uo.emStrong.lDelim).replace(/punct/g,Uo._punctuation).getRegex(),Uo.emStrong.rDelimAst=wo(Uo.emStrong.rDelimAst,"g").replace(/punct/g,Uo._punctuation).getRegex(),Uo.emStrong.rDelimUnd=wo(Uo.emStrong.rDelimUnd,"g").replace(/punct/g,Uo._punctuation).getRegex(),Uo._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Uo._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Uo._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,Uo.autolink=wo(Uo.autolink).replace("scheme",Uo._scheme).replace("email",Uo._email).getRegex(),Uo._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Uo.tag=wo(Uo.tag).replace("comment",Uo._comment).replace("attribute",Uo._attribute).getRegex(),Uo._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Uo._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Uo._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Uo.link=wo(Uo.link).replace("label",Uo._label).replace("href",Uo._href).replace("title",Uo._title).getRegex(),Uo.reflink=wo(Uo.reflink).replace("label",Uo._label).replace("ref",To._label).getRegex(),Uo.nolink=wo(Uo.nolink).replace("ref",To._label).getRegex(),Uo.reflinkSearch=wo(Uo.reflinkSearch,"g").replace("reflink",Uo.reflink).replace("nolink",Uo.nolink).getRegex(),Uo.normal=Ro({},Uo),Uo.pedantic=Ro({},Uo.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:wo(/^!?\[(label)\]\((.*?)\)/).replace("label",Uo._label).getRegex(),reflink:wo(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Uo._label).getRegex()}),Uo.gfm=Ro({},Uo.normal,{escape:wo(Uo.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1&&void 0!==arguments[1]?arguments[1]:[];for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,((e,t,n)=>t+" ".repeat(n.length)));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((n=>!!(t=n.call({lexer:this},e,i))&&(e=e.substring(t.raw.length),i.push(t),!0)))))if(t=this.tokenizer.space(e))e=e.substring(t.raw.length),1===t.raw.length&&i.length>0?i[i.length-1].raw+="\n":i.push(t);else if(t=this.tokenizer.code(e))e=e.substring(t.raw.length),n=i[i.length-1],!n||"paragraph"!==n.type&&"text"!==n.type?i.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.fences(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.heading(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.hr(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.blockquote(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.list(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.html(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.def(e))e=e.substring(t.raw.length),n=i[i.length-1],!n||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.table(e))e=e.substring(t.raw.length),i.push(t);else if(t=this.tokenizer.lheading(e))e=e.substring(t.raw.length),i.push(t);else{if(r=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const n=e.slice(1);let l;this.options.extensions.startBlock.forEach((function(e){l=e.call({lexer:this},n),"number"==typeof l&&l>=0&&(t=Math.min(t,l))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(this.state.top&&(t=this.tokenizer.paragraph(r)))n=i[i.length-1],l&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):i.push(t),l=r.length!==e.length,e=e.substring(t.raw.length);else if(t=this.tokenizer.text(e))e=e.substring(t.raw.length),n=i[i.length-1],n&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):i.push(t);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,i}inline(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e){let t,n,r,l,i,o,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],a=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(l=this.tokenizer.rules.inline.reflinkSearch.exec(a));)e.includes(l[0].slice(l[0].lastIndexOf("[")+1,-1))&&(a=a.slice(0,l.index)+"["+zo("a",l[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(l=this.tokenizer.rules.inline.blockSkip.exec(a));)a=a.slice(0,l.index)+"["+zo("a",l[0].length-2)+"]"+a.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(l=this.tokenizer.rules.inline.escapedEmSt.exec(a));)a=a.slice(0,l.index+l[0].length-2)+"++"+a.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;e;)if(i||(o=""),i=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((n=>!!(t=n.call({lexer:this},e,s))&&(e=e.substring(t.raw.length),s.push(t),!0)))))if(t=this.tokenizer.escape(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.tag(e))e=e.substring(t.raw.length),n=s[s.length-1],n&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):s.push(t);else if(t=this.tokenizer.link(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(t.raw.length),n=s[s.length-1],n&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):s.push(t);else if(t=this.tokenizer.emStrong(e,a,o))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.codespan(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.br(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.del(e))e=e.substring(t.raw.length),s.push(t);else if(t=this.tokenizer.autolink(e,Mo))e=e.substring(t.raw.length),s.push(t);else if(this.state.inLink||!(t=this.tokenizer.url(e,Mo))){if(r=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const n=e.slice(1);let l;this.options.extensions.startInline.forEach((function(e){l=e.call({lexer:this},n),"number"==typeof l&&l>=0&&(t=Math.min(t,l))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}if(t=this.tokenizer.inlineText(r,Po))e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(o=t.raw.slice(-1)),i=!0,n=s[s.length-1],n&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):s.push(t);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(t.raw.length),s.push(t);return s}}class No{constructor(e){this.options=e||so}code(e,t,n){const r=(t||"").match(/\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,r);null!=t&&t!==e&&(n=!0,e=t)}return e=e.replace(/\n$/,"")+"\n",r?'
    '+(n?e:go(e,!0))+"
    \n":"
    "+(n?e:go(e,!0))+"
    \n"}blockquote(e){return`
    \n${e}
    \n`}html(e){return e}heading(e,t,n,r){return this.options.headerIds?`${e}\n`:`${e}\n`}hr(){return this.options.xhtml?"
    \n":"
    \n"}list(e,t,n){const r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}listitem(e){return`
  • ${e}
  • \n`}checkbox(e){return" "}paragraph(e){return`

    ${e}

    \n`}table(e,t){return t&&(t=`${t}`),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return`\n${e}\n`}tablecell(e,t){const n=t.header?"th":"td";return(t.align?`<${n} align="${t.align}">`:`<${n}>`)+e+`\n`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return this.options.xhtml?"
    ":"
    "}del(e){return`${e}`}link(e,t,n){if(null===(e=xo(this.options.sanitize,this.options.baseUrl,e)))return n;let r='
    ",r}image(e,t,n){if(null===(e=xo(this.options.sanitize,this.options.baseUrl,e)))return n;let r=`${n}":">",r}text(e){return e}}class Vo{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,n){return""+n}image(e,t,n){return""+n}br(){return""}}class Do{constructor(){this.seen={}}serialize(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(e,t){let n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{r++,n=e+"-"+r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}slug(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}class Ho{constructor(e){this.options=e||so,this.options.renderer=this.options.renderer||new No,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Vo,this.slugger=new Do}static parse(e,t){return new Ho(t).parse(e)}static parseInline(e,t){return new Ho(t).parseInline(e)}parse(e){let t,n,r,l,i,o,s,a,c,u,p,d,h,f,g,m,v,y,w,b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],k="";const x=e.length;for(t=0;t0&&"paragraph"===g.tokens[0].type?(g.tokens[0].text=y+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=y+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:y}):f+=y),f+=this.parse(g.tokens,h),c+=this.renderer.listitem(f,v,m);k+=this.renderer.list(c,p,d);continue;case"html":k+=this.renderer.html(u.text);continue;case"paragraph":k+=this.renderer.paragraph(this.parseInline(u.tokens));continue;case"text":for(c=u.tokens?this.parseInline(u.tokens):u.text;t+1{r(e.text,e.lang,(function(t,n){if(t)return i(t);null!=n&&n!==e.text&&(e.text=n,e.escaped=!0),o--,0===o&&i()}))}),0))})),void(0===o&&i())}function r(e){if(e.message+="\nPlease report this to https://github.com/markedjs/marked.",t.silent)return"

    An error occurred:

    "+go(e.message+"",!0)+"
    ";throw e}try{const n=Fo.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(Bo.walkTokens(n,t.walkTokens)).then((()=>Ho.parse(n,t))).catch(r);Bo.walkTokens(n,t.walkTokens)}return Ho.parse(n,t)}catch(e){r(e)}}Bo.options=Bo.setOptions=function(e){var t;return Ro(Bo.defaults,e),t=Bo.defaults,so=t,Bo},Bo.getDefaults=function(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}},Bo.defaults=so,Bo.use=function(){const e=Bo.defaults.extensions||{renderers:{},childTokens:{}};for(var t=arguments.length,n=new Array(t),r=0;r{const n=Ro({},t);if(n.async=Bo.defaults.async||n.async,t.extensions&&(t.extensions.forEach((t=>{if(!t.name)throw new Error("extension name required");if(t.renderer){const n=e.renderers[t.name];e.renderers[t.name]=n?function(){for(var e=arguments.length,r=new Array(e),l=0;lAn error occurred:

    "+go(e.message+"",!0)+"
    ";throw e}},Bo.Parser=Ho,Bo.parser=Ho.parse,Bo.Renderer=No,Bo.TextRenderer=Vo,Bo.Lexer=Fo,Bo.lexer=Fo.lex,Bo.Tokenizer=jo,Bo.Slugger=Do,Bo.parse=Bo;const Wo=/\$.*?\$/,qo=/^\$(.*?)\$/,Zo=/^(?:\s{0,3})\$\$((?:[^\n]|\n[^\n])+?)\n{0,1}\$\$/,Qo=function(){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"").replace(/:(.+?):/g,((t,n)=>e[n]?`${n}`:t))},Ko=e=>e.dataset.path||e.getAttribute("id"),Go=e=>{let{serverURL:t,path:n=window.location.pathname,selector:r=".waline-comment-count",lang:l=navigator.language}=e;const i=new AbortController,o=document.querySelectorAll(r);return o.length&&(e=>{let{serverURL:t,lang:n,paths:r,signal:l}=e;return fetch(`${t}/comment?type=count&url=${encodeURIComponent(r.join(","))}&lang=${n}`,{signal:l}).then((e=>e.json())).then((e=>Array.isArray(e)?e:[e]))})({serverURL:I(t),paths:Array.from(o).map((e=>A(e.dataset.path||e.getAttribute("id")||n))),lang:l,signal:i.signal}).then((e=>{o.forEach(((t,n)=>{t.innerText=e[n].toString()}))})).catch(ro),i.abort.bind(i)},Jo=e=>{let{size:t}=e;return _l("svg",{class:"wl-close-icon",viewBox:"0 0 1024 1024",width:t,height:t},[_l("path",{d:"M697.173 85.333h-369.92c-144.64 0-241.92 101.547-241.92 252.587v348.587c0 150.613 97.28 252.16 241.92 252.16h369.92c144.64 0 241.494-101.547 241.494-252.16V337.92c0-151.04-96.854-252.587-241.494-252.587z",fill:"currentColor"}),_l("path",{d:"m640.683 587.52-75.947-75.861 75.904-75.862a37.29 37.29 0 0 0 0-52.778 37.205 37.205 0 0 0-52.779 0l-75.946 75.818-75.862-75.946a37.419 37.419 0 0 0-52.821 0 37.419 37.419 0 0 0 0 52.821l75.947 75.947-75.776 75.733a37.29 37.29 0 1 0 52.778 52.821l75.776-75.776 75.947 75.947a37.376 37.376 0 0 0 52.779-52.821z",fill:"#888"})])},Xo=()=>_l("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},_l("path",{d:"m341.013 394.667 27.755 393.45h271.83l27.733-393.45h64.106l-28.01 397.952a64 64 0 0 1-63.83 59.498H368.768a64 64 0 0 1-63.83-59.52l-28.053-397.93h64.128zm139.307 19.818v298.667h-64V414.485h64zm117.013 0v298.667h-64V414.485h64zM181.333 288h640v64h-640v-64zm453.483-106.667v64h-256v-64h256z",fill:"red"})),Yo=()=>_l("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},_l("path",{d:"M563.2 463.3 677 540c1.7 1.2 3.7 1.8 5.8 1.8.7 0 1.4-.1 2-.2 2.7-.5 5.1-2.1 6.6-4.4l25.3-37.8c1.5-2.3 2.1-5.1 1.6-7.8s-2.1-5.1-4.4-6.6l-73.6-49.1 73.6-49.1c2.3-1.5 3.9-3.9 4.4-6.6.5-2.7 0-5.5-1.6-7.8l-25.3-37.8a10.1 10.1 0 0 0-6.6-4.4c-.7-.1-1.3-.2-2-.2-2.1 0-4.1.6-5.8 1.8l-113.8 76.6c-9.2 6.2-14.7 16.4-14.7 27.5.1 11 5.5 21.3 14.7 27.4zM387 348.8h-45.5c-5.7 0-10.4 4.7-10.4 10.4v153.3c0 5.7 4.7 10.4 10.4 10.4H387c5.7 0 10.4-4.7 10.4-10.4V359.2c0-5.7-4.7-10.4-10.4-10.4zm333.8 241.3-41-20a10.3 10.3 0 0 0-8.1-.5c-2.6.9-4.8 2.9-5.9 5.4-30.1 64.9-93.1 109.1-164.4 115.2-5.7.5-9.9 5.5-9.5 11.2l3.9 45.5c.5 5.3 5 9.5 10.3 9.5h.9c94.8-8 178.5-66.5 218.6-152.7 2.4-5 .3-11.2-4.8-13.6zm186-186.1c-11.9-42-30.5-81.4-55.2-117.1-24.1-34.9-53.5-65.6-87.5-91.2-33.9-25.6-71.5-45.5-111.6-59.2-41.2-14-84.1-21.1-127.8-21.1h-1.2c-75.4 0-148.8 21.4-212.5 61.7-63.7 40.3-114.3 97.6-146.5 165.8-32.2 68.1-44.3 143.6-35.1 218.4 9.3 74.8 39.4 145 87.3 203.3.1.2.3.3.4.5l36.2 38.4c1.1 1.2 2.5 2.1 3.9 2.6 73.3 66.7 168.2 103.5 267.5 103.5 73.3 0 145.2-20.3 207.7-58.7 37.3-22.9 70.3-51.5 98.1-85 27.1-32.7 48.7-69.5 64.2-109.1 15.5-39.7 24.4-81.3 26.6-123.8 2.4-43.6-2.5-87-14.5-129zm-60.5 181.1c-8.3 37-22.8 72-43 104-19.7 31.1-44.3 58.6-73.1 81.7-28.8 23.1-61 41-95.7 53.4-35.6 12.7-72.9 19.1-110.9 19.1-82.6 0-161.7-30.6-222.8-86.2l-34.1-35.8c-23.9-29.3-42.4-62.2-55.1-97.7-12.4-34.7-18.8-71-19.2-107.9-.4-36.9 5.4-73.3 17.1-108.2 12-35.8 30-69.2 53.4-99.1 31.7-40.4 71.1-72 117.2-94.1 44.5-21.3 94-32.6 143.4-32.6 49.3 0 97 10.8 141.8 32 34.3 16.3 65.3 38.1 92 64.8 26.1 26 47.5 56 63.6 89.2 16.2 33.2 26.6 68.5 31 105.1 4.6 37.5 2.7 75.3-5.6 112.3z",fill:"currentColor"})),es=()=>_l("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[_l("path",{d:"M784 112H240c-88 0-160 72-160 160v480c0 88 72 160 160 160h544c88 0 160-72 160-160V272c0-88-72-160-160-160zm96 640c0 52.8-43.2 96-96 96H240c-52.8 0-96-43.2-96-96V272c0-52.8 43.2-96 96-96h544c52.8 0 96 43.2 96 96v480z",fill:"currentColor"}),_l("path",{d:"M352 480c52.8 0 96-43.2 96-96s-43.2-96-96-96-96 43.2-96 96 43.2 96 96 96zm0-128c17.6 0 32 14.4 32 32s-14.4 32-32 32-32-14.4-32-32 14.4-32 32-32zm462.4 379.2-3.2-3.2-177.6-177.6c-25.6-25.6-65.6-25.6-91.2 0l-80 80-36.8-36.8c-25.6-25.6-65.6-25.6-91.2 0L200 728c-4.8 6.4-8 14.4-8 24 0 17.6 14.4 32 32 32 9.6 0 16-3.2 22.4-9.6L380.8 640l134.4 134.4c6.4 6.4 14.4 9.6 24 9.6 17.6 0 32-14.4 32-32 0-9.6-4.8-17.6-9.6-24l-52.8-52.8 80-80L769.6 776c6.4 4.8 12.8 8 20.8 8 17.6 0 32-14.4 32-32 0-8-3.2-16-8-20.8z",fill:"currentColor"})]),ts=e=>{let{active:t=!1}=e;return _l("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[_l("path",{d:"M850.654 323.804c-11.042-25.625-26.862-48.532-46.885-68.225-20.022-19.61-43.258-34.936-69.213-45.73-26.78-11.124-55.124-16.727-84.375-16.727-40.622 0-80.256 11.123-114.698 32.135A214.79 214.79 0 0 0 512 241.819a214.79 214.79 0 0 0-23.483-16.562c-34.442-21.012-74.076-32.135-114.698-32.135-29.25 0-57.595 5.603-84.375 16.727-25.872 10.711-49.19 26.12-69.213 45.73-20.105 19.693-35.843 42.6-46.885 68.225-11.453 26.615-17.303 54.877-17.303 83.963 0 27.439 5.603 56.03 16.727 85.117 9.31 24.307 22.659 49.52 39.715 74.981 27.027 40.293 64.188 82.316 110.33 124.915 76.465 70.615 152.189 119.394 155.402 121.371l19.528 12.525c8.652 5.52 19.776 5.52 28.427 0l19.529-12.525c3.213-2.06 78.854-50.756 155.401-121.371 46.143-42.6 83.304-84.622 110.33-124.915 17.057-25.46 30.487-50.674 39.716-74.981 11.124-29.087 16.727-57.678 16.727-85.117.082-29.086-5.768-57.348-17.221-83.963z"+(t?"":"M512 761.5S218.665 573.55 218.665 407.767c0-83.963 69.461-152.023 155.154-152.023 60.233 0 112.473 33.618 138.181 82.727 25.708-49.109 77.948-82.727 138.18-82.727 85.694 0 155.155 68.06 155.155 152.023C805.335 573.551 512 761.5 512 761.5z"),fill:t?"red":"currentColor"})])},ns=()=>_l("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},[_l("path",{d:"M710.816 654.301c70.323-96.639 61.084-230.578-23.705-314.843-46.098-46.098-107.183-71.109-172.28-71.109-65.008 0-126.092 25.444-172.28 71.109-45.227 46.098-70.756 107.183-70.756 172.106 0 64.923 25.444 126.007 71.194 172.106 46.099 46.098 107.184 71.109 172.28 71.109 51.414 0 100.648-16.212 142.824-47.404l126.53 126.006c7.058 7.06 16.297 10.979 26.406 10.979 10.105 0 19.343-3.919 26.402-10.979 14.467-14.467 14.467-38.172 0-52.723L710.816 654.301zm-315.107-23.265c-65.88-65.88-65.88-172.54 0-238.42 32.069-32.07 74.245-49.149 119.471-49.149 45.227 0 87.407 17.603 119.472 49.149 65.88 65.879 65.88 172.539 0 238.42-63.612 63.178-175.242 63.178-238.943 0zm0 0",fill:"currentColor"}),_l("path",{d:"M703.319 121.603H321.03c-109.8 0-199.469 89.146-199.469 199.38v382.034c0 109.796 89.236 199.38 199.469 199.38h207.397c20.653 0 37.384-16.645 37.384-37.299 0-20.649-16.731-37.296-37.384-37.296H321.03c-68.582 0-124.352-55.77-124.352-124.267V321.421c0-68.496 55.77-124.267 124.352-124.267h382.289c68.582 0 124.352 55.771 124.352 124.267V524.72c0 20.654 16.736 37.299 37.385 37.299 20.654 0 37.384-16.645 37.384-37.299V320.549c-.085-109.8-89.321-198.946-199.121-198.946zm0 0",fill:"currentColor"})]),rs=()=>_l("svg",{width:"16",height:"16",ariaHidden:"true"},_l("path",{d:"M14.85 3H1.15C.52 3 0 3.52 0 4.15v7.69C0 12.48.52 13 1.15 13h13.69c.64 0 1.15-.52 1.15-1.15v-7.7C16 3.52 15.48 3 14.85 3zM9 11H7V8L5.5 9.92 4 8v3H2V5h2l1.5 2L7 5h2v6zm2.99.5L9.5 8H11V5h2v3h1.5l-2.51 3.5z",fill:"currentColor"})),ls=()=>_l("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},_l("path",{d:"M810.667 213.333a64 64 0 0 1 64 64V704a64 64 0 0 1-64 64H478.336l-146.645 96.107a21.333 21.333 0 0 1-33.024-17.856V768h-85.334a64 64 0 0 1-64-64V277.333a64 64 0 0 1 64-64h597.334zm0 64H213.333V704h149.334v63.296L459.243 704h351.424V277.333zm-271.36 213.334v64h-176.64v-64h176.64zm122.026-128v64H362.667v-64h298.666z",fill:"currentColor"})),is=()=>_l("svg",{viewBox:"0 0 1024 1024",width:"24",height:"24"},_l("path",{d:"M813.039 318.772L480.53 651.278H360.718V531.463L693.227 198.961C697.904 194.284 704.027 192 710.157 192C716.302 192 722.436 194.284 727.114 198.961L813.039 284.88C817.72 289.561 820 295.684 820 301.825C820 307.95 817.72 314.093 813.039 318.772ZM710.172 261.888L420.624 551.431V591.376H460.561L750.109 301.825L710.172 261.888ZM490.517 291.845H240.906V771.09H720.156V521.479C720.156 504.947 733.559 491.529 750.109 491.529C766.653 491.529 780.063 504.947 780.063 521.479V791.059C780.063 813.118 762.18 831 740.125 831H220.937C198.882 831 181 813.118 181 791.059V271.872C181 249.817 198.882 231.935 220.937 231.935H490.517C507.06 231.935 520.47 245.352 520.47 261.888C520.47 278.424 507.06 291.845 490.517 291.845Z",fill:"currentColor"})),os=()=>_l("svg",{class:"verified-icon",viewBox:"0 0 1024 1024",width:"14",height:"14"},_l("path",{d:"m894.4 461.56-54.4-63.2c-10.4-12-18.8-34.4-18.8-50.4v-68c0-42.4-34.8-77.2-77.2-77.2h-68c-15.6 0-38.4-8.4-50.4-18.8l-63.2-54.4c-27.6-23.6-72.8-23.6-100.8 0l-62.8 54.8c-12 10-34.8 18.4-50.4 18.4h-69.2c-42.4 0-77.2 34.8-77.2 77.2v68.4c0 15.6-8.4 38-18.4 50l-54 63.6c-23.2 27.6-23.2 72.4 0 100l54 63.6c10 12 18.4 34.4 18.4 50v68.4c0 42.4 34.8 77.2 77.2 77.2h69.2c15.6 0 38.4 8.4 50.4 18.8l63.2 54.4c27.6 23.6 72.8 23.6 100.8 0l63.2-54.4c12-10.4 34.4-18.8 50.4-18.8h68c42.4 0 77.2-34.8 77.2-77.2v-68c0-15.6 8.4-38.4 18.8-50.4l54.4-63.2c23.2-27.6 23.2-73.2-.4-100.8zm-216-25.2-193.2 193.2a30 30 0 0 1-42.4 0l-96.8-96.8a30.16 30.16 0 0 1 0-42.4c11.6-11.6 30.8-11.6 42.4 0l75.6 75.6 172-172c11.6-11.6 30.8-11.6 42.4 0 11.6 11.6 11.6 30.8 0 42.4z",fill:"#27ae60"})),ss=e=>{let{size:t}=e;return _l("svg",{width:t,height:t,viewBox:"0 0 100 100",preserveAspectRatio:"xMidYMid"},_l("circle",{cx:50,cy:50,fill:"none",stroke:"currentColor",strokeWidth:"4",r:"40","stroke-dasharray":"85 30"},_l("animateTransform",{attributeName:"transform",type:"rotate",repeatCount:"indefinite",dur:"1s",values:"0 50 50;360 50 50",keyTimes:"0;1"})))},as=()=>_l("svg",{width:24,height:24,fill:"currentcolor",viewBox:"0 0 24 24"},[_l("path",{style:"transform: translateY(0.5px)",d:"M18.968 10.5H15.968V11.484H17.984V12.984H15.968V15H14.468V9H18.968V10.5V10.5ZM8.984 9C9.26533 9 9.49967 9.09367 9.687 9.281C9.87433 9.46833 9.968 9.70267 9.968 9.984V10.5H6.499V13.5H8.468V12H9.968V14.016C9.968 14.2973 9.87433 14.5317 9.687 14.719C9.49967 14.9063 9.26533 15 8.984 15H5.984C5.70267 15 5.46833 14.9063 5.281 14.719C5.09367 14.5317 5 14.2973 5 14.016V9.985C5 9.70367 5.09367 9.46933 5.281 9.282C5.46833 9.09467 5.70267 9.001 5.984 9.001H8.984V9ZM11.468 9H12.968V15H11.468V9V9Z"}),_l("path",{d:"M18.5 3H5.75C3.6875 3 2 4.6875 2 6.75V18C2 20.0625 3.6875 21.75 5.75 21.75H18.5C20.5625 21.75 22.25 20.0625 22.25 18V6.75C22.25 4.6875 20.5625 3 18.5 3ZM20.75 18C20.75 19.2375 19.7375 20.25 18.5 20.25H5.75C4.5125 20.25 3.5 19.2375 3.5 18V6.75C3.5 5.5125 4.5125 4.5 5.75 4.5H18.5C19.7375 4.5 20.75 5.5125 20.75 6.75V18Z"})]);e.commentCount=Go;let cs=null;const us=()=>cs||(cs=Vi("WALINE_LIKE",[]));let ps=null;var ds="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{},hs={},fs={},gs={},ms=ds&&ds.__awaiter||function(e,t,n,r){return new(n||(n=Promise))((function(l,i){function o(e){try{a(r.next(e))}catch(e){i(e)}}function s(e){try{a(r.throw(e))}catch(e){i(e)}}function a(e){var t;e.done?l(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(o,s)}a((r=r.apply(e,t||[])).next())}))},vs=ds&&ds.__generator||function(e,t){var n,r,l,i,o={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(l=2&i[0]?r.return:i[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,i[1])).done)return l;switch(r=0,l&&(i=[2&i[0],l.value]),i[0]){case 0:case 1:l=i;break;case 4:return o.label++,{value:i[1],done:!1};case 5:o.label++,r=i[1],i=[0];continue;case 7:i=o.ops.pop(),o.trys.pop();continue;default:if(!((l=(l=o.trys).length>0&&l[l.length-1])||6!==i[0]&&2!==i[0])){o=0;continue}if(3===i[0]&&(!l||i[1]>l[0]&&i[1]_s??(_s=Vi("WALINE_USER",{})),Cs={key:0,class:"wl-reaction"},Ss=["textContent"],As={class:"wl-reaction-list"},Rs=["onClick"],Es={class:"wl-reaction-img"},Is=["src","alt"],Ls=["textContent"],zs=["textContent"];var Os=qn({__name:"ArticleReaction",setup(e,t){let{expose:n}=t;n();const r=ps??(ps=Vi("WALINE_REACTION",{})),l=Nn("config"),i=Yt(-1),o=Yt([]),s=xl((()=>l.value.locale)),a=xl((()=>l.value.reaction.length>0)),c=xl((()=>{const{reaction:e,path:t}=l.value;return e.map(((e,n)=>({icon:e,desc:s.value[`reaction${n}`],active:r.value[t]===n})))}));let u;return Gn((()=>{Hn((()=>[l.value.serverURL,l.value.path]),(()=>{(async()=>{if(a.value){const{serverURL:e,lang:t,path:n,reaction:r}=l.value,i=new AbortController;u=i.abort.bind(i);const s=await $({serverURL:e,lang:t,paths:[n],type:r.map(((e,t)=>`reaction${t}`)),signal:i.signal});if(Array.isArray(s)||"number"==typeof s)return;o.value=r.map(((e,t)=>s[`reaction${t}`]))}})()}),{immediate:!0})})),Xn((()=>{var e;return null===(e=u)||void 0===e?void 0:e()})),(e,t)=>rn(c).length?(Br(),Qr("div",Cs,[tl("div",{class:"wl-reaction-title",textContent:q(rn(s).reactionTitle)},null,8,Ss),tl("ul",As,[(Br(!0),Qr(Mr,null,lr(rn(c),((e,t)=>{let{active:n,icon:s,desc:a}=e;return Br(),Qr("li",{key:t,class:V(["wl-reaction-item",{active:n}]),onClick:e=>(async e=>{if(-1===i.value){const{serverURL:t,lang:n,path:s}=l.value,a=r.value[s];i.value=e,void 0!==a&&(await C({serverURL:t,lang:n,path:s,type:`reaction${a}`,action:"desc"}),o.value[a]=Math.max(o.value[a]-1,0)),a!==e&&(await C({serverURL:t,lang:n,path:s,type:`reaction${e}`}),o.value[e]=(o.value[e]||0)+1),a===e?delete r.value[s]:r.value[s]=e,i.value=-1}})(t)},[tl("div",Es,[tl("img",{src:s,alt:a},null,8,Is),i.value===t?(Br(),Kr(rn(ss),{key:0,class:"wl-reaction-loading"})):(Br(),Qr("div",{key:1,class:"wl-reaction-votes",textContent:q(o.value[t]||0)},null,8,Ls))]),tl("div",{class:"wl-reaction-text",textContent:q(a)},null,8,zs)],10,Rs)})),128))])])):il("v-if",!0)}}),js=(e,t)=>{const n=e.__vccOpts||e;for(const[e,r]of t)n[e]=r;return n},Ts=js(Os,[["__file","ArticleReaction.vue"]]),Us=new Map;function Ps(e){var t=Us.get(e);t&&t.destroy()}function Ms(e){var t=Us.get(e);t&&t.update()}var Fs=null;"undefined"==typeof window?((Fs=function(e){return e}).destroy=function(e){return e},Fs.update=function(e){return e}):((Fs=function(e,t){return e&&Array.prototype.forEach.call(e.length?e:[e],(function(e){return function(e){if(e&&e.nodeName&&"TEXTAREA"===e.nodeName&&!Us.has(e)){var t,n=null,r=window.getComputedStyle(e),l=(t=e.value,function(){o({testForHeightReduction:""===t||!e.value.startsWith(t),restoreTextAlign:null}),t=e.value}),i=function(t){e.removeEventListener("autosize:destroy",i),e.removeEventListener("autosize:update",s),e.removeEventListener("input",l),window.removeEventListener("resize",s),Object.keys(t).forEach((function(n){return e.style[n]=t[n]})),Us.delete(e)}.bind(e,{height:e.style.height,resize:e.style.resize,textAlign:e.style.textAlign,overflowY:e.style.overflowY,overflowX:e.style.overflowX,wordWrap:e.style.wordWrap});e.addEventListener("autosize:destroy",i),e.addEventListener("autosize:update",s),e.addEventListener("input",l),window.addEventListener("resize",s),e.style.overflowX="hidden",e.style.wordWrap="break-word",Us.set(e,{destroy:i,update:s}),s()}function o(t){var l,i,s=t.restoreTextAlign,a=void 0===s?null:s,c=t.testForHeightReduction,u=void 0===c||c,p=r.overflowY;if(0!==e.scrollHeight&&("vertical"===r.resize?e.style.resize="none":"both"===r.resize&&(e.style.resize="horizontal"),u&&(l=function(e){for(var t=[];e&&e.parentNode&&e.parentNode instanceof Element;)e.parentNode.scrollTop&&t.push([e.parentNode,e.parentNode.scrollTop]),e=e.parentNode;return function(){return t.forEach((function(e){var t=e[0],n=e[1];t.style.scrollBehavior="auto",t.scrollTop=n,t.style.scrollBehavior=null}))}}(e),e.style.height=""),i="content-box"===r.boxSizing?e.scrollHeight-(parseFloat(r.paddingTop)+parseFloat(r.paddingBottom)):e.scrollHeight+parseFloat(r.borderTopWidth)+parseFloat(r.borderBottomWidth),"none"!==r.maxHeight&&i>parseFloat(r.maxHeight)?("hidden"===r.overflowY&&(e.style.overflow="scroll"),i=parseFloat(r.maxHeight)):"hidden"!==r.overflowY&&(e.style.overflow="hidden"),e.style.height=i+"px",a&&(e.style.textAlign=a),l&&l(),n!==i&&(e.dispatchEvent(new Event("autosize:resized",{bubbles:!0})),n=i),p!==r.overflow&&!a)){var d=r.textAlign;"hidden"===r.overflow&&(e.style.textAlign="start"===d?"end":"start"),o({restoreTextAlign:d,testForHeightReduction:!0})}}function s(){o({testForHeightReduction:!0,restoreTextAlign:null})}}(e)})),e}).destroy=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],Ps),e},Fs.update=function(e){return e&&Array.prototype.forEach.call(e.length?e:[e],Ms),e});var Ns=Fs;const Vs=["data-index"],Ds=["src","title","onClick"];var Hs=qn({__name:"ImageWall",props:{items:{default:()=>[]},columnWidth:{default:300},gap:{default:0}},emits:["insert"],setup(e,t){let{expose:n}=t;const r=e;n();let l=null;const i=Yt(null),o=Yt({}),s=Yt([]),a=()=>{const e=Math.floor((i.value.getBoundingClientRect().width+r.gap)/(r.columnWidth+r.gap));return e>0?e:1},c=async e=>{var t;if(e>=r.items.length)return;await kn();const n=Array.from((null===(t=i.value)||void 0===t?void 0:t.children)||[]).reduce(((e,t)=>t.getBoundingClientRect().height0&&void 0!==arguments[0]&&arguments[0];if(s.value.length===a()&&!e)return;var t;s.value=(t=a(),new Array(t).fill(null).map((()=>[])));const n=window.scrollY;await c(0),window.scrollTo({top:n})},p=e=>{o.value[e.target.src]=!0};return Gn((()=>{u(!0),l=new ResizeObserver((()=>{u()})),l.observe(i.value),Hn((()=>[r.items]),(()=>{o.value={},u(!0)})),Hn((()=>[r.columnWidth,r.gap]),(()=>{u()}))})),Jn((()=>l.unobserve(i.value))),(t,n)=>(Br(),Qr("div",{ref_key:"wall",ref:i,class:"wl-gallery",style:U({gap:`${e.gap}px`})},[(Br(!0),Qr(Mr,null,lr(s.value,((n,r)=>(Br(),Qr("div",{key:r,class:"wl-gallery-column","data-index":r,style:U({gap:`${e.gap}px`})},[(Br(!0),Qr(Mr,null,lr(n,(n=>(Br(),Qr(Mr,{key:n},[o.value[e.items[n].src]?il("v-if",!0):(Br(),Kr(rn(ss),{key:0,size:36,style:{margin:"20px auto"}})),tl("img",{class:"wl-gallery-item",src:e.items[n].src,title:e.items[n].title,loading:"lazy",onLoad:p,onClick:r=>t.$emit("insert",`![](${e.items[n].src})`)},null,40,Ds)],64)))),128))],12,Vs)))),128))],4))}}),Bs=js(Hs,[["__file","ImageWall.vue"]]);const Ws={class:"wl-comment"},qs={key:0,class:"wl-login-info"},Zs={class:"wl-avatar"},Qs=["title"],Ks=["title"],Gs=["src"],Js=["title","textContent"],Xs={class:"wl-panel"},Ys=["for","textContent"],ea=["id","onUpdate:modelValue","name","type"],ta=["placeholder"],na={class:"wl-preview"},ra=tl("hr",null,null,-1),la=["innerHTML"],ia={class:"wl-footer"},oa={class:"wl-actions"},sa={href:"https://guides.github.com/features/mastering-markdown/",title:"Markdown Guide","aria-label":"Markdown is supported",class:"wl-action",target:"_blank",rel:"noopener noreferrer"},aa=["title"],ca=["title"],ua=["title"],pa=["title"],da={class:"wl-info"},ha={class:"wl-text-number"},fa={key:0},ga=["textContent"],ma=["textContent"],va=["disabled"],ya=["placeholder"],wa={key:0,class:"wl-loading"},ba={key:0,class:"wl-tab-wrapper"},ka=["title","onClick"],xa=["src","alt"],_a={key:0,class:"wl-tabs"},$a=["onClick"],Ca=["src","alt","title"],Sa=["title"];var Aa=qn({__name:"CommentBox",props:{edit:{default:null},rootId:{default:""},replyId:{default:""},replyUser:{default:""}},emits:["log","cancelEdit","cancelReply","submit"],setup(e,t){let{expose:n,emit:r}=t;const l=e;n();const i=Nn("config"),o=Vi("WALINE_COMMENT_BOX_EDITOR",""),s=Vi("WALINE_USER_META",{nick:"",mail:"",link:""}),a=$s(),c=Yt({}),u=Yt(null),p=Yt(null),d=Yt(null),h=Yt(null),f=Yt(null),g=Yt(null),m=Yt(null),v=Yt({tabs:[],map:{}}),y=Yt(0),w=Yt(!1),b=Yt(!1),k=Yt(!1),x=Yt(""),_=Yt(0),$=Ft({loading:!0,list:[]}),C=Yt(0),A=Yt(!1),E=Yt(""),I=Yt(!1),L=Yt(!1),z=xl((()=>i.value.locale)),O=xl((()=>{var e;return Boolean(null===(e=a.value)||void 0===e?void 0:e.token)})),j=xl((()=>!1!==i.value.imageUploader)),T=e=>{const t=u.value,n=t.selectionStart,r=t.selectionEnd||0,l=t.scrollTop;o.value=t.value.substring(0,n)+e+t.value.substring(r,t.value.length),t.focus(),t.selectionStart=n+e.length,t.selectionEnd=n+e.length,t.scrollTop=l},U=e=>{const t=e.key;(e.ctrlKey||e.metaKey)&&"Enter"===t&&D()},P=e=>{const t=`![${i.value.locale.uploading} ${e.name}]()`;return T(t),Promise.resolve().then((()=>i.value.imageUploader(e))).then((n=>{o.value=o.value.replace(t,`\r\n![${e.name}](${n})`)})).catch((e=>{alert(e.message),o.value=o.value.replace(t,"")}))},M=e=>{var t;if(null!==(t=e.dataTransfer)&&void 0!==t&&t.items){const t=oo(e.dataTransfer.items);t&&j.value&&(P(t),e.preventDefault())}},F=e=>{if(e.clipboardData){const t=oo(e.clipboardData.items);t&&j.value&&P(t)}},N=()=>{const e=p.value;e.files&&j.value&&P(e.files[0]).then((()=>{e.value=""}))},D=async()=>{var e,t;const{serverURL:n,lang:p,login:d,wordLimit:h,requiredMeta:f}=i.value;let g="";i.value.recaptchaV3Key&&(g=await(e=>{const t=xs[e]??(xs[e]=hs.load(e,{useRecaptchaNet:!0,autoHideBadge:!0}));return{execute:e=>t.then((t=>t.execute(e)))}})(i.value.recaptchaV3Key).execute("social"));const m=await(async()=>{if(!navigator)return"";const{userAgentData:e}=navigator;let t=navigator.userAgent;if(!e||"Windows"!==e.platform)return t;const{platformVersion:n}=await e.getHighEntropyValues(["platformVersion"]);return n?(parseInt(n.split(".")[0])>=13&&(t=t.replace("Windows NT 10.0","Windows NT 11.0")),t):t})(),y={comment:E.value,nick:s.value.nick,mail:s.value.mail,link:s.value.link,url:i.value.path,recaptchaV3:g,ua:m};if(null!==(e=a.value)&&void 0!==e&&e.token)y.nick=a.value.display_name,y.mail=a.value.email,y.link=a.value.url;else{var w,b,k;if("force"===d)return;if(f.indexOf("nick")>-1&&!y.nick)return null!==(w=c.value.nick)&&void 0!==w&&w.focus(),alert(z.value.nickError);if(f.indexOf("mail")>-1&&!y.mail||y.mail&&!/^\w(?:[\w._-]*\w)?@(?:\w(?:[\w-]*\w)?\.)*\w+$/.exec(y.mail))return null!==(b=c.value.mail)&&void 0!==b&&b.focus(),alert(z.value.mailError);if(!y.comment)return void(null===(k=u.value)||void 0===k||k.focus());y.nick||(y.nick=z.value.anonymous)}if(!A.value)return alert(z.value.wordHint.replace("$0",h[0].toString()).replace("$1",h[1].toString()).replace("$2",_.value.toString()));y.comment=Qo(y.comment,v.value.map),l.replyId&&l.rootId&&(y.pid=l.replyId,y.rid=l.rootId,y.at=l.replyUser),I.value=!0;const $={serverURL:n,lang:p,token:null===(t=a.value)||void 0===t?void 0:t.token,comment:y};(l.edit?S({objectId:l.edit.objectId,...$}):(e=>{let{serverURL:t,lang:n,token:r,comment:l}=e;const i={"Content-Type":"application/json"};return r&&(i.Authorization=`Bearer ${r}`),fetch(`${t}/comment?lang=${n}`,{method:"POST",headers:i,body:JSON.stringify(l)}).then((e=>e.json()))})($)).then((e=>{var t;if(I.value=!1,e.errmsg)return alert(e.errmsg);r("submit",e.data),o.value="",x.value="",l.replyId&&r("cancelReply"),(null===(t=l.edit)||void 0===t?void 0:t.objectId)&&r("cancelEdit")})).catch((e=>{I.value=!1,alert(e.message)}))},H=e=>{e.preventDefault();const{lang:t,serverURL:n}=i.value;(e=>{let{lang:t,serverURL:n}=e;const r=(window.innerWidth-450)/2,l=(window.innerHeight-450)/2,i=window.open(`${n}/ui/login?lng=${encodeURIComponent(t)}`,"_blank",`width=450,height=450,left=${r},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);return null!=i&&i.postMessage({type:"TOKEN",data:null},"*"),new Promise((e=>{const t=n=>{let{data:r}=n;r&&"object"==typeof r&&"userInfo"===r.type&&r.data.token&&(null!=i&&i.close(),window.removeEventListener("message",t),e(r.data))};window.addEventListener("message",t)}))})({serverURL:n,lang:t}).then((e=>{a.value=e,(e.remember?localStorage:sessionStorage).setItem("WALINE_USER",JSON.stringify(e)),r("log")}))},B=()=>{a.value={},localStorage.setItem("WALINE_USER","null"),sessionStorage.setItem("WALINE_USER","null"),r("log")},W=e=>{e.preventDefault();const{lang:t,serverURL:n}=i.value,r=(window.innerWidth-800)/2,l=(window.innerHeight-800)/2,o=new URLSearchParams({lng:t,token:a.value.token}),s=window.open(`${n}/ui/profile?${o.toString()}`,"_blank",`width=800,height=800,left=${r},top=${l},scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no`);null==s||s.postMessage({type:"TOKEN",data:a.value.token},"*")},Z=e=>{var t,n,r,l;null!==(t=d.value)&&void 0!==t&&t.contains(e.target)||null!==(n=h.value)&&void 0!==n&&n.contains(e.target)||(w.value=!1),(null===(r=f.value)||void 0===r?void 0:r.contains(e.target))||(null===(l=g.value)||void 0===l?void 0:l.contains(e.target))||(b.value=!1)},Q=async e=>{var t;const{scrollTop:n,clientHeight:r,scrollHeight:l}=e.target,o=(r+n)/l,s=i.value.search,a=(null===(t=m.value)||void 0===t?void 0:t.value)||"";o<.9||$.loading||L.value||($.loading=!0,(s.more&&$.list.length?await s.more(a,$.list.length):await s.search(a)).length?$.list=[...$.list,...s.more&&$.list.length?await s.more(a,$.list.length):await s.search(a)]:L.value=!0,$.loading=!1,setTimeout((()=>{e.target.scrollTop=n}),50))},K=function(e){return ci(function(e){let t,n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},l=si;const i=e=>{clearTimeout(e),l(),l=si};return o=>{const s=ai(e),a=ai(r.maxWait);return t&&i(t),s<=0||void 0!==a&&a<=0?(n&&(i(n),n=null),Promise.resolve(o())):new Promise(((e,c)=>{l=r.rejectOnCancel?c:e,a&&!n&&(n=setTimeout((()=>{t&&i(t),n=null,e(o())}),a)),t=setTimeout((()=>{n&&i(n),n=null,e(o())}),s)}))}}(arguments.length>1&&void 0!==arguments[1]?arguments[1]:200,arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}),e)}((e=>{$.list=[],L.value=!1,Q(e)}),300);Hn([i,_],(e=>{let[t,n]=e;const{wordLimit:r}=t;r?nr[1]?(C.value=r[1],A.value=!1):(C.value=r[1],A.value=!0):(C.value=0,A.value=!0)}),{immediate:!0});const G=e=>{let{data:t}=e;t&&"profile"===t.type&&(a.value={...a.value,...t.data},[localStorage,sessionStorage].filter((e=>e.getItem("WALINE_USER"))).forEach((e=>e.setItem("WALINE_USER",JSON.stringify(a)))))};return Gn((()=>{var e;document.body.addEventListener("click",Z),window.addEventListener("message",G),null!==(e=l.edit)&&void 0!==e&&e.objectId&&(o.value=l.edit.orig),Hn(b,(async e=>{if(!e)return;const t=i.value.search;m.value&&(m.value.value=""),$.loading=!0,$.list=t.default?await t.default():await t.search(""),$.loading=!1})),Hn((()=>o.value),(e=>{const{highlighter:t,texRenderer:n}=i.value;E.value=e,x.value=((e,t)=>{let{emojiMap:n,highlighter:r,texRenderer:l}=t;if(Bo.setOptions({highlight:r||void 0,breaks:!0,smartLists:!0,smartypants:!0}),l){const e=(e=>[{name:"blockMath",level:"block",tokenizer(t){const n=Zo.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!0,n[1])}}},{name:"inlineMath",level:"inline",start(e){const t=e.search(Wo);return-1!==t?t:e.length},tokenizer(t){const n=qo.exec(t);if(null!==n)return{type:"html",raw:n[0],text:e(!1,n[1])}}}])(l);Bo.use({extensions:e})}return Bo.parse(Qo(e,n))})(e,{emojiMap:v.value.map,highlighter:t,texRenderer:n}),_.value=(e=>{var t,n;return((null===(t=(e=>e.match(/[\w\d\s,.\u00C0-\u024F\u0400-\u04FF]+/giu))(e))||void 0===t?void 0:t.reduce(((e,t)=>e+(""===t.trim()?0:t.trim().split(/\s+/u).length)),0))||0)+((null===(n=(e=>e.match(/[\u4E00-\u9FD5]/gu))(e))||void 0===n?void 0:n.length)||0)})(e),e?Ns(u.value):Ns.destroy(u.value)}),{immediate:!0}),Hn((()=>i.value.emoji),(e=>{return(t=e,Promise.all(t.map((e=>"string"==typeof e?(e=>{const t=Vi("WALINE_EMOJI",{}),n=Boolean(/@[0-9]+\.[0-9]+\.[0-9]+/.test(e));if(n){const n=t.value[e];if(n)return Promise.resolve(n)}return fetch(`${e}/info.json`).then((e=>e.json())).then((r=>{const l={folder:e,...r};return n&&(t.value[e]=l),l}))})(R(e)):Promise.resolve(e)))).then((e=>{const t={tabs:[],map:{}};return e.forEach((e=>{const{name:n,folder:r,icon:l,prefix:i,type:o,items:s}=e;t.tabs.push({name:n,icon:no(l,r,i,o),items:s.map((e=>{const n=`${i||""}${e}`;return t.map[n]=no(e,r,i,o),n}))})})),t}))).then((e=>{v.value=e}));var t}),{immediate:!0})})),Xn((()=>{document.body.removeEventListener("click",Z),window.removeEventListener("message",G)})),(t,n)=>{var r,l;return Br(),Qr("div",Ws,["disable"===rn(i).login||!rn(O)||null!==(r=e.edit)&&void 0!==r&&r.objectId?il("v-if",!0):(Br(),Qr("div",qs,[tl("div",Zs,[tl("button",{type:"submit",class:"wl-logout-btn",title:rn(z).logout,onClick:B},[nl(rn(Jo),{size:14})],8,Qs),tl("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:rn(z).profile,onClick:W},[tl("img",{src:rn(a).avatar,alt:"avatar"},null,8,Gs)],8,Ks)]),tl("a",{href:"#",class:"wl-login-nick","aria-label":"Profile",title:rn(z).profile,onClick:W,textContent:q(rn(a).display_name)},null,8,Js)])),tl("div",Xs,["force"!==rn(i).login&&rn(i).meta.length&&!rn(O)?(Br(),Qr("div",{key:0,class:V(["wl-header",`item${rn(i).meta.length}`])},[(Br(!0),Qr(Mr,null,lr(rn(i).meta,(e=>(Br(),Qr("div",{key:e,class:"wl-header-item"},[tl("label",{for:`wl-${e}`,textContent:q(rn(z)[e]+(rn(i).requiredMeta.includes(e)||!rn(i).requiredMeta.length?"":`(${rn(z).optional})`))},null,8,Ys),Yn(tl("input",{id:`wl-${e}`,ref_for:!0,ref:t=>{t&&(c.value[e]=t)},"onUpdate:modelValue":t=>rn(s)[e]=t,class:V(["wl-input",`wl-${e}`]),name:e,type:"mail"===e?"email":"text"},null,10,ea),[[Xl,rn(s)[e]]])])))),128))],2)):il("v-if",!0),Yn(tl("textarea",{id:"wl-edit",ref_key:"editorRef",ref:u,"onUpdate:modelValue":n[0]||(n[0]=e=>Xt(o)?o.value=e:null),class:"wl-editor",placeholder:e.replyUser?`@${e.replyUser}`:rn(z).placeholder,onKeydown:U,onDrop:M,onPaste:F},null,40,ta),[[Bl,rn(o)]]),Yn(tl("div",na,[ra,tl("h4",null,q(rn(z).preview)+":",1),tl("div",{class:"wl-content",innerHTML:x.value},null,8,la)],512),[[ei,k.value]]),tl("div",ia,[tl("div",oa,[tl("a",sa,[nl(rn(rs))]),Yn(tl("button",{ref_key:"emojiButtonRef",ref:d,type:"button",class:V(["wl-action",{active:w.value}]),title:rn(z).emoji,onClick:n[1]||(n[1]=e=>w.value=!w.value)},[nl(rn(Yo))],10,aa),[[ei,v.value.tabs.length]]),rn(i).search?(Br(),Qr("button",{key:0,ref_key:"gifButtonRef",ref:f,type:"button",class:V(["wl-action",{active:b.value}]),title:rn(z).gif,onClick:n[2]||(n[2]=e=>b.value=!b.value)},[nl(rn(as))],10,ca)):il("v-if",!0),tl("input",{id:"wl-image-upload",ref_key:"imageUploadRef",ref:p,class:"upload",type:"file",accept:".png,.jpg,.jpeg,.webp,.bmp,.gif",onChange:N},null,544),rn(j)?(Br(),Qr("label",{key:1,for:"wl-image-upload",class:"wl-action",title:rn(z).uploadImage},[nl(rn(es))],8,ua)):il("v-if",!0),tl("button",{type:"button",class:V(["wl-action",{active:k.value}]),title:rn(z).preview,onClick:n[3]||(n[3]=e=>k.value=!k.value)},[nl(rn(ns))],10,pa)]),tl("div",da,[tl("div",ha,[ll(q(_.value)+" ",1),rn(i).wordLimit?(Br(),Qr("span",fa,[ll("  /  "),tl("span",{class:V({illegal:!A.value}),textContent:q(C.value)},null,10,ga)])):il("v-if",!0),ll("  "+q(rn(z).word),1)]),"disable"===rn(i).login||rn(O)?il("v-if",!0):(Br(),Qr("button",{key:0,type:"button",class:"wl-btn",onClick:H,textContent:q(rn(z).login)},null,8,ma)),"force"!==rn(i).login||rn(O)?(Br(),Qr("button",{key:1,type:"submit",class:"primary wl-btn",title:"Cmd|Ctrl + Enter",disabled:I.value,onClick:D},[I.value?(Br(),Kr(rn(ss),{key:0,size:16})):(Br(),Qr(Mr,{key:1},[ll(q(rn(z).submit),1)],64))],8,va)):il("v-if",!0)]),tl("div",{ref_key:"gifPopupRef",ref:g,class:V(["wl-gif-popup",{display:b.value}])},[tl("input",{ref_key:"gifSearchInputRef",ref:m,type:"text",placeholder:rn(z).gifSearchPlaceholder,onInput:n[4]||(n[4]=function(){return rn(K)&&rn(K)(...arguments)})},null,40,ya),nl(Bs,{items:$.list,"column-width":200,gap:6,onInsert:n[5]||(n[5]=e=>T(e)),onScroll:Q},null,8,["items"]),$.loading?(Br(),Qr("div",wa,[nl(rn(ss),{size:30})])):il("v-if",!0)],2),tl("div",{ref_key:"emojiPopupRef",ref:h,class:V(["wl-emoji-popup",{display:w.value}])},[(Br(!0),Qr(Mr,null,lr(v.value.tabs,((e,t)=>(Br(),Qr(Mr,{key:e.name},[t===y.value?(Br(),Qr("div",ba,[(Br(!0),Qr(Mr,null,lr(e.items,(e=>(Br(),Qr("button",{key:e,type:"button",title:e,onClick:t=>T(`:${e}:`)},[w.value?(Br(),Qr("img",{key:0,class:"wl-emoji",src:v.value.map[e],alt:e,loading:"lazy",referrerPolicy:"no-referrer"},null,8,xa)):il("v-if",!0)],8,ka)))),128))])):il("v-if",!0)],64)))),128)),v.value.tabs.length>1?(Br(),Qr("div",_a,[(Br(!0),Qr(Mr,null,lr(v.value.tabs,((e,t)=>(Br(),Qr("button",{key:e.name,type:"button",class:V(["wl-tab",{active:y.value===t}]),onClick:e=>y.value=t},[tl("img",{class:"wl-emoji",src:e.icon,alt:e.name,title:e.name,loading:"lazy",referrerPolicy:"no-referrer"},null,8,Ca)],10,$a)))),128))])):il("v-if",!0)],2)])]),e.replyId||null!==(l=e.edit)&&void 0!==l&&l.objectId?(Br(),Qr("button",{key:1,type:"button",class:"wl-close",title:rn(z).cancelReply,onClick:n[6]||(n[6]=n=>t.$emit(e.replyId?"cancelReply":"cancelEdit"))},[nl(rn(Jo),{size:24})],8,Sa)):il("v-if",!0)])}}}),Ra=js(Aa,[["__file","CommentBox.vue"]]);const Ea=["id"],Ia={class:"wl-user","aria-hidden":"true"},La=["src"],za={class:"wl-card"},Oa={class:"wl-head"},ja=["href"],Ta={key:1,class:"wl-nick"},Ua=["textContent"],Pa=["textContent"],Ma=["textContent"],Fa=["textContent"],Na=["textContent"],Va={class:"wl-comment-actions"},Da=["title"],Ha=["textContent"],Ba=["title"],Wa={class:"wl-meta","aria-hidden":"true"},qa=["data-value","textContent"],Za=["data-value","textContent"],Qa=["data-value","textContent"],Ka=["innerHTML"],Ga={key:1,class:"wl-admin-actions"},Ja={class:"wl-comment-status"},Xa=["disabled","onClick","textContent"],Ya={key:3,class:"wl-quote"};var ec=js(qn({__name:"CommentCard",props:{comment:null,edit:{default:null},rootId:null,reply:{default:null}},emits:["log","submit","delete","edit","like","status","sticky","reply"],setup(e){const t=e,n=["approved","waiting","spam"],r=Nn("config"),l=us(),i=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const{controls:t=!1,interval:n="requestAnimationFrame"}=e,r=Yt(new Date),l=()=>r.value=new Date,i="requestAnimationFrame"===n?function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const{immediate:n=!0,window:r=Ai}=t,l=Yt(!1);let i=0,o=null;function s(t){l.value&&r&&(e({delta:t-i,timestamp:t}),i=t,o=r.requestAnimationFrame(s))}function a(){!l.value&&r&&(l.value=!0,o=r.requestAnimationFrame(s))}function c(){l.value=!1,null!=o&&r&&(r.cancelAnimationFrame(o),o=null)}return n&&a(),pi(c),{isActive:Nt(l),pause:c,resume:a}}(l,{immediate:!0}):function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1e3,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};const{immediate:r=!0,immediateCallback:l=!1}=n;let i=null;const o=Yt(!1);function s(){i&&(clearInterval(i),i=null)}function a(){o.value=!1,s()}function c(){const n=ai(t);n<=0||(o.value=!0,l&&e(),s(),i=setInterval(e,n))}return r&&li&&c(),(Xt(t)||ii(t))&&pi(Hn(t,(()=>{o.value&&li&&c()}))),pi(a),{isActive:o,pause:a,resume:c}}(l,n,{immediate:!0});return t?Ki({now:r},i):r}(),o=$s(),s=xl((()=>r.value.locale)),a=xl((()=>{const{link:e}=t.comment;return e?E(e)?e:`https://${e}`:""})),c=xl((()=>l.value.includes(t.comment.objectId))),u=xl((()=>((e,t,n)=>{if(!e)return"";const r="string"==typeof e?new Date(-1!==e.indexOf(" ")?e.replace(/-/g,"/"):e):e,l=t.getTime()-r.getTime(),i=Math.floor(l/864e5);if(0===i){const e=l%864e5,t=Math.floor(e/36e5);if(0===t){const t=e%36e5,r=Math.floor(t/6e4);if(0===r){const e=t%6e4;return`${Math.round(e/1e3)} ${n.seconds}`}return`${r} ${n.minutes}`}return`${t} ${n.hours}`}return i<0?n.now:i<8?`${i} ${n.days}`:(e=>{const t=j(e.getDate(),2),n=j(e.getMonth()+1,2);return`${j(e.getFullYear(),2)}-${n}-${t}`})(r)})(t.comment.insertedAt,i.value,s.value))),p=xl((()=>"administrator"===o.value.type)),d=xl((()=>t.comment.user_id&&o.value.objectId===t.comment.user_id)),h=xl((()=>{var e;return t.comment.objectId===(null===(e=t.reply)||void 0===e?void 0:e.objectId)})),f=xl((()=>{var e;return t.comment.objectId===(null===(e=t.edit)||void 0===e?void 0:e.objectId)}));return(t,r)=>{var l;const i=function(e,t){return function(e,t){let n=arguments.length>3&&void 0!==arguments[3]&&arguments[3];const r=zn||dl;if(r){const l=r.type;if(e===tr){const e=function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];return ce(e)?e.displayName||e.name:e.name||t&&e.__name}(l,!1);if(e&&(e===t||e===xe(t)||e===Ce(xe(t))))return l}const i=rr(r[e]||l[e],t)||rr(r.appContext[e],t);return!i&&n?l:i}}(tr,e,!0,t)||e}("CommentCard",!0);return Br(),Qr("div",{id:e.comment.objectId,class:"wl-card-item"},[tl("div",Ia,[e.comment.avatar?(Br(),Qr("img",{key:0,src:e.comment.avatar},null,8,La)):il("v-if",!0),e.comment.type?(Br(),Kr(rn(os),{key:1})):il("v-if",!0)]),tl("div",za,[tl("div",Oa,[rn(a)?(Br(),Qr("a",{key:0,class:"wl-nick",href:rn(a),target:"_blank",rel:"noopener noreferrer"},q(e.comment.nick),9,ja)):(Br(),Qr("span",Ta,q(e.comment.nick),1)),"administrator"===e.comment.type?(Br(),Qr("span",{key:2,class:"wl-badge",textContent:q(rn(s).admin)},null,8,Ua)):il("v-if",!0),e.comment.label?(Br(),Qr("span",{key:3,class:"wl-badge",textContent:q(e.comment.label)},null,8,Pa)):il("v-if",!0),e.comment.sticky?(Br(),Qr("span",{key:4,class:"wl-badge",textContent:q(rn(s).sticky)},null,8,Ma)):il("v-if",!0),void 0!==e.comment.level&&e.comment.level>=0?(Br(),Qr("span",{key:5,class:V(`wl-badge level${e.comment.level}`),textContent:q(rn(s)[`level${e.comment.level}`]||`Level ${e.comment.level}`)},null,10,Fa)):il("v-if",!0),tl("span",{class:"wl-time",textContent:q(rn(u))},null,8,Na),tl("div",Va,[rn(p)||rn(d)?(Br(),Qr("button",{key:0,type:"button",class:"wl-edit",onClick:r[0]||(r[0]=()=>t.$emit("edit",e.comment))},[nl(rn(is))])):il("v-if",!0),rn(p)||rn(d)?(Br(),Qr("button",{key:1,type:"button",class:"wl-delete",onClick:r[1]||(r[1]=n=>t.$emit("delete",e.comment))},[nl(rn(Xo))])):il("v-if",!0),tl("button",{type:"button",class:"wl-like",title:rn(c)?rn(s).cancelLike:rn(s).like,onClick:r[2]||(r[2]=n=>t.$emit("like",e.comment))},[nl(rn(ts),{active:rn(c)},null,8,["active"]),"like"in e.comment?(Br(),Qr("span",{key:0,textContent:q(e.comment.like)},null,8,Ha)):il("v-if",!0)],8,Da),tl("button",{type:"button",class:V(["wl-reply",{active:rn(h)}]),title:rn(h)?rn(s).cancelReply:rn(s).reply,onClick:r[3]||(r[3]=n=>t.$emit("reply",rn(h)?null:e.comment))},[nl(rn(ls))],10,Ba)])]),tl("div",Wa,[e.comment.addr?(Br(),Qr("span",{key:0,class:"wl-addr","data-value":e.comment.addr,textContent:q(e.comment.addr)},null,8,qa)):il("v-if",!0),e.comment.browser?(Br(),Qr("span",{key:1,class:"wl-browser","data-value":e.comment.browser,textContent:q(e.comment.browser)},null,8,Za)):il("v-if",!0),e.comment.os?(Br(),Qr("span",{key:2,class:"wl-os","data-value":e.comment.os,textContent:q(e.comment.os)},null,8,Qa)):il("v-if",!0)]),rn(f)?il("v-if",!0):(Br(),Qr("div",{key:0,class:"wl-content",innerHTML:e.comment.comment},null,8,Ka)),rn(p)&&!rn(f)?(Br(),Qr("div",Ga,[tl("span",Ja,[(Br(),Qr(Mr,null,lr(n,(n=>tl("button",{key:n,type:"submit",class:V(`wl-btn wl-${n}`),disabled:e.comment.status===n,onClick:r=>t.$emit("status",{status:n,comment:e.comment}),textContent:q(rn(s)[n])},null,10,Xa))),64))]),rn(p)&&!e.comment.rid?(Br(),Qr("button",{key:0,type:"submit",class:"wl-btn wl-sticky",onClick:r[4]||(r[4]=n=>t.$emit("sticky",e.comment))},q(e.comment.sticky?rn(s).unsticky:rn(s).sticky),1)):il("v-if",!0)])):il("v-if",!0),rn(h)||rn(f)?(Br(),Qr("div",{key:2,class:V({"wl-reply-wrapper":rn(h),"wl-edit-wrapper":rn(f)})},[nl(Ra,{edit:e.edit,"reply-id":null===(l=e.reply)||void 0===l?void 0:l.objectId,"reply-user":e.comment.nick,"root-id":e.rootId,onLog:r[5]||(r[5]=e=>t.$emit("log")),onCancelReply:r[6]||(r[6]=e=>t.$emit("reply",null)),onCancelEdit:r[7]||(r[7]=e=>t.$emit("edit",null)),onSubmit:r[8]||(r[8]=e=>t.$emit("submit",e))},null,8,["edit","reply-id","reply-user","root-id"])],2)):il("v-if",!0),e.comment.children?(Br(),Qr("div",Ya,[(Br(!0),Qr(Mr,null,lr(e.comment.children,(n=>(Br(),Kr(i,{key:n.objectId,comment:n,reply:e.reply,edit:e.edit,"root-id":e.rootId,onLog:r[9]||(r[9]=e=>t.$emit("log")),onDelete:r[10]||(r[10]=e=>t.$emit("delete",e)),onEdit:r[11]||(r[11]=e=>t.$emit("edit",e)),onLike:r[12]||(r[12]=e=>t.$emit("like",e)),onReply:r[13]||(r[13]=e=>t.$emit("reply",e)),onStatus:r[14]||(r[14]=e=>t.$emit("status",e)),onSticky:r[15]||(r[15]=e=>t.$emit("sticky",e)),onSubmit:r[16]||(r[16]=e=>t.$emit("submit",e))},null,8,["comment","reply","edit","root-id"])))),128))])):il("v-if",!0)])],8,Ea)}}}),[["__file","CommentCard.vue"]]);const tc="2.14.8",nc={"data-waline":""},rc={class:"wl-meta-head"},lc={class:"wl-count"},ic=["textContent"],oc={class:"wl-sort"},sc=["onClick"],ac={class:"wl-cards"},cc={key:1,class:"wl-operation"},uc=["textContent"],pc={key:0,class:"wl-loading"},dc=["textContent"],hc={key:2,class:"wl-operation"},fc=["textContent"],gc={key:3,class:"wl-power"},mc=tl("a",{href:"https://github.com/walinejs/waline",target:"_blank",rel:"noopener noreferrer"}," Waline ",-1);e.version=tc;var vc=qn({__name:"WalineComment",props:["serverURL","path","meta","requiredMeta","dark","commentSorting","lang","locale","pageSize","wordLimit","emoji","login","highlighter","texRenderer","imageUploader","search","copyright","recaptchaV3Key","reaction"],setup(e){const t=e,c={latest:"insertedAt_desc",oldest:"insertedAt_asc",hottest:"like_desc"},u=Object.keys(c),p=$s(),h=us(),f=Yt("loading"),g=Yt(0),m=Yt(1),v=Yt(0),y=xl((()=>(e=>{let{serverURL:t,path:c=location.pathname,lang:u=("undefined"==typeof navigator?"en-US":navigator.language),locale:p,emoji:h=r,meta:f=["nick","mail","link"],requiredMeta:g=[],dark:m=!1,pageSize:v=10,wordLimit:y,imageUploader:w,highlighter:b,texRenderer:x,copyright:_=!0,login:$="enable",search:C,reaction:S,recaptchaV3Key:R="",commentSorting:E="latest",...O}=e;return{serverURL:I(t),path:A(c),locale:{...k[u]||k[l],..."object"==typeof p?p:{}},wordLimit:L(y),meta:n(f),requiredMeta:n(g),imageUploader:z(w,i),highlighter:z(b,d),texRenderer:z(x,o),lang:Object.keys(k).includes(u)?u:"en-US",dark:m,emoji:"boolean"==typeof h?h?r:[]:h,pageSize:v,login:$,copyright:_,search:!1!==C&&("object"==typeof C?C:s(u)),recaptchaV3Key:R,reaction:Array.isArray(S)?S:!0===S?a:[],commentSorting:E,...O}})(t))),w=Yt(y.value.commentSorting),b=Yt([]),x=Yt(null),$=Yt(null),C=xl((()=>{return"string"==typeof(e=y.value.dark)?"auto"===e?`@media(prefers-color-scheme:dark){body${O}}`:`${e}${O}`:!0===e?`:root${O}`:"";var e})),R=xl((()=>y.value.locale));let E;!function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};const n=Yt(!1),{document:r=Ri,immediate:l=!0,manual:i=!1,id:o="vueuse_styletag_"+ ++Gi}=t,s=Yt(e);let a=()=>{};const c=()=>{if(!r)return;const e=r.getElementById(o)||r.createElement("style");e.isConnected||(e.type="text/css",e.id=o,t.media&&(e.media=t.media),r.head.appendChild(e)),n.value||(a=Hn(s,(t=>{e.textContent=t}),{immediate:!0}),n.value=!0)},u=()=>{r&&n.value&&(a(),r.head.removeChild(r.getElementById(o)),n.value=!1)};l&&!i&&function(e){let t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];hl()?Gn(e):t?e():kn(e)}(c),i||pi(u),Nt(n)}(C);const j=e=>{var t,n;const{serverURL:r,path:l,pageSize:i}=y.value,o=new AbortController;f.value="loading",null!==(t=E)&&void 0!==t&&t(),(e=>{let{serverURL:t,lang:n,path:r,page:l,pageSize:i,sortBy:o,signal:s,token:a}=e;const c={};return a&&(c.Authorization=`Bearer ${a}`),fetch(`${t}/comment?path=${encodeURIComponent(r)}&pageSize=${i}&page=${l}&lang=${n}&sortBy=${o}`,{signal:s,headers:c}).then((e=>e.json())).then((e=>_(e,"Get comment data")))})({serverURL:r,lang:y.value.lang,path:l,pageSize:i,sortBy:c[w.value],page:e,signal:o.signal,token:null===(n=p.value)||void 0===n?void 0:n.token}).then((t=>{f.value="success",g.value=t.count,b.value.push(...t.data),m.value=e,v.value=t.totalPages})).catch((e=>{"AbortError"!==e.name&&(console.error(e.message),f.value="error")})),E=o.abort.bind(o)},T=()=>j(m.value+1),U=()=>{g.value=0,b.value=[],j(1)},P=e=>{x.value=e},M=e=>{$.value=e},F=e=>{if($.value)$.value.comment=e.comment,$.value.orig=e.orig;else if(e.rid){const t=b.value.find((t=>{let{objectId:n}=t;return n===e.rid}));if(!t)return;Array.isArray(t.children)||(t.children=[]),t.children.push(e)}else b.value.unshift(e)},N=async e=>{var t;let{comment:n,status:r}=e;if(n.status===r)return;const{serverURL:l,lang:i}=y.value;await S({serverURL:l,lang:i,token:null===(t=p.value)||void 0===t?void 0:t.token,objectId:n.objectId,comment:{status:r}}),n.status=r},D=async e=>{var t;if(e.rid)return;const{serverURL:n,lang:r}=y.value;await S({serverURL:n,lang:r,token:null===(t=p.value)||void 0===t?void 0:t.token,objectId:e.objectId,comment:{sticky:e.sticky?0:1}}),e.sticky=!e.sticky},H=async e=>{var t;let{objectId:n}=e;if(!confirm("Are you sure you want to delete this comment?"))return;const{serverURL:r,lang:l}=y.value;await(e=>{let{serverURL:t,lang:n,token:r,objectId:l}=e;return fetch(`${t}/comment/${l}?lang=${n}`,{method:"DELETE",headers:{Authorization:`Bearer ${r}`}}).then((e=>e.json())).then((e=>_(e,"Delete comment")))})({serverURL:r,lang:l,token:null===(t=p.value)||void 0===t?void 0:t.token,objectId:n}),b.value.some(((e,t)=>e.objectId===n?(b.value=b.value.filter(((e,n)=>n!==t)),!0):e.children.some(((r,l)=>r.objectId===n&&(b.value[t].children=e.children.filter(((e,t)=>t!==l)),!0)))))},B=async e=>{var t;const{serverURL:n,lang:r}=y.value,{objectId:l}=e,i=h.value.includes(l);await S({serverURL:n,lang:r,objectId:l,token:null===(t=p.value)||void 0===t?void 0:t.token,comment:{like:!i}}),i?h.value=h.value.filter((e=>e!==l)):(h.value=[...h.value,l],h.value.length>50&&(h.value=h.value.slice(-50))),e.like=(e.like||0)+(i?-1:1)};return function(e,t){if(dl){let e=dl.provides;const n=dl.parent&&dl.parent.provides;n===e&&(e=dl.provides=Object.create(n)),e.config=t}}(0,y),Gn((()=>{Hn((()=>[t.serverURL,t.path]),(()=>U()),{immediate:!0})})),Xn((()=>{var e;return null===(e=E)||void 0===e?void 0:e()})),(e,t)=>(Br(),Qr("div",nc,[nl(Ts),x.value?il("v-if",!0):(Br(),Kr(Ra,{key:0,onLog:U,onSubmit:F})),tl("div",rc,[tl("div",lc,[g.value?(Br(),Qr("span",{key:0,class:"wl-num",textContent:q(g.value)},null,8,ic)):il("v-if",!0),ll(" "+q(rn(R).comment),1)]),tl("ul",oc,[(Br(!0),Qr(Mr,null,lr(rn(u),(e=>(Br(),Qr("li",{key:e,class:V([e===w.value?"active":""]),onClick:t=>(e=>{w.value!==e&&(w.value=e,U())})(e)},q(rn(R)[e]),11,sc)))),128))])]),tl("div",ac,[(Br(!0),Qr(Mr,null,lr(b.value,(e=>(Br(),Kr(ec,{key:e.objectId,"root-id":e.objectId,comment:e,reply:x.value,edit:$.value,onLog:U,onReply:P,onEdit:M,onSubmit:F,onStatus:N,onDelete:H,onSticky:D,onLike:B},null,8,["root-id","comment","reply","edit"])))),128))]),"error"===f.value?(Br(),Qr("div",cc,[tl("button",{type:"button",class:"wl-btn",onClick:U,textContent:q(rn(R).refresh)},null,8,uc)])):(Br(),Qr(Mr,{key:2},["loading"===f.value?(Br(),Qr("div",pc,[nl(rn(ss),{size:30})])):b.value.length?m.value{t.forEach(((t,n)=>{t.innerText=e[n].toString()}))},bc=e=>{let{serverURL:t,path:n=window.location.pathname,selector:r=".waline-pageview-count",update:l=!0,lang:i=navigator.language}=e;const o=new AbortController,s=Array.from(document.querySelectorAll(r)),a=e=>{const t=Ko(e);return null!==t&&n!==t},c=e=>(e=>{let{serverURL:t,lang:n,paths:r,signal:l}=e;return $({serverURL:t,lang:n,paths:r,type:["time"],signal:l}).then((e=>Array.isArray(e)?e:[e]))})({serverURL:I(t),paths:e.map((e=>Ko(e)||n)),lang:i,signal:o.signal}).then((t=>wc(t,e))).catch(ro);if(l){const e=s.filter((e=>!a(e))),r=s.filter(a);(u={serverURL:I(t),path:n,lang:i},C({...u,type:"time",action:"inc"})).then((t=>wc(new Array(e.length).fill(t),e))),r.length&&c(r)}else c(s);var u;return o.abort.bind(o)};e.UserList=e=>{let{el:t,serverURL:n,count:r,locale:i,lang:o=navigator.language,mode:s="list"}=e;const a=lo(t),c=new AbortController;return(e=>{let{serverURL:t,signal:n,pageSize:r,lang:l}=e;return fetch(`${t}/user?pageSize=${r}&lang=${l}`,{signal:n}).then((e=>e.json())).then((e=>_(e,"user list"))).then((e=>e.data))})({serverURL:n,pageSize:r,lang:o,signal:c.signal}).then((e=>a&&e.length?(i={...k[o]||k[l],..."object"==typeof i?i:{}},a.innerHTML=`
    `,{users:e,destroy:()=>{c.abort(),a.innerHTML=""}}):{users:e,destroy:()=>c.abort()}))},e.RecentComments=e=>{var t;let{el:n,serverURL:r,count:l,lang:i=navigator.language}=e;const o=$s(),s=lo(n),a=new AbortController;return(e=>{let{serverURL:t,lang:n,count:r,signal:l,token:i}=e;const o={};return i&&(o.Authorization=`Bearer ${i}`),fetch(`${t}/comment?type=recent&count=${r}&lang=${n}`,{signal:l,headers:o}).then((e=>e.json()))})({serverURL:r,count:l,lang:i,signal:a.signal,token:null===(t=o.value)||void 0===t?void 0:t.token}).then((e=>s&&e.length?(s.innerHTML=`
      ${e.map((e=>`
    • ${e.nick}:${e.comment}
    • `)).join("")}
    `,{comments:e,destroy:()=>{a.abort(),s.innerHTML=""}}):{comments:e,destroy:()=>a.abort()}))},e.init=e=>{let{el:t="#waline",path:n=window.location.pathname,comment:r=!1,pageview:l=!1,...i}=e;const o=t?lo(t):null;if(t&&!o)throw new Error("Option 'el' do not match any domElement!");if(!i.serverURL)throw new Error("Option 'serverURL' is missing!");const s=Ft({...i}),a=Ft({comment:r,pageview:l,path:n}),c=o?function(){const e=(ri||(ri=jr(ni))).createApp(...arguments),{mount:t}=e;return e.mount=n=>{const r=function(e){return ue(e)?document.querySelector(e):e}(n);if(!r)return;const l=e._component;ce(l)||l.render||l.template||(l.template=r.innerHTML),r.innerHTML="";const i=t(r,!1,r instanceof SVGElement);return r instanceof Element&&(r.removeAttribute("v-cloak"),r.setAttribute("data-v-app","")),i},e}((()=>_l(yc,{path:a.path,...s}))):null;c&&c.mount(o);const u=Vn((()=>{a.comment&&Go({serverURL:s.serverURL,path:a.path,selector:"string"==typeof a.comment?a.comment:void 0})})),p=Vn((()=>{a.pageview&&bc({serverURL:s.serverURL,path:a.path,selector:"string"==typeof a.pageview?a.pageview:void 0})}));return{el:o,update:function(){let{comment:e,pageview:t,path:n=window.location.pathname,...r}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Object.entries(r).forEach((e=>{let[t,n]=e;s[t]=n})),a.path=n,void 0!==e&&(a.comment=e),void 0!==t&&(a.pageview=t)},destroy:()=>{null!=c&&c.unmount(),u(),p()}}},e.pageviewCount=bc})); +//# sourceMappingURL=waline.js.map diff --git a/cdn/butterfly-extsrc/dist/activate-power-mode.min.js b/cdn/butterfly-extsrc/dist/activate-power-mode.min.js new file mode 100644 index 00000000..54aa6545 --- /dev/null +++ b/cdn/butterfly-extsrc/dist/activate-power-mode.min.js @@ -0,0 +1 @@ +!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.POWERMODE=e():t.POWERMODE=e()}(this,(function(){return function(t){const e={};function o(n){if(e[n])return e[n].exports;const i=e[n]={exports:{},id:n,loaded:!1};return t[n].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}return o.m=t,o.c=e,o.p="",o(0)}([function(t,e,o){"use strict";if(!s.mobile&&/Android|webOS|iPhone|iPod|iPad|BlackBerry/i.test(navigator.userAgent))return;const n=document.createElement("canvas");n.width=window.innerWidth,n.height=window.innerHeight,n.style.cssText="position:fixed;top:0;left:0;pointer-events:none;z-index:999999",window.addEventListener("resize",(function(){n.width=window.innerWidth,n.height=window.innerHeight})),document.body.appendChild(n);const i=n.getContext("2d"),r=[];let d=0,a=!1;function c(t,e){return Math.random()*(e-t)+t}function l(t){if(s.colorful){const t=c(0,360);return"hsla("+c(t-10,t+10)+", 100%, "+c(50,80)+"%, 1)"}return window.getComputedStyle(t).color}function s(){const t=function(){const t=document.activeElement;let e;if("TEXTAREA"===t.tagName||"INPUT"===t.tagName&&("text"===t.getAttribute("type")||"email"===t.getAttribute("type"))){const n=o(1)(t,t.selectionEnd);return e=t.getBoundingClientRect(),{x:n.left+e.left,y:n.top+e.top,color:l(t)}}const n=window.getSelection();if(n.rangeCount){const t=n.getRangeAt(0);let o=t.startContainer;return o.nodeType===document.TEXT_NODE&&(o=o.parentNode),e=t.getBoundingClientRect(),{x:e.left,y:e.top,color:l(o)}}return{x:0,y:0,color:"transparent"}}();let e=5+Math.round(10*Math.random());for(;e--;)r[d]=(n=t.x,i=t.y,c=t.color,{x:n,y:i,alpha:1,color:c,velocity:{x:2*Math.random()-1,y:2*Math.random()-3.5}}),d=(d+1)%500;var n,i,c;if(s.shake){const t=1+2*Math.random(),e=t*(Math.random()>.5?-1:1),o=t*(Math.random()>.5?-1:1);document.body.style.marginLeft=e+"px",document.body.style.marginTop=o+"px",setTimeout((function(){document.body.style.marginLeft="",document.body.style.marginTop=""}),75)}a||requestAnimationFrame(u)}function u(){a=!0,i.clearRect(0,0,n.width,n.height);let t=!1;const e=n.getBoundingClientRect();for(let o=0;oparseInt(c.height)&&(a.overflowY="scroll"):a.overflow="hidden",d.textContent=t.value.substring(0,n),"INPUT"===t.nodeName&&(d.textContent=d.textContent.replace(/\s/g," "));const l=document.createElement("span");l.textContent=t.value.substring(n)||".",d.appendChild(l);const s={top:l.offsetTop+parseInt(c.borderTopWidth),left:l.offsetLeft+parseInt(c.borderLeftWidth)};return r?l.style.backgroundColor="#aaa":document.body.removeChild(d),s}void 0!==t&&void 0!==t.exports?t.exports=n:window.getCaretCoordinates=n}()}])})); \ No newline at end of file diff --git a/cdn/butterfly-extsrc/dist/canvas-fluttering-ribbon.min.js b/cdn/butterfly-extsrc/dist/canvas-fluttering-ribbon.min.js new file mode 100644 index 00000000..71d51105 --- /dev/null +++ b/cdn/butterfly-extsrc/dist/canvas-fluttering-ribbon.min.js @@ -0,0 +1 @@ +"object"==typeof window&&(window.Ribbons=function(){const t=window,i=document.body,n=document.documentElement;var o=function(){if(1===arguments.length){if(Array.isArray(arguments[0])){const t=Math.round(o(0,arguments[0].length-1));return arguments[0][t]}return o(0,arguments[0])}return 2===arguments.length?Math.random()*(arguments[1]-arguments[0])+arguments[0]:0};const s=function(o){const s=Math.max(0,t.innerWidth||n.clientWidth||i.clientWidth||0),e=Math.max(0,t.innerHeight||n.clientHeight||i.clientHeight||0);return{width:s,height:e,ratio:s/e,centerx:s/2,centery:e/2,scrollx:Math.max(0,t.pageXOffset||n.scrollLeft||i.scrollLeft||0)-(n.clientLeft||0),scrolly:Math.max(0,t.pageYOffset||n.scrollTop||i.scrollTop||0)-(n.clientTop||0)}},e=function(t,i){this.x=0,this.y=0,this.set(t,i)};e.prototype={constructor:e,set:function(t,i){this.x=t||0,this.y=i||0},copy:function(t){return this.x=t.x||0,this.y=t.y||0,this},multiply:function(t,i){return this.x*=t||1,this.y*=i||1,this},divide:function(t,i){return this.x/=t||1,this.y/=i||1,this},add:function(t,i){return this.x+=t||0,this.y+=i||0,this},subtract:function(t,i){return this.x-=t||0,this.y-=i||0,this},clampX:function(t,i){return this.x=Math.max(t,Math.min(this.x,i)),this},clampY:function(t,i){return this.y=Math.max(t,Math.min(this.y,i)),this},flipX:function(){return this.x*=-1,this},flipY:function(){return this.y*=-1,this}};const h=function(t){this._canvas=null,this._context=null,this._sto=null,this._width=0,this._height=0,this._scroll=0,this._ribbons=[],this._options={colorSaturation:"80%",colorBrightness:"60%",colorAlpha:.65,colorCycleSpeed:6,verticalPosition:"center",horizontalSpeed:150,ribbonCount:5,strokeSize:5,parallaxAmount:-.5,animateSections:!0},this._onDraw=this._onDraw.bind(this),this._onResize=this._onResize.bind(this),this._onScroll=this._onScroll.bind(this),this.setOptions(t),this.init()};return h.prototype={constructor:h,setOptions:function(t){if("object"==typeof t)for(const i in t)t.hasOwnProperty(i)&&(this._options[i]=t[i])},init:function(){try{this._canvas=document.createElement("canvas"),this._canvas.style.display="block",this._canvas.style.position="fixed",this._canvas.style.margin="0",this._canvas.style.padding="0",this._canvas.style.border="0",this._canvas.style.outline="0",this._canvas.style.left="0",this._canvas.style.top="0",this._canvas.style.width="100%",this._canvas.style.height="100%",this._canvas.style["z-index"]="-1",this._onResize(),this._context=this._canvas.getContext("2d"),this._context.clearRect(0,0,this._width,this._height),this._context.globalAlpha=this._options.colorAlpha,window.addEventListener("resize",this._onResize),window.addEventListener("scroll",this._onScroll),document.body.appendChild(this._canvas)}catch(t){return void console.warn("Canvas Context Error: "+t.toString())}this._onDraw()},addRibbon:function(){const t=Math.round(o(1,9))>5?"right":"left";let i=1e3;const n=200,s=0-n,h=this._width+n;let a=0,r=0;const l="right"===t?s:h;let c=Math.round(o(0,this._height));/^(top|min)$/i.test(this._options.verticalPosition)?c=0+n:/^(middle|center)$/i.test(this._options.verticalPosition)?c=this._height/2:/^(bottom|max)$/i.test(this._options.verticalPosition)&&(c=this._height-n);const p=[],_=new e(l,c),d=new e(l,c);let u=null,b=Math.round(o(0,360)),f=0;for(;!(i<=0);){if(i--,a=Math.round((1*Math.random()-.2)*this._options.horizontalSpeed),r=Math.round((1*Math.random()-.5)*(.25*this._height)),u=new e,u.copy(d),"right"===t){if(u.add(a,r),d.x>=h)break}else if("left"===t&&(u.subtract(a,r),d.x<=s))break;p.push({point1:new e(_.x,_.y),point2:new e(d.x,d.y),point3:u,color:b,delay:f,dir:t,alpha:0,phase:0}),_.copy(d),d.copy(u),f+=4,b+=this._options.colorCycleSpeed}this._ribbons.push(p)},_drawRibbonSection:function(t){if(t){if(t.phase>=1&&t.alpha<=0)return!0;if(t.delay<=0){if(t.phase+=.02,t.alpha=1*Math.sin(t.phase),t.alpha=t.alpha<=0?0:t.alpha,t.alpha=t.alpha>=1?1:t.alpha,this._options.animateSections){const i=.1*Math.sin(1+t.phase*Math.PI/2);"right"===t.dir?(t.point1.add(i,0),t.point2.add(i,0),t.point3.add(i,0)):(t.point1.subtract(i,0),t.point2.subtract(i,0),t.point3.subtract(i,0)),t.point1.add(0,i),t.point2.add(0,i),t.point3.add(0,i)}}else t.delay-=.5;const i=this._options.colorSaturation,n=this._options.colorBrightness,o="hsla("+t.color+", "+i+", "+n+", "+t.alpha+" )";this._context.save(),0!==this._options.parallaxAmount&&this._context.translate(0,this._scroll*this._options.parallaxAmount),this._context.beginPath(),this._context.moveTo(t.point1.x,t.point1.y),this._context.lineTo(t.point2.x,t.point2.y),this._context.lineTo(t.point3.x,t.point3.y),this._context.fillStyle=o,this._context.fill(),this._options.strokeSize>0&&(this._context.lineWidth=this._options.strokeSize,this._context.strokeStyle=o,this._context.lineCap="round",this._context.stroke()),this._context.restore()}return!1},_onDraw:function(){for(let t=0,i=this._ribbons.length;t=n&&(this._ribbons[t]=null)}this._ribbons.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,i[1]=128|(258048&n)>>>12,i[2]=128|(4032&n)>>>6,i[3]=128|63&n):2048>>12,i[1]=128|(4032&n)>>>6,i[2]=128|63&n):128>>6,i[1]=128|63&n):i[0]=n,this.parsedData.push(i)}this.parsedData=Array.prototype.concat.apply([],this.parsedData),this.parsedData.length!=this.data.length&&(this.parsedData.unshift(191),this.parsedData.unshift(187),this.parsedData.unshift(239))}function h(t,e){this.typeNumber=t,this.errorCorrectLevel=e,this.modules=null,this.moduleCount=0,this.dataCache=null,this.dataList=[]}r.prototype={getLength:function(t){return this.parsedData.length},write:function(t){for(var e=0,r=this.parsedData.length;e>r&1);this.modules[Math.floor(r/3)][r%3+this.moduleCount-8-3]=i}for(r=0;r<18;r++){i=!t&&1==(e>>r&1);this.modules[r%3+this.moduleCount-8-3][Math.floor(r/3)]=i}},setupTypeInfo:function(t,e){for(var r=this.errorCorrectLevel<<3|e,i=v.getBCHTypeInfo(r),n=0;n<15;n++){var o=!t&&1==(i>>n&1);n<6?this.modules[n][8]=o:n<8?this.modules[n+1][8]=o:this.modules[this.moduleCount-15+n][8]=o}for(n=0;n<15;n++){o=!t&&1==(i>>n&1);n<8?this.modules[8][this.moduleCount-n-1]=o:n<9?this.modules[8][15-n-1+1]=o:this.modules[8][15-n-1]=o}this.modules[this.moduleCount-8][8]=!t},mapData:function(t,e){for(var r=-1,i=this.moduleCount-1,n=7,o=0,a=this.moduleCount-1;0>>n&1)),v.getMask(e,i,a-s)&&(h=!h),this.modules[i][a-s]=h,-1==--n&&(o++,n=7)}if((i+=r)<0||this.moduleCount<=i){i-=r,r=-r;break}}}},h.PAD0=236,h.PAD1=17,h.createData=function(t,e,r){for(var i=p.getRSBlocks(t,e),n=new m,o=0;o8*s)throw new Error("code length overflow. ("+n.getLengthInBits()+">"+8*s+")");for(n.getLengthInBits()+4<=8*s&&n.put(0,4);n.getLengthInBits()%8!=0;)n.putBit(!1);for(;!(n.getLengthInBits()>=8*s||(n.put(h.PAD0,8),n.getLengthInBits()>=8*s));)n.put(h.PAD1,8);return h.createBytes(n,i)},h.createBytes=function(t,e){for(var r=0,i=0,n=0,o=new Array(e.length),a=new Array(e.length),s=0;s>>=1;return e},getPatternPosition:function(t){return v.PATTERN_POSITION_TABLE[t-1]},getMask:function(t,e,r){switch(t){case i:return(e+r)%2==0;case n:return e%2==0;case a:return r%3==0;case l:return(e+r)%3==0;case u:return(Math.floor(e/2)+Math.floor(r/3))%2==0;case c:return e*r%2+e*r%3==0;case f:return(e*r%2+e*r%3)%2==0;case d:return(e*r%3+(e+r)%2)%2==0;default:throw new Error("bad maskPattern:"+t)}},getErrorCorrectPolynomial:function(t){for(var e=new w([1],0),r=0;r>>7-t%8&1)},put:function(t,e){for(var r=0;r>>e-r-1&1))},getLengthInBits:function(){return this.length},putBit:function(t){var e=Math.floor(this.length/8);this.buffer.length<=e&&this.buffer.push(0),t&&(this.buffer[e]|=128>>>this.length%8),this.length++}};var _=[[17,14,11,7],[32,26,20,14],[53,42,32,24],[78,62,46,34],[106,84,60,44],[134,106,74,58],[154,122,86,64],[192,152,108,84],[230,180,130,98],[271,213,151,119],[321,251,177,137],[367,287,203,155],[425,331,241,177],[458,362,258,194],[520,412,292,220],[586,450,322,250],[644,504,364,280],[718,560,394,310],[792,624,442,338],[858,666,482,382],[929,711,509,403],[1003,779,565,439],[1091,857,611,461],[1171,911,661,511],[1273,997,715,535],[1367,1059,751,593],[1465,1125,805,625],[1528,1190,868,658],[1628,1264,908,698],[1732,1370,982,742],[1840,1452,1030,790],[1952,1538,1112,842],[2068,1628,1168,898],[2188,1722,1228,958],[2303,1809,1283,983],[2431,1911,1351,1051],[2563,1989,1423,1093],[2699,2099,1499,1139],[2809,2213,1579,1219],[2953,2331,1663,1273]];function C(){var t=!1,e=navigator.userAgent;if(/android/i.test(e)){t=!0;var r=e.toString().match(/android ([0-9]\.[0-9])/i);r&&r[1]&&(t=parseFloat(r[1]))}return t}var y=(e.prototype.draw=function(t){var e=this._htOption,r=this._el,i=t.getModuleCount();function n(t,e){var r=document.createElementNS("http://www.w3.org/2000/svg",t);for(var i in e)e.hasOwnProperty(i)&&r.setAttribute(i,e[i]);return r}Math.floor(e.width/i),Math.floor(e.height/i),this.clear();var o=n("svg",{viewBox:"0 0 "+String(i)+" "+String(i),width:"100%",height:"100%",fill:e.colorLight});o.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),r.appendChild(o),o.appendChild(n("rect",{fill:e.colorLight,width:"100%",height:"100%"})),o.appendChild(n("rect",{fill:e.colorDark,width:"1",height:"1",id:"template"}));for(var a=0;a'],s=0;s");for(var h=0;h');a.push("")}a.push(""),r.innerHTML=a.join("");var l=r.childNodes[0],u=(e.width-l.offsetWidth)/2,c=(e.height-l.offsetHeight)/2;0微信里点“发现”,扫一下

    二维码便可将本文分享至朋友圈。

    ",wechatQrcodeSize:100,sites:["weibo","qq","wechat","douban","qzone","linkedin","facebook","twitter","google"],mobileSites:[],disabled:[],initialized:!1},p={qzone:"http://sns.qzone.qq.com/cgi-bin/qzshare/cgi_qzshare_onekey?url={{URL}}&title={{TITLE}}&desc={{DESCRIPTION}}&summary={{SUMMARY}}&site={{SOURCE}}&pics={{IMAGE}}",qq:'http://connect.qq.com/widget/shareqq/index.html?url={{URL}}&title={{TITLE}}&source={{SOURCE}}&desc={{DESCRIPTION}}&pics={{IMAGE}}&summary="{{SUMMARY}}"',weibo:"https://service.weibo.com/share/share.php?url={{URL}}&title={{TITLE}}&pic={{IMAGE}}&appkey={{WEIBOKEY}}",wechat:"javascript:",douban:"http://shuo.douban.com/!service/share?href={{URL}}&name={{TITLE}}&text={{DESCRIPTION}}&image={{IMAGE}}&starid=0&aid=0&style=11",linkedin:"http://www.linkedin.com/shareArticle?mini=true&ro=true&title={{TITLE}}&url={{URL}}&summary={{SUMMARY}}&source={{SOURCE}}&armin=armin",facebook:"https://www.facebook.com/sharer/sharer.php?u={{URL}}",twitter:"https://twitter.com/intent/tweet?text={{TITLE}}&url={{URL}}&via={{ORIGIN}}",google:"https://plus.google.com/share?url={{URL}}"};function m(t){return(o.querySelectorAll||r.jQuery||r.Zepto||function(i){var n=[];return C(i.split(/\s*,\s*/),function(t){var e=t.match(/([#.])(\w+)/);if(null===e)throw Error("Supports only simple single #ID or .CLASS selector.");if(e[1]){var r=o.getElementById(e[2]);r&&n.push(r)}n=n.concat(w(i))}),n}).call(o,t)}function v(t){return(o.getElementsByName(t)[0]||0).content}function w(t,e,r){if(t.getElementsByClassName)return t.getElementsByClassName(e);var i=[],n=t.getElementsByTagName(r||"*");return e=" "+e+" ",C(n,function(t){0<=(" "+(t.className||"")+" ").indexOf(e)&&i.push(t)}),i}function _(t){var e=o.createElement("div");return e.innerHTML=t,e.childNodes}function C(t,e){var r=t.length;if(r===a){for(var i in t)if(t.hasOwnProperty(i)&&!1===e.call(t[i],t[i],i))break}else for(var n=0;n