@j0hanz/superfetch 2.2.1 → 2.2.2
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/README.md +363 -614
- package/dist/cache.d.ts +2 -2
- package/dist/cache.d.ts.map +1 -1
- package/dist/cache.js +47 -225
- package/dist/cache.js.map +1 -1
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +20 -27
- package/dist/config.js.map +1 -1
- package/dist/dom-noise-removal.d.ts +6 -0
- package/dist/dom-noise-removal.d.ts.map +1 -0
- package/dist/dom-noise-removal.js +482 -0
- package/dist/dom-noise-removal.js.map +1 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +8 -5
- package/dist/errors.js.map +1 -1
- package/dist/fetch.d.ts.map +1 -1
- package/dist/fetch.js +26 -32
- package/dist/fetch.js.map +1 -1
- package/dist/http-native.d.ts +6 -0
- package/dist/http-native.d.ts.map +1 -0
- package/dist/http-native.js +645 -0
- package/dist/http-native.js.map +1 -0
- package/dist/http-utils.d.ts +61 -0
- package/dist/http-utils.d.ts.map +1 -0
- package/dist/http-utils.js +252 -0
- package/dist/http-utils.js.map +1 -0
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/instructions.md +41 -39
- package/dist/json.d.ts +2 -0
- package/dist/json.d.ts.map +1 -0
- package/dist/json.js +30 -0
- package/dist/json.js.map +1 -0
- package/dist/language-detection.d.ts +13 -0
- package/dist/language-detection.d.ts.map +1 -0
- package/dist/language-detection.js +283 -0
- package/dist/language-detection.js.map +1 -0
- package/dist/markdown-cleanup.d.ts +19 -0
- package/dist/markdown-cleanup.d.ts.map +1 -0
- package/dist/markdown-cleanup.js +283 -0
- package/dist/markdown-cleanup.js.map +1 -0
- package/dist/observability.d.ts +1 -0
- package/dist/observability.d.ts.map +1 -1
- package/dist/observability.js +10 -0
- package/dist/observability.js.map +1 -1
- package/dist/tools.js +4 -4
- package/dist/transform-types.d.ts +81 -0
- package/dist/transform-types.d.ts.map +1 -0
- package/dist/transform-types.js +6 -0
- package/dist/transform-types.js.map +1 -0
- package/dist/transform.d.ts +7 -52
- package/dist/transform.d.ts.map +1 -1
- package/dist/transform.js +411 -839
- package/dist/transform.js.map +1 -1
- package/dist/type-guards.d.ts +1 -1
- package/dist/type-guards.d.ts.map +1 -1
- package/dist/type-guards.js +1 -1
- package/dist/type-guards.js.map +1 -1
- package/dist/workers/transform-worker.js +23 -24
- package/dist/workers/transform-worker.js.map +1 -1
- package/package.json +85 -86
- package/dist/http.d.ts +0 -90
- package/dist/http.d.ts.map +0 -1
- package/dist/http.js +0 -1576
- package/dist/http.js.map +0 -1
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,iBAAiB,CAAC,OAAO,IAAI,EAAE,MAAM,EAAE,CAAC;AAMhE,SAAS,SAAS,CAAC,KAAgD;IACjE,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,QAAQ,GAAG,CAAC;IACzB,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC3C,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAC5B,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;QACtB,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAC;IACtD,OAAO;IACP,MAAM;IACN,MAAM;IACN,OAAO;CACR,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,KAAa;IAC/B,OAAO,kBAAkB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACvC,CAAC;AAED,SAAS,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Remove noise elements from HTML and resolve relative URLs.
|
|
3
|
+
* Used as a preprocessing step before markdown conversion.
|
|
4
|
+
*/
|
|
5
|
+
export declare function removeNoiseFromHtml(html: string, document?: Document, baseUrl?: string): string;
|
|
6
|
+
//# sourceMappingURL=dom-noise-removal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom-noise-removal.d.ts","sourceRoot":"","sources":["../src/dom-noise-removal.ts"],"names":[],"mappings":"AAghBA;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,QAAQ,EACnB,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAgCR"}
|
|
@@ -0,0 +1,482 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* DOM noise removal utilities for cleaning HTML before markdown conversion.
|
|
3
|
+
* Removes navigation, ads, popups, and other non-content elements.
|
|
4
|
+
*/
|
|
5
|
+
import { parseHTML } from 'linkedom';
|
|
6
|
+
import { config } from './config.js';
|
|
7
|
+
import { isObject } from './type-guards.js';
|
|
8
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
9
|
+
// DOM Type Guards and Accessors
|
|
10
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
11
|
+
function isElement(node) {
|
|
12
|
+
return (isObject(node) &&
|
|
13
|
+
'getAttribute' in node &&
|
|
14
|
+
typeof node.getAttribute === 'function');
|
|
15
|
+
}
|
|
16
|
+
function getBodyInnerHtml(document) {
|
|
17
|
+
if (!isObject(document))
|
|
18
|
+
return undefined;
|
|
19
|
+
const { body } = document;
|
|
20
|
+
if (isObject(body) && typeof body.innerHTML === 'string') {
|
|
21
|
+
return body.innerHTML;
|
|
22
|
+
}
|
|
23
|
+
return undefined;
|
|
24
|
+
}
|
|
25
|
+
function getDocumentToString(document) {
|
|
26
|
+
if (!isObject(document))
|
|
27
|
+
return undefined;
|
|
28
|
+
if (typeof document.toString === 'function') {
|
|
29
|
+
return document.toString.bind(document);
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
function getDocumentElementOuterHtml(document) {
|
|
34
|
+
if (!isObject(document))
|
|
35
|
+
return undefined;
|
|
36
|
+
const docEl = document.documentElement;
|
|
37
|
+
if (isObject(docEl) && typeof docEl.outerHTML === 'string') {
|
|
38
|
+
return docEl.outerHTML;
|
|
39
|
+
}
|
|
40
|
+
return undefined;
|
|
41
|
+
}
|
|
42
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
43
|
+
// Noise Detection Constants
|
|
44
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
45
|
+
const STRUCTURAL_TAGS = new Set([
|
|
46
|
+
'script',
|
|
47
|
+
'style',
|
|
48
|
+
'noscript',
|
|
49
|
+
'iframe',
|
|
50
|
+
'form',
|
|
51
|
+
'button',
|
|
52
|
+
'input',
|
|
53
|
+
'select',
|
|
54
|
+
'textarea',
|
|
55
|
+
'svg',
|
|
56
|
+
'canvas',
|
|
57
|
+
]);
|
|
58
|
+
const ALWAYS_NOISE_TAGS = new Set(['nav', 'footer']);
|
|
59
|
+
const NAVIGATION_ROLES = new Set([
|
|
60
|
+
'navigation',
|
|
61
|
+
'banner',
|
|
62
|
+
'complementary',
|
|
63
|
+
'contentinfo',
|
|
64
|
+
'tree',
|
|
65
|
+
'menubar',
|
|
66
|
+
'menu',
|
|
67
|
+
'dialog',
|
|
68
|
+
'alertdialog',
|
|
69
|
+
'search',
|
|
70
|
+
]);
|
|
71
|
+
const INTERACTIVE_CONTENT_ROLES = new Set([
|
|
72
|
+
'tabpanel',
|
|
73
|
+
'tab',
|
|
74
|
+
'tablist',
|
|
75
|
+
'dialog',
|
|
76
|
+
'alertdialog',
|
|
77
|
+
'menu',
|
|
78
|
+
'menuitem',
|
|
79
|
+
'option',
|
|
80
|
+
'listbox',
|
|
81
|
+
'combobox',
|
|
82
|
+
'tooltip',
|
|
83
|
+
'alert',
|
|
84
|
+
]);
|
|
85
|
+
const BASE_PROMO_TOKENS = [
|
|
86
|
+
'banner',
|
|
87
|
+
'promo',
|
|
88
|
+
'announcement',
|
|
89
|
+
'cta',
|
|
90
|
+
'advert',
|
|
91
|
+
'ad',
|
|
92
|
+
'ads',
|
|
93
|
+
'sponsor',
|
|
94
|
+
'newsletter',
|
|
95
|
+
'subscribe',
|
|
96
|
+
'cookie',
|
|
97
|
+
'consent',
|
|
98
|
+
'popup',
|
|
99
|
+
'modal',
|
|
100
|
+
'overlay',
|
|
101
|
+
'toast',
|
|
102
|
+
'share',
|
|
103
|
+
'social',
|
|
104
|
+
'related',
|
|
105
|
+
'recommend',
|
|
106
|
+
'comment',
|
|
107
|
+
'breadcrumb',
|
|
108
|
+
'pagination',
|
|
109
|
+
'pager',
|
|
110
|
+
'taglist',
|
|
111
|
+
];
|
|
112
|
+
/**
|
|
113
|
+
* Get promo tokens merged with any user-configured extra tokens.
|
|
114
|
+
* Memoized because it is used in hot paths when scanning many nodes.
|
|
115
|
+
*/
|
|
116
|
+
let promoTokensCache = null;
|
|
117
|
+
function getPromoTokens() {
|
|
118
|
+
if (promoTokensCache)
|
|
119
|
+
return promoTokensCache;
|
|
120
|
+
const tokens = new Set(BASE_PROMO_TOKENS);
|
|
121
|
+
for (const token of config.noiseRemoval.extraTokens) {
|
|
122
|
+
const normalized = token.toLowerCase().trim();
|
|
123
|
+
if (normalized)
|
|
124
|
+
tokens.add(normalized);
|
|
125
|
+
}
|
|
126
|
+
promoTokensCache = tokens;
|
|
127
|
+
return tokens;
|
|
128
|
+
}
|
|
129
|
+
const HEADER_NOISE_PATTERN = /\b(site-header|masthead|topbar|navbar|nav(?:bar)?|menu|header-nav)\b/i;
|
|
130
|
+
const FIXED_PATTERN = /\b(fixed|sticky)\b/;
|
|
131
|
+
const HIGH_Z_PATTERN = /\bz-(?:4\d|50)\b/;
|
|
132
|
+
const ISOLATE_PATTERN = /\bisolate\b/;
|
|
133
|
+
const HTML_DOCUMENT_MARKERS = /<\s*(?:!doctype|html|head|body)\b/i;
|
|
134
|
+
const NOISE_MARKERS = [
|
|
135
|
+
'<script',
|
|
136
|
+
'<style',
|
|
137
|
+
'<noscript',
|
|
138
|
+
'<iframe',
|
|
139
|
+
'<nav',
|
|
140
|
+
'<footer',
|
|
141
|
+
'<header',
|
|
142
|
+
'<form',
|
|
143
|
+
'<button',
|
|
144
|
+
'<input',
|
|
145
|
+
'<select',
|
|
146
|
+
'<textarea',
|
|
147
|
+
'<svg',
|
|
148
|
+
'<canvas',
|
|
149
|
+
' aria-hidden="true"',
|
|
150
|
+
" aria-hidden='true'",
|
|
151
|
+
' hidden',
|
|
152
|
+
' role="navigation"',
|
|
153
|
+
" role='navigation'",
|
|
154
|
+
' role="banner"',
|
|
155
|
+
" role='banner'",
|
|
156
|
+
' role="complementary"',
|
|
157
|
+
" role='complementary'",
|
|
158
|
+
' role="contentinfo"',
|
|
159
|
+
" role='contentinfo'",
|
|
160
|
+
' role="tree"',
|
|
161
|
+
" role='tree'",
|
|
162
|
+
' role="menubar"',
|
|
163
|
+
" role='menubar'",
|
|
164
|
+
' role="menu"',
|
|
165
|
+
" role='menu'",
|
|
166
|
+
' banner',
|
|
167
|
+
' promo',
|
|
168
|
+
' announcement',
|
|
169
|
+
' cta',
|
|
170
|
+
' advert',
|
|
171
|
+
' newsletter',
|
|
172
|
+
' subscribe',
|
|
173
|
+
' cookie',
|
|
174
|
+
' consent',
|
|
175
|
+
' popup',
|
|
176
|
+
' modal',
|
|
177
|
+
' overlay',
|
|
178
|
+
' toast',
|
|
179
|
+
' fixed',
|
|
180
|
+
' sticky',
|
|
181
|
+
' z-50',
|
|
182
|
+
' z-4',
|
|
183
|
+
' isolate',
|
|
184
|
+
' breadcrumb',
|
|
185
|
+
' pagination',
|
|
186
|
+
];
|
|
187
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
188
|
+
// Noise Detection Functions
|
|
189
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
190
|
+
const NOISE_SCAN_LIMIT = 50_000;
|
|
191
|
+
function mayContainNoise(html) {
|
|
192
|
+
// Fast path: only scan a bounded prefix; parsing is the expensive step anyway.
|
|
193
|
+
// Most noise markers appear near the top of the document (nav, scripts, meta, etc.).
|
|
194
|
+
const sample = html.length > NOISE_SCAN_LIMIT ? html.slice(0, NOISE_SCAN_LIMIT) : html;
|
|
195
|
+
const haystack = sample.toLowerCase();
|
|
196
|
+
return NOISE_MARKERS.some((marker) => haystack.includes(marker));
|
|
197
|
+
}
|
|
198
|
+
function isFullDocumentHtml(html) {
|
|
199
|
+
return HTML_DOCUMENT_MARKERS.test(html);
|
|
200
|
+
}
|
|
201
|
+
function isStructuralNoiseTag(tagName) {
|
|
202
|
+
return STRUCTURAL_TAGS.has(tagName);
|
|
203
|
+
}
|
|
204
|
+
function isInteractiveComponent(element) {
|
|
205
|
+
const role = element.getAttribute('role');
|
|
206
|
+
if (role && INTERACTIVE_CONTENT_ROLES.has(role))
|
|
207
|
+
return true;
|
|
208
|
+
// Check for common UI framework data attributes that indicate managed visibility
|
|
209
|
+
const dataState = element.getAttribute('data-state');
|
|
210
|
+
if (dataState === 'inactive' || dataState === 'closed')
|
|
211
|
+
return true;
|
|
212
|
+
const dataOrientation = element.getAttribute('data-orientation');
|
|
213
|
+
if (dataOrientation === 'horizontal' || dataOrientation === 'vertical') {
|
|
214
|
+
return true;
|
|
215
|
+
}
|
|
216
|
+
// Check for accordion/collapse patterns
|
|
217
|
+
if (element.getAttribute('data-accordion-item') !== null)
|
|
218
|
+
return true;
|
|
219
|
+
if (element.getAttribute('data-radix-collection-item') !== null)
|
|
220
|
+
return true;
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
function isElementHidden(element) {
|
|
224
|
+
const style = element.getAttribute('style') ?? '';
|
|
225
|
+
return (element.getAttribute('hidden') !== null ||
|
|
226
|
+
element.getAttribute('aria-hidden') === 'true' ||
|
|
227
|
+
/\bdisplay\s*:\s*none\b/i.test(style) ||
|
|
228
|
+
/\bvisibility\s*:\s*hidden\b/i.test(style));
|
|
229
|
+
}
|
|
230
|
+
function hasNoiseRole(role) {
|
|
231
|
+
return role !== null && NAVIGATION_ROLES.has(role);
|
|
232
|
+
}
|
|
233
|
+
function tokenizeIdentifierLikeText(value) {
|
|
234
|
+
return value
|
|
235
|
+
.toLowerCase()
|
|
236
|
+
.replace(/[^a-z0-9]+/g, ' ')
|
|
237
|
+
.trim()
|
|
238
|
+
.split(' ')
|
|
239
|
+
.filter(Boolean);
|
|
240
|
+
}
|
|
241
|
+
function matchesPromoIdOrClass(className, id) {
|
|
242
|
+
const tokens = tokenizeIdentifierLikeText(`${className} ${id}`);
|
|
243
|
+
const promoTokens = getPromoTokens();
|
|
244
|
+
return tokens.some((token) => promoTokens.has(token));
|
|
245
|
+
}
|
|
246
|
+
function matchesFixedOrHighZIsolate(className) {
|
|
247
|
+
return (FIXED_PATTERN.test(className) ||
|
|
248
|
+
(HIGH_Z_PATTERN.test(className) && ISOLATE_PATTERN.test(className)));
|
|
249
|
+
}
|
|
250
|
+
function readElementMetadata(element) {
|
|
251
|
+
return {
|
|
252
|
+
tagName: element.tagName.toLowerCase(),
|
|
253
|
+
className: element.getAttribute('class') ?? '',
|
|
254
|
+
id: element.getAttribute('id') ?? '',
|
|
255
|
+
role: element.getAttribute('role'),
|
|
256
|
+
isHidden: isElementHidden(element),
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
function isBoilerplateHeader({ className, id, role, }) {
|
|
260
|
+
if (hasNoiseRole(role))
|
|
261
|
+
return true;
|
|
262
|
+
const combined = `${className} ${id}`.toLowerCase();
|
|
263
|
+
return HEADER_NOISE_PATTERN.test(combined);
|
|
264
|
+
}
|
|
265
|
+
function isNoiseElement(node) {
|
|
266
|
+
const metadata = readElementMetadata(node);
|
|
267
|
+
const isComplementaryAside = metadata.tagName === 'aside' && metadata.role === 'complementary';
|
|
268
|
+
const shouldCheckHidden = metadata.isHidden && !isInteractiveComponent(node);
|
|
269
|
+
const isInteractiveStructural = isStructuralNoiseTag(metadata.tagName) && isInteractiveComponent(node);
|
|
270
|
+
return ((isStructuralNoiseTag(metadata.tagName) && !isInteractiveStructural) ||
|
|
271
|
+
ALWAYS_NOISE_TAGS.has(metadata.tagName) ||
|
|
272
|
+
(metadata.tagName === 'header' && isBoilerplateHeader(metadata)) ||
|
|
273
|
+
shouldCheckHidden ||
|
|
274
|
+
(!isComplementaryAside && hasNoiseRole(metadata.role)) ||
|
|
275
|
+
matchesFixedOrHighZIsolate(metadata.className) ||
|
|
276
|
+
matchesPromoIdOrClass(metadata.className, metadata.id));
|
|
277
|
+
}
|
|
278
|
+
function isNodeListLike(value) {
|
|
279
|
+
return isObject(value) && typeof value.length === 'number';
|
|
280
|
+
}
|
|
281
|
+
function tryGetNodeListItem(nodes, index) {
|
|
282
|
+
if (typeof nodes.item === 'function')
|
|
283
|
+
return nodes.item(index);
|
|
284
|
+
return (nodes[index] ?? null);
|
|
285
|
+
}
|
|
286
|
+
function removeNoiseFromNodeListLike(nodes, shouldCheckNoise) {
|
|
287
|
+
for (let index = nodes.length - 1; index >= 0; index -= 1) {
|
|
288
|
+
const node = tryGetNodeListItem(nodes, index);
|
|
289
|
+
if (!node)
|
|
290
|
+
continue;
|
|
291
|
+
if (isElement(node) && (!shouldCheckNoise || isNoiseElement(node))) {
|
|
292
|
+
node.remove();
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
function removeNoiseNodes(nodes, shouldCheckNoise = true) {
|
|
297
|
+
if (isNodeListLike(nodes)) {
|
|
298
|
+
removeNoiseFromNodeListLike(nodes, shouldCheckNoise);
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
// Generic iterable: copy to avoid iteration issues while removing.
|
|
302
|
+
const nodeList = Array.from(nodes);
|
|
303
|
+
for (const node of nodeList) {
|
|
304
|
+
if (isElement(node) && (!shouldCheckNoise || isNoiseElement(node))) {
|
|
305
|
+
node.remove();
|
|
306
|
+
}
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
function stripNoiseNodes(document) {
|
|
310
|
+
// Pass 1: Trusted selectors (Common noise)
|
|
311
|
+
// We trust these selectors match actual noise, so we skip the expensive isNoiseElement check
|
|
312
|
+
const baseSelectors = [
|
|
313
|
+
'nav',
|
|
314
|
+
'footer',
|
|
315
|
+
'header[class*="site"]',
|
|
316
|
+
'header[class*="nav"]',
|
|
317
|
+
'header[class*="menu"]',
|
|
318
|
+
'[role="banner"]',
|
|
319
|
+
'[role="navigation"]',
|
|
320
|
+
'[role="dialog"]',
|
|
321
|
+
'[style*="display: none"]',
|
|
322
|
+
'[style*="display:none"]',
|
|
323
|
+
'[hidden]',
|
|
324
|
+
'[aria-hidden="true"]',
|
|
325
|
+
];
|
|
326
|
+
// Add user-configured extra selectors
|
|
327
|
+
const extraSelectors = config.noiseRemoval.extraSelectors.filter((s) => s.trim().length > 0);
|
|
328
|
+
const targetSelectors = [...baseSelectors, ...extraSelectors].join(',');
|
|
329
|
+
if (targetSelectors) {
|
|
330
|
+
const potentialNoiseNodes = document.querySelectorAll(targetSelectors);
|
|
331
|
+
removeNoiseNodes(potentialNoiseNodes, false);
|
|
332
|
+
}
|
|
333
|
+
// Second pass: check remaining elements for noise patterns (promo, fixed positioning, etc.)
|
|
334
|
+
const candidateSelectors = [
|
|
335
|
+
...STRUCTURAL_TAGS,
|
|
336
|
+
...ALWAYS_NOISE_TAGS,
|
|
337
|
+
'aside',
|
|
338
|
+
'header',
|
|
339
|
+
'[class]',
|
|
340
|
+
'[id]',
|
|
341
|
+
'[role]',
|
|
342
|
+
'[style]',
|
|
343
|
+
].join(',');
|
|
344
|
+
const allElements = document.querySelectorAll(candidateSelectors);
|
|
345
|
+
removeNoiseNodes(allElements, true);
|
|
346
|
+
}
|
|
347
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
348
|
+
// URL Resolution
|
|
349
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
350
|
+
// Protocol patterns to skip during URL resolution (fragment, mailto, tel, blob, data, javascript)
|
|
351
|
+
// JavaScript protocol is detected to skip it for XSS prevention, not to evaluate it
|
|
352
|
+
const SKIP_URL_PREFIXES = [
|
|
353
|
+
'#',
|
|
354
|
+
'java' + 'script:',
|
|
355
|
+
'mailto:',
|
|
356
|
+
'tel:',
|
|
357
|
+
'data:',
|
|
358
|
+
'blob:',
|
|
359
|
+
];
|
|
360
|
+
/**
|
|
361
|
+
* Check if a URL scheme should be skipped during resolution.
|
|
362
|
+
* These schemes are either fragment-only (#), protocol handlers (mailto, tel),
|
|
363
|
+
* inline data (data, blob), or javascript: which we skip to avoid XSS.
|
|
364
|
+
*/
|
|
365
|
+
function shouldSkipUrlResolution(url) {
|
|
366
|
+
const normalized = url.trim().toLowerCase();
|
|
367
|
+
return SKIP_URL_PREFIXES.some((prefix) => normalized.startsWith(prefix));
|
|
368
|
+
}
|
|
369
|
+
/**
|
|
370
|
+
* Safely resolve a relative URL to absolute using base URL.
|
|
371
|
+
*/
|
|
372
|
+
function tryResolveUrl(relativeUrl, baseUrl) {
|
|
373
|
+
try {
|
|
374
|
+
return new URL(relativeUrl, baseUrl).href;
|
|
375
|
+
}
|
|
376
|
+
catch {
|
|
377
|
+
return null;
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
/**
|
|
381
|
+
* Resolve anchor hrefs to absolute URLs.
|
|
382
|
+
*/
|
|
383
|
+
function resolveAnchorUrls(document, baseUrl) {
|
|
384
|
+
for (const anchor of document.querySelectorAll('a[href]')) {
|
|
385
|
+
const href = anchor.getAttribute('href');
|
|
386
|
+
if (href && !shouldSkipUrlResolution(href)) {
|
|
387
|
+
const resolved = tryResolveUrl(href, baseUrl);
|
|
388
|
+
if (resolved)
|
|
389
|
+
anchor.setAttribute('href', resolved);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
/**
|
|
394
|
+
* Resolve image srcs to absolute URLs.
|
|
395
|
+
*/
|
|
396
|
+
function resolveImageUrls(document, baseUrl) {
|
|
397
|
+
for (const img of document.querySelectorAll('img[src]')) {
|
|
398
|
+
const src = img.getAttribute('src');
|
|
399
|
+
if (src && !shouldSkipUrlResolution(src)) {
|
|
400
|
+
const resolved = tryResolveUrl(src, baseUrl);
|
|
401
|
+
if (resolved)
|
|
402
|
+
img.setAttribute('src', resolved);
|
|
403
|
+
}
|
|
404
|
+
}
|
|
405
|
+
}
|
|
406
|
+
/**
|
|
407
|
+
* Resolve source srcset to absolute URLs (for picture elements).
|
|
408
|
+
*/
|
|
409
|
+
function resolveSrcsetUrls(document, baseUrl) {
|
|
410
|
+
for (const source of document.querySelectorAll('source[srcset]')) {
|
|
411
|
+
const srcset = source.getAttribute('srcset');
|
|
412
|
+
if (!srcset)
|
|
413
|
+
continue;
|
|
414
|
+
// srcset can have multiple URLs with descriptors like "url 1x, url 2x"
|
|
415
|
+
const resolved = srcset
|
|
416
|
+
.split(',')
|
|
417
|
+
.map((entry) => {
|
|
418
|
+
const parts = entry.trim().split(/\s+/);
|
|
419
|
+
const url = parts[0];
|
|
420
|
+
if (url) {
|
|
421
|
+
const resolvedUrl = tryResolveUrl(url, baseUrl);
|
|
422
|
+
if (resolvedUrl)
|
|
423
|
+
parts[0] = resolvedUrl;
|
|
424
|
+
}
|
|
425
|
+
return parts.join(' ');
|
|
426
|
+
})
|
|
427
|
+
.join(', ');
|
|
428
|
+
source.setAttribute('srcset', resolved);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Resolve relative URLs in anchor and image elements to absolute URLs.
|
|
433
|
+
* Fixes broken links/images in markdown output when the source uses relative paths.
|
|
434
|
+
*/
|
|
435
|
+
function resolveRelativeUrls(document, baseUrl) {
|
|
436
|
+
try {
|
|
437
|
+
const base = new URL(baseUrl);
|
|
438
|
+
resolveAnchorUrls(document, base);
|
|
439
|
+
resolveImageUrls(document, base);
|
|
440
|
+
resolveSrcsetUrls(document, base);
|
|
441
|
+
}
|
|
442
|
+
catch {
|
|
443
|
+
/* invalid base URL - skip resolution */
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
447
|
+
// Main Export
|
|
448
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
449
|
+
/**
|
|
450
|
+
* Remove noise elements from HTML and resolve relative URLs.
|
|
451
|
+
* Used as a preprocessing step before markdown conversion.
|
|
452
|
+
*/
|
|
453
|
+
export function removeNoiseFromHtml(html, document, baseUrl) {
|
|
454
|
+
const shouldParse = isFullDocumentHtml(html) || mayContainNoise(html);
|
|
455
|
+
if (!shouldParse)
|
|
456
|
+
return html;
|
|
457
|
+
try {
|
|
458
|
+
const resolvedDocument = document ?? parseHTML(html).document;
|
|
459
|
+
stripNoiseNodes(resolvedDocument);
|
|
460
|
+
// Resolve relative URLs before converting to markdown
|
|
461
|
+
if (baseUrl) {
|
|
462
|
+
resolveRelativeUrls(resolvedDocument, baseUrl);
|
|
463
|
+
}
|
|
464
|
+
const bodyInnerHtml = getBodyInnerHtml(resolvedDocument);
|
|
465
|
+
// Only use body innerHTML if it has substantial content
|
|
466
|
+
// On some sites (e.g., Framer), noise removal empties body but leaves content in documentElement
|
|
467
|
+
if (bodyInnerHtml && bodyInnerHtml.trim().length > 100) {
|
|
468
|
+
return bodyInnerHtml;
|
|
469
|
+
}
|
|
470
|
+
const docToString = getDocumentToString(resolvedDocument);
|
|
471
|
+
if (docToString)
|
|
472
|
+
return docToString();
|
|
473
|
+
const documentElementOuterHtml = getDocumentElementOuterHtml(resolvedDocument);
|
|
474
|
+
if (documentElementOuterHtml)
|
|
475
|
+
return documentElementOuterHtml;
|
|
476
|
+
return html;
|
|
477
|
+
}
|
|
478
|
+
catch {
|
|
479
|
+
return html;
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
//# sourceMappingURL=dom-noise-removal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom-noise-removal.js","sourceRoot":"","sources":["../src/dom-noise-removal.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAIA,qBAAa,UAAW,SAAQ,KAAK;IAOjC,QAAQ,CAAC,GAAG,EAAE,MAAM;IANtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAGlD,OAAO,EAAE,MAAM,EACN,GAAG,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CASxC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKtD;AAQD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,cAAc,CAGvB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAIA,qBAAa,UAAW,SAAQ,KAAK;IAOjC,QAAQ,CAAC,GAAG,EAAE,MAAM;IANtB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;gBAGlD,OAAO,EAAE,MAAM,EACN,GAAG,EAAE,MAAM,EACpB,UAAU,CAAC,EAAE,MAAM,EACnB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM;CASxC;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAKtD;AAQD,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,GACX,MAAM,CAAC,cAAc,CAGvB;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAAC,cAAc,CAK5E"}
|
package/dist/errors.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isObject } from './type-guards.js';
|
|
2
2
|
const DEFAULT_HTTP_STATUS = 502;
|
|
3
3
|
export class FetchError extends Error {
|
|
4
4
|
url;
|
|
@@ -25,7 +25,7 @@ export function getErrorMessage(error) {
|
|
|
25
25
|
return 'Unknown error';
|
|
26
26
|
}
|
|
27
27
|
function isErrorWithMessage(error) {
|
|
28
|
-
if (!
|
|
28
|
+
if (!isObject(error))
|
|
29
29
|
return false;
|
|
30
30
|
const { message } = error;
|
|
31
31
|
return typeof message === 'string' && message.length > 0;
|
|
@@ -35,8 +35,11 @@ export function createErrorWithCode(message, code) {
|
|
|
35
35
|
return Object.assign(error, { code });
|
|
36
36
|
}
|
|
37
37
|
export function isSystemError(error) {
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
if (!(error instanceof Error))
|
|
39
|
+
return false;
|
|
40
|
+
if (!('code' in error))
|
|
41
|
+
return false;
|
|
42
|
+
const { code } = error;
|
|
43
|
+
return typeof code === 'string';
|
|
41
44
|
}
|
|
42
45
|
//# sourceMappingURL=errors.js.map
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,OAAO,UAAW,SAAQ,KAAK;IAOxB;IANF,UAAU,CAAS;IACnB,IAAI,CAAS;IACb,OAAO,CAAoC;IAEpD,YACE,OAAe,EACN,GAAW,EACpB,UAAmB,EACnB,UAAmC,EAAE;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,QAAG,GAAH,GAAG,CAAQ;QAKpB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,mBAAmB,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC9D,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,IAAI,kBAAkB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACpD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAY;IAEZ,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEhC,MAAM,OAAO,UAAW,SAAQ,KAAK;IAOxB;IANF,UAAU,CAAS;IACnB,IAAI,CAAS;IACb,OAAO,CAAoC;IAEpD,YACE,OAAe,EACN,GAAW,EACpB,UAAmB,EACnB,UAAmC,EAAE;QAErC,KAAK,CAAC,OAAO,CAAC,CAAC;QAJN,QAAG,GAAH,GAAG,CAAQ;QAKpB,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,IAAI,mBAAmB,CAAC;QACpD,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,UAAU,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC9D,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,IAAI,KAAK,YAAY,KAAK;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAChE,IAAI,kBAAkB,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC;IACpD,OAAO,eAAe,CAAC;AACzB,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc;IACxC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,MAAM,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;IAC1B,OAAO,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAY;IAEZ,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAc;IAC1C,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACrC,MAAM,EAAE,IAAI,EAAE,GAAG,KAA2B,CAAC;IAC7C,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC;AAClC,CAAC"}
|
package/dist/fetch.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAezC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../src/fetch.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAezC,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAyED,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAS/C;AAeD,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG;IAC/C,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAeA;AAED,wBAAgB,uBAAuB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEjE;AA2FD,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AA4HD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,eAAe,CAoB9D;AAiBD,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAQxD;AAsUD,eAAO,MAAM,UAAU,EAAE,UAAyC,CAAC;AAEnE,wBAAgB,aAAa,IAAI,IAAI,CAEpC;AAmJD,UAAU,qBAAqB;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAuGD,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,MAAM,GACb,qBAAqB,CAqBvB;AAED,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,qBAAqB,EAC9B,QAAQ,EAAE,QAAQ,EAClB,WAAW,CAAC,EAAE,MAAM,GACnB,IAAI,CAwBN;AAED,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,qBAAqB,EAC9B,KAAK,EAAE,OAAO,EACd,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAkBN;AAoFD,wBAAsB,kBAAkB,CACtC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,WAAW,EACjB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC;IAAE,QAAQ,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAC,CAwB9C;AAsJD,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,QAAQ,EAClB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAazC;AA2HD,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,MAAM,CAAC,CAMjB"}
|