From a0bbe838c9ca3f57f39be0bd0c2811c460e6f0d7 Mon Sep 17 00:00:00 2001 From: hnhx Date: Mon, 27 Jun 2022 23:00:22 +0200 Subject: [PATCH] added image proxy to speed up image results, fixed broken wiki link, downscaled librex related images --- engines/google/image.php | 28 +++++-------------- engines/google/image_proxy.php | 11 ++++++++ engines/google/text.php | 5 +++- engines/special/wikipedia.php | 8 +++--- favicon.ico | Bin 0 -> 1659 bytes misc/header.php | 1 - search.php | 2 +- static/css/dark.css | 4 +-- static/css/discord.css | 4 +-- static/css/light.css | 4 +-- static/css/night_owl.css | 4 +-- static/css/nord.css | 4 +-- static/css/styles.css | 45 +++++++++++++++---------------- static/images/btc.png | Bin 1297 -> 1119 bytes static/images/image_result.png | Bin 5167 -> 907 bytes static/images/librex.png | Bin 5767 -> 1659 bytes static/images/text_result.png | Bin 4687 -> 425 bytes static/images/torrent_result.png | Bin 4552 -> 524 bytes static/images/video_result.png | Bin 6043 -> 1783 bytes static/images/xmr.png | Bin 2202 -> 514 bytes 20 files changed, 52 insertions(+), 68 deletions(-) create mode 100644 engines/google/image_proxy.php create mode 100644 favicon.ico diff --git a/engines/google/image.php b/engines/google/image.php index 9bd5e58..a4eae7b 100644 --- a/engines/google/image.php +++ b/engines/google/image.php @@ -15,23 +15,18 @@ $image = $xpath->evaluate(".//img[@data-src]", $result)[0]; $url = $xpath->evaluate(".//a/@href", $result)[0]->textContent; - $url = check_for_privacy_frontend($url); + $url = check_for_privacy_frontend($url); if (!empty($image)) { $alt = $image->getAttribute("alt"); - $src = $image->getAttribute("data-src"); - + $thumbnail = $image->getAttribute("data-src"); + if (!empty($alt)) { - $ch = curl_init($src); - curl_setopt_array($ch, $config->curl_settings); - array_push($chs, $ch); - curl_multi_add_handle($mh, $ch); - array_push($results, array ( - "base64" => "", + "thumbnail" => $thumbnail, "alt" => htmlspecialchars($alt), "url" => htmlspecialchars($url) ) @@ -40,17 +35,6 @@ } } - $running = null; - do { - curl_multi_exec($mh, $running); - } while ($running); - - for ($i=0; count($chs)>$i; $i++) - { - $img_base64 = base64_encode(curl_multi_getcontent($chs[$i])); - $results[$i]["base64"] = $img_base64; - } - return $results; } @@ -60,12 +44,12 @@ foreach($results as $result) { - $src = $result["base64"]; + $thumbnail = $result["thumbnail"]; $alt = $result["alt"]; $url = $result["url"]; echo ""; - echo ""; + echo ""; echo ""; } diff --git a/engines/google/image_proxy.php b/engines/google/image_proxy.php new file mode 100644 index 0000000..0431c22 --- /dev/null +++ b/engines/google/image_proxy.php @@ -0,0 +1,11 @@ + diff --git a/engines/google/text.php b/engines/google/text.php index 772bd64..50c1724 100644 --- a/engines/google/text.php +++ b/engines/google/text.php @@ -142,7 +142,10 @@ echo "

"; if (array_key_exists("image", $special["special_response"])) - echo ""; + { + $image_url = $special["special_response"]["image"]; + echo ""; + } echo $response; echo "$source"; echo "

