From 7f532b583fe82ed9fd884ec45288455eb37220f7 Mon Sep 17 00:00:00 2001 From: Xwite Date: Sat, 19 Oct 2024 12:41:06 +0000 Subject: [PATCH] Bump web v3.24.101920 --- ...BookChapter-DF8_gTi8.js => BookChapter-CmD5n20t.js} | 2 +- ...okChapter-c-elTHGm.css => BookChapter-iYunK_yl.css} | 2 +- .../{BookShelf-NtIGhs51.css => BookShelf-6UPZfG3x.css} | 2 +- .../main/assets/web/vue/assets/BookShelf-CA8P-QMk.js | 1 - .../main/assets/web/vue/assets/BookShelf-CaphAGEv.js | 1 + app/src/main/assets/web/vue/assets/index-CcaAk_ul.js | 10 ++++++++++ app/src/main/assets/web/vue/assets/index-CoMQMWtZ.js | 10 ---------- .../{loading-DO4FBnCG.js => loading-DPQW_bh6.js} | 2 +- .../assets/{vendor-DyE_jpJ0.js => vendor-Cq9RjTRr.js} | 6 +++--- app/src/main/assets/web/vue/index.html | 4 ++-- 10 files changed, 20 insertions(+), 20 deletions(-) rename app/src/main/assets/web/vue/assets/{BookChapter-DF8_gTi8.js => BookChapter-CmD5n20t.js} (72%) rename app/src/main/assets/web/vue/assets/{BookChapter-c-elTHGm.css => BookChapter-iYunK_yl.css} (81%) rename app/src/main/assets/web/vue/assets/{BookShelf-NtIGhs51.css => BookShelf-6UPZfG3x.css} (63%) delete mode 100644 app/src/main/assets/web/vue/assets/BookShelf-CA8P-QMk.js create mode 100644 app/src/main/assets/web/vue/assets/BookShelf-CaphAGEv.js create mode 100644 app/src/main/assets/web/vue/assets/index-CcaAk_ul.js delete mode 100644 app/src/main/assets/web/vue/assets/index-CoMQMWtZ.js rename app/src/main/assets/web/vue/assets/{loading-DO4FBnCG.js => loading-DPQW_bh6.js} (75%) rename app/src/main/assets/web/vue/assets/{vendor-DyE_jpJ0.js => vendor-Cq9RjTRr.js} (95%) diff --git a/app/src/main/assets/web/vue/assets/BookChapter-DF8_gTi8.js b/app/src/main/assets/web/vue/assets/BookChapter-CmD5n20t.js similarity index 72% rename from app/src/main/assets/web/vue/assets/BookChapter-DF8_gTi8.js rename to app/src/main/assets/web/vue/assets/BookChapter-CmD5n20t.js index df8a022d2b0e..c3429d37c124 100644 --- a/app/src/main/assets/web/vue/assets/BookChapter-DF8_gTi8.js +++ b/app/src/main/assets/web/vue/assets/BookChapter-CmD5n20t.js @@ -1 +1 @@ -import{d as le,a2 as Te,p as l,y as D,S as Ve,a7 as Fe,o as f,e as m,h as t,t as M,F as ee,O as ae,u as a,a8 as J,a9 as Pe,J as be,s as U,f as K,w as R,aa as Je,z as pe,ab as Ge,g as T,L as ge,ac as qe,a6 as Le,m as L,ad as Ze,v as Ye,ae as Me,af as Re,ag as je,V as Xe,N as xe,a5 as _e,ah as $e,ai as et,c as tt}from"./vendor-DyE_jpJ0.js";import{u as ie,i as ot,A as re,_ as ce,a as Qe}from"./index-CoMQMWtZ.js";import{u as nt}from"./loading-DO4FBnCG.js";const st=(d,s,u,B)=>(d/=B/2,d<1?u/2*d*d+s:(d--,-u/2*(d*(d-2)-1)+s)),at=()=>{let d,s,u,B,n,I,p,w,k,V,x,E,y;function Q(){let g=d.scrollTop||d.scrollY||d.pageYOffset;return g=typeof g>"u"?0:g,g}function h(g){const b=g.getBoundingClientRect().top,te=d.getBoundingClientRect?d.getBoundingClientRect().top:0;return b-te+u}function C(g){d.scrollTo?d.scrollTo(0,g):d.scrollTop=g}function i(g){V||(V=g),x=g-V,E=I(x,u,w,k),C(E),x({dcb41ef4:p.spacing.letter,ad61d758:p.spacing.line,"6503210e":p.spacing.paragraph}));const B=ie(),n=l(()=>B.config.readWidth),I=l(()=>B.readingBook.bookUrl),p=d,w=i=>{const c=/]*src="([^"]*(?:"[^>]+\})?)"[^>]*>/,A=i.match(c)[1];return ot(A)?re.getProxyImageUrl(I.value,A,ie().config.readWidth):A},k=i=>{i.target.src=re.getProxyImageUrl(I.value,i.target.src,n.value)},V=i=>{const c=/]*src="[^"]*(?:"[^>]+\})?"[^>]*>/g;return i.replaceAll(c," ").length},x=l(()=>{let i=-1;return Array.from(p.contents,c=>(i+=V(c)+1,i))}),E=D(),y=D();s({scrollToReadedLength:i=>{if(i===0)return;const c=x.value.findIndex(A=>A>=i);c!==-1&&Pe(()=>{_(y.value[c],{duration:0})})}});let h=null;const C=u;return Ve(()=>{h=new IntersectionObserver(i=>{for(const{target:c,isIntersecting:A}of i)A&&C("readedLengthChange",p.chapterIndex,parseInt(c.dataset.chapterpos))},{rootMargin:`0px 0px -${window.innerHeight-24}px 0px`}),h.observe(E.value),y.value.forEach(i=>{h.observe(i)})}),Fe(()=>{h==null||h.disconnect(),h=null}),(i,c)=>(f(),m(ee,null,[t("div",{class:"title","data-chapterpos":"0",ref_key:"titleRef",ref:E},M(i.title),513),(f(!0),m(ee,null,ae(i.contents,(A,g)=>(f(),m("div",{key:g,ref_for:!0,ref_key:"paragraphRef",ref:y,"data-chapterpos":a(x)[g]},[/^\s*]*src[^>]+>$/.test(String(A))?(f(),m("img",{key:0,class:"full",src:w(A),onErrorOnce:k,loading:"lazy"},null,40,rt)):(f(),m("p",{key:1,style:J({fontFamily:i.fontFamily,fontSize:i.fontSize}),innerHTML:A},null,12,lt))],8,it))),128))],64))}}),At=ce(ct,[["__scopeId","data-v-dce2cef9"]]),dt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXr5djn4dTp49bt59rT6LKxAAACnElEQVQozw3NUUwScRzA8d8R6MF8YMIx8uk47hDSJbj14IPzOGc7jPLvwTGg5uAYDbe2tt56cLtznvEnS6yDqCcEaWi91DvrbLJZz7b1aFtz1aO+2OZWvn+/+4CHeB6BMYaqBLfjPNRY6RFT2JJYby+uAk4WUTrtlmJ4hgPYb2q1XGDQjaK8pgJHvqNaAX+KyuIkDXpgQinb46nOulnn4b5laUHTxLfseeArAoNOeJlOIjdoal0n1FA7tKFv5roK+YaHOqP3P0XyKHPHY+MhTRe5uCZnKhtJKw2eSrSoBDPLtpZuNcFNJcFyiCMxOaaHIfXz1e8HQbWLySrBQ4x0x1qlhnHlnz2HQEC6TNb0gTHXa7IKhcaHqkE015hk9whA0YeWiLIXf7Fa2CZo3DjqjB4tTuF8jIcbfcEx5z/w4sXpQhXW+ju0cqh7icTFmRMaG+v6CIvTjcSpHcH8JEsF3EPh3fRthYdVLLgI2fWXm85/pGFE4l046s70L+yKCcirGFR+jbpy3kMmiCGHrSezVONsn1RBixncyk2PcVWk7DlgxHo8iZwDyq5uAUD854dZhdIFYzKoQig2haUKi1lVufz2RZUZPZ41n/hrOQB6h0Hhg8I367FNoEHgeM/KY7szSeQwD8q2WE3HM35ZLl0K1MJiOtHIkBclRQUwZnyOWcNsRQQgVLj1PSqkjF9DsoOSaSg3iinKzvfmgsNFFfpP/2T3GLGvL4fHEfwIX1sVvXcPqLztehWGcfn9nI2U9nTfCgJPe/jFPLZwgVEzimBgAm0VIyK2tt1cE/AzQdLK+SxLSQ4aDCZnnId94OG2S1XwvnTbNk/ZnhyRCQT+sZM6z9g6LXL1BOBe+zJySiFkHAINCtnQokbCJ/apCv0foqPiZVfhpywAAAAASUVORK5CYII=",ut="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAACVBMVEX28ef48+n69esoK7jYAAAB4UlEQVQozw2OsW4bQQxEhwLXkDrysGdEqRRgVShfQQq8wOr2jD0jSpXCLvwXbtKfADlFqgSwC/9ljqweZgYzQFnb/QGepYhA9jzmTc1WaSEtQpbFgjWATI00ZZtIckXx8q2Oe5yEByBy+RHOTcM+VVTadULsvxvRC/q8WTwgcWGD+Mnaqa0oy2gw2pKFzK+PzEsus5hP9AHojKslVynLlioVTBEN8cjDNnZoR1uMGTiZAAN47HxMtEkGUE9b8HWzkqNX5Lpk0yVziAJOs46rK1pG/xNuXLjz95fSDoJE5IqG23MAYPtWoeWPvfVtIV/Ng9oH3W0gGMPIOqd4MK4QZ55dV61gOb8Zxp7I9qayaGxp6Q91cmC0ZRdBwEQVHWzSAanlZwVWc9yljeTCeaHjBVvlPSLeyeBUT2rPdJegQI103jVS3uYkyIx1il6mslMDedZuOkwzolsagvPuQAfp7cYg7k9V1NOxfq64PNSvMdwONV4VYEmqlbpZy5OAakRKkjPnL4CBv5/OZRgoWHBmNbxB0LgB1I4vXFj93UoF2/0TPEsWwV9EhbIiTPqYoTHYoMn3enTDjmrFeDTIzaL1bUC/PBIMuF+vSSYSaxoVt90EO3Gu1zrMuMRGUk7Ffv3L+A931Gsb/yBoIgAAAABJRU5ErkJggg==",gt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEX6+fP8+/X+/ff///kbczPAAAACeElEQVQozxXHQUgUUQAG4P8936yzs6VvZNZmN9QxVxiF9OLBoOjtOC6rQq6ygXjI2fCQBdXBg4egtzFGdqkoI+zgBFbqkm3hQSxhFYLotOcubeKhOnVYoqQy+m4f5g5TvpX0xHLbLY9j8SMhJp+Jk4LfAUS2kVRIjILmnwGBTX42PhCVlDJQkIiy2nWAvaJ1h+oFIpJ0hMSYVbyyrgDWshcMpMyL1brPDQKWmduO+KTJ6XeXAMK9Yc3FpD7atyNwg6kt5XgFpLPhjUTFSYVn2abDiugGShwD8JTVRJVo/2ecuKtRb/qc4BK+9TboFfokog4T2Fn6Oqdnsjk90NMS76Rji6E0NmwkPBAZ4Xbkw8KoDAkAbEhkc78e9omxxgxg6qa5HvMv+UZbCV0qmHnSHKl5TxeA2XTCGWekR581mwC5crBH81PznASqB9va3TbkYAjJPLfg5uBfXaJgIgIBv9eessRIhxe7PA7kj6uUMeMaQ/OEQOYRaaHlqH2Gxwsl6E/pwVY5FH7uCypBZPKvDQyVziYBrAkMURe2MOOOxG/eQpp5PF+bFzUV5HtPj9GeiVSNZDELleifYTp9NAjsoiXg4cW+4ZORkdSMB/B74aAdjhsVakhgkugsbmqcDSLEoWp8zRjrux3tli6Q5uM3E+maT99Wy0RiP7tboiuRZle2c6CYeL2kcUc1KvPtQKucogMadKVTQOJYCeyCYlhQQ/Q7Etfd/vBygy9iqy+LyHeF46saCYvW6ingsbA9RBWtdi8GgUXW+oQx9/wP6bAAX1TWeV+CbShZDlQ9xT6SoSxZmKRAkmXb60kzEzkRF+Ccb94BGspGJoN/UzmyR4wjXHAAAAAASUVORK5CYII=",pt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAATlBMVEXdzaHh0KPgz6LdzKDezqLczJ7ezZ/fz6Dcy5zi0aXdzZ3fz6Tfz57h0KDg0aLcyZrg0KXi0qPfzZ3j06bh0qbdyJbfzJrhz5/cxpLZwo0vDconAAAFn0lEQVRIxxyPW5LjMAwDAT5FybLl2JnM3P+i6+wXWVC1GoQGaD0h4XM3Q5o4T0HgABHBi6pZ4CDXXcUOFd6VhqC3Kch4EI8w9oMXwvU6m5LOOvcxKMOhuu8i5+5cMjcgb0t4F2uvOoeI3/MlT4IqsbtM9UG2AGSXUOsxzPevnXzK1CSHytZLvx7VdQmUcJsJCxJh2nmHW12Qod1qPjt8pih47uQ9aGpoNWF+yElCt60oH7vdIU/MnlRPSBLC/VwqxcKR8PFqnADN9ih5ufqnTlG9KwCofvs7kKYqOPHTNMQ93j9qNImFw9vjHPZ0F1m8hUUVB/Q/TrRYDMXr9++APMFARAt6sPh6wVAXzxUGhZsFUwCNfPZ8/72TAHebAhvuOuT3gO1Vn5d9Jd5sBRkg0p2seL9B7ulkjFJFIt9HPpLzdSzzMP3UcodAfMqC6pBuET2heHK1itZf1GZ1bi0BwOSxiCS8f/JBHMPMM4XCu3Mt1uz9lJbDJRqsKDZuikzkvskQEz6hanfDfO494azY5JpqPqOF1RhxD9XYEdaNxiqWqakKgmPfmrsta8KAiwF4HBxGVUJAgeSqQaiRRZJ7D2jedhw5t1CIAKxag0CBA60BpoBE6DcUi8O5AuM4pLfN0kHLmeu2B4e6HofqbgxsTWUw3PAODqa1oDtyzgXBlusi1KFdclMPE8O3jvLJ8RNi5/RxDQVzVmXA233XQ4KummunfxvLOZo+iH37964YjP06995CTdu9hsvErqJNzmf4wTrZ5DL7+qW9EoLnadrx67b8dUtrJnBXaT1N1uvPaYRKpWkq52xNsMN7vv4Sdryt/f4MhQoMCKnvVxikai1CQ6ZsnwJDc8+3Y/z8HcfvYQNq66pnAu1Hwa+3KNSwbNu8h3nDPqTl9fl7tx8fBhFfdS0o0F3JUKEZtZG9b/LZEM95lzaR30OnWPzroMxyZYdBIMoMnpN0J+m7/40+/P4soFSUjgzE7yY5zrMJuoZv0CmpVguYx1pprfb5HOviRVhHUVi/352shxCYrYBZxGtVaxiAz/MsaGSIsB7R1t4zJXH//n7RTTQQwxqcGEqEvklFHUgiO2GvJV+jAIPR+N29usWDoiSOVrN3XuqT1egQJAAU9EwslVJC8u0rGcy+WPqktJhjfMpatIG6CDAb0v5H34MGKqiVRue7GGLZ9Otxtt4JIrAhxBDwDuqI9JavcO0A7GlqFt219tH/bln9jBXzaKWAEqJV0CBxs5TwM8EvUPHaa8S86vN303MVWOsl3goDBHPWSoQ9c0kQmCKljfsKNH1+ofEOHW8a9a7glZGS8fPieL/SRSs0LAhI4FDTnXs1QYtubv2+IXPZpHB4bhivRexBkYKsSrYXNjvMUbVXpVJ+N6haV72c1k2zrnv5IYBMJBYTSZx0KTkoM3vY93rU/qs7zHplc/3d2ACadhFWByrn9LUk2IWb5JywvawTQc3F0iz+lgsBmInAIemBJtft2plKIlAFOgcroigrG2XlDsAzywQECNyaI8yr2ogoh7D4qJOYmZBzQgoZAM1PAcB8sDrr1uE5CDMR+nWSSVUGUCHAs8Vd21HOE0FzNj37pX0sLp9p3K8k++xxpkmzDxK64rmTSJnDUuIgTeslui6lg92jonZXI4jqNiUuzN4IagcKMjCniMGCODoo8T4tGDprn2hRww+NrnYiCwokd9iiWrkmbRfXYGLAoZrjO1lVQKExjUy5fIkgJURmz2uGFdASwwlWx5gDVTMK7hP6ISRVsFbYNmqtZL9MQtio285PaekyzDhZmtdexCYB0SZcTmBdhvdbmAEonk8hwcHQuZN1kVqrhyKoHHsnQhQAjF7SG533Da2S4LGjx1LoZqp7XeKQLDUBmYmydG0NQHpMeR5lRIRQc1PQ2ASMQflF4YBDMt0/GFlEHeRwCcEAAAAASUVORK5CYII=",ft="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAALVBMVEXx58b168ny6Mjz6sn06sf27Mvw5sTz6cbw5cLy58T37svv47/168v37s7t4Ltrv0//AAAEjUlEQVQ4yw2Ty2sTURxGf3dmOqmPxb0zmaStCnfmZpL6gpmbxIpUSMZGrSJkxsZiVZimNVaqMklrUnWTRq2KIDFWWx+IFrIRFxXEB4KIgqu6EBdu7M6FIPg32PW3+DhwDmBaYrK56KP4HGIsvg/uvOV0wK+qgBMlO9BujuH4DSJlOseqV5a/BEF97gt0ChyIPqBhXI9BtqtIB8vJB/LdCQ3OVjaLNX0g7+OmoI4e7nkemAqX6o8vg0yyQAyQS7IfgvFbI+6QyI3R4KELxw7kwM2ooQfyQigYnwY5MZbMlHI1DvnQVCoVcrt+R+bO7vPDif3ybNajwqAAe443dpfDsPt379VMWZzGRuqM79mQF+DUz9nt74bQ8J/O80MtVR51U02JKKmTCvTzLVf+vuxP/aHnPo9+2bW+zVsJ0Y630/CrfzX+b+UL+7O68Rczv+7lrMh5etfKXvhc2rk6KforxuoO2xB2tcxKfeXHt18rHOiHI/0RRjW/YGRDkHiwo3nzqL60o58C/bgRuaj7vk+QOwOhpnFNdjuWpKMCGP8Yapu9Ty5FTHKQLGSEFikjd9ADwP9ciaNNjc5qMH6w50AF/LKOsOYqsOG9GjKgc7ZXolqntm6fysJ6Ma6ll2CiqmOgE6O7x1wXExklbeqMYcwsmJmOoigt8SBg2WfilDSsAZJcBxDcrqtBXzFQJqZNHfscyIhoZlygAtyYAceah+elrFbI+46gEHDGiW878Kj7JpWyfhg6iyRMymV1MKBSeVpfgLHIohyTojI6sRyK1VpcqzVZeEBLOnA9unhGKUXPJDYtV9Dxuz4iA5xSkSWhCJdAiJR9PHlvfvbntbrR14FDqUNRAYDJmSnv3oKxuz5+7fiblgVJyYLTbgUM05P7LESkoXvyWNfb0aUU6FZizgQIa25VqKQZqFrk6v6BsqqIHlQmkQ9KrBhkC20/DrFsAFEEYLjM+lj2wYHXCwnNvZQR42XJ2iVK+UBXnI+OBE6oXpUUHiQ1yg0MhA03iwGbnOdQYc1CMiPIPQrCQJFH4L4BMFktAtKd9PN5gnU2Gra4KuK+V+mjtBRpAGIqDVe4wnSnajiFGO5d7smvhVQEMEYwqshrENIEaY7YeblJYtsb3QhAHWZCEKK67swwPMKw0If1Ta+6DgHmlgPzcUTSbi3rrv1Y64/BYEMPQ5SDHUOR022B4QRF6xLUPAaPX/V4IDI5N2BMwx4LqO1uO4j6uW7NvM7lATqGAxY/ZHVgoGZbu7SvkNR75x6qGSB23FdouENVwN7sCbewTdsXGrrnQ5ZZKOCOFtMTIzxlPu6eYmtL+nMFmoK7OeXajn86r9sqWbfmvHC4IagE5qfCPGZvLSq5F55hHIxJFa4/vRxHBlz0og4TojU1l/MOHJX17lybdF0mQhFO44JYUNt3UA473IXw/iPfDWtKG5oFSXIF5iU/VnyDSjxxeDk3jAXRyVyGTNB9FxH9qcFDNJpVbt2y9LytUXkK7Py6+z1RezHQqnoY8XcLimmd8dCnBhQCuaGpJCq3SoIlmYvLz8UkWhJw7T8k+Db/DYEKwgAAAABJRU5ErkJggg==",mt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=",vt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXN383Q4tDP4c/R5NEInCCXAAACVElEQVQozw3Hv2sTYRwH4M/79pJ7bZL2bXqtERJ97zjUpbZDhg6pfC8qibi8hLR0EaJ0EFxaCSWDxjfpj1zrYBcRBKE6SAfBJWsx9i8IQfdQxDlKtA6t2OnhQfN3lbG7ytYRywF8rVoPCNO0X2sQOKDpAnSDK2VwkHgmh5yLGT8qASt+2KofnNt2Xg1gf1UF8AoM6052cRMNaloLZb7RKQGrKKji2OefsZF+VqIvos5ZLVIZCX61JcwUdk56wASVkgQvzPfvmT2twTSwyYaC/Pl/UhAHorFhBgZtL6XdAZRp1tkPwC1NLa9CWs5prLhI85NBQsLdXvjDymG3/EbYfQhVNYqc3TtktQhWLY3ko0QsdMbSEp+64v0NfxyqLbIGdh6M2xHHlLBGqKTyQo4E/nebBgBfe1GpdeywYXc8CT7D3cKXuMXkBy4xN6o5OuKamYp3DVI6uccO9lxgd2CAlJgI2BGgaAgIJV/TYwKqu3WFccjbMuA+bVkWgS2bfnlRbD1Eb1sDyWMmjKYIBgGAWbqKRicfvzBkBIz3V5AKnguWdglQEysQsSuVzOg6ALy1pitA5ykGCsc857BRYcgCSZyFOdvoOigSGoPc5Ta73mgxshIcQE5sHMHd9D7yqITw7JO+GHVMxjhzYLcKPSEgmz3fU+BRy3iYNtiXLaBssCW8KguReqkQOTb3MStV0Ugt4U1eIs1RZWRII6Ww8xeNNItyGGQI4ZMlpg/3lQtkl2JFnBp1imRyFe0kK2Id3PCslMgiQNMS77gvFeDhG3cSkYvheeg/e7ClIh5oh+IAAAAASUVORK5CYII=",Bt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7eHl8eXj7+Pn8+eTbH1KAAACPElEQVQozxWPQWrbQABF/0xn3JFKQRTZOIuUsbCCbOgdRoYEOauxkYPcTRyTlPQWIxEltrsRwQ6hK9nEQek6F+gNTE/Q3qLLusv34cN7SH3mFicdYW4gNIhJWXPBRVXzjcFD0IqeU4o4PRbAIVjyico0vJpIifqPfL80QN9DAQY5ucRHE/hpHxBldXe9GilaHKcKMlj6pho2zXgkNdBl0oJ8kiF1DSiJF1ZHBJkQr0Dbux/5I42Zp4cFahJDFGeW6/QjBwmFY/Q7vZ2SnoOdW2parv/Cnm81+m0xrEfiVXQ3W4nOXIqVYi3l6AAQBwMFkViVBANMto4enXHPNTkHBB0oVj4r5vHzCWayrgBvxtygDlDB2CNDjd80ZInY69aKVYZcfJ8DW+fWuc+syEODALx+ojqoafHsthTI+ZW27PGpIeo/cR6YKcbqIuIFhHmBrzAovzIOOJk1ucvcDzrMRYGVBH2yvcAOf0KiKwfRovBI3tm/kW1eemtfNWwIIXE2mJNhvoszfmMBfRCv0OPwd2321uDW3nx2q/BDxFVeoN1g7a6Im8yRnoawa8kbdXnU0cHeTMxKfZGlJgvLb3sKsxgglQnDdAfvj9LUnqWRDo0GiUmPwyU7TAsD7wHeIW3Nfy1qVGKoE9NgJCdYCAexNRob9yCn4DAQmXtQuUtera6bEmTTXhZy6h856xi4mnEl6BI9mfISkLbtJyZIMJIAUd5ZOBEu88KRAk71yxfItj/hpIB0Errv4gO1os4/UICf+o3kkqwAAAAASUVORK5CYII=",kt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX0/PTx+fH2/vbz+/P4//htSO9OAAAC5UlEQVQ4yyWT0QGjMAxDZTsDWKQDmJQBYrgBUsr+M517x0+LRWw9CyA+pC1YzndrMgHaNXVKQ+di13Of1qbur48nWhuRjj8i6ON8e7pNm7zyag/DBTfS9Z4Hup1fUuXMKY4HEE8QOHCByXkIkl7lDT239RtL9quO4JItmmhOAHXg45QuYKrQFLyGJcRvaTw6kQqZy6mkR6JAPFH/XqsQjEDRmUOA+MNLHGyMUT7AHApoAhjgjIJmCxy6XHdf648AWCdGe57IUDazCeTImQOY4/z+eVYVX2IjOw9RydeAeJwl79iGi4HpgQgHEchWraUZLtayu8scq0lHHHUKMY3Ml8hB7CS1jOckDLG9ccgNeX3124phOcjL9fPnWJhTXpLHeG9DRmHnTxHEaHakS2J51lwAJcUraNbuU7q4gMTDQj3Eripc/x+qFM5VEKAB1roQfAkX5/PxqnS2QpOrxfK1Zft0/omV5T+xCSBUAIbEIwUQgvAfxFE1O8dnk233+1UZiqJ1mAbsue6Yt8tF+yOrxC/YrUhzC4qPlE3EbR5hGKhhHdlrg7J9WunV7L7BcYQwAeE59u2tnN1c6gfVYrQiLSZ9OxZdWDXQq0+r0Pbarh3UqGCwauVvbiXuDsNxCtLDdW9rTF8oQYN4EoXXdfmwNguQP26n/tRjDeo+F2W7PjWtfSr6Bn/z+cXOLp4NnMV4RytvSW4B68m+XN9XfZTFGhO/S+cHTuTqZDC21ccA0N7QsePALaDQC3D1f94U9CWo+aq6BjB3v0rxIimBM12296M3aKPHjXLQE9KQKH4By8RHraJ3AgVto2r4xdFqlaPaiAHLl1ZF4P2pI6cYc+K8UZdcmxy7lqGc1IoPxLmIFuIeEZ6j2sQT88muEg1zwrEDTIX5U/ZmcsqfgVlBumiBLF4sAyhf9BFlXOPKLZ4H0iFb3VoHrGhtHTldKrOvP2/reu2zfV8CXMPqzRdlgd0a5eI7WwB/AYcgavcqxXWEAAAAAElFTkSuQmCC",ht="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXM2t7O3ODQ3uLR4OTDp25yAAACdUlEQVQozw3P70sTcQDH8c/3/M7NG+j35mnHwjwh4hRy/QFK3zvPNbeIG1koPZmxfj2IDAwihL53zj0JYisfmEHcZJZOiBUG60lZiI8T/ANusuftgQ+kCPIPeMP7hS5mUrV9c1g6MQCAEZ8tDLHwofImAGRlX+SZK3Vu9rRRPuO4PK6/9nA4GIATsxlODS+rdCMhkAZivpYV0LWoQHSLSA4NfUg+6mY+7BKL2++F9LvnrBDYm6JO9i/YO3i/HJTGQ4pdIV82TbEDFG6vGYCd4wZchgK5J2CrKTLE+Tx0v+YGlIbdWJFcQl4ptBN8fUJQN1MCJLcZLYwUVVo+famGGty8EXJF5ofOEDzcodT3/Fb0I5sHmc1ZG7CcSl8COgxlXx09jT05OafjCZLIHJhGIaU6wDZHsuMQ41wbdjmQXbhKnMq1zlXSYrjCnyZblqexA7fC8RxS74tq2P3OxSQwTuJSApH8OZLzBBp1pOe0i3rdyDUA47GySZ31YmC4EQYSXvFSvieORGBxXF9aeVtUWKGS9WMC4Z9Y2uXnJ2nCUXVMbPOYqNYNmGWWQ7Evr+BWC+a0JAMTImcq/S4Z5INdQMeuOqDIMa9beilxfA60iC6sP1INcPDpmHBW8drZHNmqwyddJtVje9q8WGUgWAOzmbU4FCQBFi8B2Wk6pickBnYhJMenmJGuRmtt2IoKq9NuFGbNFR99sHnvrnLsLysKANDIsxbp6RNMAsoDSKuRpMwZbAAzI68QatIjmZ0aImyM3O8/4e2MNlOHZomFsa/fLDsysliHS+nlYLQJMnynxrH8QO4PaAV2Li8B/+52UgeGIVNFYf8B1XG/kFSmLcUAAAAASUVORK5CYII=",Ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7vLf7PDj8PTm8/ecW+lZAAACZElEQVQozw2RsU8TUQCHfz3fw7MS87jeI7DdmSMpDEoHE+P0HqGkvRR8vb5XC4NpN2RQZqcK9xJkwtriekcggerC4OZADDiT+A+goxv/gfwB3zd8H/T6vYF/pTZkCSmDNd3CBEtmZJP4N+CvvhecDvmntKsvwB17rpbIRTLOEoYkj9KZzRUuJsuBQFwgptyJ3Y7EL4V+ud5LO1UnMeQSSObqisiISZkbQBlliP3qWSk3GPQXjxv6VF2BTDO4ySx1zhuJXbA2wBNJF4t5vH9keg6wu5NvUpLtXrZ3OHC9ZsgVcZdOl38PM1y/L6m8GRiErj4AqezUjHGatGGIgs5NJDHh8Ua1IuB4035haVT6SaYWMoQ0eJ3rB/Gpnr3fB49YAy1Wa21YKqAHOmAveVw6CCMGMZh5bGtVI7jnZaiQNbta1Z+285oSoKoRbta1KZ/1bBdKH/RIxv2pRVpkoCmvpr097RWoo0CpMlTWllIenSjECU8mV43mHx2fIRfH/pncrJm3+58BWdbSqCS07/yiQnvHiCG4ZPGRFeAtfreoOubyctzHvLNHhjNvIhukxQzjU5O6QdOEzUp1Ef4d98Pxz+IPYX0bcpnT52dbedfz8y7C4R89RV+MjJkuCCx7mWDt4eyK/62lQB55xXGJK7p8u6bgRv4hVHylelYGGFs64W94tng8sAIVqSRJBpqRA9rFvAysS+9ak8s7557pz5HR4qhCRmWgplpTRJ+bhYfSAMO8/YBucWPuSdmFFtOnuWqvV2NbF6CJnbhNDzEZ/T0XSDrUydzkZCG1z/oIEyUFYxW/KPXNfwopuHDcO04UAAAAAElFTkSuQmCC",yt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXm9PXq+Pno9vfs+vttWKBGAAACPElEQVQozw3RQWrbQACF4TfCMjPqZgIj4RRaxsZKE0PuMBZ2cLKaCI9RDAXFmJJknUWWI1O1UlamOMHJSjGkuFn3AD2Cr9CepDrAg+/xIxK4QwIqHHQkUhQ/WuphInVIFBojl8QXc012Tgq4RTtVHWVLZVFh1tEoI91uiN4joCqde8Ukn/zGM1B2W4ari2PtTwyw55Ld+Wways54qhGPyS6FzbIT3lIY8WwWdCq56Yolx6KmSKzoqrsCB5heAp4TGNQWJ1Pc6XlE5jQD5OlIX9I47A9uiUQcPQxcury/ToyxWJG/za6ki88crxKPocKS59Sl3EtBG7C89fCGflpfqoSzCeC4crioJA7F0V5+8MaSIk4qSCdwzpogmbqzEirVpGiS2dOVJvUuuqFEmhHao06KEpq+8lvHI14NJk3Qrmi9vBuRLwAz0qZB4hsDXQFXgtnlpDX3C6ug9BquSw/CYtwAzuTz5vuQNdr/YibhR68378ehZH30FSpjh71LpQkrsj+Q062h5WwZ5wlRoD6uQJy1DqvSYuCUapMBqT5YA4ZFw4KlWapxoUGlKWrx0eDQvmigu4WMYt97ruru98fYL8/0lG6CTOFcFWBhFK5gKw19h2JN808nh7xhkU6sWKLXdtkqBL6h+lULK5k19wFB/FldnGYf3LDeuf6IC2/MzJOSOP0qPxLqzaGIqtBcFIItrstkazONOkrc1D1czjuwEGESB4JJnjgSMN7PXAu7fZQpl1C236C+9mM4Af8P98Ch4R2TRl8AAAAASUVORK5CYII=",It="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXPz8/R0dHT09PU1NToNyAhAAACdElEQVQozw3NP0xTQQDH8d9d7sFrG+QeKVgQ4aoFCwFkYERyLY//0UB8GNGg1WAC0RBGJrzW4mCXQmpgvCYOwEAYiulSpYtza2KiW7s5FgNJFSV2/CzfL7RwpoJ20iadmgA8owOyaxmusKE44scBeb4vIv00dqYgmf6jzWcr7W6INbDQeZbQL9ytXeYgtFfzmW1Fek5msxJlwhyt6qDDxOLQzpVPompYrMPnEnhvLm7M5BxY5nowAj3zkydAkpC0FIG6g7AK+Ub25ybyNWVYwtpseP2rfrQwiGRpfqrnMuPeuvr2dA0p2YsHF2XghkrXKtZ8tLBjR7S2qIaYbKmyLd/QP+EogLjqqwNw5Lq1pDlMLkM5+gNoSvdq+Pxmz9/61EFq6GYM6GqaGvlN95zy3gsmEWI8K3k8OP9OmRLEPO6DP3Wv3g42COinJTZ33dcIvs4ESp6opMTjDs6mcYTEbFeUifuxh989yZrIx4lkpuixxz0nHLCekKbE17suKhYkMGhoYhTZtVBvg4bfq/1L1Im0AGMVpBFwumM0zwyuKiCMi5dqR4Flx47AGyF2xTbxqUdTwCH94BT3DozpLV5WuAL/N8rGtHKjotBOOuOtCJ9E21uqsyBoLOzaXbHPrK5PQBP+fBfeidvJAeMIAmzVt5IkJJ9DBWaZDAepYUhlQqHt0h72SJ3j8TZHom64f516xx9T5evgMPgwG82jZdJaJIDyWp6LAjOCclVyzNA3iTKzIULlBQEPaTXlPHok5gISclmyaWZlqY2aTHdRHpJOwTdDEQ3ZfKtbpclcNhyVClagmY+fIfyKukntPqBgnx5QvZHk/D/MK8JMClrSigAAAABJRU5ErkJggg==",bt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXe3t7a2trc3Nzg4OCXP9lCAAACoklEQVQozwXBzU/TYBwA4N+QEr4CNbSFwcFuowSqMRvEAwShHWAYNsu7dS0dLnGUSWT4kZB4lGzE4VtcwgIDJqcOWLJxcv4BOoQZuCPxSNSD4WSWLJGL8XmAIiyo2RgJ4A1pxQQlOxRAszLTdnPu2oQGb05RC5slJld7ZAIfo4O44Bn1ud59F0BcjnYOa17Jhwc6EdiKettncsXjT1f8KUBZUW41pK0Jc1Az4dEV3rkkPBtDSZ83Blyt0kSf2PRjzIykoBwINisPbPPtljdVE9iAXRfUPkXLVIgYrCccp5g687NdZbcJ+xa5VE/HhTtT23IKsN5jj/pcUd0dTZNAqCVw72n4gOwnTOC0vvHfaauT8d9zAoRRfPpISZRVyUiw8ELzOG1b2DZpFzkSrHLhq52twDEdyZHwvp2j4uv/bjvOf23/AcEtTuJbY5Cp4YcAer1IGkUzOo2rn8LQOKjFJw3NTw24nprQXY5aF4wxcqcSdbFQ00H4xFl8Drx4X4CikvAM1tuR8bKIBCBoLnKN10KJG4zKAsc7c9WEB9gnCi6BhVjqoco6t20ILAJuVctvaEZK732cRHDRmGfuihOam0o2CHByUZ/epCcVlRs2wmCnMqsd6aSim3ibBJtm1LGyXW3Bb7tJCPlFtUG+SvPdeEUAB60lNdo+VQbLcwRNVtT68FsLcr1+NotgNihlpExS1V2SFgNbeC8bEhgm8sM17wSi6Us2gxVWJU/5GKBpandvfyYbU1yHCLpCgWGbbPXn40rehEsUXKIJr9DMKgICfjc4bl1YfvUhE/YIECGRqjCxSM9hrybAIkND5OeWfFZsXkxB+qDzb7pUQ3EfQ3Ml6EChEt3D+iS01VqC7EQ/Z/DuPQcz4yChoFQJce2Qr+NNAv0HxofmpXGqgHkAAAAASUVORK5CYII=",wt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEXm5ubo6Ojp6enr6+vt7e1FnZagAAACrklEQVQ4yx1SixUbMQgT3AKAFwDcAfzpBN1/qMrJS5w7bCQhC6IGSUGYQJd6Ox9ZPXi1AGJBavhUTT0JjYPGAab9WcDYIxsmlnxkayX8mhxCmKHA75az5cfRbWybEExiu08xDSgGym0mwuf3j4SvHeQxDJJzh2zp4iOlrD8iOb4SXyC1wiOLRTcnrje+nGamFeXVKWkmzbFIPChkmJ6Fg7mBpV8n+JGOVCd4jv1thThkjeQGNeafpeV3rsEWLfyWc8tC9jOv6FQ8rRzHOOVB+jCYEUAJpDvh8xHNFm/Tm5p5lw94Pp3NhtKEfQsGvnXhowdZE73hPwxKvjDd4i4PCdd0fe3W5fO8ktAsUAacLgstpUw60JCiPLg2XpkgiqPIYYXJd9ksGIT3q+LlevypzItvO+s0F1dBzVr2QDMUkYmuyGcrIS44mVJ7JVKwQXjYuBYp0Uetecbswzsikzu3gUR8bJC/C8Gd/NAzI/xdUGOYQQHDZ8X2d5XuzGRUiXAi9si5CRgoiToRZPtzLJkd0FUHRHZwJf0BHT1sE7gcnh0jmKKlSSF4/GBirGk5+K9NKlGDCfc9JtPhg78JdabH0YQRKNZnJ8tFnPfXHJb4xum1TTCeEmyEdbyEJLjznMLHuFD2Y9NEkSleIBs7SiCbblhgctVi9ch++kDYnn1C9DA5TvdPsToXM55wI6k+8eKT1blwPTqWb5CFJ+7dTBmab+KHy+xwNtItXhZNSpHD2fxnynrxG3ZBKRe8KBpXk11AnadlccEhr9w1nBBvBylNkv7A8eqpGBCDqhitmWQXBjjdS6idr/QjXWLDeMzMbVDoJuM8zN7WenMZWXgZ2vX3F01J3jHZbwk1LRP+DWEvDJtOUoh/AIaBUz5VpWyhuyx4QtgL/NmgC6kM/JvNe+R/C/5aL7BKIbYAAAAASUVORK5CYII=",St="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAElBMVEUQERMODxESFBYWGBkaHB0eICLm6ozJAAACkUlEQVQ4yyWTUdLbMAiEASfvoOkBkBy/O5keIE0v8E/uf5h+68qZWALELgu2MG9PP9qyvCzTVhrrsPGOCjvTfXQZvtp/W3Gy6LCITqs4q/DZ+KYl76zKzHVYpY2wNY27nqN1sbLGcrLH3/ENH4oWlGctsDu8AO+HzTLlsYdh8MzP1m6YDMz0ACfcimvakBj+mwO/+5Uta5teOD379sxK1fUxmUhv8MU3jUT5gs26PMephFznkLcpQZ6/dPL9C/GWHcCxDN6oZhD5xBm5qoYBPA+PFE/H1tXDWcWl8TW7rS+4dUzAVy0BIrvC4/HcqW2TkG1HO8q9dC23INAg7NA4AFRFkDTM2lfELPyFzi1VddcpX2z0KjHBUDmdLNJ6dDps4ytrX+FPsZwE31wSL+6OWfHOAJ3+Y0Rk/MiKfmWNPg7oVP/U3Ck9FoCkC2gBpALOiqbMNTkOe8P4FWkTD2Y9Q3+5VmV0uLUJBl68U5uAK2Kl6QDXvLxbwweOL2sixW78uU8p0ysfc7cWrF1j6B1sPJ4WgclYSnJN1bzozrhEcFHmRzBkbJWqqdG+EYJXRFmT5jnLXPUNF6WBdoFbTxYsmDXVLU/WA7MExNc93sJS5hIXDeLxzMScHzdhKvEkibr6cQXYPrmtmTA7JcInISrTzRDvShTdka0uVGrsJAAR6tSn1sKziZtfKVjAxPrJsYgZO0bye+vKTZ/DgoAoLGNO6jYHimZYTL/3pLJHawquJukjBpfz8WOGVSVIWx9ywUfS5iENutidRM4NzkAmxgUSQ68xgNOU+ZLalr4TS2V+D2xqukZig+Z9DilR7Nouzwp1cp/3E5q6Rdlf08obKvAM4qZ6pMr+w3PmQALSSBfjyZn5DwrNRVbywBQiAAAAAElFTkSuQmCC",Et="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==",Dt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==",$={themes:[{body:"#ede7da url("+dt+") repeat",content:"#ede7da url("+ut+") repeat",popup:"#ede7da url("+gt+") repeat"},{body:"#ede7da url("+pt+") repeat",content:"#ede7da url("+ft+") repeat",popup:"#ede7da url("+mt+") repeat"},{body:"#ede7da url("+vt+") repeat",content:"#ede7da url("+Bt+") repeat",popup:"#ede7da url("+kt+") repeat"},{body:"#ede7da url("+ht+") repeat",content:"#ede7da url("+Ct+") repeat",popup:"#ede7da url("+yt+") repeat"},{body:"#ebcece repeat",content:"#f5e4e4 repeat",popup:"#faeceb repeat"},{body:"#ede7da url("+It+") repeat",content:"#ede7da url("+bt+") repeat",popup:"#ede7da url("+wt+") repeat"},{body:"#ede7da url("+St+") repeat",content:"#ede7da url("+Et+") repeat",popup:"#ede7da url("+Dt+") repeat"}],fonts:["Microsoft YaHei, PingFangSC-Regular, HelveticaNeue-Light, Helvetica Neue Light, sans-serif","PingFangSC-Regular, -apple-system, Simsun","Kaiti"]},Ut={class:"setting-list"},xt={class:"theme-list"},Qt=["onClick"],Vt={key:0,class:"iconfont"},Ft={key:1,class:"moon-icon"},Pt={class:"font-list"},Lt=["onClick"],Mt={class:"font-list"},Rt={style:{"text-align":"right",margin:"0"}},Kt={class:"font-size"},zt={class:"resize"},Ot={class:"lang"},Wt={class:"letter-spacing"},Ht={class:"resize"},Nt={class:"lang"},Tt={class:"line-spacing"},Jt={class:"resize"},Gt={class:"lang"},qt={class:"paragraph-spacing"},Zt={class:"resize"},Yt={class:"resize"},jt={class:"lang"},Xt={key:0,class:"read-width"},_t={class:"resize"},$t={class:"lang"},eo={class:"paragraph-spacing"},to={class:"resize"},oo={class:"resize"},no={class:"lang"},so={class:"infinite-loading"},ao=le({__name:"ReadSettings",setup(d){const s=ie(),u=qe(()=>re.saveReadConfig(s.config),500);be(()=>s.config,()=>{u()},{deep:2});const B=l(()=>s.theme),n=l(()=>s.isNight),I=l(()=>B.value==6?"":""),p=[{background:"rgba(250, 245, 235, 0.8)"},{background:"rgba(245, 234, 204, 0.8)"},{background:"rgba(230, 242, 230, 0.8)"},{background:"rgba(228, 241, 245, 0.8)"},{background:"rgba(245, 228, 228, 0.8)"},{background:"rgba(224, 224, 224, 0.8)"},{background:"rgba(0, 0, 0, 0.5)"}],w=l(()=>({background:$.themes[B.value].popup})),k=F=>{s.config.theme=F},V=D(["雅黑","宋体","楷书"]),x=F=>{s.config.font=F},E=l(()=>s.config.font),y=D(s.config.customFontName),Q=D(!1),h=()=>{Q.value=!1,s.config.font=-1,s.config.customFontName=y.value},C=()=>{Q.value=!1,Le.prompt("请输入 字体网络链接","提示",{confirmButtonText:"确定",cancelButtonText:"取消",inputPattern:/^https?:.+$/,inputErrorMessage:"url 形式不正确",beforeClose:(F,e,O)=>{if(F==="confirm"){e.confirmButtonLoading=!0,e.confirmButtonText="下载中……";const G=e.inputValue;if(typeof FontFace!="function")return L.error("浏览器不支持FontFace"),O();const Y=new FontFace(y.value,`url("${G}")`);document.fonts.add(Y),Y.load().then(function(){e.confirmButtonLoading=!1,L.info("字体加载成功!"),h(),O()}).catch(function(S){throw e.confirmButtonLoading=!1,e.confirmButtonText="确定",L.error("下载失败,请检查您输入的 url"),S})}else O()}})},i=l(()=>s.config.fontSize),c=()=>{s.config.fontSize<48&&(s.config.fontSize+=2)},A=()=>{s.config.fontSize>12&&(s.config.fontSize-=2)},g=l(()=>s.config.spacing),b=()=>{s.config.spacing.letter-=.01},te=()=>{s.config.spacing.letter+=.01},fe=()=>{s.config.spacing.line-=.1},me=()=>{s.config.spacing.line+=.1},ve=()=>{s.config.spacing.paragraph-=.1},Ae=()=>{s.config.spacing.paragraph+=.1},Be=l(()=>s.config.readWidth),de=()=>{s.config.readWidth+160+2*68>window.innerWidth||(s.config.readWidth+=160)},ke=()=>{s.config.readWidth>640&&(s.config.readWidth-=160)},he=l(()=>s.config.jumpDuration),q=()=>{s.config.jumpDuration+=100},Ce=()=>{s.config.jumpDuration!==0&&(s.config.jumpDuration-=100)},ue=l(()=>s.config.infiniteLoading),Z=F=>{s.config.infiniteLoading=F};return(F,e)=>{const O=Ze,G=Ye,Y=Me;return f(),m("div",{class:U(["settings-wrapper",{night:a(n),day:!a(n)}]),style:J(a(w))},[e[51]||(e[51]=t("div",{class:"settings-title"},"设置",-1)),t("div",Ut,[t("ul",null,[t("li",xt,[e[7]||(e[7]=t("i",null,"阅读主题",-1)),(f(),m(ee,null,ae(p,(S,P)=>t("span",{class:U(["theme-item",{selected:a(B)==P}]),key:P,style:J(S),ref_for:!0,ref:"themes",onClick:W=>k(P)},[P<6?(f(),m("em",Vt,"")):(f(),m("em",Ft,M(a(I)),1))],14,Qt)),64))]),t("li",Pt,[e[8]||(e[8]=t("i",null,"正文字体",-1)),(f(!0),m(ee,null,ae(a(V),(S,P)=>(f(),m("span",{class:U(["font-item",{selected:a(E)==P}]),key:P,onClick:W=>x(P)},M(S),11,Lt))),128))]),t("li",Mt,[e[14]||(e[14]=t("i",null,"自定字体",-1)),K(O,{effect:"dark",content:"自定义的字体名称",placement:"top"},{default:R(()=>[Je(t("input",{type:"text",class:"font-item font-item-input","onUpdate:modelValue":e[0]||(e[0]=S=>pe(y)?y.value=S:null),placeholder:"请输入自定义的字体名称"},null,512),[[Ge,a(y)]])]),_:1}),K(Y,{placement:"top",width:"270",trigger:"click",visible:a(Q),"onUpdate:visible":e[4]||(e[4]=S=>pe(Q)?Q.value=S:null)},{reference:R(()=>e[12]||(e[12]=[t("span",{type:"text",class:"font-item"},"保存",-1)])),default:R(()=>[e[13]||(e[13]=t("p",null," 已经安装在您的设备上的字体请确认输入的字体名称完整无误,或者从网络下载字体。 ",-1)),t("div",Rt,[K(G,{size:"small",plain:"",onClick:e[1]||(e[1]=S=>Q.value=!1)},{default:R(()=>e[9]||(e[9]=[T("取消")])),_:1}),K(G,{type:"primary",size:"small",onClick:e[2]||(e[2]=S=>h())},{default:R(()=>e[10]||(e[10]=[T("确定")])),_:1}),K(G,{type:"primary",size:"small",onClick:e[3]||(e[3]=S=>C())},{default:R(()=>e[11]||(e[11]=[T("网络下载")])),_:1})])]),_:1},8,["visible"])]),t("li",Kt,[e[20]||(e[20]=t("i",null,"字体大小",-1)),t("div",zt,[t("span",{class:"less",onClick:A},e[15]||(e[15]=[t("em",{class:"iconfont"},"",-1)])),e[17]||(e[17]=t("b",null,null,-1)),e[18]||(e[18]=T()),t("span",Ot,M(a(i)),1),e[19]||(e[19]=t("b",null,null,-1)),t("span",{class:"more",onClick:c},e[16]||(e[16]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",Wt,[e[26]||(e[26]=t("i",null,"字距",-1)),t("div",Ht,[t("span",{class:"less",onClick:b},e[21]||(e[21]=[t("em",{class:"iconfont"},"",-1)])),e[23]||(e[23]=t("b",null,null,-1)),e[24]||(e[24]=T()),t("span",Nt,M(a(g).letter.toFixed(2)),1),e[25]||(e[25]=t("b",null,null,-1)),t("span",{class:"more",onClick:te},e[22]||(e[22]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",Tt,[e[32]||(e[32]=t("i",null,"行距",-1)),t("div",Jt,[t("span",{class:"less",onClick:fe},e[27]||(e[27]=[t("em",{class:"iconfont"},"",-1)])),e[29]||(e[29]=t("b",null,null,-1)),e[30]||(e[30]=T()),t("span",Gt,M(a(g).line.toFixed(1)),1),e[31]||(e[31]=t("b",null,null,-1)),t("span",{class:"more",onClick:me},e[28]||(e[28]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",qt,[e[37]||(e[37]=t("i",null,"段距",-1)),t("div",Zt,[t("div",Yt,[t("span",{class:"less",onClick:ve},e[33]||(e[33]=[t("em",{class:"iconfont"},"",-1)])),e[35]||(e[35]=t("b",null,null,-1)),t("span",jt,M(a(g).paragraph.toFixed(1)),1),e[36]||(e[36]=t("b",null,null,-1)),t("span",{class:"more",onClick:Ae},e[34]||(e[34]=[t("em",{class:"iconfont"},"",-1)]))])])]),a(s).miniInterface?ge("",!0):(f(),m("li",Xt,[e[43]||(e[43]=t("i",null,"页面宽度",-1)),t("div",_t,[t("span",{class:"less",onClick:ke},e[38]||(e[38]=[t("em",{class:"iconfont"},"",-1)])),e[40]||(e[40]=t("b",null,null,-1)),e[41]||(e[41]=T()),t("span",$t,M(a(Be)),1),e[42]||(e[42]=t("b",null,null,-1)),t("span",{class:"more",onClick:de},e[39]||(e[39]=[t("em",{class:"iconfont"},"",-1)]))])])),t("li",eo,[e[49]||(e[49]=t("i",null,"翻页速度",-1)),t("div",to,[t("div",oo,[t("span",{class:"less",onClick:Ce},e[44]||(e[44]=[t("em",{class:"iconfont"},"",-1)])),e[46]||(e[46]=t("b",null,null,-1)),e[47]||(e[47]=T()),t("span",no,M(a(he)),1),e[48]||(e[48]=t("b",null,null,-1)),t("span",{class:"more",onClick:q},e[45]||(e[45]=[t("em",{class:"iconfont"},"",-1)]))])])]),t("li",so,[e[50]||(e[50]=t("i",null,"无限加载",-1)),(f(),m("span",{class:U(["infinite-loading-item",{selected:a(ue)==!1}]),key:0,onClick:e[5]||(e[5]=S=>Z(!1))},"关闭",2)),(f(),m("span",{class:U(["infinite-loading-item",{selected:a(ue)==!0}]),key:1,onClick:e[6]||(e[6]=S=>Z(!0))},"开启",2))])])])],6)}}}),io=ce(ao,[["__scopeId","data-v-dd7cfcb2"]]),ro={class:"wrapper"},lo=["onClick"],co=le({__name:"CatalogItem",props:{index:{},source:{},gotoChapter:{type:Function},currentChapterIndex:{}},setup(d){const s=d,u=n=>n==s.currentChapterIndex,B=l(()=>{const n=s.source;return"catas"in n?n.catas:[s.source]});return(n,I)=>(f(),m("div",ro,[(f(!0),m(ee,null,ae(a(B),p=>(f(),m("div",{class:U(["cata-text",{selected:u(p.index)}]),key:p.url,onClick:w=>n.gotoChapter(p)},M(p.title),11,lo))),128))]))}}),Ao=ce(co,[["__scopeId","data-v-a892cd6d"]]),uo=le({__name:"PopCatalog",emits:["getContent"],setup(d,{emit:s}){const u=ie(),{catalog:B,popCataVisible:n,miniInterface:I}=Re(u),p=l(()=>u.theme),w=l(()=>u.theme),k=l(()=>({background:$.themes[w.value].popup})),V=l(()=>{const C=B.value;if(I.value)return C;const i=Math.ceil(C.length/2),c=new Array(i);let A=0;for(;Au.readingBook.chapterIndex,set:C=>u.readingBook.chapterIndex=C}),y=l(()=>{const C=E.value;return I.value?C:Math.floor(C/2)});je(()=>{n.value&&x.value.scrollToIndex(y.value)});const Q=s,h=C=>{const i=B.value.indexOf(C);E.value=i,u.setPopCataVisible(!1),u.setContentLoading(!0),u.saveBookProgress(),Q("getContent",i)};return(C,i)=>(f(),m("div",{class:U({"cata-wrapper":!0,visible:a(n)}),style:J(a(k))},[i[0]||(i[0]=t("div",{class:"title"},"目录",-1)),K(a(Xe),{style:{height:"300px",overflow:"auto"},class:U({night:a(p),day:!a(p)}),ref_key:"virtualListRef",ref:x,"data-key":"index","wrap-class":"data-wrapper","item-class":"cata","data-sources":a(V),"data-component":Ao,"estimate-size":40,"extra-props":{gotoChapter:h,currentChapterIndex:a(E)}},null,8,["class","data-sources","extra-props"])],6))}}),go=ce(uo,[["__scopeId","data-v-6cab38af"]]),po={class:"tools"},fo={class:"tools"},mo={key:0},vo={key:0},Bo={class:"content"},ko=["chapterIndex"],ho=le({__name:"BookChapter",setup(d){const s=D(),{isLoading:u,loadingWrapper:B}=nt(s,"正在获取信息"),n=ie(),{catalog:I,popCataVisible:p,readSettingsVisible:w,miniInterface:k,showContent:V,bookProgress:x,theme:E,isNight:y}=Re(n),Q=l({get:()=>n.readingBook.chapterPos,set:o=>n.readingBook.chapterPos=o}),h=l({get:()=>n.readingBook.chapterIndex,set:o=>n.readingBook.chapterIndex=o}),C=l({get:()=>n.readingBook.isSeachBook,set:o=>n.readingBook.isSeachBook=o});be(()=>n.readingBook,o=>{localStorage.setItem("readingRecent",JSON.stringify(o)),sessionStorage.setItem("chapterIndex",o.chapterIndex.toString()),sessionStorage.setItem("chapterPos",o.chapterPos.toString())},{deep:1});const i=l(()=>n.config.infiniteLoading);let c;const A=D();xe(()=>{i.value?c==null||c.observe(A.value):c==null||c.disconnect()});const g=()=>{const o=W.value.slice(-1)[0].index;I.value.length-1>o&&(oe(o+1,!1),n.saveBookProgress())},b=o=>{if(!u.value)for(const{isIntersecting:r}of o){if(!r)return;g()}},te=l(()=>n.config.font>=0?$.fonts[n.config.font]:n.config.customFontName),fe=l(()=>n.config.fontSize+"px"),me=l(()=>$.themes[E.value].body),ve=l(()=>$.themes[E.value].content),Ae=l(()=>$.themes[E.value].popup),Be=l(()=>k.value?window.innerWidth+"px":n.config.readWidth-130+"px"),de=l(()=>k.value?window.innerWidth-33:n.config.readWidth-33),ke=l(()=>({background:me.value})),he=l(()=>({background:ve.value,width:Be.value})),q=D(!1),Ce=l(()=>({background:Ae.value,marginLeft:k.value?0:-(n.config.readWidth/2+68)+"px",display:k.value&&!q.value?"none":"block"})),ue=l(()=>({background:Ae.value,marginRight:k.value?0:-(n.config.readWidth/2+52)+"px",display:k.value&&!q.value?"none":"block"})),Z=()=>{n.setMiniInterface(window.innerWidth<776);const o=n.config.readWidth;F(o)},F=o=>{n.miniInterface||o+2*68>window.innerWidth&&(n.config.readWidth-=160)};be(()=>n.config.readWidth,o=>F(o));const e=D(),O=D(),G=()=>{_(e.value)},Y=()=>{_(O.value)},S=_e(),P=()=>{S.push("/")},W=D([]),j=D(!0),oe=(o,r=!0,z=0)=>{r&&(n.setShowContent(!1),_(e.value,{duration:0}),we(o,z),W.value=[]);const H=n.readingBook.bookUrl,{title:N,index:se}=I.value[o];B(re.getBookContent(H,se).then(v=>{if(v.data.isSuccess){const Ne=v.data.data.split(/\n+/);W.value.push({index:o,content:Ne,title:N}),r&&ze(z)}else{L({message:v.data.errorMsg,type:"error"});const X=[v.data.errorMsg];W.value.push({index:o,content:X,title:N})}if(n.setContentLoading(!0),j.value=!1,n.setShowContent(!0),!v.data.isSuccess)throw v.data},v=>{const X=["获取章节内容失败!"];throw W.value.push({index:o,content:X,title:N}),n.setShowContent(!0),v}))},Ke=D(),ye=D(),ze=o=>{Pe(()=>{ye.value.length===1&&ye.value[0].scrollToReadedLength(o)})},Oe=$e(()=>n.saveBookProgress(),6e4),We=(o,r)=>{we(o,r),Oe()};xe(()=>{var o;document.title=((o=I.value[h.value])==null?void 0:o.title)||document.title});const we=(o,r)=>{h.value=o,Q.value=r},Se=()=>{const o=x.value;document.visibilityState=="hidden"&&o&&n.saveBookProgress()},Ee=()=>{n.setContentLoading(!0);const o=h.value+1;typeof I.value[o]<"u"?(L({message:"下一章",type:"info"}),oe(o),n.saveBookProgress()):L({message:"本章是最后一章",type:"error"})},De=()=>{n.setContentLoading(!0);const o=h.value-1;typeof I.value[o]<"u"?(L({message:"上一章",type:"info"}),oe(o),n.saveBookProgress()):L({message:"本章是第一章",type:"error"})};let ne=!0;const Ie=o=>{if(ne)switch(o.key){case"ArrowLeft":o.stopPropagation(),o.preventDefault(),De();break;case"ArrowRight":o.stopPropagation(),o.preventDefault(),Ee();break;case"ArrowUp":o.stopPropagation(),o.preventDefault(),document.documentElement.scrollTop===0?L.warning("已到达页面顶部"):(ne=!1,_(0-document.documentElement.clientHeight+100,{duration:n.config.jumpDuration,callback:()=>ne=!0}));break;case"ArrowDown":o.stopPropagation(),o.preventDefault(),document.documentElement.clientHeight+document.documentElement.scrollTop===document.documentElement.scrollHeight?L.warning("已到达页面底部"):(ne=!1,_(document.documentElement.clientHeight-100,{duration:n.config.jumpDuration,callback:()=>ne=!0}));break}},Ue=o=>{(o.key==="ArrowUp"||o.key==="ArrowDown")&&(o.preventDefault(),o.stopPropagation())};Ve(async()=>{await n.loadWebConfig();const o=sessionStorage.getItem("bookUrl"),r=sessionStorage.getItem("bookName"),z=sessionStorage.getItem("bookAuthor"),H=Number(sessionStorage.getItem("chapterIndex")||0),N=Number(sessionStorage.getItem("chapterPos")||0),se=sessionStorage.getItem("isSeachBook")==="true";if(Qe(o)||Qe(r)||z===null)return L.warning("书籍信息为空,即将自动返回书架页面..."),setTimeout(P,500);const v={bookUrl:o,name:r,author:z,chapterIndex:H,chapterPos:N,isSeachBook:se};Z(),window.addEventListener("resize",Z),B(n.loadWebCatalog(v).then(X=>{n.setReadingBook(v),oe(H,!0,N),window.addEventListener("keyup",Ie),window.addEventListener("keydown",Ue),document.addEventListener("visibilitychange",Se),c=new IntersectionObserver(b,{rootMargin:"-100% 0% 20% 0%"}),i.value===!0&&c.observe(A.value),document.title="...",document.title=r+" | "+X[H].title}))}),Fe(()=>{window.removeEventListener("keyup",Ie),window.removeEventListener("keydown",Ue),window.removeEventListener("resize",Z),document.removeEventListener("visibilitychange",Se),w.value=!1,p.value=!1,c==null||c.disconnect(),c=null});const He=async()=>{const o=n.readingBook;o.isSeachBook===!0&&await Le.confirm(`是否将《${o.name}》放入书架?`,"放入书架",{confirmButtonText:"确认",cancelButtonText:"否",type:"info",closeOnHashChange:!1}).then(()=>{C.value=!1}).catch(async()=>{await re.deleteBook(o)}).finally(()=>sessionStorage.removeItem("isSeachBook"))};return et(async(o,r,z)=>{window.removeEventListener("keyup",Ie),await He(),z()}),(o,r)=>{const z=go,H=Me,N=io,se=At;return f(),m("div",{class:U(["chapter-wrapper",{night:a(y),day:!a(y)}]),style:J(a(ke)),onClick:r[2]||(r[2]=v=>q.value=!a(q))},[t("div",{class:"tool-bar",style:J(a(Ce))},[t("div",po,[K(H,{placement:"right",width:a(de),trigger:"click","show-arrow":!1,visible:a(p),"onUpdate:visible":r[0]||(r[0]=v=>pe(p)?p.value=v:null),"popper-class":"pop-cata"},{reference:R(()=>[t("div",{class:U(["tool-icon",{"no-point":!1}])},r[3]||(r[3]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"目录",-1)]))]),default:R(()=>[K(z,{onGetContent:oe,class:"popup"})]),_:1},8,["width","visible"]),K(H,{placement:"right",width:a(de),trigger:"click","show-arrow":!1,visible:a(w),"onUpdate:visible":r[1]||(r[1]=v=>pe(w)?w.value=v:null),"popper-class":"pop-setting"},{reference:R(()=>[t("div",{class:U(["tool-icon",{"no-point":a(j)}])},r[4]||(r[4]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"设置",-1)]),2)]),default:R(()=>[K(N,{class:"popup"})]),_:1},8,["width","visible"]),t("div",{class:"tool-icon",onClick:P},r[5]||(r[5]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"书架",-1)])),t("div",{class:U(["tool-icon",{"no-point":a(j)}]),onClick:G},r[6]||(r[6]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"顶部",-1)]),2),t("div",{class:U(["tool-icon",{"no-point":a(j)}]),onClick:Y},r[7]||(r[7]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"底部",-1)]),2)])],4),t("div",{class:"read-bar",style:J(a(ue))},[t("div",fo,[t("div",{class:U(["tool-icon",{"no-point":a(j)}]),onClick:De},[r[8]||(r[8]=t("div",{class:"iconfont"},"",-1)),a(k)?(f(),m("span",mo,"上一章")):ge("",!0)],2),t("div",{class:U(["tool-icon",{"no-point":a(j)}]),onClick:Ee},[a(k)?(f(),m("span",vo,"下一章")):ge("",!0),r[9]||(r[9]=t("div",{class:"iconfont"},"",-1))],2)])],4),r[10]||(r[10]=t("div",{class:"chapter-bar"},null,-1)),t("div",{class:"chapter",ref_key:"content",ref:s,style:J(a(he))},[t("div",Bo,[t("div",{class:"top-bar",ref_key:"top",ref:e},null,512),(f(!0),m(ee,null,ae(a(W),v=>(f(),m("div",{key:v.index,chapterIndex:v.index,ref_for:!0,ref_key:"chapter",ref:Ke},[a(V)?(f(),tt(se,{key:0,ref_for:!0,ref_key:"chapterRef",ref:ye,chapterIndex:v.index,contents:v.content,title:v.title,spacing:a(n).config.spacing,fontSize:a(fe),fontFamily:a(te),onReadedLengthChange:We},null,8,["chapterIndex","contents","title","spacing","fontSize","fontFamily"])):ge("",!0)],8,ko))),128)),t("div",{class:"loading",ref_key:"loading",ref:A},null,512),t("div",{class:"bottom-bar",ref_key:"bottom",ref:O},null,512)])],4)],6)}}}),bo=ce(ho,[["__scopeId","data-v-9d9bf7de"]]);export{bo as default}; +import{d as le,a2 as Te,s as l,B as D,T as Ve,a8 as Fe,o as f,e as m,h as t,v as M,F as ee,P as ie,u as i,a9 as J,aa as Pe,L as be,y as U,f as K,w as R,ab as Je,C as pe,ac as Ge,g as T,N as ge,ad as qe,a7 as Le,n as L,ae as Ze,z as Ye,af as Me,a5 as Re,ag as je,V as Xe,O as xe,a6 as _e,ah as $e,ai as et,c as tt}from"./vendor-Cq9RjTRr.js";import{u as ae,i as ot,A as re,_ as ce,c as Qe}from"./index-CcaAk_ul.js";import{u as nt}from"./loading-DPQW_bh6.js";const st=(d,s,u,B)=>(d/=B/2,d<1?u/2*d*d+s:(d--,-u/2*(d*(d-2)-1)+s)),it=()=>{let d,s,u,B,n,I,p,w,k,V,x,E,y;function Q(){let g=d.scrollTop||d.scrollY||d.pageYOffset;return g=typeof g>"u"?0:g,g}function h(g){const b=g.getBoundingClientRect().top,te=d.getBoundingClientRect?d.getBoundingClientRect().top:0;return b-te+u}function C(g){d.scrollTo?d.scrollTo(0,g):d.scrollTop=g}function a(g){V||(V=g),x=g-V,E=I(x,u,w,k),C(E),x({dcb41ef4:p.spacing.letter,ad61d758:p.spacing.line,"6503210e":p.spacing.paragraph}));const B=ae(),n=l(()=>B.config.readWidth),I=l(()=>B.readingBook.bookUrl),p=d,w=a=>{const c=/]*src="([^"]*(?:"[^>]+\})?)"[^>]*>/,A=a.match(c)[1];return ot(A)?re.getProxyImageUrl(I.value,A,ae().config.readWidth):A},k=a=>{a.target.src=re.getProxyImageUrl(I.value,a.target.src,n.value)},V=a=>{const c=/]*src="[^"]*(?:"[^>]+\})?"[^>]*>/g;return a.replaceAll(c," ").length},x=l(()=>{let a=-1;return Array.from(p.contents,c=>(a+=V(c)+1,a))}),E=D(),y=D();s({scrollToReadedLength:a=>{if(a===0)return;const c=x.value.findIndex(A=>A>=a);c!==-1&&Pe(()=>{_(y.value[c],{duration:0})})}});let h=null;const C=u;return Ve(()=>{h=new IntersectionObserver(a=>{for(const{target:c,isIntersecting:A}of a)A&&C("readedLengthChange",p.chapterIndex,parseInt(c.dataset.chapterpos))},{rootMargin:`0px 0px -${window.innerHeight-24}px 0px`}),h.observe(E.value),y.value.forEach(a=>{h.observe(a)})}),Fe(()=>{h==null||h.disconnect(),h=null}),(a,c)=>(f(),m(ee,null,[t("div",{class:"title","data-chapterpos":"0",ref_key:"titleRef",ref:E},M(a.title),513),(f(!0),m(ee,null,ie(a.contents,(A,g)=>(f(),m("div",{key:g,ref_for:!0,ref_key:"paragraphRef",ref:y,"data-chapterpos":i(x)[g]},[/^\s*]*src[^>]+>$/.test(String(A))?(f(),m("img",{key:0,class:"full",src:w(A),onErrorOnce:k,loading:"lazy"},null,40,rt)):(f(),m("p",{key:1,style:J({fontFamily:a.fontFamily,fontSize:a.fontSize}),innerHTML:A},null,12,lt))],8,at))),128))],64))}}),At=ce(ct,[["__scopeId","data-v-dce2cef9"]]),dt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXr5djn4dTp49bt59rT6LKxAAACnElEQVQozw3NUUwScRzA8d8R6MF8YMIx8uk47hDSJbj14IPzOGc7jPLvwTGg5uAYDbe2tt56cLtznvEnS6yDqCcEaWi91DvrbLJZz7b1aFtz1aO+2OZWvn+/+4CHeB6BMYaqBLfjPNRY6RFT2JJYby+uAk4WUTrtlmJ4hgPYb2q1XGDQjaK8pgJHvqNaAX+KyuIkDXpgQinb46nOulnn4b5laUHTxLfseeArAoNOeJlOIjdoal0n1FA7tKFv5roK+YaHOqP3P0XyKHPHY+MhTRe5uCZnKhtJKw2eSrSoBDPLtpZuNcFNJcFyiCMxOaaHIfXz1e8HQbWLySrBQ4x0x1qlhnHlnz2HQEC6TNb0gTHXa7IKhcaHqkE015hk9whA0YeWiLIXf7Fa2CZo3DjqjB4tTuF8jIcbfcEx5z/w4sXpQhXW+ju0cqh7icTFmRMaG+v6CIvTjcSpHcH8JEsF3EPh3fRthYdVLLgI2fWXm85/pGFE4l046s70L+yKCcirGFR+jbpy3kMmiCGHrSezVONsn1RBixncyk2PcVWk7DlgxHo8iZwDyq5uAUD854dZhdIFYzKoQig2haUKi1lVufz2RZUZPZ41n/hrOQB6h0Hhg8I367FNoEHgeM/KY7szSeQwD8q2WE3HM35ZLl0K1MJiOtHIkBclRQUwZnyOWcNsRQQgVLj1PSqkjF9DsoOSaSg3iinKzvfmgsNFFfpP/2T3GLGvL4fHEfwIX1sVvXcPqLztehWGcfn9nI2U9nTfCgJPe/jFPLZwgVEzimBgAm0VIyK2tt1cE/AzQdLK+SxLSQ4aDCZnnId94OG2S1XwvnTbNk/ZnhyRCQT+sZM6z9g6LXL1BOBe+zJySiFkHAINCtnQokbCJ/apCv0foqPiZVfhpywAAAAASUVORK5CYII=",ut="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAACVBMVEX28ef48+n69esoK7jYAAAB4UlEQVQozw2OsW4bQQxEhwLXkDrysGdEqRRgVShfQQq8wOr2jD0jSpXCLvwXbtKfADlFqgSwC/9ljqweZgYzQFnb/QGepYhA9jzmTc1WaSEtQpbFgjWATI00ZZtIckXx8q2Oe5yEByBy+RHOTcM+VVTadULsvxvRC/q8WTwgcWGD+Mnaqa0oy2gw2pKFzK+PzEsus5hP9AHojKslVynLlioVTBEN8cjDNnZoR1uMGTiZAAN47HxMtEkGUE9b8HWzkqNX5Lpk0yVziAJOs46rK1pG/xNuXLjz95fSDoJE5IqG23MAYPtWoeWPvfVtIV/Ng9oH3W0gGMPIOqd4MK4QZ55dV61gOb8Zxp7I9qayaGxp6Q91cmC0ZRdBwEQVHWzSAanlZwVWc9yljeTCeaHjBVvlPSLeyeBUT2rPdJegQI103jVS3uYkyIx1il6mslMDedZuOkwzolsagvPuQAfp7cYg7k9V1NOxfq64PNSvMdwONV4VYEmqlbpZy5OAakRKkjPnL4CBv5/OZRgoWHBmNbxB0LgB1I4vXFj93UoF2/0TPEsWwV9EhbIiTPqYoTHYoMn3enTDjmrFeDTIzaL1bUC/PBIMuF+vSSYSaxoVt90EO3Gu1zrMuMRGUk7Ffv3L+A931Gsb/yBoIgAAAABJRU5ErkJggg==",gt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEX6+fP8+/X+/ff///kbczPAAAACeElEQVQozxXHQUgUUQAG4P8936yzs6VvZNZmN9QxVxiF9OLBoOjtOC6rQq6ygXjI2fCQBdXBg4egtzFGdqkoI+zgBFbqkm3hQSxhFYLotOcubeKhOnVYoqQy+m4f5g5TvpX0xHLbLY9j8SMhJp+Jk4LfAUS2kVRIjILmnwGBTX42PhCVlDJQkIiy2nWAvaJ1h+oFIpJ0hMSYVbyyrgDWshcMpMyL1brPDQKWmduO+KTJ6XeXAMK9Yc3FpD7atyNwg6kt5XgFpLPhjUTFSYVn2abDiugGShwD8JTVRJVo/2ecuKtRb/qc4BK+9TboFfokog4T2Fn6Oqdnsjk90NMS76Rji6E0NmwkPBAZ4Xbkw8KoDAkAbEhkc78e9omxxgxg6qa5HvMv+UZbCV0qmHnSHKl5TxeA2XTCGWekR581mwC5crBH81PznASqB9va3TbkYAjJPLfg5uBfXaJgIgIBv9eessRIhxe7PA7kj6uUMeMaQ/OEQOYRaaHlqH2Gxwsl6E/pwVY5FH7uCypBZPKvDQyVziYBrAkMURe2MOOOxG/eQpp5PF+bFzUV5HtPj9GeiVSNZDELleifYTp9NAjsoiXg4cW+4ZORkdSMB/B74aAdjhsVakhgkugsbmqcDSLEoWp8zRjrux3tli6Q5uM3E+maT99Wy0RiP7tboiuRZle2c6CYeL2kcUc1KvPtQKucogMadKVTQOJYCeyCYlhQQ/Q7Etfd/vBygy9iqy+LyHeF46saCYvW6ingsbA9RBWtdi8GgUXW+oQx9/wP6bAAX1TWeV+CbShZDlQ9xT6SoSxZmKRAkmXb60kzEzkRF+Ccb94BGspGJoN/UzmyR4wjXHAAAAAASUVORK5CYII=",pt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAMAAAAp4XiDAAAATlBMVEXdzaHh0KPgz6LdzKDezqLczJ7ezZ/fz6Dcy5zi0aXdzZ3fz6Tfz57h0KDg0aLcyZrg0KXi0qPfzZ3j06bh0qbdyJbfzJrhz5/cxpLZwo0vDconAAAFn0lEQVRIxxyPW5LjMAwDAT5FybLl2JnM3P+i6+wXWVC1GoQGaD0h4XM3Q5o4T0HgABHBi6pZ4CDXXcUOFd6VhqC3Kch4EI8w9oMXwvU6m5LOOvcxKMOhuu8i5+5cMjcgb0t4F2uvOoeI3/MlT4IqsbtM9UG2AGSXUOsxzPevnXzK1CSHytZLvx7VdQmUcJsJCxJh2nmHW12Qod1qPjt8pih47uQ9aGpoNWF+yElCt60oH7vdIU/MnlRPSBLC/VwqxcKR8PFqnADN9ih5ufqnTlG9KwCofvs7kKYqOPHTNMQ93j9qNImFw9vjHPZ0F1m8hUUVB/Q/TrRYDMXr9++APMFARAt6sPh6wVAXzxUGhZsFUwCNfPZ8/72TAHebAhvuOuT3gO1Vn5d9Jd5sBRkg0p2seL9B7ulkjFJFIt9HPpLzdSzzMP3UcodAfMqC6pBuET2heHK1itZf1GZ1bi0BwOSxiCS8f/JBHMPMM4XCu3Mt1uz9lJbDJRqsKDZuikzkvskQEz6hanfDfO494azY5JpqPqOF1RhxD9XYEdaNxiqWqakKgmPfmrsta8KAiwF4HBxGVUJAgeSqQaiRRZJ7D2jedhw5t1CIAKxag0CBA60BpoBE6DcUi8O5AuM4pLfN0kHLmeu2B4e6HofqbgxsTWUw3PAODqa1oDtyzgXBlusi1KFdclMPE8O3jvLJ8RNi5/RxDQVzVmXA233XQ4KummunfxvLOZo+iH37964YjP06995CTdu9hsvErqJNzmf4wTrZ5DL7+qW9EoLnadrx67b8dUtrJnBXaT1N1uvPaYRKpWkq52xNsMN7vv4Sdryt/f4MhQoMCKnvVxikai1CQ6ZsnwJDc8+3Y/z8HcfvYQNq66pnAu1Hwa+3KNSwbNu8h3nDPqTl9fl7tx8fBhFfdS0o0F3JUKEZtZG9b/LZEM95lzaR30OnWPzroMxyZYdBIMoMnpN0J+m7/40+/P4soFSUjgzE7yY5zrMJuoZv0CmpVguYx1pprfb5HOviRVhHUVi/352shxCYrYBZxGtVaxiAz/MsaGSIsB7R1t4zJXH//n7RTTQQwxqcGEqEvklFHUgiO2GvJV+jAIPR+N29usWDoiSOVrN3XuqT1egQJAAU9EwslVJC8u0rGcy+WPqktJhjfMpatIG6CDAb0v5H34MGKqiVRue7GGLZ9Otxtt4JIrAhxBDwDuqI9JavcO0A7GlqFt219tH/bln9jBXzaKWAEqJV0CBxs5TwM8EvUPHaa8S86vN303MVWOsl3goDBHPWSoQ9c0kQmCKljfsKNH1+ofEOHW8a9a7glZGS8fPieL/SRSs0LAhI4FDTnXs1QYtubv2+IXPZpHB4bhivRexBkYKsSrYXNjvMUbVXpVJ+N6haV72c1k2zrnv5IYBMJBYTSZx0KTkoM3vY93rU/qs7zHplc/3d2ACadhFWByrn9LUk2IWb5JywvawTQc3F0iz+lgsBmInAIemBJtft2plKIlAFOgcroigrG2XlDsAzywQECNyaI8yr2ogoh7D4qJOYmZBzQgoZAM1PAcB8sDrr1uE5CDMR+nWSSVUGUCHAs8Vd21HOE0FzNj37pX0sLp9p3K8k++xxpkmzDxK64rmTSJnDUuIgTeslui6lg92jonZXI4jqNiUuzN4IagcKMjCniMGCODoo8T4tGDprn2hRww+NrnYiCwokd9iiWrkmbRfXYGLAoZrjO1lVQKExjUy5fIkgJURmz2uGFdASwwlWx5gDVTMK7hP6ISRVsFbYNmqtZL9MQtio285PaekyzDhZmtdexCYB0SZcTmBdhvdbmAEonk8hwcHQuZN1kVqrhyKoHHsnQhQAjF7SG533Da2S4LGjx1LoZqp7XeKQLDUBmYmydG0NQHpMeR5lRIRQc1PQ2ASMQflF4YBDMt0/GFlEHeRwCcEAAAAASUVORK5CYII=",ft="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAALVBMVEXx58b168ny6Mjz6sn06sf27Mvw5sTz6cbw5cLy58T37svv47/168v37s7t4Ltrv0//AAAEjUlEQVQ4yw2Ty2sTURxGf3dmOqmPxb0zmaStCnfmZpL6gpmbxIpUSMZGrSJkxsZiVZimNVaqMklrUnWTRq2KIDFWWx+IFrIRFxXEB4KIgqu6EBdu7M6FIPg32PW3+DhwDmBaYrK56KP4HGIsvg/uvOV0wK+qgBMlO9BujuH4DSJlOseqV5a/BEF97gt0ChyIPqBhXI9BtqtIB8vJB/LdCQ3OVjaLNX0g7+OmoI4e7nkemAqX6o8vg0yyQAyQS7IfgvFbI+6QyI3R4KELxw7kwM2ooQfyQigYnwY5MZbMlHI1DvnQVCoVcrt+R+bO7vPDif3ybNajwqAAe443dpfDsPt379VMWZzGRuqM79mQF+DUz9nt74bQ8J/O80MtVR51U02JKKmTCvTzLVf+vuxP/aHnPo9+2bW+zVsJ0Y630/CrfzX+b+UL+7O68Rczv+7lrMh5etfKXvhc2rk6KforxuoO2xB2tcxKfeXHt18rHOiHI/0RRjW/YGRDkHiwo3nzqL60o58C/bgRuaj7vk+QOwOhpnFNdjuWpKMCGP8Yapu9Ty5FTHKQLGSEFikjd9ADwP9ciaNNjc5qMH6w50AF/LKOsOYqsOG9GjKgc7ZXolqntm6fysJ6Ma6ll2CiqmOgE6O7x1wXExklbeqMYcwsmJmOoigt8SBg2WfilDSsAZJcBxDcrqtBXzFQJqZNHfscyIhoZlygAtyYAceah+elrFbI+46gEHDGiW878Kj7JpWyfhg6iyRMymV1MKBSeVpfgLHIohyTojI6sRyK1VpcqzVZeEBLOnA9unhGKUXPJDYtV9Dxuz4iA5xSkSWhCJdAiJR9PHlvfvbntbrR14FDqUNRAYDJmSnv3oKxuz5+7fiblgVJyYLTbgUM05P7LESkoXvyWNfb0aUU6FZizgQIa25VqKQZqFrk6v6BsqqIHlQmkQ9KrBhkC20/DrFsAFEEYLjM+lj2wYHXCwnNvZQR42XJ2iVK+UBXnI+OBE6oXpUUHiQ1yg0MhA03iwGbnOdQYc1CMiPIPQrCQJFH4L4BMFktAtKd9PN5gnU2Gra4KuK+V+mjtBRpAGIqDVe4wnSnajiFGO5d7smvhVQEMEYwqshrENIEaY7YeblJYtsb3QhAHWZCEKK67swwPMKw0If1Ta+6DgHmlgPzcUTSbi3rrv1Y64/BYEMPQ5SDHUOR022B4QRF6xLUPAaPX/V4IDI5N2BMwx4LqO1uO4j6uW7NvM7lATqGAxY/ZHVgoGZbu7SvkNR75x6qGSB23FdouENVwN7sCbewTdsXGrrnQ5ZZKOCOFtMTIzxlPu6eYmtL+nMFmoK7OeXajn86r9sqWbfmvHC4IagE5qfCPGZvLSq5F55hHIxJFa4/vRxHBlz0og4TojU1l/MOHJX17lybdF0mQhFO44JYUNt3UA473IXw/iPfDWtKG5oFSXIF5iU/VnyDSjxxeDk3jAXRyVyGTNB9FxH9qcFDNJpVbt2y9LytUXkK7Py6+z1RezHQqnoY8XcLimmd8dCnBhQCuaGpJCq3SoIlmYvLz8UkWhJw7T8k+Db/DYEKwgAAAABJRU5ErkJggg==",mt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=",vt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXN383Q4tDP4c/R5NEInCCXAAACVElEQVQozw3Hv2sTYRwH4M/79pJ7bZL2bXqtERJ97zjUpbZDhg6pfC8qibi8hLR0EaJ0EFxaCSWDxjfpj1zrYBcRBKE6SAfBJWsx9i8IQfdQxDlKtA6t2OnhQfN3lbG7ytYRywF8rVoPCNO0X2sQOKDpAnSDK2VwkHgmh5yLGT8qASt+2KofnNt2Xg1gf1UF8AoM6052cRMNaloLZb7RKQGrKKji2OefsZF+VqIvos5ZLVIZCX61JcwUdk56wASVkgQvzPfvmT2twTSwyYaC/Pl/UhAHorFhBgZtL6XdAZRp1tkPwC1NLa9CWs5prLhI85NBQsLdXvjDymG3/EbYfQhVNYqc3TtktQhWLY3ko0QsdMbSEp+64v0NfxyqLbIGdh6M2xHHlLBGqKTyQo4E/nebBgBfe1GpdeywYXc8CT7D3cKXuMXkBy4xN6o5OuKamYp3DVI6uccO9lxgd2CAlJgI2BGgaAgIJV/TYwKqu3WFccjbMuA+bVkWgS2bfnlRbD1Eb1sDyWMmjKYIBgGAWbqKRicfvzBkBIz3V5AKnguWdglQEysQsSuVzOg6ALy1pitA5ykGCsc857BRYcgCSZyFOdvoOigSGoPc5Ta73mgxshIcQE5sHMHd9D7yqITw7JO+GHVMxjhzYLcKPSEgmz3fU+BRy3iYNtiXLaBssCW8KguReqkQOTb3MStV0Ugt4U1eIs1RZWRII6Ww8xeNNItyGGQI4ZMlpg/3lQtkl2JFnBp1imRyFe0kK2Id3PCslMgiQNMS77gvFeDhG3cSkYvheeg/e7ClIh5oh+IAAAAASUVORK5CYII=",Bt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7eHl8eXj7+Pn8+eTbH1KAAACPElEQVQozxWPQWrbQABF/0xn3JFKQRTZOIuUsbCCbOgdRoYEOauxkYPcTRyTlPQWIxEltrsRwQ6hK9nEQek6F+gNTE/Q3qLLusv34cN7SH3mFicdYW4gNIhJWXPBRVXzjcFD0IqeU4o4PRbAIVjyico0vJpIifqPfL80QN9DAQY5ucRHE/hpHxBldXe9GilaHKcKMlj6pho2zXgkNdBl0oJ8kiF1DSiJF1ZHBJkQr0Dbux/5I42Zp4cFahJDFGeW6/QjBwmFY/Q7vZ2SnoOdW2parv/Cnm81+m0xrEfiVXQ3W4nOXIqVYi3l6AAQBwMFkViVBANMto4enXHPNTkHBB0oVj4r5vHzCWayrgBvxtygDlDB2CNDjd80ZInY69aKVYZcfJ8DW+fWuc+syEODALx+ojqoafHsthTI+ZW27PGpIeo/cR6YKcbqIuIFhHmBrzAovzIOOJk1ucvcDzrMRYGVBH2yvcAOf0KiKwfRovBI3tm/kW1eemtfNWwIIXE2mJNhvoszfmMBfRCv0OPwd2321uDW3nx2q/BDxFVeoN1g7a6Im8yRnoawa8kbdXnU0cHeTMxKfZGlJgvLb3sKsxgglQnDdAfvj9LUnqWRDo0GiUmPwyU7TAsD7wHeIW3Nfy1qVGKoE9NgJCdYCAexNRob9yCn4DAQmXtQuUtera6bEmTTXhZy6h856xi4mnEl6BI9mfISkLbtJyZIMJIAUd5ZOBEu88KRAk71yxfItj/hpIB0Errv4gO1os4/UICf+o3kkqwAAAAASUVORK5CYII=",kt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX0/PTx+fH2/vbz+/P4//htSO9OAAAC5UlEQVQ4yyWT0QGjMAxDZTsDWKQDmJQBYrgBUsr+M517x0+LRWw9CyA+pC1YzndrMgHaNXVKQ+di13Of1qbur48nWhuRjj8i6ON8e7pNm7zyag/DBTfS9Z4Hup1fUuXMKY4HEE8QOHCByXkIkl7lDT239RtL9quO4JItmmhOAHXg45QuYKrQFLyGJcRvaTw6kQqZy6mkR6JAPFH/XqsQjEDRmUOA+MNLHGyMUT7AHApoAhjgjIJmCxy6XHdf648AWCdGe57IUDazCeTImQOY4/z+eVYVX2IjOw9RydeAeJwl79iGi4HpgQgHEchWraUZLtayu8scq0lHHHUKMY3Ml8hB7CS1jOckDLG9ccgNeX3124phOcjL9fPnWJhTXpLHeG9DRmHnTxHEaHakS2J51lwAJcUraNbuU7q4gMTDQj3Eripc/x+qFM5VEKAB1roQfAkX5/PxqnS2QpOrxfK1Zft0/omV5T+xCSBUAIbEIwUQgvAfxFE1O8dnk233+1UZiqJ1mAbsue6Yt8tF+yOrxC/YrUhzC4qPlE3EbR5hGKhhHdlrg7J9WunV7L7BcYQwAeE59u2tnN1c6gfVYrQiLSZ9OxZdWDXQq0+r0Pbarh3UqGCwauVvbiXuDsNxCtLDdW9rTF8oQYN4EoXXdfmwNguQP26n/tRjDeo+F2W7PjWtfSr6Bn/z+cXOLp4NnMV4RytvSW4B68m+XN9XfZTFGhO/S+cHTuTqZDC21ccA0N7QsePALaDQC3D1f94U9CWo+aq6BjB3v0rxIimBM12296M3aKPHjXLQE9KQKH4By8RHraJ3AgVto2r4xdFqlaPaiAHLl1ZF4P2pI6cYc+K8UZdcmxy7lqGc1IoPxLmIFuIeEZ6j2sQT88muEg1zwrEDTIX5U/ZmcsqfgVlBumiBLF4sAyhf9BFlXOPKLZ4H0iFb3VoHrGhtHTldKrOvP2/reu2zfV8CXMPqzRdlgd0a5eI7WwB/AYcgavcqxXWEAAAAAElFTkSuQmCC",ht="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXM2t7O3ODQ3uLR4OTDp25yAAACdUlEQVQozw3P70sTcQDH8c/3/M7NG+j35mnHwjwh4hRy/QFK3zvPNbeIG1koPZmxfj2IDAwihL53zj0JYisfmEHcZJZOiBUG60lZiI8T/ANusuftgQ+kCPIPeMP7hS5mUrV9c1g6MQCAEZ8tDLHwofImAGRlX+SZK3Vu9rRRPuO4PK6/9nA4GIATsxlODS+rdCMhkAZivpYV0LWoQHSLSA4NfUg+6mY+7BKL2++F9LvnrBDYm6JO9i/YO3i/HJTGQ4pdIV82TbEDFG6vGYCd4wZchgK5J2CrKTLE+Tx0v+YGlIbdWJFcQl4ptBN8fUJQN1MCJLcZLYwUVVo+famGGty8EXJF5ofOEDzcodT3/Fb0I5sHmc1ZG7CcSl8COgxlXx09jT05OafjCZLIHJhGIaU6wDZHsuMQ41wbdjmQXbhKnMq1zlXSYrjCnyZblqexA7fC8RxS74tq2P3OxSQwTuJSApH8OZLzBBp1pOe0i3rdyDUA47GySZ31YmC4EQYSXvFSvieORGBxXF9aeVtUWKGS9WMC4Z9Y2uXnJ2nCUXVMbPOYqNYNmGWWQ7Evr+BWC+a0JAMTImcq/S4Z5INdQMeuOqDIMa9beilxfA60iC6sP1INcPDpmHBW8drZHNmqwyddJtVje9q8WGUgWAOzmbU4FCQBFi8B2Wk6pickBnYhJMenmJGuRmtt2IoKq9NuFGbNFR99sHnvrnLsLysKANDIsxbp6RNMAsoDSKuRpMwZbAAzI68QatIjmZ0aImyM3O8/4e2MNlOHZomFsa/fLDsysliHS+nlYLQJMnynxrH8QO4PaAV2Li8B/+52UgeGIVNFYf8B1XG/kFSmLcUAAAAASUVORK5CYII=",Ct="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXh7vLf7PDj8PTm8/ecW+lZAAACZElEQVQozw2RsU8TUQCHfz3fw7MS87jeI7DdmSMpDEoHE+P0HqGkvRR8vb5XC4NpN2RQZqcK9xJkwtriekcggerC4OZADDiT+A+goxv/gfwB3zd8H/T6vYF/pTZkCSmDNd3CBEtmZJP4N+CvvhecDvmntKsvwB17rpbIRTLOEoYkj9KZzRUuJsuBQFwgptyJ3Y7EL4V+ud5LO1UnMeQSSObqisiISZkbQBlliP3qWSk3GPQXjxv6VF2BTDO4ySx1zhuJXbA2wBNJF4t5vH9keg6wu5NvUpLtXrZ3OHC9ZsgVcZdOl38PM1y/L6m8GRiErj4AqezUjHGatGGIgs5NJDHh8Ua1IuB4035haVT6SaYWMoQ0eJ3rB/Gpnr3fB49YAy1Wa21YKqAHOmAveVw6CCMGMZh5bGtVI7jnZaiQNbta1Z+285oSoKoRbta1KZ/1bBdKH/RIxv2pRVpkoCmvpr097RWoo0CpMlTWllIenSjECU8mV43mHx2fIRfH/pncrJm3+58BWdbSqCS07/yiQnvHiCG4ZPGRFeAtfreoOubyctzHvLNHhjNvIhukxQzjU5O6QdOEzUp1Ef4d98Pxz+IPYX0bcpnT52dbedfz8y7C4R89RV+MjJkuCCx7mWDt4eyK/62lQB55xXGJK7p8u6bgRv4hVHylelYGGFs64W94tng8sAIVqSRJBpqRA9rFvAysS+9ak8s7557pz5HR4qhCRmWgplpTRJ+bhYfSAMO8/YBucWPuSdmFFtOnuWqvV2NbF6CJnbhNDzEZ/T0XSDrUydzkZCG1z/oIEyUFYxW/KPXNfwopuHDcO04UAAAAAElFTkSuQmCC",yt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXm9PXq+Pno9vfs+vttWKBGAAACPElEQVQozw3RQWrbQACF4TfCMjPqZgIj4RRaxsZKE0PuMBZ2cLKaCI9RDAXFmJJknUWWI1O1UlamOMHJSjGkuFn3AD2Cr9CepDrAg+/xIxK4QwIqHHQkUhQ/WuphInVIFBojl8QXc012Tgq4RTtVHWVLZVFh1tEoI91uiN4joCqde8Ukn/zGM1B2W4ari2PtTwyw55Ld+Wways54qhGPyS6FzbIT3lIY8WwWdCq56Yolx6KmSKzoqrsCB5heAp4TGNQWJ1Pc6XlE5jQD5OlIX9I47A9uiUQcPQxcury/ToyxWJG/za6ki88crxKPocKS59Sl3EtBG7C89fCGflpfqoSzCeC4crioJA7F0V5+8MaSIk4qSCdwzpogmbqzEirVpGiS2dOVJvUuuqFEmhHao06KEpq+8lvHI14NJk3Qrmi9vBuRLwAz0qZB4hsDXQFXgtnlpDX3C6ug9BquSw/CYtwAzuTz5vuQNdr/YibhR68378ehZH30FSpjh71LpQkrsj+Q062h5WwZ5wlRoD6uQJy1DqvSYuCUapMBqT5YA4ZFw4KlWapxoUGlKWrx0eDQvmigu4WMYt97ruru98fYL8/0lG6CTOFcFWBhFK5gKw19h2JN808nh7xhkU6sWKLXdtkqBL6h+lULK5k19wFB/FldnGYf3LDeuf6IC2/MzJOSOP0qPxLqzaGIqtBcFIItrstkazONOkrc1D1czjuwEGESB4JJnjgSMN7PXAu7fZQpl1C236C+9mM4Af8P98Ch4R2TRl8AAAAASUVORK5CYII=",It="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXPz8/R0dHT09PU1NToNyAhAAACdElEQVQozw3NP0xTQQDH8d9d7sFrG+QeKVgQ4aoFCwFkYERyLY//0UB8GNGg1WAC0RBGJrzW4mCXQmpgvCYOwEAYiulSpYtza2KiW7s5FgNJFSV2/CzfL7RwpoJ20iadmgA8owOyaxmusKE44scBeb4vIv00dqYgmf6jzWcr7W6INbDQeZbQL9ytXeYgtFfzmW1Fek5msxJlwhyt6qDDxOLQzpVPompYrMPnEnhvLm7M5BxY5nowAj3zkydAkpC0FIG6g7AK+Ub25ybyNWVYwtpseP2rfrQwiGRpfqrnMuPeuvr2dA0p2YsHF2XghkrXKtZ8tLBjR7S2qIaYbKmyLd/QP+EogLjqqwNw5Lq1pDlMLkM5+gNoSvdq+Pxmz9/61EFq6GYM6GqaGvlN95zy3gsmEWI8K3k8OP9OmRLEPO6DP3Wv3g42COinJTZ33dcIvs4ESp6opMTjDs6mcYTEbFeUifuxh989yZrIx4lkpuixxz0nHLCekKbE17suKhYkMGhoYhTZtVBvg4bfq/1L1Im0AGMVpBFwumM0zwyuKiCMi5dqR4Flx47AGyF2xTbxqUdTwCH94BT3DozpLV5WuAL/N8rGtHKjotBOOuOtCJ9E21uqsyBoLOzaXbHPrK5PQBP+fBfeidvJAeMIAmzVt5IkJJ9DBWaZDAepYUhlQqHt0h72SJ3j8TZHom64f516xx9T5evgMPgwG82jZdJaJIDyWp6LAjOCclVyzNA3iTKzIULlBQEPaTXlPHok5gISclmyaWZlqY2aTHdRHpJOwTdDEQ3ZfKtbpclcNhyVClagmY+fIfyKukntPqBgnx5QvZHk/D/MK8JMClrSigAAAABJRU5ErkJggg==",bt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEXe3t7a2trc3Nzg4OCXP9lCAAACoklEQVQozwXBzU/TYBwA4N+QEr4CNbSFwcFuowSqMRvEAwShHWAYNsu7dS0dLnGUSWT4kZB4lGzE4VtcwgIDJqcOWLJxcv4BOoQZuCPxSNSD4WSWLJGL8XmAIiyo2RgJ4A1pxQQlOxRAszLTdnPu2oQGb05RC5slJld7ZAIfo4O44Bn1ud59F0BcjnYOa17Jhwc6EdiKettncsXjT1f8KUBZUW41pK0Jc1Az4dEV3rkkPBtDSZ83Blyt0kSf2PRjzIykoBwINisPbPPtljdVE9iAXRfUPkXLVIgYrCccp5g687NdZbcJ+xa5VE/HhTtT23IKsN5jj/pcUd0dTZNAqCVw72n4gOwnTOC0vvHfaauT8d9zAoRRfPpISZRVyUiw8ELzOG1b2DZpFzkSrHLhq52twDEdyZHwvp2j4uv/bjvOf23/AcEtTuJbY5Cp4YcAer1IGkUzOo2rn8LQOKjFJw3NTw24nprQXY5aF4wxcqcSdbFQ00H4xFl8Drx4X4CikvAM1tuR8bKIBCBoLnKN10KJG4zKAsc7c9WEB9gnCi6BhVjqoco6t20ILAJuVctvaEZK732cRHDRmGfuihOam0o2CHByUZ/epCcVlRs2wmCnMqsd6aSim3ibBJtm1LGyXW3Bb7tJCPlFtUG+SvPdeEUAB60lNdo+VQbLcwRNVtT68FsLcr1+NotgNihlpExS1V2SFgNbeC8bEhgm8sM17wSi6Us2gxVWJU/5GKBpandvfyYbU1yHCLpCgWGbbPXn40rehEsUXKIJr9DMKgICfjc4bl1YfvUhE/YIECGRqjCxSM9hrybAIkND5OeWfFZsXkxB+qDzb7pUQ3EfQ3Ml6EChEt3D+iS01VqC7EQ/Z/DuPQcz4yChoFQJce2Qr+NNAv0HxofmpXGqgHkAAAAASUVORK5CYII=",wt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEXm5ubo6Ojp6enr6+vt7e1FnZagAAACrklEQVQ4yx1SixUbMQgT3AKAFwDcAfzpBN1/qMrJS5w7bCQhC6IGSUGYQJd6Ox9ZPXi1AGJBavhUTT0JjYPGAab9WcDYIxsmlnxkayX8mhxCmKHA75az5cfRbWybEExiu08xDSgGym0mwuf3j4SvHeQxDJJzh2zp4iOlrD8iOb4SXyC1wiOLRTcnrje+nGamFeXVKWkmzbFIPChkmJ6Fg7mBpV8n+JGOVCd4jv1thThkjeQGNeafpeV3rsEWLfyWc8tC9jOv6FQ8rRzHOOVB+jCYEUAJpDvh8xHNFm/Tm5p5lw94Pp3NhtKEfQsGvnXhowdZE73hPwxKvjDd4i4PCdd0fe3W5fO8ktAsUAacLgstpUw60JCiPLg2XpkgiqPIYYXJd9ksGIT3q+LlevypzItvO+s0F1dBzVr2QDMUkYmuyGcrIS44mVJ7JVKwQXjYuBYp0Uetecbswzsikzu3gUR8bJC/C8Gd/NAzI/xdUGOYQQHDZ8X2d5XuzGRUiXAi9si5CRgoiToRZPtzLJkd0FUHRHZwJf0BHT1sE7gcnh0jmKKlSSF4/GBirGk5+K9NKlGDCfc9JtPhg78JdabH0YQRKNZnJ8tFnPfXHJb4xum1TTCeEmyEdbyEJLjznMLHuFD2Y9NEkSleIBs7SiCbblhgctVi9ch++kDYnn1C9DA5TvdPsToXM55wI6k+8eKT1blwPTqWb5CFJ+7dTBmab+KHy+xwNtItXhZNSpHD2fxnynrxG3ZBKRe8KBpXk11AnadlccEhr9w1nBBvBylNkv7A8eqpGBCDqhitmWQXBjjdS6idr/QjXWLDeMzMbVDoJuM8zN7WenMZWXgZ2vX3F01J3jHZbwk1LRP+DWEvDJtOUoh/AIaBUz5VpWyhuyx4QtgL/NmgC6kM/JvNe+R/C/5aL7BKIbYAAAAASUVORK5CYII=",St="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAElBMVEUQERMODxESFBYWGBkaHB0eICLm6ozJAAACkUlEQVQ4yyWTUdLbMAiEASfvoOkBkBy/O5keIE0v8E/uf5h+68qZWALELgu2MG9PP9qyvCzTVhrrsPGOCjvTfXQZvtp/W3Gy6LCITqs4q/DZ+KYl76zKzHVYpY2wNY27nqN1sbLGcrLH3/ENH4oWlGctsDu8AO+HzTLlsYdh8MzP1m6YDMz0ACfcimvakBj+mwO/+5Uta5teOD379sxK1fUxmUhv8MU3jUT5gs26PMephFznkLcpQZ6/dPL9C/GWHcCxDN6oZhD5xBm5qoYBPA+PFE/H1tXDWcWl8TW7rS+4dUzAVy0BIrvC4/HcqW2TkG1HO8q9dC23INAg7NA4AFRFkDTM2lfELPyFzi1VddcpX2z0KjHBUDmdLNJ6dDps4ytrX+FPsZwE31wSL+6OWfHOAJ3+Y0Rk/MiKfmWNPg7oVP/U3Ck9FoCkC2gBpALOiqbMNTkOe8P4FWkTD2Y9Q3+5VmV0uLUJBl68U5uAK2Kl6QDXvLxbwweOL2sixW78uU8p0ysfc7cWrF1j6B1sPJ4WgclYSnJN1bzozrhEcFHmRzBkbJWqqdG+EYJXRFmT5jnLXPUNF6WBdoFbTxYsmDXVLU/WA7MExNc93sJS5hIXDeLxzMScHzdhKvEkibr6cQXYPrmtmTA7JcInISrTzRDvShTdka0uVGrsJAAR6tSn1sKziZtfKVjAxPrJsYgZO0bye+vKTZ/DgoAoLGNO6jYHimZYTL/3pLJHawquJukjBpfz8WOGVSVIWx9ywUfS5iENutidRM4NzkAmxgUSQ68xgNOU+ZLalr4TS2V+D2xqukZig+Z9DilR7Nouzwp1cp/3E5q6Rdlf08obKvAM4qZ6pMr+w3PmQALSSBfjyZn5DwrNRVbywBQiAAAAAElFTkSuQmCC",Et="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==",Dt="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyAgMAAABjUWAiAAAADFBMVEUWGBkYGhsdHyAfISI1t/v6AAAB5ElEQVQozxXQsYoTURSA4f/EeycZsDgDdySDjihk38Hy3GWi2J2BCaziQhaiaB+tt9AFu1kwvYUPsIXNPoB9BAUfwAfwEUzKv/v4odGrroyp9/rUaC6rZ5skv5F8qPsfYYP+yKUMymmAEEeW55oUR4o8jr05KNzJ07yvB7w0KKfLwcQUSjfmMU0PJfPHFoEVU+ohNrcKMEzMQ23FDnVSI2dqtYWI7KlLu6vE4UnyvKc3SJuL7lBbeEEl42ItpGLjzIT8PRJCmkRjVpVpsbJFVN0687okJNZiHAr5Z7MV0BnGIDc+THM1zlbieBc1Fq+tH5BH+OpnbWkj40hSqC8Lw2TvFuF0SUFJCk2IytXbjeqcRAt6NHpnrUkUU4KRzZs8RCK8N/Akn2W04LwxMU/V7XK0bDyN2RxfDyx7I4h5vjZby72V8UnOWumZL3qtYc+8DTE0siSBMXGhywx2dMYPnQHbxdFZ7deiNGxCCtD/QWnbwDoGhRYPDzUdUA3krjpnkvdAgDN4ddLkEQSov9qjd42HaDjI34gEqS9TUueAk+sc4qg5ws407KQYKs8G1jv4xBlqBVk6cb4dISZIwVi1Jzu4+HLk6lyfUxkXvwy+1Q+4WVdHIhwfybZ6CWVhxMEhShOgsP/HOW0MvZJeFwAAAABJRU5ErkJggg==",$={themes:[{body:"#ede7da url("+dt+") repeat",content:"#ede7da url("+ut+") repeat",popup:"#ede7da url("+gt+") repeat"},{body:"#ede7da url("+pt+") repeat",content:"#ede7da url("+ft+") repeat",popup:"#ede7da url("+mt+") repeat"},{body:"#ede7da url("+vt+") repeat",content:"#ede7da url("+Bt+") repeat",popup:"#ede7da url("+kt+") repeat"},{body:"#ede7da url("+ht+") repeat",content:"#ede7da url("+Ct+") repeat",popup:"#ede7da url("+yt+") repeat"},{body:"#ebcece repeat",content:"#f5e4e4 repeat",popup:"#faeceb repeat"},{body:"#ede7da url("+It+") repeat",content:"#ede7da url("+bt+") repeat",popup:"#ede7da url("+wt+") repeat"},{body:"#ede7da url("+St+") repeat",content:"#ede7da url("+Et+") repeat",popup:"#ede7da url("+Dt+") repeat"}],fonts:["Microsoft YaHei, PingFangSC-Regular, HelveticaNeue-Light, Helvetica Neue Light, sans-serif","PingFangSC-Regular, -apple-system, Simsun","Kaiti"]},Ut={class:"setting-list"},xt={class:"theme-list"},Qt=["onClick"],Vt={key:0,class:"iconfont"},Ft={key:1,class:"moon-icon"},Pt={class:"font-list"},Lt=["onClick"],Mt={class:"font-list"},Rt={style:{"text-align":"right",margin:"0"}},Kt={class:"font-size"},zt={class:"resize"},Ot={class:"lang"},Wt={class:"letter-spacing"},Ht={class:"resize"},Nt={class:"lang"},Tt={class:"line-spacing"},Jt={class:"resize"},Gt={class:"lang"},qt={class:"paragraph-spacing"},Zt={class:"resize"},Yt={class:"resize"},jt={class:"lang"},Xt={key:0,class:"read-width"},_t={class:"resize"},$t={class:"lang"},eo={class:"paragraph-spacing"},to={class:"resize"},oo={class:"resize"},no={class:"lang"},so={class:"infinite-loading"},io=le({__name:"ReadSettings",setup(d){const s=ae(),u=qe(()=>re.saveReadConfig(s.config),500);be(()=>s.config,()=>{u()},{deep:2});const B=l(()=>s.theme),n=l(()=>s.isNight),I=l(()=>B.value==6?"":""),p=[{background:"rgba(250, 245, 235, 0.8)"},{background:"rgba(245, 234, 204, 0.8)"},{background:"rgba(230, 242, 230, 0.8)"},{background:"rgba(228, 241, 245, 0.8)"},{background:"rgba(245, 228, 228, 0.8)"},{background:"rgba(224, 224, 224, 0.8)"},{background:"rgba(0, 0, 0, 0.5)"}],w=l(()=>({background:$.themes[B.value].popup})),k=F=>{s.config.theme=F},V=D(["雅黑","宋体","楷书"]),x=F=>{s.config.font=F},E=l(()=>s.config.font),y=D(s.config.customFontName),Q=D(!1),h=()=>{Q.value=!1,s.config.font=-1,s.config.customFontName=y.value},C=()=>{Q.value=!1,Le.prompt("请输入 字体网络链接","提示",{confirmButtonText:"确定",cancelButtonText:"取消",inputPattern:/^https?:.+$/,inputErrorMessage:"url 形式不正确",beforeClose:(F,e,O)=>{if(F==="confirm"){e.confirmButtonLoading=!0,e.confirmButtonText="下载中……";const G=e.inputValue;if(typeof FontFace!="function")return L.error("浏览器不支持FontFace"),O();const Y=new FontFace(y.value,`url("${G}")`);document.fonts.add(Y),Y.load().then(function(){e.confirmButtonLoading=!1,L.info("字体加载成功!"),h(),O()}).catch(function(S){throw e.confirmButtonLoading=!1,e.confirmButtonText="确定",L.error("下载失败,请检查您输入的 url"),S})}else O()}})},a=l(()=>s.config.fontSize),c=()=>{s.config.fontSize<48&&(s.config.fontSize+=2)},A=()=>{s.config.fontSize>12&&(s.config.fontSize-=2)},g=l(()=>s.config.spacing),b=()=>{s.config.spacing.letter-=.01},te=()=>{s.config.spacing.letter+=.01},fe=()=>{s.config.spacing.line-=.1},me=()=>{s.config.spacing.line+=.1},ve=()=>{s.config.spacing.paragraph-=.1},Ae=()=>{s.config.spacing.paragraph+=.1},Be=l(()=>s.config.readWidth),de=()=>{s.config.readWidth+160+2*68>window.innerWidth||(s.config.readWidth+=160)},ke=()=>{s.config.readWidth>640&&(s.config.readWidth-=160)},he=l(()=>s.config.jumpDuration),q=()=>{s.config.jumpDuration+=100},Ce=()=>{s.config.jumpDuration!==0&&(s.config.jumpDuration-=100)},ue=l(()=>s.config.infiniteLoading),Z=F=>{s.config.infiniteLoading=F};return(F,e)=>{const O=Ze,G=Ye,Y=Me;return f(),m("div",{class:U(["settings-wrapper",{night:i(n),day:!i(n)}]),style:J(i(w))},[e[51]||(e[51]=t("div",{class:"settings-title"},"设置",-1)),t("div",Ut,[t("ul",null,[t("li",xt,[e[7]||(e[7]=t("i",null,"阅读主题",-1)),(f(),m(ee,null,ie(p,(S,P)=>t("span",{class:U(["theme-item",{selected:i(B)==P}]),key:P,style:J(S),ref_for:!0,ref:"themes",onClick:W=>k(P)},[P<6?(f(),m("em",Vt,"")):(f(),m("em",Ft,M(i(I)),1))],14,Qt)),64))]),t("li",Pt,[e[8]||(e[8]=t("i",null,"正文字体",-1)),(f(!0),m(ee,null,ie(i(V),(S,P)=>(f(),m("span",{class:U(["font-item",{selected:i(E)==P}]),key:P,onClick:W=>x(P)},M(S),11,Lt))),128))]),t("li",Mt,[e[14]||(e[14]=t("i",null,"自定字体",-1)),K(O,{effect:"dark",content:"自定义的字体名称",placement:"top"},{default:R(()=>[Je(t("input",{type:"text",class:"font-item font-item-input","onUpdate:modelValue":e[0]||(e[0]=S=>pe(y)?y.value=S:null),placeholder:"请输入自定义的字体名称"},null,512),[[Ge,i(y)]])]),_:1}),K(Y,{placement:"top",width:"270",trigger:"click",visible:i(Q),"onUpdate:visible":e[4]||(e[4]=S=>pe(Q)?Q.value=S:null)},{reference:R(()=>e[12]||(e[12]=[t("span",{type:"text",class:"font-item"},"保存",-1)])),default:R(()=>[e[13]||(e[13]=t("p",null," 已经安装在您的设备上的字体请确认输入的字体名称完整无误,或者从网络下载字体。 ",-1)),t("div",Rt,[K(G,{size:"small",plain:"",onClick:e[1]||(e[1]=S=>Q.value=!1)},{default:R(()=>e[9]||(e[9]=[T("取消")])),_:1}),K(G,{type:"primary",size:"small",onClick:e[2]||(e[2]=S=>h())},{default:R(()=>e[10]||(e[10]=[T("确定")])),_:1}),K(G,{type:"primary",size:"small",onClick:e[3]||(e[3]=S=>C())},{default:R(()=>e[11]||(e[11]=[T("网络下载")])),_:1})])]),_:1},8,["visible"])]),t("li",Kt,[e[20]||(e[20]=t("i",null,"字体大小",-1)),t("div",zt,[t("span",{class:"less",onClick:A},e[15]||(e[15]=[t("em",{class:"iconfont"},"",-1)])),e[17]||(e[17]=t("b",null,null,-1)),e[18]||(e[18]=T()),t("span",Ot,M(i(a)),1),e[19]||(e[19]=t("b",null,null,-1)),t("span",{class:"more",onClick:c},e[16]||(e[16]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",Wt,[e[26]||(e[26]=t("i",null,"字距",-1)),t("div",Ht,[t("span",{class:"less",onClick:b},e[21]||(e[21]=[t("em",{class:"iconfont"},"",-1)])),e[23]||(e[23]=t("b",null,null,-1)),e[24]||(e[24]=T()),t("span",Nt,M(i(g).letter.toFixed(2)),1),e[25]||(e[25]=t("b",null,null,-1)),t("span",{class:"more",onClick:te},e[22]||(e[22]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",Tt,[e[32]||(e[32]=t("i",null,"行距",-1)),t("div",Jt,[t("span",{class:"less",onClick:fe},e[27]||(e[27]=[t("em",{class:"iconfont"},"",-1)])),e[29]||(e[29]=t("b",null,null,-1)),e[30]||(e[30]=T()),t("span",Gt,M(i(g).line.toFixed(1)),1),e[31]||(e[31]=t("b",null,null,-1)),t("span",{class:"more",onClick:me},e[28]||(e[28]=[t("em",{class:"iconfont"},"",-1)]))])]),t("li",qt,[e[37]||(e[37]=t("i",null,"段距",-1)),t("div",Zt,[t("div",Yt,[t("span",{class:"less",onClick:ve},e[33]||(e[33]=[t("em",{class:"iconfont"},"",-1)])),e[35]||(e[35]=t("b",null,null,-1)),t("span",jt,M(i(g).paragraph.toFixed(1)),1),e[36]||(e[36]=t("b",null,null,-1)),t("span",{class:"more",onClick:Ae},e[34]||(e[34]=[t("em",{class:"iconfont"},"",-1)]))])])]),i(s).miniInterface?ge("",!0):(f(),m("li",Xt,[e[43]||(e[43]=t("i",null,"页面宽度",-1)),t("div",_t,[t("span",{class:"less",onClick:ke},e[38]||(e[38]=[t("em",{class:"iconfont"},"",-1)])),e[40]||(e[40]=t("b",null,null,-1)),e[41]||(e[41]=T()),t("span",$t,M(i(Be)),1),e[42]||(e[42]=t("b",null,null,-1)),t("span",{class:"more",onClick:de},e[39]||(e[39]=[t("em",{class:"iconfont"},"",-1)]))])])),t("li",eo,[e[49]||(e[49]=t("i",null,"翻页速度",-1)),t("div",to,[t("div",oo,[t("span",{class:"less",onClick:Ce},e[44]||(e[44]=[t("em",{class:"iconfont"},"",-1)])),e[46]||(e[46]=t("b",null,null,-1)),e[47]||(e[47]=T()),t("span",no,M(i(he)),1),e[48]||(e[48]=t("b",null,null,-1)),t("span",{class:"more",onClick:q},e[45]||(e[45]=[t("em",{class:"iconfont"},"",-1)]))])])]),t("li",so,[e[50]||(e[50]=t("i",null,"无限加载",-1)),(f(),m("span",{class:U(["infinite-loading-item",{selected:i(ue)==!1}]),key:0,onClick:e[5]||(e[5]=S=>Z(!1))},"关闭",2)),(f(),m("span",{class:U(["infinite-loading-item",{selected:i(ue)==!0}]),key:1,onClick:e[6]||(e[6]=S=>Z(!0))},"开启",2))])])])],6)}}}),ao=ce(io,[["__scopeId","data-v-dd7cfcb2"]]),ro={class:"wrapper"},lo=["onClick"],co=le({__name:"CatalogItem",props:{index:{},source:{},gotoChapter:{type:Function},currentChapterIndex:{}},setup(d){const s=d,u=n=>n==s.currentChapterIndex,B=l(()=>{const n=s.source;return"catas"in n?n.catas:[s.source]});return(n,I)=>(f(),m("div",ro,[(f(!0),m(ee,null,ie(i(B),p=>(f(),m("div",{class:U(["cata-text",{selected:u(p.index)}]),key:p.url,onClick:w=>n.gotoChapter(p)},M(p.title),11,lo))),128))]))}}),Ao=ce(co,[["__scopeId","data-v-a892cd6d"]]),uo=le({__name:"PopCatalog",emits:["getContent"],setup(d,{emit:s}){const u=ae(),{catalog:B,popCataVisible:n,miniInterface:I}=Re(u),p=l(()=>u.theme),w=l(()=>u.theme),k=l(()=>({background:$.themes[w.value].popup})),V=l(()=>{const C=B.value;if(I.value)return C;const a=Math.ceil(C.length/2),c=new Array(a);let A=0;for(;Au.readingBook.chapterIndex,set:C=>u.readingBook.chapterIndex=C}),y=l(()=>{const C=E.value;return I.value?C:Math.floor(C/2)});je(()=>{n.value&&x.value.scrollToIndex(y.value)});const Q=s,h=C=>{const a=B.value.indexOf(C);E.value=a,u.setPopCataVisible(!1),u.setContentLoading(!0),u.saveBookProgress(),Q("getContent",a)};return(C,a)=>(f(),m("div",{class:U({"cata-wrapper":!0,visible:i(n)}),style:J(i(k))},[a[0]||(a[0]=t("div",{class:"title"},"目录",-1)),K(i(Xe),{style:{height:"300px",overflow:"auto"},class:U({night:i(p),day:!i(p)}),ref_key:"virtualListRef",ref:x,"data-key":"index","wrap-class":"data-wrapper","item-class":"cata","data-sources":i(V),"data-component":Ao,"estimate-size":40,"extra-props":{gotoChapter:h,currentChapterIndex:i(E)}},null,8,["class","data-sources","extra-props"])],6))}}),go=ce(uo,[["__scopeId","data-v-6cab38af"]]),po={class:"tools"},fo={class:"tools"},mo={key:0},vo={key:0},Bo={class:"content"},ko=["chapterIndex"],ho=le({__name:"BookChapter",setup(d){const s=D(),{isLoading:u,loadingWrapper:B}=nt(s,"正在获取信息"),n=ae(),{catalog:I,popCataVisible:p,readSettingsVisible:w,miniInterface:k,showContent:V,bookProgress:x,theme:E,isNight:y}=Re(n),Q=l({get:()=>n.readingBook.chapterPos,set:o=>n.readingBook.chapterPos=o}),h=l({get:()=>n.readingBook.chapterIndex,set:o=>n.readingBook.chapterIndex=o}),C=l({get:()=>n.readingBook.isSeachBook,set:o=>n.readingBook.isSeachBook=o});be(()=>n.readingBook,o=>{localStorage.setItem("readingRecent",JSON.stringify(o)),sessionStorage.setItem("chapterIndex",o.chapterIndex.toString()),sessionStorage.setItem("chapterPos",o.chapterPos.toString())},{deep:1});const a=l(()=>n.config.infiniteLoading);let c;const A=D();xe(()=>{a.value?c==null||c.observe(A.value):c==null||c.disconnect()});const g=()=>{const o=W.value.slice(-1)[0].index;I.value.length-1>o&&(oe(o+1,!1),n.saveBookProgress())},b=o=>{if(!u.value)for(const{isIntersecting:r}of o){if(!r)return;g()}},te=l(()=>n.config.font>=0?$.fonts[n.config.font]:n.config.customFontName),fe=l(()=>n.config.fontSize+"px"),me=l(()=>$.themes[E.value].body),ve=l(()=>$.themes[E.value].content),Ae=l(()=>$.themes[E.value].popup),Be=l(()=>k.value?window.innerWidth+"px":n.config.readWidth-130+"px"),de=l(()=>k.value?window.innerWidth-33:n.config.readWidth-33),ke=l(()=>({background:me.value})),he=l(()=>({background:ve.value,width:Be.value})),q=D(!1),Ce=l(()=>({background:Ae.value,marginLeft:k.value?0:-(n.config.readWidth/2+68)+"px",display:k.value&&!q.value?"none":"block"})),ue=l(()=>({background:Ae.value,marginRight:k.value?0:-(n.config.readWidth/2+52)+"px",display:k.value&&!q.value?"none":"block"})),Z=()=>{n.setMiniInterface(window.innerWidth<776);const o=n.config.readWidth;F(o)},F=o=>{n.miniInterface||(o<640&&(n.config.readWidth=640),o+2*68>window.innerWidth&&(n.config.readWidth-=160))};be(()=>n.config.readWidth,o=>F(o));const e=D(),O=D(),G=()=>{_(e.value)},Y=()=>{_(O.value)},S=_e(),P=()=>{S.push("/")},W=D([]),j=D(!0),oe=(o,r=!0,z=0)=>{r&&(n.setShowContent(!1),_(e.value,{duration:0}),we(o,z),W.value=[]);const H=n.readingBook.bookUrl,{title:N,index:se}=I.value[o];B(re.getBookContent(H,se).then(v=>{if(v.data.isSuccess){const Ne=v.data.data.split(/\n+/);W.value.push({index:o,content:Ne,title:N}),r&&ze(z)}else{L({message:v.data.errorMsg,type:"error"});const X=[v.data.errorMsg];W.value.push({index:o,content:X,title:N})}if(n.setContentLoading(!0),j.value=!1,n.setShowContent(!0),!v.data.isSuccess)throw v.data},v=>{const X=["获取章节内容失败!"];throw W.value.push({index:o,content:X,title:N}),n.setShowContent(!0),v}))},Ke=D(),ye=D(),ze=o=>{Pe(()=>{ye.value.length===1&&ye.value[0].scrollToReadedLength(o)})},Oe=$e(()=>n.saveBookProgress(),6e4),We=(o,r)=>{we(o,r),Oe()};xe(()=>{var o;document.title=((o=I.value[h.value])==null?void 0:o.title)||document.title});const we=(o,r)=>{h.value=o,Q.value=r},Se=()=>{const o=x.value;document.visibilityState=="hidden"&&o&&n.saveBookProgress()},Ee=()=>{n.setContentLoading(!0);const o=h.value+1;typeof I.value[o]<"u"?(L({message:"下一章",type:"info"}),oe(o),n.saveBookProgress()):L({message:"本章是最后一章",type:"error"})},De=()=>{n.setContentLoading(!0);const o=h.value-1;typeof I.value[o]<"u"?(L({message:"上一章",type:"info"}),oe(o),n.saveBookProgress()):L({message:"本章是第一章",type:"error"})};let ne=!0;const Ie=o=>{if(ne)switch(o.key){case"ArrowLeft":o.stopPropagation(),o.preventDefault(),De();break;case"ArrowRight":o.stopPropagation(),o.preventDefault(),Ee();break;case"ArrowUp":o.stopPropagation(),o.preventDefault(),document.documentElement.scrollTop===0?L.warning("已到达页面顶部"):(ne=!1,_(0-document.documentElement.clientHeight+100,{duration:n.config.jumpDuration,callback:()=>ne=!0}));break;case"ArrowDown":o.stopPropagation(),o.preventDefault(),document.documentElement.clientHeight+document.documentElement.scrollTop===document.documentElement.scrollHeight?L.warning("已到达页面底部"):(ne=!1,_(document.documentElement.clientHeight-100,{duration:n.config.jumpDuration,callback:()=>ne=!0}));break}},Ue=o=>{(o.key==="ArrowUp"||o.key==="ArrowDown")&&(o.preventDefault(),o.stopPropagation())};Ve(async()=>{await n.loadWebConfig();const o=sessionStorage.getItem("bookUrl"),r=sessionStorage.getItem("bookName"),z=sessionStorage.getItem("bookAuthor"),H=Number(sessionStorage.getItem("chapterIndex")||0),N=Number(sessionStorage.getItem("chapterPos")||0),se=sessionStorage.getItem("isSeachBook")==="true";if(Qe(o)||Qe(r)||z===null)return L.warning("书籍信息为空,即将自动返回书架页面..."),setTimeout(P,500);const v={bookUrl:o,name:r,author:z,chapterIndex:H,chapterPos:N,isSeachBook:se};Z(),window.addEventListener("resize",Z),B(n.loadWebCatalog(v).then(X=>{n.setReadingBook(v),oe(H,!0,N),window.addEventListener("keyup",Ie),window.addEventListener("keydown",Ue),document.addEventListener("visibilitychange",Se),c=new IntersectionObserver(b,{rootMargin:"-100% 0% 20% 0%"}),a.value===!0&&c.observe(A.value),document.title="...",document.title=r+" | "+X[H].title}))}),Fe(()=>{window.removeEventListener("keyup",Ie),window.removeEventListener("keydown",Ue),window.removeEventListener("resize",Z),document.removeEventListener("visibilitychange",Se),w.value=!1,p.value=!1,c==null||c.disconnect(),c=null});const He=async()=>{const o=n.readingBook;o.isSeachBook===!0&&await Le.confirm(`是否将《${o.name}》放入书架?`,"放入书架",{confirmButtonText:"确认",cancelButtonText:"否",type:"info",closeOnHashChange:!1}).then(()=>{C.value=!1}).catch(async()=>{await re.deleteBook(o)}).finally(()=>sessionStorage.removeItem("isSeachBook"))};return et(async(o,r,z)=>{window.removeEventListener("keyup",Ie),await He(),z()}),(o,r)=>{const z=go,H=Me,N=ao,se=At;return f(),m("div",{class:U(["chapter-wrapper",{night:i(y),day:!i(y)}]),style:J(i(ke)),onClick:r[2]||(r[2]=v=>q.value=!i(q))},[t("div",{class:"tool-bar",style:J(i(Ce))},[t("div",po,[K(H,{placement:"right",width:i(de),trigger:"click","show-arrow":!1,visible:i(p),"onUpdate:visible":r[0]||(r[0]=v=>pe(p)?p.value=v:null),"popper-class":"pop-cata"},{reference:R(()=>[t("div",{class:U(["tool-icon",{"no-point":!1}])},r[3]||(r[3]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"目录",-1)]))]),default:R(()=>[K(z,{onGetContent:oe,class:"popup"})]),_:1},8,["width","visible"]),K(H,{placement:"right",width:i(de),trigger:"click","show-arrow":!1,visible:i(w),"onUpdate:visible":r[1]||(r[1]=v=>pe(w)?w.value=v:null),"popper-class":"pop-setting"},{reference:R(()=>[t("div",{class:U(["tool-icon",{"no-point":i(j)}])},r[4]||(r[4]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"设置",-1)]),2)]),default:R(()=>[K(N,{class:"popup"})]),_:1},8,["width","visible"]),t("div",{class:"tool-icon",onClick:P},r[5]||(r[5]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"书架",-1)])),t("div",{class:U(["tool-icon",{"no-point":i(j)}]),onClick:G},r[6]||(r[6]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"顶部",-1)]),2),t("div",{class:U(["tool-icon",{"no-point":i(j)}]),onClick:Y},r[7]||(r[7]=[t("div",{class:"iconfont"},"",-1),t("div",{class:"icon-text"},"底部",-1)]),2)])],4),t("div",{class:"read-bar",style:J(i(ue))},[t("div",fo,[t("div",{class:U(["tool-icon",{"no-point":i(j)}]),onClick:De},[r[8]||(r[8]=t("div",{class:"iconfont"},"",-1)),i(k)?(f(),m("span",mo,"上一章")):ge("",!0)],2),t("div",{class:U(["tool-icon",{"no-point":i(j)}]),onClick:Ee},[i(k)?(f(),m("span",vo,"下一章")):ge("",!0),r[9]||(r[9]=t("div",{class:"iconfont"},"",-1))],2)])],4),r[10]||(r[10]=t("div",{class:"chapter-bar"},null,-1)),t("div",{class:"chapter",ref_key:"content",ref:s,style:J(i(he))},[t("div",Bo,[t("div",{class:"top-bar",ref_key:"top",ref:e},null,512),(f(!0),m(ee,null,ie(i(W),v=>(f(),m("div",{key:v.index,chapterIndex:v.index,ref_for:!0,ref_key:"chapter",ref:Ke},[i(V)?(f(),tt(se,{key:0,ref_for:!0,ref_key:"chapterRef",ref:ye,chapterIndex:v.index,contents:v.content,title:v.title,spacing:i(n).config.spacing,fontSize:i(fe),fontFamily:i(te),onReadedLengthChange:We},null,8,["chapterIndex","contents","title","spacing","fontSize","fontFamily"])):ge("",!0)],8,ko))),128)),t("div",{class:"loading",ref_key:"loading",ref:A},null,512),t("div",{class:"bottom-bar",ref_key:"bottom",ref:O},null,512)])],4)],6)}}}),bo=ce(ho,[["__scopeId","data-v-fff9fad7"]]);export{bo as default}; diff --git a/app/src/main/assets/web/vue/assets/BookChapter-c-elTHGm.css b/app/src/main/assets/web/vue/assets/BookChapter-iYunK_yl.css similarity index 81% rename from app/src/main/assets/web/vue/assets/BookChapter-c-elTHGm.css rename to app/src/main/assets/web/vue/assets/BookChapter-iYunK_yl.css index 8dba7c41f7a0..e9afb7bc15aa 100644 --- a/app/src/main/assets/web/vue/assets/BookChapter-c-elTHGm.css +++ b/app/src/main/assets/web/vue/assets/BookChapter-iYunK_yl.css @@ -1 +1 @@ -@charset "UTF-8";.title[data-v-dce2cef9]{margin-bottom:57px;font:24px/32px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}p[data-v-dce2cef9]{display:block;word-wrap:break-word;letter-spacing:calc(var(--dcb41ef4) * 1em);line-height:calc(1 + var(--ad61d758));margin:calc(var(--6503210e) * 1em) 0}p[data-v-dce2cef9] img{height:1em}.full[data-v-dce2cef9]{display:block;width:100%}@font-face{font-family:FZZCYSK;src:local("☺"),url(./popfont-WaOB0hHG.ttf);font-style:normal;font-weight:400}@font-face{font-family:iconfont;src:url(./iconfont-PstzbNMW.woff) format("woff")}[data-v-dd7cfcb2] .iconfont,[data-v-dd7cfcb2] .moon-icon{font-family:iconfont;font-style:normal}.settings-wrapper[data-v-dd7cfcb2]{-webkit-user-select:none;user-select:none;margin:-13px;text-align:left;padding:40px 0 40px 24px;background:#ede7da url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=) repeat}.settings-wrapper .settings-title[data-v-dd7cfcb2]{font-size:18px;line-height:22px;margin-bottom:28px;font-family:FZZCYSK;font-weight:400}.settings-wrapper .setting-list[data-v-dd7cfcb2]{max-height:calc(70vh - 50px);overflow:auto}.settings-wrapper .setting-list ul[data-v-dd7cfcb2]{list-style:none outside none;margin:0;padding:0}.settings-wrapper .setting-list ul li[data-v-dd7cfcb2]{list-style:none outside none}.settings-wrapper .setting-list ul li i[data-v-dd7cfcb2]{font:12px/16px PingFangSC-Regular,-apple-system,Simsun;display:inline-block;min-width:48px;margin-right:16px;vertical-align:middle;color:#666}.settings-wrapper .setting-list ul li .theme-item[data-v-dd7cfcb2]{line-height:32px;width:34px;height:34px;margin-right:16px;margin-top:5px;border-radius:100%;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul li .theme-item .iconfont[data-v-dd7cfcb2]{display:none}.settings-wrapper .setting-list ul li .selected[data-v-dd7cfcb2]{color:#ed4259}.settings-wrapper .setting-list ul li .selected .iconfont[data-v-dd7cfcb2]{display:inline}.settings-wrapper .setting-list ul .font-list[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .infinite-loading[data-v-dd7cfcb2]{margin-top:28px}.settings-wrapper .setting-list ul .font-list .font-item[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .font-list .infinite-loading-item[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .infinite-loading .font-item[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .infinite-loading .infinite-loading-item[data-v-dd7cfcb2]{width:78px;height:34px;cursor:pointer;margin-right:16px;border-radius:2px;text-align:center;vertical-align:middle;display:inline-block;font:14px/34px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.settings-wrapper .setting-list ul .font-list .font-item-input[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .infinite-loading .font-item-input[data-v-dd7cfcb2]{width:168px;color:#000}.settings-wrapper .setting-list ul .font-list .selected[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .infinite-loading .selected[data-v-dd7cfcb2]{color:#ed4259;border:1px solid #ed4259}.settings-wrapper .setting-list ul .font-list .font-item[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .font-list .infinite-loading-item[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .infinite-loading .font-item[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .infinite-loading .infinite-loading-item[data-v-dd7cfcb2]:hover{border:1px solid #ed4259;color:#ed4259}.settings-wrapper .setting-list ul .font-size[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing[data-v-dd7cfcb2]{margin-top:28px}.settings-wrapper .setting-list ul .font-size .resize[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width .resize[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing .resize[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing .resize[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing .resize[data-v-dd7cfcb2]{display:inline-block;width:274px;height:34px;vertical-align:middle;border-radius:2px}.settings-wrapper .setting-list ul .font-size .resize span[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width .resize span[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing .resize span[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing .resize span[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing .resize span[data-v-dd7cfcb2]{width:89px;height:34px;line-height:34px;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul .font-size .resize span em[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width .resize span em[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing .resize span em[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing .resize span em[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing .resize span em[data-v-dd7cfcb2]{font-style:normal}.settings-wrapper .setting-list ul .font-size .resize .less[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .font-size .resize .more[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .read-width .resize .less[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .read-width .resize .more[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .letter-spacing .resize .less[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .letter-spacing .resize .more[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .line-spacing .resize .less[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .line-spacing .resize .more[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .paragraph-spacing .resize .less[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .paragraph-spacing .resize .more[data-v-dd7cfcb2]:hover{color:#ed4259}.settings-wrapper .setting-list ul .font-size .resize .lang[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width .resize .lang[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing .resize .lang[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing .resize .lang[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing .resize .lang[data-v-dd7cfcb2]{color:#a6a6a6;font-weight:400;font-family:FZZCYSK}.settings-wrapper .setting-list ul .font-size .resize b[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width .resize b[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing .resize b[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing .resize b[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing .resize b[data-v-dd7cfcb2]{display:inline-block;height:20px;vertical-align:middle}.night[data-v-dd7cfcb2] .theme-item,.night[data-v-dd7cfcb2] .selected{border:1px solid #666}.night[data-v-dd7cfcb2] .moon-icon{color:#ed4259}.night[data-v-dd7cfcb2] .font-list .font-item,.night[data-v-dd7cfcb2] .font-list .infinite-loading-item,.night .infinite-loading .font-item[data-v-dd7cfcb2],.night .infinite-loading .infinite-loading-item[data-v-dd7cfcb2],.night[data-v-dd7cfcb2] .resize{border:1px solid #666;background:#2d2d2d80}.night[data-v-dd7cfcb2] .resize b{border-right:1px solid #666}.day[data-v-dd7cfcb2] .theme-item{border:1px solid #e5e5e5}.day[data-v-dd7cfcb2] .selected{border:1px solid #ed4259}.day[data-v-dd7cfcb2] .moon-icon{display:inline;color:#fff3}.day[data-v-dd7cfcb2] .font-list .font-item,.day[data-v-dd7cfcb2] .font-list .infinite-loading-item,.day .infinite-loading .font-item[data-v-dd7cfcb2],.day .infinite-loading .infinite-loading-item[data-v-dd7cfcb2]{background:#ffffff80;border:1px solid rgba(0,0,0,.1)}.day[data-v-dd7cfcb2] .resize{border:1px solid #e5e5e5;background:#ffffff80}.day[data-v-dd7cfcb2] .resize b{border-right:1px solid #e5e5e5}@media screen and (max-width: 500px){.settings-wrapper i[data-v-dd7cfcb2]{display:flex!important;flex-wrap:wrap;padding-bottom:5px!important}}.selected[data-v-a892cd6d]{color:#eb4259}.wrapper[data-v-a892cd6d]{display:flex}.wrapper .cata-text[data-v-a892cd6d]{width:100%;margin-right:26px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cata-wrapper[data-v-6cab38af]{margin:-16px;padding:18px 0 24px 25px}.cata-wrapper .title[data-v-6cab38af]{font-size:18px;font-weight:400;font-family:FZZCYSK;margin:0 0 20px;color:#ed4259;width:fit-content;border-bottom:1px solid #ed4259}.cata-wrapper[data-v-6cab38af] .data-wrapper .cata{height:40px;cursor:pointer;font:16px/40px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.cata-wrapper .night[data-v-6cab38af] .cata{border-bottom:1px solid #666}.cata-wrapper .day[data-v-6cab38af] .cata{border-bottom:1px solid #f2f2f2}[data-v-9d9bf7de] .pop-setting{margin-left:68px;top:0}[data-v-9d9bf7de] .pop-cata{margin-left:10px}.chapter-wrapper[data-v-9d9bf7de]{padding:0 4%;overflow-x:hidden}.chapter-wrapper[data-v-9d9bf7de] .no-point{pointer-events:none}.chapter-wrapper .tool-bar[data-v-9d9bf7de]{position:fixed;top:0;left:50%;z-index:100}.chapter-wrapper .tool-bar .tools[data-v-9d9bf7de]{display:flex;flex-direction:column}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-9d9bf7de]{font-size:18px;width:58px;height:48px;text-align:center;padding-top:12px;cursor:pointer;outline:none}.chapter-wrapper .tool-bar .tools .tool-icon .iconfont[data-v-9d9bf7de]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .tool-bar .tools .tool-icon .icon-text[data-v-9d9bf7de]{font-size:12px}.chapter-wrapper .read-bar[data-v-9d9bf7de]{position:fixed;bottom:0;right:50%;z-index:100}.chapter-wrapper .read-bar .tools[data-v-9d9bf7de]{display:flex;flex-direction:column}.chapter-wrapper .read-bar .tools .tool-icon[data-v-9d9bf7de]{font-size:18px;width:42px;height:31px;padding-top:12px;text-align:center;align-items:center;cursor:pointer;outline:none;margin-top:-1px}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-9d9bf7de]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .chapter[data-v-9d9bf7de]{font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif;text-align:left;padding:0 65px;min-height:100vh;width:670px;margin:0 auto}.chapter-wrapper .chapter .content[data-v-9d9bf7de]{font-size:18px;line-height:1.8;font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif}.chapter-wrapper .chapter .content .bottom-bar[data-v-9d9bf7de],.chapter-wrapper .chapter .content .top-bar[data-v-9d9bf7de]{height:64px}.day[data-v-9d9bf7de] .popup{box-shadow:0 2px 4px #0000001f,0 0 6px #0000000a}.day[data-v-9d9bf7de] .tool-icon{border:1px solid rgba(0,0,0,.1);margin-top:-1px;color:#000}.day[data-v-9d9bf7de] .tool-icon .icon-text{color:#0006}.day[data-v-9d9bf7de] .chapter{border:1px solid #d8d8d8;color:#262626}.night[data-v-9d9bf7de] .popup{box-shadow:0 2px 4px #0000007a,0 0 6px #00000029}.night[data-v-9d9bf7de] .tool-icon{border:1px solid #444;margin-top:-1px;color:#666}.night[data-v-9d9bf7de] .tool-icon .icon-text{color:#666}.night[data-v-9d9bf7de] .chapter{border:1px solid #444;color:#666}.night[data-v-9d9bf7de] .popper__arrow{background:#666}@media screen and (max-width: 776px){.chapter-wrapper[data-v-9d9bf7de]{padding:0}.chapter-wrapper .tool-bar[data-v-9d9bf7de]{left:0;width:100vw;margin-left:0!important}.chapter-wrapper .tool-bar .tools[data-v-9d9bf7de]{flex-direction:row;justify-content:space-between}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-9d9bf7de]{border:none}.chapter-wrapper .read-bar[data-v-9d9bf7de]{right:0;width:100vw;margin-right:0!important}.chapter-wrapper .read-bar .tools[data-v-9d9bf7de]{flex-direction:row;justify-content:space-between;padding:0 15px}.chapter-wrapper .read-bar .tools .tool-icon[data-v-9d9bf7de]{border:none;width:auto}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-9d9bf7de]{display:inline-block}.chapter-wrapper .chapter[data-v-9d9bf7de]{width:100vw!important;padding:0 20px;box-sizing:border-box}} +@charset "UTF-8";.title[data-v-dce2cef9]{margin-bottom:57px;font:24px/32px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}p[data-v-dce2cef9]{display:block;word-wrap:break-word;letter-spacing:calc(var(--dcb41ef4) * 1em);line-height:calc(1 + var(--ad61d758));margin:calc(var(--6503210e) * 1em) 0}p[data-v-dce2cef9] img{height:1em}.full[data-v-dce2cef9]{display:block;width:100%}@font-face{font-family:FZZCYSK;src:local("☺"),url(./popfont-WaOB0hHG.ttf);font-style:normal;font-weight:400}@font-face{font-family:iconfont;src:url(./iconfont-PstzbNMW.woff) format("woff")}[data-v-dd7cfcb2] .iconfont,[data-v-dd7cfcb2] .moon-icon{font-family:iconfont;font-style:normal}.settings-wrapper[data-v-dd7cfcb2]{-webkit-user-select:none;user-select:none;margin:-13px;text-align:left;padding:40px 0 40px 24px;background:#ede7da url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyBAMAAADsEZWCAAAAD1BMVEX48dr48Nf58tv379X17NJtIBxUAAACFUlEQVQ4y1XRUZakMAgF0Af2AiDWApDZgHZqAV1nZv9rGh7Rj7Y8McUFEg1wvcMESMNVD/neU8Xcaz7nYYkYlYO6Ti82PBI4BvIEg1aj3wKwRvIMgZsUy5LdhCawPFh1sZs4SrlyN9fQKpv8s5dgZ2eLyqqJiu+WkCmUEybXkm3INS01WAiv0PapJ0CZc0SJQUzcWnZYbOOY20iFD8Bk+/j2A3wNxH7GdShFYS5ff237kXh9I9zSkQmIAhOsOSVfJ6DIXTMDaPnzkRJ92S1BQQmXl5LdirgRLLDdcYqcGPwe3QN4xCBiGNbrqq9wpW1XCecChwaQdVOsRDpPCpeoolPdxeXp3WNB9PHVzWBHlygy4NJCCrFHREv6bDt0VGwJZASkpONmm1UseGeFKAQexgaAkrfYWl3AGxWOLL2AIMBNbCXpktmS3k3vHeYjGCPBa43wJTurO3ZFVpQSJdAZGLoHTyk1upkjxMEaIxum3iIARcCa5kSkFAW5fi1mUlL9eyOsaanFmOMruwvEdE3ZYzsRSzo5ewRLXyVPPEvknt8ij4DvCg2O7xOgBCUprEzV4z1WekSpUgI8DT2mrnSOXKRfQavwuKA1F+tFnMKdJSUpMA7wQAifWRkMgjUKKZE4lBl6MCM4B1pq1P4uIjDE6Pq6rL0FnW1nIFmta5vrSvq/Ch4tpqG/ZNyyWa5jZPktq81eYv8Bt5s4iFITOp4AAAAASUVORK5CYII=) repeat}.settings-wrapper .settings-title[data-v-dd7cfcb2]{font-size:18px;line-height:22px;margin-bottom:28px;font-family:FZZCYSK;font-weight:400}.settings-wrapper .setting-list[data-v-dd7cfcb2]{max-height:calc(70vh - 50px);overflow:auto}.settings-wrapper .setting-list ul[data-v-dd7cfcb2]{list-style:none outside none;margin:0;padding:0}.settings-wrapper .setting-list ul li[data-v-dd7cfcb2]{list-style:none outside none}.settings-wrapper .setting-list ul li i[data-v-dd7cfcb2]{font:12px/16px PingFangSC-Regular,-apple-system,Simsun;display:inline-block;min-width:48px;margin-right:16px;vertical-align:middle;color:#666}.settings-wrapper .setting-list ul li .theme-item[data-v-dd7cfcb2]{line-height:32px;width:34px;height:34px;margin-right:16px;margin-top:5px;border-radius:100%;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul li .theme-item .iconfont[data-v-dd7cfcb2]{display:none}.settings-wrapper .setting-list ul li .selected[data-v-dd7cfcb2]{color:#ed4259}.settings-wrapper .setting-list ul li .selected .iconfont[data-v-dd7cfcb2]{display:inline}.settings-wrapper .setting-list ul .font-list[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .infinite-loading[data-v-dd7cfcb2]{margin-top:28px}.settings-wrapper .setting-list ul .font-list .font-item[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .font-list .infinite-loading-item[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .infinite-loading .font-item[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .infinite-loading .infinite-loading-item[data-v-dd7cfcb2]{width:78px;height:34px;cursor:pointer;margin-right:16px;border-radius:2px;text-align:center;vertical-align:middle;display:inline-block;font:14px/34px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.settings-wrapper .setting-list ul .font-list .font-item-input[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .infinite-loading .font-item-input[data-v-dd7cfcb2]{width:168px;color:#000}.settings-wrapper .setting-list ul .font-list .selected[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .infinite-loading .selected[data-v-dd7cfcb2]{color:#ed4259;border:1px solid #ed4259}.settings-wrapper .setting-list ul .font-list .font-item[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .font-list .infinite-loading-item[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .infinite-loading .font-item[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .infinite-loading .infinite-loading-item[data-v-dd7cfcb2]:hover{border:1px solid #ed4259;color:#ed4259}.settings-wrapper .setting-list ul .font-size[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing[data-v-dd7cfcb2]{margin-top:28px}.settings-wrapper .setting-list ul .font-size .resize[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width .resize[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing .resize[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing .resize[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing .resize[data-v-dd7cfcb2]{display:inline-block;width:274px;height:34px;vertical-align:middle;border-radius:2px}.settings-wrapper .setting-list ul .font-size .resize span[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width .resize span[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing .resize span[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing .resize span[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing .resize span[data-v-dd7cfcb2]{width:89px;height:34px;line-height:34px;display:inline-block;cursor:pointer;text-align:center;vertical-align:middle}.settings-wrapper .setting-list ul .font-size .resize span em[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width .resize span em[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing .resize span em[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing .resize span em[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing .resize span em[data-v-dd7cfcb2]{font-style:normal}.settings-wrapper .setting-list ul .font-size .resize .less[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .font-size .resize .more[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .read-width .resize .less[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .read-width .resize .more[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .letter-spacing .resize .less[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .letter-spacing .resize .more[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .line-spacing .resize .less[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .line-spacing .resize .more[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .paragraph-spacing .resize .less[data-v-dd7cfcb2]:hover,.settings-wrapper .setting-list ul .paragraph-spacing .resize .more[data-v-dd7cfcb2]:hover{color:#ed4259}.settings-wrapper .setting-list ul .font-size .resize .lang[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width .resize .lang[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing .resize .lang[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing .resize .lang[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing .resize .lang[data-v-dd7cfcb2]{color:#a6a6a6;font-weight:400;font-family:FZZCYSK}.settings-wrapper .setting-list ul .font-size .resize b[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .read-width .resize b[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .letter-spacing .resize b[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .line-spacing .resize b[data-v-dd7cfcb2],.settings-wrapper .setting-list ul .paragraph-spacing .resize b[data-v-dd7cfcb2]{display:inline-block;height:20px;vertical-align:middle}.night[data-v-dd7cfcb2] .theme-item,.night[data-v-dd7cfcb2] .selected{border:1px solid #666}.night[data-v-dd7cfcb2] .moon-icon{color:#ed4259}.night[data-v-dd7cfcb2] .font-list .font-item,.night[data-v-dd7cfcb2] .font-list .infinite-loading-item,.night .infinite-loading .font-item[data-v-dd7cfcb2],.night .infinite-loading .infinite-loading-item[data-v-dd7cfcb2],.night[data-v-dd7cfcb2] .resize{border:1px solid #666;background:#2d2d2d80}.night[data-v-dd7cfcb2] .resize b{border-right:1px solid #666}.day[data-v-dd7cfcb2] .theme-item{border:1px solid #e5e5e5}.day[data-v-dd7cfcb2] .selected{border:1px solid #ed4259}.day[data-v-dd7cfcb2] .moon-icon{display:inline;color:#fff3}.day[data-v-dd7cfcb2] .font-list .font-item,.day[data-v-dd7cfcb2] .font-list .infinite-loading-item,.day .infinite-loading .font-item[data-v-dd7cfcb2],.day .infinite-loading .infinite-loading-item[data-v-dd7cfcb2]{background:#ffffff80;border:1px solid rgba(0,0,0,.1)}.day[data-v-dd7cfcb2] .resize{border:1px solid #e5e5e5;background:#ffffff80}.day[data-v-dd7cfcb2] .resize b{border-right:1px solid #e5e5e5}@media screen and (max-width: 500px){.settings-wrapper i[data-v-dd7cfcb2]{display:flex!important;flex-wrap:wrap;padding-bottom:5px!important}}.selected[data-v-a892cd6d]{color:#eb4259}.wrapper[data-v-a892cd6d]{display:flex}.wrapper .cata-text[data-v-a892cd6d]{width:100%;margin-right:26px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.cata-wrapper[data-v-6cab38af]{margin:-16px;padding:18px 0 24px 25px}.cata-wrapper .title[data-v-6cab38af]{font-size:18px;font-weight:400;font-family:FZZCYSK;margin:0 0 20px;color:#ed4259;width:fit-content;border-bottom:1px solid #ed4259}.cata-wrapper[data-v-6cab38af] .data-wrapper .cata{height:40px;cursor:pointer;font:16px/40px PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,Microsoft YaHei,sans-serif}.cata-wrapper .night[data-v-6cab38af] .cata{border-bottom:1px solid #666}.cata-wrapper .day[data-v-6cab38af] .cata{border-bottom:1px solid #f2f2f2}[data-v-fff9fad7] .pop-setting{margin-left:68px;top:0}[data-v-fff9fad7] .pop-cata{margin-left:10px}.chapter-wrapper[data-v-fff9fad7]{padding:0 4%;overflow-x:hidden}.chapter-wrapper[data-v-fff9fad7] .no-point{pointer-events:none}.chapter-wrapper .tool-bar[data-v-fff9fad7]{position:fixed;top:0;left:50%;z-index:100}.chapter-wrapper .tool-bar .tools[data-v-fff9fad7]{display:flex;flex-direction:column}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-fff9fad7]{font-size:18px;width:58px;height:48px;text-align:center;padding-top:12px;cursor:pointer;outline:none}.chapter-wrapper .tool-bar .tools .tool-icon .iconfont[data-v-fff9fad7]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .tool-bar .tools .tool-icon .icon-text[data-v-fff9fad7]{font-size:12px}.chapter-wrapper .read-bar[data-v-fff9fad7]{position:fixed;bottom:0;right:50%;z-index:100}.chapter-wrapper .read-bar .tools[data-v-fff9fad7]{display:flex;flex-direction:column}.chapter-wrapper .read-bar .tools .tool-icon[data-v-fff9fad7]{font-size:18px;width:42px;height:31px;padding-top:12px;text-align:center;align-items:center;cursor:pointer;outline:none;margin-top:-1px}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-fff9fad7]{font-family:iconfont;width:16px;height:16px;font-size:16px;margin:0 auto 6px}.chapter-wrapper .chapter[data-v-fff9fad7]{font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif;text-align:left;padding:0 65px;min-height:100vh;width:670px;margin:0 auto}.chapter-wrapper .chapter .content[data-v-fff9fad7]{font-size:18px;line-height:1.8;font-family:Microsoft YaHei,PingFangSC-Regular,HelveticaNeue-Light,Helvetica Neue Light,sans-serif}.chapter-wrapper .chapter .content .bottom-bar[data-v-fff9fad7],.chapter-wrapper .chapter .content .top-bar[data-v-fff9fad7]{height:64px}.day[data-v-fff9fad7] .popup{box-shadow:0 2px 4px #0000001f,0 0 6px #0000000a}.day[data-v-fff9fad7] .tool-icon{border:1px solid rgba(0,0,0,.1);margin-top:-1px;color:#000}.day[data-v-fff9fad7] .tool-icon .icon-text{color:#0006}.day[data-v-fff9fad7] .chapter{border:1px solid #d8d8d8;color:#262626}.night[data-v-fff9fad7] .popup{box-shadow:0 2px 4px #0000007a,0 0 6px #00000029}.night[data-v-fff9fad7] .tool-icon{border:1px solid #444;margin-top:-1px;color:#666}.night[data-v-fff9fad7] .tool-icon .icon-text{color:#666}.night[data-v-fff9fad7] .chapter{border:1px solid #444;color:#666}.night[data-v-fff9fad7] .popper__arrow{background:#666}@media screen and (max-width: 776px){.chapter-wrapper[data-v-fff9fad7]{padding:0}.chapter-wrapper .tool-bar[data-v-fff9fad7]{left:0;width:100vw;margin-left:0!important}.chapter-wrapper .tool-bar .tools[data-v-fff9fad7]{flex-direction:row;justify-content:space-between}.chapter-wrapper .tool-bar .tools .tool-icon[data-v-fff9fad7]{border:none}.chapter-wrapper .read-bar[data-v-fff9fad7]{right:0;width:100vw;margin-right:0!important}.chapter-wrapper .read-bar .tools[data-v-fff9fad7]{flex-direction:row;justify-content:space-between;padding:0 15px}.chapter-wrapper .read-bar .tools .tool-icon[data-v-fff9fad7]{border:none;width:auto}.chapter-wrapper .read-bar .tools .tool-icon .iconfont[data-v-fff9fad7]{display:inline-block}.chapter-wrapper .chapter[data-v-fff9fad7]{width:100vw!important;padding:0 20px;box-sizing:border-box}} diff --git a/app/src/main/assets/web/vue/assets/BookShelf-NtIGhs51.css b/app/src/main/assets/web/vue/assets/BookShelf-6UPZfG3x.css similarity index 63% rename from app/src/main/assets/web/vue/assets/BookShelf-NtIGhs51.css rename to app/src/main/assets/web/vue/assets/BookShelf-6UPZfG3x.css index 8c4c7e0d40cf..82c0b255e35f 100644 --- a/app/src/main/assets/web/vue/assets/BookShelf-NtIGhs51.css +++ b/app/src/main/assets/web/vue/assets/BookShelf-6UPZfG3x.css @@ -1 +1 @@ -@charset "UTF-8";.books-wrapper[data-v-0f5f0160]{overflow:auto}.books-wrapper .wrapper[data-v-0f5f0160]{display:grid;grid-template-columns:repeat(auto-fill,380px);justify-content:space-around;grid-gap:10px}.books-wrapper .wrapper .book[data-v-0f5f0160]{-webkit-user-select:none;user-select:none;display:flex;cursor:pointer;margin-bottom:18px;padding:24px;width:360px;flex-direction:row;justify-content:space-around}.books-wrapper .wrapper .book .cover-img[data-v-0f5f0160],.books-wrapper .wrapper .book .cover-img .cover[data-v-0f5f0160]{width:84px;height:112px}.books-wrapper .wrapper .book .info[data-v-0f5f0160]{display:flex;flex-direction:column;justify-content:space-around;align-items:left;height:112px;margin-left:20px;flex:1;overflow:hidden}.books-wrapper .wrapper .book .info .name[data-v-0f5f0160]{width:fit-content;font-size:16px;font-weight:700;color:#33373d}.books-wrapper .wrapper .book .info .sub[data-v-0f5f0160]{display:flex;flex-direction:row;align-items:baseline;justify-content:var(--2a51eeb0);font-size:12px;font-weight:600;color:#6b6b6b}.books-wrapper .wrapper .book .info .sub .tags[data-v-0f5f0160] .el-tag{margin-right:.5em}.books-wrapper .wrapper .book .info .sub .update-info[data-v-0f5f0160]{display:flex}.books-wrapper .wrapper .book .info .sub .update-info .dot[data-v-0f5f0160]{margin:0 7px}.books-wrapper .wrapper .book .info .intro[data-v-0f5f0160],.books-wrapper .wrapper .book .info .dur-chapter[data-v-0f5f0160],.books-wrapper .wrapper .book .info .last-chapter[data-v-0f5f0160]{color:#969ba3;font-size:13px;margin-top:3px;font-weight:500;word-wrap:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;text-align:left}.books-wrapper .wrapper .book[data-v-0f5f0160]:hover{background:#0000001a;transition-duration:.5s}.books-wrapper .wrapper[data-v-0f5f0160]:last-child{margin-right:auto}.books-wrapper[data-v-0f5f0160]::-webkit-scrollbar{width:0!important}@media screen and (max-width: 750px){.books-wrapper .wrapper[data-v-0f5f0160]{display:flex;flex-direction:column}.books-wrapper .wrapper .book[data-v-0f5f0160]{box-sizing:border-box;width:100%;margin-bottom:0;padding:10px 20px}}body{padding:0;margin:0;height:100vh}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;margin:0;height:100%}@font-face{font-family:FZZCYSK;src:local("☺"),url(./shelffont-D-W4UqG-.ttf);font-style:normal;font-weight:400}.index-wrapper[data-v-ea3fcb53]{height:100%;width:100%;display:flex;flex-direction:row}.index-wrapper .navigation-wrapper[data-v-ea3fcb53]{width:260px;min-width:260px;padding:48px 36px;background-color:#f7f7f7}.index-wrapper .navigation-wrapper .navigation-title[data-v-ea3fcb53]{font-size:24px;font-weight:500;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .navigation-sub-title[data-v-ea3fcb53]{font-size:16px;font-weight:300;font-family:FZZCYSK;margin-top:16px;color:#b1b1b1}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-ea3fcb53]{border-radius:50%;margin-top:24px}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-ea3fcb53] .el-input__wrapper{border-radius:50px;border-color:#e3e3e3}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-ea3fcb53]{display:flex;flex-direction:column}.index-wrapper .navigation-wrapper .recent-wrapper[data-v-ea3fcb53]{margin-top:36px}.index-wrapper .navigation-wrapper .recent-wrapper .recent-title[data-v-ea3fcb53]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent[data-v-ea3fcb53]{margin:18px 0}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent .recent-book[data-v-ea3fcb53]{font-size:10px;cursor:pointer}.index-wrapper .navigation-wrapper .setting-wrapper[data-v-ea3fcb53]{margin-top:36px}.index-wrapper .navigation-wrapper .setting-wrapper .setting-title[data-v-ea3fcb53]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .setting-wrapper .no-point[data-v-ea3fcb53]{pointer-events:none}.index-wrapper .navigation-wrapper .setting-wrapper .setting-connect[data-v-ea3fcb53]{font-size:8px;margin-top:16px;cursor:pointer}.index-wrapper .navigation-wrapper .bottom-icons[data-v-ea3fcb53]{position:fixed;bottom:0;height:120px;width:260px;align-items:center;display:flex;flex-direction:row}.index-wrapper .shelf-wrapper[data-v-ea3fcb53]{padding:48px;width:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}@media screen and (max-width: 750px){.index-wrapper[data-v-ea3fcb53]{overflow-x:hidden;flex-direction:column}.index-wrapper .navigation-wrapper[data-v-ea3fcb53]{padding:20px 24px;box-sizing:border-box;width:100%}.index-wrapper .navigation-wrapper .navigation-title-wrapper[data-v-ea3fcb53]{white-space:nowrap;display:flex;justify-content:space-between;align-items:flex-end}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-ea3fcb53]{flex-direction:row}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-ea3fcb53]>*{flex-grow:1;margin-top:18px}.index-wrapper .navigation-wrapper .bottom-wrapper>* .reading-recent[data-v-ea3fcb53],.index-wrapper .navigation-wrapper .bottom-wrapper>* .setting-item[data-v-ea3fcb53]{margin-bottom:0}.index-wrapper .navigation-wrapper .bottom-icons[data-v-ea3fcb53]{display:none}.index-wrapper .shelf-wrapper[data-v-ea3fcb53]{padding:0;flex-grow:1}.index-wrapper .shelf-wrapper[data-v-ea3fcb53] .el-loading-spinner{display:none}}.night .navigation-wrapper[data-v-ea3fcb53]{background-color:#454545}.night .navigation-wrapper .navigation-title[data-v-ea3fcb53]{color:#aeaeae}.night .navigation-wrapper .search-wrapper .search-input .el-input__wrapper[data-v-ea3fcb53]{background-color:#454545}.night .navigation-wrapper .search-wrapper .search-input .el-input__inner[data-v-ea3fcb53]{color:#b1b1b1}.night[data-v-ea3fcb53] .shelf-wrapper{background-color:#161819} +@charset "UTF-8";.books-wrapper[data-v-0f5f0160]{overflow:auto}.books-wrapper .wrapper[data-v-0f5f0160]{display:grid;grid-template-columns:repeat(auto-fill,380px);justify-content:space-around;grid-gap:10px}.books-wrapper .wrapper .book[data-v-0f5f0160]{-webkit-user-select:none;user-select:none;display:flex;cursor:pointer;margin-bottom:18px;padding:24px;width:360px;flex-direction:row;justify-content:space-around}.books-wrapper .wrapper .book .cover-img[data-v-0f5f0160],.books-wrapper .wrapper .book .cover-img .cover[data-v-0f5f0160]{width:84px;height:112px}.books-wrapper .wrapper .book .info[data-v-0f5f0160]{display:flex;flex-direction:column;justify-content:space-around;align-items:left;height:112px;margin-left:20px;flex:1;overflow:hidden}.books-wrapper .wrapper .book .info .name[data-v-0f5f0160]{width:fit-content;font-size:16px;font-weight:700;color:#33373d}.books-wrapper .wrapper .book .info .sub[data-v-0f5f0160]{display:flex;flex-direction:row;align-items:baseline;justify-content:var(--2a51eeb0);font-size:12px;font-weight:600;color:#6b6b6b}.books-wrapper .wrapper .book .info .sub .tags[data-v-0f5f0160] .el-tag{margin-right:.5em}.books-wrapper .wrapper .book .info .sub .update-info[data-v-0f5f0160]{display:flex}.books-wrapper .wrapper .book .info .sub .update-info .dot[data-v-0f5f0160]{margin:0 7px}.books-wrapper .wrapper .book .info .intro[data-v-0f5f0160],.books-wrapper .wrapper .book .info .dur-chapter[data-v-0f5f0160],.books-wrapper .wrapper .book .info .last-chapter[data-v-0f5f0160]{color:#969ba3;font-size:13px;margin-top:3px;font-weight:500;word-wrap:break-word;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;line-clamp:1;text-align:left}.books-wrapper .wrapper .book[data-v-0f5f0160]:hover{background:#0000001a;transition-duration:.5s}.books-wrapper .wrapper[data-v-0f5f0160]:last-child{margin-right:auto}.books-wrapper[data-v-0f5f0160]::-webkit-scrollbar{width:0!important}@media screen and (max-width: 750px){.books-wrapper .wrapper[data-v-0f5f0160]{display:flex;flex-direction:column}.books-wrapper .wrapper .book[data-v-0f5f0160]{box-sizing:border-box;width:100%;margin-bottom:0;padding:10px 20px}}body{padding:0;margin:0;height:100vh}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2c3e50;margin:0;height:100%}@font-face{font-family:FZZCYSK;src:local("☺"),url(./shelffont-D-W4UqG-.ttf);font-style:normal;font-weight:400}.index-wrapper[data-v-5061e9c0]{height:100%;width:100%;display:flex;flex-direction:row}.index-wrapper .navigation-wrapper[data-v-5061e9c0]{width:260px;min-width:260px;padding:48px 36px;background-color:#f7f7f7}.index-wrapper .navigation-wrapper .navigation-title[data-v-5061e9c0]{font-size:24px;font-weight:500;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .navigation-sub-title[data-v-5061e9c0]{font-size:16px;font-weight:300;font-family:FZZCYSK;margin-top:16px;color:#b1b1b1}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-5061e9c0]{border-radius:50%;margin-top:24px}.index-wrapper .navigation-wrapper .search-wrapper .search-input[data-v-5061e9c0] .el-input__wrapper{border-radius:50px;border-color:#e3e3e3}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-5061e9c0]{display:flex;flex-direction:column}.index-wrapper .navigation-wrapper .recent-wrapper[data-v-5061e9c0]{margin-top:36px}.index-wrapper .navigation-wrapper .recent-wrapper .recent-title[data-v-5061e9c0]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent[data-v-5061e9c0]{margin:18px 0}.index-wrapper .navigation-wrapper .recent-wrapper .reading-recent .recent-book[data-v-5061e9c0]{font-size:10px;cursor:pointer}.index-wrapper .navigation-wrapper .setting-wrapper[data-v-5061e9c0]{margin-top:36px}.index-wrapper .navigation-wrapper .setting-wrapper .setting-title[data-v-5061e9c0]{font-size:14px;color:#b1b1b1;font-family:FZZCYSK}.index-wrapper .navigation-wrapper .setting-wrapper .no-point[data-v-5061e9c0]{pointer-events:none}.index-wrapper .navigation-wrapper .setting-wrapper .setting-connect[data-v-5061e9c0]{font-size:8px;margin-top:16px;cursor:pointer}.index-wrapper .navigation-wrapper .bottom-icons[data-v-5061e9c0]{position:fixed;bottom:0;height:120px;width:260px;align-items:center;display:flex;flex-direction:row}.index-wrapper .shelf-wrapper[data-v-5061e9c0]{padding:48px;width:100%;display:flex;flex-direction:column;box-sizing:border-box;overflow:hidden}@media screen and (max-width: 750px){.index-wrapper[data-v-5061e9c0]{overflow-x:hidden;flex-direction:column}.index-wrapper .navigation-wrapper[data-v-5061e9c0]{padding:20px 24px;box-sizing:border-box;width:100%}.index-wrapper .navigation-wrapper .navigation-title-wrapper[data-v-5061e9c0]{white-space:nowrap;display:flex;justify-content:space-between;align-items:flex-end}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-5061e9c0]{flex-direction:row}.index-wrapper .navigation-wrapper .bottom-wrapper[data-v-5061e9c0]>*{flex-grow:1;margin-top:18px}.index-wrapper .navigation-wrapper .bottom-wrapper>* .reading-recent[data-v-5061e9c0],.index-wrapper .navigation-wrapper .bottom-wrapper>* .setting-item[data-v-5061e9c0]{margin-bottom:0}.index-wrapper .navigation-wrapper .bottom-icons[data-v-5061e9c0]{display:none}.index-wrapper .shelf-wrapper[data-v-5061e9c0]{padding:0;flex-grow:1}.index-wrapper .shelf-wrapper[data-v-5061e9c0] .el-loading-spinner{display:none}}.night .navigation-wrapper[data-v-5061e9c0]{background-color:#454545}.night .navigation-wrapper .navigation-title[data-v-5061e9c0]{color:#aeaeae}.night .navigation-wrapper .search-wrapper .search-input .el-input__wrapper[data-v-5061e9c0]{background-color:#454545}.night .navigation-wrapper .search-wrapper .search-input .el-input__inner[data-v-5061e9c0]{color:#b1b1b1}.night[data-v-5061e9c0] .shelf-wrapper{background-color:#161819} diff --git a/app/src/main/assets/web/vue/assets/BookShelf-CA8P-QMk.js b/app/src/main/assets/web/vue/assets/BookShelf-CA8P-QMk.js deleted file mode 100644 index 8cc20cf9b398..000000000000 --- a/app/src/main/assets/web/vue/assets/BookShelf-CA8P-QMk.js +++ /dev/null @@ -1 +0,0 @@ -import{d as J,a2 as $,p as w,o as u,e as h,h as e,F as U,O as W,t as g,c as ee,w as b,g as z,L as A,u as a,a3 as O,y as C,a4 as te,N as se,a5 as oe,S as ae,f as I,z as ne,K as re,s as T,a6 as ie,m as x,H as ce,A as le}from"./vendor-DyE_jpJ0.js";import{d as de,A as y,i as ue,_ as Z,u as pe,l as D,v as he,s as ge,p as me,b as H}from"./index-CoMQMWtZ.js";import{u as fe}from"./loading-DO4FBnCG.js";const ve={class:"books-wrapper"},_e={class:"wrapper"},we=["onClick"],ye={class:"cover-img"},Be=["src"],Se={class:"info"},ke={class:"name"},Ae={class:"sub"},Ce={class:"author"},Ie={key:0,class:"tags"},xe={key:1,class:"update-info"},Re={class:"size"},Ee={class:"date"},Le={key:0,class:"intro"},Te={key:1,class:"dur-chapter"},be={class:"last-chapter"},ze=J({__name:"BookItems",props:{books:{},isSearch:{type:Boolean}},emits:["bookClick"],setup(V,{emit:s}){$(i=>({"2a51eeb0":a(k)}));const B=V,R=s,n=i=>R("bookClick",i),S=({bookUrl:i,coverUrl:c})=>c===void 0?y.getProxyCoverUrl(i):ue(c)?y.getProxyCoverUrl(c):c,E=i=>{const c=i.target;c.src=y.getProxyCoverUrl(c.src)},k=w(()=>B.isSearch?"space-between":"flex-start");return(i,c)=>{const m=O;return u(),h("div",ve,[e("div",_e,[(u(!0),h(U,null,W(i.books,r=>{var l;return u(),h("div",{class:"book",key:r.bookUrl,onClick:v=>n(r)},[e("div",ye,[(u(),h("img",{class:"cover",src:S(r),key:r.coverUrl,onErrorOnce:E,alt:"",loading:"lazy"},null,40,Be))]),e("div",Se,[e("div",ke,g(r.name),1),e("div",Ae,[e("div",Ce,g(r.author),1),i.isSearch?(u(),h("div",Ie,[(u(!0),h(U,null,W((l=r.kind)==null?void 0:l.split(",").slice(0,2),v=>(u(),ee(m,{key:v},{default:b(()=>[z(g(v),1)]),_:2},1024))),128))])):A("",!0),i.isSearch?A("",!0):(u(),h("div",xe,[c[0]||(c[0]=e("div",{class:"dot"},"•",-1)),e("div",Re,"共"+g(r.totalChapterNum)+"章",1),c[1]||(c[1]=e("div",{class:"dot"},"•",-1)),e("div",Ee,g(a(de)(r.lastCheckTime)),1)]))]),i.isSearch?(u(),h("div",Le,g(r.intro),1)):A("",!0),i.isSearch?A("",!0):(u(),h("div",Te," 已读:"+g(r.durChapterTitle),1)),e("div",be,"最新:"+g(r.latestChapterTitle),1)])],8,we)}),128))])])}}}),Ve=Z(ze,[["__scopeId","data-v-0f5f0160"]]),Me="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAECUlEQVRYR7WXTYhcRRDHq3pY9yKrYBQ8KBsjgvHgwRhiQBTjYZm4Xe8NusawhwS/o9GLoKhgBGPAgJd1NdGIXwtZTbRf9Rqzl6gHTVyDeIkIgnEOghAM6oKHzTJd0sO8Zaa338zb7NjwmJn++Ndv+lVVVyOsoM3Ozl69sLBAiHiDc26NUuoKv9w5d14p9aeI/DI4OMgjIyN/lJXFMhOttQ8BgBaR0TLzEXEGAKzW+lCv+V0BmLmGiLtF5M5eQrFxRPxaRCaI6LOi9YUAzPwGADxxMYYjayaJ6MkoZKyTmU8AwF19Mp7LfElEW0LNZTvAzIcBYFufjedy00T0QLt2B4AxZo9S6qX/yXhT1jn3cpqme3IbSwDM/DgAvNlu3Dm3Uyl1HAA2IOJ2EdleEu5Io9H4EBHPVCqVLSISRsMuInrLazUBpqamhoaGhr4TkRsDgLVpmtbzPmPMLQBwOwD4vvzxw8P5IyJztVrtVL4my7L1iPhTx7Yj/jw/P79pfHx8vgmQZdkLiPhK+O8GBgauqVarv5f819FpxpjLlVJ/hYMi8mKSJHubAMz8KwBcF1EYI6IjqwRIlFImonGWiNZhlmVVRDxWYGTVAMx8HwB8EtMXka1orT0gIo9GJrxNRLH+FW8IMx8EgEeW5QDEgx5gTkQ2Bk7yr9b60hVb6rKAmc8BwJWBne+x4P3XiWhtPwGstV9FzpSzHuBvALgsMHaaiDp2ZbUwWZZNIuKuQOcfD7AAAJeEcaq1Xr9ao+3rmdknnscCzQse4LdWEukYazQaa2q12vl+QTDztwCwOdCr+zA8iYi3RQwREdl+ADDz9QDwIwB0OLaInPJRcEhEHoyEyAmt9d39ALDW2lg1hYjv+lfgC4WJgkTxcJIkPcuqbpC+qgKATwvm7PYAGwDgdBeRZ4notYvZCWPMDqXUe13W3to8C6y10yJyv//u6zj/2R6ziPiRiBwt6xPMrBExFZEdRcYR8WOt9bb8MNoKAJ+3Jvtwed05d4dSKtz+c4h4VGsdrRWttZMici8AXFVix+4homNLBUmWZQcQMc/9x4mommXZ84i4t11MKbV5dHR06bxvH5uZmbnZOfdN6O0RmMNE1CxulgCstdeKyBcAcFPrVTyltZ4wxiSVSuXplkhda72zh9P1rClFZFOSJHMdAP5Hq3rxR6eH+IGIvIOuqFlr94nIc10WdRzxy6riAMJnr2nn3JlcME3TppMWNWvtfhF5pmB8WX0RvZgEEEtaYUUbM2KtfUdE/FUubNHipvBmZIxZp5TaDwBprlQGIHLqzSHiPq01x4B7Xk6Z2d8TfDwPlwFozfd1f90598Hi4uKrY2NjFwrzQVkP81nNi/byAWOMv8gOp2n6fhnt/wDqJrRWLmhIrwAAAABJRU5ErkJggg==",Pe={class:"navigation-wrapper"},Ne={class:"search-wrapper"},Ue={class:"bottom-wrapper"},We={class:"recent-wrapper"},De={class:"reading-recent"},He={class:"setting-wrapper"},Je={class:"setting-item"},Oe={class:"bottom-icons"},Ze={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},Fe={class:"bottom-icon"},Ke=["src"],Ye=J({__name:"BookShelf",setup(V){const s=pe(),B=w(()=>s.isNight),R=o=>{try{o!==void 0&&s.setConfig(o)}catch{x.info("阅读界面配置解析错误")}},n=C({name:"尚无阅读记录",author:"",bookUrl:"",chapterIndex:0,chapterPos:0,isSeachBook:!1}),S=C(),{showLoading:E,closeLoading:k,loadingWrapper:i,isLoading:c}=fe(S,"正在获取书籍信息"),m=te([]),r=w(()=>s.shelf),l=C(""),v=C(!1);se(()=>{if(!(v.value&&l.value!="")){if(v.value=!1,m.value=[],l.value==""){m.value=r.value;return}m.value=r.value.filter(o=>o.name.includes(l.value)||o.author.includes(l.value))}});const M=()=>{l.value!=""&&(m.value=[],s.clearSearchBooks(),E(),v.value=!0,y.search(l.value,o=>{c&&k();try{s.setSearchBooks(o),m.value=s.searchBooks}catch(t){throw x.error("后端数据错误"),t}},()=>{k(),m.value.length==0&&x.info("搜索结果为空")}))},F=w(()=>s.connectStatus),K=w(()=>s.connectType),Y=w(()=>s.newConnect),Q=()=>{ie.prompt("请输入 后端地址 ( 如:http://127.0.0.1:9527 或者通过内网穿透的地址)","提示",{confirmButtonText:"确定",cancelButtonText:"取消",inputPlaceholder:D,inputValidator:o=>he(o),inputErrorMessage:"输入的格式不对",beforeClose:(o,t,f)=>{if(o==="confirm"){s.setNewConnect(!0),t.confirmButtonLoading=!0,t.confirmButtonText="校验中……";const d=new URL(t.inputValue).toString();y.getReadConfig(d).then(function(p){R(p),t.confirmButtonLoading=!1,s.setConnectType("success"),s.clearSearchBooks(),s.setNewConnect(!1),ge(...me(d)),d===location.origin?localStorage.removeItem(H):localStorage.setItem(H,d),s.setConnectStatus("已连接 "+d.toString()),N(),f()}).catch(function(p){throw t.confirmButtonLoading=!1,t.confirmButtonText="确定",x.error("访问失败,请检查您输入的 url"),s.setNewConnect(!1),p})}else f()}})},q=oe(),G=async o=>{const t="respondTime"in o;t&&await y.saveBook(o);const{bookUrl:f,name:d,author:p,durChapterIndex:_=0,durChapterPos:L=0}=o;P(f,d,p,_,L,t)},P=(o,t,f,d,p,_=!1,L=!1)=>{if(t!=="尚无阅读记录"){if(L&&r.value.every(j=>j.bookUrl!==o)){l.value=t,M();return}sessionStorage.setItem("bookUrl",o),sessionStorage.setItem("bookName",t),sessionStorage.setItem("bookAuthor",f),sessionStorage.setItem("chapterIndex",String(d)),sessionStorage.setItem("chapterPos",String(p)),sessionStorage.setItem("isSeachBook",String(_)),n.value={name:t,author:f,bookUrl:o,chapterIndex:d,chapterPos:p,isSeachBook:_},localStorage.setItem("readingRecent",JSON.stringify(n.value)),q.push({path:"/chapter"})}},X=async()=>{try{await s.loadWebConfig(),await s.saveBookProgress(),await N()}catch(o){throw s.setConnectType("danger"),s.setConnectStatus("连接异常"),s.setNewConnect(!1),o}},N=async()=>{await s.loadBookShelf(),s.setConnectType("primary"),s.setConnectStatus("已连接 "+D),s.setNewConnect(!1)};return ae(()=>{const o=localStorage.getItem("readingRecent");o!=null&&(n.value=JSON.parse(o),typeof n.value.chapterIndex>"u"&&(n.value.chapterIndex=0)),i(X())}),(o,t)=>{const f=ce,d=O,p=Ve;return u(),h("div",{class:T({"index-wrapper":!0,night:a(B),day:!a(B)})},[e("div",Pe,[t[4]||(t[4]=e("div",{class:"navigation-title-wrapper"},[e("div",{class:"navigation-title"},"阅读"),e("div",{class:"navigation-sub-title"},"清风不识字,何故乱翻书")],-1)),e("div",Ne,[I(f,{placeholder:"搜索书籍,在线书籍自动加入书架",modelValue:a(l),"onUpdate:modelValue":t[0]||(t[0]=_=>ne(l)?l.value=_:null),class:"search-input","prefix-icon":a(le),onKeyup:re(M,["enter"])},null,8,["modelValue","prefix-icon"])]),e("div",Ue,[e("div",We,[t[2]||(t[2]=e("div",{class:"recent-title"},"最近阅读",-1)),e("div",De,[I(d,{type:a(n).name=="尚无阅读记录"?"warning":"primary",class:T(["recent-book",{"no-point":a(n).bookUrl==""}]),size:"large",onClick:t[1]||(t[1]=_=>P(a(n).bookUrl,a(n).name,a(n).author,a(n).chapterIndex,a(n).chapterPos,a(n).isSeachBook,!0))},{default:b(()=>[z(g(a(n).name),1)]),_:1},8,["type","class"])])]),e("div",He,[t[3]||(t[3]=e("div",{class:"setting-title"},"基本设定",-1)),e("div",Je,[I(d,{type:a(K),size:"large",class:T(["setting-connect",{"no-point":a(Y)}]),onClick:Q},{default:b(()=>[z(g(a(F)),1)]),_:1},8,["type","class"])])])]),e("div",Oe,[e("a",Ze,[e("div",Fe,[e("img",{src:a(Me),alt:""},null,8,Ke)])])])]),e("div",{class:"shelf-wrapper",ref_key:"shelfWrapper",ref:S},[I(p,{books:a(m),onBookClick:G,isSearch:a(v)},null,8,["books","isSearch"])],512)],2)}}}),Xe=Z(Ye,[["__scopeId","data-v-ea3fcb53"]]);export{Xe as default}; diff --git a/app/src/main/assets/web/vue/assets/BookShelf-CaphAGEv.js b/app/src/main/assets/web/vue/assets/BookShelf-CaphAGEv.js new file mode 100644 index 000000000000..a7a67124abd3 --- /dev/null +++ b/app/src/main/assets/web/vue/assets/BookShelf-CaphAGEv.js @@ -0,0 +1 @@ +import{d as J,a2 as j,s as M,o as u,e as h,h as e,F as U,P as W,v as g,c as $,w as P,g as T,N as S,u as o,a3 as H,B as I,a4 as ee,O as te,a5 as se,a6 as oe,T as ae,f as C,C as ne,M as re,y as L,a7 as ie,J as le,D as ce,n as b}from"./vendor-Cq9RjTRr.js";import{d as de,A as w,i as ue,_ as O,u as pe,a as he,l as ge,v as ve,s as me,p as fe,b as D}from"./index-CcaAk_ul.js";import{u as _e}from"./loading-DPQW_bh6.js";const we={class:"books-wrapper"},Be={class:"wrapper"},ke=["onClick"],ye={class:"cover-img"},Ae=["src"],Se={class:"info"},Ie={class:"name"},Ce={class:"sub"},xe={class:"author"},Re={key:0,class:"tags"},Ee={key:1,class:"update-info"},Le={class:"size"},be={class:"date"},Me={key:0,class:"intro"},Pe={key:1,class:"dur-chapter"},Te={class:"last-chapter"},Ve=J({__name:"BookItems",props:{books:{},isSearch:{type:Boolean}},emits:["bookClick"],setup(V,{emit:l}){j(r=>({"2a51eeb0":o(y)}));const B=V,x=l,a=r=>x("bookClick",r),k=({bookUrl:r,coverUrl:i})=>i===void 0?w.getProxyCoverUrl(r):ue(i)?w.getProxyCoverUrl(i):i,R=r=>{const i=r.target;i.src=w.getProxyCoverUrl(i.src)},y=M(()=>B.isSearch?"space-between":"flex-start");return(r,i)=>{const v=H;return u(),h("div",we,[e("div",Be,[(u(!0),h(U,null,W(r.books,n=>{var c;return u(),h("div",{class:"book",key:n.bookUrl,onClick:f=>a(n)},[e("div",ye,[(u(),h("img",{class:"cover",src:k(n),key:n.coverUrl,onErrorOnce:R,alt:"",loading:"lazy"},null,40,Ae))]),e("div",Se,[e("div",Ie,g(n.name),1),e("div",Ce,[e("div",xe,g(n.author),1),r.isSearch?(u(),h("div",Re,[(u(!0),h(U,null,W((c=n.kind)==null?void 0:c.split(",").slice(0,2),f=>(u(),$(v,{key:f},{default:P(()=>[T(g(f),1)]),_:2},1024))),128))])):S("",!0),r.isSearch?S("",!0):(u(),h("div",Ee,[i[0]||(i[0]=e("div",{class:"dot"},"•",-1)),e("div",Le,"共"+g(n.totalChapterNum)+"章",1),i[1]||(i[1]=e("div",{class:"dot"},"•",-1)),e("div",be,g(o(de)(n.lastCheckTime)),1)]))]),r.isSearch?(u(),h("div",Me,g(n.intro),1)):S("",!0),r.isSearch?S("",!0):(u(),h("div",Pe," 已读:"+g(n.durChapterTitle),1)),e("div",Te,"最新:"+g(n.latestChapterTitle),1)])],8,ke)}),128))])])}}}),ze=O(Ve,[["__scopeId","data-v-0f5f0160"]]),Ne="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAECUlEQVRYR7WXTYhcRRDHq3pY9yKrYBQ8KBsjgvHgwRhiQBTjYZm4Xe8NusawhwS/o9GLoKhgBGPAgJd1NdGIXwtZTbRf9Rqzl6gHTVyDeIkIgnEOghAM6oKHzTJd0sO8Zaa338zb7NjwmJn++Ndv+lVVVyOsoM3Ozl69sLBAiHiDc26NUuoKv9w5d14p9aeI/DI4OMgjIyN/lJXFMhOttQ8BgBaR0TLzEXEGAKzW+lCv+V0BmLmGiLtF5M5eQrFxRPxaRCaI6LOi9YUAzPwGADxxMYYjayaJ6MkoZKyTmU8AwF19Mp7LfElEW0LNZTvAzIcBYFufjedy00T0QLt2B4AxZo9S6qX/yXhT1jn3cpqme3IbSwDM/DgAvNlu3Dm3Uyl1HAA2IOJ2EdleEu5Io9H4EBHPVCqVLSISRsMuInrLazUBpqamhoaGhr4TkRsDgLVpmtbzPmPMLQBwOwD4vvzxw8P5IyJztVrtVL4my7L1iPhTx7Yj/jw/P79pfHx8vgmQZdkLiPhK+O8GBgauqVarv5f819FpxpjLlVJ/hYMi8mKSJHubAMz8KwBcF1EYI6IjqwRIlFImonGWiNZhlmVVRDxWYGTVAMx8HwB8EtMXka1orT0gIo9GJrxNRLH+FW8IMx8EgEeW5QDEgx5gTkQ2Bk7yr9b60hVb6rKAmc8BwJWBne+x4P3XiWhtPwGstV9FzpSzHuBvALgsMHaaiDp2ZbUwWZZNIuKuQOcfD7AAAJeEcaq1Xr9ao+3rmdknnscCzQse4LdWEukYazQaa2q12vl+QTDztwCwOdCr+zA8iYi3RQwREdl+ADDz9QDwIwB0OLaInPJRcEhEHoyEyAmt9d39ALDW2lg1hYjv+lfgC4WJgkTxcJIkPcuqbpC+qgKATwvm7PYAGwDgdBeRZ4notYvZCWPMDqXUe13W3to8C6y10yJyv//u6zj/2R6ziPiRiBwt6xPMrBExFZEdRcYR8WOt9bb8MNoKAJ+3Jvtwed05d4dSKtz+c4h4VGsdrRWttZMici8AXFVix+4homNLBUmWZQcQMc/9x4mommXZ84i4t11MKbV5dHR06bxvH5uZmbnZOfdN6O0RmMNE1CxulgCstdeKyBcAcFPrVTyltZ4wxiSVSuXplkhda72zh9P1rClFZFOSJHMdAP5Hq3rxR6eH+IGIvIOuqFlr94nIc10WdRzxy6riAMJnr2nn3JlcME3TppMWNWvtfhF5pmB8WX0RvZgEEEtaYUUbM2KtfUdE/FUubNHipvBmZIxZp5TaDwBprlQGIHLqzSHiPq01x4B7Xk6Z2d8TfDwPlwFozfd1f90598Hi4uKrY2NjFwrzQVkP81nNi/byAWOMv8gOp2n6fhnt/wDqJrRWLmhIrwAAAABJRU5ErkJggg==",Ue={class:"navigation-wrapper"},We={class:"search-wrapper"},De={class:"bottom-wrapper"},Je={class:"recent-wrapper"},He={class:"reading-recent"},Oe={class:"setting-wrapper"},Ze={class:"setting-item"},Fe={class:"bottom-icons"},Ke={href:"https://github.com/gedoor/legado_web_bookshelf",target:"_blank"},Ye={class:"bottom-icon"},Qe=["src"],qe=J({__name:"BookShelf",setup(V){const l=pe(),B=M(()=>l.isNight),x=s=>{try{s!==void 0&&l.setConfig(s)}catch{b.info("阅读界面配置解析错误")}},a=I({name:"尚无阅读记录",author:"",bookUrl:"",chapterIndex:0,chapterPos:0,isSeachBook:!1}),k=I(),{showLoading:R,closeLoading:y,loadingWrapper:r,isLoading:i}=_e(k,"正在获取书籍信息"),v=ee([]),n=M(()=>l.shelf),c=I(""),f=I(!1);te(()=>{if(!(f.value&&c.value!="")){if(f.value=!1,v.value=[],c.value==""){v.value=n.value;return}v.value=n.value.filter(s=>s.name.includes(c.value)||s.author.includes(c.value))}});const z=()=>{c.value!=""&&(v.value=[],l.clearSearchBooks(),R(),f.value=!0,w.search(c.value,s=>{i&&y();try{l.setSearchBooks(s),v.value=l.searchBooks}catch(t){throw b.error("后端数据错误"),t}},()=>{y(),v.value.length==0&&b.info("搜索结果为空")}))},A=he(),{connectStatus:Z,connectType:F,newConnect:K}=se(A),Y=()=>{ie.prompt("请输入 后端地址 ( 如:http://127.0.0.1:9527 或者通过内网穿透的地址)","提示",{confirmButtonText:"确定",cancelButtonText:"取消",inputPlaceholder:ge,inputValidator:s=>ve(s),inputErrorMessage:"输入的格式不对",beforeClose:(s,t,m)=>{if(s==="confirm"){A.setNewConnect(!0),t.confirmButtonLoading=!0,t.confirmButtonText="校验中……";const d=new URL(t.inputValue).toString();w.getReadConfig(d).then(function(p){A.setNewConnect(!1),x(p),t.confirmButtonLoading=!1,l.clearSearchBooks(),me(...fe(d)),d===location.origin?localStorage.removeItem(D):localStorage.setItem(D,d),l.loadBookShelf(),m()}).catch(function(p){throw A.setNewConnect(!1),t.confirmButtonLoading=!1,t.confirmButtonText="确定",p})}else m()}})},Q=oe(),q=async s=>{const t="respondTime"in s;t&&await w.saveBook(s);const{bookUrl:m,name:d,author:p,durChapterIndex:_=0,durChapterPos:E=0}=s;N(m,d,p,_,E,t)},N=(s,t,m,d,p,_=!1,E=!1)=>{if(t!=="尚无阅读记录"){if(E&&n.value.every(X=>X.bookUrl!==s)){c.value=t,z();return}sessionStorage.setItem("bookUrl",s),sessionStorage.setItem("bookName",t),sessionStorage.setItem("bookAuthor",m),sessionStorage.setItem("chapterIndex",String(d)),sessionStorage.setItem("chapterPos",String(p)),sessionStorage.setItem("isSeachBook",String(_)),a.value={name:t,author:m,bookUrl:s,chapterIndex:d,chapterPos:p,isSeachBook:_},localStorage.setItem("readingRecent",JSON.stringify(a.value)),Q.push({path:"/chapter"})}},G=async()=>{await l.loadWebConfig(),await l.saveBookProgress(),await l.loadBookShelf()};return ae(()=>{const s=localStorage.getItem("readingRecent");s!=null&&(a.value=JSON.parse(s),typeof a.value.chapterIndex>"u"&&(a.value.chapterIndex=0)),r(G())}),(s,t)=>{const m=le,d=H,p=ze;return u(),h("div",{class:L({"index-wrapper":!0,night:o(B),day:!o(B)})},[e("div",Ue,[t[4]||(t[4]=e("div",{class:"navigation-title-wrapper"},[e("div",{class:"navigation-title"},"阅读"),e("div",{class:"navigation-sub-title"},"清风不识字,何故乱翻书")],-1)),e("div",We,[C(m,{placeholder:"搜索书籍,在线书籍自动加入书架",modelValue:o(c),"onUpdate:modelValue":t[0]||(t[0]=_=>ne(c)?c.value=_:null),class:"search-input","prefix-icon":o(ce),onKeyup:re(z,["enter"])},null,8,["modelValue","prefix-icon"])]),e("div",De,[e("div",Je,[t[2]||(t[2]=e("div",{class:"recent-title"},"最近阅读",-1)),e("div",He,[C(d,{type:o(a).name=="尚无阅读记录"?"warning":"primary",class:L(["recent-book",{"no-point":o(a).bookUrl==""}]),size:"large",onClick:t[1]||(t[1]=_=>N(o(a).bookUrl,o(a).name,o(a).author,o(a).chapterIndex,o(a).chapterPos,o(a).isSeachBook,!0))},{default:P(()=>[T(g(o(a).name),1)]),_:1},8,["type","class"])])]),e("div",Oe,[t[3]||(t[3]=e("div",{class:"setting-title"},"基本设定",-1)),e("div",Ze,[C(d,{type:o(F),size:"large",class:L(["setting-connect",{"no-point":o(K)}]),onClick:Y},{default:P(()=>[T(g(o(Z)),1)]),_:1},8,["type","class"])])])]),e("div",Fe,[e("a",Ke,[e("div",Ye,[e("img",{src:o(Ne),alt:""},null,8,Qe)])])])]),e("div",{class:"shelf-wrapper",ref_key:"shelfWrapper",ref:k},[C(p,{books:o(v),onBookClick:q,isSearch:o(f)},null,8,["books","isSearch"])],512)],2)}}}),$e=O(qe,[["__scopeId","data-v-5061e9c0"]]);export{$e as default}; diff --git a/app/src/main/assets/web/vue/assets/index-CcaAk_ul.js b/app/src/main/assets/web/vue/assets/index-CcaAk_ul.js new file mode 100644 index 000000000000..78a8b39b3c35 --- /dev/null +++ b/app/src/main/assets/web/vue/assets/index-CcaAk_ul.js @@ -0,0 +1,10 @@ +const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BookShelf-CaphAGEv.js","./vendor-Cq9RjTRr.js","./vendor-B4LKkcA9.css","./loading-DPQW_bh6.js","./loading-DyaW7RXx.css","./BookShelf-6UPZfG3x.css","./BookChapter-CmD5n20t.js","./BookChapter-iYunK_yl.css"])))=>i.map(i=>d[i]); +import{r as $e,c as C,o as g,a as le,b as ae,d as K,e as E,f as h,w as p,g as y,u as i,l as V,h as S,F as N,E as je,i as ve,j as Ae,k as Ke,m as ce,n as k,t as we,p as We,q as Ce,s as A,v as ee,x as Ue,y as Be,z as ue,A as He,B as J,C as M,D as Ee,G as Me,H as Fe,I as me,V as qe,J as te,K as ze,L as de,M as Ge,N as I,O as Ye,P as W,Q as xe,R as Le,S as z,T as Qe,U as Xe,W as Ze,X as et,Y as tt,Z as ot,_ as nt,$ as rt,a0 as st,a1 as it}from"./vendor-Cq9RjTRr.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const c of s.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function t(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function n(r){if(r.ep)return;r.ep=!0;const s=t(r);fetch(r.href,s)}})();const j=(e,o)=>{const t=e.__vccOpts||e;for(const[n,r]of o)t[n]=r;return t},lt={};function at(e,o){const t=$e("router-view");return g(),C(t)}const Re=j(lt,[["render",at]]),ct="modulepreload",ut=function(e,o){return new URL(e,o).href},Se={},fe=function(o,t,n){let r=Promise.resolve();if(t&&t.length>0){const c=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),b=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));r=Promise.allSettled(t.map(w=>{if(w=ut(w,n),w in Se)return;Se[w]=!0;const U=w.endsWith(".css"),x=U?'[rel="stylesheet"]':"";if(!!n)for(let _=c.length-1;_>=0;_--){const v=c[_];if(v.href===w&&(!U||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${w}"]${x}`))return;const l=document.createElement("link");if(l.rel=U?"stylesheet":ct,U||(l.as="script"),l.crossOrigin="",l.href=w,b&&l.setAttribute("nonce",b),document.head.appendChild(l),U)return new Promise((_,v)=>{l.addEventListener("load",_),l.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${w}`)))})}))}function s(c){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=c,window.dispatchEvent(a),!a.defaultPrevented)throw c}return r.then(c=>{for(const a of c||[])a.status==="rejected"&&s(a.reason);return o().catch(s)})},Ie=[{path:"/",name:"shelf",component:()=>fe(()=>import("./BookShelf-CaphAGEv.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)},{path:"/chapter",name:"chapter",component:()=>fe(()=>import("./BookChapter-CmD5n20t.js"),__vite__mapDeps([6,1,2,3,4,7]),import.meta.url)}];le({history:ae(),routes:Ie});const dt={style:{"margin-top":"20px"}},pt=K({__name:"SourceHelp",setup(e){return(o,t)=>{const n=je,r=ve;return g(),E(N,null,[h(n,{icon:i(V),href:"/help/#appHelp",target:"_blank"},{default:p(()=>t[0]||(t[0]=[y("APP帮助文档")])),_:1},8,["icon"]),t[19]||(t[19]=S("br",null,null,-1)),h(n,{icon:i(V),href:"/help/#ruleHelp",target:"_blank"},{default:p(()=>t[1]||(t[1]=[y("书源制作教程")])),_:1},8,["icon"]),t[20]||(t[20]=S("br",null,null,-1)),h(n,{icon:i(V),href:"/help/#jsHelp",target:"_blank"},{default:p(()=>t[2]||(t[2]=[y("js变量和函数")])),_:1},8,["icon"]),t[21]||(t[21]=S("br",null,null,-1)),h(n,{icon:i(V),href:"/help/#xpathHelp",target:"_blank"},{default:p(()=>t[3]||(t[3]=[y("xpath语法教程")])),_:1},8,["icon"]),t[22]||(t[22]=S("br",null,null,-1)),h(n,{icon:i(V),href:"/help/#regexHelp",target:"_blank"},{default:p(()=>t[4]||(t[4]=[y("正则表达式教程")])),_:1},8,["icon"]),t[23]||(t[23]=S("br",null,null,-1)),h(n,{icon:i(V),href:"/help/#txtTocRuleHelp",target:"_blank"},{default:p(()=>t[5]||(t[5]=[y("txt目录正则说明")])),_:1},8,["icon"]),t[24]||(t[24]=S("br",null,null,-1)),h(n,{icon:i(V),href:"/help/#debugHelp",target:"_blank"},{default:p(()=>t[6]||(t[6]=[y("书源调试说明")])),_:1},8,["icon"]),t[25]||(t[25]=S("br",null,null,-1)),h(n,{icon:i(V),href:"/help/#httpTTSHelp",target:"_blank"},{default:p(()=>t[7]||(t[7]=[y("在线朗读规则")])),_:1},8,["icon"]),t[26]||(t[26]=S("br",null,null,-1)),h(n,{icon:i(V),href:"/help/#webDavBookHelp",target:"_blank"},{default:p(()=>t[8]||(t[8]=[y(" WebDav书籍简明使用教程")])),_:1},8,["icon"]),t[27]||(t[27]=S("br",null,null,-1)),h(n,{icon:i(V),href:"/help/#webDavHelp",target:"_blank"},{default:p(()=>t[9]||(t[9]=[y(" WebDav备份教程")])),_:1},8,["icon"]),t[28]||(t[28]=S("br",null,null,-1)),h(n,{icon:i(V),href:"https://regexr-cn.com/",target:"_blank"},{default:p(()=>t[10]||(t[10]=[y("正则表达式在线验证工具")])),_:1},8,["icon"]),t[29]||(t[29]=S("br",null,null,-1)),S("div",dt,[S("span",null,[h(r,null,{default:p(()=>t[11]||(t[11]=[S("code",null,"^$()[]{}.?+*|",-1),y(" 这些是Java正则特殊符号,匹配需转义")])),_:1})]),t[15]||(t[15]=S("br",null,null,-1)),S("span",null,[h(r,null,{default:p(()=>t[12]||(t[12]=[S("code",null,"(?s)",-1),y(" 前缀表示跨行解析")])),_:1})]),t[16]||(t[16]=S("br",null,null,-1)),S("span",null,[h(r,null,{default:p(()=>t[13]||(t[13]=[S("code",null,"(?m)",-1),y(" 前缀表示逐行匹配")])),_:1})]),t[17]||(t[17]=S("br",null,null,-1)),S("span",null,[h(r,null,{default:p(()=>t[14]||(t[14]=[S("code",null,"(?i)",-1),y(" 前缀表示忽略大小写")])),_:1})]),t[18]||(t[18]=S("br",null,null,-1))])],64)}}}),gt=j(pt,[["__scopeId","data-v-085627fb"]]),ht="remoteUrl",mt=1e3,B=Ae.create({baseURL:localStorage.getItem(ht)||location.origin,timeout:120*mt});let $="",pe="",ge=()=>{},H=()=>{};const St=e=>H=e,ft=e=>{ge=e},yt=(e,o)=>{$=new URL(e).toString(),pe=new URL(o).toString(),B.defaults.baseURL=$},_t=async(e=$)=>{const{data:o}=await B.get("getReadConfig",{baseURL:e.toString(),timeout:3e3});if(o.isSuccess)try{return JSON.parse(o.data)}catch{}},bt=e=>B.post("saveReadConfig",e),kt=e=>B.post("saveBookProgress",e),vt=e=>{e&&navigator.sendBeacon(new URL("saveBookProgress",$),JSON.stringify(e))},wt=()=>B.get("getBookshelf"),Ct=e=>B.get("getChapterList?url="+encodeURIComponent(e)),Ut=(e,o)=>B.get("getBookContent?url="+encodeURIComponent(e)+"&index="+o),Bt=(e,o,t)=>{const n=new WebSocket(new URL("searchBook",pe));n.onerror=ge,n.onopen=()=>{n.send(`{"key":"${e}"}`)},n.onmessage=r=>{try{o(JSON.parse(r.data)),H==null||H.call(n,r)}catch{t()}},n.onclose=()=>{t()}},Et=e=>B.post("saveBook",e),xt=e=>B.post("deleteBook",e),Z=/bookSource/i.test(location.href),Lt=()=>Z?B.get("getBookSources"):B.get("getRssSources"),Rt=e=>Z?B.post("saveBookSource",e):B.post("saveRssSource",e),It=e=>Z?B.post("saveBookSources",e):B.post("saveRssSources",e),Tt=e=>Z?B.post("deleteBookSources",e):B.post("deleteRssSources",e),Vt=(e,o,t,n)=>{const r=new URL(`${Z?"bookSource":"rssSource"}Debug`,pe),s=new WebSocket(r);s.onerror=ge,s.onopen=()=>{s.send(JSON.stringify({tag:e,key:o}))},s.onmessage=c=>{t(c.data),H==null||H.call(s,c)},s.onclose=()=>{n()}},Nt=e=>e.startsWith($)?e:new URL("cover?path="+encodeURIComponent(e),$).toString(),Ot=(e,o,t)=>o.startsWith($)?o:new URL("image?path="+encodeURIComponent(o)+"&url="+encodeURIComponent(e)+"&width="+t,$).toString(),P={getReadConfig:_t,saveReadConfig:bt,saveBookProgress:kt,saveBookProgressWithBeacon:vt,getBookShelf:wt,getChapterList:Ct,getBookContent:Ut,search:Bt,saveBook:Et,deleteBook:xt,getSources:Lt,saveSources:It,saveSource:Rt,deleteSource:Tt,debug:Vt,getProxyCoverUrl:Nt,getProxyImageUrl:Ot},X=e=>e==null||e.length===0||/^\s+$/.test(e),vo=e=>/,\s*\{/.test(e)||!(e.startsWith("http")||e.startsWith("data:")||e.startsWith("blob:")),Dt=(e,o=["https:","http:"])=>{try{const t=new URL(e),{protocol:n}=t;if(!o.includes(n))throw new Error(`Expected protocol ${o.join("/")}, but ${n}`);return!0}catch{return!1}},wo=e=>{const o=new Date().getTime(),t=Math.floor((o-e)/1e3);let n="";return t<=30?n="刚刚":t<60?n=t+"秒前":t<3600?n=Math.floor(t/60)+"分钟前":t<86400?n=Math.floor(t/3600)+"小时前":t<2592e3?n=Math.floor(t/86400)+"天前":n=Ke(new Date(e),"YYYY-MM-DD"),n},Jt={theme:0,font:0,fontSize:18,readWidth:800,infiniteLoading:!1,customFontName:"",jumpDuration:1e3,spacing:{paragraph:1,line:.8,letter:0}};let ye;const Pt=ce("book",{state:()=>({searchBooks:[],shelf:[],catalog:[],readingBook:{chapterPos:0,chapterIndex:0},popCataVisible:!1,contentLoading:!0,showContent:!1,config:Jt,miniInterface:!1,readSettingsVisible:!1}),getters:{bookProgress:e=>{var c;if(e.catalog.length==0)return;const{chapterIndex:o,chapterPos:t,name:n,author:r}=e.readingBook,s=(c=e.catalog[o])==null?void 0:c.title;if(s)return{name:n,author:r,durChapterIndex:o,durChapterPos:t,durChapterTime:new Date().getTime(),durChapterTitle:s}},theme:e=>e.config.theme,isNight:e=>e.config.theme==6},actions:{async loadBookShelf(){const e=P.getBookShelf().then(o=>{const{isSuccess:t,data:n,errorMsg:r}=o.data;if(t===!0)this.shelf.length!==n.length&&this.shelf.length>0&&n.length>0&&k.info("书架数据已更新"),this.shelf=n.sort((s,c)=>{const a=s.durChapterTime||0;return(c.durChapterTime||0)-a});else{if(r.includes("还没有添加小说")&&this.shelf.length>0)return k.info("当前书架上的书籍已经被删除"),this.shelf=[];k.error(r??"后端返回格式错误!")}return this.shelf});return this.shelf.length>0?this.shelf:await e},async loadWebCatalog(e){const{bookUrl:o,name:t,chapterIndex:n}=e,r=P.getChapterList(o).then(s=>{const{isSuccess:c,data:a,errorMsg:b}=s.data;if(c===!1)throw k.error(b),new Error;return o===this.readingBook.bookUrl&&a.length!==this.catalog.length&&a.length>0&&this.catalog.length>0&&k.info(`书籍${t}: 章节目录已更新`),this.catalog=a,this.catalog});return o===this.readingBook.bookUrl&&this.catalog.length>0&&this.catalog.length-1>=n?this.catalog:await r},setPopCataVisible(e){this.popCataVisible=e},setContentLoading(e){this.contentLoading=e},setReadingBook(e){this.readingBook=e},async loadWebConfig(){if(ye===void 0){const e=await P.getReadConfig();return ye=new Date,this.setConfig(e)}},setConfig(e){this.config=Object.assign({},this.config,e)},setReadSettingsVisible(e){this.readSettingsVisible=e},setShowContent(e){this.showContent=e},setMiniInterface(e){this.miniInterface=e},async setSearchBooks(e){e.forEach(o=>{this.shelf.every(n=>n.bookUrl!==o.bookUrl)===!0&&this.searchBooks.push(o)})},clearSearchBooks(){this.searchBooks=[]},async saveBookProgress(){if(!this.bookProgress)return Promise.resolve();const{bookUrl:e}=this.readingBook,o=we(this.shelf),t=o.findIndex(n=>n.bookUrl===e);return t>-1&&(this.shelf[t]=Object.assign({},o[t],this.bookProgress)),P.saveBookProgressWithBeacon(this.bookProgress)}}}),oe=e=>"bookSourceName"in e,$t=e=>oe(e)?!X(e.bookSourceName)&&!X(e.bookSourceUrl)&&!X(e.bookSourceType):!X(e.sourceName)&&!X(e.sourceUrl),ne=e=>oe(e)?e.bookSourceUrl:e.sourceUrl,he=e=>oe(e)?e.bookSourceName:e.sourceName,jt=(e,o)=>{var t,n,r,s;return oe(e)?(e.bookSourceName.includes(o)||e.bookSourceUrl.includes(o)||((t=e.bookSourceGroup)==null?void 0:t.includes(o))||((n=e.bookSourceComment)==null?void 0:n.includes(o)))??!1:(e.sourceName.includes(o)||e.sourceUrl.includes(o)||((r=e.sourceGroup)==null?void 0:r.includes(o))||((s=e.sourceComment)==null?void 0:s.includes(o)))??!1},ie=e=>{const o=new Map;return e.forEach(t=>o.set(ne(t),t)),o},At={ruleSearch:{},ruleBookInfo:{},ruleToc:{},ruleContent:{},ruleReview:{},ruleExplore:{}},Kt={},G=/bookSource/i.test(location.href),_e=G?At:Kt,F=ce("source",{state:()=>({bookSources:[],rssSources:[],savedSources:[],currentSource:JSON.parse(JSON.stringify(_e)),currentTab:localStorage.getItem("tabName")||"editTab",editTabSource:{},isDebuging:!1}),getters:{sources:e=>G?e.bookSources:e.rssSources,sourcesMap:function(){return ie(this.sources)},savedSourcesMap:e=>ie(e.savedSources),currentSourceUrl:e=>G?e.currentSource.bookSourceUrl:e.currentSource.sourceUrl,searchKey:e=>{var o,t;return G?((t=(o=e.currentSource)==null?void 0:o.ruleSearch)==null?void 0:t.checkKeyWord)||"我的":""}},actions:{startDebug(){this.currentTab="editDebug",this.isDebuging=!0},debugFinish(){this.isDebuging=!1},saveSources(e){G?this.bookSources=e:this.rssSources=e},setPushReturnSources(e){this.savedSources=e},deleteSources(e){const o=G?this.bookSources:this.rssSources;e.forEach(t=>{const n=o.indexOf(t);n>-1&&o.splice(n,1)})},saveCurrentSource(){const e=this.currentSource,o=this.sourcesMap;o.set(ne(e),JSON.parse(JSON.stringify(e))),this.saveSources(Array.from(o.values()))},changeCurrentSource(e){this.currentSource=JSON.parse(JSON.stringify(e))},changeTabName(e){this.currentTab=e,localStorage.setItem("tabName",e)},changeEditTabSource(e){this.editTabSource=JSON.parse(JSON.stringify(e))},editHistory(e){let o;if(localStorage.getItem("history"))o=JSON.parse(localStorage.getItem("history")),o.new.push(e),o.new.length>50&&o.new.shift(),o.old.length>50&&o.old.shift(),localStorage.setItem("history",JSON.stringify(o));else{const t={new:[e],old:[]};localStorage.setItem("history",JSON.stringify(t))}},editHistoryUndo(){if(localStorage.getItem("history")){const e=JSON.parse(localStorage.getItem("history"));e.old.push(this.currentSource),e.new.length&&(this.currentSource=e.new.pop()),localStorage.setItem("history",JSON.stringify(e))}},clearAllHistory(){localStorage.setItem("history",JSON.stringify({new:[],old:[]}))},clearEdit(){this.editTabSource={},this.currentSource=JSON.parse(JSON.stringify(_e))},clearAllSource(){this.bookSources=[],this.rssSources=[],this.savedSources=[]}}}),Wt=ce("connection",{state:()=>({connectStatus:"正在连接后端服务器……",connectType:"primary",newConnect:!1}),actions:{setConnectStatus(e){this.newConnect!==!0&&(this.connectStatus=e)},setConnectType(e){this.newConnect!==!0&&(this.connectType=e)},setNewConnect(e){this.newConnect=e}}}),Te=We();Ce(Re).use(Te);const Y=Wt(),be=Array.of("isSuccess","errorMsg"),Ve=k,Ht=e=>{let o=!0;try{const t=e.data;for(const n of be)n in t||(o=!1,be.length=0);t.isSuccess===!0&&("data"in t||(o=!1))}catch{o=!1}if(o===!1)throw Ve.warning({message:"后端返回内容格式错误",grouping:!0}),new Error;return Y.setConnectType("primary"),Y.setConnectStatus("已连接 "+$),e},Ne=e=>{throw Ve.error({message:"后端连接失败,请检查阅读WEB服务或者设置其它可用链接",grouping:!0}),Y.setConnectType("danger"),Y.setConnectStatus("连接异常"),e};B.interceptors.response.use(Ht,Ne);ft(Ne);St(()=>{Y.setConnectType("primary"),Y.setConnectStatus("已连接 "+$)});const Mt=e=>{let o=new URL(location.origin);Dt(e)&&(o=new URL(e));const{protocol:t,port:n}=o;let r;n!==""?r=String(Number(n)+1):r=t.startsWith("https:")?"444":"81";const s=t.startsWith("https:")?"wss://":"ws://",c=o.toString();o.protocol=s,o.port=r;const a=o.toString();return[c,a]};yt(...Mt(B.defaults.baseURL));const Ft=K({__name:"SourceItem",props:{source:{}},setup(e){const o=e,t=F(),n=A(()=>t.currentSourceUrl),r=A(()=>ne(o.source)),s=a=>{t.changeCurrentSource(a)},c=A(()=>{const a=t.savedSourcesMap;return a.size==0?!1:!a.has(r.value)});return(a,b)=>{const w=ue,U=He;return g(),C(U,{size:"large",border:"",value:i(r),class:Be({error:i(c),edit:i(r)==i(n)})},{default:p(()=>[y(ee(i(he)(a.source))+" ",1),h(w,{text:"",icon:i(Ue),onClick:b[0]||(b[0]=x=>s(a.source))},null,8,["icon"])]),_:1},8,["value","class"])}}}),qt=j(Ft,[["__scopeId","data-v-d8dae8d3"]]),zt={class:"tool"},Gt=K({__name:"SourceList",setup(e){const o=F(),t=J([]),n=J(""),r=A(()=>o.sources),s=A(()=>{const d=n.value;return d===""?r.value:r.value.filter(l=>jt(l,d))}),c=A(()=>{const d=t.value;if(d.length==0)return[];const l=n.value==""?o.sourcesMap:ie(s.value);return d.reduce((_,v)=>{const L=l.get(v);return L&&_.push(L),_},[])}),a=()=>{const d=c.value;P.deleteSource(d).then(({data:l})=>{if(!l.isSuccess)return k.error(l.errorMsg);o.deleteSources(d);const _=we(t.value);d.forEach(v=>{const L=_.indexOf(ne(v));L>-1&&_.splice(L,1)}),t.value=_})},b=()=>{o.clearAllSource(),t.value=[]},w=()=>{const d=document.createElement("input");d.type="file",d.accept=".json,.txt",d.addEventListener("change",()=>{const l=d.files;if(l===null)return k.info("未选择文件");const _=new FileReader;_.readAsText(l[0]),_.onload=()=>{try{const v=JSON.parse(_.result);o.saveSources(v)}catch(v){k.error("上传的源格式错误: "+v.message)}}}),d.click()},U=/bookSource/i.test(window.location.href),x=()=>{const d=document.createElement("a"),l=t.value.length===0?s.value:c.value,_=U?"BookSource":"RssSource";d.download=`${_}_${Date().replace(/.*?\s(\d+)\s(\d+)\s(\d+:\d+:\d+).*/,"$2$1$3").replace(/:/g,"")}.json`;const v=new Blob([JSON.stringify(l,null,4)],{type:"application/json"});d.href=window.URL.createObjectURL(v),d.click(),window.URL.revokeObjectURL(d.href)};return(d,l)=>{const _=te,v=ue,L=ze;return g(),E(N,null,[h(_,{modelValue:i(n),"onUpdate:modelValue":l[0]||(l[0]=O=>M(n)?n.value=O:null),class:"search","prefix-icon":i(Ee),placeholder:"筛选源"},null,8,["modelValue","prefix-icon"]),S("div",zt,[h(v,{onClick:w,icon:i(Me)},{default:p(()=>l[2]||(l[2]=[y("打开")])),_:1},8,["icon"]),h(v,{disabled:i(s).length===0,onClick:x,icon:i(Fe)},{default:p(()=>l[3]||(l[3]=[y(" 导出")])),_:1},8,["disabled","icon"]),h(v,{type:"danger",icon:i(me),onClick:a,disabled:i(c).length===0},{default:p(()=>l[4]||(l[4]=[y("删除")])),_:1},8,["icon","disabled"]),h(v,{type:"danger",icon:i(me),onClick:b,disabled:i(r).length===0},{default:p(()=>l[5]||(l[5]=[y("清空")])),_:1},8,["icon","disabled"])]),h(L,{id:"source-list",modelValue:i(t),"onUpdate:modelValue":l[1]||(l[1]=O=>M(t)?t.value=O:null)},{default:p(()=>[h(i(qe),{style:{height:"100%","overflow-y":"auto","overflow-x":"hidden"},"data-key":O=>i(he)(O),"data-sources":i(s),"data-component":qt,"estimate-size":45},null,8,["data-key","data-sources"])]),_:1},8,["modelValue"])],64)}}}),Yt=j(Gt,[["__scopeId","data-v-258cd99b"]]),Qt=K({__name:"SourceDebug",setup(e){const o=F(),t=J(""),n=J("");de(()=>o.isDebuging,()=>{o.isDebuging&&s()});const r=a=>{const b=document.querySelector("#debug-text");b.scrollTop=b.scrollHeight,t.value+=a+` +`},s=async()=>{t.value="";try{await P.saveSource(o.currentSource)}catch(a){throw o.debugFinish(),a}P.debug(o.currentSourceUrl,n.value||o.searchKey,r,o.debugFinish)},c=A(()=>/bookSource/i.test(window.location.href));return(a,b)=>{const w=te;return g(),E(N,null,[i(c)?(g(),C(w,{key:0,id:"debug-key",modelValue:i(n),"onUpdate:modelValue":b[0]||(b[0]=U=>M(n)?n.value=U:null),placeholder:"搜索书名、作者","prefix-icon":i(Ee),style:{"padding-bottom":"4px"},onKeydown:Ge(s,["enter"])},null,8,["modelValue","prefix-icon"])):I("",!0),h(w,{id:"debug-text",modelValue:i(t),"onUpdate:modelValue":b[1]||(b[1]=U=>M(t)?t.value=U:null),type:"textarea",readonly:"",rows:29,placeholder:"这里用于输出调试信息"},null,8,["modelValue"])],64)}}}),Xt=j(Qt,[["__scopeId","data-v-3ac68c8a"]]),Zt=K({__name:"SourceJson",setup(e){const o=F(),t=J(""),n=async r=>{try{o.changeEditTabSource(JSON.parse(r))}catch{k({message:"粘贴的源格式错误",type:"error"})}};return Ye(async()=>{const r=o.editTabSource;Object.keys(r).length>0?t.value=JSON.stringify(r,null,4):t.value=""}),(r,s)=>{const c=te;return g(),C(c,{id:"source-json",modelValue:i(t),"onUpdate:modelValue":s[0]||(s[0]=a=>M(t)?t.value=a:null),type:"textarea",placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP",rows:30,onChange:n,style:{"margin-bottom":"4px"}},null,8,["modelValue"])}}}),eo=j(Zt,[["__scopeId","data-v-f62d9369"]]),to=K({__name:"SourceTabTools",setup(e){const o=F(),t=A({get:()=>o.currentTab,set:r=>o.currentTab=r}),n=J([["editTab","编辑源"],["editDebug","调试源"],["editList","源列表"],["editHelp","帮助信息"]]);return(r,s)=>{const c=eo,a=Xt,b=Yt,w=gt,U=xe,x=Le;return g(),C(x,{modelValue:i(t),"onUpdate:modelValue":s[0]||(s[0]=d=>M(t)?t.value=d:null)},{default:p(()=>[(g(!0),E(N,null,W(i(n),(d,l)=>(g(),C(U,{key:d[0],name:d[0],label:d[1]},{default:p(()=>[l==0?(g(),C(c,{key:0})):I("",!0),l==1?(g(),C(a,{key:1})):I("",!0),l==2?(g(),C(b,{key:2})):I("",!0),l==3?(g(),C(w,{key:3})):I("",!0)]),_:2},1032,["name","label"]))),128))]),_:1},8,["modelValue"])}}}),oo=j(to,[["__scopeId","data-v-fd81540f"]]),no={class:"menu flex-column-center"},ro={class:"hotkeys-header flex-space-between"},so=["id"],io={key:0},lo={class:"hotkeys-settings flex-column-center"},ao={class:"title"},co={class:"hotkeys-item__content"},uo={key:0},po={key:0},go=K({__name:"ToolBar",setup(e){const o=F(),t=()=>{const f=k({message:"加载中……",showClose:!0,duration:0});P.getSources().then(({data:u})=>{u.isSuccess?(o.changeTabName("editList"),o.saveSources(u.data),k({message:`成功拉取${u.data.length}条源`,type:"success"})):k({message:u.errorMsg??"后端错误",type:"error"})}).finally(()=>f.close())},n=()=>{const f=o.sources;if(o.changeTabName("editList"),f.length===0)return k({message:"空空如也",type:"info"});k({message:"正在推送中",type:"info"}),P.saveSources(f).then(({data:u})=>{if(u.isSuccess){const m=u.data;if(Array.isArray(m)){let D="";f.length>m.length&&(D=` +推送失败的源将用红色字体标注!`,o.setPushReturnSources(m)),k({message:`批量推送源到「阅读3.0APP」 +共计: ${f.length} 条 +成功: ${m.length} 条 +失败: ${f.length-m.length} 条${D}`,type:"success"})}}else k({message:`批量推送源失败! +ErrorMsg: ${u.errorMsg}`,type:"error"})})},r=()=>{o.changeTabName("editTab"),o.changeEditTabSource(o.currentSource)},s=()=>{o.changeCurrentSource(o.editTabSource)},c=()=>{o.editHistoryUndo()},a=()=>{o.clearEdit(),k({message:"已清除",type:"success"})},b=()=>{o.clearEdit(),o.clearAllHistory(),k({message:"已清除所有历史记录",type:"success"})},w=()=>{const f=o.currentSource;$t(f)?P.saveSource(f).then(({data:u})=>{const m=he(f);u.isSuccess?(k({message:`源《${m}》已成功保存到「阅读3.0APP」`,type:"success"}),o.saveCurrentSource()):k({message:`源《${m}》保存失败! +ErrorMsg: ${u.errorMsg}`,type:"error"})}):k({message:"请检查<必填>项是否全部填写",type:"error"})},U=()=>{o.startDebug()},x=J(Array.of({name:"⇈推送源",hotKeys:[],action:n},{name:"⇊拉取源",hotKeys:[],action:t},{name:"⋙生成源",hotKeys:[],action:r},{name:"⋘编辑源",hotKeys:[],action:s},{name:"✗清空表单",hotKeys:[],action:a},{name:"↶撤销操作",hotKeys:[],action:c},{name:"↷重做操作",hotKeys:[],action:b},{name:"⇏调试源",hotKeys:[],action:U},{name:"✓保存源",hotKeys:[],action:w})),d=J(!0),l=J(!1),_=J(-1),v=()=>{l.value||(d.value=!1),l.value=!1};de(d,f=>{if(!f){z.unbind("*"),Q(),q();return}Q(),z.unbind(),z("*",u=>{u.preventDefault();const m=z.getPressedKeyString();m.length==1&&m[0]=="esc"||l.value&&_.value>-1&&(x.value[_.value].hotKeys=m)})},{immediate:!0});const L=f=>{l.value=!0,k({message:"按ESC键或者点击空白处结束录入",type:"info"}),x.value[f].hotKeys=[],_.value=f},O=()=>{const f=[];x.value.forEach(({hotKeys:u})=>{f.push(u)}),T(f),d.value=!1},q=()=>{z.filter=()=>!0,x.value.forEach(({hotKeys:f,action:u})=>{f.length!=0&&z(f.join("+"),m=>{m.preventDefault(),u.call(null)})})},T=f=>{localStorage.setItem("legado_web_hotkeys",JSON.stringify(f))};function Q(){try{const f=localStorage.getItem("legado_web_hotkeys");if(f===null)return!1;const u=JSON.parse(f);return!Array.isArray(u)||u.length==0?!1:(x.value.forEach((m,D)=>m.hotKeys=u[D]),!0)}catch{k({message:"快捷键配置错误",type:"error"}),localStorage.removeItem("legado_web_hotkeys")}return!1}return Qe(()=>{Q()&&(d.value=!1)}),(f,u)=>{const m=ue,D=ve,Je=Ze;return g(),E(N,null,[S("div",no,[(g(!0),E(N,null,W(i(x),R=>(g(),C(m,{size:"large",key:R.name,onClick:R.action},{default:p(()=>[y(ee(R.name),1)]),_:2},1032,["onClick"]))),128)),h(m,{size:"large",onClick:u[0]||(u[0]=()=>d.value=!0)},{default:p(()=>u[2]||(u[2]=[y("快捷键")])),_:1})]),h(Je,{modelValue:i(d),"onUpdate:modelValue":u[1]||(u[1]=R=>M(d)?d.value=R:null),"show-close":!1,"before-close":v},{header:p(({titleClass:R,titleId:re})=>[S("div",ro,[S("div",{id:re,class:Be(R)},[u[4]||(u[4]=y(" 快捷键设置 ")),i(l)?(g(),E("span",io,[h(D,null,{default:p(()=>u[3]||(u[3]=[y(" / 录入中 ")])),_:1})])):I("",!0)],10,so),h(m,{disabled:i(l),onClick:O,icon:i(Xe)},{default:p(()=>u[5]||(u[5]=[y("保存")])),_:1},8,["disabled","icon"])])]),default:p(()=>[S("div",lo,[(g(!0),E(N,null,W(i(x),(R,re)=>(g(),E("div",{key:R.name,class:"hotkeys-item flex-space-between"},[S("span",ao,[h(D,null,{default:p(()=>[y(ee(R.name),1)]),_:2},1024)]),S("div",co,[(g(!0),E(N,null,W(R.hotKeys,(se,Pe)=>(g(),E("div",{key:se},[S("kbd",null,ee(se),1),Pe+1u[6]||(u[6]=[y("+")])),_:1})])):I("",!0)]))),128)),R.hotKeys.length==0?(g(),E("span",po,"未设置")):I("",!0)]),h(m,{disabled:i(l),text:"",icon:i(Ue),onClick:se=>L(re)},{default:p(()=>u[7]||(u[7]=[y("编辑")])),_:2},1032,["disabled","icon","onClick"])]))),128))])]),_:1},8,["modelValue"])],64)}}}),ho=j(go,[["__scopeId","data-v-7fe41be4"]]),mo=K({__name:"SourceTabForm",props:{config:{}},setup(e){const o=F(),t=A(()=>o.currentSource);return(n,r)=>{const s=te,c=et,a=tt,b=ot,w=nt,U=rt,x=st,d=xe,l=Le;return g(),C(l,{id:"source-edit"},{default:p(()=>[(g(!0),E(N,null,W(Object.values(n.config),({name:_,children:v})=>(g(),C(d,{label:_,key:_},{default:p(()=>[h(x,{"label-position":"right","label-width":"auto"},{default:p(()=>[(g(!0),E(N,null,W(v,({type:L,title:O,namespace:q,id:T,array:Q,hint:f,required:u=!1})=>(g(),C(U,{label:O,key:O,required:u},{default:p(()=>[L=="String"&&typeof q>"u"?(g(),C(s,{key:0,type:"textarea",modelValue:i(t)[T],"onUpdate:modelValue":m=>i(t)[T]=m,placeholder:f,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):I("",!0),L=="String"&&typeof q<"u"?(g(),C(s,{key:1,type:"textarea",modelValue:i(t)[q][T],"onUpdate:modelValue":m=>i(t)[q][T]=m,placeholder:f,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):I("",!0),L==="Boolean"?(g(),C(c,{key:2,modelValue:i(t)[T],"onUpdate:modelValue":m=>i(t)[T]=m},null,8,["modelValue","onUpdate:modelValue"])):I("",!0),L==="Number"?(g(),C(a,{key:3,modelValue:i(t)[T],"onUpdate:modelValue":m=>i(t)[T]=m,min:0},null,8,["modelValue","onUpdate:modelValue"])):I("",!0),L==="Array"?(g(),C(w,{key:4,modelValue:i(t)[T],"onUpdate:modelValue":m=>i(t)[T]=m},{default:p(()=>[(g(!0),E(N,null,W(Q,(m,D)=>(g(),C(b,{value:D,key:m,label:m},null,8,["value","label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):I("",!0)]),_:2},1032,["label","required"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})}}}),So=j(mo,[["__scopeId","data-v-c07c5146"]]),fo={base:{name:"基础",children:[{title:"源类型",id:"bookSourceType",type:"Array",array:["文本","音频","图片","文件"],required:!0},{title:"源域名",id:"bookSourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"源名称",id:"bookSourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"bookSourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"bookSourceComment",type:"String",hint:"描述源作者和状态"},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"链接验证",id:"bookUrlPattern",type:"String",hint:"书籍URL正则,当详情页URL与源URL的域名不一致时有效,用于添加网址"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"书源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率,如1000(访问间隔1000ms)或者1/1000(1000ms内访问1次)"},{title:"js库",id:"jsLib",type:"String",hint:"js库, 可填写js或者key-value object获取在线js文件"}]},search:{name:"搜索",children:[{title:"搜索地址",id:"searchUrl",type:"String",hint:"[域名可省略]/search.php@kw={{key}}"},{title:"校验文字",namespace:"ruleSearch",id:"checkKeyWord",type:"String",hint:"校验关键字,强烈建议填写"},{title:"列表规则",namespace:"ruleSearch",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleSearch",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleSearch",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleSearch",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleSearch",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleSearch",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleSearch",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleSearch",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleSearch",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},find:{name:"发现",children:[{title:"发现地址",id:"exploreUrl",type:"String",hint:"单个发现格式::或者{url:,title:,style:...};前者用换行符或者&&连接,后者放在数组内;可用js动态生成"},{title:"列表规则",namespace:"ruleExplore",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleExplore",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleExplore",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleExplore",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleExplore",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleExplore",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleExplore",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleExplore",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleExplore",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},detail:{name:"详情",children:[{title:"预处理",namespace:"ruleBookInfo",id:"init",type:"String",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",namespace:"ruleBookInfo",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleBookInfo",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleBookInfo",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleBookInfo",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleBookInfo",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleBookInfo",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleBookInfo",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",namespace:"ruleBookInfo",id:"tocUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"},{title:"修改书籍",namespace:"ruleBookInfo",id:"canReName",type:"String",hint:"允许修改书名作者(规则结果为String类型, 默认不允许)"},{title:"下载URL",namespace:"ruleBookInfo",id:"downloadUrls",type:"String",hint:"文件类书源下载地址 (规则结果为String类型的url, 多个链接返回数组)"}]},directory:{name:"目录",children:[{title:"更新前JS",namespace:"ruleToc",id:"preUpdateJs",type:"String",hint:"更新目录前调用JS 动态更新目录链接"},{title:"列表规则",namespace:"ruleToc",id:"chapterList",type:"String",hint:"选择目录列表的章节节点 (规则结果为List)"},{title:"章节名称",namespace:"ruleToc",id:"chapterName",type:"String",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",namespace:"ruleToc",id:"chapterUrl",type:"String",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"标题处理",namespace:"ruleToc",id:"formatJs",type:"String",hint:"遍历去重后的章节列表的回调,提供index(章节序号从1开始)、title(章节标题)变量,额外提供gInt(初始值0),返回值作为新的标题"},{title:"卷名标识",namespace:"ruleToc",id:"isVolume",type:"String",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"章节信息",namespace:"ruleToc",id:"updateTime",type:"String",hint:"选择章节信息(如更新时间) (规则结果为String)"},{title:"收费标识",namespace:"ruleToc",id:"isVip",type:"String",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",namespace:"ruleToc",id:"isPay",type:"String",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"翻页规则",namespace:"ruleToc",id:"nextTocUrl",type:"String",hint:"选择目录下一页链接 (规则结果为List或String)"}]},content:{name:"正文",children:[{title:"正文规则",namespace:"ruleContent",id:"content",type:"String",hint:"选择正文内容 (规则结果为String)"},{title:"标题规则",namespace:"ruleContent",id:"title",type:"String",hint:"获取结果将会覆盖章节标题 (规则结果为String)"},{title:"翻页规则",namespace:"ruleContent",id:"nextContentUrl",type:"String",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"脚本注入",namespace:"ruleContent",id:"webJs",type:"String",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{title:"资源正则",namespace:"ruleContent",id:"sourceRegex",type:"String",hint:"匹配资源的url特征,用于嗅探"},{title:"替换规则",namespace:"ruleContent",id:"replaceRegex",type:"String",hint:"多页内容合并后替换,用于正文净化"},{title:"图片样式",namespace:"ruleContent",id:"imageStyle",type:"String",hint:"FULL:铺满 不填:默认样式"},{title:"图片解密",namespace:"ruleContent",id:"imageDecode",type:"String",hint:"填写JavaScript 返回解密图片的bytes "},{title:"购买操作",namespace:"ruleContent",id:"payAction",type:"String",hint:"填写JavaScript 返回购买链接或者调用购买接口"}]},other:{name:"其他",children:[{title:"启用搜索",id:"enabled",type:"Boolean"},{title:"启用发现",id:"enabledExplore",type:"Boolean"},{title:"CookieJar",id:"enabledCookieJar",type:"Boolean"},{title:"搜索权重",id:"weight",type:"Number"},{title:"排序编号",id:"customOrder",type:"Number"}]}},yo={base:{name:"基础",children:[{title:"源域名",id:"sourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"图标",id:"sourceIcon",type:"String",hint:"填写图片网络链接"},{title:"源名称",id:"sourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"sourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"sourceComment",type:"String",hint:"描述源作者和状态"},{title:"分类地址",id:"sortUrl",type:"String",hint:`名称1::链接1 +名称2::链接2`},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率"}]},list:{name:"列表",children:[{title:"列表规则",id:"ruleArticles",type:"String",hint:"规则结果为List"},{title:"翻页规则",id:"ruleNextPage",type:"String",hint:"下一页链接 规则结果为List或String"},{title:"标题规则",id:"ruleTitle",type:"String",hint:"文章标题 规则结果为String"},{title:"时间规则",id:"rulePubDate",type:"String",hint:"文章发布时间 规则结果为String"},{title:"描述规则",id:"ruleDescription",type:"String",hint:"文章简要描述 规则结果为String"},{title:"图片规则",id:"ruleImage",type:"String",hint:"文章图片链接 规则结果为String"},{title:"链接规则",id:"ruleLink",type:"String",hint:"文章链接 规则结果为String"}]},webView:{name:"WebView",children:[{title:"内容规则",id:"ruleContent",type:"String",hint:"文章正文"},{title:"样式规则",id:"style",type:"String",hint:"文章正文样式 填写css"},{title:"注入规则",id:"injectJs",type:"String",hint:"注入网页的JavaScript"},{title:"黑名单",id:"contentBlacklist",type:"String",hint:"webView链接加载黑名单,英文逗号隔开"},{title:"白名单",id:"contentWhitelist",type:"String",hint:"webView链接加载白名单,英文逗号隔开"},{title:"链接拦截",id:"shouldOverrideUrlLoading",type:"String",hint:"填写js,变量url为当前资源链接,返回true拦截"}]},other:{name:"其他",children:[{title:"列表样式",id:"articleStyle",type:"Array",array:["默认","大图","双列"]},{title:"加载地址",id:"loadWithBaseUrl",type:"Boolean"},{title:"启用JS",id:"enableJs",type:"Boolean"},{title:"启用",id:"enabled",type:"Boolean"},{title:"Cookie",id:"enabledCookieJar",type:"Boolean"},{title:"单URL",id:"singleUrl",type:"Boolean"},{title:"排序编号",id:"customOrder",type:"Number"}]}},_o={class:"editor"},bo=K({__name:"SourceEditor",setup(e){it();let o;return/bookSource/i.test(location.href)?(o=fo,document.title="书源管理"):(o=yo,document.title="订阅源管理"),(t,n)=>{const r=So,s=ho,c=oo;return g(),E("div",_o,[h(r,{class:"left",config:i(o)},null,8,["config"]),h(s),h(c,{class:"right"})])}}}),ke=j(bo,[["__scopeId","data-v-f2c47af3"]]),Oe=[{path:"/bookSource",name:"book-home",component:ke},{path:"/rssSource",name:"rss-home",component:ke}];le({history:ae(),routes:Oe});const De=le({history:ae(),routes:[Ie,Oe].flat()});De.afterEach(e=>{e.name=="shelf"&&(document.title="书架")});Ce(Re).use(Te).use(De).mount("#app");de(()=>Pt().isNight,e=>{e?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")});export{P as A,j as _,Wt as a,ht as b,X as c,wo as d,vo as i,$ as l,Mt as p,yt as s,Pt as u,Dt as v}; diff --git a/app/src/main/assets/web/vue/assets/index-CoMQMWtZ.js b/app/src/main/assets/web/vue/assets/index-CoMQMWtZ.js deleted file mode 100644 index 3cf98d536e6f..000000000000 --- a/app/src/main/assets/web/vue/assets/index-CoMQMWtZ.js +++ /dev/null @@ -1,10 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./BookShelf-CA8P-QMk.js","./vendor-DyE_jpJ0.js","./vendor-B4LKkcA9.css","./loading-DO4FBnCG.js","./loading-DyaW7RXx.css","./BookShelf-NtIGhs51.css","./BookChapter-DF8_gTi8.js","./BookChapter-c-elTHGm.css"])))=>i.map(i=>d[i]); -import{r as Ne,c as C,o as g,a as se,b as ie,d as A,e as E,f as h,w as p,g as y,u as s,l as V,h as S,F as N,E as Oe,i as _e,j as De,k as Je,m as k,n as be,p as j,t as X,q as ke,s as ve,v as le,x as Pe,y as J,z as K,A as we,B as $e,C as je,D as pe,V as Ae,G as Ce,H as Z,I as Me,J as ae,K as Ke,L as R,M as He,N as We,O as M,P as Ue,Q as Be,R as q,S as Fe,T as qe,U as ze,W as Ge,X as Ye,Y as Qe,Z as Xe,_ as Ze,$ as et,a0 as tt,a1 as ot}from"./vendor-DyE_jpJ0.js";(function(){const o=document.createElement("link").relList;if(o&&o.supports&&o.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))n(r);new MutationObserver(r=>{for(const i of r)if(i.type==="childList")for(const c of i.addedNodes)c.tagName==="LINK"&&c.rel==="modulepreload"&&n(c)}).observe(document,{childList:!0,subtree:!0});function t(r){const i={};return r.integrity&&(i.integrity=r.integrity),r.referrerPolicy&&(i.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?i.credentials="include":r.crossOrigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(r){if(r.ep)return;r.ep=!0;const i=t(r);fetch(r.href,i)}})();const $=(e,o)=>{const t=e.__vccOpts||e;for(const[n,r]of o)t[n]=r;return t},nt={};function rt(e,o){const t=Ne("router-view");return g(),C(t)}const st=$(nt,[["render",rt]]),it="modulepreload",lt=function(e,o){return new URL(e,o).href},ge={},he=function(o,t,n){let r=Promise.resolve();if(t&&t.length>0){const c=document.getElementsByTagName("link"),a=document.querySelector("meta[property=csp-nonce]"),b=(a==null?void 0:a.nonce)||(a==null?void 0:a.getAttribute("nonce"));r=Promise.allSettled(t.map(w=>{if(w=lt(w,n),w in ge)return;ge[w]=!0;const U=w.endsWith(".css"),x=U?'[rel="stylesheet"]':"";if(!!n)for(let _=c.length-1;_>=0;_--){const v=c[_];if(v.href===w&&(!U||v.rel==="stylesheet"))return}else if(document.querySelector(`link[href="${w}"]${x}`))return;const l=document.createElement("link");if(l.rel=U?"stylesheet":it,U||(l.as="script"),l.crossOrigin="",l.href=w,b&&l.setAttribute("nonce",b),document.head.appendChild(l),U)return new Promise((_,v)=>{l.addEventListener("load",_),l.addEventListener("error",()=>v(new Error(`Unable to preload CSS for ${w}`)))})}))}function i(c){const a=new Event("vite:preloadError",{cancelable:!0});if(a.payload=c,window.dispatchEvent(a),!a.defaultPrevented)throw c}return r.then(c=>{for(const a of c||[])a.status==="rejected"&&i(a.reason);return o().catch(i)})},Ee=[{path:"/",name:"shelf",component:()=>he(()=>import("./BookShelf-CA8P-QMk.js"),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)},{path:"/chapter",name:"chapter",component:()=>he(()=>import("./BookChapter-DF8_gTi8.js"),__vite__mapDeps([6,1,2,3,4,7]),import.meta.url)}];se({history:ie(),routes:Ee});const at={style:{"margin-top":"20px"}},ct=A({__name:"SourceHelp",setup(e){return(o,t)=>{const n=Oe,r=_e;return g(),E(N,null,[h(n,{icon:s(V),href:"/help/#appHelp",target:"_blank"},{default:p(()=>t[0]||(t[0]=[y("APP帮助文档")])),_:1},8,["icon"]),t[19]||(t[19]=S("br",null,null,-1)),h(n,{icon:s(V),href:"/help/#ruleHelp",target:"_blank"},{default:p(()=>t[1]||(t[1]=[y("书源制作教程")])),_:1},8,["icon"]),t[20]||(t[20]=S("br",null,null,-1)),h(n,{icon:s(V),href:"/help/#jsHelp",target:"_blank"},{default:p(()=>t[2]||(t[2]=[y("js变量和函数")])),_:1},8,["icon"]),t[21]||(t[21]=S("br",null,null,-1)),h(n,{icon:s(V),href:"/help/#xpathHelp",target:"_blank"},{default:p(()=>t[3]||(t[3]=[y("xpath语法教程")])),_:1},8,["icon"]),t[22]||(t[22]=S("br",null,null,-1)),h(n,{icon:s(V),href:"/help/#regexHelp",target:"_blank"},{default:p(()=>t[4]||(t[4]=[y("正则表达式教程")])),_:1},8,["icon"]),t[23]||(t[23]=S("br",null,null,-1)),h(n,{icon:s(V),href:"/help/#txtTocRuleHelp",target:"_blank"},{default:p(()=>t[5]||(t[5]=[y("txt目录正则说明")])),_:1},8,["icon"]),t[24]||(t[24]=S("br",null,null,-1)),h(n,{icon:s(V),href:"/help/#debugHelp",target:"_blank"},{default:p(()=>t[6]||(t[6]=[y("书源调试说明")])),_:1},8,["icon"]),t[25]||(t[25]=S("br",null,null,-1)),h(n,{icon:s(V),href:"/help/#httpTTSHelp",target:"_blank"},{default:p(()=>t[7]||(t[7]=[y("在线朗读规则")])),_:1},8,["icon"]),t[26]||(t[26]=S("br",null,null,-1)),h(n,{icon:s(V),href:"/help/#webDavBookHelp",target:"_blank"},{default:p(()=>t[8]||(t[8]=[y(" WebDav书籍简明使用教程")])),_:1},8,["icon"]),t[27]||(t[27]=S("br",null,null,-1)),h(n,{icon:s(V),href:"/help/#webDavHelp",target:"_blank"},{default:p(()=>t[9]||(t[9]=[y(" WebDav备份教程")])),_:1},8,["icon"]),t[28]||(t[28]=S("br",null,null,-1)),h(n,{icon:s(V),href:"https://regexr-cn.com/",target:"_blank"},{default:p(()=>t[10]||(t[10]=[y("正则表达式在线验证工具")])),_:1},8,["icon"]),t[29]||(t[29]=S("br",null,null,-1)),S("div",at,[S("span",null,[h(r,null,{default:p(()=>t[11]||(t[11]=[S("code",null,"^$()[]{}.?+*|",-1),y(" 这些是Java正则特殊符号,匹配需转义")])),_:1})]),t[15]||(t[15]=S("br",null,null,-1)),S("span",null,[h(r,null,{default:p(()=>t[12]||(t[12]=[S("code",null,"(?s)",-1),y(" 前缀表示跨行解析")])),_:1})]),t[16]||(t[16]=S("br",null,null,-1)),S("span",null,[h(r,null,{default:p(()=>t[13]||(t[13]=[S("code",null,"(?m)",-1),y(" 前缀表示逐行匹配")])),_:1})]),t[17]||(t[17]=S("br",null,null,-1)),S("span",null,[h(r,null,{default:p(()=>t[14]||(t[14]=[S("code",null,"(?i)",-1),y(" 前缀表示忽略大小写")])),_:1})]),t[18]||(t[18]=S("br",null,null,-1))])],64)}}}),ut=$(ct,[["__scopeId","data-v-085627fb"]]),dt="remoteUrl",pt=1e3,B=De.create({baseURL:localStorage.getItem(dt)||location.origin,timeout:120*pt});let H="",ce="",ue=()=>{};const gt=e=>{ue=e},ht=(e,o)=>{H=e,ce=o,B.defaults.baseURL=e.toString()},mt=async(e=H)=>{const{data:o}=await B.get("/getReadConfig",{baseURL:e.toString(),timeout:3e3});if(o.isSuccess)try{return JSON.parse(o.data)}catch{}},St=e=>B.post("/saveReadConfig",e),ft=e=>B.post("/saveBookProgress",e),yt=e=>{e&&navigator.sendBeacon(new URL("/saveBookProgress",H),JSON.stringify(e))},_t=()=>B.get("/getBookshelf"),bt=e=>B.get("/getChapterList?url="+encodeURIComponent(e)),kt=(e,o)=>B.get("/getBookContent?url="+encodeURIComponent(e)+"&index="+o),vt=(e,o,t)=>{const n=new WebSocket(new URL("/searchBook",ce));n.onerror=ue,n.onopen=()=>{n.send(`{"key":"${e}"}`)},n.onmessage=({data:r})=>{try{o(JSON.parse(r))}catch{t()}},n.onclose=()=>{t()}},wt=e=>B.post("/saveBook",e),Ct=e=>B.post("/deleteBook",e),Q=/bookSource/i.test(location.href),Ut=()=>Q?B.get("/getBookSources"):B.get("/getRssSources"),Bt=e=>Q?B.post("/saveBookSource",e):B.post("/saveRssSource",e),Et=e=>Q?B.post("/saveBookSources",e):B.post("/saveRssSources",e),xt=e=>Q?B.post("/deleteBookSources",e):B.post("/deleteRssSources",e),Lt=(e,o,t,n)=>{const r=new URL(`/${Q?"bookSource":"rssSource"}Debug`,ce),i=new WebSocket(r);i.onerror=ue,i.onopen=()=>{i.send(JSON.stringify({tag:e,key:o}))},i.onmessage=({data:c})=>t(c),i.onclose=()=>{n()}},It=e=>e.startsWith(H)?e:new URL("/cover?path="+encodeURIComponent(e),H).toString(),Rt=(e,o,t)=>o.startsWith(H)?o:new URL("/image?path="+encodeURIComponent(o)+"&url="+encodeURIComponent(e)+"&width="+t,H).toString(),P={getReadConfig:mt,saveReadConfig:St,saveBookProgress:ft,saveBookProgressWithBeacon:yt,getBookShelf:_t,getChapterList:bt,getBookContent:kt,search:vt,saveBook:wt,deleteBook:Ct,getSources:Ut,saveSources:Et,saveSource:Bt,deleteSource:xt,debug:Lt,getProxyCoverUrl:It,getProxyImageUrl:Rt},Y=e=>e==null||e.length===0||/^\s+$/.test(e),yo=e=>/,\s*\{/.test(e)||!(e.startsWith("http")||e.startsWith("data:")||e.startsWith("blob:")),Tt=(e,o=["https:","http:"])=>{try{const t=new URL(e),{protocol:n}=t;if(!o.includes(n))throw new Error(`Expected protocol ${o.join("/")}, but ${n}`);return!0}catch{return!1}},_o=e=>{const o=new Date().getTime(),t=Math.floor((o-e)/1e3);let n="";return t<=30?n="刚刚":t<60?n=t+"秒前":t<3600?n=Math.floor(t/60)+"分钟前":t<86400?n=Math.floor(t/3600)+"小时前":t<2592e3?n=Math.floor(t/86400)+"天前":n=Je(new Date(e),"YYYY-MM-DD"),n},me=Array.of("isSuccess","errorMsg"),xe=k,Vt=e=>{let o=!0;try{const t=e.data;for(const n of me)n in t||(o=!1,me.length=0);t.isSuccess===!0&&("data"in t||(o=!1))}catch{o=!1}if(o===!1)throw xe.warning({message:"后端返回内容格式错误",grouping:!0}),new Error;return e},Le=e=>{throw xe.error({message:"后端连接失败,请检查阅读WEB服务或者设置其它可用链接",grouping:!0}),e};B.interceptors.response.use(Vt,Le);gt(Le);const Nt=e=>{let o=new URL(location.origin);Tt(e)&&(o=new URL(e));const{protocol:t,port:n}=o;let r;n!==""?r=String(Number(n)+1):r=t.startsWith("https:")?"444":"81";const i=t.startsWith("https:")?"wss://":"ws://",c=o.toString();o.protocol=i,o.port=r;const a=o.toString();return[c,a]};ht(...Nt(B.defaults.baseURL));const ee=e=>"bookSourceName"in e,Ot=e=>ee(e)?!Y(e.bookSourceName)&&!Y(e.bookSourceUrl)&&!Y(e.bookSourceType):!Y(e.sourceName)&&!Y(e.sourceUrl),te=e=>ee(e)?e.bookSourceUrl:e.sourceUrl,de=e=>ee(e)?e.bookSourceName:e.sourceName,Dt=(e,o)=>{var t,n,r,i;return ee(e)?(e.bookSourceName.includes(o)||e.bookSourceUrl.includes(o)||((t=e.bookSourceGroup)==null?void 0:t.includes(o))||((n=e.bookSourceComment)==null?void 0:n.includes(o)))??!1:(e.sourceName.includes(o)||e.sourceUrl.includes(o)||((r=e.sourceGroup)==null?void 0:r.includes(o))||((i=e.sourceComment)==null?void 0:i.includes(o)))??!1},re=e=>{const o=new Map;return e.forEach(t=>o.set(te(t),t)),o},Jt={ruleSearch:{},ruleBookInfo:{},ruleToc:{},ruleContent:{},ruleReview:{},ruleExplore:{}},Pt={},z=/bookSource/i.test(location.href),Se=z?Jt:Pt,W=be("source",{state:()=>({bookSources:[],rssSources:[],savedSources:[],currentSource:JSON.parse(JSON.stringify(Se)),currentTab:localStorage.getItem("tabName")||"editTab",editTabSource:{},isDebuging:!1}),getters:{sources:e=>z?e.bookSources:e.rssSources,sourcesMap:function(){return re(this.sources)},savedSourcesMap:e=>re(e.savedSources),currentSourceUrl:e=>z?e.currentSource.bookSourceUrl:e.currentSource.sourceUrl,searchKey:e=>{var o,t;return z?((t=(o=e.currentSource)==null?void 0:o.ruleSearch)==null?void 0:t.checkKeyWord)||"我的":""}},actions:{startDebug(){this.currentTab="editDebug",this.isDebuging=!0},debugFinish(){this.isDebuging=!1},saveSources(e){z?this.bookSources=e:this.rssSources=e},setPushReturnSources(e){this.savedSources=e},deleteSources(e){const o=z?this.bookSources:this.rssSources;e.forEach(t=>{const n=o.indexOf(t);n>-1&&o.splice(n,1)})},saveCurrentSource(){const e=this.currentSource,o=this.sourcesMap;o.set(te(e),JSON.parse(JSON.stringify(e))),this.saveSources(Array.from(o.values()))},changeCurrentSource(e){this.currentSource=JSON.parse(JSON.stringify(e))},changeTabName(e){this.currentTab=e,localStorage.setItem("tabName",e)},changeEditTabSource(e){this.editTabSource=JSON.parse(JSON.stringify(e))},editHistory(e){let o;if(localStorage.getItem("history"))o=JSON.parse(localStorage.getItem("history")),o.new.push(e),o.new.length>50&&o.new.shift(),o.old.length>50&&o.old.shift(),localStorage.setItem("history",JSON.stringify(o));else{const t={new:[e],old:[]};localStorage.setItem("history",JSON.stringify(t))}},editHistoryUndo(){if(localStorage.getItem("history")){const e=JSON.parse(localStorage.getItem("history"));e.old.push(this.currentSource),e.new.length&&(this.currentSource=e.new.pop()),localStorage.setItem("history",JSON.stringify(e))}},clearAllHistory(){localStorage.setItem("history",JSON.stringify({new:[],old:[]}))},clearEdit(){this.editTabSource={},this.currentSource=JSON.parse(JSON.stringify(Se))},clearAllSource(){this.bookSources=[],this.rssSources=[],this.savedSources=[]}}}),$t=A({__name:"SourceItem",props:{source:{}},setup(e){const o=e,t=W(),n=j(()=>t.currentSourceUrl),r=j(()=>te(o.source)),i=a=>{t.changeCurrentSource(a)},c=j(()=>{const a=t.savedSourcesMap;return a.size==0?!1:!a.has(r.value)});return(a,b)=>{const w=le,U=Pe;return g(),C(U,{size:"large",border:"",value:s(r),class:ve({error:s(c),edit:s(r)==s(n)})},{default:p(()=>[y(X(s(de)(a.source))+" ",1),h(w,{text:"",icon:s(ke),onClick:b[0]||(b[0]=x=>i(a.source))},null,8,["icon"])]),_:1},8,["value","class"])}}}),jt=$($t,[["__scopeId","data-v-d8dae8d3"]]),At={class:"tool"},Mt=A({__name:"SourceList",setup(e){const o=W(),t=J([]),n=J(""),r=j(()=>o.sources),i=j(()=>{const d=n.value;return d===""?r.value:r.value.filter(l=>Dt(l,d))}),c=j(()=>{const d=t.value;if(d.length==0)return[];const l=n.value==""?o.sourcesMap:re(i.value);return d.reduce((_,v)=>{const L=l.get(v);return L&&_.push(L),_},[])}),a=()=>{const d=c.value;P.deleteSource(d).then(({data:l})=>{if(!l.isSuccess)return k.error(l.errorMsg);o.deleteSources(d);const _=Ce(t.value);d.forEach(v=>{const L=_.indexOf(te(v));L>-1&&_.splice(L,1)}),t.value=_})},b=()=>{o.clearAllSource(),t.value=[]},w=()=>{const d=document.createElement("input");d.type="file",d.accept=".json,.txt",d.addEventListener("change",()=>{const l=d.files;if(l===null)return k.info("未选择文件");const _=new FileReader;_.readAsText(l[0]),_.onload=()=>{try{const v=JSON.parse(_.result);o.saveSources(v)}catch(v){k.error("上传的源格式错误: "+v.message)}}}),d.click()},U=/bookSource/i.test(window.location.href),x=()=>{const d=document.createElement("a"),l=t.value.length===0?i.value:c.value,_=U?"BookSource":"RssSource";d.download=`${_}_${Date().replace(/.*?\s(\d+)\s(\d+)\s(\d+:\d+:\d+).*/,"$2$1$3").replace(/:/g,"")}.json`;const v=new Blob([JSON.stringify(l,null,4)],{type:"application/json"});d.href=window.URL.createObjectURL(v),d.click(),window.URL.revokeObjectURL(d.href)};return(d,l)=>{const _=Z,v=le,L=Me;return g(),E(N,null,[h(_,{modelValue:s(n),"onUpdate:modelValue":l[0]||(l[0]=O=>K(n)?n.value=O:null),class:"search","prefix-icon":s(we),placeholder:"筛选源"},null,8,["modelValue","prefix-icon"]),S("div",At,[h(v,{onClick:w,icon:s($e)},{default:p(()=>l[2]||(l[2]=[y("打开")])),_:1},8,["icon"]),h(v,{disabled:s(i).length===0,onClick:x,icon:s(je)},{default:p(()=>l[3]||(l[3]=[y(" 导出")])),_:1},8,["disabled","icon"]),h(v,{type:"danger",icon:s(pe),onClick:a,disabled:s(c).length===0},{default:p(()=>l[4]||(l[4]=[y("删除")])),_:1},8,["icon","disabled"]),h(v,{type:"danger",icon:s(pe),onClick:b,disabled:s(r).length===0},{default:p(()=>l[5]||(l[5]=[y("清空")])),_:1},8,["icon","disabled"])]),h(L,{id:"source-list",modelValue:s(t),"onUpdate:modelValue":l[1]||(l[1]=O=>K(t)?t.value=O:null)},{default:p(()=>[h(s(Ae),{style:{height:"100%","overflow-y":"auto","overflow-x":"hidden"},"data-key":O=>s(de)(O),"data-sources":s(i),"data-component":jt,"estimate-size":45},null,8,["data-key","data-sources"])]),_:1},8,["modelValue"])],64)}}}),Kt=$(Mt,[["__scopeId","data-v-258cd99b"]]),Ht=A({__name:"SourceDebug",setup(e){const o=W(),t=J(""),n=J("");ae(()=>o.isDebuging,()=>{o.isDebuging&&i()});const r=a=>{const b=document.querySelector("#debug-text");b.scrollTop=b.scrollHeight,t.value+=a+` -`},i=async()=>{t.value="";try{await P.saveSource(o.currentSource)}catch(a){throw o.debugFinish(),a}P.debug(o.currentSourceUrl,n.value||o.searchKey,r,o.debugFinish)},c=j(()=>/bookSource/i.test(window.location.href));return(a,b)=>{const w=Z;return g(),E(N,null,[s(c)?(g(),C(w,{key:0,id:"debug-key",modelValue:s(n),"onUpdate:modelValue":b[0]||(b[0]=U=>K(n)?n.value=U:null),placeholder:"搜索书名、作者","prefix-icon":s(we),style:{"padding-bottom":"4px"},onKeydown:Ke(i,["enter"])},null,8,["modelValue","prefix-icon"])):R("",!0),h(w,{id:"debug-text",modelValue:s(t),"onUpdate:modelValue":b[1]||(b[1]=U=>K(t)?t.value=U:null),type:"textarea",readonly:"",rows:29,placeholder:"这里用于输出调试信息"},null,8,["modelValue"])],64)}}}),Wt=$(Ht,[["__scopeId","data-v-3ac68c8a"]]),Ft={theme:0,font:0,fontSize:18,readWidth:800,infiniteLoading:!1,customFontName:"",jumpDuration:1e3,spacing:{paragraph:1,line:.8,letter:0}};let fe;const qt=be("book",{state:()=>({connectStatus:"正在连接后端服务器……",connectType:"primary",newConnect:!0,searchBooks:[],shelf:[],catalog:[],readingBook:{chapterPos:0,chapterIndex:0},popCataVisible:!1,contentLoading:!0,showContent:!1,config:Ft,miniInterface:!1,readSettingsVisible:!1}),getters:{bookProgress:e=>{var c;if(e.catalog.length==0)return;const{chapterIndex:o,chapterPos:t,name:n,author:r}=e.readingBook,i=(c=e.catalog[o])==null?void 0:c.title;if(i)return{name:n,author:r,durChapterIndex:o,durChapterPos:t,durChapterTime:new Date().getTime(),durChapterTitle:i}},theme:e=>e.config.theme,isNight:e=>e.config.theme==6},actions:{setConnectStatus(e){this.connectStatus=e},setConnectType(e){this.connectType=e},setNewConnect(e){this.newConnect=e},async loadBookShelf(){const e=P.getBookShelf().then(o=>{const{isSuccess:t,data:n,errorMsg:r}=o.data;if(t===!0)this.shelf.length!==n.length&&this.shelf.length>0&&n.length>0&&k.info("书架数据已更新"),this.shelf=n.sort((i,c)=>{const a=i.durChapterTime||0;return(c.durChapterTime||0)-a});else{if(r.includes("还没有添加小说")&&this.shelf.length>0)return k.info("当前书架上的书籍已经被删除"),this.shelf=[];k.error(r??"后端返回格式错误!")}return this.shelf});return this.shelf.length>0?this.shelf:await e},clearBooks(){this.shelf=[]},async loadWebCatalog(e){const{bookUrl:o,name:t,chapterIndex:n}=e,r=P.getChapterList(e.bookUrl).then(i=>{const{isSuccess:c,data:a,errorMsg:b}=i.data;if(c===!1)throw k.error(b),new Error;return a.length!==this.catalog.length&&a.length>0&&this.catalog.length>0&&k.info(`书籍${t}: 章节目录已更新`),this.setCatalog(a),this.catalog});return o===this.readingBook.bookUrl&&this.catalog.length>0&&this.catalog.length-1>=n?this.catalog:await r},setCatalog(e){this.catalog=e},setPopCataVisible(e){this.popCataVisible=e},setContentLoading(e){this.contentLoading=e},setReadingBook(e){this.readingBook=e},async loadWebConfig(){if(fe===void 0){const e=await P.getReadConfig();return fe=new Date,this.setConfig(e)}},setConfig(e){this.config=Object.assign({},this.config,e)},setReadSettingsVisible(e){this.readSettingsVisible=e},setShowContent(e){this.showContent=e},setMiniInterface(e){this.miniInterface=e},async setSearchBooks(e){e.forEach(o=>{this.shelf.every(n=>n.bookUrl!==o.bookUrl)===!0&&this.searchBooks.push(o)})},clearSearchBooks(){this.searchBooks=[]},async saveBookProgress(){if(!this.bookProgress)return Promise.resolve();const{bookUrl:e}=this.readingBook,o=Ce(this.shelf),t=o.findIndex(n=>n.bookUrl===e);return t>-1&&(this.shelf[t]=Object.assign({},o[t],this.bookProgress)),P.saveBookProgressWithBeacon(this.bookProgress)}}}),zt=He(),Gt=A({__name:"SourceJson",setup(e){const o=W(),t=J(""),n=async r=>{try{o.changeEditTabSource(JSON.parse(r))}catch{k({message:"粘贴的源格式错误",type:"error"})}};return We(async()=>{const r=o.editTabSource;Object.keys(r).length>0?t.value=JSON.stringify(r,null,4):t.value=""}),(r,i)=>{const c=Z;return g(),C(c,{id:"source-json",modelValue:s(t),"onUpdate:modelValue":i[0]||(i[0]=a=>K(t)?t.value=a:null),type:"textarea",placeholder:"这里输出序列化的JSON数据,可直接导入'阅读'APP",rows:30,onChange:n,style:{"margin-bottom":"4px"}},null,8,["modelValue"])}}}),Yt=$(Gt,[["__scopeId","data-v-f62d9369"]]),Qt=A({__name:"SourceTabTools",setup(e){const o=W(),t=j({get:()=>o.currentTab,set:r=>o.currentTab=r}),n=J([["editTab","编辑源"],["editDebug","调试源"],["editList","源列表"],["editHelp","帮助信息"]]);return(r,i)=>{const c=Yt,a=Wt,b=Kt,w=ut,U=Ue,x=Be;return g(),C(x,{modelValue:s(t),"onUpdate:modelValue":i[0]||(i[0]=d=>K(t)?t.value=d:null)},{default:p(()=>[(g(!0),E(N,null,M(s(n),(d,l)=>(g(),C(U,{key:d[0],name:d[0],label:d[1]},{default:p(()=>[l==0?(g(),C(c,{key:0})):R("",!0),l==1?(g(),C(a,{key:1})):R("",!0),l==2?(g(),C(b,{key:2})):R("",!0),l==3?(g(),C(w,{key:3})):R("",!0)]),_:2},1032,["name","label"]))),128))]),_:1},8,["modelValue"])}}}),Xt=$(Qt,[["__scopeId","data-v-fd81540f"]]),Zt={class:"menu flex-column-center"},eo={class:"hotkeys-header flex-space-between"},to=["id"],oo={key:0},no={class:"hotkeys-settings flex-column-center"},ro={class:"title"},so={class:"hotkeys-item__content"},io={key:0},lo={key:0},ao=A({__name:"ToolBar",setup(e){const o=W(),t=()=>{const f=k({message:"加载中……",showClose:!0,duration:0});P.getSources().then(({data:u})=>{u.isSuccess?(o.changeTabName("editList"),o.saveSources(u.data),k({message:`成功拉取${u.data.length}条源`,type:"success"})):k({message:u.errorMsg??"后端错误",type:"error"})}).finally(()=>f.close())},n=()=>{const f=o.sources;if(o.changeTabName("editList"),f.length===0)return k({message:"空空如也",type:"info"});k({message:"正在推送中",type:"info"}),P.saveSources(f).then(({data:u})=>{if(u.isSuccess){const m=u.data;if(Array.isArray(m)){let D="";f.length>m.length&&(D=` -推送失败的源将用红色字体标注!`,o.setPushReturnSources(m)),k({message:`批量推送源到「阅读3.0APP」 -共计: ${f.length} 条 -成功: ${m.length} 条 -失败: ${f.length-m.length} 条${D}`,type:"success"})}}else k({message:`批量推送源失败! -ErrorMsg: ${u.errorMsg}`,type:"error"})})},r=()=>{o.changeTabName("editTab"),o.changeEditTabSource(o.currentSource)},i=()=>{o.changeCurrentSource(o.editTabSource)},c=()=>{o.editHistoryUndo()},a=()=>{o.clearEdit(),k({message:"已清除",type:"success"})},b=()=>{o.clearEdit(),o.clearAllHistory(),k({message:"已清除所有历史记录",type:"success"})},w=()=>{const f=o.currentSource;Ot(f)?P.saveSource(f).then(({data:u})=>{const m=de(f);u.isSuccess?(k({message:`源《${m}》已成功保存到「阅读3.0APP」`,type:"success"}),o.saveCurrentSource()):k({message:`源《${m}》保存失败! -ErrorMsg: ${u.errorMsg}`,type:"error"})}):k({message:"请检查<必填>项是否全部填写",type:"error"})},U=()=>{o.startDebug()},x=J(Array.of({name:"⇈推送源",hotKeys:[],action:n},{name:"⇊拉取源",hotKeys:[],action:t},{name:"⋙生成源",hotKeys:[],action:r},{name:"⋘编辑源",hotKeys:[],action:i},{name:"✗清空表单",hotKeys:[],action:a},{name:"↶撤销操作",hotKeys:[],action:c},{name:"↷重做操作",hotKeys:[],action:b},{name:"⇏调试源",hotKeys:[],action:U},{name:"✓保存源",hotKeys:[],action:w})),d=J(!0),l=J(!1),_=J(-1),v=()=>{l.value||(d.value=!1),l.value=!1};ae(d,f=>{if(!f){q.unbind("*"),G(),F();return}G(),q.unbind(),q("*",u=>{u.preventDefault();const m=q.getPressedKeyString();m.length==1&&m[0]=="esc"||l.value&&_.value>-1&&(x.value[_.value].hotKeys=m)})},{immediate:!0});const L=f=>{l.value=!0,k({message:"按ESC键或者点击空白处结束录入",type:"info"}),x.value[f].hotKeys=[],_.value=f},O=()=>{const f=[];x.value.forEach(({hotKeys:u})=>{f.push(u)}),T(f),d.value=!1},F=()=>{q.filter=()=>!0,x.value.forEach(({hotKeys:f,action:u})=>{f.length!=0&&q(f.join("+"),m=>{m.preventDefault(),u.call(null)})})},T=f=>{localStorage.setItem("legado_web_hotkeys",JSON.stringify(f))};function G(){try{const f=localStorage.getItem("legado_web_hotkeys");if(f===null)return!1;const u=JSON.parse(f);return!Array.isArray(u)||u.length==0?!1:(x.value.forEach((m,D)=>m.hotKeys=u[D]),!0)}catch{k({message:"快捷键配置错误",type:"error"}),localStorage.removeItem("legado_web_hotkeys")}return!1}return Fe(()=>{G()&&(d.value=!1)}),(f,u)=>{const m=le,D=_e,Te=ze;return g(),E(N,null,[S("div",Zt,[(g(!0),E(N,null,M(s(x),I=>(g(),C(m,{size:"large",key:I.name,onClick:I.action},{default:p(()=>[y(X(I.name),1)]),_:2},1032,["onClick"]))),128)),h(m,{size:"large",onClick:u[0]||(u[0]=()=>d.value=!0)},{default:p(()=>u[2]||(u[2]=[y("快捷键")])),_:1})]),h(Te,{modelValue:s(d),"onUpdate:modelValue":u[1]||(u[1]=I=>K(d)?d.value=I:null),"show-close":!1,"before-close":v},{header:p(({titleClass:I,titleId:oe})=>[S("div",eo,[S("div",{id:oe,class:ve(I)},[u[4]||(u[4]=y(" 快捷键设置 ")),s(l)?(g(),E("span",oo,[h(D,null,{default:p(()=>u[3]||(u[3]=[y(" / 录入中 ")])),_:1})])):R("",!0)],10,to),h(m,{disabled:s(l),onClick:O,icon:s(qe)},{default:p(()=>u[5]||(u[5]=[y("保存")])),_:1},8,["disabled","icon"])])]),default:p(()=>[S("div",no,[(g(!0),E(N,null,M(s(x),(I,oe)=>(g(),E("div",{key:I.name,class:"hotkeys-item flex-space-between"},[S("span",ro,[h(D,null,{default:p(()=>[y(X(I.name),1)]),_:2},1024)]),S("div",so,[(g(!0),E(N,null,M(I.hotKeys,(ne,Ve)=>(g(),E("div",{key:ne},[S("kbd",null,X(ne),1),Ve+1u[6]||(u[6]=[y("+")])),_:1})])):R("",!0)]))),128)),I.hotKeys.length==0?(g(),E("span",lo,"未设置")):R("",!0)]),h(m,{disabled:s(l),text:"",icon:s(ke),onClick:ne=>L(oe)},{default:p(()=>u[7]||(u[7]=[y("编辑")])),_:2},1032,["disabled","icon","onClick"])]))),128))])]),_:1},8,["modelValue"])],64)}}}),co=$(ao,[["__scopeId","data-v-7fe41be4"]]),uo=A({__name:"SourceTabForm",props:{config:{}},setup(e){const o=W(),t=j(()=>o.currentSource);return(n,r)=>{const i=Z,c=Ge,a=Ye,b=Qe,w=Xe,U=Ze,x=et,d=Ue,l=Be;return g(),C(l,{id:"source-edit"},{default:p(()=>[(g(!0),E(N,null,M(Object.values(n.config),({name:_,children:v})=>(g(),C(d,{label:_,key:_},{default:p(()=>[h(x,{"label-position":"right","label-width":"auto"},{default:p(()=>[(g(!0),E(N,null,M(v,({type:L,title:O,namespace:F,id:T,array:G,hint:f,required:u=!1})=>(g(),C(U,{label:O,key:O,required:u},{default:p(()=>[L=="String"&&typeof F>"u"?(g(),C(i,{key:0,type:"textarea",modelValue:s(t)[T],"onUpdate:modelValue":m=>s(t)[T]=m,placeholder:f,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):R("",!0),L=="String"&&typeof F<"u"?(g(),C(i,{key:1,type:"textarea",modelValue:s(t)[F][T],"onUpdate:modelValue":m=>s(t)[F][T]=m,placeholder:f,autosize:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):R("",!0),L==="Boolean"?(g(),C(c,{key:2,modelValue:s(t)[T],"onUpdate:modelValue":m=>s(t)[T]=m},null,8,["modelValue","onUpdate:modelValue"])):R("",!0),L==="Number"?(g(),C(a,{key:3,modelValue:s(t)[T],"onUpdate:modelValue":m=>s(t)[T]=m,min:0},null,8,["modelValue","onUpdate:modelValue"])):R("",!0),L==="Array"?(g(),C(w,{key:4,modelValue:s(t)[T],"onUpdate:modelValue":m=>s(t)[T]=m},{default:p(()=>[(g(!0),E(N,null,M(G,(m,D)=>(g(),C(b,{value:D,key:m,label:m},null,8,["value","label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):R("",!0)]),_:2},1032,["label","required"]))),128))]),_:2},1024)]),_:2},1032,["label"]))),128))]),_:1})}}}),po=$(uo,[["__scopeId","data-v-c07c5146"]]),go={base:{name:"基础",children:[{title:"源类型",id:"bookSourceType",type:"Array",array:["文本","音频","图片","文件"],required:!0},{title:"源域名",id:"bookSourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"源名称",id:"bookSourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"bookSourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"bookSourceComment",type:"String",hint:"描述源作者和状态"},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"链接验证",id:"bookUrlPattern",type:"String",hint:"书籍URL正则,当详情页URL与源URL的域名不一致时有效,用于添加网址"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"书源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率,如1000(访问间隔1000ms)或者1/1000(1000ms内访问1次)"},{title:"js库",id:"jsLib",type:"String",hint:"js库, 可填写js或者key-value object获取在线js文件"}]},search:{name:"搜索",children:[{title:"搜索地址",id:"searchUrl",type:"String",hint:"[域名可省略]/search.php@kw={{key}}"},{title:"校验文字",namespace:"ruleSearch",id:"checkKeyWord",type:"String",hint:"校验关键字,强烈建议填写"},{title:"列表规则",namespace:"ruleSearch",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleSearch",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleSearch",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleSearch",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleSearch",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleSearch",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleSearch",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleSearch",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleSearch",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},find:{name:"发现",children:[{title:"发现地址",id:"exploreUrl",type:"String",hint:"单个发现格式::或者{url:,title:,style:...};前者用换行符或者&&连接,后者放在数组内;可用js动态生成"},{title:"列表规则",namespace:"ruleExplore",id:"bookList",type:"String",hint:"选择书籍节点 (规则结果为List)"},{title:"书名规则",namespace:"ruleExplore",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleExplore",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleExplore",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleExplore",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleExplore",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleExplore",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleExplore",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"详情地址",namespace:"ruleExplore",id:"bookUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url)"}]},detail:{name:"详情",children:[{title:"预处理",namespace:"ruleBookInfo",id:"init",type:"String",hint:"用于加速详情信息检索,只支持AllInOne规则"},{title:"书名规则",namespace:"ruleBookInfo",id:"name",type:"String",hint:"选择节点书名 (规则结果为String)"},{title:"作者规则",namespace:"ruleBookInfo",id:"author",type:"String",hint:"选择节点作者 (规则结果为String)"},{title:"分类规则",namespace:"ruleBookInfo",id:"kind",type:"String",hint:"选择节点分类信息 (规则结果为String)"},{title:"字数规则",namespace:"ruleBookInfo",id:"wordCount",type:"String",hint:"选择节点字数信息 (规则结果为String)"},{title:"最新章节",namespace:"ruleBookInfo",id:"lastChapter",type:"String",hint:"选择节点最新章节 (规则结果为String)"},{title:"简介规则",namespace:"ruleBookInfo",id:"intro",type:"String",hint:"选择节点书籍简介 (规则结果为String)"},{title:"封面规则",namespace:"ruleBookInfo",id:"coverUrl",type:"String",hint:"选择节点书籍封面 (规则结果为String类型的url)"},{title:"目录地址",namespace:"ruleBookInfo",id:"tocUrl",type:"String",hint:"选择书籍详情页网址 (规则结果为String类型的url, 与详情页相同时可省略)"},{title:"修改书籍",namespace:"ruleBookInfo",id:"canReName",type:"String",hint:"允许修改书名作者(规则结果为String类型, 默认不允许)"},{title:"下载URL",namespace:"ruleBookInfo",id:"downloadUrls",type:"String",hint:"文件类书源下载地址 (规则结果为String类型的url, 多个链接返回数组)"}]},directory:{name:"目录",children:[{title:"更新前JS",namespace:"ruleToc",id:"preUpdateJs",type:"String",hint:"更新目录前调用JS 动态更新目录链接"},{title:"列表规则",namespace:"ruleToc",id:"chapterList",type:"String",hint:"选择目录列表的章节节点 (规则结果为List)"},{title:"章节名称",namespace:"ruleToc",id:"chapterName",type:"String",hint:"选择章节名称 (规则结果为String)"},{title:"章节地址",namespace:"ruleToc",id:"chapterUrl",type:"String",hint:"选择章节链接 (规则结果为String类型的Url)"},{title:"标题处理",namespace:"ruleToc",id:"formatJs",type:"String",hint:"遍历去重后的章节列表的回调,提供index(章节序号从1开始)、title(章节标题)变量,额外提供gInt(初始值0),返回值作为新的标题"},{title:"卷名标识",namespace:"ruleToc",id:"isVolume",type:"String",hint:"章节名称是否是卷名 (规则结果为Bool)"},{title:"章节信息",namespace:"ruleToc",id:"updateTime",type:"String",hint:"选择章节信息(如更新时间) (规则结果为String)"},{title:"收费标识",namespace:"ruleToc",id:"isVip",type:"String",hint:"章节是否为VIP章节 (规则结果为Bool)"},{title:"购买标识",namespace:"ruleToc",id:"isPay",type:"String",hint:"章节是否为已购买 (规则结果为Bool)"},{title:"翻页规则",namespace:"ruleToc",id:"nextTocUrl",type:"String",hint:"选择目录下一页链接 (规则结果为List或String)"}]},content:{name:"正文",children:[{title:"正文规则",namespace:"ruleContent",id:"content",type:"String",hint:"选择正文内容 (规则结果为String)"},{title:"标题规则",namespace:"ruleContent",id:"title",type:"String",hint:"获取结果将会覆盖章节标题 (规则结果为String)"},{title:"翻页规则",namespace:"ruleContent",id:"nextContentUrl",type:"String",hint:"选择下一分页(不是下一章)链接 (规则结果为String类型的Url)"},{title:"脚本注入",namespace:"ruleContent",id:"webJs",type:"String",hint:"注入javascript,用于模拟鼠标点击等,必须有返回值,一般为String类型"},{title:"资源正则",namespace:"ruleContent",id:"sourceRegex",type:"String",hint:"匹配资源的url特征,用于嗅探"},{title:"替换规则",namespace:"ruleContent",id:"replaceRegex",type:"String",hint:"多页内容合并后替换,用于正文净化"},{title:"图片样式",namespace:"ruleContent",id:"imageStyle",type:"String",hint:"FULL:铺满 不填:默认样式"},{title:"图片解密",namespace:"ruleContent",id:"imageDecode",type:"String",hint:"填写JavaScript 返回解密图片的bytes "},{title:"购买操作",namespace:"ruleContent",id:"payAction",type:"String",hint:"填写JavaScript 返回购买链接或者调用购买接口"}]},other:{name:"其他",children:[{title:"启用搜索",id:"enabled",type:"Boolean"},{title:"启用发现",id:"enabledExplore",type:"Boolean"},{title:"CookieJar",id:"enabledCookieJar",type:"Boolean"},{title:"搜索权重",id:"weight",type:"Number"},{title:"排序编号",id:"customOrder",type:"Number"}]}},ho={base:{name:"基础",children:[{title:"源域名",id:"sourceUrl",type:"String",hint:"通常填写网站主页,例: https://www.qidian.com",required:!0},{title:"图标",id:"sourceIcon",type:"String",hint:"填写图片网络链接"},{title:"源名称",id:"sourceName",type:"String",hint:"会显示在源列表",required:!0},{title:"源分组",id:"sourceGroup",type:"String",hint:"描述源的特征信息"},{title:"源注释",id:"sourceComment",type:"String",hint:"描述源作者和状态"},{title:"分类地址",id:"sortUrl",type:"String",hint:`名称1::链接1 -名称2::链接2`},{title:"登录地址",id:"loginUrl",type:"String",hint:"填写网站登录网址,仅在需要登录的源有用"},{title:"登录界面",id:"loginUi",type:"String",hint:"自定义登录界面"},{title:"登录检测",id:"loginCheckJs",type:"String",hint:"登录检测js"},{title:"封面解密",id:"coverDecodeJs",type:"String",hint:"封面解密js"},{title:"请求头",id:"header",type:"String",hint:"客户端标识"},{title:"变量说明",id:"variableComment",type:"String",hint:"源变量说明"},{title:"并发率",id:"concurrentRate",type:"String",hint:"并发率"}]},list:{name:"列表",children:[{title:"列表规则",id:"ruleArticles",type:"String",hint:"规则结果为List"},{title:"翻页规则",id:"ruleNextPage",type:"String",hint:"下一页链接 规则结果为List或String"},{title:"标题规则",id:"ruleTitle",type:"String",hint:"文章标题 规则结果为String"},{title:"时间规则",id:"rulePubDate",type:"String",hint:"文章发布时间 规则结果为String"},{title:"描述规则",id:"ruleDescription",type:"String",hint:"文章简要描述 规则结果为String"},{title:"图片规则",id:"ruleImage",type:"String",hint:"文章图片链接 规则结果为String"},{title:"链接规则",id:"ruleLink",type:"String",hint:"文章链接 规则结果为String"}]},webView:{name:"WebView",children:[{title:"内容规则",id:"ruleContent",type:"String",hint:"文章正文"},{title:"样式规则",id:"style",type:"String",hint:"文章正文样式 填写css"},{title:"注入规则",id:"injectJs",type:"String",hint:"注入网页的JavaScript"},{title:"黑名单",id:"contentBlacklist",type:"String",hint:"webView链接加载黑名单,英文逗号隔开"},{title:"白名单",id:"contentWhitelist",type:"String",hint:"webView链接加载白名单,英文逗号隔开"},{title:"链接拦截",id:"shouldOverrideUrlLoading",type:"String",hint:"填写js,变量url为当前资源链接,返回true拦截"}]},other:{name:"其他",children:[{title:"列表样式",id:"articleStyle",type:"Array",array:["默认","大图","双列"]},{title:"加载地址",id:"loadWithBaseUrl",type:"Boolean"},{title:"启用JS",id:"enableJs",type:"Boolean"},{title:"启用",id:"enabled",type:"Boolean"},{title:"Cookie",id:"enabledCookieJar",type:"Boolean"},{title:"单URL",id:"singleUrl",type:"Boolean"},{title:"排序编号",id:"customOrder",type:"Number"}]}},mo={class:"editor"},So=A({__name:"SourceEditor",setup(e){tt();let o;return/bookSource/i.test(location.href)?(o=go,document.title="书源管理"):(o=ho,document.title="订阅源管理"),(t,n)=>{const r=po,i=co,c=Xt;return g(),E("div",mo,[h(r,{class:"left",config:s(o)},null,8,["config"]),h(i),h(c,{class:"right"})])}}}),ye=$(So,[["__scopeId","data-v-f2c47af3"]]),Ie=[{path:"/bookSource",name:"book-home",component:ye},{path:"/rssSource",name:"rss-home",component:ye}];se({history:ie(),routes:Ie});const Re=se({history:ie(),routes:[Ee,Ie].flat()});Re.afterEach(e=>{e.name=="shelf"&&(document.title="书架")});ot(st).use(zt).use(Re).mount("#app");ae(()=>qt().isNight,e=>{e?document.documentElement.classList.add("dark"):document.documentElement.classList.remove("dark")});export{P as A,$ as _,Y as a,dt as b,_o as d,yo as i,H as l,Nt as p,ht as s,qt as u,Tt as v}; diff --git a/app/src/main/assets/web/vue/assets/loading-DO4FBnCG.js b/app/src/main/assets/web/vue/assets/loading-DPQW_bh6.js similarity index 75% rename from app/src/main/assets/web/vue/assets/loading-DO4FBnCG.js rename to app/src/main/assets/web/vue/assets/loading-DPQW_bh6.js index 96c0e099371c..e4f48518fca2 100644 --- a/app/src/main/assets/web/vue/assets/loading-DO4FBnCG.js +++ b/app/src/main/assets/web/vue/assets/loading-DPQW_bh6.js @@ -1 +1 @@ -import{y as l,J as g,aj as c,u as d,a7 as f,ak as m}from"./vendor-DyE_jpJ0.js";const L=(s,t,u=m)=>{const a=l(!1);let r=null;const o=()=>a.value=!1,n=()=>a.value=!0;g(a,e=>{if(!e)return r==null?void 0:r.close();r=c.service({target:d(s),spinner:u,text:t,lock:!0,background:"rgba(0, 0, 0, 0)"})});const i=e=>{if(!(e instanceof Promise))throw TypeError("loadingWrapper argument must be Promise");return n(),e.finally(o)};return f(()=>{o()}),{isLoading:a,showLoading:n,closeLoading:o,loadingWrapper:i}};export{L as u}; +import{B as l,L as g,aj as c,u as d,a8 as f,ak as m}from"./vendor-Cq9RjTRr.js";const L=(s,t,u=m)=>{const a=l(!1);let r=null;const o=()=>a.value=!1,n=()=>a.value=!0;g(a,e=>{if(!e)return r==null?void 0:r.close();r=c.service({target:d(s),spinner:u,text:t,lock:!0,background:"rgba(0, 0, 0, 0)"})});const i=e=>{if(!(e instanceof Promise))throw TypeError("loadingWrapper argument must be Promise");return n(),e.finally(o)};return f(()=>{o()}),{isLoading:a,showLoading:n,closeLoading:o,loadingWrapper:i}};export{L as u}; diff --git a/app/src/main/assets/web/vue/assets/vendor-DyE_jpJ0.js b/app/src/main/assets/web/vue/assets/vendor-Cq9RjTRr.js similarity index 95% rename from app/src/main/assets/web/vue/assets/vendor-DyE_jpJ0.js rename to app/src/main/assets/web/vue/assets/vendor-Cq9RjTRr.js index 2a9f70168baf..67e2ac3c4a48 100644 --- a/app/src/main/assets/web/vue/assets/vendor-DyE_jpJ0.js +++ b/app/src/main/assets/web/vue/assets/vendor-Cq9RjTRr.js @@ -42,9 +42,9 @@ `)}get[Symbol.toStringTag](){return"AxiosHeaders"}static from(t){return t instanceof this?t:new this(t)}static concat(t,...n){const r=new this(t);return n.forEach(o=>r.set(o)),r}static accessor(t){const r=(this[Vp]=this[Vp]={accessors:{}}).accessors,o=this.prototype;function s(i){const a=as(i);r[a]||(LI(o,i),r[a]=!0)}return K.isArray(t)?t.forEach(s):s(t),this}}Kt.accessor(["Content-Type","Content-Length","Accept","Accept-Encoding","User-Agent","Authorization"]);K.reduceDescriptors(Kt.prototype,({value:e},t)=>{let n=t[0].toUpperCase()+t.slice(1);return{get:()=>e,set(r){this[n]=r}}});K.freezeMethods(Kt);function Bl(e,t){const n=this||ui,r=t||n,o=Kt.from(r.headers);let s=r.data;return K.forEach(e,function(a){s=a.call(n,s,o.normalize(),t?t.status:void 0)}),o.normalize(),s}function Wg(e){return!!(e&&e.__CANCEL__)}function Qo(e,t,n){Ae.call(this,e??"canceled",Ae.ERR_CANCELED,t,n),this.name="CanceledError"}K.inherits(Qo,Ae,{__CANCEL__:!0});function Gg(e,t,n){const r=n.config.validateStatus;!n.status||!r||r(n.status)?e(n):t(new Ae("Request failed with status code "+n.status,[Ae.ERR_BAD_REQUEST,Ae.ERR_BAD_RESPONSE][Math.floor(n.status/100)-4],n.config,n.request,n))}function kI(e){const t=/^([-+\w]{1,25})(:?\/\/|:)/.exec(e);return t&&t[1]||""}function NI(e,t){e=e||10;const n=new Array(e),r=new Array(e);let o=0,s=0,i;return t=t!==void 0?t:1e3,function(l){const u=Date.now(),c=r[s];i||(i=u),n[o]=l,r[o]=u;let f=s,d=0;for(;f!==o;)d+=n[f++],f=f%e;if(o=(o+1)%e,o===s&&(s=(s+1)%e),u-i{n=c,o=null,s&&(clearTimeout(s),s=null),e.apply(null,u)};return[(...u)=>{const c=Date.now(),f=c-n;f>=r?i(u,c):(o=u,s||(s=setTimeout(()=>{s=null,i(o)},r-f)))},()=>o&&i(o)]}const ya=(e,t,n=3)=>{let r=0;const o=NI(50,250);return FI(s=>{const i=s.loaded,a=s.lengthComputable?s.total:void 0,l=i-r,u=o(l),c=i<=a;r=i;const f={loaded:i,total:a,progress:a?i/a:void 0,bytes:l,rate:u||void 0,estimated:u&&a&&c?(a-i)/u:void 0,event:s,lengthComputable:a!=null,[t?"download":"upload"]:!0};e(f)},n)},jp=(e,t)=>{const n=e!=null;return[r=>t[0]({lengthComputable:n,total:e,loaded:r}),t[1]]},zp=e=>(...t)=>K.asap(()=>e(...t)),BI=Ht.hasStandardBrowserEnv?function(){const t=Ht.navigator&&/(msie|trident)/i.test(Ht.navigator.userAgent),n=document.createElement("a");let r;function o(s){let i=s;return t&&(n.setAttribute("href",i),i=n.href),n.setAttribute("href",i),{href:n.href,protocol:n.protocol?n.protocol.replace(/:$/,""):"",host:n.host,search:n.search?n.search.replace(/^\?/,""):"",hash:n.hash?n.hash.replace(/^#/,""):"",hostname:n.hostname,port:n.port,pathname:n.pathname.charAt(0)==="/"?n.pathname:"/"+n.pathname}}return r=o(window.location.href),function(i){const a=K.isString(i)?o(i):i;return a.protocol===r.protocol&&a.host===r.host}}():function(){return function(){return!0}}(),DI=Ht.hasStandardBrowserEnv?{write(e,t,n,r,o,s){const i=[e+"="+encodeURIComponent(t)];K.isNumber(n)&&i.push("expires="+new Date(n).toGMTString()),K.isString(r)&&i.push("path="+r),K.isString(o)&&i.push("domain="+o),s===!0&&i.push("secure"),document.cookie=i.join("; ")},read(e){const t=document.cookie.match(new RegExp("(^|;\\s*)("+e+")=([^;]*)"));return t?decodeURIComponent(t[3]):null},remove(e){this.write(e,"",Date.now()-864e5)}}:{write(){},read(){return null},remove(){}};function VI(e){return/^([a-z][a-z\d+\-.]*:)?\/\//i.test(e)}function jI(e,t){return t?e.replace(/\/?\/$/,"")+"/"+t.replace(/^\/+/,""):e}function Yg(e,t){return e&&!VI(t)?jI(e,t):t}const Hp=e=>e instanceof Kt?{...e}:e;function ao(e,t){t=t||{};const n={};function r(u,c,f){return K.isPlainObject(u)&&K.isPlainObject(c)?K.merge.call({caseless:f},u,c):K.isPlainObject(c)?K.merge({},c):K.isArray(c)?c.slice():c}function o(u,c,f){if(K.isUndefined(c)){if(!K.isUndefined(u))return r(void 0,u,f)}else return r(u,c,f)}function s(u,c){if(!K.isUndefined(c))return r(void 0,c)}function i(u,c){if(K.isUndefined(c)){if(!K.isUndefined(u))return r(void 0,u)}else return r(void 0,c)}function a(u,c,f){if(f in t)return r(u,c);if(f in e)return r(void 0,u)}const l={url:s,method:s,data:s,baseURL:i,transformRequest:i,transformResponse:i,paramsSerializer:i,timeout:i,timeoutMessage:i,withCredentials:i,withXSRFToken:i,adapter:i,responseType:i,xsrfCookieName:i,xsrfHeaderName:i,onUploadProgress:i,onDownloadProgress:i,decompress:i,maxContentLength:i,maxBodyLength:i,beforeRedirect:i,transport:i,httpAgent:i,httpsAgent:i,cancelToken:i,socketPath:i,responseEncoding:i,validateStatus:a,headers:(u,c)=>o(Hp(u),Hp(c),!0)};return K.forEach(Object.keys(Object.assign({},e,t)),function(c){const f=l[c]||o,d=f(e[c],t[c],c);K.isUndefined(d)&&f!==a||(n[c]=d)}),n}const Jg=e=>{const t=ao({},e);let{data:n,withXSRFToken:r,xsrfHeaderName:o,xsrfCookieName:s,headers:i,auth:a}=t;t.headers=i=Kt.from(i),t.url=Kg(Yg(t.baseURL,t.url),e.params,e.paramsSerializer),a&&i.set("Authorization","Basic "+btoa((a.username||"")+":"+(a.password?unescape(encodeURIComponent(a.password)):"")));let l;if(K.isFormData(n)){if(Ht.hasStandardBrowserEnv||Ht.hasStandardBrowserWebWorkerEnv)i.setContentType(void 0);else if((l=i.getContentType())!==!1){const[u,...c]=l?l.split(";").map(f=>f.trim()).filter(Boolean):[];i.setContentType([u||"multipart/form-data",...c].join("; "))}}if(Ht.hasStandardBrowserEnv&&(r&&K.isFunction(r)&&(r=r(t)),r||r!==!1&&BI(t.url))){const u=o&&s&&DI.read(s);u&&i.set(o,u)}return t},zI=typeof XMLHttpRequest<"u",HI=zI&&function(e){return new Promise(function(n,r){const o=Jg(e);let s=o.data;const i=Kt.from(o.headers).normalize();let{responseType:a,onUploadProgress:l,onDownloadProgress:u}=o,c,f,d,v,p;function h(){v&&v(),p&&p(),o.cancelToken&&o.cancelToken.unsubscribe(c),o.signal&&o.signal.removeEventListener("abort",c)}let y=new XMLHttpRequest;y.open(o.method.toUpperCase(),o.url,!0),y.timeout=o.timeout;function m(){if(!y)return;const E=Kt.from("getAllResponseHeaders"in y&&y.getAllResponseHeaders()),b={data:!a||a==="text"||a==="json"?y.responseText:y.response,status:y.status,statusText:y.statusText,headers:E,config:e,request:y};Gg(function(A){n(A),h()},function(A){r(A),h()},b),y=null}"onloadend"in y?y.onloadend=m:y.onreadystatechange=function(){!y||y.readyState!==4||y.status===0&&!(y.responseURL&&y.responseURL.indexOf("file:")===0)||setTimeout(m)},y.onabort=function(){y&&(r(new Ae("Request aborted",Ae.ECONNABORTED,e,y)),y=null)},y.onerror=function(){r(new Ae("Network Error",Ae.ERR_NETWORK,e,y)),y=null},y.ontimeout=function(){let w=o.timeout?"timeout of "+o.timeout+"ms exceeded":"timeout exceeded";const b=o.transitional||Ug;o.timeoutErrorMessage&&(w=o.timeoutErrorMessage),r(new Ae(w,b.clarifyTimeoutError?Ae.ETIMEDOUT:Ae.ECONNABORTED,e,y)),y=null},s===void 0&&i.setContentType(null),"setRequestHeader"in y&&K.forEach(i.toJSON(),function(w,b){y.setRequestHeader(b,w)}),K.isUndefined(o.withCredentials)||(y.withCredentials=!!o.withCredentials),a&&a!=="json"&&(y.responseType=o.responseType),u&&([d,p]=ya(u,!0),y.addEventListener("progress",d)),l&&y.upload&&([f,v]=ya(l),y.upload.addEventListener("progress",f),y.upload.addEventListener("loadend",v)),(o.cancelToken||o.signal)&&(c=E=>{y&&(r(!E||E.type?new Qo(null,e,y):E),y.abort(),y=null)},o.cancelToken&&o.cancelToken.subscribe(c),o.signal&&(o.signal.aborted?c():o.signal.addEventListener("abort",c)));const _=kI(o.url);if(_&&Ht.protocols.indexOf(_)===-1){r(new Ae("Unsupported protocol "+_+":",Ae.ERR_BAD_REQUEST,e));return}y.send(s||null)})},KI=(e,t)=>{const{length:n}=e=e?e.filter(Boolean):[];if(t||n){let r=new AbortController,o;const s=function(u){if(!o){o=!0,a();const c=u instanceof Error?u:this.reason;r.abort(c instanceof Ae?c:new Qo(c instanceof Error?c.message:c))}};let i=t&&setTimeout(()=>{i=null,s(new Ae(`timeout ${t} of ms exceeded`,Ae.ETIMEDOUT))},t);const a=()=>{e&&(i&&clearTimeout(i),i=null,e.forEach(u=>{u.unsubscribe?u.unsubscribe(s):u.removeEventListener("abort",s)}),e=null)};e.forEach(u=>u.addEventListener("abort",s));const{signal:l}=r;return l.unsubscribe=()=>K.asap(a),l}},UI=function*(e,t){let n=e.byteLength;if(n{const o=qI(e,t);let s=0,i,a=l=>{i||(i=!0,r&&r(l))};return new ReadableStream({async pull(l){try{const{done:u,value:c}=await o.next();if(u){a(),l.close();return}let f=c.byteLength;if(n){let d=s+=f;n(d)}l.enqueue(new Uint8Array(c))}catch(u){throw a(u),u}},cancel(l){return a(l),o.return()}},{highWaterMark:2})},il=typeof fetch=="function"&&typeof Request=="function"&&typeof Response=="function",Xg=il&&typeof ReadableStream=="function",GI=il&&(typeof TextEncoder=="function"?(e=>t=>e.encode(t))(new TextEncoder):async e=>new Uint8Array(await new Response(e).arrayBuffer())),Zg=(e,...t)=>{try{return!!e(...t)}catch{return!1}},YI=Xg&&Zg(()=>{let e=!1;const t=new Request(Ht.origin,{body:new ReadableStream,method:"POST",get duplex(){return e=!0,"half"}}).headers.has("Content-Type");return e&&!t}),Up=64*1024,Pu=Xg&&Zg(()=>K.isReadableStream(new Response("").body)),ba={stream:Pu&&(e=>e.body)};il&&(e=>{["text","arrayBuffer","blob","formData","stream"].forEach(t=>{!ba[t]&&(ba[t]=K.isFunction(e[t])?n=>n[t]():(n,r)=>{throw new Ae(`Response type '${t}' is not supported`,Ae.ERR_NOT_SUPPORT,r)})})})(new Response);const JI=async e=>{if(e==null)return 0;if(K.isBlob(e))return e.size;if(K.isSpecCompliantForm(e))return(await new Request(Ht.origin,{method:"POST",body:e}).arrayBuffer()).byteLength;if(K.isArrayBufferView(e)||K.isArrayBuffer(e))return e.byteLength;if(K.isURLSearchParams(e)&&(e=e+""),K.isString(e))return(await GI(e)).byteLength},XI=async(e,t)=>{const n=K.toFiniteNumber(e.getContentLength());return n??JI(t)},ZI=il&&(async e=>{let{url:t,method:n,data:r,signal:o,cancelToken:s,timeout:i,onDownloadProgress:a,onUploadProgress:l,responseType:u,headers:c,withCredentials:f="same-origin",fetchOptions:d}=Jg(e);u=u?(u+"").toLowerCase():"text";let v=KI([o,s&&s.toAbortSignal()],i),p;const h=v&&v.unsubscribe&&(()=>{v.unsubscribe()});let y;try{if(l&&YI&&n!=="get"&&n!=="head"&&(y=await XI(c,r))!==0){let b=new Request(t,{method:"POST",body:r,duplex:"half"}),O;if(K.isFormData(r)&&(O=b.headers.get("content-type"))&&c.setContentType(O),b.body){const[A,P]=jp(y,ya(zp(l)));r=Kp(b.body,Up,A,P)}}K.isString(f)||(f=f?"include":"omit");const m="credentials"in Request.prototype;p=new Request(t,{...d,signal:v,method:n.toUpperCase(),headers:c.normalize().toJSON(),body:r,duplex:"half",credentials:m?f:void 0});let _=await fetch(p);const E=Pu&&(u==="stream"||u==="response");if(Pu&&(a||E&&h)){const b={};["status","statusText","headers"].forEach(I=>{b[I]=_[I]});const O=K.toFiniteNumber(_.headers.get("content-length")),[A,P]=a&&jp(O,ya(zp(a),!0))||[];_=new Response(Kp(_.body,Up,A,()=>{P&&P(),h&&h()}),b)}u=u||"text";let w=await ba[K.findKey(ba,u)||"text"](_,e);return!E&&h&&h(),await new Promise((b,O)=>{Gg(b,O,{data:w,headers:Kt.from(_.headers),status:_.status,statusText:_.statusText,config:e,request:p})})}catch(m){throw h&&h(),m&&m.name==="TypeError"&&/fetch/i.test(m.message)?Object.assign(new Ae("Network Error",Ae.ERR_NETWORK,e,p),{cause:m.cause||m}):Ae.from(m,m&&m.code,e,p)}}),Iu={http:pI,xhr:HI,fetch:ZI};K.forEach(Iu,(e,t)=>{if(e){try{Object.defineProperty(e,"name",{value:t})}catch{}Object.defineProperty(e,"adapterName",{value:t})}});const qp=e=>`- ${e}`,QI=e=>K.isFunction(e)||e===null||e===!1,Qg={getAdapter:e=>{e=K.isArray(e)?e:[e];const{length:t}=e;let n,r;const o={};for(let s=0;s`adapter ${a} `+(l===!1?"is not supported by the environment":"is not available in the build"));let i=t?s.length>1?`since : `+s.map(qp).join(` `):" "+qp(s[0]):"as no adapter specified";throw new Ae("There is no suitable adapter to dispatch the request "+i,"ERR_NOT_SUPPORT")}return r},adapters:Iu};function Dl(e){if(e.cancelToken&&e.cancelToken.throwIfRequested(),e.signal&&e.signal.aborted)throw new Qo(null,e)}function Wp(e){return Dl(e),e.headers=Kt.from(e.headers),e.data=Bl.call(e,e.transformRequest),["post","put","patch"].indexOf(e.method)!==-1&&e.headers.setContentType("application/x-www-form-urlencoded",!1),Qg.getAdapter(e.adapter||ui.adapter)(e).then(function(r){return Dl(e),r.data=Bl.call(e,e.transformResponse,r),r.headers=Kt.from(r.headers),r},function(r){return Wg(r)||(Dl(e),r&&r.response&&(r.response.data=Bl.call(e,e.transformResponse,r.response),r.response.headers=Kt.from(r.response.headers))),Promise.reject(r)})}const ey="1.7.7",zc={};["object","boolean","number","function","string","symbol"].forEach((e,t)=>{zc[e]=function(r){return typeof r===e||"a"+(t<1?"n ":" ")+e}});const Gp={};zc.transitional=function(t,n,r){function o(s,i){return"[Axios v"+ey+"] Transitional option '"+s+"'"+i+(r?". "+r:"")}return(s,i,a)=>{if(t===!1)throw new Ae(o(i," has been removed"+(n?" in "+n:"")),Ae.ERR_DEPRECATED);return n&&!Gp[i]&&(Gp[i]=!0),t?t(s,i,a):!0}};function e8(e,t,n){if(typeof e!="object")throw new Ae("options must be an object",Ae.ERR_BAD_OPTION_VALUE);const r=Object.keys(e);let o=r.length;for(;o-- >0;){const s=r[o],i=t[s];if(i){const a=e[s],l=a===void 0||i(a,s,e);if(l!==!0)throw new Ae("option "+s+" must be "+l,Ae.ERR_BAD_OPTION_VALUE);continue}if(n!==!0)throw new Ae("Unknown option "+s,Ae.ERR_BAD_OPTION)}}const $u={assertOptions:e8,validators:zc},vr=$u.validators;class to{constructor(t){this.defaults=t,this.interceptors={request:new Dp,response:new Dp}}async request(t,n){try{return await this._request(t,n)}catch(r){if(r instanceof Error){let o;Error.captureStackTrace?Error.captureStackTrace(o={}):o=new Error;const s=o.stack?o.stack.replace(/^.+\n/,""):"";try{r.stack?s&&!String(r.stack).endsWith(s.replace(/^.+\n.+\n/,""))&&(r.stack+=` -`+s):r.stack=s}catch{}}throw r}}_request(t,n){typeof t=="string"?(n=n||{},n.url=t):n=t||{},n=ao(this.defaults,n);const{transitional:r,paramsSerializer:o,headers:s}=n;r!==void 0&&$u.assertOptions(r,{silentJSONParsing:vr.transitional(vr.boolean),forcedJSONParsing:vr.transitional(vr.boolean),clarifyTimeoutError:vr.transitional(vr.boolean)},!1),o!=null&&(K.isFunction(o)?n.paramsSerializer={serialize:o}:$u.assertOptions(o,{encode:vr.function,serialize:vr.function},!0)),n.method=(n.method||this.defaults.method||"get").toLowerCase();let i=s&&K.merge(s.common,s[n.method]);s&&K.forEach(["delete","get","head","post","put","patch","common"],p=>{delete s[p]}),n.headers=Kt.concat(i,s);const a=[];let l=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(n)===!1||(l=l&&h.synchronous,a.unshift(h.fulfilled,h.rejected))});const u=[];this.interceptors.response.forEach(function(h){u.push(h.fulfilled,h.rejected)});let c,f=0,d;if(!l){const p=[Wp.bind(this),void 0];for(p.unshift.apply(p,a),p.push.apply(p,u),d=p.length,c=Promise.resolve(n);f{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](o);r._listeners=null}),this.promise.then=o=>{let s;const i=new Promise(a=>{r.subscribe(a),s=a}).then(o);return i.cancel=function(){r.unsubscribe(s)},i},t(function(s,i,a){r.reason||(r.reason=new Qo(s,i,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Hc(function(o){t=o}),cancel:t}}}function t8(e){return function(n){return e.apply(null,n)}}function n8(e){return K.isObject(e)&&e.isAxiosError===!0}const Mu={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Mu).forEach(([e,t])=>{Mu[t]=e});function ty(e){const t=new to(e),n=$g(to.prototype.request,t);return K.extend(n,to.prototype,t,{allOwnKeys:!0}),K.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return ty(ao(e,o))},n}const gt=ty(ui);gt.Axios=to;gt.CanceledError=Qo;gt.CancelToken=Hc;gt.isCancel=Wg;gt.VERSION=ey;gt.toFormData=sl;gt.AxiosError=Ae;gt.Cancel=gt.CanceledError;gt.all=function(t){return Promise.all(t)};gt.spread=t8;gt.isAxiosError=n8;gt.mergeConfig=ao;gt.AxiosHeaders=Kt;gt.formToJSON=e=>qg(K.isHTMLForm(e)?new FormData(e):e);gt.getAdapter=Qg.getAdapter;gt.HttpStatusCode=Mu;gt.default=gt;function ny(e){return Ta()?(Oa(e),!0):!1}function rn(e){return typeof e=="function"?e():g(e)}const r8=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const o8=Object.prototype.toString,s8=e=>o8.call(e)==="[object Object]",Ho=()=>{};function Kc(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const ry=e=>e();function i8(e,t={}){let n,r,o=Ho;const s=a=>{clearTimeout(a),o(),o=Ho};return a=>{const l=rn(e),u=rn(t.maxWait);return n&&s(n),l<=0||u!==void 0&&u<=0?(r&&(s(r),r=null),Promise.resolve(a())):new Promise((c,f)=>{o=t.rejectOnCancel?f:c,u&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,c(a())},u)),n=setTimeout(()=>{r&&s(r),r=null,c(a())},l)})}}function a8(...e){let t=0,n,r=!0,o=Ho,s,i,a,l,u;!Ue(e[0])&&typeof e[0]=="object"?{delay:i,trailing:a=!0,leading:l=!0,rejectOnCancel:u=!1}=e[0]:[i,a=!0,l=!0,u=!1]=e;const c=()=>{n&&(clearTimeout(n),n=void 0,o(),o=Ho)};return d=>{const v=rn(i),p=Date.now()-t,h=()=>s=d();return c(),v<=0?(t=Date.now(),h()):(p>v&&(l||!r)?(t=Date.now(),h()):a&&(s=new Promise((y,m)=>{o=u?m:y,n=setTimeout(()=>{t=Date.now(),r=!0,y(h()),c()},Math.max(0,v-p))})),!l&&!n&&(n=setTimeout(()=>r=!0,v)),r=!1,s)}}function l8(e=ry){const t=V(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:lo(t),pause:n,resume:r,eventFilter:o}}function u8(e){return Je()}function c8(...e){if(e.length!==1)return Yt(...e);const t=e[0];return typeof t=="function"?lo(pb(()=>({get:t,set:Ho}))):V(t)}function I$(e,t=200,n={}){return Kc(i8(t,n),e)}function $$(e,t=200,n=!1,r=!0,o=!1){return Kc(a8(t,n,r,o),e)}function f8(e,t,n={}){const{eventFilter:r=ry,...o}=n;return ve(e,Kc(r,t),o)}function d8(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:a,isActive:l}=l8(r);return{stop:f8(e,t,{...o,eventFilter:s}),pause:i,resume:a,isActive:l}}function oy(e,t=!0,n){u8()?Ke(e,n):t?e():Pe(e)}const p8=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function h8(e,t,n,r){let o=e<12?"AM":"PM";return r&&(o=o.split("").reduce((s,i)=>s+=`${i}.`,"")),n?o.toLowerCase():o}function zr(e){const t=["th","st","nd","rd"],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}function M$(e,t,n={}){var r;const o=e.getFullYear(),s=e.getMonth(),i=e.getDate(),a=e.getHours(),l=e.getMinutes(),u=e.getSeconds(),c=e.getMilliseconds(),f=e.getDay(),d=(r=n.customMeridiem)!=null?r:h8,v={Yo:()=>zr(o),YY:()=>String(o).slice(-2),YYYY:()=>o,M:()=>s+1,Mo:()=>zr(s+1),MM:()=>`${s+1}`.padStart(2,"0"),MMM:()=>e.toLocaleDateString(rn(n.locales),{month:"short"}),MMMM:()=>e.toLocaleDateString(rn(n.locales),{month:"long"}),D:()=>String(i),Do:()=>zr(i),DD:()=>`${i}`.padStart(2,"0"),H:()=>String(a),Ho:()=>zr(a),HH:()=>`${a}`.padStart(2,"0"),h:()=>`${a%12||12}`.padStart(1,"0"),ho:()=>zr(a%12||12),hh:()=>`${a%12||12}`.padStart(2,"0"),m:()=>String(l),mo:()=>zr(l),mm:()=>`${l}`.padStart(2,"0"),s:()=>String(u),so:()=>zr(u),ss:()=>`${u}`.padStart(2,"0"),SSS:()=>`${c}`.padStart(3,"0"),d:()=>f,dd:()=>e.toLocaleDateString(rn(n.locales),{weekday:"narrow"}),ddd:()=>e.toLocaleDateString(rn(n.locales),{weekday:"short"}),dddd:()=>e.toLocaleDateString(rn(n.locales),{weekday:"long"}),A:()=>d(a,l),AA:()=>d(a,l,!1,!0),a:()=>d(a,l,!0),aa:()=>d(a,l,!0,!0)};return t.replace(p8,(p,h)=>{var y,m;return(m=h??((y=v[p])==null?void 0:y.call(v)))!=null?m:p})}function Yp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Pi(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);nthis.range.start)){var r=Math.max(n-this.param.buffer,0);this.checkRange(r,this.getEndByStart(r))}}},{key:"handleBehind",value:function(){var n=this.getScrollOvers();nn&&(i=o-1)}return r>0?--r:0}},{key:"getIndexOffset",value:function(n){if(!n)return 0;for(var r=0,o=0,s=0;s=x&&r("tobottom")},m=function(J){var $=v(),x=p(),j=h();$<0||$+x>j+1||!j||(f.handleScroll($),y($,x,j,J))},_=function(){var J=t.dataKey,$=t.dataSources,x=$===void 0?[]:$;return x.map(function(j){return typeof J=="function"?J(j):j[J]})},E=function(J){l.value=J},w=function(){f=new C8({slotHeaderSize:0,slotFooterSize:0,keeps:t.keeps,estimateSize:t.estimateSize,buffer:Math.round(t.keeps/3),uniqueIds:_()},E),l.value=f.getRange()},b=function(J){if(J>=t.dataSources.length-1)R();else{var $=f.getOffset(J);O($)}},O=function(J){t.pageMode?(document.body[a]=J,document.documentElement[a]=J):u.value&&(u.value[a]=J)},A=function(){for(var J=[],$=l.value,x=$.start,j=$.end,ee=t.dataSources,ge=t.dataKey,Le=t.itemClass,ke=t.itemTag,Re=t.itemStyle,Ee=t.extraProps,Xe=t.dataComponent,Ze=t.itemScopedSlots,Be=x;Be<=j;Be++){var F=ee[Be];if(F){var U=typeof ge=="function"?ge(F):F[ge];(typeof U=="string"||typeof U=="number")&&J.push(oe(x8,{index:Be,tag:ke,event:Ts.ITEM,horizontal:i,uniqueKey:U,source:F,extraProps:Ee,component:Xe,scopedSlots:Ze,style:Re,class:"".concat(Le).concat(t.itemClassAdd?" "+t.itemClassAdd(Be):""),onItemResize:P},null))}}return J},P=function(J,$){f.saveSize(J,$),r("resized",J,$)},I=function(J,$,x){J===Ao.HEADER?f.updateParam("slotHeaderSize",$):J===Ao.FOOTER&&f.updateParam("slotFooterSize",$),x&&f.handleSlotSizeChange()},R=function D(){if(c.value){var J=c.value[i?"offsetLeft":"offsetTop"];O(J),setTimeout(function(){v()+p(){delete s[p]}),n.headers=Kt.concat(i,s);const a=[];let l=!0;this.interceptors.request.forEach(function(h){typeof h.runWhen=="function"&&h.runWhen(n)===!1||(l=l&&h.synchronous,a.unshift(h.fulfilled,h.rejected))});const u=[];this.interceptors.response.forEach(function(h){u.push(h.fulfilled,h.rejected)});let c,f=0,d;if(!l){const p=[Wp.bind(this),void 0];for(p.unshift.apply(p,a),p.push.apply(p,u),d=p.length,c=Promise.resolve(n);f{if(!r._listeners)return;let s=r._listeners.length;for(;s-- >0;)r._listeners[s](o);r._listeners=null}),this.promise.then=o=>{let s;const i=new Promise(a=>{r.subscribe(a),s=a}).then(o);return i.cancel=function(){r.unsubscribe(s)},i},t(function(s,i,a){r.reason||(r.reason=new Qo(s,i,a),n(r.reason))})}throwIfRequested(){if(this.reason)throw this.reason}subscribe(t){if(this.reason){t(this.reason);return}this._listeners?this._listeners.push(t):this._listeners=[t]}unsubscribe(t){if(!this._listeners)return;const n=this._listeners.indexOf(t);n!==-1&&this._listeners.splice(n,1)}toAbortSignal(){const t=new AbortController,n=r=>{t.abort(r)};return this.subscribe(n),t.signal.unsubscribe=()=>this.unsubscribe(n),t.signal}static source(){let t;return{token:new Hc(function(o){t=o}),cancel:t}}}function t8(e){return function(n){return e.apply(null,n)}}function n8(e){return K.isObject(e)&&e.isAxiosError===!0}const Mu={Continue:100,SwitchingProtocols:101,Processing:102,EarlyHints:103,Ok:200,Created:201,Accepted:202,NonAuthoritativeInformation:203,NoContent:204,ResetContent:205,PartialContent:206,MultiStatus:207,AlreadyReported:208,ImUsed:226,MultipleChoices:300,MovedPermanently:301,Found:302,SeeOther:303,NotModified:304,UseProxy:305,Unused:306,TemporaryRedirect:307,PermanentRedirect:308,BadRequest:400,Unauthorized:401,PaymentRequired:402,Forbidden:403,NotFound:404,MethodNotAllowed:405,NotAcceptable:406,ProxyAuthenticationRequired:407,RequestTimeout:408,Conflict:409,Gone:410,LengthRequired:411,PreconditionFailed:412,PayloadTooLarge:413,UriTooLong:414,UnsupportedMediaType:415,RangeNotSatisfiable:416,ExpectationFailed:417,ImATeapot:418,MisdirectedRequest:421,UnprocessableEntity:422,Locked:423,FailedDependency:424,TooEarly:425,UpgradeRequired:426,PreconditionRequired:428,TooManyRequests:429,RequestHeaderFieldsTooLarge:431,UnavailableForLegalReasons:451,InternalServerError:500,NotImplemented:501,BadGateway:502,ServiceUnavailable:503,GatewayTimeout:504,HttpVersionNotSupported:505,VariantAlsoNegotiates:506,InsufficientStorage:507,LoopDetected:508,NotExtended:510,NetworkAuthenticationRequired:511};Object.entries(Mu).forEach(([e,t])=>{Mu[t]=e});function ty(e){const t=new to(e),n=$g(to.prototype.request,t);return K.extend(n,to.prototype,t,{allOwnKeys:!0}),K.extend(n,t,null,{allOwnKeys:!0}),n.create=function(o){return ty(ao(e,o))},n}const gt=ty(ui);gt.Axios=to;gt.CanceledError=Qo;gt.CancelToken=Hc;gt.isCancel=Wg;gt.VERSION=ey;gt.toFormData=sl;gt.AxiosError=Ae;gt.Cancel=gt.CanceledError;gt.all=function(t){return Promise.all(t)};gt.spread=t8;gt.isAxiosError=n8;gt.mergeConfig=ao;gt.AxiosHeaders=Kt;gt.formToJSON=e=>qg(K.isHTMLForm(e)?new FormData(e):e);gt.getAdapter=Qg.getAdapter;gt.HttpStatusCode=Mu;gt.default=gt;function ny(e){return Ta()?(Oa(e),!0):!1}function rn(e){return typeof e=="function"?e():g(e)}const r8=typeof window<"u"&&typeof document<"u";typeof WorkerGlobalScope<"u"&&globalThis instanceof WorkerGlobalScope;const o8=Object.prototype.toString,s8=e=>o8.call(e)==="[object Object]",Ho=()=>{};function Kc(e,t){function n(...r){return new Promise((o,s)=>{Promise.resolve(e(()=>t.apply(this,r),{fn:t,thisArg:this,args:r})).then(o).catch(s)})}return n}const ry=e=>e();function i8(e,t={}){let n,r,o=Ho;const s=a=>{clearTimeout(a),o(),o=Ho};return a=>{const l=rn(e),u=rn(t.maxWait);return n&&s(n),l<=0||u!==void 0&&u<=0?(r&&(s(r),r=null),Promise.resolve(a())):new Promise((c,f)=>{o=t.rejectOnCancel?f:c,u&&!r&&(r=setTimeout(()=>{n&&s(n),r=null,c(a())},u)),n=setTimeout(()=>{r&&s(r),r=null,c(a())},l)})}}function a8(...e){let t=0,n,r=!0,o=Ho,s,i,a,l,u;!Ue(e[0])&&typeof e[0]=="object"?{delay:i,trailing:a=!0,leading:l=!0,rejectOnCancel:u=!1}=e[0]:[i,a=!0,l=!0,u=!1]=e;const c=()=>{n&&(clearTimeout(n),n=void 0,o(),o=Ho)};return d=>{const v=rn(i),p=Date.now()-t,h=()=>s=d();return c(),v<=0?(t=Date.now(),h()):(p>v&&(l||!r)?(t=Date.now(),h()):a&&(s=new Promise((y,m)=>{o=u?m:y,n=setTimeout(()=>{t=Date.now(),r=!0,y(h()),c()},Math.max(0,v-p))})),!l&&!n&&(n=setTimeout(()=>r=!0,v)),r=!1,s)}}function l8(e=ry){const t=V(!0);function n(){t.value=!1}function r(){t.value=!0}const o=(...s)=>{t.value&&e(...s)};return{isActive:lo(t),pause:n,resume:r,eventFilter:o}}function u8(e){return Je()}function c8(...e){if(e.length!==1)return Yt(...e);const t=e[0];return typeof t=="function"?lo(pb(()=>({get:t,set:Ho}))):V(t)}function I$(e,t=200,n={}){return Kc(i8(t,n),e)}function $$(e,t=200,n=!1,r=!0,o=!1){return Kc(a8(t,n,r,o),e)}function f8(e,t,n={}){const{eventFilter:r=ry,...o}=n;return ve(e,Kc(r,t),o)}function d8(e,t,n={}){const{eventFilter:r,...o}=n,{eventFilter:s,pause:i,resume:a,isActive:l}=l8(r);return{stop:f8(e,t,{...o,eventFilter:s}),pause:i,resume:a,isActive:l}}function oy(e,t=!0,n){u8()?Ke(e,n):t?e():Pe(e)}const p8=/[YMDHhms]o|\[([^\]]+)\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;function h8(e,t,n,r){let o=e<12?"AM":"PM";return r&&(o=o.split("").reduce((s,i)=>s+=`${i}.`,"")),n?o.toLowerCase():o}function zr(e){const t=["th","st","nd","rd"],n=e%100;return e+(t[(n-20)%10]||t[n]||t[0])}function M$(e,t,n={}){var r;const o=e.getFullYear(),s=e.getMonth(),i=e.getDate(),a=e.getHours(),l=e.getMinutes(),u=e.getSeconds(),c=e.getMilliseconds(),f=e.getDay(),d=(r=n.customMeridiem)!=null?r:h8,v={Yo:()=>zr(o),YY:()=>String(o).slice(-2),YYYY:()=>o,M:()=>s+1,Mo:()=>zr(s+1),MM:()=>`${s+1}`.padStart(2,"0"),MMM:()=>e.toLocaleDateString(rn(n.locales),{month:"short"}),MMMM:()=>e.toLocaleDateString(rn(n.locales),{month:"long"}),D:()=>String(i),Do:()=>zr(i),DD:()=>`${i}`.padStart(2,"0"),H:()=>String(a),Ho:()=>zr(a),HH:()=>`${a}`.padStart(2,"0"),h:()=>`${a%12||12}`.padStart(1,"0"),ho:()=>zr(a%12||12),hh:()=>`${a%12||12}`.padStart(2,"0"),m:()=>String(l),mo:()=>zr(l),mm:()=>`${l}`.padStart(2,"0"),s:()=>String(u),so:()=>zr(u),ss:()=>`${u}`.padStart(2,"0"),SSS:()=>`${c}`.padStart(3,"0"),d:()=>f,dd:()=>e.toLocaleDateString(rn(n.locales),{weekday:"narrow"}),ddd:()=>e.toLocaleDateString(rn(n.locales),{weekday:"short"}),dddd:()=>e.toLocaleDateString(rn(n.locales),{weekday:"long"}),A:()=>d(a,l),AA:()=>d(a,l,!1,!0),a:()=>d(a,l,!0),aa:()=>d(a,l,!0,!0)};return t.replace(p8,(p,h)=>{var y,m;return(m=h??((y=v[p])==null?void 0:y.call(v)))!=null?m:p})}/*! * pinia v2.2.4 * (c) 2024 Eduardo San Martin Morote * @license MIT - */let iy;const al=e=>iy=e,ay=Symbol();function ku(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Os;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Os||(Os={}));function k$(){const e=dh(!0),t=e.run(()=>V({}));let n=[],r=[];const o=Ps({install(s){al(o),o._a=s,s.provide(ay,o),s.config.globalProperties.$pinia=o,r.forEach(i=>n.push(i)),r=[]},use(s){return!this._a&&!p1?r.push(s):n.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const ly=()=>{};function Zp(e,t,n,r=ly){e.push(t);const o=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),r())};return!n&&Ta()&&Oa(o),o}function _o(e,...t){e.slice().forEach(n=>{n(...t)})}const R8=e=>e(),Qp=Symbol(),Vl=Symbol();function Nu(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];ku(o)&&ku(r)&&e.hasOwnProperty(n)&&!Ue(r)&&!Zn(r)?e[n]=Nu(o,r):e[n]=r}return e}const P8=Symbol();function I8(e){return!ku(e)||!e.hasOwnProperty(P8)}const{assign:wr}=Object;function $8(e){return!!(Ue(e)&&e.effect)}function M8(e,t,n,r){const{state:o,actions:s,getters:i}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=o?o():{});const c=sr(n.state.value[e]);return wr(c,s,Object.keys(i||{}).reduce((f,d)=>(f[d]=Ps(T(()=>{al(n);const v=n._s.get(e);return i[d].call(v,v)})),f),{}))}return l=uy(e,u,t,n,r,!0),l}function uy(e,t,n={},r,o,s){let i;const a=wr({actions:{}},n),l={deep:!0};let u,c,f=[],d=[],v;const p=r.state.value[e];!s&&!p&&(r.state.value[e]={}),V({});let h;function y(P){let I;u=c=!1,typeof P=="function"?(P(r.state.value[e]),I={type:Os.patchFunction,storeId:e,events:v}):(Nu(r.state.value[e],P),I={type:Os.patchObject,payload:P,storeId:e,events:v});const R=h=Symbol();Pe().then(()=>{h===R&&(u=!0)}),c=!0,_o(f,I,r.state.value[e])}const m=s?function(){const{state:I}=n,R=I?I():{};this.$patch(k=>{wr(k,R)})}:ly;function _(){i.stop(),f=[],d=[],r._s.delete(e)}const E=(P,I="")=>{if(Qp in P)return P[Vl]=I,P;const R=function(){al(r);const k=Array.from(arguments),L=[],D=[];function J(j){L.push(j)}function $(j){D.push(j)}_o(d,{args:k,name:R[Vl],store:b,after:J,onError:$});let x;try{x=P.apply(this&&this.$id===e?this:b,k)}catch(j){throw _o(D,j),j}return x instanceof Promise?x.then(j=>(_o(L,j),j)).catch(j=>(_o(D,j),Promise.reject(j))):(_o(L,x),x)};return R[Qp]=!0,R[Vl]=I,R},w={_p:r,$id:e,$onAction:Zp.bind(null,d),$patch:y,$reset:m,$subscribe(P,I={}){const R=Zp(f,P,I.detached,()=>k()),k=i.run(()=>ve(()=>r.state.value[e],L=>{(I.flush==="sync"?c:u)&&P({storeId:e,type:Os.direct,events:v},L)},wr({},l,I)));return R},$dispose:_},b=St(w);r._s.set(e,b);const A=(r._a&&r._a.runWithContext||R8)(()=>r._e.run(()=>(i=dh()).run(()=>t({action:E}))));for(const P in A){const I=A[P];if(Ue(I)&&!$8(I)||Zn(I))s||(p&&I8(I)&&(Ue(I)?I.value=p[P]:Nu(I,p[P])),r.state.value[e][P]=I);else if(typeof I=="function"){const R=E(I,P);A[P]=R,a.actions[P]=I}}return wr(b,A),wr($e(b),A),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:P=>{y(I=>{wr(I,P)})}}),r._p.forEach(P=>{wr(b,i.run(()=>P({store:b,app:r._a,pinia:r,options:a})))}),p&&s&&n.hydrate&&n.hydrate(b.$state,p),u=!0,c=!0,b}function N$(e,t,n){let r,o;const s=typeof t=="function";typeof e=="string"?(r=e,o=s?n:t):(o=e,r=e.id);function i(a,l){const u=qb();return a=a||(u?Se(ay,null):null),a&&al(a),a=iy,a._s.has(r)||(s?uy(r,t,o,a):M8(r,o,a)),a._s.get(r)}return i.$id=r,i}function F$(e){{e=$e(e);const t={};for(const n in e){const r=e[n];(Ue(r)||Zn(r))&&(t[n]=Yt(e,n))}return t}}const jl=typeof navigator<"u"?navigator.userAgent.toLowerCase().indexOf("firefox")>0:!1;function zl(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r):e.attachEvent&&e.attachEvent("on".concat(t),n)}function ls(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r):e.detachEvent&&e.detachEvent("on".concat(t),n)}function cy(e,t){const n=t.slice(0,t.length-1);for(let r=0;r=0;)t[n-1]+=",",t.splice(n,1),n=t.lastIndexOf("");return t}function L8(e,t){const n=e.length>=t.length?e:t,r=e.length>=t.length?t:e;let o=!0;for(let s=0;sYs[e.toLowerCase()]||Vn[e.toLowerCase()]||e.toUpperCase().charCodeAt(0),k8=e=>Object.keys(Ys).find(t=>Ys[t]===e),N8=e=>Object.keys(Vn).find(t=>Vn[t]===e);function py(e){dy=e||"all"}function Js(){return dy||"all"}function F8(){return tt.slice(0)}function B8(){return tt.map(e=>k8(e)||N8(e)||String.fromCharCode(e))}function D8(){const e=[];return Object.keys(ut).forEach(t=>{ut[t].forEach(n=>{let{key:r,scope:o,mods:s,shortcut:i}=n;e.push({scope:o,shortcut:i,mods:s,keys:r.split("+").map(a=>ci(a))})})}),e}function V8(e){const t=e.target||e.srcElement,{tagName:n}=t;let r=!0;const o=n==="INPUT"&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(t.type);return(t.isContentEditable||(o||n==="TEXTAREA"||n==="SELECT")&&!t.readOnly)&&(r=!1),r}function j8(e){return typeof e=="string"&&(e=ci(e)),tt.indexOf(e)!==-1}function z8(e,t){let n,r;e||(e=Js());for(const o in ut)if(Object.prototype.hasOwnProperty.call(ut,o))for(n=ut[o],r=0;r{let{element:a}=i;return Uc(a)}):r++;Js()===e&&py(t||"all")}function H8(e){let t=e.keyCode||e.which||e.charCode;const n=tt.indexOf(t);if(n>=0&&tt.splice(n,1),e.key&&e.key.toLowerCase()==="meta"&&tt.splice(0,tt.length),(t===93||t===224)&&(t=91),t in Et){Et[t]=!1;for(const r in Vn)Vn[r]===t&&(Ar[r]=!1)}}function hy(e){if(typeof e>"u")Object.keys(ut).forEach(o=>{Array.isArray(ut[o])&&ut[o].forEach(s=>Ii(s)),delete ut[o]}),Uc(null);else if(Array.isArray(e))e.forEach(o=>{o.key&&Ii(o)});else if(typeof e=="object")e.key&&Ii(e);else if(typeof e=="string"){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{let{key:t,scope:n,method:r,splitKey:o="+"}=e;fy(t).forEach(i=>{const a=i.split(o),l=a.length,u=a[l-1],c=u==="*"?"*":ci(u);if(!ut[c])return;n||(n=Js());const f=l>1?cy(Vn,a):[],d=[];ut[c]=ut[c].filter(v=>{const h=(r?v.method===r:!0)&&v.scope===n&&L8(v.mods,f);return h&&d.push(v.element),!h}),d.forEach(v=>Uc(v))})};function eh(e,t,n,r){if(t.element!==r)return;let o;if(t.scope===n||t.scope==="all"){o=t.mods.length>0;for(const s in Et)Object.prototype.hasOwnProperty.call(Et,s)&&(!Et[s]&&t.mods.indexOf(+s)>-1||Et[s]&&t.mods.indexOf(+s)===-1)&&(o=!1);(t.mods.length===0&&!Et[16]&&!Et[18]&&!Et[17]&&!Et[91]||o||t.shortcut==="*")&&(t.keys=[],t.keys=t.keys.concat(tt),t.method(e,t)===!1&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0)))}}function th(e,t){const n=ut["*"];let r=e.keyCode||e.which||e.charCode;if(!Ar.filter.call(this,e))return;if((r===93||r===224)&&(r=91),tt.indexOf(r)===-1&&r!==229&&tt.push(r),["ctrlKey","altKey","shiftKey","metaKey"].forEach(a=>{const l=Fu[a];e[a]&&tt.indexOf(l)===-1?tt.push(l):!e[a]&&tt.indexOf(l)>-1?tt.splice(tt.indexOf(l),1):a==="metaKey"&&e[a]&&tt.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(tt=tt.slice(tt.indexOf(l))))}),r in Et){Et[r]=!0;for(const a in Vn)Vn[a]===r&&(Ar[a]=!0);if(!n)return}for(const a in Et)Object.prototype.hasOwnProperty.call(Et,a)&&(Et[a]=e[Fu[a]]);e.getModifierState&&!(e.altKey&&!e.ctrlKey)&&e.getModifierState("AltGraph")&&(tt.indexOf(17)===-1&&tt.push(17),tt.indexOf(18)===-1&&tt.push(18),Et[17]=!0,Et[18]=!0);const o=Js();if(n)for(let a=0;a1&&(o=cy(Vn,e)),e=e[e.length-1],e=e==="*"?"*":ci(e),e in ut||(ut[e]=[]),ut[e].push({keyup:l,keydown:u,scope:s,mods:o,shortcut:r[a],method:n,key:r[a],splitKey:c,element:i});if(typeof i<"u"&&window){if(!Wn.has(i)){const v=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.event;return th(h,i)},p=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.event;th(h,i),H8(h)};Wn.set(i,{keydownListener:v,keyupListenr:p,capture:f}),zl(i,"keydown",v,f),zl(i,"keyup",p,f)}if(!As){const v=()=>{tt=[]};As={listener:v,capture:f},zl(window,"focus",v,f)}}}function K8(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"all";Object.keys(ut).forEach(n=>{ut[n].filter(o=>o.scope===t&&o.shortcut===e).forEach(o=>{o&&o.method&&o.method()})})}function Uc(e){const t=Object.values(ut).flat();if(t.findIndex(r=>{let{element:o}=r;return o===e})<0){const{keydownListener:r,keyupListenr:o,capture:s}=Wn.get(e)||{};r&&o&&(ls(e,"keyup",o,s),ls(e,"keydown",r,s),Wn.delete(e))}if((t.length<=0||Wn.size<=0)&&(Object.keys(Wn).forEach(o=>{const{keydownListener:s,keyupListenr:i,capture:a}=Wn.get(o)||{};s&&i&&(ls(o,"keyup",i,a),ls(o,"keydown",s,a),Wn.delete(o))}),Wn.clear(),Object.keys(ut).forEach(o=>delete ut[o]),As)){const{listener:o,capture:s}=As;ls(window,"focus",o,s),As=null}}const Hl={getPressedKeyString:B8,setScope:py,getScope:Js,deleteScope:z8,getPressedKeyCodes:F8,getAllKeyCodes:D8,isPressed:j8,filter:V8,trigger:K8,unbind:hy,keyMap:Ys,modifier:Vn,modifierMap:Fu};for(const e in Hl)Object.prototype.hasOwnProperty.call(Hl,e)&&(Ar[e]=Hl[e]);if(typeof window<"u"){const e=window.hotkeys;Ar.noConflict=t=>(t&&window.hotkeys===Ar&&(window.hotkeys=e),Ar),window.hotkeys=Ar}const Ko=r8?window:void 0;function vy(e){var t;const n=rn(e);return(t=n==null?void 0:n.$el)!=null?t:n}function nh(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Ko):[t,n,r,o]=e,!t)return Ho;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(c=>c()),s.length=0},a=(c,f,d,v)=>(c.addEventListener(f,d,v),()=>c.removeEventListener(f,d,v)),l=ve(()=>[vy(t),rn(o)],([c,f])=>{if(i(),!c)return;const d=s8(f)?{...f}:f;s.push(...n.flatMap(v=>r.map(p=>a(c,v,p,d))))},{immediate:!0,flush:"post"}),u=()=>{l(),i()};return ny(u),u}function U8(){const e=V(!1),t=Je();return t&&Ke(()=>{e.value=!0},t),e}function q8(e){const t=U8();return T(()=>(t.value,!!e()))}function W8(e,t={}){const{window:n=Ko}=t,r=q8(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=V(!1),i=u=>{s.value=u.matches},a=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},l=La(()=>{r.value&&(a(),o=n.matchMedia(rn(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return ny(()=>{l(),a(),o=void 0}),s}const $i=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Mi="__vueuse_ssr_handlers__",G8=Y8();function Y8(){return Mi in $i||($i[Mi]=$i[Mi]||{}),$i[Mi]}function my(e,t){return G8[e]||t}function gy(e){return W8("(prefers-color-scheme: dark)",e)}function J8(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const X8={boolean:{read:e=>e==="true",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()}},rh="vueuse-storage";function Z8(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:a=!0,writeDefaults:l=!0,mergeDefaults:u=!1,shallow:c,window:f=Ko,eventFilter:d,onError:v=R=>{},initOnMounted:p}=r,h=(c?Qn:V)(typeof t=="function"?t():t);if(!n)try{n=my("getDefaultStorage",()=>{var R;return(R=Ko)==null?void 0:R.localStorage})()}catch(R){v(R)}if(!n)return h;const y=rn(t),m=J8(y),_=(o=r.serializer)!=null?o:X8[m],{pause:E,resume:w}=d8(h,()=>O(h.value),{flush:s,deep:i,eventFilter:d});f&&a&&oy(()=>{n instanceof Storage?nh(f,"storage",P):nh(f,rh,I),p&&P()}),p||P();function b(R,k){if(f){const L={key:e,oldValue:R,newValue:k,storageArea:n};f.dispatchEvent(n instanceof Storage?new StorageEvent("storage",L):new CustomEvent(rh,{detail:L}))}}function O(R){try{const k=n.getItem(e);if(R==null)b(k,null),n.removeItem(e);else{const L=_.write(R);k!==L&&(n.setItem(e,L),b(k,L))}}catch(k){v(k)}}function A(R){const k=R?R.newValue:n.getItem(e);if(k==null)return l&&y!=null&&n.setItem(e,_.write(y)),y;if(!R&&u){const L=_.read(k);return typeof u=="function"?u(L,y):m==="object"&&!Array.isArray(L)?{...y,...L}:L}else return typeof k!="string"?k:_.read(k)}function P(R){if(!(R&&R.storageArea!==n)){if(R&&R.key==null){h.value=y;return}if(!(R&&R.key!==e)){E();try{(R==null?void 0:R.newValue)!==_.write(h.value)&&(h.value=A(R))}catch(k){v(k)}finally{R?Pe(w):w()}}}}function I(R){P(R.detail)}return h}const Q8="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function e$(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:o=Ko,storage:s,storageKey:i="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:l,emitAuto:u,disableTransition:c=!0}=e,f={auto:"",light:"light",dark:"dark",...e.modes||{}},d=gy({window:o}),v=T(()=>d.value?"dark":"light"),p=l||(i==null?c8(r):Z8(i,r,s,{window:o,listenToStorageChanges:a})),h=T(()=>p.value==="auto"?v.value:p.value),y=my("updateHTMLAttrs",(w,b,O)=>{const A=typeof w=="string"?o==null?void 0:o.document.querySelector(w):vy(w);if(!A)return;const P=new Set,I=new Set;let R=null;if(b==="class"){const L=O.split(/\s/g);Object.values(f).flatMap(D=>(D||"").split(/\s/g)).filter(Boolean).forEach(D=>{L.includes(D)?P.add(D):I.add(D)})}else R={key:b,value:O};if(P.size===0&&I.size===0&&R===null)return;let k;c&&(k=o.document.createElement("style"),k.appendChild(document.createTextNode(Q8)),o.document.head.appendChild(k));for(const L of P)A.classList.add(L);for(const L of I)A.classList.remove(L);R&&A.setAttribute(R.key,R.value),c&&(o.getComputedStyle(k).opacity,document.head.removeChild(k))});function m(w){var b;y(t,n,(b=f[w])!=null?b:w)}function _(w){e.onChanged?e.onChanged(w,m):m(w)}ve(h,_,{flush:"post",immediate:!0}),oy(()=>_(h.value));const E=T({get(){return u?p.value:h.value},set(w){p.value=w}});try{return Object.assign(E,{store:p,system:v,state:h})}catch{return E}}function B$(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Ko}=e,o=e$({...e,onChanged:(a,l)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,a==="dark",l,a):l(a)},modes:{dark:t,light:n}}),s=T(()=>o.system?o.system.value:gy({window:r}).value?"dark":"light");return T({get(){return o.value==="dark"},set(a){const l=a?"dark":"light";s.value===l?o.value="auto":o.value=l}})}const D$='';export{h$ as $,p$ as A,f$ as B,u$ as C,l$ as D,w$ as E,ot as F,$e as G,ng as H,g$ as I,ve as J,Dt as K,ae as L,k$ as M,La as N,of as O,O$ as P,T$ as Q,Ar as R,Ke as S,a$ as T,y$ as U,L$ as V,C$ as W,b$ as X,_$ as Y,S$ as Z,v$ as _,s$ as a,B$ as a0,iw as a1,n$ as a2,Ix as a3,Qn as a4,i$ as a5,P$ as a6,$r as a7,it as a8,Pe as a9,ct as aa,ew as ab,I$ as ac,dg as ad,E$ as ae,F$ as af,uo as ag,$$ as ah,o$ as ai,x$ as aj,D$ as ak,r$ as b,fe as c,Y as d,Q as e,oe as f,kn as g,le as h,A$ as i,gt as j,M$ as k,d$ as l,R$ as m,N$ as n,M as o,T as p,c$ as q,Gt as r,H as s,He as t,g as u,ux as v,ce as w,m$ as x,V as y,Ue as z}; + */let sy;const al=e=>sy=e,iy=Symbol();function Lu(e){return e&&typeof e=="object"&&Object.prototype.toString.call(e)==="[object Object]"&&typeof e.toJSON!="function"}var Ts;(function(e){e.direct="direct",e.patchObject="patch object",e.patchFunction="patch function"})(Ts||(Ts={}));function L$(){const e=dh(!0),t=e.run(()=>V({}));let n=[],r=[];const o=Ps({install(s){al(o),o._a=s,s.provide(iy,o),s.config.globalProperties.$pinia=o,r.forEach(i=>n.push(i)),r=[]},use(s){return!this._a&&!p1?r.push(s):n.push(s),this},_p:n,_a:null,_e:e,_s:new Map,state:t});return o}const ay=()=>{};function Yp(e,t,n,r=ay){e.push(t);const o=()=>{const s=e.indexOf(t);s>-1&&(e.splice(s,1),r())};return!n&&Ta()&&Oa(o),o}function So(e,...t){e.slice().forEach(n=>{n(...t)})}const v8=e=>e(),Jp=Symbol(),Vl=Symbol();function ku(e,t){e instanceof Map&&t instanceof Map?t.forEach((n,r)=>e.set(r,n)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(const n in t){if(!t.hasOwnProperty(n))continue;const r=t[n],o=e[n];Lu(o)&&Lu(r)&&e.hasOwnProperty(n)&&!Ue(r)&&!Zn(r)?e[n]=ku(o,r):e[n]=r}return e}const m8=Symbol();function g8(e){return!Lu(e)||!e.hasOwnProperty(m8)}const{assign:wr}=Object;function y8(e){return!!(Ue(e)&&e.effect)}function b8(e,t,n,r){const{state:o,actions:s,getters:i}=t,a=n.state.value[e];let l;function u(){a||(n.state.value[e]=o?o():{});const c=sr(n.state.value[e]);return wr(c,s,Object.keys(i||{}).reduce((f,d)=>(f[d]=Ps(T(()=>{al(n);const v=n._s.get(e);return i[d].call(v,v)})),f),{}))}return l=ly(e,u,t,n,r,!0),l}function ly(e,t,n={},r,o,s){let i;const a=wr({actions:{}},n),l={deep:!0};let u,c,f=[],d=[],v;const p=r.state.value[e];!s&&!p&&(r.state.value[e]={}),V({});let h;function y(P){let I;u=c=!1,typeof P=="function"?(P(r.state.value[e]),I={type:Ts.patchFunction,storeId:e,events:v}):(ku(r.state.value[e],P),I={type:Ts.patchObject,payload:P,storeId:e,events:v});const R=h=Symbol();Pe().then(()=>{h===R&&(u=!0)}),c=!0,So(f,I,r.state.value[e])}const m=s?function(){const{state:I}=n,R=I?I():{};this.$patch(k=>{wr(k,R)})}:ay;function _(){i.stop(),f=[],d=[],r._s.delete(e)}const E=(P,I="")=>{if(Jp in P)return P[Vl]=I,P;const R=function(){al(r);const k=Array.from(arguments),L=[],D=[];function J(j){L.push(j)}function $(j){D.push(j)}So(d,{args:k,name:R[Vl],store:b,after:J,onError:$});let x;try{x=P.apply(this&&this.$id===e?this:b,k)}catch(j){throw So(D,j),j}return x instanceof Promise?x.then(j=>(So(L,j),j)).catch(j=>(So(D,j),Promise.reject(j))):(So(L,x),x)};return R[Jp]=!0,R[Vl]=I,R},w={_p:r,$id:e,$onAction:Yp.bind(null,d),$patch:y,$reset:m,$subscribe(P,I={}){const R=Yp(f,P,I.detached,()=>k()),k=i.run(()=>ve(()=>r.state.value[e],L=>{(I.flush==="sync"?c:u)&&P({storeId:e,type:Ts.direct,events:v},L)},wr({},l,I)));return R},$dispose:_},b=St(w);r._s.set(e,b);const A=(r._a&&r._a.runWithContext||v8)(()=>r._e.run(()=>(i=dh()).run(()=>t({action:E}))));for(const P in A){const I=A[P];if(Ue(I)&&!y8(I)||Zn(I))s||(p&&g8(I)&&(Ue(I)?I.value=p[P]:ku(I,p[P])),r.state.value[e][P]=I);else if(typeof I=="function"){const R=E(I,P);A[P]=R,a.actions[P]=I}}return wr(b,A),wr($e(b),A),Object.defineProperty(b,"$state",{get:()=>r.state.value[e],set:P=>{y(I=>{wr(I,P)})}}),r._p.forEach(P=>{wr(b,i.run(()=>P({store:b,app:r._a,pinia:r,options:a})))}),p&&s&&n.hydrate&&n.hydrate(b.$state,p),u=!0,c=!0,b}function k$(e,t,n){let r,o;const s=typeof t=="function";typeof e=="string"?(r=e,o=s?n:t):(o=e,r=e.id);function i(a,l){const u=qb();return a=a||(u?Se(iy,null):null),a&&al(a),a=sy,a._s.has(r)||(s?ly(r,t,o,a):b8(r,o,a)),a._s.get(r)}return i.$id=r,i}function N$(e){{e=$e(e);const t={};for(const n in e){const r=e[n];(Ue(r)||Zn(r))&&(t[n]=Yt(e,n))}return t}}function Xp(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),n.push.apply(n,r)}return n}function Pi(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=new Array(t);nthis.range.start)){var r=Math.max(n-this.param.buffer,0);this.checkRange(r,this.getEndByStart(r))}}},{key:"handleBehind",value:function(){var n=this.getScrollOvers();nn&&(i=o-1)}return r>0?--r:0}},{key:"getIndexOffset",value:function(n){if(!n)return 0;for(var r=0,o=0,s=0;s=x&&r("tobottom")},m=function(J){var $=v(),x=p(),j=h();$<0||$+x>j+1||!j||(f.handleScroll($),y($,x,j,J))},_=function(){var J=t.dataKey,$=t.dataSources,x=$===void 0?[]:$;return x.map(function(j){return typeof J=="function"?J(j):j[J]})},E=function(J){l.value=J},w=function(){f=new R8({slotHeaderSize:0,slotFooterSize:0,keeps:t.keeps,estimateSize:t.estimateSize,buffer:Math.round(t.keeps/3),uniqueIds:_()},E),l.value=f.getRange()},b=function(J){if(J>=t.dataSources.length-1)R();else{var $=f.getOffset(J);O($)}},O=function(J){t.pageMode?(document.body[a]=J,document.documentElement[a]=J):u.value&&(u.value[a]=J)},A=function(){for(var J=[],$=l.value,x=$.start,j=$.end,ee=t.dataSources,ge=t.dataKey,Le=t.itemClass,ke=t.itemTag,Re=t.itemStyle,Ee=t.extraProps,Xe=t.dataComponent,Ze=t.itemScopedSlots,Be=x;Be<=j;Be++){var F=ee[Be];if(F){var U=typeof ge=="function"?ge(F):F[ge];(typeof U=="string"||typeof U=="number")&&J.push(oe(M8,{index:Be,tag:ke,event:Os.ITEM,horizontal:i,uniqueKey:U,source:F,extraProps:Ee,component:Xe,scopedSlots:Ze,style:Re,class:"".concat(Le).concat(t.itemClassAdd?" "+t.itemClassAdd(Be):""),onItemResize:P},null))}}return J},P=function(J,$){f.saveSize(J,$),r("resized",J,$)},I=function(J,$,x){J===Ao.HEADER?f.updateParam("slotHeaderSize",$):J===Ao.FOOTER&&f.updateParam("slotFooterSize",$),x&&f.handleSlotSizeChange()},R=function D(){if(c.value){var J=c.value[i?"offsetLeft":"offsetTop"];O(J),setTimeout(function(){v()+p()0:!1;function zl(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r):e.attachEvent&&e.attachEvent("on".concat(t),n)}function ls(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r):e.detachEvent&&e.detachEvent("on".concat(t),n)}function cy(e,t){const n=t.slice(0,t.length-1);for(let r=0;r=0;)t[n-1]+=",",t.splice(n,1),n=t.lastIndexOf("");return t}function L8(e,t){const n=e.length>=t.length?e:t,r=e.length>=t.length?t:e;let o=!0;for(let s=0;sYs[e.toLowerCase()]||Vn[e.toLowerCase()]||e.toUpperCase().charCodeAt(0),k8=e=>Object.keys(Ys).find(t=>Ys[t]===e),N8=e=>Object.keys(Vn).find(t=>Vn[t]===e);function py(e){dy=e||"all"}function Js(){return dy||"all"}function F8(){return tt.slice(0)}function B8(){return tt.map(e=>k8(e)||N8(e)||String.fromCharCode(e))}function D8(){const e=[];return Object.keys(ut).forEach(t=>{ut[t].forEach(n=>{let{key:r,scope:o,mods:s,shortcut:i}=n;e.push({scope:o,shortcut:i,mods:s,keys:r.split("+").map(a=>ci(a))})})}),e}function V8(e){const t=e.target||e.srcElement,{tagName:n}=t;let r=!0;const o=n==="INPUT"&&!["checkbox","radio","range","button","file","reset","submit","color"].includes(t.type);return(t.isContentEditable||(o||n==="TEXTAREA"||n==="SELECT")&&!t.readOnly)&&(r=!1),r}function j8(e){return typeof e=="string"&&(e=ci(e)),tt.indexOf(e)!==-1}function z8(e,t){let n,r;e||(e=Js());for(const o in ut)if(Object.prototype.hasOwnProperty.call(ut,o))for(n=ut[o],r=0;r{let{element:a}=i;return Uc(a)}):r++;Js()===e&&py(t||"all")}function H8(e){let t=e.keyCode||e.which||e.charCode;const n=tt.indexOf(t);if(n>=0&&tt.splice(n,1),e.key&&e.key.toLowerCase()==="meta"&&tt.splice(0,tt.length),(t===93||t===224)&&(t=91),t in Et){Et[t]=!1;for(const r in Vn)Vn[r]===t&&(Ar[r]=!1)}}function hy(e){if(typeof e>"u")Object.keys(ut).forEach(o=>{Array.isArray(ut[o])&&ut[o].forEach(s=>Ii(s)),delete ut[o]}),Uc(null);else if(Array.isArray(e))e.forEach(o=>{o.key&&Ii(o)});else if(typeof e=="object")e.key&&Ii(e);else if(typeof e=="string"){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r{let{key:t,scope:n,method:r,splitKey:o="+"}=e;fy(t).forEach(i=>{const a=i.split(o),l=a.length,u=a[l-1],c=u==="*"?"*":ci(u);if(!ut[c])return;n||(n=Js());const f=l>1?cy(Vn,a):[],d=[];ut[c]=ut[c].filter(v=>{const h=(r?v.method===r:!0)&&v.scope===n&&L8(v.mods,f);return h&&d.push(v.element),!h}),d.forEach(v=>Uc(v))})};function eh(e,t,n,r){if(t.element!==r)return;let o;if(t.scope===n||t.scope==="all"){o=t.mods.length>0;for(const s in Et)Object.prototype.hasOwnProperty.call(Et,s)&&(!Et[s]&&t.mods.indexOf(+s)>-1||Et[s]&&t.mods.indexOf(+s)===-1)&&(o=!1);(t.mods.length===0&&!Et[16]&&!Et[18]&&!Et[17]&&!Et[91]||o||t.shortcut==="*")&&(t.keys=[],t.keys=t.keys.concat(tt),t.method(e,t)===!1&&(e.preventDefault?e.preventDefault():e.returnValue=!1,e.stopPropagation&&e.stopPropagation(),e.cancelBubble&&(e.cancelBubble=!0)))}}function th(e,t){const n=ut["*"];let r=e.keyCode||e.which||e.charCode;if(!Ar.filter.call(this,e))return;if((r===93||r===224)&&(r=91),tt.indexOf(r)===-1&&r!==229&&tt.push(r),["ctrlKey","altKey","shiftKey","metaKey"].forEach(a=>{const l=Fu[a];e[a]&&tt.indexOf(l)===-1?tt.push(l):!e[a]&&tt.indexOf(l)>-1?tt.splice(tt.indexOf(l),1):a==="metaKey"&&e[a]&&tt.length===3&&(e.ctrlKey||e.shiftKey||e.altKey||(tt=tt.slice(tt.indexOf(l))))}),r in Et){Et[r]=!0;for(const a in Vn)Vn[a]===r&&(Ar[a]=!0);if(!n)return}for(const a in Et)Object.prototype.hasOwnProperty.call(Et,a)&&(Et[a]=e[Fu[a]]);e.getModifierState&&!(e.altKey&&!e.ctrlKey)&&e.getModifierState("AltGraph")&&(tt.indexOf(17)===-1&&tt.push(17),tt.indexOf(18)===-1&&tt.push(18),Et[17]=!0,Et[18]=!0);const o=Js();if(n)for(let a=0;a1&&(o=cy(Vn,e)),e=e[e.length-1],e=e==="*"?"*":ci(e),e in ut||(ut[e]=[]),ut[e].push({keyup:l,keydown:u,scope:s,mods:o,shortcut:r[a],method:n,key:r[a],splitKey:c,element:i});if(typeof i<"u"&&window){if(!Wn.has(i)){const v=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.event;return th(h,i)},p=function(){let h=arguments.length>0&&arguments[0]!==void 0?arguments[0]:window.event;th(h,i),H8(h)};Wn.set(i,{keydownListener:v,keyupListenr:p,capture:f}),zl(i,"keydown",v,f),zl(i,"keyup",p,f)}if(!As){const v=()=>{tt=[]};As={listener:v,capture:f},zl(window,"focus",v,f)}}}function K8(e){let t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"all";Object.keys(ut).forEach(n=>{ut[n].filter(o=>o.scope===t&&o.shortcut===e).forEach(o=>{o&&o.method&&o.method()})})}function Uc(e){const t=Object.values(ut).flat();if(t.findIndex(r=>{let{element:o}=r;return o===e})<0){const{keydownListener:r,keyupListenr:o,capture:s}=Wn.get(e)||{};r&&o&&(ls(e,"keyup",o,s),ls(e,"keydown",r,s),Wn.delete(e))}if((t.length<=0||Wn.size<=0)&&(Object.keys(Wn).forEach(o=>{const{keydownListener:s,keyupListenr:i,capture:a}=Wn.get(o)||{};s&&i&&(ls(o,"keyup",i,a),ls(o,"keydown",s,a),Wn.delete(o))}),Wn.clear(),Object.keys(ut).forEach(o=>delete ut[o]),As)){const{listener:o,capture:s}=As;ls(window,"focus",o,s),As=null}}const Hl={getPressedKeyString:B8,setScope:py,getScope:Js,deleteScope:z8,getPressedKeyCodes:F8,getAllKeyCodes:D8,isPressed:j8,filter:V8,trigger:K8,unbind:hy,keyMap:Ys,modifier:Vn,modifierMap:Fu};for(const e in Hl)Object.prototype.hasOwnProperty.call(Hl,e)&&(Ar[e]=Hl[e]);if(typeof window<"u"){const e=window.hotkeys;Ar.noConflict=t=>(t&&window.hotkeys===Ar&&(window.hotkeys=e),Ar),window.hotkeys=Ar}const Ko=r8?window:void 0;function vy(e){var t;const n=rn(e);return(t=n==null?void 0:n.$el)!=null?t:n}function nh(...e){let t,n,r,o;if(typeof e[0]=="string"||Array.isArray(e[0])?([n,r,o]=e,t=Ko):[t,n,r,o]=e,!t)return Ho;Array.isArray(n)||(n=[n]),Array.isArray(r)||(r=[r]);const s=[],i=()=>{s.forEach(c=>c()),s.length=0},a=(c,f,d,v)=>(c.addEventListener(f,d,v),()=>c.removeEventListener(f,d,v)),l=ve(()=>[vy(t),rn(o)],([c,f])=>{if(i(),!c)return;const d=s8(f)?{...f}:f;s.push(...n.flatMap(v=>r.map(p=>a(c,v,p,d))))},{immediate:!0,flush:"post"}),u=()=>{l(),i()};return ny(u),u}function U8(){const e=V(!1),t=Je();return t&&Ke(()=>{e.value=!0},t),e}function q8(e){const t=U8();return T(()=>(t.value,!!e()))}function W8(e,t={}){const{window:n=Ko}=t,r=q8(()=>n&&"matchMedia"in n&&typeof n.matchMedia=="function");let o;const s=V(!1),i=u=>{s.value=u.matches},a=()=>{o&&("removeEventListener"in o?o.removeEventListener("change",i):o.removeListener(i))},l=La(()=>{r.value&&(a(),o=n.matchMedia(rn(e)),"addEventListener"in o?o.addEventListener("change",i):o.addListener(i),s.value=o.matches)});return ny(()=>{l(),a(),o=void 0}),s}const $i=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},Mi="__vueuse_ssr_handlers__",G8=Y8();function Y8(){return Mi in $i||($i[Mi]=$i[Mi]||{}),$i[Mi]}function my(e,t){return G8[e]||t}function gy(e){return W8("(prefers-color-scheme: dark)",e)}function J8(e){return e==null?"any":e instanceof Set?"set":e instanceof Map?"map":e instanceof Date?"date":typeof e=="boolean"?"boolean":typeof e=="string"?"string":typeof e=="object"?"object":Number.isNaN(e)?"any":"number"}const X8={boolean:{read:e=>e==="true",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()}},rh="vueuse-storage";function Z8(e,t,n,r={}){var o;const{flush:s="pre",deep:i=!0,listenToStorageChanges:a=!0,writeDefaults:l=!0,mergeDefaults:u=!1,shallow:c,window:f=Ko,eventFilter:d,onError:v=R=>{},initOnMounted:p}=r,h=(c?Qn:V)(typeof t=="function"?t():t);if(!n)try{n=my("getDefaultStorage",()=>{var R;return(R=Ko)==null?void 0:R.localStorage})()}catch(R){v(R)}if(!n)return h;const y=rn(t),m=J8(y),_=(o=r.serializer)!=null?o:X8[m],{pause:E,resume:w}=d8(h,()=>O(h.value),{flush:s,deep:i,eventFilter:d});f&&a&&oy(()=>{n instanceof Storage?nh(f,"storage",P):nh(f,rh,I),p&&P()}),p||P();function b(R,k){if(f){const L={key:e,oldValue:R,newValue:k,storageArea:n};f.dispatchEvent(n instanceof Storage?new StorageEvent("storage",L):new CustomEvent(rh,{detail:L}))}}function O(R){try{const k=n.getItem(e);if(R==null)b(k,null),n.removeItem(e);else{const L=_.write(R);k!==L&&(n.setItem(e,L),b(k,L))}}catch(k){v(k)}}function A(R){const k=R?R.newValue:n.getItem(e);if(k==null)return l&&y!=null&&n.setItem(e,_.write(y)),y;if(!R&&u){const L=_.read(k);return typeof u=="function"?u(L,y):m==="object"&&!Array.isArray(L)?{...y,...L}:L}else return typeof k!="string"?k:_.read(k)}function P(R){if(!(R&&R.storageArea!==n)){if(R&&R.key==null){h.value=y;return}if(!(R&&R.key!==e)){E();try{(R==null?void 0:R.newValue)!==_.write(h.value)&&(h.value=A(R))}catch(k){v(k)}finally{R?Pe(w):w()}}}}function I(R){P(R.detail)}return h}const Q8="*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}";function e$(e={}){const{selector:t="html",attribute:n="class",initialValue:r="auto",window:o=Ko,storage:s,storageKey:i="vueuse-color-scheme",listenToStorageChanges:a=!0,storageRef:l,emitAuto:u,disableTransition:c=!0}=e,f={auto:"",light:"light",dark:"dark",...e.modes||{}},d=gy({window:o}),v=T(()=>d.value?"dark":"light"),p=l||(i==null?c8(r):Z8(i,r,s,{window:o,listenToStorageChanges:a})),h=T(()=>p.value==="auto"?v.value:p.value),y=my("updateHTMLAttrs",(w,b,O)=>{const A=typeof w=="string"?o==null?void 0:o.document.querySelector(w):vy(w);if(!A)return;const P=new Set,I=new Set;let R=null;if(b==="class"){const L=O.split(/\s/g);Object.values(f).flatMap(D=>(D||"").split(/\s/g)).filter(Boolean).forEach(D=>{L.includes(D)?P.add(D):I.add(D)})}else R={key:b,value:O};if(P.size===0&&I.size===0&&R===null)return;let k;c&&(k=o.document.createElement("style"),k.appendChild(document.createTextNode(Q8)),o.document.head.appendChild(k));for(const L of P)A.classList.add(L);for(const L of I)A.classList.remove(L);R&&A.setAttribute(R.key,R.value),c&&(o.getComputedStyle(k).opacity,document.head.removeChild(k))});function m(w){var b;y(t,n,(b=f[w])!=null?b:w)}function _(w){e.onChanged?e.onChanged(w,m):m(w)}ve(h,_,{flush:"post",immediate:!0}),oy(()=>_(h.value));const E=T({get(){return u?p.value:h.value},set(w){p.value=w}});try{return Object.assign(E,{store:p,system:v,state:h})}catch{return E}}function B$(e={}){const{valueDark:t="dark",valueLight:n="",window:r=Ko}=e,o=e$({...e,onChanged:(a,l)=>{var u;e.onChanged?(u=e.onChanged)==null||u.call(e,a==="dark",l,a):l(a)},modes:{dark:t,light:n}}),s=T(()=>o.system?o.system.value:gy({window:r}).value?"dark":"light");return T({get(){return o.value==="dark"},set(a){const l=a?"dark":"light";s.value===l?o.value="auto":o.value=l}})}const D$='';export{v$ as $,m$ as A,V as B,Ue as C,p$ as D,w$ as E,ot as F,f$ as G,u$ as H,l$ as I,ng as J,g$ as K,ve as L,Dt as M,ae as N,La as O,of as P,O$ as Q,T$ as R,Ar as S,Ke as T,a$ as U,F$ as V,y$ as W,C$ as X,b$ as Y,_$ as Z,S$ as _,s$ as a,h$ as a0,B$ as a1,n$ as a2,Ix as a3,Qn as a4,N$ as a5,i$ as a6,P$ as a7,$r as a8,it as a9,Pe as aa,ct as ab,ew as ac,I$ as ad,dg as ae,E$ as af,uo as ag,$$ as ah,o$ as ai,x$ as aj,D$ as ak,r$ as b,fe as c,Y as d,Q as e,oe as f,kn as g,le as h,A$ as i,gt as j,M$ as k,d$ as l,k$ as m,R$ as n,M as o,L$ as p,iw as q,Gt as r,T as s,$e as t,g as u,He as v,ce as w,c$ as x,H as y,ux as z}; diff --git a/app/src/main/assets/web/vue/index.html b/app/src/main/assets/web/vue/index.html index df25c033561a..f533c10ecc96 100644 --- a/app/src/main/assets/web/vue/index.html +++ b/app/src/main/assets/web/vue/index.html @@ -4,8 +4,8 @@ - - + +