atlas-browser 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/FUNDING.yml +1 -0
- package/.github/ISSUE_TEMPLATE/bug_report.md +26 -0
- package/.github/ISSUE_TEMPLATE/feature_request.md +16 -0
- package/CONTRIBUTING.md +63 -0
- package/LICENSE +21 -0
- package/PRIVACY.md +37 -0
- package/README.md +163 -0
- package/SECURITY.md +29 -0
- package/assets/logo.png +0 -0
- package/bin/cli.js +142 -0
- package/dist-electron/main/blocker.js +109 -0
- package/dist-electron/main/blocker.js.map +1 -0
- package/dist-electron/main/bookmark-manager.js +121 -0
- package/dist-electron/main/bookmark-manager.js.map +1 -0
- package/dist-electron/main/download-manager.js +118 -0
- package/dist-electron/main/download-manager.js.map +1 -0
- package/dist-electron/main/index.js +116 -0
- package/dist-electron/main/index.js.map +1 -0
- package/dist-electron/main/ipc-handlers.js +303 -0
- package/dist-electron/main/ipc-handlers.js.map +1 -0
- package/dist-electron/main/menu.js +229 -0
- package/dist-electron/main/menu.js.map +1 -0
- package/dist-electron/main/security-analyzer.js +71 -0
- package/dist-electron/main/security-analyzer.js.map +1 -0
- package/dist-electron/main/settings-manager.js +105 -0
- package/dist-electron/main/settings-manager.js.map +1 -0
- package/dist-electron/main/tab-manager.js +205 -0
- package/dist-electron/main/tab-manager.js.map +1 -0
- package/dist-electron/main/tor-manager.js +59 -0
- package/dist-electron/main/tor-manager.js.map +1 -0
- package/dist-electron/preload/preload.js +73 -0
- package/dist-electron/preload/preload.js.map +1 -0
- package/install.sh +120 -0
- package/package.json +67 -0
- package/src/main/blocker.ts +121 -0
- package/src/main/bookmark-manager.ts +99 -0
- package/src/main/download-manager.ts +103 -0
- package/src/main/index.ts +93 -0
- package/src/main/ipc-handlers.ts +283 -0
- package/src/main/menu.ts +192 -0
- package/src/main/security-analyzer.ts +97 -0
- package/src/main/settings-manager.ts +84 -0
- package/src/main/tab-manager.ts +249 -0
- package/src/main/tor-manager.ts +59 -0
- package/src/preload/preload.ts +85 -0
- package/src/renderer/bookmarks.html +84 -0
- package/src/renderer/browser-ui.js +427 -0
- package/src/renderer/downloads.html +94 -0
- package/src/renderer/history.html +111 -0
- package/src/renderer/index.html +152 -0
- package/src/renderer/internet-map.html +313 -0
- package/src/renderer/network-map.js +131 -0
- package/src/renderer/security-panel.js +13 -0
- package/src/renderer/settings.html +138 -0
- package/src/renderer/styles.css +688 -0
- package/tsconfig.json +18 -0
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.BookmarkManager = void 0;
|
|
37
|
+
const electron_1 = require("electron");
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const path = __importStar(require("path"));
|
|
40
|
+
const STORE_PATH = path.join(electron_1.app.getPath('userData'), 'bookmarks.json');
|
|
41
|
+
function readStore() {
|
|
42
|
+
try {
|
|
43
|
+
return JSON.parse(fs.readFileSync(STORE_PATH, 'utf8'));
|
|
44
|
+
}
|
|
45
|
+
catch {
|
|
46
|
+
return [];
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
function writeStore(data) {
|
|
50
|
+
fs.writeFileSync(STORE_PATH, JSON.stringify(data, null, 2));
|
|
51
|
+
}
|
|
52
|
+
class BookmarkManager {
|
|
53
|
+
getAll() {
|
|
54
|
+
return readStore();
|
|
55
|
+
}
|
|
56
|
+
getByFolder(folder) {
|
|
57
|
+
return this.getAll().filter(b => b.folder === folder);
|
|
58
|
+
}
|
|
59
|
+
getBarBookmarks() {
|
|
60
|
+
return this.getByFolder('bar');
|
|
61
|
+
}
|
|
62
|
+
add(title, url, favicon = '', folder = 'bar') {
|
|
63
|
+
const bookmark = {
|
|
64
|
+
id: Date.now().toString(36) + Math.random().toString(36).slice(2, 6),
|
|
65
|
+
title,
|
|
66
|
+
url,
|
|
67
|
+
favicon,
|
|
68
|
+
folder,
|
|
69
|
+
createdAt: Date.now(),
|
|
70
|
+
};
|
|
71
|
+
const all = this.getAll();
|
|
72
|
+
all.push(bookmark);
|
|
73
|
+
writeStore(all);
|
|
74
|
+
return bookmark;
|
|
75
|
+
}
|
|
76
|
+
remove(id) {
|
|
77
|
+
const all = this.getAll();
|
|
78
|
+
const filtered = all.filter(b => b.id !== id);
|
|
79
|
+
if (filtered.length === all.length)
|
|
80
|
+
return false;
|
|
81
|
+
writeStore(filtered);
|
|
82
|
+
return true;
|
|
83
|
+
}
|
|
84
|
+
update(id, updates) {
|
|
85
|
+
const all = this.getAll();
|
|
86
|
+
const idx = all.findIndex(b => b.id === id);
|
|
87
|
+
if (idx < 0)
|
|
88
|
+
return false;
|
|
89
|
+
all[idx] = { ...all[idx], ...updates };
|
|
90
|
+
writeStore(all);
|
|
91
|
+
return true;
|
|
92
|
+
}
|
|
93
|
+
isBookmarked(url) {
|
|
94
|
+
return this.getAll().some(b => b.url === url);
|
|
95
|
+
}
|
|
96
|
+
findByUrl(url) {
|
|
97
|
+
return this.getAll().find(b => b.url === url);
|
|
98
|
+
}
|
|
99
|
+
getFolders() {
|
|
100
|
+
const folders = new Set(this.getAll().map(b => b.folder));
|
|
101
|
+
return Array.from(folders);
|
|
102
|
+
}
|
|
103
|
+
exportAll() {
|
|
104
|
+
return JSON.stringify(this.getAll(), null, 2);
|
|
105
|
+
}
|
|
106
|
+
importAll(json) {
|
|
107
|
+
const imported = JSON.parse(json);
|
|
108
|
+
const all = this.getAll();
|
|
109
|
+
let count = 0;
|
|
110
|
+
for (const bm of imported) {
|
|
111
|
+
if (!all.some(b => b.url === bm.url)) {
|
|
112
|
+
all.push({ ...bm, id: Date.now().toString(36) + Math.random().toString(36).slice(2, 6) });
|
|
113
|
+
count++;
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
writeStore(all);
|
|
117
|
+
return count;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
exports.BookmarkManager = BookmarkManager;
|
|
121
|
+
//# sourceMappingURL=bookmark-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bookmark-manager.js","sourceRoot":"","sources":["../../src/main/bookmark-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.DownloadManager = void 0;
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const fs = __importStar(require("fs"));
|
|
39
|
+
const electron_1 = require("electron");
|
|
40
|
+
const STORE_PATH = path.join(electron_1.app.getPath('userData'), 'downloads.json');
|
|
41
|
+
function readDL() { try {
|
|
42
|
+
return JSON.parse(fs.readFileSync(STORE_PATH, 'utf8'));
|
|
43
|
+
}
|
|
44
|
+
catch {
|
|
45
|
+
return [];
|
|
46
|
+
} }
|
|
47
|
+
function writeDL(d) { fs.writeFileSync(STORE_PATH, JSON.stringify(d, null, 2)); }
|
|
48
|
+
class DownloadManager {
|
|
49
|
+
activeDownloads = new Map();
|
|
50
|
+
window;
|
|
51
|
+
constructor(window) {
|
|
52
|
+
this.window = window;
|
|
53
|
+
}
|
|
54
|
+
setup(session) {
|
|
55
|
+
session.on('will-download', (_event, item, _webContents) => {
|
|
56
|
+
const id = Date.now().toString(36) + Math.random().toString(36).slice(2, 6);
|
|
57
|
+
const filename = item.getFilename();
|
|
58
|
+
const savePath = path.join(electron_1.app.getPath('downloads'), filename);
|
|
59
|
+
item.setSavePath(savePath);
|
|
60
|
+
this.activeDownloads.set(id, item);
|
|
61
|
+
const record = {
|
|
62
|
+
id,
|
|
63
|
+
filename,
|
|
64
|
+
url: item.getURL(),
|
|
65
|
+
savePath,
|
|
66
|
+
totalBytes: item.getTotalBytes(),
|
|
67
|
+
receivedBytes: 0,
|
|
68
|
+
state: 'progressing',
|
|
69
|
+
startTime: Date.now(),
|
|
70
|
+
};
|
|
71
|
+
// Save to history
|
|
72
|
+
const all = readDL();
|
|
73
|
+
all.unshift(record);
|
|
74
|
+
writeDL(all);
|
|
75
|
+
// Notify renderer
|
|
76
|
+
this.window.webContents.send('download-started', record);
|
|
77
|
+
item.on('updated', (_e, state) => {
|
|
78
|
+
record.receivedBytes = item.getReceivedBytes();
|
|
79
|
+
record.totalBytes = item.getTotalBytes();
|
|
80
|
+
record.state = state === 'progressing' ? 'progressing' : 'interrupted';
|
|
81
|
+
this.updateRecord(record);
|
|
82
|
+
this.window.webContents.send('download-progress', record);
|
|
83
|
+
});
|
|
84
|
+
item.once('done', (_e, state) => {
|
|
85
|
+
record.receivedBytes = item.getReceivedBytes();
|
|
86
|
+
record.state = state === 'completed' ? 'completed' : 'cancelled';
|
|
87
|
+
this.updateRecord(record);
|
|
88
|
+
this.activeDownloads.delete(id);
|
|
89
|
+
this.window.webContents.send('download-done', record);
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
getHistory() {
|
|
94
|
+
return readDL();
|
|
95
|
+
}
|
|
96
|
+
clearHistory() {
|
|
97
|
+
writeDL([]);
|
|
98
|
+
}
|
|
99
|
+
pause(id) {
|
|
100
|
+
this.activeDownloads.get(id)?.pause();
|
|
101
|
+
}
|
|
102
|
+
resume(id) {
|
|
103
|
+
this.activeDownloads.get(id)?.resume();
|
|
104
|
+
}
|
|
105
|
+
cancel(id) {
|
|
106
|
+
this.activeDownloads.get(id)?.cancel();
|
|
107
|
+
}
|
|
108
|
+
updateRecord(record) {
|
|
109
|
+
const all = readDL();
|
|
110
|
+
const idx = all.findIndex(d => d.id === record.id);
|
|
111
|
+
if (idx >= 0) {
|
|
112
|
+
all[idx] = record;
|
|
113
|
+
writeDL(all);
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
exports.DownloadManager = DownloadManager;
|
|
118
|
+
//# sourceMappingURL=download-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"download-manager.js","sourceRoot":"","sources":["../../src/main/download-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
const electron_1 = require("electron");
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const tab_manager_1 = require("./tab-manager");
|
|
39
|
+
const blocker_1 = require("./blocker");
|
|
40
|
+
const security_analyzer_1 = require("./security-analyzer");
|
|
41
|
+
const tor_manager_1 = require("./tor-manager");
|
|
42
|
+
const bookmark_manager_1 = require("./bookmark-manager");
|
|
43
|
+
const download_manager_1 = require("./download-manager");
|
|
44
|
+
const settings_manager_1 = require("./settings-manager");
|
|
45
|
+
const menu_1 = require("./menu");
|
|
46
|
+
const ipc_handlers_1 = require("./ipc-handlers");
|
|
47
|
+
const settingsManager = new settings_manager_1.SettingsManager();
|
|
48
|
+
const SEARCH_ANGEL_URL = settingsManager.get('homepage');
|
|
49
|
+
let mainWindow = null;
|
|
50
|
+
let tabManager = null;
|
|
51
|
+
let blocker = null;
|
|
52
|
+
let securityAnalyzer = null;
|
|
53
|
+
let torManager = null;
|
|
54
|
+
let bookmarkManager = null;
|
|
55
|
+
let downloadManager = null;
|
|
56
|
+
function createWindow() {
|
|
57
|
+
mainWindow = new electron_1.BrowserWindow({
|
|
58
|
+
width: 1400,
|
|
59
|
+
height: 900,
|
|
60
|
+
minWidth: 800,
|
|
61
|
+
minHeight: 600,
|
|
62
|
+
title: 'Atlas Browser',
|
|
63
|
+
titleBarStyle: 'hiddenInset',
|
|
64
|
+
trafficLightPosition: { x: 12, y: 12 },
|
|
65
|
+
backgroundColor: '#0a0a0f',
|
|
66
|
+
webPreferences: {
|
|
67
|
+
preload: path.join(__dirname, '..', 'preload', 'preload.js'),
|
|
68
|
+
nodeIntegration: false,
|
|
69
|
+
contextIsolation: true,
|
|
70
|
+
sandbox: false,
|
|
71
|
+
},
|
|
72
|
+
});
|
|
73
|
+
mainWindow.loadFile(path.join(__dirname, '..', '..', 'src', 'renderer', 'index.html'));
|
|
74
|
+
// Initialize all components
|
|
75
|
+
blocker = new blocker_1.Blocker();
|
|
76
|
+
securityAnalyzer = new security_analyzer_1.SecurityAnalyzer();
|
|
77
|
+
torManager = new tor_manager_1.TorManager();
|
|
78
|
+
bookmarkManager = new bookmark_manager_1.BookmarkManager();
|
|
79
|
+
downloadManager = new download_manager_1.DownloadManager(mainWindow);
|
|
80
|
+
tabManager = new tab_manager_1.TabManager(mainWindow, SEARCH_ANGEL_URL, blocker, securityAnalyzer);
|
|
81
|
+
// Setup
|
|
82
|
+
(0, ipc_handlers_1.setupIpcHandlers)(mainWindow, tabManager, blocker, securityAnalyzer, torManager, bookmarkManager, downloadManager, settingsManager);
|
|
83
|
+
(0, menu_1.setupMenu)(mainWindow, tabManager);
|
|
84
|
+
blocker.setup(electron_1.session.defaultSession);
|
|
85
|
+
downloadManager.setup(electron_1.session.defaultSession);
|
|
86
|
+
// First tab
|
|
87
|
+
mainWindow.webContents.once('did-finish-load', () => {
|
|
88
|
+
tabManager.createTab(SEARCH_ANGEL_URL);
|
|
89
|
+
});
|
|
90
|
+
mainWindow.on('closed', () => {
|
|
91
|
+
mainWindow = null;
|
|
92
|
+
tabManager = null;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
// Privacy flags
|
|
96
|
+
electron_1.app.commandLine.appendSwitch('disable-features', 'SpareRendererForSitePerProcess');
|
|
97
|
+
electron_1.app.commandLine.appendSwitch('disable-client-side-phishing-detection');
|
|
98
|
+
electron_1.app.commandLine.appendSwitch('disable-component-update');
|
|
99
|
+
electron_1.app.whenReady().then(() => {
|
|
100
|
+
electron_1.session.defaultSession.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36');
|
|
101
|
+
electron_1.session.defaultSession.cookies.flushStore();
|
|
102
|
+
createWindow();
|
|
103
|
+
});
|
|
104
|
+
electron_1.app.on('window-all-closed', () => {
|
|
105
|
+
if (settingsManager.get('clearDataOnExit')) {
|
|
106
|
+
electron_1.session.defaultSession.clearStorageData({
|
|
107
|
+
storages: ['cookies', 'localstorage', 'cachestorage'],
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
electron_1.app.quit();
|
|
111
|
+
});
|
|
112
|
+
electron_1.app.on('activate', () => {
|
|
113
|
+
if (electron_1.BrowserWindow.getAllWindows().length === 0)
|
|
114
|
+
createWindow();
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/main/index.ts"],"names":[],"mappings":"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"}
|