"; diff --git a/engines/special/wikipedia.php b/engines/special/wikipedia.php index b5fb7a4..7271cd9 100644 --- a/engines/special/wikipedia.php +++ b/engines/special/wikipedia.php @@ -11,7 +11,7 @@ { $description = substr($first_page["extract"], 0, 250) . "..."; - $source = check_for_privacy_frontend("https://wikipedia.org/wiki/$query_encoded"); + $source = check_for_privacy_frontend("https://wikipedia.org/wiki/$query"); $response = array( "special_response" => array( "response" => htmlspecialchars($description), @@ -21,10 +21,8 @@ if (array_key_exists("thumbnail", $first_page)) { - $img_url = $first_page["thumbnail"]["source"]; - $img_src = request($img_url); - $base64_src = base64_encode($img_src); - $response["special_response"]["image"] = $base64_src; + $image_url = $first_page["thumbnail"]["source"]; + $response["special_response"]["image"] = $image_url; } return $response; diff --git a/favicon.ico b/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f1412a917d356f28acf9a48fad0e5c4346027502 GIT binary patch literal 1659 zcmV->288*EP)p`4tzKLTb^zlQ_IpEear>r)LYBK-*YRxNC5n RlvKZ1azbcmo@gW)^s& z(2;XPe{v*He)mGZ+r~%dj z!xeUlAQ~!f43rp~fcF*F1;FY|YpyIqkw82H+^n#^0r9+*Fl9voY_endLMR_l*i)tO z=awOKZvd7ktiOPnmL31QqGw^tHje?10qsRE4lH*a@9I8GRzrbxz*$8vKRj#M=DtXz zF_vxaF3gVMP#Oko%s3rql|Js}gcQ68T%)kJB8|2EmByTN^!H=emw&wDV0~Tf(XM=7 z@}?oU9hefb#!JLfU{Pt~p5Fj0P*?|nW-A%XcYl8mI&$>b7zE!^d`iE+^kjWq?W%4= z&hbV`_!_t{WMzS=mTm6p)wq|+jzG#iz~vz;2i$4d=0}yd66rB9ZnVu`fjNbac2*o% z>pIzyJw4;ImcIp3u2jGSSe46*k0ZU5iwk2X(4w#|0l6xj@~XPK|CABC3wT6f?U90| zlb?voNCUhz5tG1+1fd+(148m(*P-jx1CC-2I0?*bN|^ulehlq-4D9NwUj3yl^>wwM zm5{$(3G6N`y*leSaHD0LKmBjkP35YD^xp&S56@4)Jj*uMl{N`QK(6D>0Nz$a)aM9e zqLqkwovwWd*re$D2Zk@FH!P^hm(q4b%31PV;2l+@BmKpl;Ee{}RKWWggk37U$h?6C zIOi5Zd2GmP2POzZ?vcLO4op_0K2t2)%$!NPktwKJws``06!<4(4FT3mUn~M9DQ4fQXn}$6E-z-pjsyC1FC7ZML6jdyy;YOCei<4|{RxaRIaX0xyyPn-VprfVsdg z-CX7aPdD1;{=T*s$xS88HV*>{imTYCwO7QAP334Sk^tS7oB*tD`ZrEy{RtXim%Z|* z0nOblrGYiBy#a5zPxvvqcGSY=qC#fYO$ zV-hJ}0KQY$vm{K5G{AJK-H^zYs818Du%R#qR0Xi(zq9x zrLcAj!K)<{9d;Ac4#TPsmU`Lh$N_X6?=m0-gqL6^g=BVP!t5w%5|Ath_A0C?Am>L4 zVA}C&3i;moiq*!mjY;!|QlHt7G~0pM6mJCxV43T9*G2}QfER#U71nk`h;?WB+`{p- zmlW18V1wJ{on7$&UB{aQJf*M>1I-PIc)l;smr}NXa&zfAe3qu2oTylU8OOVT-~eP? zvD&aL+dS0QHky((*+PQ-r@~$!P#0haJiuKoUbTcZz{Lvtt$a>wDOX#TZ5}8TB*F=J z3|Q-?iVLs<9-v{61g0vi{X(#0;=*`&zb6umr8^bQXe6y}>XcD201F4dmnoKN9l+y_ z3G>f#w`m1qX*2MWrLsqd&TJw z2J% literal 0 HcmV?d00001 diff --git a/misc/header.php b/misc/header.php index aa05de9..96a64f4 100644 --- a/misc/header.php +++ b/misc/header.php @@ -7,7 +7,6 @@ -
- + diff --git a/static/css/dark.css b/static/css/dark.css index 3505b37..5d6f68e 100644 --- a/static/css/dark.css +++ b/static/css/dark.css @@ -2,8 +2,6 @@ --main-bg: #202124; --main-fg: #e8eaed; - --alt-fg: #bd93f9; - --result-link-fg: #8ab4f8; --result-fg: #999da2; @@ -13,4 +11,4 @@ --footer-fg: #999da2; --footer-bg: #171717; -} \ No newline at end of file +} diff --git a/static/css/discord.css b/static/css/discord.css index db2ad07..70283dd 100644 --- a/static/css/discord.css +++ b/static/css/discord.css @@ -2,8 +2,6 @@ --main-bg: #2f3136; --main-fg: #dcddde; - --alt-fg: #bd93f9; - --result-link-fg: #747ff4; --result-fg: #dcddde; @@ -13,4 +11,4 @@ --footer-fg: #dcddde; --footer-bg: #36393f; -} \ No newline at end of file +} diff --git a/static/css/light.css b/static/css/light.css index 2bbf8b4..65733d4 100644 --- a/static/css/light.css +++ b/static/css/light.css @@ -2,8 +2,6 @@ --main-bg: #fff; --main-fg: #202124; - --alt-fg: #bd93f9; - --result-link-fg: #1a0dab; --result-fg: #70757a; @@ -13,4 +11,4 @@ --footer-fg: #70757a; --footer-bg: #f2f2f2; -} \ No newline at end of file +} diff --git a/static/css/night_owl.css b/static/css/night_owl.css index 5cddd9f..e054a6c 100644 --- a/static/css/night_owl.css +++ b/static/css/night_owl.css @@ -2,8 +2,6 @@ --main-bg: #011627; --main-fg: #d6deeb; - --alt-fg: #bd93f9; - --result-link-fg: #5f7e97; --result-fg: #d6deeb; @@ -13,4 +11,4 @@ --footer-fg: #d6deeb; --footer-bg: #011627; -} \ No newline at end of file +} diff --git a/static/css/nord.css b/static/css/nord.css index 83d0feb..d24c1c4 100644 --- a/static/css/nord.css +++ b/static/css/nord.css @@ -2,8 +2,6 @@ --main-bg: #3B4252; --main-fg: #E5E9F0; - --alt-fg: #bd93f9; - --result-link-fg: #88C0D0; --result-fg: #D8DEE9; @@ -13,4 +11,4 @@ --footer-fg: #D8DEE9; --footer-bg: #2E3440; -} \ No newline at end of file +} diff --git a/static/css/styles.css b/static/css/styles.css index b6a63a1..c712650 100644 --- a/static/css/styles.css +++ b/static/css/styles.css @@ -24,8 +24,11 @@ a, text-decoration: none; } -.text-result-wrapper a:visited h2 { - color: var(--alt-fg); +.text-result-wrapper a:visited h2, +.special-result-container a, +.sub-search-button-wrapper button +{ + color: #bd93f9; } a:hover, .text-result-wrapper h2:hover { @@ -106,7 +109,6 @@ a:hover, .text-result-wrapper h2:hover { .sub-search-button-wrapper button { border: none; background-color: inherit; - color: var(--alt-fg); font-size: 18px; margin-right: 25px; } @@ -187,7 +189,6 @@ a:hover, .text-result-wrapper h2:hover { .special-result-container a { display: flex; margin-top: 10px; - color: var(--alt-fg); font-size:14px; } @@ -229,9 +230,7 @@ a:hover, .text-result-wrapper h2:hover { } .image-result-container img { - border: 1px solid var(--button-bg); - width: 350px; - height: 200px; + border: 2px solid var(--button-bg); margin: 10px; } @@ -269,6 +268,22 @@ a:hover, .text-result-wrapper h2:hover { margin-right: 15px; } +.hide { + display: none; +} + +.X { + color: #bd93f9; +} + +.seeders { + color: #50fa7b; +} + +.leechers { + color: #ff79c6; +} + /* mobile view */ @media only screen and (max-width: 900px) { .search-container input { @@ -346,19 +361,3 @@ a:hover, .text-result-wrapper h2:hover { font-size: 55px; } } - -.hide { - display: none; -} - -.X { - color: #bd93f9; -} - -.seeders { - color: #50fa7b; -} - -.leechers { - color: #ff79c6; -} diff --git a/static/images/btc.png b/static/images/btc.png index d91873bf0ba4f3d09a81d1c9cae1c449b8916dda..3d0b29ddd633228a38b1bc3bafe351b474768c6d 100644 GIT binary patch literal 1119 zcmY*Z4NOy46mGzY!H{lQLY5lwC;TiUC_gJIt;8P)5QHw!Nf;LDOrU}G5kYt>EkiKU zbc(PxDuZ^_#63a{1?gy&=aX#&-D9jpsTTV7D9H##=xZYlJS~InJs`5(oRhj#s3s7DaoTSwk-RdSulYabGk_VN6BCIqkC+9hc#QUVVyTUL36og- zbL*wrLEg%vmdSR-7P!9%le%6Hddv04AP31QINQ~++(zfHL`p(zDOo|MWgmfWMz7&uCUSz zp%Yi@yw&CVdUSH=DR<07bD|1C0F2Wa{W8kx$;M5cZ*W1!5&4Gq&B)`6CPdJXkJR*M zkaZRM>=l-1HKqJQL}}4h1Q%W@BR|KIc;a~?|GVq&>8Z+nC6OI}04BOkHz$g(IU5f4 zB`~*W5P=v!IH%@?(UUA?dr9YOBD4ln7~Fxxx$~y<4W{O6uxYJPcX6b0)D)|5IrnXc zEH)EFf9JwIH7v+^VnAKSy8)Ij9y_=p^Q^`l#eNjjxnKf$m$ckUQC0fe7~PEorZG+x zLh<#h3E)iGq6>uPHL^HH+dynHaqI`=UfwE0#~$DjL!iAurn|ju)(mtm991LB9-u%S z+XwazBvVj7pz>+sPL5OJ_;Ez_&a<}{(GJiYoTSd%xT!D(rM$-HCOOXJ<|^ zsG`V>7y~i1UXfQY38mOg(eO|`mK|!0qg7QsQvpBA7w^Kc*VQ=zkD;&|9A=}NxFVT= zsD}bJgI71z#noW%GRnNobf%kz7C`puH;YDlQSC2LgR3hmCsJ3R-XRM-=8=txJ0R^d zVvv7scEpM-w&ar^krspYoD>|2D=pfnyH-~%mesxdXR(u8@dml&fGdt-9ov1gt^=@& z^B}2Q=s_V5D;L>Ar%bn~Due?QANL;eu*dmMw;)>%hLqB>(_YalVfc!&>q+jk09$;{ wlRtAuU7ZT2&QCARG!riD>-Rm@#;x`59_)TRQ~Mk}MSUEMtn}P8!zp3YzdtQiW&i*H literal 1297 zcmZ8he^8QV9H-s9RU2;2b~a1zmg_v5+ucr$b*OC3mCO^`k{BiEU4)Z{EZ;zpy}5Qb zm#fYVm*tNaSF;&ebQcH$3b*C0SORN^mal*=lPh>(Ve*P^DMU)&_idA+%D`sR0eDT*C;y2Oi*=jV$&cW%rw^BgE=uJXt4nY_7%nd4t1r#p-Y zHFkF9N$C6GPm9t{ga#3(`OO5ZUTt71{d{(QtV%6TjjGn0cjYdl;-LdUQP)hpzQup3 zcXtI-jVJ@{Y%t9HU)1nJoxW|asmvwz=vt!O^MukO9;w=!SLIbtvV5XYH=&F+PlQkF z3kB|9upeZh`ByXxRj!3lG>v2X>9sh>WjPFw(%DdHzTs4zm+CM~QCYKi7i8;`sNb$( z)xy|*FLx^@O$_lD)AJ`|Ro0WCfjpxxf@Z8iM|1@%b1?wsCw zs{v5yOR}qbavU5ii%17g&&{1ft6U|0n5WWijxsV#ZZ~$`wIss7%;GgYIP4R_@Mpe( zecza|){O*!;frw4pM<(!ki);c)WfWNyVcwWNhLK2I`@Hm20>4sfNqlvA&i;Gkl$?GL)l57z%PM8^j^Tf z0dmVW&g3Ke`d+u1!8I?9|T;9@ERmb1&-HlDgG8sk8_bNS1^U_bxi33GIEh+ zAUKM-OFFGNRK>W8f^b-Q(jgny9M?deniqseTPkq*8j7lCU;pe)W3#c;=`b zu1S7sUR<=(ZJQ)D?aodRJHdw1J+-xn^<=G2B%{SW^|ljMYK0(BZi#Be%ih4q=Q^;+%lf3#i^mA8@=#r< z&hNK6`v95*MvT3lYgw7q8F4=JUh$34hXgV4;Ztr@4NS^^SZl;*9Ett`qfouA;;VlE D8`!I+ diff --git a/static/images/image_result.png b/static/images/image_result.png index 0fb8bfa5864ab9d20675efb608baeb8c11bfbe80..ef76284da8e0e155f52959e0ac8d3fe7c4c14247 100644 GIT binary patch delta 11 ScmZ3l(akK^YVjM5T-^p!fojIv~`F)=H%n=t)3@HT~mS?LV_ta_>E7fBXBs zefBvkH(Rnibh^_UP7nl57YRecz;&MW>u3*t>v}iI!KFSWBH9#&T8MgsPKm2AqG_ET zBVx(85`vPiYa}3*G&VQHn*}I*-n(viucx^7nWZyjS+x^~_4{Nd; zJ*5dv_K}h5Il`o4x7{B-_$*$pFDuy^u(+W5&cW8ZOZxOqPg>sgadnSL-`SsGxZ4=) z<-gZ|*2*K9`I*jpT%7Hi+Ad15lZRp5;Ecp&?LSVmiCcWpv;fguGZFXkcUF^=5 zL4BFo*By)Jt@4l@-x<2kxy~~wzrxo|xH0F+%CI&^x1|t7$iRbxC8FTqXAOZiK1nU$ z3(p43ua6DiN7_Ck$vN@7#9U7F={g|w3fd%De5^0d(Cf;;g<PZ<(H{p?OoZY=&7cGCQPOX(rs}8Dx zNOJ`e^ag1q670hGpU|I_DL->-IgVU0#bX_&nr3 z+$nPP+;Hb)*TXk^_BPsG+EQHfvtQ!2=(m%OG}o3Y*4BmBA<`D_*z+l+hK{aM>Dp5B zis3W*HL)?>ye4USC*Ns@95&Yo3y!v> zcC@!#yK!2za%c$h?=Tde`eDZbV7wt57%W=+E>Eu0P*8`OuN975a zi73NVxRy`quR2X4;tD<~iYbQ0`d};`7p54n@Ra2d@{|NQS3z3h@8p-v0|Xk(gc6fA zYORr%%qQ7+dEnkUOeGO*5K{u56fKqzgLMXs$e=JNFj#X_g(3@R$Z<#MSojY^}D0fKB?r!}F;WUbM|N-@e2f*IuoTyMg4 zTB4N`mFdhTK8Xb8iO=fO=*8ma^jhPX3P2BPGODK{6qu^fP{&6YO@bsqGFH$ZMi?W& zKBb0XMxEIp#{@~3*5omsLLq-1uQwaiwssV9DyGIX0BQtTkqIe7MPkYG2&)7tT%)%| z0kJ0_O}O%fSQBcq&e+-+UkC_)&N~79talq2pu}Qch)!;{mM03~ldSo93Y{ER@NBm% zE=J?h=p3?=t5lE~N;aL0A~F_PNyAWB#*lGYGGrW;NNY5qS~+H=0^}4N@Nnf^4g;1W zWEMw82NVdMEQ8rxvQmb~l`u`tg=vg&6e|oka3!i9UzL?g0jN+Ig<+V*CM!?|OlHtv zgv`Yd8CjuZF*$OX0>Nl98@%H&Jdx~sre*pNknU;&E7=6(M1vBMu1pnb^Ms;!?DECr_n8- z#%)tXqRqBER6d%-h$dkQTOtrQIwg-swJHqk?=eF?8^`}(v1m*NO|E33WCn}NCNt_(q1XZv5j zJjJ=GT*c_!x>3JguZ}noT(JmaL*m(36)ZrMOcE7g>(aq24Gc>C%=8Kt7?abjQD+2Z{}(>mwU zziM2l+jh^hr6v4d^hc@xXfPILX?^ykhaB5zHeX&K@I5F$tPK>VuKw`=LVtYtdrs31 zOrTV$u0%#j&*c)>r;4Yi_b%VtzGb%96?!tXVajgRo`X+r-w{fL*QVA?C4Lgmp2gcO zaGJg0y~O|B`+WDM@WhV;@;lU9*PpmNGA(EOTVvlJ>8&c_c}R!(<)%sTPHx}Y6FNW5tmyfB=dRVwssV!Iq^sf1 zqPqRQwVatm?t(XXx&+-aM$FZZ?2Zz&^fMA(n&)Cq z!hfWW=LJU+KNnmy_n(+^-&d28{cYo%bfW39dd2a}+5=xfbycT_UDlM-mX1`1Cm_WB zhPyST1=uH(ofUZMytOT7E|wkZZaPH!Ixh`9k_+X6_r;#3@1m%KU%N(_eo`I^yIitvkLhoZ#}Ljx&|*Ot2~zP z;LoXK&1lMjx2@^EQrO0OD<>#DMoi-#&%Kc7^>pb?Nf8XK_F3^$cSX_DeEr&@%XbR* z&)$5*e3ha^!^Tb^F&Xk%ISeeln`;i(T(H~jR#z10P5I7lQ|9&$J+ GF8z1mcBv%* diff --git a/static/images/librex.png b/static/images/librex.png index 3bc670c65046ada4a1193c7ae42a9f685bef9df3..f1412a917d356f28acf9a48fad0e5c4346027502 100644 GIT binary patch delta 11 ScmZqI{mnB$d9%Ji1RDSvumisU literal 5767 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 RTlFsl_;{}MsCJJ`{txd>>Rtc< diff --git a/static/images/text_result.png b/static/images/text_result.png index 1462af9f8d46f8d1bbbb213c8f2b6ff63ecd6d28..742fd89bd4e8fb00ef1e5e2e53ec3d29bf90aa2f 100644 GIT binary patch delta 11 ScmX@FvXXg%^5&BQZHxdN0|aIO literal 4687 zcmeHKZB!Fi8cqNK5sG?nv8`RlVO0<(nM}SXgs&u+sKE%tLQ5r+$s~-B50eQ5tlJ}s zVs%+RSFjb`bOa@U5Ih=Mg zT}VMpiGzYD4{c_#JndH9^@v6^w9oQ(rQw%FcO~gJ)SbI-M!%dfec{GaA(mGn|F!cW z`v9>jU{f@5Xp3ovewHwBdq?~FDpT5mUr8F;*ahQF(+_WxUzzx{1^+Rqk6!()N__;n zDqFal-=&Cs>0VVuc+a#fMa8+buJ3LY)MmIp+W*(@8L@lKgv#ICDl2jSr@GnLcKyQ# z#2+r4JqNqOPc@D`s=au=DG`ot{M(WV)y9dkvnORcg7a2|yrwe=_!TS`dljuv=rjt& z03|@=-Q^qQ>c-?LO?jEM@YWZKVsC8tJ)RRasq0Vr*wk`eeBCz&XIHdlrmc_R@SCeP|1s)V<$-0ry`|ANb2?j|NP}A&npiv43C-b`XM7ITT&s(? z@c0a|Xp{bi>jrN#N8NYU-E>oYLA7m6&5I&_SIG_ZgX|td?aG{UtrdIM?tXty=7|jt zvcGO<%GuYN-CfgHe!Ahr!Sn9zjcVhBc^jbAln5%z5Rph`?#j>^Yanf$(5GK2k;&`kM z;5`;AA<5$)$O4LijFg48$>BToCt-*-$>CRpT2$*$Q2DgF)JbKQre~3*1*FsjCnbg@ zcyItL6 zW;{cg)(-)G$>Ds4ao}8Tad9!Hn9s30EnJ>dD&?XW7sC(`fw)R+4B0M&l{ak3IU22QFvBZ> zg|<3;SwQSzkqm8qCf2apyfZ#JLkj`vgSf+@2e|u!L6laDEA6D)Tb@QKhrR3LCOb)+ zaNna5C8T1p)Qm{Q5+Nd>cv3`aM)`=8Bq*~)D3ppRY6z6Z=3)pNNqM0FIEMx}Qjt-F z@<=|yH-!SNKGMh;^f^x256 zkYLOpK@QKSZEnxAi7eVmWio_UO`b>~6!XL)DTWI8LZReY&?3s|0#5W|@=y-nkLzs< z4#)su39nB9fG-1Z!4*!5VC>E;yS-2jdrN}6nLc|%3I3+2X%~nn@jAZW^O@9A|1bX* zD5QN;5ahEhPLTdZTtpG&mlNdqr^tN5W}(3T?l;uHIQ=utGD~=vM2J#|L`0&9KthTU zDM3mRApw-<2}BZ;z_0Kiy31~6iU}u`VgXD68(<(G8z|N%Wt@-nV03Xl<<$uVdmF_N z49&tYoG-$Kf_RjNqbSUM{uEJCY$l|@!x%;h5CO^q<~B-<2qhK~7$%_1VxhlNgGK*O z6a`s45iXG6JZw0{1g`hs8fa<)_a|-l2MjssfHeLwaDsvZnLBtQ_iF~~eV(6wyFJe( zAZT=v5$QWB*Qi`0QeZ^EqwX4&YeWi+D0tLe|2Mh9p1spiHtx$m#rVnZPZ1rKKV{s*(BxsvDe!7I^x6hbw?{)7MZI4YRE->L}(G`=vqTlYDDbP zNpA+#SG0z4kl-cVo90Gn3XMNb7teh7>#ve-cPuNX@EGF~l$q7N?Ec4_dH)QkPnHG5 zk27^F{m2k|=w8UR<%^@jYZH)9u^qD=cgk99m5H&7ezAm=F=gKv1^wH}oXAI|fmIu~ zT)wKYPZy0hT&c1~rtQ3*oEI85ee9!lY)3F>kqxPN9%hH)fa*< z23<&C5cKPfBtd&e8iJv+z6J_-0{dwbflAhG3aqPGU%CIimJ`XlaMi+w_t{@VUrxF^aYFCp{G7Jd;EQT(jouIs z-^^%hZG@VohB)|c+<9jSc3P8NlW=>FzO8foiQhfkYOFVoWH*4-WBn^#g>{%vgaUZ2TP+$SMEHYwL9U(v diff --git a/static/images/torrent_result.png b/static/images/torrent_result.png index 47b6eafe184cd2fe073d472cd0e928d66b3a4657..d4a7e962de3cd98449393947300dc377cb61e8bc 100644 GIT binary patch delta 11 ScmX@1+`}?KdGme#my7@$$^^Oq literal 4552 zcmeHKYfuzd7H)`&;-VA~pQUzMi~;SLp7%orw3MPuED=3J2dw7Vo`D4}QA5+!S-S?dH z-E+S4-CKP(s3VuSxz2EfAjnM_9uf`i)4?@s{5bHx%3hZaZZ(;)@k}&sgUuFNM;S<% zSz{()(oX3h$bQSHZge}1jqlSJY)YB^W0y3tFyi*kyHjUI*BYaoCvlFYG}{$(%rjxH z%`1O69KAJgyYNAnQ1-IEM606{Q;%G9>UKXHW+<+{>d{ng?VD!r_{Wpl@Xikm-!*vm z{pbAp6OV7CK8_!gIE{BS2XAqq6j~& z_WC?3CUi@L%L1>}XVp6vt}l>&@_vE(gDb98@{$wJCT|yd`*1eprky%fUb{bUOd7Os%A)v=l;wO;i%(0*{*EH9R zoW8QExRTPxTZ1O-?5$nxAC^;=yfeX8+DX(=WzZ>oa|GS{omeu^{s`*SKU2w4ny0iUJ-v5LUf1#7=8A;frkuRsl*8dSfAQ~p z^suz?q%HAjuTxl*rMPohtP*H$1_iVguUaN2Xd?&L(i)OuH=2RyAjmJkZpMi;l7Tg( zo-!$r&f_N$n9?ec6(SX;G6$2XRCuO^jLD3QB{I_pnHCA~clEQ&0f3QYaM*4%n5=TU z0&(EV!81F|MPP>ulcqr8Rcbhxwve!pBjjLcsGZ8-BmS2qCS6g)%b~ZGu@$TtlZb z3IqXmcql)kS*03=H(3W+0DN%mxS7l2U|ge-J2Jw`gk}Jc!GwM@!Ws*fC^wq4(&-k0 z49y@-%-oR>T4FffoNh5V%Fz;B(m)!4s};=3duz%iN|kyzf~7!D8O@F;K=xan45fQR z)?2x;7DqWF69M7FxNmt6)$VWxUMiJ5geKD2^pqhAgq>fmr3p$acRUgTolq;0VyIXq z;G;s46reJmPJ(FgYaLKpLLNq2j5uf~WyJL)*KE=|3@qXDK($hV@HyC<5w!tlbRa;1ETc^6_BV!D z%1FjAILjtaEEGuu5~)mrVNwZS^u}p9X|Vz&vY0%KBN)JC+ad?W0Ag`grvSha0cw#4 zTS%OtEwMChP#|ndFdONRH|#gilyJ%lJl3#^AJlvdxq9GjU)P65NCle`nZ zqjZhZ^-c`Dlk=#$M(KJd2HweeR9*i!x?JBJct{iY3bKLYOilZj?9qIjX6cd;s2VDS zUiiX`&V!K&=I{h71Woj0FDGbw=`=9t!YEatF87?Ly+2Lny<&13IPYFoh6Kij*Hv!| zTskw*t1erxNLN=mMpU)+hFAXc*b3zH=jw`vq=3Z%`3+H??fc4imREG_R_{_*q(uF( za-UPxwHc}#stkQr{LC%4_aDD`A+P$xx_bKFtER8lU{0P;)t`EKWv-XIJIg| zx0ikLzqrsLmlNA+8grqQmA#S9X=9fjLh7c(g*Bz`Im9s)2hI4WqV%{wbbFH~JBIk8 z>qh;2s&bVx7I_J7rL&}P`3C;cJk zW?OsD-T<#h8+JWE^KJCTwb{2~ital{2*yF(SH5`~+BBQr-LUuX89prrV*P|Mmt4Cp zdha;6y+5#sN*1~2_9pFFdi|#ezgd@DWj!YAVMTgv=j^71X_|cBc@rB04)cq%kTY}E zpJ{#)w0TaexpC8rWpMo3)~@Eb@+aR+f02H5=Y7>n5C5AV|KZ}^*Gb9exi2?dz1m+n zow=LfUbSbcuA^`(;nAz@KK-m`R(8MO)@ltMm)CcoxW@DD#Oy-1tlT>vue@kl(&pln zntiC_RrCs|_iK6iL`%`3&r-U-on2i};nPg^=_`)z_%LbgWRE0|8%IjMEcmM;g+M%8 dy~FT+=RBy)FL(d7*P!E&GBh&eKu}8Ve*q(&w9)_o diff --git a/static/images/video_result.png b/static/images/video_result.png index 178f6349c73d923d7c8af4c4a441d986ddf87e11..0d3b4c99ea9eadc4a5bd2e359e8361d8eb426867 100644 GIT binary patch delta 11 ScmbQO|DAV&^5)|LSJ(g^+yv$T literal 6043 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 IT)8Rw-$J8KWB>pF diff --git a/static/images/xmr.png b/static/images/xmr.png index 06f35b1c623e23e09e492b404d60bf62d39c90cb..181e1d6b2ccc08771459bf460ff7a1eddb6a01a4 100644 GIT binary patch literal 514 zcmV+d0{#7oP)jvEamfQgQ6|B+3&-!s<-03%)^w1Oqs`>M3 z{TnW+daA0s-(t!j$7|k?{Nyd)8j$3w(sb9nXAM-vIoKhwf1b1F%SE>;&xvFESZGV`tH1b_P!dVRTP(_IJoY6|TZFQL}vCB--K&JY57`RR=} z#D!{``@X7Bl%u33*;n6Wr-B?qazV47{FP2}-#o`7Eb7|P1v$S-KH3^et~$yGy^^2z zfvPyTB&Xcau2X{jsqT9jPMTTB0`P0x`(*eY)VsUVXeTGfk&+GDEn(%G@E zUPZaP4T`$bI6Z_o5tZZeW6|F#$nB?%s0fHhW#3M5s+w8F0`>?XMLEu~{)%lotR&xw zj)vbC;l~d{ytSPScOu5#b4zhg5xQ=yvb|Q2BP;67W#QD!zE6y+KS`+_N^c$u@v~MM zgRT41??T*jmm3_0Dt*^Wi0_z4ZP@#?pE>SX#s0MOk;jZA_uNi6+5tdY*HL~IKF<26 z(%k1(>ruMCnc_REII69P?j%3gnA$&@aF0py|NZ}gFC3-aIn$H;v;Y7A07*qoM6N<$ Ef;GqhwEzGB literal 2202 zcmV;L2xa$2Nk%w1VYC3W0FeLy00030|Nj6000000A^8LW00062EC2ui0JH$K00092 zjE||y?GK}zwAzca-n{z{hT=$;=82~2%C_zc$MQ_q_KoKi!1w+S3^IJf9)fs4DwF{x z^B9a4dC;iUO1Wx;(P(MyHh}cm?R! z$LEH)s3?cFby#RP;U!_o_=6^y*trN9$N5>=2Z3o?+Qk((%DU(I+S)WJ`ba8!NQgV; zSi6~*`KQ{LdRg3X`jG6}I~@D`t0$}%y>nbE1)S~RxSW~Gd#wz+J-bUC4pd!^Esp*k z?2b&nYHrI-udZF+e*W!T##=v4z)%sRJ}?RXO7#KOZG#|!-U-rp*VF9iqr0j2}fdp^Yg%2H%ov)o2libs+hdZI)Fg z4M#z zs_K@G?l>xhRw{)fk4j$F=cux=dMk+Tuf&%3QK2gP4f zB(sPTt6FAaYC9vTrpD8)v|4^EUAcUrXlS)%BHL+>w{dH&px>s;Ww^DrE8w=k!E3B& z+QD`&s_s^sTcDe+>SV$Cz8Wi}Paa9=!I*XlDv1MsAa14drka+NyL#I#2pKPWF3Bz` zTrtB;0xK)7%7U9Gr*7K2va`h=dogHalIyU`*Y*ug6^V#gqAqS1; z(KKkBo6iYTd9{N5HrfK!(BW+8)^^&ggV$Pv4dj>-$N20EW;-2q+G1<^G6`>64c5Yk z!mMt)ZOfVO(=L9TtKe{J9Qearqf58Wg%8am;YnhBaNa5Z?_K$XrC!c~*PPPIw;)O5o0#Fxo#2*@D{@r{n69SZ+wL(hRQf?B-Z z(I^9JGNB$DH$N*jGmrFRp`J#lxk|q5k%SDS-U4O7EVk2J)HG%<6L`-kmQr?3lwJ}C z7_oEeEOCeIClqBENAr~@ULM5TDgVhgUaD#Tp@_tvKNZ?B?nQEGwwx9_YZ=j0<`R^# zyy&k6YD$r+bbT0=XgZnc9Mlo?m*sru2kCgl;>a|VI=x>#Z~D>?p7enB94ezSDNi}l zG+E0EBP|h%OCdV=^=KL~2&_vUQ9Y~dY6eG`pxVr?dV}}V6yox!4n<;A z#cDC6CUdF`{cVBen%2kec7X;%rfd())%q&aa82B=V=21U$pZGc9cD02X^LOPy3wE= z^>AvtJ6{oNGP>ZcUtzm?JG*MwixR}Jj8#cv`k8pIF!ixwfoxwP|51_I+^P=Exlbbp zmcR?vD35QP(9QyC$2N`cjAskc;hJd5`HXBhSKCR*3OK^>9qD%wcH;4p*@8`8rFH2^ zUy$aPfD?Y9mGSpuB9nNvgZ1xgpIiL4nR1xW=xpEoz8X1vK6#xvuC$*oy=5@t>B>IL zs(X*@-Ni2Oco*d%RWrNk@^<>d54Ip@>ndqLubODBejSKId)7E#5Xw&GkFS3X>|hIf c*u*Zjv5$@HWGj2w%x<=`pAGG3)29FcJHuOG4gdfE