#O-vExWu{93sDr=Mzn`nsfb6ma$G|shcm;kr>-|XKI2{(
zS*=Wh)w3^V7-@oo-rJIOu6}V@Us4hCi*Yr&w1N~MBgPdx5kO#VDH9n)zP`JslllcV
zaq`}iTFXH3dcRh3phuKx$EG)cluMPa=sX}t(&c3>x%KghNmq{1`iHX+16o2!o&e{c+2k&poQkLmycQ#zC?5>xiX@QKcS^6mbJC5M9*`S=
zAs~N6-&E19vxcy85rG`68A#N-&*=GLXMY(Y$_ZQBo;>Ib2>Vs>rE-1?;1W+gXe&
zIy@McwqA88I>f6KMQ(FlK5yUCTn(BTmI*78zj&FNVW5f$7++tjomCyHU<+)TgORXe
zzWGu+3xeX~@g`p#F?AD%%YPaM3E$46@U*J=r#yIhz4Q}v7w@`
zFai+!)Q8NajQYNxHqzsWIWUD*cjOunOKO15ySnUkR+J%$4dg_Y8q*6%f>RI#*hf|i
zs@p)HLu3*N5*ft=*a*;gJIX$J%?-Wvfm(tSDnyajpKL8Ghd4#!Tlr>_Fi7}*`o71S;)%<~gz>!^VhJingeEKFteogMf%bXKz9378ARf?;HO
z(I=jy=t*(MJi@+2kmt&ouF+6YXX
z0qsyXKrvnJE|dou{}QOg3F$R1O9lLQHWZ`|wNH5Q1r{|)IoA5Y)R@nonI#E8Hn|L1
za%^ZbE$IRpj%?s5G+5tQ9MWVAH8p8;NDx*xj#NVz=^3!m4AVOasK%1U&ED9#P7XG5
zcXl~39HbK#tl$Tt;KcM8WsF`NMx=|EEUl)ktMx!XfJMhlMEI9!kC~I&C#5=Q^1+=*
z8sq3)HjFyVBybst65~TIZqqcO(s~&f-~GPEfd;Gw-sKTBhl{;5#snL
z&yQ=`^p#0?hEd?H7d97mA5~_kQDZeXEkz}-lYd8gesIn^Q~@)6WAjsaFsn8#L()y~
z=KMrC2^xxDGks}*RFHut)0Ywk`t<%1l`0haEKP+X0PgXP*3qnGnEl9E*o>^+l)-%4
zY4y(#$aOMj(V0niCzk4dzs}jFwa_($ccZd)a=LRWgL=d=eC?GcdX0vMA)}U9V<`T9
z+~qQNk%odISy)J7PM}qAvk#)&sY4}K6ao#C9SuwFeL~5iOMCx6F{<;l@;W5xJhyAa
zKLoC!chyPn2d~mhY27%s#As5yM4gD-{UyvzH)0Df0WLG4Rv}I|>4Ee5GE=h~FiuQk
zZ*c`>D-fH<8u#7J>AU%kEC+!Lo@$;A7((^>%>*78NlI>
zCOu!f6d33qILo9{Wt`Ebysqr1Gb8362*ZxnaSaFv7qLIQ&0Rwu4je
zpl{IX(1%CL@mos{Rxz=MFP{J>0p?gwDMz|%W1jp>M@Q3FAhLK;?vwk&@&@)8%$)@5
zUv3N3SLa1S-TXLf%X@XTigMf^MqfSk57Eg*nyhRQ39w;^NV28bZ9!@pnzLH+d2OI#
zj1i~%fCP>Wy3=0XJL2q09YEr8TVhvpae0gAkQ2jxq5yX
zKWEAW;LFIeZG6*zJTCFxa_0O$y0yX>2xdZ+E@gy!_{$O>_Tf
zjOQZ3*~!l(kH~s2I#g>mz$x{)sR<>B{TOPB1_Wp!0T=gQq)pysIIeJYVUAOV&Ud?m
zr^5?PPD%L;sjry=)q3Br2G?)Vs>-EheImCu0TL`F+==E^5o7nN%x}5QV&jc4tthH?_pP04VOeAj-KVQ28+}Q
zDNi^#2w1L$*RX{u?%IrVH?!Do&;BJ5ZR$-5Qc}OAI_eE^`VX@pK8ox%Zx)fo_}LE`
zAeT%L;&?0Xz4dSg0O`J2sg_Lyr`OVIY6)g-X69etHDJzP-454vqJ`{;?XJtp!V(*9
z*B2faV;33$LrPpDmou0PN5D@Q8TKezcg8$4nBMGVv~g6S>jV$Sz9i5IMW2{J0%f}F
zrNI-1{~YU!f?PP3P$iEj&1qTyD^unlI5{h~?jJx=IzXs1Tlx}jlx&m%_^?{8*-P7PE9MC%6CE^SR3VN^^Xn!O
zw+pU3q%_JYMhJbPDdEC+8OSAokHh4vXx0$GOJb87)@m}Z=brpkY^G!S*d^sS*!|t;
zcK99q6T{3#Ik^+8lT8wZMaHjY?xCK9Qr_nrJKW#3Hu}b~YS0qcjcylkqRMJ6(+fkf
z5Cp6`;cu>+%uDUfP7PGEX@qYiI=0l+1bxbCUL+QaJPS<~!$`Vl`kzrh_baf4r>0xU
zWF;i>uxiaeE~rO&vA&elwQJq9#L7V)LN6DXp+;($YxgS!!b+%{iu>N&;Q(4szP)l~
zdtiGJmesPxCe{$r;q)^&U}y!menbjMRw;|1+4{%|Er10zePM{do(vRs45`Iqc6
zJxx3OgQY;rry{7-K&gMj6o2&s))5+ENg)_69l7C5ian;_O-O-pSucvffNfWs%ri+)OOtV`=B%Y
z_u53oZ<8S+#_k!*!6_Kv;><@D|
zklls~oo5b$L;#pbANHI7C^4^yI&T9*f)JSelbaCy7XRFddJb^>)ArGt_Wd;3i|onQ
z%|2~|xy=hi9-gcB_xUm2q)VZ8FT^15d9vWarw0gNrs4Q!&_``dy!JKKo=+9Jlf(o*
z1{C<3a!{D0Fu?U1%Bt`nav3s8iuiqTyMA=5kFt*V*oKfsA3r?uneaNsZ_dox4=*lm
z(ufH7Gkk1dxYxSxCS@;-zR!=gM^r*0t7dE+@)AKAK}7i&HNuCx$c1J%@kIe4kNfnd
z2ucUzDTMFpQhq;<^<3!I@x4rg0W17?jG$q?_(4^?2;K{F9)L*%5ib~Wb76z>(b!7IS1lDYt
zwff}-Zn7C#IpXeO?w>uPH1~#PNFGvQl}T{VZ-O!WI4|JJ^&Jg2jiVHl`@$q?<)Gsv*pxz#GNLo$
zQFIm3)4}vXdFW*k;87UxF%)?_#V`+-3#i(NvzZPy(|TY}Nx_gD0gc|l`vNm#T}GxPdpsYsCa)|)
zHw`kh=#+nwgY|wzyVv!HTw*0^7Ots%j8sAh5?&3Twx$Zd3-tVaxm^}R`9owgPR?MBpLZUTn;rk~fwAZP&?$rCL)mrv5Y%vo
zh~CeH+4=cZo{X5MxbcFAEK&JH`@;PubZ5X$(9TG|sCj%=rdoDZ!Ai(^LNo2SHZ1ww
za~f+qy7klv37zGWy1t}G_|@vh&b^@x$Ck^?CH)Coz&T`H3UuD+%D@DMuyqLn=b8v>
zidPV*ao8B_zy#vy?_gv-9kZjo;ml|;_~0`)q&zyX@trJo_;KC$O7mxW*1w)Y4nhGt
zjE$Homm?$7i=Yg^m!5e@#Yq(bk)^~i)e^XddH-&S
z@A>SSCq+Aqa!e*J>nDMlUjPwv78*NIz5aYV3@O%)gPfKP0tML7$xQWYbJB-?P%me9>VkWyY5-
zZ_+mBh;eG|UdFtkajRKGz-KegCfk}G11gqeKv0v9AkbNgGsg-oA2ildhROJYqVbATgySpNqm0-i6|GJAxw#c_s@&ZkbL%ja3{M#MfH9HhA-i5~dA$hqNH3Oq~|v59#vvi)uR0cII1>
zo~S1XC^cR-5cbso7i<_l#0SsJz>UT1%7GK_Svg4-$hkt^}IZ&^9@_IAIMLJy54Wabln>U@5XEXqa8dhiuLj<11mZI+l)6EGs2z*(hY;x^3}
zYdNthFhQcVSlaqWZeWM5_Q>n)`EA)-G*6n=K5+bX>p-q+0yJtTFyTj+tp835y>yn4
zbDVjSlMuQPD)5prWNvlOJ}*gh#z{RBs0=&Kd^PvynWZ1A
z*O7*q7k&P@iJ;MYXcOF^D6<=~!}K;_=gfcw*T%#*%Ot}T42ghEtFXM`5E&%vAC#(i
z*79M=!AmKiypOOYW48ATd|F)AlW;aH0Or~e1ex!URrNcq@7BRIH#fIe5;TROQal`k
z+t)3|4H-MM@6&W|HB(kar0^Yh&z;}_fbjc&y#VyN!N>gmS3>j01SxJy5tC3i!*=z*
z1%9VR#~Q2IUnJT&s{D*YE2b2bY{L_b?^>#FU)>B|dYT*@$dwAzr1xbLf0g2B(>0wG
zuiQNgoyUoCg#(7Xg6gxZ*Gj)u4!t5G?Lu2254slJ^*D_(CEC?=(({@%b{1xrpa7nh
zVqe=uF0Z6ES~;;{YV%FvslmWBTHdcyc2Uc#ITI3Zo}KH_Q3zkSQ2{hc2VV5w9;s?0
zB7U#r%yPfc%?2UT^=sKcjlJ8RI3^nOL1{-#W+a)AK^`{fIi>lVFTr6H2jj
zE-TJwDW*=-?eoBl6!V;?JBO@j^ZcHK%Br`(Qs=Mw-wb)T{h`_gC4!+V3Bw0np0=7EF-J
zkX$ADbn^NNytVUQgx|iS5{U!QX+o2uJrN?iC5tdQk;7w0xwPvLwtS@WrgsvppM4wr_%;nuy6s_6*!bK
zMkhzoBIxvB{pu|&{E_G8p6xOXJ4L#EuP{>3s`+Abx=yjq97{q+GXL`r0-|S1Pq1TX
z@g{DssJK`${Oan1hYK4=3B+1tFaFg%=x+QAYAfZHD^Ws43QQIdNRr`krVPhXW1lf#
zLU+>n`1r2Y&2NuD4MX|V+eP+vZVpOw%ErxJP2$h4e*U@WzxoKDmm^Sxyi@}6h~H0R
zKa;(^!G1L7C{CYWu1sPW#`|ctX0KE^m_5UR#Q0Qf=rWM;@OP)s*Gnh`#ukBVFB#1v
z*FghDYwRbNZls|`WF^M`dIz|phQ4ql>0%i@|30EVR|T@KihG{{44T0G{5NEaHGoOD
zmoaSs#nhQpHBq4Zr;^OzP#*icBKt@}aXL!ad`Lnx*Ta%thmQQqkv2tvuw9)dOMSR|
z=xgA}`gJ*K0y)%)-0Zwk1d`8XVo>3~haC{OSQGo9)>d)p;8@sCtIzu*zKKQit7<|-
zivKQKPd6GMLyt)~ftBv#l3hDGITkK0YsI>1q8V$lzX1F>ftxpL;O)G~;5A`MJ=@hu
z3OZ6Jy84O*HMx=bf39*@;j2(4$X)r(?S1TI-YMyyi{={?=_Iak)m9J!rf6BGC?Wt*#ey!n3CI)p!MRSy
zx=pRH-xRW^8vU-|vcHluJVOH~@0S7moY|M64DUxSpMK^7RvfJEJfn!GJJ@8KroQg@
zSw?meg=7G#P{^l?CqcpORYK^nngDYykRsmYV@#;-T;o|cM@d+kQdcRJ5mzW12?}e^
zhnqWB{QEEbBKVVG4cz*ZN~^l{C-vz$$&<1YEj#*hG4c#l26S_5NUo
zEpfoVL6bQiMkh5~lj0lvH@;|Gw@0yPl#nw&yC%^-JDf;J<().getSharedPreferences("source_$id", 0x0000)
+ }
+
+ // ============================== Popular ===============================
+ override fun popularAnimeFromElement(element: Element): SAnime {
+ return SAnime.create().apply {
+ title = element.selectFirst("h2.entry-title")!!.text()
+ setUrlWithoutDomain(element.selectFirst("a.lnk-blk")!!.attr("href"))
+ thumbnail_url = "https:" + element.selectFirst("img")!!.attr("src")
+ }
+ }
+
+ override fun popularAnimeNextPageSelector() = null
+
+ override fun popularAnimeRequest(page: Int) = GET(baseUrl)
+
+ override fun popularAnimeSelector() = "section#widget_list_movies_series-5 li > article"
+
+ // ============================== Episodes ==============================
+ override fun episodeFromElement(element: Element): SEpisode {
+ return SEpisode.create().apply {
+ name = element.selectFirst("h2.entry-title")!!.text()
+ setUrlWithoutDomain(element.selectFirst("a.lnk-blk")!!.attr("href"))
+ episode_number = element.selectFirst("span.num-epi")
+ ?.text()
+ ?.substringAfter("x")
+ ?.toFloatOrNull()
+ ?: 0F
+ }
+ }
+
+ override fun episodeListSelector() = "li > article.episodes"
+
+ override fun episodeListParse(response: Response): List {
+ val items = response.asJsoup().select(episodeListSelector())
+ return when {
+ items.isEmpty() -> listOf(
+ SEpisode.create().apply {
+ name = "Filme"
+ setUrlWithoutDomain(response.request.url.toString())
+ episode_number = 1F
+ },
+ )
+ else -> items.map(::episodeFromElement)
+ }
+ }
+
+ // =========================== Anime Details ============================
+ override fun animeDetailsParse(document: Document): SAnime {
+ return SAnime.create().apply {
+ val infos = document.selectFirst("div.bd > article.post.single")!!
+ title = infos.selectFirst("h1.entry-title")!!.text()
+ thumbnail_url = "https:" + infos.selectFirst("img")!!.attr("src")
+ genre = infos.select("span.genres > a").eachText().joinToString()
+ description = infos.selectFirst("div.description")?.text()
+ }
+ }
+
+ // ============================ Video Links =============================
+ override fun videoListParse(response: Response): List