From 4c22e61968985830fc154175588477f814dd52b3 Mon Sep 17 00:00:00 2001 From: FuSan21 <35169687+FuSan21@users.noreply.github.com> Date: Sat, 6 Nov 2021 19:15:20 +0600 Subject: [PATCH] Added support for MangaDig (https://mangadig.com/) (#9639) * Added support for MangaDig (https://mangadig.com/) Supports Latest, Sort, Completed and rate limiting Modified from 'CoCoManga (OhManhua)' extension * Update src/en/mangadig/src/eu/kanade/tachiyomi/extension/en/mangadig/MangaDig.kt Co-authored-by: Alessandro Jean * Update src/en/mangadig/src/eu/kanade/tachiyomi/extension/en/mangadig/MangaDig.kt Co-authored-by: Alessandro Jean * Update src/en/mangadig/src/eu/kanade/tachiyomi/extension/en/mangadig/MangaDig.kt Co-authored-by: Alessandro Jean * Update src/en/mangadig/src/eu/kanade/tachiyomi/extension/en/mangadig/MangaDig.kt Co-authored-by: Alessandro Jean * Update src/en/mangadig/src/eu/kanade/tachiyomi/extension/en/mangadig/MangaDig.kt Co-authored-by: Alessandro Jean * Update src/en/mangadig/src/eu/kanade/tachiyomi/extension/en/mangadig/MangaDig.kt Co-authored-by: Alessandro Jean * Update MangaDig.kt Using .toInt() instead of .parseInt() as suggested by @alessandrojean here https://github.com/tachiyomiorg/tachiyomi-extensions/pull/9639#discussion_r736981888 * Removed unrequired parenthesis Co-authored-by: Alessandro Jean --- src/en/mangadig/AndroidManifest.xml | 2 + src/en/mangadig/build.gradle | 16 + .../mangadig/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 7729 bytes .../mangadig/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 4804 bytes .../mangadig/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 10624 bytes .../res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 16197 bytes .../res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 20424 bytes src/en/mangadig/res/web_hi_res_512.png | Bin 0 -> 61348 bytes .../extension/en/mangadig/MangaDig.kt | 372 ++++++++++++++++++ 9 files changed, 390 insertions(+) create mode 100644 src/en/mangadig/AndroidManifest.xml create mode 100644 src/en/mangadig/build.gradle create mode 100644 src/en/mangadig/res/mipmap-hdpi/ic_launcher.png create mode 100644 src/en/mangadig/res/mipmap-mdpi/ic_launcher.png create mode 100644 src/en/mangadig/res/mipmap-xhdpi/ic_launcher.png create mode 100644 src/en/mangadig/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 src/en/mangadig/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 src/en/mangadig/res/web_hi_res_512.png create mode 100644 src/en/mangadig/src/eu/kanade/tachiyomi/extension/en/mangadig/MangaDig.kt diff --git a/src/en/mangadig/AndroidManifest.xml b/src/en/mangadig/AndroidManifest.xml new file mode 100644 index 000000000..30deb7f79 --- /dev/null +++ b/src/en/mangadig/AndroidManifest.xml @@ -0,0 +1,2 @@ + + diff --git a/src/en/mangadig/build.gradle b/src/en/mangadig/build.gradle new file mode 100644 index 000000000..3768e190b --- /dev/null +++ b/src/en/mangadig/build.gradle @@ -0,0 +1,16 @@ +apply plugin: 'com.android.application' +apply plugin: 'kotlin-android' + +ext { + extName = 'MangaDig' + pkgNameSuffix = 'en.mangadig' + extClass = '.MangaDig' + extVersionCode = 1 + isNsfw = true +} + +dependencies { + implementation project(path: ':lib-ratelimit') +} + +apply from: "$rootDir/common.gradle" diff --git a/src/en/mangadig/res/mipmap-hdpi/ic_launcher.png b/src/en/mangadig/res/mipmap-hdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..89cd234904716f454f5bb344093ac6a3359234e6 GIT binary patch literal 7729 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 LSsC8fcaQyl65N0O literal 0 HcmV?d00001 diff --git a/src/en/mangadig/res/mipmap-mdpi/ic_launcher.png b/src/en/mangadig/res/mipmap-mdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..3d751a2f17a7ed5afcc08296ec50ea7f370e0791 GIT binary patch literal 4804 zcmbVQc{r5&-+nNb2t%Z(j6sRUEXH7LBO{b8du3_Nj4@$m%vc6tY$aRiP>GT494(|Q z*_TM_D3qiKp`;LHD~Wfso%4I&^ZtJC_0DxY^L(H0bARv8{aOEbPTAR*i;K#O0stUx zX@R%r-4W}T2tV)t*-=_I@3w(qafk%~Vw=`4KHy^Z761@zr8>F>x>{RdiFAKW0*UTL z)@1uLcxV7HFlI9dL|<|s#EVR!(hQ+9bxlwRm1GEY(Y8idGfc@oREsbs*&)ovkr?Jn z)FVNSjUWbWERVpS97uq${rzYxEZY$JjTg&XuW!SlkZ+JcUqh(Lxg)_wX0Wcbhn=`0`m{{sK@`d|APOc7JvU=XjY(EFwc!20r^KX%Q2Ke zhTD@_^dKgYY!=M3sJ!kC18d4869VZ>M>^f_XQu3ax(7j_G_@gWE>s$c9>UuFw*zE6 zA&_hcUC$Z}iGZPW9C=woBCrUQ1_FacAihJbd4)hC1QPxy7=_iwV731hOeayjL;oZ6 zS8%bWbU!-Nnoi>B(1Jq#+P5?{wPVt~seZf{EPM045KA*t3{nq+fuS^!PzZ^L^`isWRez!gx2-a)kS$5z}Gv9M*;c1`c4b~ z_x8WlIo5)@t|#<|3I}q)FFlZNrHv&J*IU*QN?fm1G70))oBIFG)_2+vA2N^h-_-DT z7>n*57(!r@O(?v~{>L7H{|vx)Kj8n}#cyHy+aUT0=S{cu<*&KQd-ye($u!*0C+Jnm`sNjEmT{5GwVRDma}n69CL{8je$AWg?17Ns z@W^Zs(+fiFIJR`U{HbMUWD~`B=8Mrxxv^VQ1O4s$3*da%^k5u!3 zVRmniSf9Hjb@M8_-exKInNqy#w(#?KsHkE8WFvcLIrBu+n01~*Ko>mijje+5MY)Q# zE1$+R>pJR1_Z&Q#B&}#T^k!Z^-=NuMzNXLY_l5(?MWZyziGgigp*62el(Owb8LyM! z*%GnC?pGdap4psn?_}*@W%*az2i+kRt~t27vMx$wOnbe-;=Y26(nnVz9o1f59K##N zpCeED*XG|dpZqNc4{)Ta`Q-~l1vvciLMryTXP-AsP9j2s&g@Qi6FgyMYb9|rIJR!v zSkU2jMNQXrLMorPH=SL3Em~JZ!&r?M+F--kL2ydT<+?Ya>?fnWN3ijbw05a<1OP zz6hi4b0c;Aeq8qyO<(IdX|B3VExsCex=k^AG^?(p^j4RHOau3xH_j##029+Zgl#>p zb-UEsEY-0J>~Gr4WaqwWdfec5*17m*?FE)o$zyE2@wF%{j=C;16JMM>Xx7{n9%3(?mH3V^STXuhF5Du6MLPy3m_8?HX z30Vm;uk$AQ6?ZnG$C5OZH???18m=z--&SZvx~6nfZok8iDUF@38=RY|o2Hn_=R!nZ zU_dU{pVHjV$F?RP62??hhCbG&ZfNBIDt8m*KFut*F>th2^ShlzgXJ@cXb=uSaAJHo z{9X|L3c-9yxsrmauVYybd^*q9TK9G%*pjCMMmQ6>N+NPlzLA(E-1UPkwuj{u3Dawe ztUmdw-4gtx0^%_fV9k1GH7)hRJfGz4*B%b9xjqBr8It?Z#Js$1v z%yfU+NSPiBx0FI}@Btb^xXbaqwARKaCrYJvckcJzKns(z`DpZMW>s?Gj~S0Y)40(6 zkV?YMo73*0s3&c{>3YLQ;~jum$Et-i$cKfJ+f~Rccii*mxY`^`Hvdz+6exIWq`G&-ZUmBt_ zPMQSCKjoWUv~9+r!3~TFP2b_3x3Gb9-->Rcx#f+iazd{{qq6v%ehlWWgInFo5S66Bde_y-3rYMwZOS~kCU1zBulC!FzV$p!~XE(hmqMO zPU9&KrBQykn#$uqoKn(^=z*NiFa}tW-L;#rlP>{(4Z+7JudZm7N16J(0|**v!a3gs ziAYqacDbp?IEn#kxg)0vtZpa9R{&rzHK|=5m}QsW0Qlr{5V)>gO@UqH!ef``8ug!2 zO9xjkyOkfeaKgmKEHix+Ln+niW*zb3BYQ7I0PLtuZ08-qTgp;bif%yqUf9g9+~ofV z3r)S(5839Ta@YjN{~7IuSsuTqLJ;7eeGuIW1`Dbf@NxPMzQJS{5bimgTiX!nGayRE=bxQ)u= zxRm3VocfnJ5yO+%yI->KWtr{r?2xJ+&g{GRnvHE)5ZtSqD3!VuggC{jOS0brp&okPlHiG%eYBcdrwBZh1FHIIn0;(Z^vYmYniKiGB$K) z)Awf(h9vVL3!~CQed)gyD;szD9fCW>pHh*M-GhZu`sW<05Vf~)BC27xEqeR1hE`x> zDgN*3%U-q$8_h`Rv~#CF*?XgPptD93FOdP20L5w9+xC z9Px!)Yn@rr=GLqG8`frf^5;Jl3{aF15!1H~zNIIYA~)O!tOygw`76`kG>nRntlY z6&06x-|wr=yI7#!`-T@t5$m)4@JtZnN`0bG`|D+;k!S%_f?_5tL@%gGDNL&R{@8-Y zq|zI7LUOatOz(O6mip{Ct^=KPtFie{$XSRIc>8SqlvkvBYYVf>2p}Gy(?&3r)2SfP{7N*dyY-jlUabQ1*1x z2=(qMH;zDtZ<4m0_29%To6Lz(Jp>;?Z!w?vf3j;>)nER2{`H|H-FBV1#vc5Jva727 zF;0-gf$FYF3n{^3_EQE9FRtEacy?&sKpVFOBQtRUbZ|9tfh( zxr%j2KDtURW=m*fcJLZGpa*gV2;9{+Rw6J_^g`XXCdd`^W(q@y@j0r>f~VBw!HXX( z_0>>@_~tBf(`7r;uhP=4j(Z+dhLuhmz|@ovPjs=l7u<~7^jN9m%Jb}9;xZ|~L}^WZ zr?E;-ri23XVRG};P0GXA)r%dgujHTtN)X#R%Ea)RqE0|brP$fyN$cO4EX{22*Y_Tc F`7eWR__F{2 literal 0 HcmV?d00001 diff --git a/src/en/mangadig/res/mipmap-xhdpi/ic_launcher.png b/src/en/mangadig/res/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..b40e8e48e2e4e6f95497d03d18814223502d5cd2 GIT binary patch literal 10624 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 literal 0 HcmV?d00001 diff --git a/src/en/mangadig/res/mipmap-xxhdpi/ic_launcher.png b/src/en/mangadig/res/mipmap-xxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..df1853223fac8aab17f70d76966e4c047b314090 GIT binary patch literal 16197 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

deoC9keJRVB{ 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

    )2UxL~J~d3+!nV-@#!^26Xfg+G7?wvli_Kae>A zON}hB*o{!#b9=_AW)ok~j|_K>6oe3PzTmI^bCCov5M z-1r{C!iE8|)lJAzJ1;P4ap#mzt`mrfsno=xL;)F?p%D*T{7g{rd#v2=pB7mC4Gr>g z<^PhfayI@~1<4e?N+K5ed&ir*dbk9#bHQDkz}3F~f&I|K9n+c8?H1 zz^2xPz&C>w&-11($HdFCay1EwaL#k0@IC5vfA}0NVM{~{f+PNoqANe43Jjja8%3WB zjFKY64N{?d9{?6sDl{=e?hGt;i24|)rp{}oE?B3GoSDK*8_@Zm*G`@2qBE<53*af{ z(<=rKREVDeUH6yYne6!%zUR0d_rD&JL1L{2FP*-F6kX?wbAY!t?5gl#(aA_DC#LQKe09vyr3GK9!Of*Z%#23xj5M6 zC>DZy0~YP+fC9cSM9m#9zqw`QEe7;<;Ze_ZdABQv_L-^-4)T+iPC<2Kr6FV>P+m|b ze1a539SRspxI5ynAjDMYXg{g|Oz5i;QDJvhs8dyy`pdJ6(WI*Ji(a%;jVwUQSIjHT zAm-XyOx-|F+f;WvNKP8bza7*3ued^uQ)W=$p?_<3YDE5*0l)HK_bO6#OWhO|&1BS`xax#KY(GMh|8u1zj9Q_LS~8y9nn5l7xxm z=tP%YLXEsY{~UV-s-L=fz94NV89FWayyBjY3SEx#vwmu%2b@>l=Tn=@5&ZizMWW#C z{G(BPAzW5YSPd!P?POVRj~C|cLS*>mPMKk`Lh2WUi0=Tgj89I}G|IaXP*+bb_nP(9 zTI0K<9gb*)jm$;8Vq#t0I#GYV#jhA%@Bb(eK5+w+gt$4T-PjezjK7A5@8T@T1b72upZ;sEaS%IIV8>Ie1+^V zC~)GTrg94AWhx?3Z>3k%r-#&Od7SG~iTByMp>Wra48>!Q;Cq3kbAA<>ih(3D=tJUu zJsCa(MJpwr@z4|(MDOCTt$X4XCm!OmG*H|^-Z1@1bf)@it4MDEfO7)yVwmZ%7k~=j zB#}(6>86w*RVpNAs1szPNxvhshFg(9`LUp+-;@*5VT) z@z|gG?s@8YylU0FNbR3cB3qWKwV) zKo-D_dKj!a<+oT$&_jIMOH)$(RE9);L&i z-4&`d@LXH2*duT0Xeinz6fl-3h|3F8g)zM|Q$eoMflr_D(lupZ(S`P&_18+;r+6zmTs{{MJl;v&z8!<&#?43sacY zFvvn1H526(idKog_AoN>0d_vm79)i+!b4bFO+yhlgLxIl&e_OdeOsxJFdyMAp7drn zxmH~#B*o#E#NGPA2PJ3p)~2-I_9h^5r{(}F`{?Z9i$2&h@7oL1$;Nt10D)ulI^tkH z!9-RXSCIts!LCR#DP2OHur}nEPOZNZ0)}^FPKS})^QrLEe#=CkFihvG39&r>eE&R0 zt#|ZThh65)V+acV0}Rkab8h(-hTu9TrslnP!s94xQeIX<>J^{Wf&Q@Z%afvKYbQ{I zlgtNy92HbhPM7`aZ}-n7RKr8EB5+Kg>QnRxsAIUQYnB<|sHm8d)sKj&KHhx?mKSFXwf@Y`mBIuHxgJ>>N~i+K*O;SY*e8oBcvwCmMYE{=+3C>G-It5+Wo$Y<_jRC2Hwb!TB3 zV}CS2$DyOzCcP`XQlO}9lM4cOOJ!hMPHlOqlrCtlr-hCOz#T>pSYWi=jpex}389I+ z{C41P%U{=H@`!LoQm{NVc^g@t44IQ}NpxMXk(KHPW`-+*$&3uw9VMWRW}{+)1B^)y zwx?LxdU1W(+aJ@V?lKjjqs`IlcP~W;oLQ&1_6umj^x_}w@ydEdtlZ$f4*O!mY&V~N z5{R1bC;d59)OEQRLIFme`#*ysR3ZTa#qO=oSl8_^+PB(}=~*A>HJ!MuFip4Jy!abl z%cbK*1FRaG5eQ;GymB#uNhmF3HE(vZ@UwT__Ln6=G5T&t$co61bV1_68m7N&i_xhj z1F5*v_gH_o?5I~d)182V&kRLZK`@}m#4L@PN}Upm$7UIE=Q88_&gg?)>I^lw%_JD3 z#%4Lvj8T0`d_?v`oDo)lF5?w5Zi4#sk%9^xj^AFwmg9A%QqI2~nJh?P??Q=0b7U@c z#eo85&D|0TB#XtbIK)BXAcld-vsmJe6IpxA)&UxWMdqC-E=H1c+%-aWio%L4KcMppT%`m|GZF49hcFG zWpxzYcs#2%#{a2)FT8I1@&}H^+*iWW4?x_RtvmJxsw*J{qw1_fU%=a>400rLzY>%v z@)h5`xwb}gEup$HFoFiuykFLo8mSYYh zFgpYsC5wMWS=kCpzm=;&@kP|`mH)KuN@Gw+4Y}y7=b@lPPX3B}TZFHy5)K;+SiO7n zWz2YnVdWFv@1)2zZ~7;wCVy+FHfecmt3)-s4O4GhPu(CnY{N-IzrVV6i7UL8%6Mw= z0i%dhT;tXCk_jko229oUHmNdN_RzqnRjj0BPd&ffB;bmvYQ-0>tvaY<_I1q0`W?Tk zwWG&m7P@ACjRLS*d=(iRVsO18c_#7wG{8)k7^?}n{`7}v*$E3XeCSsi&uvwIPf0hr za^Rqnl-%ap7b))vi@3+bL$NpPp_MmDLp7g+4qYL%^N(3$Naw+80}l7V@yfc*eG2V|@Sazx=HB$(}qq0W`@Htg35K zTX!}=U2iop>h>T+ynkjGmT{Z1g3Wo{PZ7W@>8%aZN{Kb5N0JYtHA#q9M-Q zz1NNgR=+(dr9WSuJC!_$d2l{ZcExD1-EE!+P31%D`BY4@y@5H(j|03Azzc9bqXg47 zPk_yU>bBa{j2kwI3Lu`bR6OsW*@c*vzlQ~Hn`TMdN(~m8J)6ueh5W?VW_fSkNK@EZ zuZfN5ty9XmpKD{Opku4FipN7t4R*xsLTBqt#I0E*VX=m)Pf$PfgJkIQLz5$r1qElvMg*Cm*3dW#2LIF36Aov`tnfBdvHUG# zrD}Qdl5ZZ`X^)&ZspVYo#J}1MriW_{+RgV|8lVkvgF=(w9h^o2=5~$3c~b9Xt{prL8z2*0V&}#eI?t9 zRynG69jyKB6lDFU9*nC8$iX3n?1~fsR6C~N*npAt469-4tEdj5r&{_Qs)e{l`@evOXf(#6aei8xP~D;fHO$ZH zzcY~u23yuZk2&gj#XYf_o$L_zq_&(3kzxMnV+ZVwTMz~j44E?X4;{Po~8PU&zgyjgrgb5h*r0V&k z6}#mbiYolqSfHM$?BXU~DV+YF^9x<01m}L^{V$z@%3X)R5T)Mli(h`}f~O7x*P9Vx zPg_Y{_JI*pkY6*#lejxCQ%b*TFVkeqgI%NJ&6Y(BteSmfR z{VHxS?2iIiSZ;j!Mk9*g;P8oi#OSwm0P%|1S%%pD00U9=!ed8M7>ARh7%{OS;jcuh z;rFg2^=WBV%%&ZdogWq6na#C7vWZ{wn{+bpzoaR<1t#r=z6BjbvuWvu+CW9MSm~5gB7I6&`UiLO{DH z0b092so)l9%z~+EaZZUhJSpNeodg_G0C5EFwcp&D?f|@A9Fi@_1tWmQ$3nlsOii5= zGPsh8jCe7BU&n;aSvQlhDv36<@L~o4NO_^o%PDpd2_TEe_z|?E)ec;>KiE8W<2o+7 zE~?Sd0*Jhq03a^^YYTkRSS2rF&E+mwI@a{;6u&F*e*kV2HR4WIHGKd5FW@F!a>SJt z@4tw`)adxX;Wh9g4DX5!=(4ikbDZw@u9?T6^Nlg6S0N#l$H??Ser+|c43Z=%;S$(j zcBr<>7SYqvNGk$%PGENST@Oj-K{2efAMxuSh>?0WCVn=xi3IY`cMe!ZMe|pMo=^a1 z-x|N!S|^^-M#p~Tn2LopXP`fR&(EZ?Rr~j>*foXUZ3keHQu(W@->5gxBCGPDe&>-; zgb>tp*mr_>p)rl+=sjMc8GW|`FwS^Kr!O!z%2Bbmy;1?d_lMjFK${vBAIg4yqN&ca zOwB5lE>VTN^k%N_YL4;;jQfwMR>l9l10@{)rsdKO%&)&cc*?sb4-8yEL48OvKb3eA zy24lNsg$eENX0|R^jEavi}%x6nKHPvl?o(S-vh1RqzlTnCCq5-1f$zAw{&7K-ux{- z`DU_FVN`F2Z&DG`1-I#hBKnvBy%ac1vD$6c$0E6d@NNI(`wb)0(tNi)>2zOw5FdSP z=OR1Bx33-d_Kl-)VmtiQ@=0Fu(@`)uoauP{_Ttu|E0jFF;}HOIWsmoiK=KMs|L3TO z=G6rDD%eTq%q+LCSDhFx0PC`wh7|J0FqmgT0C*9T$r4V!@%$rMYIlnG#Yr2ucQcyW z#*=hNR5*(lX{S;cjKrIh5id3g=}oVjshI2fA`X0R@u@c@tA=T zj+?l9YTK4|{);Bk-{Wva^%tT%$YrB zIZ2OA^MKbR3MnlE+$eru-#V=0?;qZ>4@m0gBFDhjquyU&14Q!|!%gP9mHGG;R{I9V zDCt13|B0!k-1tZ&nAZX457xHNv-@S^*{ZTLj?SEo3AiHQ_y6_8EZKU}FjV)*^9L6CK2~OM2 z#0qg!(p+EEemxve0(tgb#_5D=q$J?P1@Bi$Kx0bl5)C+|;k^6?u|O3xv)s7-!$2}0 zH;7_44jj2)!CTo4!wMQ~BZX>JKWJnj0b(+WpVT5E9!Ww%#Cr9_XBGr};KUyhOjixQ z{!_3V`>wFgN(+mRkJqIzb^T{cVYCoH(80Cn7#U1%G^bb;RyO;Luu{Akji`aBoZ-E5 zMfJ@e$0DqcGb_r1wP@cv4?T|9{p1ucABr&STu95#Ek>jjN%U2mnAasUP_x`?+Cd0MJ|#?tMT{p-_jx@t9rUf5grE* zBJjiJ_Z%lkbSwA*{SLt>yWJ&CJO532;@mcnuz01w;kE&aq9)hS8Gm( zbv0!ncbd+U1cZ0}(4k+^lk`r(^!Qyaujq0fMMiAiD+TGUTHud-NxPfZO_jj_%Mfx3 zBkC?Z*LWNV-1^z1_~NU@;&yf@*@7}Dxu^07^QU~l02XkGXUJ4+-WRkubb{Q3e;?W-~`dC$^n4iO3Xk#pZoOMxekh4^V3`bl9M&e{U znv5Ga^E6d3L2Qr^L_ZP|$6bN9?npGMFVGfWtu%$$Qg)M$<1^er>v_TLA#!IrsZl4pynM|cZZC+A1>gv%5d-l&`Uj#ytK{utt zMeP-*f)@)??gZ4?T%T;(J39JHxch{5{{Z9X^rm-zT;RN-!DoQ%l?A;ZxA_K|1{YjQ z4ual7!wlDxh5advF)3(J0{}y(i+xU6$V#O@-_D6TyD|R0{qsqFQ~oPKDtj7WRz0#o z*4vB=4%v$z>Mcjs<2akEUOoqi)?ptcq{3D6wY4qro zOOj(kaMDFGu~=CNccS0Ff>l08n|cUvFEKOH*uCWpG>j{Ja``1+e3n<{|Z`KY*l3 z*ll;6xIbChx!~4$;tPMRT~0?JYFk!J zRxe)Q0qOh|7PZ`Mtjt62gI9Ub`)$33BLU)`pvCxEaR}hn@(lu)=UdkTi$jmpCa+sN zM94<>H|xZS+yfJ4y~28I((!`1C;A9HVEVz^_IYQ|%z|BCWcRl`oa8gy>{@FRGcC@^ zKg?&2A{va#GsV!8S`08Ih9A+o<6ZUK^+16X!VE|M_LPzi9!pU~$I3%LcI|E9vy5*j zCu(xz@iDjUg*xDBJca?ZUaLH~ECK$sEwiN5n@Gp6+x}jb&Jzx6UJXV>pMMUK33~-& zXXi>W?+OM;lI?pI5rqcltk4sMH8i2kBk~k&iiLVXM$y_8 z=>NC~KWc~LdnhZ}*vr8%@~oy&=;Rr{GfjPQ63rEN;3cF^27Vp_@XQd9GO>Y15g4o@ z9+i|S#e7YHPOykV<~K~Hu~eje{{18?9Kp{wzTTDGITb+T?6SBQC`4cX0itU--JNKP zQZbHfqLC!fRA4_u1UegkjJtKHW8{^c|GTij#}m)&Nt+-A_BUNtiUUSLB}nO3S+>3D zQznwJB>6T<`?~%oChIq>ey839UTi~-IdWI7UT{WK6%u`kc%cj=ej0rk@J-{Z|BYL5 zwH8MXS3J{7B)~ z=Z^d5EGE@23`~ZR8%tvTHE)yo`931LbdF4ga}3^4--2UlQ28Q9NzwoMbl0t#+$hQL zi%ccJMJ`QIW0ml-a8~$z(Q$dO98~xHEn~&`SN~_2VuV_Ei??j#1@sUE;UD$ck}!`% z<8TBknUa<=p`jBh`zws1b-(q>bh{jTIIfU8B|r-pc8!q#PIwbKARD|d5BpeET>@F< z0bZXZh}Tz!hV3s}!2dy@T&qp%Bf?&wdf2^zGGQp^2he1C;p4;BUN?^AJiQ#=-3@ho z1dUTJGP}vaJXkhFvg07scMr0crdaS%^D}Z{6w*qu+HzmHDGfsJq#B|aI@!JD!J=@4 zrl3j%n8_tMznP^&4lOOpB@8_##04^GRiMqD1$qg|2L26y!bV^IB1IsmgWAJ9(GIzX>@y?{-KGE!5Wl#f0g zeQo0c+x{}|l$kkrx|XkvzgC-k`QEkr4?<(vYmManV-dBYloZncoe5g5wy=cuQAh~r zkrH;SXbq@g!tEjncC_`qI^uUGVKZ~TG$zRCvIc+Vjd28MK#5O=6Jyp#6c2aB)5=z$ z84N3kji!{uO9!F6bmI>;)4*6owguqlu2G=84q7b;oPvUn{x>065D@1OZ!}xjfpp#D z1^CPR&3C;1UJK81c3Tv`VxmgLwqz?aM;7}y5izxR^O&l@Ec*F}>%x&vI}Gvxzzkx} zm>r!;?vM5T4QU2%<*6hnEs+l5Gi*|>)p+Q>ZfF&qWiLEJlK)(hmLPpGU3Yo*;=4uy zapSL!5(8;q$kvhfmC~`mMF{k2n`?Tp<+%^87^04);*dPDNVXfyg{t=?)|;ny;R|mp z!=sIJq?nOjM9S$9SMV+nzUltzMo+u~0}#&%lPZo{8P2+e(KZ~37kGIgcxkCc!^v7Z zVxth2V*|AbM<|GfM4j<-(xtr<@9fbN$5gxzWwKtJ{lJi8Cu6YOwNL3|ez=%HMuFYn zp=F4JXthZVMThLa-FY8xIIrQXoH)ZU`R1}Dj8Pr_hl1ExocLtm9?vzGD9A}_; zT@xsjVqUsXlI+(}kH?dO`v6@rX2PsBcyVhCHHsh8@#4lq)b)E`3u5EOGcaAJz|=wK z+DkLSgB(!=6+cCl$<@RB`&w@fQV#`E40ucyuHvp*bm7YUoM;igIM^8X6 z<1bBy;nDrsAVU9|kBVu(vY1ry0y;MmS{DUT%oVK}>k)ixbl*u|16z=7$=+y>#{icl znADH_qDYBLolD?m1=^&+8SuhWRMV)(@@4V{p79+(ZRjB=%VtXKu@SQ5#byGny zr8^p{4WZBiy(xl)+!%f3WsE(qR&*zhD^2$;Hl&=<3*p`?et2Y5Xs%rs1koGy^&2UlcRFaDrO^t{9`(pSJu8 zn*{05xt#7bfWxzQV9de2C@O!`9Z%dJuUuNnlWpCpT z5I&!W5vMBiI`U68fGaxgKqs7Ns0owd8`0bnt^XkTu7|n^#Z1`QQUZcte;;ulS+whG zsxS+lq`Kd1WF2Q&L*pn?Zm4RDpb+@qO^O^Pk&?+vR-O`!S4a&D(oVJ^U+iSH1{{8F zI8_?{+PD7!Ma%dryFWR6wfc)10{6xg1&q!Gj%w1n!Hp`o{QhR370wCedBboIQ8+@v z8YOjY@Y7)0EII(eEd)B}BWy<@@^s|}N-JMtq}sh?3aZgLsNtbFl;5tjZ~!TIiz`5i z6d4WTdSTgm4(po~DbW3=ywZF@m?&AvOHoga6pfU2`X5kItiR8CUyx@{3K7ZtN(B#( z@JWRp{z_BD-$vpeB3vt3+g`DNsWnqw(b@=FBP5+QC+qZPn#tth?XDgYdhn~9C&CG2 z!_~0kJ;6+!75x@xRvSQ`)mEtJ_^X1p?6g_Is0)kJ@KIh2Itz;++LxxvKK*Kdwz&Eq zHNCkYarjrUg%w7ACod4yygNPKg?r?M&(&eiC+Ak_>!rO?vLyk2XK2ad^$ z>K+zclv2>1s1O0*H8WINEf70_mcp)6JI0Y2y>FHaF25#;Y@7CK_1@(Ol{yi?8Qu{9 z?Zr=Dy)&Mkq3zVtgYGZ4qd#4V*-)871z&4&DnYkfNa1fGO4%^4iEQ}R$$E$puEuw_SHMs=&NbrT*fQZ$e7y=5jB zQTYX%9jN+gY8|8jTcsU4?`M!LS7EfNq2TDm0&*WvTevQ*JD|SjO$A+V8M#Rup<+$y2#w2Mxgbk z@i{BO!M+dU7o1T%Dk+7j+DVZEkT5pHNhXuC;Uz0$`CHmi1G7jL^+g6wBPjaAI0~ED zHSJk~|3A>j9gZ>FR-$3Oe2U=!dnxhf4!8ZL^!w|5!vBx-6$WSJ^ENms3TdB*KqAd% zk%6x!@u)!XFR6asabPl0xBJINpXCZ4r;)&y9>VYMa-C2;NyR`DSUWOeGy}BfJ*Po_ zph@lDt)Ar;YpaM1*7kALU^Nu6+fP*(e9gcw>!xU=Kxx=)^S3L=Wv!Be=Y!r%IduJ4 znzC@^qo(3ZB?@xiF)8%^SS;Ye#`|4|3m97Q5oRb=B3FXxKB`(OBwnm_HAPXs%gjTs z(q3H$yc<(wuFH@dU>&tgMaY8`<63{YsLQ5&2I1)lLB(q^Ag1!;v&{CCJxD4Og8KOK zNYvyW{%f)|hUT4LFcnztNfb_v?j$!P0YcibFt~>(5bbShFc#E}VTU+3`~5VBWYWoU z;RP^oOL9NXbc-K9Vs}H7-&~StAQk|)lZS{&XCL@^x;$ZcA2R;a(-ve?!ch1jGo`lRB7#{GK-ZVkiTVNA6?aM+OM6h&yhp$DYpCYgE4nOobN z!H(iDdlUDy2TYH35KqwsM5h>z4!fD9~R_FfnYL_&&3D43B!{X-WndNOo9RO8=P{XV|RpxzVhTkNEqBX0Fu!CFV>gI zl$uJ*7vs4cmgc5v`zb}Q(geP{MS(l}$gt;yhPzz6WW=V)LruAAUUjToGH_K7)ish& zs%v^iG#Ff}$ac3r$aUPl0|c`&8rA$_qs5B&zH*kMXa~>mCgVuK^WRj_Mfj7)&GMduY-CX5YswCzQAUT4B@o}{@C?8}% z=CA91r>x|!%HbT1#%PcKQsqyrieD)N$jsJw)i#(lddP)87m01sh+QPg#lZ>R`~25~ z3{bb~n=Wh*qejFB9ggX8R(J~pj0wDScU0T&ssO!!vQH7ll1^s;y9!pyG6R2Ad;xt6 z)_%Lh>JEjT^l#^YR9u-CV>5bRNk zii7WlpZnc0C!pT@k>4#s8B`-Q3;}SxrtigePZH>~GcqjcUd!TFR(e@EU;5oEAae}> zU``*ppZ-&x1wb%Gx4~$fZp*s*It(haL3;1MfoJ}w@C+8RR7NWMXg4ABx5@ntRclIi zGdF@RzpU=uai^jVS? zIqjK`bM)OA6QpGMW8^evkn$j6=1_e%AvOo?1Ial$axjqUP9{olq`P34FSbV(=$&-<>Qt2=&w zq(JPYFef1cXaIXO^4;Be=_t*pP(B5f*F5&eD)E)q8vJ%kc9U_==69?VJv?h>F-q9#$^Ewhs3b1AufNh6q?jy9oB)8hamz8o zcE1dtJv%lz99*|tdMagrN(f|Ajfr`c{~+_4zg4ut&G>iSH;>I8HOb^<@sG?j=Si|p zsTBsWbm%W7rv*nK69O%`AqFC`Aa4GDy!v$|5G(<$2Vpt;>9?ALk9tX4dCWxU9o~A# z!?u1I*x7S2ygkoWnxs99Q|#6tBIKX~{=RgvE%(x6lT@BoSyG$K4IlVHW>i-aV2Hem zp9ndLd3gIU-TH53oUO0++ZTQI0- z0EGV@**IIe<%~^pA)aQ?112@#pcyN9UqSJ*FlSQ4yF%k?1_|d{C7sB1$E8fSNkoD@-jUN z!d|bhz2yB)zQ3z=QP|cS!?$UuCtd^LejX4e1&7Z#qsW?&)qd6-Mcu7?Y~lfn$xQyd z-otfWaGOh;A>>QIbS~l5QZ@)m^ErFbRyV|XSY|J+uuR96aWHLNOYd;>=cUc>TzA7x zhH1S~x)R?Ij6?99J>-PZ^Qj<(V=a3S?fMqke1kG{ATo@pz05rO(+?Rbjr+>2Wz;@w53W^Lftv@58Y#n+?-s-o-WAab?;4eFk z*Iq6%wyI4*s}B6O2qMBADouzqE$=+Pdf2)BArL#~;=^_Z2!hz(_(Lsppfd}Z<15Nf z7XmiK==goIOnKp*5hJ5fNfTVr*7GOni6%Ser=LdO3aCqPlWjB?IQjrWr64Y77nsE7 z7shMJ$^>Div;K$rSK&<7h{yVUk_zK@N8h6&LqS?31~THry@1dGMj<$jjV*1wd6@F= zAf<&V<7jJ(u5XtQ1P%Qp&5|O`$N}|iZNbm+mdo-dp_A)=fnMn2%X%PEkR($MK-7+R z*k#{xtEgTd^_rr|r!WcS^7BL7W(ZNDxcojAw8SfstTb_tR%&fI1PTw9gE?x&<1GKf zA4tgi#MvpJUfc)?pzJy(Zpefv_E?eEG+K0e|7`zfDE`zGLs%TDB5t33kDu<FFaHwmYcVho ziKVMIF>BULVY=N9JLbeVd*5Pspd6O(E(Tr%jw8rP=kTtb02dnr$Us@ zX0LTizC@5e2&_r3+Hl&F!0CHTKYFA8na67ta;55l0)XAFWZtq zk4{d1LV&BKMGKH9lb0WRc|-q?5f0|LeK<2W`f9wx`y1$82*;AmzpN%+*_?r^VLpQo z@TY}t36K-ufqQh!B0Sm6C+ZFb3Y_1W>1=`22BdP@PcI-C$%lnO%bzz7eoU2K+^cte&=Dwfz;Rp zkAcm_4+>_qhWZorstQ{AeHp$QZrFaM+W7T%jDmQnk-2hl&dn zYhEJ(Jy3@u?&+jt({*$pz&SM&pu7V&JbM0C`tn={a zBUJUNb%i8EKFG%LkVF@3VP zd-OTWZtVO=Xp#BYNUeSc}a*^5bY81FN@GCSE2c3QGCEDO6FjjtYzx z8J~AL*eU@V)}Nw#D!GZ<=tojbKswBP>+PxeooaD)e-G)s(6yS|uhNdYj19=1#!(MW zCSst$!;M&WVkudh~620;;-#QX+QkNrE1u<~V(MD87cmoC)BQA5}YH8@YH5v&_g; zJimV=xPAx;{M^9RZIr8U;k1&M^2|mpK0cQu_9d+{~kDlwx zf=591d&-(4mBZ&i%(iX7E`KHb3cRT{Omy$UT4i$IKYlzV`$~|5)3#i_I`V|^(vP-3rpaUD@y6^=+q#@M;Aq@kTb@z3{g?Z=8YIgoAuck+Y4rQhQuO>{N zdETGeH{U)OnPXZzX3l1r!IlF+45>@ph%MrAJv z6eL2Fs+K&uZK3P}4Jz+{zL+|U?IIDy;lD&uaeEfge`Rz%P~A?^c`{(LTIFAI)aJXT zw-&u_b8Kmc1IR{vge^bA%}Je~_j9s98)67DWaL|E`uDR5q(zrT3be&E?SAsVZv~T{ znfQADyIjV56K_M^28C&1mpPPq5*6IX8!BPfj@FF4=gAV6RZrk@FgLEU*Y5(tCfcD4 z5f=4^PIN!%YVoPwx&MS9+>L6%xt-~Q3bsvD0jf=!?=gwrgC@{5+5=)U1xX$$4lNF= z`SXYhRm$_~G0^yi?<~MmF5X*|b?C}ib)mR6Eq7A*Bv;|ru^x*)F8==xpM$`&IZj^P zT7mDaUAHg+SaUhJnU690B^>}@5^AB$9u@5Z18_U=b4<$uq^BB z<$_ar0ci}jW;7pREqeazqutc0I;vgYPwK5s2dY;MI|=vg->gVn21J6#An?feiSx+i zaJMbRXN65j z5^}#1lc^=$f36z5G1gc>7Jr&YB-*%UK$D=k}}iOt+@zI-?s9RC-1 zl69kOUHoR9)R2JYun_BQdv81lT)gS<-CFpm_p*1DU{aj#Id&Aub$skeQvU(T$=uUL z)l+tXCE4@=_f^1i$Cn|7U|vtrfQmv{)6ehE3N-1I&REp z3qImxd#FBT`u~Eto%KD!;Ta0WY>!gUd;NL-?Be@KGiS+S4RP9o95)Nuf6EKoyH1-9 zbxRB2pzvXVRNp>P`-9)6|LOecMok09jnokfm9KL0v_3us8Y(S7S;);H1dI(~6|0ux z@gA`F=$ipK(9(4VbMkYV- zk?uUk?>}?;_mTWp(^W>r747Q5ZE!DMC{nz*ySo>sNO5-`+#QM(FH+pyi@UqKyX(Ap z@7{O*?zOXaa`wu}`I3AQI(li`{hOi9$ZeOv&C2Ukv}yhz!?e)pRP{#WR=#~FdsS`OXG$aIxTBdf|zY%geg%PPCr(HQ+uiN^i)x$_paqRl-Ck)rH-&-aWMhZn(~<>5cTd*YH%4ixM6B- z2w@>z3TisUwLzh^{{tk;dnZIm4B;4i*?9V*XBCz;X0v0N39^+^#-satP^>JfhWghJ zaP_qs#^u5;GU$5@f^w7()bXyfJ>??;q*@csM3y?chvHJo;FPcAP~hPQ;gdZ%SKb44 zG*IWAFCh@LY$j!ZPo%{gVdH`Up)1EF$*p0ak|T0?g3t?`r^cuZZ?S5>|LdiTvv=i2 zjzG(RMjwpAIN%YPzSD_ zu{W6Cq9ByzucI%!ssJNPWGI!;y6%^!?5P0l*Qejc@A=IihQG2sxxEQ>0=DmEL#uq@ zVE^&FCv{>(V=-lXoObP?TpEX$vz^98)FcU2Prl(CbuBf2Qh%py|5Pe$jgn>g04bW1 z(>>2xSy2QdR^LTkPclZ_Y3zM)`9r?^s0C@v^f0 z(=Xo>;(2ZE0wGfkAWSjs;udnK~_6FGD^3{%ipl43{gZokjW0I z4o!}F$N8nLP{x$uA+MdX$!4Q9jJh=@Um{6(B1|UJ$J%cvUQ^i2CrlGlhh+}>70*0u z1{2KW5@=<2Is^JdK`2w}mwxlPzc6LgOtoOhPf3Z1!wV4e+fFtvH(DQGogT~B$h3+r zfBWo1@t?HVM7PuM8WiLjS8Uux11Sl1E8gX`bE5JdL{qhF3#F9wU;}l4HzncL0#9Q5 z8}^6}%cp7vuAgtm3V5EC29CV>S(lO*`&R~d)v2^4ENR1YiCX8gB>2QPai=|pm-RF? zkoiVl)<$&L$awnUkO8!*kDW}sOfTj6Cin*y?%$&fbx?A)&r%zQhi7-^2$qyzI?3V{ z+@G>Y^HBfc9o5^-U}0obrErq-p@kQb=+Z#dmt{FE7<6c-e{{{4fUlTfQ2$ie9u3mk zH5yvnDR#oh3G;EoXtBiw?kN4eH`N+Qp!d`|pjB#j0~-yn$ZD@|NNL8gTEHS>2h;YX z*+>W+O&am@e1-Ry?nEM1mVN!!*$bYS39^^x`HiAzmUMw)Ptwhf{(gNDEI_=v%qW`S zz-NvvYWSAV`xw!1wVBO;gm;Q1wrCM|<$=D=Ez7`f8fTOTs{~{bn@>?81XRc3l0nZ3 z(p3Qtv#(VEZN^m_wLgU_C;XyeXfF>IJzoo0KLU7OvMt^OFT^yB3kzg{iH@`l*|`+R z9zJ}BOL%#^0{1quS;zMoFu16Y$x3#^OpKRm3We_IU#5aToo|(}CZzL=vqx4Ju)bAh zby%lrzS$%B;)U)S<<=XIgF}iZ)kwQ%4?Ud3Rjkv?qc$2fyK3s(&tkmMzCg7gY!HAxJR2nS~l5Rj$x5?WQZz+9_ZgZT99As}$4$jDw^!yF8|p%eGX zZ*Rr|b65rOP0@$8)xhq6c(g}5IlouQ?&|wvp28=zdW$pUt9UVCzr&I$^(I^BfBOug z9+u0?dINp|<^_vU(t6NnyYODEH+8BG)1JIg7^*Z>y*jVrgHaO;p%(rD{cY%<LX=qNL(4ELFE?qiA5r>cbM;T3*pTizr^qHaH^S#?z*NeT-a<^#Dc^!yH zqO`Ywui*POyu{_nn!Z%>SE=I!*H`q(3`oT+C!{MpwD#T{nU2U)3O_#aJ2Z8t{*y~C3_hyYTJ zC32YDUq5BfDOmQla3e$ny-*?_%voT_2UXUckZ%{p$mpBE^ExkBihX5PzY%Zx$WJ~F z{pnOq#+h2=ugEyGC4$wvODWjXRMRNjC8rWMhFo{x8Wq*1OW9 zyvfLcN`60JwcXjkkIO(v{l)mQZ{0)~0Ek3b!|1TzvUnl1q0$wt(xx{wVaXR^ zU!&VyZnnoi(DS9iyDZ!flX4=sU?wPj3svKH9wk5X2ZH4$INT3@)&9N7aCwPxcx*wq zc^35aKf`wtCv}5j=~)ep-geIo!nyQ(6Nz+2942Mt%skCik==f(9|0KYHi$8X&=*Jc zcC4#zMVE-~(AsZzRm|I$rw}dd9Bw2o7_UTWK3K5jya={PH*!wxRD1V7B$EXCr6@_Xq!||-df-cb9dprZ2 zEJz;UmARI9N>>GY)Cri@TF>wk)_hC&{C82Bf?b~iy*VpP{cuPr`&{XZJR^M7r!p?2 zvcz7i?nDw~vwe<6!4N@vC;v4chL^cS;efwi=+vMT$!3|x@@L4C0BdG?rXb%q3b2|V zk1g=6n;#sP|2kiMllBI)^4p*@fgyyhW9bAMP{gPnN5VUAt9PeHCF<)T+|Lev(f5Kl z{`lGJ#(q4}+V!gNPOgA=fnA$~{j+tfAL(AvZ_QBTRn@Sj=ecFUcEK7o!>>Vi)LJ=~ zt2Al>H#)8#YIvu}uqKj_xSez5cEQi&Nx!(>N%TO@wM0M~Hk;N`kckrKFl$ZhMehid z4>W4pyM3slGm86=cj>s9+wL-1K7DNONaM!zR5!G$1qeHsdyD1aEp6yDIir6Pu2XoA z{cE>ewy9nWuH(IB<&Q0A@XnlXG-R204`Ov9sp~W_%i>;TSh3!mY4k*9diFea$St)( z>@KlcCYptEl4+Pok|ohS%X#VLOf6IEqOP7yqU7IrJwp%AUYsInOKG@d@RZa&z{hg( zd?%KLp0kWOv;IuQ%Z&NJ1-~KLGz0#Qbn2ctZic>zI!J-=c+cqu$o1ZhwV;zkwrH0K zS-kPgo)Y5M(yMl!RrDLsd0)tQPpj@a9MNRR6b;%MQi{%Vhj`MB4?7(s)qq-g^lak& zNX&6TYttrLlpd?MZ_mDkrZhCmM9*RKVc@u}ujs`&Uy^?01y8@iSJ1z(T0e(wX5aPY zOh}}68iS31gC@H|2!uOzDe1DyI$ft<7)&xbQKC$f{b)l7K{jE^ou#Jc{psBP_mJbshwsKVo;2O<7=Fj`2AUa>H=3XO|)8izuzBV{-yOH*;U z5vwE?4FCtcm|QW}gE)S+7Um%ACkl9fQ=Eg$3RGkmDBG~&p>!G9gz=i3pse#{Ienb~ z%9~1bBC)3$rg>iM5onP2=PDPV$7PJLb6Oj-q5>dSPD%w;e@yPK1yN9o?5$_@IC0QA z!$}_h6}@XzZTG7Y_75d*dTaAb_36(MFud8>fconwbgaPx16F4alE9@2-8%n9smh=L z&zxFP>|;msJ$)U^l#>*ipJ`^ zuYmYdslngO%d9#SsUKgx41{nux{MD=MKdiv*t~JiA_y#pCm{?Dd77*q^TghUE?uRH zEBGc}-!!Boj9=W{{3Ko4#bxTJ-TQM0Kw|$+6t`?L^lKJ68-9VQc@0X5-Zj<-gNSfmn;r;vyI3ZDhh`5Sy2fA~HSIifz?jj(s?seZ@iRd3L-b4X6RJI? z!HrEW4r{amY8oMxieKu17FRj1!Py%3N#PhucTo>f14G^eN3MnQZ1IH6a26x;PLJpR z7>e?#l(-9_jlLm%sh$$};hboj`rUQjmUtNJVUuwvL5s#gbDYk+;<;!3#3-{t>6X-pzC5L zs%o`m^tBxK>7xOc5NdBvNoRN1R{6O^pn)*%9D;E#3pBfVr<))A^ZmT zA$a`9QByKvVgRQ|Ky5c!Zx-TCvshLoo){`}nXBuAd&)>${8vIet*=Mx&U=ZiKh&(R z5%LdjM6?K4jgClKU2v^a6D`jl$X>yHAf68>G(SFOl7COA8K(`p22S0CKV(Nz5`}5e z0MYZI+;77!&gi9&e!WS(R~9i<7+c7Nn6edid22b|MvVRvej^5LA%ey!`g@?&X*5=s zasEg2Fb~+c&AI5E7}EPsI&I`;V;fM5o<9?vpjFa#3(Z{GTX2kwpx6rM*i5!~(LTol z<}T;pNA|S;C8-IKtLEP2H-lJ|)B15}2SieP@)}bFb`9j2s;lTm`TO#eIe*5!XLchD zC^(_}K>nMd&&V!0;QcK!U#AE>UReYcWqFTVaq&COia11v0CP=pwENIE_D{3R6Obsb z?=#`-rqMTs{vr!NVp4cTsu_lWxTh=R1`$xI(AXZ}Y z^aOL7Us>mW2g8NoOV%5)|p!7PFj zaPl1oEbg@_Df=I`&lS+Jgna$HkvZ&|KmZE39q|iVk7+I!_anu-@cu;?Hs16SnJaku zQT%W;td7-$&|cn~Cq9l6gc0>vY6pc(y9oQ>9APi7b@8U#9bIiiZ%@=0Z$Md{wv6?6 z1y9+^6~RLYEIgw=zC@&!b~Y{~-mr2WuVNlt9>j|CKImr^+cBy3M-Z8gE%|BO!KjM_ zx?2&S!W+L;C;5T;MY}$!>7hnCO#ZV1>1kqbJg^rd#FGoPO2d0-_s>>c^aV<)JgNYJ z9k|B%*XhTr-r-DSRtKs|m>6dWVxVL)Qfs?LYIFT?C`|h*1G%@yDnD3m`t`+Kv0Cky zrJ23APsJEwoZHJ*PxNg4(D{AI$(=v^SKa(uEGaY3Gjd~>u5Ld(zev!D8>wwpKTo(@ zidK(`#zg*T5(n#LeB!n9k7)GoiJr%Cvr!6e`*S?)AKB1U&K!-j zU*|Hm34W3{a#;}yyUKl&$H7$N7!Vp!UDK=9v@=HAb;uFL#An|k3)C<_S#C2YSy8M`Xu+wy z=$*}K2;(xNo0`9+96~Rt<-k9K@tLONQn2JmgI-s}O{E?~xU{do@~9$sqi8N`?K~7S zS*}9@L_SH))%OB}OnQ13Vcy$z>{(en)Y6!I0W^Y=@*D)kF8MDc>F<%C|vCPVU&1Im$vJbLaeM6kMs~ zPfbZ;QeBtD36S~3eoYrzF&|ChkJf&1TY`~*o~K)x_ic+suRGP>_^-zJ{R2*%Q!C(g zE?_;VDt(^;WuVkKXK4yU5M@KiR5_C00e9U|s`q0CH+kAZxTPeFh$?Z|T+a=re55k7z^#8+Vsdvzy7EA_sMMc;$Q3Y@93 zwb(;rI}rp`rUP#QT~;ZsY}72LeAjtA*HE6(fA|c;wy4!N+KF>1x!_LF40%^@=>zBO zr}D)iItnd|r+ikn^cw~6%6(kn zzDdC~t+)A{IQ>|}>X1@QbJE(7)_xWNYJ7nQ{44z(mHeBOl?X<{XwvMAa-c`F*+~tv z!*3mxI3!)>&m$_vAqmT=H-NZ&2LOTw4MupwH&|~={SH0hoPwW9a$;y}9vU*UUrVw* zC|WfnVCg;M_KlBKZ>^epk!NvlRYQSCgn^7KPEM0nA}|r+lB_c6F8xsD0bU6ezzDyW z2`f61in2;E4YCd)wfFCKr2K*%($}=l>f{I25(8gi{Q-^9hkFJ^M~D=5kl7eDBZ5TB2H%RW0L+iUwr)YKjJ^0*X+z_>?_u;GOd4w%q=I=_74ht`Ecb}cv-mTD) z>S@7C&9pb*FLgaevO4M4cR8$`wgmabkDJ+Rai9!f#JmMglx~C~B}vRcQRY8pIe|Ah zO@Vs2zV?x^_#RH>)9wDKbM*z^S-kk4O2+@-bW0ZBAQfPKFDDu-uoY9L@x3yfUl#H- z_|Uv~7pusBbTzq>3OBbEqfrsA9o6Q0b-&zyHqP?1(k&SSd_Erop86I~lsU=bnylx) z;zHtlldDpDEc!w11xBP1tE{a2pB8^jVB>f0X{@9q`CN^s?1-QyFp4^y)D#=di8@5W z$-~b8eaV+o9L{?J**xy556d%=4PLX>aBz~#{6eTu?NdO?g$0e6>#+y+fc0>IM~{K%JYF@0_j0kjvNe? z>A>dSu)eM$jd`*v3lgCyMx656!Kw=;p=^JLqhAnvT0!ogHddz_{dqJnWw;AZKrv4H zSGl#z{H}}frBe7Aje(NJu3E(TIWWol$PvDqTMo!VrrV?e4UM+i7)nP8jKOChx;s%Dn|Ewr|>2&kFy`)TqBX1a?Qks zZ7>1IO5=t29DjuYwk%KlJnMokt<&jIU@_w-IVJB;In`b`Kz*SUAJU7Z1e!gltHAZo z+-llW$dI1Vwkc)yBWW61<97EsK-I$bLjrV8+`@>iokt6QWf5j_zEZX+x@hryD$Jrd z!K%CrjfDJH`R$*7GC~yj!CT0%Bj>}{kT1C(cb?JyUL*c?_VTNz?#VVu9_U!9YM78J ztg8hBIRp?kGYUIneV4Fj(~(cQrrT`8e4P>To?I|Im3voXD;(fb;2X?(6Jo@KoDr)W zFd`PeI}X0_mWN$d)|K-fv?)v*`N--O>&hDVHjJ4~jD3uR3&V;h(U$T%+aH!i>je=E zQ#!mgWsyQq`^)|)#(k~AYy|HtY5*}5*VBm|BbsA>x|M3>i{8RkaY(VhObNDCA&`SZ zGF$7e{lLZ+gp$?1cfu8aGA0CT`H71EOV|bFdUg`%9YpoXC~(@EE&8+4D@tznhrkw)P?;^5LvfppV?YhNzT8qxB%?AN z;WQVp#@UD0b=B@vdhYp9Fg%A!IL(Zn5g-gaJDohGP{d3ehcVc}4!3}vr z5lttXPht*6B)`GAZ-XV?C2vLWgDc<7$`&|@%PT<$_!MyTAkLRL zQ@b%Pg_2HkWDx$tENVgy0zdF3@p!i^h+61Iy1}=nC|RjuQ_L}ms(wW%1fsz?uzf8& zB{-oXSBrqZT8H_{nKDDl*divQp+KHwU}H;+MF8qN_J2-F9i0e~as*QL6>2D!0Qv!M zS*MDgsD#3W4BknRVaDM2ITx#55N416%~u!Sd>kZ6AEpeo3*)La^_{8ccza$J$mq`| zWU3Wr^(HPKEpbc9%gu^3KDiHZF-Q`L)J{Gej3uyKVE4+PW;Sug(iV%CMII_To8e) zr-mfrX1bRpRG&Ao&P+srKuZCMmMAXWzwNp{rWPvNn>?0CLBhx=99$nE^gmaY6+R01 zhERI3H6BXc_=Es57-4Inp6}M%&Qb^= zCqso1$_F1nPInby=xV;Xmx6nGcUC~vp9~SBUqlYq+dv;eeCdy)2Hhh{JtZN$Vd4c$ zi}R&tZS_eyKy!5lbhqZh#ANQ7Vys^=sFn}voCX$U8vcaCcig!G$`kWnKxjNNk0yYY zF$h}PY1I3K7In=o`u@r5M=}B+G<|+?c@sRZy@g}J+Bb6%c(lxM3<5?e7xkPvO z!O=uea3u-K^?KAQeu#Bavr;aO?+#H@MPu9d3-J*c*j-1`Kn7NFiH~O_P>4>Qev$|X z!VhaY#mKcIN<3#ri#I6*(w&_&*69kXgxmzZiA_D4gYC>Om-?SO;Al?eR$|TPZRG)b zWL^^%qPnCAfKGd#d#LW{+{~vRqQYI5cN8*L2f}3 z$i5JtyCvq#wLsjedE-4YXEA+)l|yoRNHLbT!=AezF6suf#vTbw_EE;_PTPo>w03ix z&}ljLeIGpk$OU$9!T@rh0s9=m4$os!4+HOYtLTw^LXkMkb6-_W+HcM3AKcqvZC^r* zoo*j^ujZOrU1IbS5C5M?I1 z!*M==eNfv?JGUYl5PIMDwat~oykwQEG~sojUrobeJz_+XwBGj)oT*H;mziR8)>WR$ zG^x*xmBQ4&se?Y?V&TB{{hZA+`R`b`5Qs;I3XU_0)lch(0zu=9nn9>3VL((t>|RW| zw>cVQZ`;5u*yalIU@}TVWi{7!TEbywr@M!UB(_AZGD61uQ}2TzR~jK}MqlkF0^#2= zNJ!^!k;lNvCvz6bZNiBxfL}Q_gJfb}h{Q}To2Ut25;%2!2{EG}2X6dlvK^L}ZFW~n z&6>aG_;R!VQ}@dCD2&Ck?IXDJiDqSj&*0mj-+>KNCZ-j+j6df=;tvo!jX=+?Z@Vo9 z?b+CGU0n921(=_G8Q?ke+G_JajAA0pNSO98oqe%R3rmzOo{*mk+6xHX_A=jO5d*J5 z#MV|fa+CKreAI7~8#Qw*+9E~V8@s>J9I~K=t*Z$9q{@|s^HK_DJqZAamODIivKE-m z?Iidj$|(e}0TGLt_2a%JE1}WXkJArZ-xqf9jY3rtJ{hYG^XO{9i&Gm+t;0K;Ruz<6 zR&kt*uUwN4*-NeuGrTdoGo>P(b4|8tPmj#^Y-XsfQCJY3LZ?Q!%ew+cUv--~e#@ksoam z3@w=^#m8zhKO=cWx|fguZ1?}mafSFg>nyi(wyl9`&FIKli%>QY6x47?#lto=CjZNF%)#r)kwi zmpgo}!m0>VZnII95*<$!7ImxWXA;+EJ-=6Ki{E$ptVl;Zu?<&*OSu_ykJvx^dW^z| zA4I@p5V#{o9$2$iJ*lucP7Eb44}Yg8IWCZib$t790L=}&8luDkZ5XXP+9(&dte@T) zBDR?P#LB$EYN4_Av2szP%HlOMN~^;bpN#_*bFbF z>D6vfZs-aqK7uCpC+kg$H5>OSFfJ8sd5m)lpM$j~!a8<_Wz@E2j&sX%#HbTeIXBMk z(!<`(Vy@{kGWr{?*tP>ruxHt|tWn%Y~oc*){y# z3k<^w*WT5M2auI48Tdi$aSI2kC>Jl2O-6MzkQOXZ{N#WCSCOSh_cf-cEMOhlQ(m_G zEao^A4{6!@F4WoHau@c^M1Y?sx-xqY5ysoOn29{oMI}uobvc0sUWCxl;19u;GJyQa zFs;xf;T#SGk}JYfl(nTpnf*@Cl^D`2-4@%q(vA-CUDnrfUj!qO7!IVRI*|Ka>6LE# zK&&4q8=QJsuLWM0O^~z^>ghYwEjG;7Ns=s1X0=d1$cXs%oq`9sz_G9xKl3U;tg_wq zFEzdd(WT4@bR;a(Xpy%xsGHcb@|Tb8xS12+$u0N9H}zAGENJK@L1^L9C-DZ<_+v~k zo~BT}1I}sNs9}9%L4gO9`=tfTEUdT-Iq1K@m!jtJ-s=a}Y9oATRT_Y4a(r_xZ1ex0D7a?AC3!`Awfb z(4WCQn!jmzrV(3Igv6|P$;lpMJ{Mz#{ff3L^$>AYN(qKH22e|`AV!&lbl}`%*<6RgyYt#uI)x}Y3(2>s~Zl}k_rhXX_HyW+pR07@Ar+nh=3}gh; zP|?JHT;nF|-1-Fo5El6FoQdq|PA8|WIUiuHL90uJ$|e^6-yCh(X0T^({og2zegIzN z?U*Mq0Pny7tGVIAh6#ezntPMT;^UylW{0<6zj5n`)RCjv|H-mIb0p@enUA8Q&~l+m zc3AeBZXvUgxXiV=o*Rr!jkKp&tVrg-J2(Ix>h*x~25-mB|EyUI(P1rTi_Y7|O6&rPs#%J^0@#J+ ze)R4d%8Wb(<1ZE|{N^--z?suJAFByg6N9(55q=37f0?JtsaxhDi;eHl!j5PN@ukgH z1hka8uO}$hu7IikT`+G4+hM+3Dl@69tUg;(?kNx-ZwoYuof48uG_&X18q&YQmszYvQ*pZ)xYW)1>e@`NH zutd+*4c`48xdH0;5}(}XRTciP%-0t1`uNG1RO2^j?x!_zq08naa+}-#2-O`2^M!bh z`KSES=<#P8NiyMIm?!W1`Jct#C}6pT6-GXH!@ORF*zgCGm_KZP|D)J2K-r+~0Gwa_ zo27p*`mKsLbkrXOdRrMY|I%AN z^Z#kp$aeX`m0J4fZ_ntLcOfADbLOaJOcd$=rM-3SCjXj#FR6UlT%mc{+!?M3Ed|47 z2;&(1uhis0KolXxLVjdUSbwW$JIxfq9lFvA7=akRjh%>3wG04xWF!>DD@Bb0{|ADm Bo_7EM literal 0 HcmV?d00001 diff --git a/src/en/mangadig/src/eu/kanade/tachiyomi/extension/en/mangadig/MangaDig.kt b/src/en/mangadig/src/eu/kanade/tachiyomi/extension/en/mangadig/MangaDig.kt new file mode 100644 index 000000000..d8f2e9358 --- /dev/null +++ b/src/en/mangadig/src/eu/kanade/tachiyomi/extension/en/mangadig/MangaDig.kt @@ -0,0 +1,372 @@ +package eu.kanade.tachiyomi.extension.en.mangadig + +import android.annotation.SuppressLint +import android.app.Application +import android.content.SharedPreferences +import android.net.Uri +import android.util.Base64 +import eu.kanade.tachiyomi.lib.ratelimit.SpecificHostRateLimitInterceptor +import eu.kanade.tachiyomi.network.GET +import eu.kanade.tachiyomi.source.ConfigurableSource +import eu.kanade.tachiyomi.source.model.Filter +import eu.kanade.tachiyomi.source.model.FilterList +import eu.kanade.tachiyomi.source.model.Page +import eu.kanade.tachiyomi.source.model.SChapter +import eu.kanade.tachiyomi.source.model.SManga +import eu.kanade.tachiyomi.source.online.ParsedHttpSource +import okhttp3.Headers +import okhttp3.HttpUrl.Companion.toHttpUrlOrNull +import okhttp3.OkHttpClient +import okhttp3.Request +import org.jsoup.nodes.Document +import org.jsoup.nodes.Element +import uy.kohesive.injekt.Injekt +import uy.kohesive.injekt.api.get +import java.util.regex.Pattern +import javax.crypto.Cipher +import javax.crypto.spec.SecretKeySpec + +class MangaDig : ConfigurableSource, ParsedHttpSource() { + override val lang = "en" + override val supportsLatest = true + override val name = "MangaDig" + override val baseUrl = "https://mangadig.com/" + + // Preference setting + private val preferences: SharedPreferences by lazy { + Injekt.get().getSharedPreferences("source_$id", 0x0000) + } + + // Client configs + private val mainSiteRateLimitInterceptor = SpecificHostRateLimitInterceptor( + baseUrl.toHttpUrlOrNull()!!, + preferences.getString(MAINSITE_RATEPERMITS_PREF, MAINSITE_RATEPERMITS_PREF_DEFAULT)!!.toInt(), + preferences.getString(MAINSITE_RATEPERIOD_PREF, MAINSITE_RATEPERIOD_PREF_DEFAULT)!!.toLong(), + ) + override val client: OkHttpClient = network.cloudflareClient.newBuilder() + .addNetworkInterceptor(mainSiteRateLimitInterceptor) + .build() + override fun headersBuilder(): Headers.Builder = Headers.Builder() + .add("Referer", baseUrl) + + // Prepend with new decrypt keys (latest keys should appear at the start of the array) + private var decryptKey1Arr = arrayOf("fw122587mkertyui", "fw12558899ertyui") + private var decryptKey2Arr = arrayOf("fw125gjdi9ertyui") + + // Common + private val commonSelector = "li.fed-list-item" + private val commonNextPageSelector = "a:contains(Next):not(.fed-btns-disad)" + private fun commonMangaFromElement(element: Element): SManga { + val picElement = element.select("a.fed-list-pics").first() + + return SManga.create().apply { + title = element.select("a.fed-list-title").first().text() + thumbnail_url = picElement.attr("data-original") + setUrlWithoutDomain(picElement.attr("href")) + } + } + + // Popular Manga + override fun popularMangaRequest(page: Int) = GET("$baseUrl/show?orderBy=dailyCount&page=$page", headers) + override fun popularMangaNextPageSelector() = commonNextPageSelector + override fun popularMangaSelector() = commonSelector + override fun popularMangaFromElement(element: Element) = commonMangaFromElement(element) + + // Latest Updates + override fun latestUpdatesRequest(page: Int) = GET("$baseUrl/show?orderBy=update&page=$page", headers) + override fun latestUpdatesNextPageSelector() = commonNextPageSelector + override fun latestUpdatesSelector() = commonSelector + override fun latestUpdatesFromElement(element: Element) = commonMangaFromElement(element) + + // Filter + private class StatusFilter : Filter.TriState("Complete") + private class SortFilter : Filter.Select("Sort", arrayOf("Update", "Creation", "Day", "Month"), 2) + override fun getFilterList() = FilterList( + SortFilter(), + StatusFilter() + ) + + // Search + override fun searchMangaRequest(page: Int, query: String, filters: FilterList): Request { + return if (query.isNotBlank()) { + GET("$baseUrl/search?searchString=$query&page=$page", headers) + } else { + val url = "$baseUrl/show".toHttpUrlOrNull()!!.newBuilder() + url.addQueryParameter("page", page.toString()) + + filters.forEach { filter -> + when (filter) { + is StatusFilter -> { + if (!filter.isIgnored()) { + url.addQueryParameter("status", arrayOf("0", "2", "1")[filter.state]) + } + } + is SortFilter -> { + url.addQueryParameter("orderBy", arrayOf("update", "create", "dailyCount", "weeklyCount", "monthlyCount")[filter.state]) + } + } + } + GET(url.toString(), headers) + } + } + override fun searchMangaNextPageSelector() = commonNextPageSelector + override fun searchMangaSelector() = "dl.fed-deta-info, $commonSelector" + override fun searchMangaFromElement(element: Element): SManga { + if (element.tagName() == "li") { + return commonMangaFromElement(element) + } + + val picElement = element.select("a.fed-list-pics").first() + return SManga.create().apply { + title = element.select("h1.fed-part-eone a").first().text() + thumbnail_url = picElement.attr("data-original") + setUrlWithoutDomain(picElement.attr("href")) + } + } + + override fun mangaDetailsParse(document: Document): SManga { + val picElement = document.select("a.fed-list-pics").first() + val detailElements = document.select("ul.fed-part-rows li.fed-col-xs12") + return SManga.create().apply { + title = document.select("h1.fed-part-eone").first().text().trim() + thumbnail_url = picElement.attr("data-original") + + status = when ( + detailElements.firstOrNull { + it.children().firstOrNull { + it2 -> + it2.hasClass("fed-text-muted") && it2.ownText() == "Status" + } != null + }?.select("a")?.first()?.text() + ) { + "OnGoing" -> SManga.ONGOING + "Complete" -> SManga.COMPLETED + else -> SManga.UNKNOWN + } + + author = detailElements.firstOrNull { + it.children().firstOrNull { + it2 -> + it2.hasClass("fed-text-muted") && it2.ownText() == "Author" + } != null + }?.select("a")?.first()?.text() + + genre = detailElements.firstOrNull { + it.children().firstOrNull { + it2 -> + it2.hasClass("fed-text-muted") && it2.ownText() == "Category" + } != null + }?.select("a")?.joinToString { it.text() } + + description = document.select("ul.fed-part-rows li.fed-col-xs12.fed-show-md-block .fed-part-esan") + .firstOrNull()?.text()?.trim() + } + } + + override fun chapterListSelector(): String = "div:not(.fed-hidden) > div.all_data_list > ul.fed-part-rows a" + + override fun chapterFromElement(element: Element): SChapter = SChapter.create().apply { + name = element.attr("title") + setUrlWithoutDomain(element.attr("href")) + } + + override fun imageUrlParse(document: Document) = "" + + override fun pageListParse(document: Document): List { + // 1. get C_DATA from HTML + val encodedData = getEncodedMangaData(document) + // 2. decrypt C_DATA + val decryptedData = decodeAndDecrypt("encodedData", encodedData, decryptKey1Arr) + + // 3. Extract values from C_DATA to formulate page urls + val imgType = regexExtractStringValue( + decryptedData, + "img_type:\"(.+?)\"", + "Unable to match for img_type" + ) + + return if (imgType.isEmpty()) { + processPagesFromExternal(decryptedData) + } else { + processPagesFromInternal(decryptedData) + } + } + + private fun processPagesFromExternal(decryptedData: String): List { + val encodedUrlsDirect = regexExtractStringValue( + decryptedData, + "urls__direct:\"(.+?)\"", + "Unable to match for urls__direct" + ) + + val decodedUrlsDirect = String(Base64.decode(encodedUrlsDirect, Base64.NO_WRAP)) + val pageUrlArr = decodedUrlsDirect.split("|SEPARATER|") + + if (pageUrlArr.isNotEmpty()) { + throw Error("Here ${pageUrlArr[0]} and2 $decodedUrlsDirect") + } + + return pageUrlArr.mapIndexed { i, pageUrl -> + Page(i, "", pageUrl) + } + } + + private fun processPagesFromInternal(decryptedData: String): List { + val imageServerDomain = regexExtractStringValue( + decryptedData, + "domain:\"(.+?)\"", + "Unable to match for imageServerDomain" + ) + val startImg = regexExtractStringValue( + decryptedData, + "startimg:([0-9]+?),", + "Unable to match for startimg" + ).let { it.toInt() } + + // Decode and decrypt relative path + val encodedRelativePath = regexExtractStringValue( + decryptedData, + "enc_code2:\"(.+?)\"", + "Unable to match for enc_code2" + ) + val decryptedRelativePath = decodeAndDecrypt("encodedRelativePath", encodedRelativePath, decryptKey2Arr) + + // Decode and decrypt total pages + val encodedTotalPages = regexExtractStringValue( + decryptedData, + "enc_code1:\"(.+?)\"", + "Unable to match for enc_code1" + ) + val decryptedTotalPages = decodeAndDecrypt("encodedTotalPages", encodedTotalPages, decryptKey1Arr).toInt() + + return (startImg..decryptedTotalPages).map { i -> + Page(i, "", "https://$imageServerDomain/comic/${encodeUri(decryptedRelativePath)}${"%04d".format(i)}.jpg") + } + } + + private fun getEncodedMangaData(document: Document): String { + val scriptElements = document.getElementsByTag("script") + val pattern = Pattern.compile("C_DATA=\'(.+?)\'") + for (element in scriptElements) { + if (element.data().contains("C_DATA")) { + val matcher = pattern.matcher(element.data()) + if (matcher.find()) { + val data = matcher.group(1) + if (data != null) { + return data + } + } + } + } + + throw Error("Unable to match for C_DATA") + } + + private fun decodeAndDecrypt(decodeName: String, value: String, keyArr: Array): String { + val decodedValue = String(Base64.decode(value, Base64.NO_WRAP)) + for (key in keyArr) { + try { + return decryptAES(decodedValue, key) + } catch (ex: Exception) { + if (ex.toString() != "Decryption failed") { + throw ex + } + } + } + + throw Exception("Decryption failed ($decodeName exhausted keys)") + } + + @SuppressLint("GetInstance") + private fun decryptAES(value: String, key: String): String { + val secretKey = SecretKeySpec(key.toByteArray(), "AES") + val cipher = Cipher.getInstance("AES/ECB/PKCS5Padding") + + return try { + cipher.init(Cipher.DECRYPT_MODE, secretKey) + + val code = Base64.decode(value, Base64.NO_WRAP) + + String(cipher.doFinal(code)) + } catch (_: Exception) { + throw Exception("Decryption failed") + } + } + + private fun regexExtractStringValue(mangaData: String, regex: String, messageIfError: String): String { + val pattern = Pattern.compile(regex) + val matcher = pattern.matcher(mangaData) + if (matcher.find()) { + return matcher.group(1) ?: throw Exception(messageIfError) + } + + throw Error(messageIfError) + } + + private fun encodeUri(str: String): String { + // https://stackoverflow.com/questions/31511922/is-uri-encode-in-android-equivalent-to-encodeuricomponent-in-javascript + val whitelistChar = "@#&=*+-_.,:!?()/~'%" + return Uri.encode(str, whitelistChar) + } + + override fun setupPreferenceScreen(screen: androidx.preference.PreferenceScreen) { + val mainSiteRatePermitsPreference = androidx.preference.ListPreference(screen.context).apply { + key = MAINSITE_RATEPERMITS_PREF + title = MAINSITE_RATEPERMITS_PREF_TITLE + entries = MAINSITE_RATEPERMITS_PREF_ENTRIES_ARRAY + entryValues = MAINSITE_RATEPERMITS_PREF_ENTRIES_ARRAY + summary = MAINSITE_RATEPERMITS_PREF_SUMMARY + + setDefaultValue(MAINSITE_RATEPERMITS_PREF_DEFAULT) + setOnPreferenceChangeListener { _, newValue -> + try { + val setting = preferences.edit().putString(MAINSITE_RATEPERMITS_PREF, newValue as String).commit() + setting + } catch (e: Exception) { + e.printStackTrace() + false + } + } + } + + val mainSiteRatePeriodPreference = androidx.preference.ListPreference(screen.context).apply { + key = MAINSITE_RATEPERIOD_PREF + title = MAINSITE_RATEPERIOD_PREF_TITLE + entries = MAINSITE_RATEPERIOD_PREF_ENTRIES_ARRAY + entryValues = MAINSITE_RATEPERIOD_PREF_ENTRIES_ARRAY + summary = MAINSITE_RATEPERIOD_PREF_SUMMARY + + setDefaultValue(MAINSITE_RATEPERIOD_PREF_DEFAULT) + setOnPreferenceChangeListener { _, newValue -> + try { + val setting = preferences.edit().putString(MAINSITE_RATEPERIOD_PREF, newValue as String).commit() + setting + } catch (e: Exception) { + e.printStackTrace() + false + } + } + } + + screen.addPreference(mainSiteRatePermitsPreference) + screen.addPreference(mainSiteRatePeriodPreference) + } + + companion object { + private const val MAINSITE_RATEPERMITS_PREF = "mainSiteRatePermitsPreference" + private const val MAINSITE_RATEPERMITS_PREF_DEFAULT = "1" + /** "Ratelimit permits per period for main website" */ + private const val MAINSITE_RATEPERMITS_PREF_TITLE = "Main Site Rate Permits Preference" + /** "This value affects network request amount to main website url. Lower this value may reduce the chance to get HTTP 403 error, but loading speed will be slower too. Tachiyomi restart required. Current value: %s" */ + private const val MAINSITE_RATEPERMITS_PREF_SUMMARY = "This value affects network request amount to main website url. Lower this value may reduce the chance to get HTTP 403 error, but loading speed will be slower too. Tachiyomi restart required.\nCurrent value: %s" + private val MAINSITE_RATEPERMITS_PREF_ENTRIES_ARRAY = (1..10).map { i -> i.toString() }.toTypedArray() + + private const val MAINSITE_RATEPERIOD_PREF = "mainSiteRatePeriodPreference" + private const val MAINSITE_RATEPERIOD_PREF_DEFAULT = "2" + /** "Ratelimit period per second for main website" */ + private const val MAINSITE_RATEPERIOD_PREF_TITLE = "Main Site Rate Period Preference" + /** "This value affects network request delay to main website url. Lower this value may reduce the chance to get HTTP 403 error, but loading speed will be slower too. Tachiyomi restart required. Current value: %s" */ + private const val MAINSITE_RATEPERIOD_PREF_SUMMARY = "This value affects network request delay to main website url. Lower this value may reduce the chance to get HTTP 403 error, but loading speed will be slower too. Tachiyomi restart required.\nCurrent value: %s" + private val MAINSITE_RATEPERIOD_PREF_ENTRIES_ARRAY = (1..10).map { i -> i.toString() }.toTypedArray() + } +}