Linux vmi284606.contaboserver.net 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Apache/2.4.57 (Ubuntu)
: 167.86.127.34 | : 216.73.217.31
Cant Read [ /etc/named.conf ]
7.2.24-0ubuntu0.18.04.17
root
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
README
+ Create Folder
+ Create File
/
usr /
local /
go /
src /
image /
png /
[ HOME SHELL ]
Name
Size
Permission
Action
testdata
[ DIR ]
drwxr-xr-x
example_test.go
3.6
KB
-rw-r--r--
fuzz.go
957
B
-rw-r--r--
paeth.go
1.73
KB
-rw-r--r--
paeth_test.go
2.2
KB
-rw-r--r--
reader.go
25.4
KB
-rw-r--r--
reader_test.go
21.04
KB
-rw-r--r--
writer.go
14.36
KB
-rw-r--r--
writer_test.go
7.11
KB
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : paeth.go
// Copyright 2012 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package png // intSize is either 32 or 64. const intSize = 32 << (^uint(0) >> 63) func abs(x int) int { // m := -1 if x < 0. m := 0 otherwise. m := x >> (intSize - 1) // In two's complement representation, the negative number // of any number (except the smallest one) can be computed // by flipping all the bits and add 1. This is faster than // code with a branch. // See Hacker's Delight, section 2-4. return (x ^ m) - m } // paeth implements the Paeth filter function, as per the PNG specification. func paeth(a, b, c uint8) uint8 { // This is an optimized version of the sample code in the PNG spec. // For example, the sample code starts with: // p := int(a) + int(b) - int(c) // pa := abs(p - int(a)) // but the optimized form uses fewer arithmetic operations: // pa := int(b) - int(c) // pa = abs(pa) pc := int(c) pa := int(b) - pc pb := int(a) - pc pc = abs(pa + pb) pa = abs(pa) pb = abs(pb) if pa <= pb && pa <= pc { return a } else if pb <= pc { return b } return c } // filterPaeth applies the Paeth filter to the cdat slice. // cdat is the current row's data, pdat is the previous row's data. func filterPaeth(cdat, pdat []byte, bytesPerPixel int) { var a, b, c, pa, pb, pc int for i := 0; i < bytesPerPixel; i++ { a, c = 0, 0 for j := i; j < len(cdat); j += bytesPerPixel { b = int(pdat[j]) pa = b - c pb = a - c pc = abs(pa + pb) pa = abs(pa) pb = abs(pb) if pa <= pb && pa <= pc { // No-op. } else if pb <= pc { a = b } else { a = c } a += int(cdat[j]) a &= 0xff cdat[j] = uint8(a) c = b } } }
Close