From 53e135bc03780516d27c68b82e4f1f8262c6c33a Mon Sep 17 00:00:00 2001 From: stevenyomi <95685115+stevenyomi@users.noreply.github.com> Date: Tue, 12 Jul 2022 06:42:27 +0800 Subject: [PATCH] Add Kemono and Coomer (#12542) * Add Kemono * utilize more APIs * make multisrc theme and add Coomer --- .run/KemonoGenerator.run.xml | 17 ++ .../coomer/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 2065 bytes .../coomer/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1260 bytes .../coomer/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 2577 bytes .../coomer/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 4898 bytes .../coomer/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 6462 bytes .../kemono/coomer/res/web_hi_res_512.png | Bin 0 -> 18703 bytes .../default/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3453 bytes .../default/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 1823 bytes .../default/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 4511 bytes .../default/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 8862 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 11476 bytes .../kemono/default/res/web_hi_res_512.png | Bin 0 -> 37128 bytes .../tachiyomi/multisrc/kemono/Kemono.kt | 155 ++++++++++++++++++ .../tachiyomi/multisrc/kemono/KemonoDto.kt | 82 +++++++++ .../multisrc/kemono/KemonoGenerator.kt | 21 +++ 16 files changed, 275 insertions(+) create mode 100644 .run/KemonoGenerator.run.xml create mode 100644 multisrc/overrides/kemono/coomer/res/mipmap-hdpi/ic_launcher.png create mode 100644 multisrc/overrides/kemono/coomer/res/mipmap-mdpi/ic_launcher.png create mode 100644 multisrc/overrides/kemono/coomer/res/mipmap-xhdpi/ic_launcher.png create mode 100644 multisrc/overrides/kemono/coomer/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 multisrc/overrides/kemono/coomer/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 multisrc/overrides/kemono/coomer/res/web_hi_res_512.png create mode 100644 multisrc/overrides/kemono/default/res/mipmap-hdpi/ic_launcher.png create mode 100644 multisrc/overrides/kemono/default/res/mipmap-mdpi/ic_launcher.png create mode 100644 multisrc/overrides/kemono/default/res/mipmap-xhdpi/ic_launcher.png create mode 100644 multisrc/overrides/kemono/default/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 multisrc/overrides/kemono/default/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 multisrc/overrides/kemono/default/res/web_hi_res_512.png create mode 100644 multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/Kemono.kt create mode 100644 multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoDto.kt create mode 100644 multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoGenerator.kt diff --git a/.run/KemonoGenerator.run.xml b/.run/KemonoGenerator.run.xml new file mode 100644 index 000000000..2ac0c58da --- /dev/null +++ b/.run/KemonoGenerator.run.xml @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/multisrc/overrides/kemono/coomer/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/kemono/coomer/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..fdf273a9bb52075cbe0c59ac5823a24a0523f832 GIT binary patch literal 2065 zcmV+s2=4cZP)%7tMDj>pOU)vBbG^^!+l49* z@#mC=g@$7{d-g0wr#YAwT78sD^C0twN&@{Y&Ek|9r z|IJaDtPa$vvN}+!s@Z`WRm~3Et*ZGlzH#I_d~sf1Krvpzzh=|eJ{ZHso-i7^SXEj$ zTH%YmVf=bD0VgX!<#a2S#_!J0;o-Ikn07ld$_2-o3r^;5FP)u5N|5vd1T3Z{>~O@f z>0}rU-E6UNu#VK35&iyXZv=;Lq%arfvE}F#8uyIAyxR$rtnvVTa_<<*h5 z;F|-b!coDfViiCvEFB@356-}B8(9j-T5R?#1@vh96}VVVpII!JlJLF3816Yy8XRqD zS#H-+Kg@58t8kRka+U>W)4p+>nThB#&C@{omunmv3xLU2Rw^8|v`FT5Pu9{Zb>@0- z?-<%g1K>qTA3%ePJT|E_RSqzP%1R5!Oxe>issM77HFMGH6Ne^obTWjrDCyHECI#R- z_E<@9v}L6&Ei(Z+;MSCu7EXRZ>ugT^tk(-yh?5&iy*g=J3JLh!>2RrF(9jiYv4) z|1IFqco6#>e*FI8Ja+VY@$C*bqA5`yKt4{wx6VcLgHdKE(jTrSa~&JJ2@y~AM_@kY zhpBZU*Nl~S*3z!I);2lt^&{6I7C8vrX+W~6FP({G1*4s*K6^4O_e%NV4HpN~KW`P4 zIfXjrwN01h_q2}%^%{dR%Zf+-6UjahYi6qFhvS8g50g;=roT-U)h*|PlL6$wmk&?E z8%^sB=yX^C6Vf(*>d*4v`@*F{fPkq84^zv?@-j!sp7k~-tiub1n#0NhqRp?zK8$2- z`m~MT!>7Vv)A#(HklPY*u&yoZ%Y0@b>gMzo(B6J!(psz z9V<6;WHq)p<$frb6h0bz(qwKIEmFJLykKtE10S&X@o*g0DGvMG9A3YY#M5V^u>9jD z>TDxL!O;S$ZyCX}$6RO|4S?m!gHx%c2JAr|pE()Utfg+33WtTMGo&c9)M)I=fUNuX zBI*vfODZc`Ry=-a62I)bDK9Gm2_B+^Wkp2*#RUn^U5Mt&7+ES9Q^!)(sX7)w-CI|S z%A7i@6Z=PkNb-03N}NhF(e53%; z@xC&V$XZHTNLo0g+IOalg0pG=IP7zAR4OXE<+{L0c;^yf_@k z#vV2UM%6phsIfX_IJAREjo)h*=HOgNB9>n1D~|QP`~?7c9$FOeri;U?;|aVx7{tzt z^EfmS#B?ML3HpX{0hIyB0Av6%02zP`Kn5TKP^o|zreS7g=1-C&RqG9PAaCTcTtMsl z`}=>w^L(UQ0g*TINM6eUWZt%I+vhzVkG)y}kvH;K&MldAQ*SN9F!yfVy7eoQlaoV< zL?X)byvXxBR=Gs-LY~MQc~rcX`mh0+sD)vePi)@2`H8l+wqKk&b*i5J z$P;-}JeK=_0r{qTi$eKR48uIcFw7&XTn{N;?p3^%`(S}3nN+KMSiLghH?C4OC>|_| vr{zAHLi=zNnf7YeoqoWH5k?qcM8)F&IP^SPgeH%400000NkvXXu0mjf!c^L; literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/coomer/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/kemono/coomer/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..bf37a1b7a8dd833e9d777d3aafe06434e6c7c651 GIT binary patch literal 1260 zcmZwHdsI?)8~|`iK_00q&WfY9)5?78*k(1MxWBsACRdccT!DfG))9LIEf84uY*# z>$nXWvmtLW5MlsbItZBnU3w7K%pyaed(`4ogYMT>_psT~3%FI&_8zml+XO48Y%gZu zo_99+H2i!T?tBk-8==3AP{$N3ope1PpOs9yS|(jj^Rf-w4w2fNo z#+;2Bix@Kk)aacxZ=J$n;Ev8wrE^{%aa0Y=6shez<@*xFbZO7j&jYq&{kD9$@x0uS z`)p$SONjkqHc1X=>!LfY>z-PpI;^Q8Ela2k zZ?}ZCTSBCk6>XM}+blt?mcSN(Q9nd$29`7fi<^NDn*jR#p+$|rx_fHBM!-)DMAfSO z#AaVHus{r~sZ~?N07Zl`udaDR76D|DnItk3F%4#)1~Z|-jBhZL1TzGo2`@DH2xbCm zw4{0?sm@5KGx$81Ak~g7t5hw$`O2R^6u^5$#_-g~C(mn#WpIF*QELHkok)!nCC<&MnCB8)IU83}w)9ZD$w>EC#Gi*fy za#NGH;^ujI<9$e!1q=KZQG-IlSAAN^fAG5%oP`3Y0ZwfDK2MDQI_(r+Q)bK=h@=(G zJUA+)Xuc)yF|#tV%KB1m2Mfe@?HOUqA1Q&}TrJxp_Pj*CGpbRub*qa3AI zR~hfw%l0Rxre6xKlN`CWJg;jlIjNMDL|%jA1*hL#s@OU?KT{ELa`}yH*`x6zp)s-Q zWq(C03i%!;uuY{ZF7#(l@R{H6RD<-Ww99z5MnJh-Q-7d^6ZI%IrHSdigt;QeC3LRBOh1JGcE9UD0> z>qvEIrcU*d?o@H;I0d*NuJwxle!E|cK{l2`E9~8InmjDsb;;6`PU>UeJbPi9g;Csa z44NK6<6gIF;cSaAFM>ZPdB{nq_(@M=8{-12a~Ru>!@it^@9tY|V^o9k4ZCw|*ZOrt zUQ^{*MG(EH3-PWJmHdDd%I0f>Hne?p!T)GUXSvA6yDn#Px(Yw2IaGJx7g%rxAG41a z60-hrQMBMtL8ttsf4TA1H7r8$&S z@MwF)&ZnN*t6(}ot&yl%LGh4_y!{;j^#VgzAE>R*gIbIOE`?r4pXbHWi literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/coomer/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/kemono/coomer/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f9b11f5f0968989fda5da1ba0d81fd0e849a02d5 GIT binary patch literal 2577 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 literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/coomer/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/kemono/coomer/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..04edc56b212c28eac6a1050a732f49fc98308732 GIT binary patch literal 4898 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 UKVuBH-WNbqRad24$vXJI0EW|9q5uE@ literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/coomer/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/kemono/coomer/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..61b49c814a31cf7f224a88d241d9bdf316814d11 GIT binary patch literal 6462 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 literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/coomer/res/web_hi_res_512.png b/multisrc/overrides/kemono/coomer/res/web_hi_res_512.png new file mode 100644 index 0000000000000000000000000000000000000000..0f401f9ebe30f0cf4b502e0a2500f1aa12431d4f GIT binary patch literal 18703 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 literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/default/res/mipmap-hdpi/ic_launcher.png b/multisrc/overrides/kemono/default/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..404a9888f29282268005dc82ae42bcef9a0d7aa5 GIT binary patch literal 3453 zcmV-@4TAECP)fnG&D=^(A^{~B7{XFh(rwH2(m;$rP(EJQ7dl5xI~TH#3hSP z;*^t&CT1u>9gMh4sz!<8j!2VKOyZJY6!D+B7haWgu_#JdhEsJ4?1IMsd*_^c?s>N# zi#23JHe^FKWJ5OCZ5WHiG8io0rsqY0VHs3cS96-0niB8dzd!%Mg9l3nvJ(wN3(?dD z>$&Wuii!&7M~@yI0dN~Y3kJHiYPd}_5p6_cPvIEs+O^BJxw-i$2B{HkL}O1PiKNzu z`uh6hmX?+~gB1|bMl=$w&kBeTHMw=`){;SzR-IW3(MYsDYZQ?mX8-u(k7XF-Ml=$w zJpp9V*x2~)UJRYBY!raR;#F}0H4Q0?wmRFN zbc4*_7uT;}?;Ai59y~yZIsnOmZU_mK_yem}t)dao z6FB63!bMzcd(9o`(^7Ev?%lotL~Qe>jaVGzjU$;#M2q<-DafN&jD&c1rqk(AUtdon zC&Y% z8v6rhx&2x|@pyLa#I>}^m}Q-kQyAy^&ljteuECqP!i!x3xr!$N`xuE<}!& zC=TI6UhZt1J$qLFS7{+0Efr!%f;VQWU2r%} zj0NFt`0E5O=7~=eg*chvk1VAlHji_s>6PefgPl8f z_En>(e;No!RS21%2y54_rDB=7k)53l zzN0O^O!3G0*-F$G1maqr5|?w8xT;lRRg^ot1g==HU;&dZG%Dtnlps#ZN7Zyc{CB1V zF+yv+70ksAtqe8UVtCt{qpq&5e*hx(%{Sj5*4GL3MH)1g1mSSH3^JY#f<5d|kuJrJ zLN)eI_JfVpD1?TFA|fIJ7Ho6GitJI9DMe$E3XMg9tzO7@AasQRI5u6387gOpT^*2> z_7}vDA4h?l&JyEPrWhKYB_cgII5$&5qvz9!o`@a&O5biZ^zFCbenW&tfkSChG?r-4 zP^`iJ6fpu^ZQ$i-g%#1BxTFn40N)1Y=H}GR%*B=TN%K}D)R8uA%HN(L5m`3hXim0@l$ z7aVgFY#b|~fd2W07qTZMBDFpoX4PT} zGWJdOfsAVjbF>;K0bpsGS=c8n$x=4g-k1CKL*hn3zaLsrccCA7}|6UHhL6h&Fsvrc9w% zOe%CkxWofa)+6z5tS9OVRb9i;1H`OU*R%@kdEFaMmge07(udO)LBnbEkZAx(c>>GL z%?+ndpYEF!BlDlnKmQ!QzCK6`aKZ5`8BV+@dsZ;*{L*YW68-F9+zlMV5hK7IWlFad z^Fz3(_=^bhLY$Ezw!t)sEx6Vr5gZ)c-CU`60FkAg6lXG3+_Y&EVq;?9=WK;pK|H#Q zcL=6CI83iopu~I80*o><=`yu=mZsRBRXKH=F9M zne-zhCntl)&!4>I@F!IF{xQKF7Q>I50IbM9C}8xREPs z2dFMrioZ|t#Oy$OjFs@=>EVv3s3?5+;fI~=?0YN4S~saAe90`Qpr8P@)*OU;+Mzm2 ziiX0@qNY1IOhc%|1RvYZiZbL*7Wgj9uN@rX$J0cZCb7ZGypeF_ap{zj)FTq*okdcw z)*$jnPo6x9*AwCq=3$E^5dtiY5a6;_(IYqvAYFlijxkJ)jr8Hb%FGC#B?|T7pf*Q> zFOod5a*PW+Y|QDf?P)sdUIny&|9(0Z9BIJ@-@yicLU&A&IpNF<8TL*RLHCSso@@r| zwQ`hC^`$eORgtd9(>P&@*p?2%8nki-3>xxexR@is)!7ngxE7Gun?dc&2FGd?v|4T7 z4(-d!%TZQVMx&^qp#hV|$D%CS9YRMd6b19KaI`D_MnOFZg>n6;QM7u#zRMYhE|2l{ zb?2>MXS^NS>SIQSVdct|w3Bvqb)|h;zu3)_+dj^=R)`rBhNPq1K~mFDHCA zQ_8^UFk%=u`hdEFb9t5oOTxIcC`FO?c@SAbNyEtG`-&ASz~}R6n@>ii6T{W`ce;POk;U_*74ehlzVPE( zqp+}mZfwaomn<6l_U%JpU?6_^<(K|7FniLrY}rEZXOZDL33YPkBVFT$`aFexTJ;Fd zja(`1p68dA&=iV{jKu2ItC=SDna&IJ2_SO6?Dp;3%s=V(uZ{`F_Bapylxmk&y6)17 ziJo*Hj1Q9F(xpo@YREL9qq`>k6;NmQ-=P#Z&|!O*QPUY1>QXdlr6>*MVcD`}Pj%mG zpa7!w&XTt=H^z?X4zXn7^?bxvcNeVu$la1z6g3)PPQ)^e80FlA!7m`~25)iRpfBh8`CrrTV zC|5M(Jslk47iRh+C4i5wzy7+vpHX~X13d>M;o0EmG@q{FFo3jD>`m}MX6n@L_Ev)f z5V7~yt);hiuFsKn7B!6H$}BO$eO>5DkpXea^#%RMkUTyLUrZKu35V34rD0r5oti=$ z&;J)dv|y9%NsPY>h0qZk;>S}(khpN@#&e*YlYUW#`}gl7E-nrQ8b_>+;vvSv5*{2A z2&_!#OlN+uBW5V=QMO|Fz&c3&BJJYEi*V!fG5jS17#J{afMLUi!C=@hDCDy4j`9v} zK*Y$oW^!NaNjSvG(0=*y&vNEH&x%uv31w^zFjYMlt0GY(c$9rG9 zcCC7_0wUUo#-4m6lYFSxki}wI$HvBLYHMpxH8nNeYi@3CAv5Ly?kz+M(L}Tnjcr<= z^CmM(rqKRm0)7aAo4A2kVo3>GQVX;{5 zEEY>Rz}>w~i*=i}o<3NhT_hQ{y&1c$;*T7lZqcT}v`y3VKAJ-R;U<*!K=&8@fRiB` fvLPF?UbFuJm-A6XS`>j!00000NkvXXu0mjf<%oPa literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/default/res/mipmap-mdpi/ic_launcher.png b/multisrc/overrides/kemono/default/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b7e10b9f9a1428ce4f80672da537e69af85393b5 GIT binary patch literal 1823 zcmV+)2jKXLP)6DLk!@7}#+8BGfR{P}a_=H_D4rcK5T@bu|ZD7=NpPL4-cSC>IB&CSi|?d?Th zUms4MJUP;EJbwHbsR>K5RAh&X7cUw&08wRG2`&^UksslM{rmR~S5`Q3uZ>JP*A?b{I*6@{v*DySqLNM14@dD*K_U0scolob8pIDh^;l0!tekRwG`kslp9 zoZc${neo+&Lh)On61(HX_@h{fwc*~_Q(HS^HAu-s$UGo*5#aMEA&Np>;pgUvfgDq=2L*2wW|oo`)N6CuBpMN^FBcP8eb%c?a^K0 zk1~}L?%us?ssNzd+xo~k(5w%|59u<9oCNqz?TgEwC@@1{1Eo@lX?z~OjP-IGg7_$f=O3lPK_nurz>9pjGH)>hL7$jHb*VPPTC6|T@!ge-_9Q;yN8iQ$>jOazI;K8#Zp-XzT#m z_D*L1{{8z1l6YaEwBEE1u|Rva1U+T`)Ge#Ti1D;R>as(`AHfF34jgQ}~mgT%!Sr?OL$hTz!(oX(b_ zr(z`dK=f27XqPPsaYnMQ10sbsND$lMZmAZWe0CPduu5i+IFT(DL`T!j!r0p=&YnF> zSD~Sy0kPs4m}zH=J+Yo>Qj1w|XewBE0z7Gff{L2M&cofnB?HAv1j?5+j0L!_%b-&``~L&3E- zt{jP>zW+JfqZ)vS97Mid?l}}(AD-F|bun)A==ruXX#i4AD`TT^qsZ@#B|}~6hg(H* zq$~`l_tUrvKtxVuC7~|E!BcOHaKV`~XWr@hrVc<=T~&!QtHnb~hK0YDFGW`Big&&A z=ma2#dUdD|?h$YnUguJk6K#g$IskP4Z6KYMbXW)8RJcyJM4Ci^(!%`ry6$KNpf~8^ z#fvd%(j;m#Gc)jbJZLnU|3?6#M~@z%rKN@5u;SWa#TwI&ccZFdW?v$I=`f%UiuGp3sC0)W3*h(}W8x{(Jxc N002ovPDHLkV1lt&Tu%T1 literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/default/res/mipmap-xhdpi/ic_launcher.png b/multisrc/overrides/kemono/default/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..fabf9b671fea0067709c02a196ed2136c25916f4 GIT binary patch literal 4511 zcmV;Q5n%3#P)!~` zrQj<15dDAge@j6GL1l>`AP5fu89JyqD-I}rZ|&22*J`plBs4(NX0P?Flmf}k_wBRK zK6{^g561;8U;ztQzycPqfCVgI0SlOCHXs0ZTr1)^ZXm~TK^(`0a2yxPaa>qGM<~xl z5YNqkt4VzD`t|G87cX91cKPz-LMH=w7nU&L{oHZb9OH!%}uJa;{s3up+5IgX1A5bK>0XFPX7 zJrzL0ahx$gs<#4gQ9O4(5x^86)ms5L(=`>~k3asvZ@>N4S5r&8_~MH=d-iN^6#)4C z_unyX+BEFlySGn~Pv5JotPE1A6lczy>8%2^*~1S%jL67HEL*k=zx?uxzjKdozx@`& zh7ChVNC=XXlkw-DfA($xPMtc1h=>S8YSqZk&&U4#`>zTy-+lL8N4Ynpf4=$%oH%g; zDJdyPi$b?2J!j2s~dbM1uFU9(;;M&nc~T527F z0LV1Rux{Nt{}O=WWo)DtXOTFAqhZRFDa_+3!+Ptj zw-6N-g?afgkV+(QI-Qu6Yl7XZ#>+3ijKzx=Ln;xo5pn3yq3+%qUwrWe^YBES6mOTM zG4gkmrQzVbOdMaB1+gg1qxb1m0#HUmVPW;8R7U)Nj8DO)(hRiTRmjkIiw!A8EgKE{ z_U-HL?byFj$mJ+Xk7DteM#SGnC!ok?fLJWXrjk??#%Woq7_E_GSb`QgIXT_U0XTmA zIBYf>@}iYESdq!dZ=9Nh)nntB_doJ)vC!-FY%Snd0+2oU;DZ>IYGeX5-&KfWdo<=3 zT5!6yfQfLtIv=Gu(Tv#T%a`M)pML7{{U%SIjA@xhtQwyLnN)&h!{hMUt?5Y6E74Tv z#E7H_#OmbOIV%$>1_hpd_Sr7qZ|BaP(CKuzIV}Qbs&g3mYsST6Op-5Vg*aVTfYGT@a9Z?uyF44McMW1#KP3(Ek!lu7DE;dytZ5W7 z?61hd#^O{aKx=(Iwv?u$wLTB?3(SoCS8hpT;pgblqn(wC@ys*NAY3FuZJ`-0bq+@U zvKymeR*CV^oD4=jAyzHMtFON5p90YEr}VRKXo3)WaI7jHgA*g6Qz`J+_++#+w25$V zVJ>dYFtX7wXU-g)J9kbXi)BAFnkb|hHF9h$PGiKMughbvL_WikHas^u8D@=)dH0ef zOYrHZp9+`6GNziE8kXs-9v6?+ItQ9+b5NdRKv-xfUYwF7kdL>^QrQZ)sj1071t5F= z`RC!VLeZMuX%Zq8V*F2WGV}a1RXLcH zqC;qCD9if=@(EQ1Mm8$_r5f6yH8(f23G-hw?1BJ-$0OGg!P3bzlLr4P%R*~I0nRVU zM`EN($nyoTka9!34vi(L9tqGMJ7(IjWNm?NJQ8(%T<7N`4u)w+O(}OIkRsnUumv7eFDW+!-T~k0gT%hbtXu ztuJ69X7`<0EVXnezdf`HDavw;IKC*SGvb-YyS_SbY@r<)2Du;t7UsLg|2wkuC@(Mf zuZ~zp#Q*r?kL+ja4@|H{xeI`?X$D5VRw>8sJMHXu41AnFSDS~2MkPQkmv$%sfl3Yr zl@!&5(KuD*=+g7s;9&T0P6qUfa3(-es?J4#G=u~P0nax=Ko=63a&>xCk&T zNsqOYlHEPu9c;2aTkFI!YzYVs z4rZXRNa-{EoSB)~U74h}2+&qj|MJT(h2AM!4bPrE8%~Q3jnmU%GpVs{R+fth9+B^s z@6$qSUY-duiMTTX5Ed5Z0%5{!kM`uZ7l6p88W1@TjbwkB1MuE^??I!{unHoDo%`;) zk2PT^{LIKTvxU~aik$9<_jI9!f0m{pDMH>Q@!pb8pb4M81I=ILOw@&=@3v{vrVjhj zy+r_4YoUyXE}p!{YEWZnk{;1IC1g@5o+?W2k>_`m@1Lo5AU9g&D*+G^()LQ%Pn|gW z|Md4kK|$#H+(uD*fDZ&-L~>plt%C zvcn^fJc8-dr?Vj}mq{_ws>i~@82r5`8BI&_x+dLA;@jhPyTPllGsj`*kodDzc1%oG zGp{F564BV$$Xb`ZS^(M?8Xq4o6wz4oWR}y66*nbf-6Siv&&=%3>)i$DjQkD-*j$q0 zY3PAfCuLhsIuby@=Hf&w8)C%GDQbj=24Ud9fk;hFMSXp}M=i?h5`stsYMN8_KqFzn zf(2}+9Ay;~(hN9RmD^pG<1O(nE8P^mygSc_I4l%fO01m`k5A^=P@Qi;ahe7r;uHuE zX(OLN8Q%Q)^V!af-aZGgi=+)x)W7}rQ3*m93;(y+(M`zlPJs5S-1&LN?gYS0dt_VL zp%VdGYV3G&Y%C;UZRzM!Pd&wU-g&bx^m+?`*49?G)x)HbV}`?o*-kSC$LkQImE*H2 zhfj%b;VYaie1T0N7Ij8G60{PWT4e8xeC#bx$MPX2?3}t25c=&?lA73S!~C_xi&Oc+hI3I5j1chEGiLhh?XNPB#89}UU=aJ{}6z7Hqb^Y z+D-Ps2OqErYyJB5h>uWU+l&lknp8}T^Hf|L8jG#BrFTYphs3wId42oprhxXPWdWU~ zn}k!9SuiU__~-N_te;?E@t(FRQd6H+@$_fPh`cFL_m+kXe)!=B#Kgp4kVOllTE<3) zI6R!y?rHZzwpoR9wYgX7^^EY=TG!Xk1n7wT19NO>s=_%cLy?e~>nEY-$zquwGQ&Tk< zJ9aE{0NSuc9#5mQeQ8D5q1UGbpe%`6eeTP7TC}A^%5kbH$F+y+W6!6B*4A6B2oD#r za6`6x_ih%7sNU}@>#YKGS;nwhtyn%R#@*|Mc;8dcXE;}tg~Dh#ZoBO^m(Qnyo42V99@pZL3jQhpvlS~=u$!Y#F3Rqq z*9!vJaeRITbdpf4S+nMvd`)tU)fkIc@xDFzJMTz=Of15OAAWdEuf0zQKt{a;gIt6Ym06yWE&$C{S*)*H zQc~j6C#m!+0Vrjp8@g}J(0MBWwiG8qA(OJl=v-^-D*`a1rnn?L4F8yJ^@w;vQ&kom zQBu^^)m@is?o$E?#kwqmly$GVBfq6O3x6MHfm*G?S6_V<5WpAq_19msO~15R>d@SD zJUTKO6Rm34^b#a#!;ztvU`&D%kB&6s@Z5C7sYH0dega#oxI{J!ktOy9unek1M(W6IqM!XBCynH>aPYMA3At2OI>xz8Z*MB9C zm7E}#1(PIbJwFYWQ0?c77J$8o6~$JsfKb8;M)-(SITTprJXo#!Nm=Sb|Ull0t0ph-o^AJJsy)sE*lE}@?y zp69^KbE4!q3cebrstU&%hVmaG<4=pD4^{P3D0vQKJSU+%M_227Vc}TYwxezNNv6Le xn8#H;Pq;HN0=QO$2P|L#3s}Gc7BJu1{{wSvI-Mok$Jzh@002ovPDHLkV1gJJn#ceE literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/default/res/mipmap-xxhdpi/ic_launcher.png b/multisrc/overrides/kemono/default/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..aeff4ae0ee85ea27b3bbb9479bbec4db2369bce1 GIT binary patch literal 8862 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 U{8XDS=S~1ha_X|R(&nN62SH%f@Bjb+ literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/default/res/mipmap-xxxhdpi/ic_launcher.png b/multisrc/overrides/kemono/default/res/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..1597c0783d12814d274168e7ef3595768c2ebe26 GIT binary patch literal 11476 zcmb8VbyQSe^gcWT12U9!m$XPqgOpN(bcwW}^oQ=6p+pCemTsgaq`O5>x{*dYhK^xo z_|5nGd;fU)d6>6q zWzBQBaW6#B+WqPqy<$i*w^pW@m~A&uMR&!u*0x>VYn4hASR51TII7o6_@E1-9E<>9%-SW3xR%ig7QQK#sL_Jd~$=|Tz<6p2tGIJZGJC*SW*+7T>? zLT09HswPkV5U@M2_dVsox#gHiD7i;njGO&?ohm`baYXjfkY6QI6x^`Rv-30bZaXb& zJ0?Yfj)R!|tDz>CBGO3aUpWQ`h18M1E7s~#bnF%GOVSAE6=x<)6Az=k9V%P1KDs{s z%lI!QnMRXC^X`dKOR;>1NkQ=FU8A6QH}k z;;25B;L~0Mu&s?8nIMSlKxbpv^K`xUaQk->4IziiQ@9Oj8t;0>y;|j;*oTA48p}kX z*QUI&wJLO!de&0&I7^p2s-xo+4;Oh4D5EZZ#{%I#ns=Imrm-dbGRyn%HhNTCDqXye z1!8^a@J5qFd=grq@>TSRexQopCY1^#SqNhK37k-3qg7+0Q-%BS*~6||U;d6A{W%we zNCfztN~Nwmov~UDc#LBr!Us>v=hY|)hD^QGglVP%er}i(+;b>?{l5+T)Xwi9FqgZe z;;2l36Bq9?LC;zWC#*r2lFcmTW&dXYHw56A1W;n{S$n|vG0FPIei<3|3oWFBxpkvy zvLya{85k%NdY+u8jzc^ne}5$UCsUkg-U=$`1JrPdY6tF}ocs*OBO;@u?8ihapp+=A z^HoQ>oo4w=z8hx;>}1^T6~(_7BY1;5F+Cme^QWq^vT`jC7uP$)YG)E4qVA1VNGe#- z(%d{Y%eC$EtEz_6ANIKcAJ^gm3IPxZxC?`HhQNB4ZqK&xzze(Mc{&1hw+QINvpUH? z*XWzIt=8RK+r}G^!d<4g^FMYeI^TH^PYRKo`{{_qK%3byY65hjcGS(TL`+*(Nfb$ zEWrJ6-Q2Br=w^c9w+g-E5^ViPp{%OqNs5HS`D!^r;c+ENCwC~1lk-6i$E1pPHov@_6uxxS2IC5vHF zx(-0k&S1iC(&R#ajaXx?PGx^_{);19FhM6>xOW#PQNN8yumw<8S9gT{E^tlex?ekB)xG&$CL7+hSx~w6ZdYIg5HK zoHcrchlkf;N1zt8`I!dxXdJbQsR%LhtI+Z z99&(0c7@!3q+)A$doyF8vw^kB=J9UmcIq1ta3PKVZ6TV%}I)j(I++jMugtTa&mGC-`W-xP3Y&rZT}Oz^fs(RQUaYsH8lYmXI;0OL=c$u--~gD z_<#T2n|!Bv(J|Azj#!-G&Gmn$B0e%j2?8f1Cia$3>+*9tq9PSnM8PXf?TFr<2djz%U7=)&&a+s+zZnTOiEH@>lvi~r z(G?Hk;NU!iwA!RD9P;uQKZaI_ba?zS9*V+clyF%`B=_Vw#tm9{olmYbw-I!xcuxv$-YHg?b9>=NWVfhF|Z|2q^1R+SJt4 zCZ4P5pFjrka76)jK!B4I-}TXAKlCBS3iXm#L1B2l+Tu{fTptrfL`!&DZ?Ht=a*qW_ z;SVEJmJ<}W7n@fLjU6wIf(uZ677pb)?@p7~i3eBzsB;0nFiH3EK{#7noC?yA&gjl2 z8S@uUAMb;WxpAb8;AKhVgnwJTcqk|-r3wA{P#gWxDpAqH>UnOz>Ym8<{;_uZ@4s#M zM2pAP?N)~}r6;8pv8R5Z5&mcYU4($RoAC z=2EMI>@cEa&+nSB#d`b4!-3Aqd5@&99!almprP+^xmic-TY!?|yHyd}Ta==aH8y-A zByE`hLu2j{kB67mV@1a%N~DQhCPy2GCN( zifF=|YdVc7*k(X2ySYJ9Gy1s?J8d!rxBeBwQC5EhdnZY3J0Xgb`HiHDt#)p1V#|}GH?|Tgxx{|NM5nVkJfG65itwXFYl9u=v@B!k#V}i zM=MySVViHz_DcF;B=y5Eyc&)#l*Blo!TvEGV=M4GF-@ zw18xjg0G-^M=$XeLZCVd=mt*3GO+u45778297llCGivJM;@mOHWHKQxBIjzaWZV(8 zZ^r|l-n4$s(E3A32vs-4vbC~fP2cG5^?l7{;Bu2QJq{mV68P0K6zTQ0f_jDVfNn2W z`eA?Yv(&O)1hvmTN<<~T)ob_p`u>*aYl_78zLfc8WxTu}bm4*x9x4y=PZh!*+NSHH z4v4mgR%d-@>@&}f?mk%FJ!DfbV*Rt96Z0=whZFcx3!q`)@GO@gA=7&B{yRJ2#Lj|= z*zAV_ZXWU*fojF^k~&vf&IKu&_WAkziy89;emicUbn1zEXT&?9&P$4j9Q6sqoG@0c z(P%vj+D|E^oU`!wzs{$c23$#7v6~ky@9g9QC1wg5MGO*NTF@QVF64%rjq{W3>*z`h zm*F&qq63XX&WS5oZiM(>>e#3LHQHY5Dh8>5@vCUBpwy`Q`Nem!9?iTM zje{ayDF{S<1~rchQIf;*qT3mC)6xj)ha=;XFFf*#EE&NIP(Mp9xWSf+n04t~gmt!L z{wh}@ro%fC*KbTnHEECy_9dK?Xw}LpuAjLv-8khJTfF3cU3Vjc9HUd+*^CP?R6B@f z(O_cQC?>VhkvLSN9>4wL-Q~27h{vWfFf@ge{`BXF27Z?=#`f6A-_!9af1O^LrbNXR zv;ZS`0;Jd;zdvc$p|CC^Pz(rq^$M5L+R^8$#O_e;m5;+8osWYqegFF2ceHej@PJp% z%_4{n>u(P~0UDa}ZPT$_+uCJ)ILYE*Ld>#I597NRO!UsasO$Xdy-} zm{e8$wmwaE%T0Qg!uq>n>J)?I<5qkN&j2ej+C_*|XzJ<210GUPQXO@Df+<#I3Qd2; zcJTy{fkzH}7ZvE_2M5ouyin5pIwNUnoE|JP+K$N*>2G>?zlxw)_V-YshU;(LI#0RK zEX&tWMYj#ii~HZz?4+?PERK{Dl7}^+5uG=dt`L^894O|_sm=D?H=f#V_eAEq&ou8B zV;5RS%5l0#y?!U3{==gt_Czj=PhZfZUT2p}E$Ky^R5QHrbfu5TQx~6*BcUKY5dH>@ zhSkJ;`5Ewqvw4$f8&TG`AwgT6_jS}6hcC)CH>LbLx?YICp2P>q0cMM>;4A(CI{mww zcK_!luk%+_p`jmm#z|t!#UB55HZux1qBb6_A5s{O!dcNsFE86T+k_ zVlhubgxKoVR=mQAb6WB=fSp@_f4`er8fw}BX7vn3;G+`9Oqr-)yW_24LhJyAD8Jdw zxK!Me*_@(Jn}KTy%AH%O+s~s+PgVefp2NF*Nr4)%UG3GmmzCfM!Cjt6J=nmg>BU2Za`?hvvgDGIBn_VMM22S+^3b)=5 z2In3wuR0}|ZPr>V2&XmlrMM`R^NpRI-b}D`6g+3&p26~0@ra};o&r?LUmYPx-}LVz zshKA|C%>H=PgG$2h9aiMVO~d1Ct~7+#hLkpgw%q9WQCm2SGrnx@;UQVAdGnya9kp_ zsJ$q&S19G7$e5=F&wEm@@Q^Z|pKt0KO)vyMc&`LF@k#>GIpLJ87kS}uSKt0~46DIe zLU)|~vEh6>YWZ~R=-jZQsbYi~*wK+Y>~WX!qWEX)Us~lDTxPq1F~fu70-o6ex%L

Jwv<+?qFX*bXpXNqXPX$M;Rj{X<696H78Nb-?-m$? z$*Flw^^mG}t?l2R5RQq7=31KW=2-cUPY%MyUhUOn2_QfqRt1`5hh6ds-udRGqCuvtUe1SU zoR!~=7P*a!XA94}>7r$v8mw0`q?Tq9_ncJacRew0F<)fc2Dk+;Z6nfq{ghSZ$iH$9A#iM z2IXW4Zj)@`0LY~oetQH8w9?k{h+!`Gzg>RLgqSi8LVX7YKkM@M^@H0t`d5qy=FV1~ z_>DdzgOBHVDO8^Jyp8(xc{(U84^?>Z-qq*26t&{?$RTmm0%P9nn!~9mMFx|oTGs3N zWVVxXYZz*U86r9&_7?zas^X4$6mO`%VNSLlZ{u6#W#k3l5)>^J9SJhsqmkUC;#s`gG^+FENzb}yTMRBuGSVlGYsyz^855E6kLhIB<&B+?=f(pnz zVo3*d8ro)%A4EgtG|jT%UYtJAH;=V(H#hZ-gU94B880qiUnF4O+>3+~h74RLamS>r zwT~Di=j3z2*nkmeai_OrF`F@mXH%X$o|FP;eW(C9(n?%>zEhVa_S_Gz1oba^$y{Ax z&}r66$}Rk=1f%vh=hqjnQUyaiM!{szM5au$YKnx}&kxS2mi$hg6)%L$|0(~NZ66cL zp32V}Gne_>pliyu|)7+!yTgi%CnH)I&)I1Z+kZd*fNH%iRU@1Ry&yH)qw zLqhp|165YK3C(D!o^UTo0;dFIuz|{y)ya5!_uK;S7l7ode-Wo*i$$VxmZ382NV&4T zxZEftZmqMH%1(>xQ;*JF;O`cGq3s)AN%B>b=IrHCnoavv3A+<&_?&Z$;XC)qheqaMo3y5pEc&|VENm@|H)z{8G%r5INv zL>YEyPvexjCO26iv%+}FcrajaxX?KlHRkbl)87`#0h_0{dR0YgKt$<2l>L(FaApV9 zsRmp1giaoA-5oKcRdWI6uc4wfJyxI|r$%%^MTL_I!Z85^IGr9@#X}@Cr%QU5b)+h>1b=$iI)Rh!Y| zvVq=Kq=**??aI#vu4QfdIj3}+6`{JaE98?esw`>E%tM_%8sAN>oD94k{qPC?X&sf9 zN!G|+@H5N=4kBkZ@&9V zlzhnHTP|J=iO1@9A&FrJ*Ni_uY&LHD-t_tBkJLyXzQ+87YrKDZWwR$>dY~Vo3X2)~ zcD6ih~KXe>`&P!@XZW|^VcK~S=qpOQj_F%NOY`QnW< z`!#3VU%p6;(afUPkz8DHsu{f#B5f$pdU4nid$;36n^`#>tQw)n0dsJt%%!*Qk-p~a zD3xfuO1+QCWvvm1aT87qja%r#`5QZ02XY5srL78&%$QzWqjK-=e#LqDL8lPL*=i+9 zIAY2%t3dS1-el3)#H+^;9AZ4+9_a=gPM9YitVF1PwJYe2FZU;x z(xb4i-12{u-`b@xi0EwIy`m<~ew#UCH8|h)Ce7a4n~IPkF1YHqTlWl&36*h8=PkMwr&{d#>84OmQa?eBX_dg zG;oN0=r6I>P7ND+8N@K=TYRR=ch>3=0N%T%1m-&ZhzVu=Z_%rE1W`Y<3x`PmYNCHs zfszL+ooI+|?TUJO99F$pmJ)rOru}Q+vd`b-N&@*@ScLp_gqv@Sdsh=Ww+DslzZ$U?aDutrl#bM>t)_wzz zu-A^JC0RS;-%FGE^x5dm$J}eI>F4)LlX7!uBg@M1J~NIsIwi zu%JY?nY7ds&C%E86ua{k9reVSUrdXu!uk~#E~CuVj05_y1FYwR2A zL~gJEm1m;`ck=@vhSU`Qv0ipgK^2^4crgrtNzQJ+{})L8*TWvQfPW_gGQf7`CRv|f z^X&fE%rj1jobjiWESc0B@Xn$a;`al+zPbgrab2^KSPazu)A~@KqwdF8`5x(f15fBxwZa}D_&{*^K?L%Y*M!` z@ueQQu!>p_6XpIl)TNtN?h9#7EiaBv;*lGZ$t9R?Fdq4V7sV-*NCRyY^s)%4q#rs? zI&RchjyA$5ZKFl>64SG72S1dSY#ls(>+j?U{?gpaxE^UG@r1e5&aC#G3t_0(Q`|Q? z!vhE!8f!#_#!*`taed4dNQCZIj3w8U{iTn}_vJ@q$_t%l%k5lDUcU`mHmBuu^KYnu z5|^om_gPz8mEBfBCCvD+=1&={f zaf{;vHSd6GzxBRMZXWu`KA6t39iZKmIUyo1JF)Nbt^k!Q_hOppKP973D^7LM!-3h- z)#LFHvUUGAZE9NwMp&Q!GAAz3*0QqLhtL8+{eEd5%_cJH2i@Sa@ zkWFYZ7H;^=N@{~enx$-W9>3x?Z0_#fr)2&j;Ns7VlPmCt#@!JJJrKA$ZRIGaqM~2r zTNh)6IZu1R_9pic0S#~_Yec9U<;ic_@ab=M`5dBh84{wf+dAdG+hMcpr=1}+@qDI& zm1>(7vl&HQOYc)qahosSAB#R@GQC1jqY%{<1GoH?KV#1<&I+WSGPGcyo zfU1BI^#0v?U+|1Q-8-ExDoG*?MQZUB;!q(TeRFIk-~Vd%jkFx0v5JE-8EoukibNn} zbh9|9d1SgO-7w)(dDQ3NeWq^;Is)~N+Q?2Ut|D>}kNk6QF!k`4Kc<8BBQG&K=+IB= zJ#`YYmacs7UM@f9AjPCuzHn|RWkM)UpvJsmS`~e*=RGOdA<~%QW zwA@PRn?4cE5&<;P=i0kmlfheyjex;H|Hcqyv!o~xkr#E z+trobMeAf*X)Z7vgg@!Wk7Q=3?%!BNS)#NeXL?SlULB zPwELa>5!YcZDPU@{Y%7^Vxo)qoAfJj0asY>KKUeM=ms8Zz(nQ4lt&^&8uq`%4=iPJq8w~w1UI8O)x7$@mQ<2a$Y1 zNqIhVZ-bo+*c5HQXqmqrc;%AJkB>q1HXTfqh1RC5jZ;Z}k9j)Q&?2|AGf-g6gNuo1 z^z9l>%te2{?eNf(c1{1fZG?D$+P{xsw*K$iBU{z@Dc493+C$rTIc_l7pDCUdzh^Kl zqMEyl-K~*lHSc?%*NgTYSK3BT+McC#agUV^U5us@?>XE5d!i)=8v{9fr-+^w`7R99 z;TJ%-3B{++F3$ha{x4^37sUdtmyK#yGM}AavB=C>!T9(Q4nple;MuSbS+_nTXRWD^ z$!3+dNp_y$%%U~(;<9!AwcYWm%1scwwsZzzG`$%jE>2Q#5BS_me(vmdsuQY{(H zxtdH+f!cyXfzJ9QC~29;N7A4)cCol}=-D7`>y14cc@>=DUp9uXj^jYm^Q@+Wor)y@ zY}Xa5&7b7>9QaLllY$WE;meN3p0|i)n!%C9AyeXrPHEdoZZglW{FQwb?*WHpQK83J zWQZeZyj+~8hA6{z|NDpy?Mc=tvaf$qFLC~D@!+`0pLmahWKxNKbv&D%&03T5=VRm5 zey@Ho)Xy6){k}bL9Q`Qkg2=6uFFwK`2PMT!+T7w5YEjI1J7e<_w|2nB&$ocu*dnqF z?Ik0_#0}1`!>0eK?CNh`gf119#xO+^f^mvXu)$x)b8egvP0{21KR|TG94_LT8V~;) z61V&^Qew9h9LBcc?mF2!2(j!gJ->-8KG?c` zCE(klPaFLrz#ZrLb(1L+W{L)amN=OlA3g> zCj;Sc{$Vb|2Z@SHWD-d&B;_P$DioGSYK)*a%F&ZWbpbXERZjg`Y_MPZ`@|C8%U^t+ zn4RSU3ulA!wVvb1b*5vhkr`&+LKdsu);AcWcUB_{fbC*KALaAxMb}N#jI3@>oq_@a zkN4?UWxAV|wt6Z@zX_L@lcs*zkHrg<(WZS87~DX)V#1#rbRwNQ&8LxLh`dC}VR`%& zgQ8LCV+B<0e76Gna=KHafSH+jNvNOo;Z{wFl;4+g%Ry}xQjYrP?3_f8q7u&wK8N^< z%<0}@tK^3lH(1&xFD52-I!_kh5U)yM-ExE7Au7zhgjB%eSk=-NdI@Fz$14aNF}fl%LcS ztY_Y-c?GB&L3vZG$ZRa@%+QW`1M}N7LLH|#LN1>HhUN(%sY$S~ViB*B*MFZtuX7+> zK>;%N6$odq(0Q_LR2N52@-FogJ{#hQd-${JQy!X@qaVK$va)`w03k4P4S*??J|iAE zjI?ArI~QiCKy`<)PVHU^yO}pUHKEdnE{We5f#~4!ED#vw;LNoX4$(JItAyODg)PGE z%UV!1Yn7`uRJz;0sg*}2R_}2&YDcnLx?n8^i#i#BcPvJ#Hibp*ivxcOMsFTfq7FU_ z%FLN$?&a=i4#M1x{U9)5QNEa|Wk&6&!lKikaJc0mvY!&j)Ts*7iYqV7ATeupm7BEs zj2(^9C_$M|j7x#^k!kiu1=4av2cu!|bn_}v6TrZ=6_B7pp-91|yCu)Dq?XTH>!Z}$ zL)9Hp<{7#{>Mh1ue{N7Sqif|L0CxXD*Awkj_Aa(i@m(PhQR4-Aa}`mA`Zse*Q|jw0 zXx8LnVw%PU)TY5b#cDv{{c8@MTpJGU&uT^6fhqv|TF=m%7kM!ZQX~;H7IOW<1@2-aJnC)+{a(P zIyG7^%86&*uNrZgaTp|{<({61Fn&Oxf`c)4yF9b92_QN_13!pc%Le|9`Pe4{bCpp~ zTqCsg_Wki{WXr`LCgrjZItNghj2SDePiVZ}bxI0rN_U^$yosUDEfNkz`Ja490wsV5QqO?Fb!;qIjz857nO_wlLx0tl za6_2vdYk_Ht37Acj?IcLVudc_LAZK}F^VF2bCFs$wYE&u@6#q5wfv-E-bgk z&airl)z4%fbvr>|?qUZG#ZP`Hhx5mf206G{=XbscQ-w*$HszUtye{dqdtZvjTm6qc zu>~EJm-ogbx~ zJ)doy>X*gm%{f%RZ2jC{L?3MLKf@vD&M{?Cjo*~}lpHYqnqnO!?xezolfpT$S#))s zU)BY9=rY=Vv6QXPD)a67xOq(jyTXxaiF`4`t0;vC0so`K!j)9EC~ zn)y|~^v+?!0p|ev6SIWqj60fvLDjnszu#$QHtfR9zu^DH5T2TPfs;s1yt=$){^QK# z>;c=%@T+Y@aGbGm(A%#LB3Ytrw0<6+|C-ovsB!$I7=)HYT@QPYVPTI`d@1|9Bl?-{ z={|9!&ahgJM(26_VpNC#m)z<7cM{oP@YY&(#qdJjw^qStgS+P+AVg8* zO$4@lbA8DG*3jFH!~dtLFBO2VqUQoHeDAu}g--i_btLf8+fW1`xi8^`1JB?|U5?Ww z(mY$EoKqj?2@E0yu-ZFuG?rroHx%+FV!QCcZH%b6jPz2%vGil#@ouUZZ<@dWUihz) zuD&8Y#!y5`gWl$XQ!%oTS4Kte54?~QJLun~C7F0v!xU}-I#m-VXXmWf3;H5<#v-%@ zHm4~C+%S6vObmFOGAk~m`!LL_iKzg=Z2UPG$E(EH=&hZI+V zL?T;9^xIPkI|A9rC)BU$`ILdwk-0MJGNFaoy~r{h6az=DP03AQ&d9(`KVROE$eIs zr-HEM?*|NOSD_ny{#yvziVaoOS@*k$BJuh_?;?a>n&^pe^yC%VjFcHcKcs7sS*P%R zhU3+lR%+?_o$yAcK80`ULR+wN$3Ue*U&*UcRLHwk951$evsz}8uQaIK2v2-YE&7)4 z3F@0s9b(<;sA@O!}&2yHu!cZ@TP`pE$TE(N>k}E{H)gPfvO+?Kn zL1o?8Z>w_98BkLxqqui;B#^N1=m9EM1Q`u`l*>JoVI7tLNm5y4LJTqIt zycZD<`m;+y??P)b z5srxjg}Nz|y+7rQfYxD+3@Z+RD{0t;7EhZf|s? literal 0 HcmV?d00001 diff --git a/multisrc/overrides/kemono/default/res/web_hi_res_512.png b/multisrc/overrides/kemono/default/res/web_hi_res_512.png new file mode 100644 index 0000000000000000000000000000000000000000..e5cbe8a723def664ee0dea6571a693f51e3fa61d GIT binary patch literal 37128 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.getSharedPreferences("source_$id", 0x0000) + } + + override fun popularMangaRequest(page: Int): Request = + GET("$baseUrl/artists?o=${PAGE_SIZE * (page - 1)}", headers) + + override fun popularMangaParse(response: Response): MangasPage { + val document = response.asJsoup() + val cardList = document.selectFirst(Evaluator.Class("card-list")) + val creators = cardList.select(Evaluator.Tag("article")).map { + val children = it.children() + val avatar = children[0].selectFirst(Evaluator.Tag("img")).attr("src") + val link = children[1].child(0) + val service = children[2].ownText() + SManga.create().apply { + url = link.attr("href") + title = link.ownText() + author = service + thumbnail_url = baseUrl + avatar + description = PROMPT + initialized = true + } + }.filterUnsupported() + return MangasPage(creators, document.hasNextPage()) + } + + override fun latestUpdatesRequest(page: Int): Request = + GET("$baseUrl/artists/updated?o=${PAGE_SIZE * (page - 1)}", headers) + + override fun latestUpdatesParse(response: Response) = popularMangaParse(response) + + override fun fetchSearchManga(page: Int, query: String, filters: FilterList): Observable = Single.create { subscriber -> + val baseUrl = this.baseUrl + val response = client.newCall(GET("$baseUrl/api/creators", headers)).execute() + val result = response.parseAs>() + .filter { it.name.contains(query, ignoreCase = true) } + .sortedByDescending { it.updatedDate } + .map { it.toSManga(baseUrl) } + .filterUnsupported() + subscriber.onSuccess(MangasPage(result, false)) + }.toObservable() + + override fun searchMangaRequest(page: Int, query: String, filters: FilterList) = throw UnsupportedOperationException("Not used.") + override fun searchMangaParse(response: Response) = throw UnsupportedOperationException("Not used.") + + override fun fetchMangaDetails(manga: SManga): Observable = Observable.just(manga) + + override fun mangaDetailsParse(response: Response) = throw UnsupportedOperationException("Not used.") + + override fun fetchChapterList(manga: SManga): Observable> = Single.create> { + KemonoPostDto.dateFormat.timeZone = when (manga.author) { + "Pixiv Fanbox", "Fantia" -> TimeZone.getTimeZone("GMT+09:00") + else -> TimeZone.getTimeZone("GMT") + } + val maxPosts = preferences.getString(POST_PAGES_PREF, POST_PAGES_DEFAULT)!! + .toInt().coerceAtMost(POST_PAGES_MAX) * POST_PAGE_SIZE + var offset = 0 + var hasNextPage = true + val result = ArrayList() + while (offset < maxPosts && hasNextPage) { + val request = GET("$baseUrl/api${manga.url}?limit=$POST_PAGE_SIZE&o=$offset", headers) + val page: List = client.newCall(request).execute().parseAs() + page.forEach { post -> if (post.images.isNotEmpty()) result.add(post.toSChapter()) } + offset += POST_PAGE_SIZE + hasNextPage = page.size == POST_PAGE_SIZE + } + it.onSuccess(result) + }.toObservable() + + override fun chapterListParse(response: Response) = throw UnsupportedOperationException("Not used.") + + override fun pageListRequest(chapter: SChapter): Request = + GET("$baseUrl/api${chapter.url}", headers) + + override fun pageListParse(response: Response): List { + val post: List = response.parseAs() + return post[0].images.mapIndexed { i, path -> Page(i, imageUrl = baseUrl + path) } + } + + override fun imageUrlParse(response: Response) = throw UnsupportedOperationException("Not used.") + + private inline fun Response.parseAs(): T = use { + json.decodeFromStream(it.body!!.byteStream()) + } + + override fun setupPreferenceScreen(screen: PreferenceScreen) { + ListPreference(screen.context).apply { + key = POST_PAGES_PREF + title = "Maximum posts to load" + summary = "Loading more posts costs more time and network traffic.\nCurrently: %s" + entryValues = (1..POST_PAGES_MAX).map { it.toString() }.toTypedArray() + entries = (1..POST_PAGES_MAX).map { + if (it == 1) "1 page ($POST_PAGE_SIZE posts)" else "$it pages (${it * POST_PAGE_SIZE} posts)" + }.toTypedArray() + setDefaultValue(POST_PAGES_DEFAULT) + }.let { screen.addPreference(it) } + } + + companion object { + private const val PAGE_SIZE = 25 + const val PROMPT = "You can change how many posts to load in the extension preferences." + + private const val POST_PAGE_SIZE = 50 + private const val POST_PAGES_PREF = "POST_PAGES" + private const val POST_PAGES_DEFAULT = "1" + private const val POST_PAGES_MAX = 50 + + private fun Element.hasNextPage(): Boolean { + val pagination = selectFirst(Evaluator.Class("paginator")) + return pagination.selectFirst("a[title=Next page]") != null + } + + private fun List.filterUnsupported() = filterNot { it.author == "Discord" } + } +} diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoDto.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoDto.kt new file mode 100644 index 000000000..9f50f81c7 --- /dev/null +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoDto.kt @@ -0,0 +1,82 @@ +package eu.kanade.tachiyomi.multisrc.kemono + +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.source.model.SManga +import kotlinx.serialization.Serializable +import java.text.SimpleDateFormat +import java.util.Locale + +@Serializable +class KemonoCreatorDto( + private val id: String, + val name: String, + private val service: String, + private val updated: String, +) { + val updatedDate get() = dateFormat.parse(updated)?.time ?: 0 + + fun toSManga(baseUrl: String) = SManga.create().apply { + url = "/$service/user/$id" // should be /server/ for Discord but will be filtered anyway + title = name + author = service.serviceName() + thumbnail_url = "$baseUrl/icons/$service/$id" + description = Kemono.PROMPT + initialized = true + } + + companion object { + private val dateFormat by lazy { getApiDateFormat() } + + fun String.serviceName() = when (this) { + "fanbox" -> "Pixiv Fanbox" + "subscribestar" -> "SubscribeStar" + "dlsite" -> "DLsite" + "onlyfans" -> "OnlyFans" + else -> replaceFirstChar { it.uppercase() } + } + } +} + +@Serializable +class KemonoPostDto( + private val id: String, + private val service: String, + private val user: String, + private val title: String, + private val added: String, + private val published: String?, + private val edited: String?, + private val file: KemonoFileDto, + private val attachments: List, +) { + val images: List + get() = buildList(attachments.size + 1) { + file.path?.let { add(it) } + attachments.mapTo(this) { it.path } + }.filter { + when (it.substringAfterLast('.').lowercase()) { + "png", "jpg", "gif", "jpeg", "webp" -> true + else -> false + } + }.distinct() + + fun toSChapter() = SChapter.create().apply { + url = "/$service/user/$user/post/$id" + name = title + date_upload = dateFormat.parse(edited ?: published ?: added)?.time ?: 0 + chapter_number = -2f + } + + companion object { + val dateFormat by lazy { getApiDateFormat() } + } +} + +@Serializable +class KemonoFileDto(val path: String? = null) + +@Serializable +class KemonoAttachmentDto(val path: String) + +private fun getApiDateFormat() = + SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss 'GMT'", Locale.ENGLISH) diff --git a/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoGenerator.kt b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoGenerator.kt new file mode 100644 index 000000000..977e44944 --- /dev/null +++ b/multisrc/src/main/java/eu/kanade/tachiyomi/multisrc/kemono/KemonoGenerator.kt @@ -0,0 +1,21 @@ +package eu.kanade.tachiyomi.multisrc.kemono + +import generator.ThemeSourceData.SingleLang +import generator.ThemeSourceGenerator + +class KemonoGenerator : ThemeSourceGenerator { + override val themeClass = "Kemono" + override val themePkg = "kemono" + override val baseVersionCode = 1 + override val sources = listOf( + SingleLang("Kemono", "https://kemono.party", "all", isNsfw = true, className = "KemonoParty", pkgName = "kemono"), + SingleLang("Coomer", "https://coomer.party", "all", isNsfw = true) + ) + + companion object { + @JvmStatic + fun main(args: Array) { + KemonoGenerator().createAll() + } + } +}