Linux v69820.1blu.de 4.15.0 #1 SMP Mon Sep 30 15:36:27 MSK 2024 x86_64
Apache/2.4.58
Server IP : 195.90.215.149 & Your IP : 216.73.217.80
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
nodejs /
@bcoe /
v8-coverage /
dist /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
ascii.d.ts
558
B
-rw-r--r--
2023-12-13 10:07
ascii.js
4.05
KB
-rw-r--r--
2023-12-13 10:07
clone.d.ts
971
B
-rw-r--r--
2023-12-13 10:07
clone.js
1.83
KB
-rw-r--r--
2023-12-13 10:07
compare.d.ts
795
B
-rw-r--r--
2023-12-13 10:07
compare.js
1.18
KB
-rw-r--r--
2023-12-13 10:07
index.d.ts
462
B
-rw-r--r--
2023-12-13 10:07
index.js
2.51
KB
-rw-r--r--
2023-12-13 10:07
merge.d.ts
1.47
KB
-rw-r--r--
2023-12-13 10:07
merge.js
10.27
KB
-rw-r--r--
2023-12-13 10:07
normalize.d.ts
1.62
KB
-rw-r--r--
2023-12-13 10:07
normalize.js
2.71
KB
-rw-r--r--
2023-12-13 10:07
range-tree.d.ts
726
B
-rw-r--r--
2023-12-13 10:07
range-tree.js
4.42
KB
-rw-r--r--
2023-12-13 10:07
types.d.ts
448
B
-rw-r--r--
2023-12-13 10:07
types.js
78
B
-rw-r--r--
2023-12-13 10:07
Save
Rename
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseOffsets = exports.parseFunctionRanges = exports.emitForestLines = exports.emitForest = void 0; const compare_1 = require("./compare"); function emitForest(trees) { return emitForestLines(trees).join("\n"); } exports.emitForest = emitForest; function emitForestLines(trees) { const colMap = getColMap(trees); const header = emitOffsets(colMap); return [header, ...trees.map(tree => emitTree(tree, colMap).join("\n"))]; } exports.emitForestLines = emitForestLines; function getColMap(trees) { const eventSet = new Set(); for (const tree of trees) { const stack = [tree]; while (stack.length > 0) { const cur = stack.pop(); eventSet.add(cur.start); eventSet.add(cur.end); for (const child of cur.children) { stack.push(child); } } } const events = [...eventSet]; events.sort((a, b) => a - b); let maxDigits = 1; for (const event of events) { maxDigits = Math.max(maxDigits, event.toString(10).length); } const colWidth = maxDigits + 3; const colMap = new Map(); for (const [i, event] of events.entries()) { colMap.set(event, i * colWidth); } return colMap; } function emitTree(tree, colMap) { const layers = []; let nextLayer = [tree]; while (nextLayer.length > 0) { const layer = nextLayer; layers.push(layer); nextLayer = []; for (const node of layer) { for (const child of node.children) { nextLayer.push(child); } } } return layers.map(layer => emitTreeLayer(layer, colMap)); } function parseFunctionRanges(text, offsetMap) { const result = []; for (const line of text.split("\n")) { for (const range of parseTreeLayer(line, offsetMap)) { result.push(range); } } result.sort(compare_1.compareRangeCovs); return result; } exports.parseFunctionRanges = parseFunctionRanges; /** * * @param layer Sorted list of disjoint trees. * @param colMap */ function emitTreeLayer(layer, colMap) { const line = []; let curIdx = 0; for (const { start, end, count } of layer) { const startIdx = colMap.get(start); const endIdx = colMap.get(end); if (startIdx > curIdx) { line.push(" ".repeat(startIdx - curIdx)); } line.push(emitRange(count, endIdx - startIdx)); curIdx = endIdx; } return line.join(""); } function parseTreeLayer(text, offsetMap) { const result = []; const regex = /\[(\d+)-*\)/gs; while (true) { const match = regex.exec(text); if (match === null) { break; } const startIdx = match.index; const endIdx = startIdx + match[0].length; const count = parseInt(match[1], 10); const startOffset = offsetMap.get(startIdx); const endOffset = offsetMap.get(endIdx); if (startOffset === undefined || endOffset === undefined) { throw new Error(`Invalid offsets for: ${JSON.stringify(text)}`); } result.push({ startOffset, endOffset, count }); } return result; } function emitRange(count, len) { const rangeStart = `[${count.toString(10)}`; const rangeEnd = ")"; const hyphensLen = len - (rangeStart.length + rangeEnd.length); const hyphens = "-".repeat(Math.max(0, hyphensLen)); return `${rangeStart}${hyphens}${rangeEnd}`; } function emitOffsets(colMap) { let line = ""; for (const [event, col] of colMap) { if (line.length < col) { line += " ".repeat(col - line.length); } line += event.toString(10); } return line; } function parseOffsets(text) { const result = new Map(); const regex = /\d+/gs; while (true) { const match = regex.exec(text); if (match === null) { break; } result.set(match.index, parseInt(match[0], 10)); } return result; } exports.parseOffsets = parseOffsets;