mwoffliner 1.15.1 → 1.17.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/README.md +2 -2
- package/docs/functional_architecture.md +37 -3
- package/lib/Downloader.d.ts +10 -6
- package/lib/Downloader.js +59 -46
- package/lib/Downloader.js.map +1 -1
- package/lib/Dump.d.ts +0 -1
- package/lib/Dump.js +0 -3
- package/lib/Dump.js.map +1 -1
- package/lib/Gadgets.d.ts +44 -0
- package/lib/Gadgets.js +59 -0
- package/lib/Gadgets.js.map +1 -0
- package/lib/MediaWiki.d.ts +77 -7
- package/lib/MediaWiki.js +100 -61
- package/lib/MediaWiki.js.map +1 -1
- package/lib/RedisStore.d.ts +3 -1
- package/lib/RedisStore.js +12 -12
- package/lib/RedisStore.js.map +1 -1
- package/lib/Templates.d.ts +3 -1
- package/lib/Templates.js +7 -1
- package/lib/Templates.js.map +1 -1
- package/lib/cli.js +6 -4
- package/lib/cli.js.map +1 -1
- package/lib/config.d.ts +8 -1
- package/lib/config.js +13 -5
- package/lib/config.js.map +1 -1
- package/lib/error.manager.d.ts +1 -0
- package/lib/error.manager.js +42 -0
- package/lib/error.manager.js.map +1 -1
- package/lib/mutex.d.ts +2 -1
- package/lib/mutex.js +2 -1
- package/lib/mutex.js.map +1 -1
- package/lib/mwoffliner.lib.js +121 -82
- package/lib/mwoffliner.lib.js.map +1 -1
- package/lib/parameterList.d.ts +2 -0
- package/lib/parameterList.js +7 -5
- package/lib/parameterList.js.map +1 -1
- package/lib/renderers/abstract.renderer.d.ts +30 -6
- package/lib/renderers/abstract.renderer.js +174 -93
- package/lib/renderers/abstract.renderer.js.map +1 -1
- package/lib/renderers/abstractDesktop.render.js +13 -6
- package/lib/renderers/abstractDesktop.render.js.map +1 -1
- package/lib/renderers/abstractMobile.render.js +12 -4
- package/lib/renderers/abstractMobile.render.js.map +1 -1
- package/lib/renderers/action-parse.renderer.d.ts +3 -2
- package/lib/renderers/action-parse.renderer.js +105 -22
- package/lib/renderers/action-parse.renderer.js.map +1 -1
- package/lib/renderers/renderer.builder.js +12 -9
- package/lib/renderers/renderer.builder.js.map +1 -1
- package/lib/renderers/rest-api.renderer.js +11 -3
- package/lib/renderers/rest-api.renderer.js.map +1 -1
- package/lib/renderers/visual-editor.renderer.js +11 -3
- package/lib/renderers/visual-editor.renderer.js.map +1 -1
- package/lib/renderers/wikimedia-mobile.renderer.js +8 -1
- package/lib/renderers/wikimedia-mobile.renderer.js.map +1 -1
- package/lib/sanitize-argument.d.ts +5 -3
- package/lib/sanitize-argument.js +45 -28
- package/lib/sanitize-argument.js.map +1 -1
- package/lib/util/RedisKvs.d.ts +13 -0
- package/lib/util/RedisKvs.js +14 -2
- package/lib/util/RedisKvs.js.map +1 -1
- package/lib/util/RedisQueue.d.ts +14 -0
- package/lib/util/RedisQueue.js +64 -0
- package/lib/util/RedisQueue.js.map +1 -0
- package/lib/util/articles.d.ts +26 -0
- package/lib/util/articles.js +102 -0
- package/lib/util/articles.js.map +1 -0
- package/lib/util/builders/url/action-parse.director.d.ts +3 -2
- package/lib/util/builders/url/action-parse.director.js +22 -3
- package/lib/util/builders/url/action-parse.director.js.map +1 -1
- package/lib/util/builders/url/api.director.d.ts +0 -2
- package/lib/util/builders/url/api.director.js +22 -13
- package/lib/util/builders/url/api.director.js.map +1 -1
- package/lib/util/builders/url/desktop.director.d.ts +1 -1
- package/lib/util/builders/url/desktop.director.js +2 -1
- package/lib/util/builders/url/desktop.director.js.map +1 -1
- package/lib/util/builders/url/mobile.director.d.ts +1 -1
- package/lib/util/builders/url/mobile.director.js +2 -1
- package/lib/util/builders/url/mobile.director.js.map +1 -1
- package/lib/util/builders/url/rest-api.director.d.ts +1 -1
- package/lib/util/builders/url/rest-api.director.js +2 -1
- package/lib/util/builders/url/rest-api.director.js.map +1 -1
- package/lib/util/builders/url/visual-editor.director.d.ts +1 -1
- package/lib/util/builders/url/visual-editor.director.js +2 -1
- package/lib/util/builders/url/visual-editor.director.js.map +1 -1
- package/lib/util/categories.js +2 -2
- package/lib/util/categories.js.map +1 -1
- package/lib/util/const.d.ts +2 -2
- package/lib/util/const.js +5 -5
- package/lib/util/const.js.map +1 -1
- package/lib/util/dump.d.ts +1 -1
- package/lib/util/dump.js +26 -18
- package/lib/util/dump.js.map +1 -1
- package/lib/util/misc.d.ts +7 -1
- package/lib/util/misc.js +51 -20
- package/lib/util/misc.js.map +1 -1
- package/lib/util/mw-api.js +9 -2
- package/lib/util/mw-api.js.map +1 -1
- package/lib/util/rewriteUrls.d.ts +1 -1
- package/lib/util/rewriteUrls.js +30 -25
- package/lib/util/rewriteUrls.js.map +1 -1
- package/lib/util/saveArticles.d.ts +1 -1
- package/lib/util/saveArticles.js +151 -99
- package/lib/util/saveArticles.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/package.json +5 -3
- package/res/footer.css +10 -11
- package/res/templates/article_list_home.html +9 -10
- package/res/templates/html_redirect.html +9 -0
- package/res/templates/pageFallback.html +29 -0
- package/res/templates/pageVector2022.html +19 -13
- package/res/templates/pageVectorLegacy.html +17 -12
- package/res/templates/pageWikimediaDesktop.html +8 -8
- package/res/templates/pageWikimediaMobile.html +8 -8
- package/res/vector-2022.css +0 -10
- package/translation/ar.json +22 -2
- package/translation/bn.json +1 -2
- package/translation/de.json +26 -3
- package/translation/en.json +4 -2
- package/translation/es-formal.json +29 -0
- package/translation/es.json +23 -2
- package/translation/fi.json +4 -2
- package/translation/fr.json +8 -3
- package/translation/ha.json +1 -2
- package/translation/he.json +7 -2
- package/translation/hi.json +1 -2
- package/translation/ia.json +21 -2
- package/translation/id.json +0 -1
- package/translation/ig.json +1 -2
- package/translation/it.json +2 -2
- package/translation/kaa.json +1 -2
- package/translation/ko.json +3 -2
- package/translation/lb.json +1 -0
- package/translation/mk.json +4 -3
- package/translation/nb.json +1 -2
- package/translation/nl.json +21 -2
- package/translation/or.json +1 -2
- package/translation/pt-br.json +1 -2
- package/translation/pt.json +3 -2
- package/translation/qqq.json +3 -1
- package/translation/ro.json +1 -2
- package/translation/ru.json +4 -2
- package/translation/sc.json +1 -2
- package/translation/sl.json +21 -2
- package/translation/sq.json +1 -2
- package/translation/sv.json +1 -2
- package/translation/sw.json +1 -2
- package/translation/te.json +1 -2
- package/translation/tn.json +1 -2
- package/translation/tr.json +1 -2
- package/translation/zh-hans.json +0 -1
- package/translation/zh-hant.json +10 -3
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ User Help is available in the for a a
|
|
|
20
20
|
[](https://www.npmjs.com/package/mwoffliner)
|
|
21
21
|
[](https://www.npmjs.com/package/mwoffliner)
|
|
22
22
|
[](https://ghcr.io/openzim/mwoffliner)
|
|
23
|
-
[](https://github.com/openzim/mwoffliner/actions/workflows/ci.yml?query=branch%3Amain)
|
|
24
24
|
[](https://codecov.io/gh/openzim/mwoffliner)
|
|
25
25
|
[](https://www.codefactor.io/repository/github/openzim/mwoffliner)
|
|
26
26
|
[](LICENSE)
|
|
@@ -41,7 +41,7 @@ Run `mwoffliner --help` to get all the possible options.
|
|
|
41
41
|
|
|
42
42
|
- *NIX Operating System (GNU/Linux, macOS, ...)
|
|
43
43
|
- [Redis](https://redis.io/)
|
|
44
|
-
- [NodeJS](https://nodejs.org/en/) version
|
|
44
|
+
- [NodeJS](https://nodejs.org/en/) version 24 (we support only one single Node.JS version, other versions might work or not)
|
|
45
45
|
- [Libzim](https://github.com/openzim/libzim) (On GNU/Linux & macOS we automatically download it)
|
|
46
46
|
- Various build tools which are probably already installed on your
|
|
47
47
|
machine (packages `libjpeg-dev`, `libglu1`, `autoconf`, `automake`, `gcc` on
|
|
@@ -4,6 +4,7 @@ This document describes a high-level overview of how mwoffliner scraper works.
|
|
|
4
4
|
|
|
5
5
|
At a high level, mwoffliner is divided into following sequence of actions.
|
|
6
6
|
|
|
7
|
+
- retrieve Mediawiki info
|
|
7
8
|
- retrieve list of articles to include and their metadata
|
|
8
9
|
- for every article:
|
|
9
10
|
- retrieve its parsed HTML (Wikitext transformed into HTML) and JS/CSS dependencie
|
|
@@ -16,7 +17,28 @@ At a high level, mwoffliner is divided into following sequence of actions.
|
|
|
16
17
|
|
|
17
18
|
The scraper supports flavours, which are variants of the ZIM (e.g. without images, with images but without videos, ...).
|
|
18
19
|
|
|
19
|
-
|
|
20
|
+
For now, retrieval of articles and files dependencies is repeated for every flavour requested (even if content probably didn't changed).
|
|
21
|
+
|
|
22
|
+
## Retrieve Mediawiki info
|
|
23
|
+
|
|
24
|
+
At scraper startup, it retrieves generic data about Mediawiki instance using `action=query` API.
|
|
25
|
+
|
|
26
|
+
Currently, scrape uses this call to retrieve:
|
|
27
|
+
|
|
28
|
+
- from `siteinfo`: `general` info (language, title, mainPage, site name, logo, text direction, ...), `skins` (to detect default skin), `rightsinfo` (to extract the license), `namespaces` and `namespacealiases` to build the list of namespaces
|
|
29
|
+
- from `allmessages`: the `tagline` (subtitle)
|
|
30
|
+
|
|
31
|
+
## Retrive list of articles to include and their metadata
|
|
32
|
+
|
|
33
|
+
First, the scraper needs a list of article IDs and their details (redirects, ...).
|
|
34
|
+
|
|
35
|
+
"Article ID" refers to the page title with underscores instead of spaces, not the numeric page ID.
|
|
36
|
+
|
|
37
|
+
If user specified the exact list of articles to retrieve, then scraper simply request details about every articles in the list, in batches of about 50 articles (with `action=query&titles=titleX|titleY|...` ; batch sizes may vary due to constraints on query parameters size).
|
|
38
|
+
|
|
39
|
+
Otherwise, the scraper enumerates articles in given namespaces (by default, all content namespaces) with the `allpages` generator, requesting one namespace content at a time (`action=query&generator=allpages&gapnamespace=xx`).
|
|
40
|
+
|
|
41
|
+
The details we retrieve at this stage about every articles are their title, subtitle, revisions, redirects, thumbnail, categories, coordinates (when it applies), text language, text direction and contentmodel (to consider only on wikitext ones).
|
|
20
42
|
|
|
21
43
|
## Retrieving article HTML and rendering
|
|
22
44
|
|
|
@@ -36,15 +58,26 @@ Availability of RestApi and VisualEditor is subject to Mediawiki admin decision
|
|
|
36
58
|
|
|
37
59
|
ActionParse is available since 1.16.0 (2010) and is anyway a requirement for other APIs.
|
|
38
60
|
|
|
39
|
-
Only ActionParse (most recent renderer) implements a thorough skin support (see below about skin).
|
|
61
|
+
Only ActionParse (most recent renderer at mwoffliner level) implements a thorough skin support (see below about skin).
|
|
40
62
|
|
|
41
63
|
All renderers but ActionParse needs two HTTP queries: one to retrieve the article HTML and one to retrieve its metadata (to a 'simplified' ActionParse URL in fact).
|
|
42
64
|
|
|
65
|
+
The article metadata we retrieve at this stage is the article are:
|
|
66
|
+
|
|
67
|
+
- `displaytitle` and `subtitle`
|
|
68
|
+
- `headhtml`: used to extract proper CSS classes we have to set on `<html>` and `<body>` tags + some JS configuration variables which are part of the HTML head
|
|
69
|
+
- `jsconfigvars`: other JS configuration variables which comes from other parts of the Mediawiki codebase
|
|
70
|
+
- `modules`: list of JS and CSS modules to apply on current article
|
|
71
|
+
|
|
43
72
|
Renderer is automatically selected based on its availability and mwoffliner own preference. ActionParse is the preferred renderer since 1.15.0 due to its general availability and support of skins.
|
|
44
73
|
|
|
74
|
+
### ActionParse parser
|
|
75
|
+
|
|
76
|
+
When using ActionParse renderer, we pass `usearticle=1`, which means that we ask the Mediawiki to use the parser configured for this article. This allows the scraper to retrieve article `text` (inner of the HTML containing the article itself) that is as close as possible to what is used online, either Parsoid or legacy parser (see https://www.mediawiki.org/wiki/Parsoid). This is mandatory because if we use a parser different than the one used online, we will de-facto get bugs which are "normal", either because parser still has a bug, or an extension is not compatible, or because Wikitext contains some workaround understandable only by a given parser. This should be avoided at all price if we want to have a versatile scraper capable of processing any Mediawiki. Even focusing only on Wikimedia wikis, not all of them have already transitioned to Parsoid for instance.
|
|
77
|
+
|
|
45
78
|
### Skins
|
|
46
79
|
|
|
47
|
-
In
|
|
80
|
+
In Mediawikis, rendering of Wikitext into HTML works around a concept of skin. A skin is a mix of HTML template and CSS+JS dependencies. It defines both the visual appareance of the rendered Wikitext but also everything "around it".
|
|
48
81
|
|
|
49
82
|
Since most wikis have adapted their content to their skin (and vice versa), it is mostly mandatory to use the skin inside the ZIM, both for proper rendering and for a visual appareance similar to online website (users don't mind about technical details, they want the wiki to be the same inside the ZIM than online).
|
|
50
83
|
|
|
@@ -52,6 +85,7 @@ Skin detection is automated in mwoffliner for now (see https://github.com/openzi
|
|
|
52
85
|
|
|
53
86
|
For now, only `vector` (legacy) and `vector-2022` are supported, and only with ActionParse renderer. Only `vector-2022` is the truely responsive skin, providing ultimate rendering on mostly all screen sizes.
|
|
54
87
|
|
|
88
|
+
With ActionParse renderer, other skins have a `fallback` skin implemented in the scraper. This means that the scraper will render the article HTML inside an HTML structure which looks like an expected structure (which comes from `vector` legacy). The consequence is that if the skins uses only article HTML structure to attach CSS rules or JS code, then everything will render fine. If the skins uses HTML structures coming from the "surrounding HTML" (headers, ...) then things will not apply 100% correctly.
|
|
55
89
|
|
|
56
90
|
### JS / CSS dependencies
|
|
57
91
|
|
package/lib/Downloader.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import type { BackoffStrategy } from 'backoff';
|
|
2
2
|
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
3
3
|
import S3 from './S3.js';
|
|
4
|
+
import { SiteInfoResponse } from './MediaWiki.js';
|
|
4
5
|
import { Dump } from './Dump.js';
|
|
6
|
+
import ApiURLDirector from './util/builders/url/api.director.js';
|
|
5
7
|
import { Renderer } from './renderers/abstract.renderer.js';
|
|
6
8
|
interface DownloaderOpts {
|
|
7
9
|
uaString: string;
|
|
@@ -11,7 +13,6 @@ interface DownloaderOpts {
|
|
|
11
13
|
s3?: S3;
|
|
12
14
|
webp: boolean;
|
|
13
15
|
backoffOptions?: BackoffOptions;
|
|
14
|
-
mwWikiPath?: string;
|
|
15
16
|
insecure?: boolean;
|
|
16
17
|
}
|
|
17
18
|
interface BackoffOptions {
|
|
@@ -40,7 +41,6 @@ export interface DownloadErrorContext {
|
|
|
40
41
|
declare class Downloader {
|
|
41
42
|
private static instance;
|
|
42
43
|
static getInstance(): Downloader;
|
|
43
|
-
loginCookie: string;
|
|
44
44
|
private _speed;
|
|
45
45
|
cssDependenceUrls: KVS<boolean>;
|
|
46
46
|
private _webp;
|
|
@@ -57,7 +57,8 @@ declare class Downloader {
|
|
|
57
57
|
private backoffOptions;
|
|
58
58
|
private optimisationCacheUrl;
|
|
59
59
|
private s3;
|
|
60
|
-
private
|
|
60
|
+
private _apiUrlDirector;
|
|
61
|
+
private cookierJar;
|
|
61
62
|
private articleUrlDirector;
|
|
62
63
|
private mainPageUrlDirector;
|
|
63
64
|
private insecure;
|
|
@@ -68,23 +69,26 @@ declare class Downloader {
|
|
|
68
69
|
get arrayBufferRequestOptions(): AxiosRequestConfig<any>;
|
|
69
70
|
get jsonRequestOptions(): AxiosRequestConfig<any>;
|
|
70
71
|
get streamRequestOptions(): AxiosRequestConfig<any>;
|
|
72
|
+
get apiUrlDirector(): ApiURLDirector;
|
|
71
73
|
set init({ uaString, speed, reqTimeout, optimisationCacheUrl, s3, webp, backoffOptions, insecure }: DownloaderOpts);
|
|
72
74
|
private reset;
|
|
73
75
|
private getUrlDirector;
|
|
74
76
|
setUrlsDirectors(mainPageRenderer: Renderer, articlesRenderer: Renderer): void;
|
|
75
|
-
getArticleUrl(articleId: string): string;
|
|
77
|
+
getArticleUrl(articleId: string, articleUrlOpts?: RendererArticleOpts): string;
|
|
76
78
|
getMainPageUrl(articleId: string): string;
|
|
77
79
|
removeEtagWeakPrefix(etag: string): string;
|
|
78
|
-
|
|
80
|
+
querySiteInfo(): Promise<SiteInfoResponse>;
|
|
79
81
|
getArticleDetailsIds(articleIds: string[], shouldGetThumbnail?: boolean): Promise<QueryMwRet>;
|
|
80
82
|
getArticleDetailsNS(ns: number, gapcontinue?: string): Promise<{
|
|
81
83
|
gapContinue: string;
|
|
82
84
|
articleDetails: QueryMwRet;
|
|
83
85
|
}>;
|
|
84
86
|
getLogEvents(letype: string, articleId: string): Promise<any>;
|
|
85
|
-
getArticle(articleId: string, articleDetailXId: RKVS<ArticleDetail>, articleRenderer: Renderer, articleUrl: any, dump: Dump, articleDetail?: ArticleDetail
|
|
87
|
+
getArticle(articleId: string, articleDetailXId: RKVS<ArticleDetail>, articleRenderer: Renderer, articleUrl: any, dump: Dump, articleDetail?: ArticleDetail): Promise<any>;
|
|
86
88
|
getJSON<T>(_url: string): Promise<T>;
|
|
87
89
|
request<T = any, R extends AxiosResponse<T> = AxiosResponse<T>, D = any>(config: AxiosRequestConfig<D>): Promise<R>;
|
|
90
|
+
get<T = any, R extends AxiosResponse<T> = AxiosResponse<T>, D = any>(url: string, config?: AxiosRequestConfig<D>): Promise<R>;
|
|
91
|
+
post<T = any, R extends AxiosResponse<T> = AxiosResponse<T>, D = any>(url: string, data?: D, config?: AxiosRequestConfig<D>): Promise<R>;
|
|
88
92
|
downloadContent(_url: string, kind: DonwloadKind, retry?: boolean): Promise<{
|
|
89
93
|
content: Buffer | string;
|
|
90
94
|
contentType: string;
|
package/lib/Downloader.js
CHANGED
|
@@ -11,9 +11,9 @@ import imageminGifsicle from 'imagemin-gifsicle';
|
|
|
11
11
|
import imageminJpegoptim from 'imagemin-jpegoptim';
|
|
12
12
|
import imageminWebp from 'imagemin-webp';
|
|
13
13
|
import sharp from 'sharp';
|
|
14
|
-
import http from 'http';
|
|
15
|
-
import https from 'https';
|
|
16
14
|
import { fileTypeFromBuffer } from 'file-type';
|
|
15
|
+
import { HttpCookieAgent, HttpsCookieAgent } from 'http-cookie-agent/http';
|
|
16
|
+
import { CookieJar } from 'tough-cookie';
|
|
17
17
|
import * as logger from './Logger.js';
|
|
18
18
|
import MediaWiki from './MediaWiki.js';
|
|
19
19
|
import ApiURLDirector from './util/builders/url/api.director.js';
|
|
@@ -67,7 +67,6 @@ class Downloader {
|
|
|
67
67
|
}
|
|
68
68
|
return Downloader.instance;
|
|
69
69
|
}
|
|
70
|
-
loginCookie = '';
|
|
71
70
|
_speed;
|
|
72
71
|
cssDependenceUrls = {};
|
|
73
72
|
_webp = false;
|
|
@@ -84,7 +83,8 @@ class Downloader {
|
|
|
84
83
|
backoffOptions;
|
|
85
84
|
optimisationCacheUrl;
|
|
86
85
|
s3;
|
|
87
|
-
|
|
86
|
+
_apiUrlDirector;
|
|
87
|
+
cookierJar;
|
|
88
88
|
articleUrlDirector;
|
|
89
89
|
mainPageUrlDirector;
|
|
90
90
|
insecure = false;
|
|
@@ -109,18 +109,21 @@ class Downloader {
|
|
|
109
109
|
get streamRequestOptions() {
|
|
110
110
|
return this._streamRequestOptions;
|
|
111
111
|
}
|
|
112
|
+
get apiUrlDirector() {
|
|
113
|
+
return this._apiUrlDirector;
|
|
114
|
+
}
|
|
112
115
|
set init({ uaString, speed, reqTimeout, optimisationCacheUrl, s3, webp, backoffOptions, insecure }) {
|
|
113
116
|
this.reset();
|
|
114
117
|
this.uaString = uaString;
|
|
115
118
|
this._speed = speed;
|
|
116
119
|
this.maxActiveRequests = speed * 10;
|
|
117
120
|
this._requestTimeout = reqTimeout;
|
|
118
|
-
this.loginCookie = '';
|
|
119
121
|
this.optimisationCacheUrl = optimisationCacheUrl;
|
|
120
122
|
this._webp = webp;
|
|
121
123
|
this.s3 = s3;
|
|
122
|
-
this.
|
|
124
|
+
this._apiUrlDirector = new ApiURLDirector(MediaWiki.actionApiUrl.href);
|
|
123
125
|
this.insecure = insecure;
|
|
126
|
+
this.cookierJar = new CookieJar();
|
|
124
127
|
this.backoffOptions = {
|
|
125
128
|
// retry up to 10 times, with a minimum of 1sec, maximum of 1min
|
|
126
129
|
// this means we retry for up to about 6 mins, which is supposed
|
|
@@ -133,16 +136,24 @@ class Downloader {
|
|
|
133
136
|
logger.log(`Retrying ${requestedUrl} URL due to ${err.code} error`);
|
|
134
137
|
return true; // retry all connection issues
|
|
135
138
|
}
|
|
139
|
+
if (err.responseData?.error?.code == 'maxlag') {
|
|
140
|
+
logger.log(`Mediawiki server is lagging ${err.responseData?.error?.lag}s; retrying in few seconds`);
|
|
141
|
+
return true; // note that we do not honor Retry-After header value because it is not possible in current code architecture
|
|
142
|
+
}
|
|
136
143
|
const httpReturnCode = err.response?.status || err.httpReturnCode;
|
|
137
|
-
if ([429].includes(httpReturnCode)) {
|
|
144
|
+
if ([429, 500, 502, 503, 504, 524].includes(httpReturnCode)) {
|
|
138
145
|
logger.log(`Retrying ${requestedUrl} URL due to HTTP ${httpReturnCode} error`);
|
|
139
146
|
return true; // retry these HTTP status codes
|
|
140
147
|
}
|
|
141
|
-
if (
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
148
|
+
if (err.responseData?.error?.code &&
|
|
149
|
+
![
|
|
150
|
+
'missingtitle',
|
|
151
|
+
'readapidenied',
|
|
152
|
+
'internal_api_error_MediaWiki\\Revision\\BadRevisionException',
|
|
153
|
+
'internal_api_error_Wikimedia\\Assert\\UnreachableException',
|
|
154
|
+
'internal_api_error_Wikimedia\\Assert\\InvariantException',
|
|
155
|
+
'internal_api_error_Wikimedia\\Parsoid\\Core\\ResourceLimitExceededException',
|
|
156
|
+
].includes(err.responseData?.error?.code)) {
|
|
146
157
|
logger.log(`Retrying ${requestedUrl} URL due to ${err.responseData?.error?.code} Mediawiki error`);
|
|
147
158
|
return true; // retry these Mediawiki codes which are known to be transient
|
|
148
159
|
}
|
|
@@ -155,10 +166,14 @@ class Downloader {
|
|
|
155
166
|
};
|
|
156
167
|
this._basicRequestOptions = {
|
|
157
168
|
// HTTP agent pools with 'keepAlive' to reuse TCP connections, so it's faster
|
|
158
|
-
|
|
159
|
-
|
|
169
|
+
// Set cookie jar and use special Http(s)CookieAgent so that cookies are automatically intercepted and persited across calls
|
|
170
|
+
httpAgent: new HttpCookieAgent({ cookies: { jar: this.cookierJar }, keepAlive: true }),
|
|
171
|
+
httpsAgent: new HttpsCookieAgent({ cookies: { jar: this.cookierJar }, keepAlive: true, rejectUnauthorized: !this.insecure }), // rejectUnauthorized: false disables TLS
|
|
160
172
|
timeout: this.requestTimeout,
|
|
161
173
|
headers: {
|
|
174
|
+
// Use the base domain of the wiki being scraped as the Referer header, so that we can
|
|
175
|
+
// successfully scrap WMF map tiles.
|
|
176
|
+
Referer: MediaWiki.baseUrl.href,
|
|
162
177
|
'cache-control': 'public, max-stale=86400',
|
|
163
178
|
'user-agent': this.uaString,
|
|
164
179
|
},
|
|
@@ -197,11 +212,10 @@ class Downloader {
|
|
|
197
212
|
this._speed = undefined;
|
|
198
213
|
this.maxActiveRequests = undefined;
|
|
199
214
|
this._requestTimeout = undefined;
|
|
200
|
-
this.loginCookie = '';
|
|
201
215
|
this.optimisationCacheUrl = undefined;
|
|
202
216
|
this._webp = false;
|
|
203
217
|
this.s3 = undefined;
|
|
204
|
-
this.
|
|
218
|
+
this._apiUrlDirector = undefined;
|
|
205
219
|
this.insecure = false;
|
|
206
220
|
this.backoffOptions = undefined;
|
|
207
221
|
this._basicRequestOptions = undefined;
|
|
@@ -237,8 +251,8 @@ class Downloader {
|
|
|
237
251
|
this.articleUrlDirector = this.getUrlDirector(articlesRenderer);
|
|
238
252
|
this.mainPageUrlDirector = this.getUrlDirector(mainPageRenderer);
|
|
239
253
|
}
|
|
240
|
-
getArticleUrl(articleId) {
|
|
241
|
-
return this.articleUrlDirector.buildArticleURL(articleId);
|
|
254
|
+
getArticleUrl(articleId, articleUrlOpts = {}) {
|
|
255
|
+
return this.articleUrlDirector.buildArticleURL(articleId, articleUrlOpts);
|
|
242
256
|
}
|
|
243
257
|
getMainPageUrl(articleId) {
|
|
244
258
|
return this.mainPageUrlDirector.buildArticleURL(articleId);
|
|
@@ -246,8 +260,8 @@ class Downloader {
|
|
|
246
260
|
removeEtagWeakPrefix(etag) {
|
|
247
261
|
return etag && etag.replace(WEAK_ETAG_REGEX, '');
|
|
248
262
|
}
|
|
249
|
-
|
|
250
|
-
return this.getJSON(this.apiUrlDirector.
|
|
263
|
+
querySiteInfo() {
|
|
264
|
+
return this.getJSON(this.apiUrlDirector.buildSiteInfoURL());
|
|
251
265
|
}
|
|
252
266
|
async getArticleDetailsIds(articleIds, shouldGetThumbnail = false) {
|
|
253
267
|
let continuation;
|
|
@@ -268,7 +282,7 @@ class Downloader {
|
|
|
268
282
|
const reqUrl = this.apiUrlDirector.buildQueryURL(queryOpts);
|
|
269
283
|
const resp = await this.getJSON(reqUrl);
|
|
270
284
|
Downloader.handleMWWarningsAndErrors(resp);
|
|
271
|
-
let processedResponse = resp.query ? normalizeMwResponse(resp.query) : {};
|
|
285
|
+
let processedResponse = resp.query?.pages ? normalizeMwResponse(resp.query) : {};
|
|
272
286
|
if (resp.continue) {
|
|
273
287
|
continuation = resp.continue;
|
|
274
288
|
finalProcessedResp = finalProcessedResp === undefined ? processedResponse : deepmerge(finalProcessedResp, processedResponse);
|
|
@@ -337,10 +351,10 @@ class Downloader {
|
|
|
337
351
|
const logEventsData = await this.getJSON(this.apiUrlDirector.buildLogEventsQuery(letype, articleId));
|
|
338
352
|
return logEventsData.query?.logevents;
|
|
339
353
|
}
|
|
340
|
-
async getArticle(articleId, articleDetailXId, articleRenderer, articleUrl, dump, articleDetail
|
|
354
|
+
async getArticle(articleId, articleDetailXId, articleRenderer, articleUrl, dump, articleDetail) {
|
|
341
355
|
logger.info(`Getting article [${articleId}] from ${articleUrl}`);
|
|
342
356
|
try {
|
|
343
|
-
const { data, moduleDependencies, redirects } = await articleRenderer.download({
|
|
357
|
+
const { data, moduleDependencies, redirects, displayTitle, articleSubtitle, bodyCssClass, htmlCssClass } = await articleRenderer.download({
|
|
344
358
|
articleId,
|
|
345
359
|
articleUrl,
|
|
346
360
|
articleDetail,
|
|
@@ -353,7 +367,7 @@ class Downloader {
|
|
|
353
367
|
// from new location to original location. Note that only ActionParse API gives proper redirects info.
|
|
354
368
|
for (const redirect of redirects) {
|
|
355
369
|
if (!(await RedisStore.articleDetailXId.exists(redirect.to)) && !(await RedisStore.redirectsXId.exists(redirect.to))) {
|
|
356
|
-
RedisStore.redirectsXId.set(redirect.to, { targetId: redirect.from, title: redirect.to });
|
|
370
|
+
RedisStore.redirectsXId.set(redirect.to, { targetId: redirect.from, title: redirect.to, fragment: '' });
|
|
357
371
|
}
|
|
358
372
|
}
|
|
359
373
|
return await articleRenderer.render({
|
|
@@ -362,7 +376,10 @@ class Downloader {
|
|
|
362
376
|
articleId,
|
|
363
377
|
articleDetailXId,
|
|
364
378
|
articleDetail,
|
|
365
|
-
|
|
379
|
+
displayTitle,
|
|
380
|
+
articleSubtitle,
|
|
381
|
+
bodyCssClass,
|
|
382
|
+
htmlCssClass,
|
|
366
383
|
dump,
|
|
367
384
|
});
|
|
368
385
|
}
|
|
@@ -404,8 +421,7 @@ class Downloader {
|
|
|
404
421
|
dump.status.articles.hardFail += 1;
|
|
405
422
|
dump.status.articles.hardFailedArticleIds.push(articleId);
|
|
406
423
|
if (dump.maxHardFailedArticles > 0 && dump.status.articles.hardFail > dump.maxHardFailedArticles) {
|
|
407
|
-
|
|
408
|
-
throw err;
|
|
424
|
+
throw new Error('Too many articles failed to download');
|
|
409
425
|
}
|
|
410
426
|
}
|
|
411
427
|
else {
|
|
@@ -449,27 +465,22 @@ class Downloader {
|
|
|
449
465
|
});
|
|
450
466
|
}
|
|
451
467
|
async request(config) {
|
|
452
|
-
return axios
|
|
453
|
-
.
|
|
468
|
+
return axios.request({
|
|
469
|
+
...this._basicRequestOptions,
|
|
454
470
|
...config,
|
|
455
471
|
headers: {
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
Referer: MediaWiki.baseUrl.href,
|
|
459
|
-
// Set loginCookie if present (might be dynamic, so we need to override it at every call)
|
|
460
|
-
cookie: this.loginCookie,
|
|
461
|
-
...config.headers,
|
|
472
|
+
...this._basicRequestOptions.headers,
|
|
473
|
+
...config?.headers,
|
|
462
474
|
},
|
|
463
475
|
signal: AbortSignal.timeout(this.requestTimeout),
|
|
464
|
-
})
|
|
465
|
-
.then(async (resp) => {
|
|
466
|
-
// Store cookie if needed, so that we can pass it to next requests
|
|
467
|
-
if (resp.headers['set-cookie']) {
|
|
468
|
-
this.loginCookie = resp.headers['set-cookie'].join(';');
|
|
469
|
-
}
|
|
470
|
-
return resp;
|
|
471
476
|
});
|
|
472
477
|
}
|
|
478
|
+
async get(url, config) {
|
|
479
|
+
return this.request({ url, method: 'GET', ...config });
|
|
480
|
+
}
|
|
481
|
+
async post(url, data, config) {
|
|
482
|
+
return this.request({ url, data, method: 'POST', ...config });
|
|
483
|
+
}
|
|
473
484
|
async downloadContent(_url, kind, retry = true) {
|
|
474
485
|
if (!_url) {
|
|
475
486
|
throw new Error(`Parameter [${_url}] is not a valid url`);
|
|
@@ -523,15 +534,13 @@ class Downloader {
|
|
|
523
534
|
if (resp.error)
|
|
524
535
|
logger.log(`Got error from MW Query ${JSON.stringify(resp.warnings, null, '\t')}`);
|
|
525
536
|
}
|
|
526
|
-
async getArticleQueryOpts(includePageimages = false,
|
|
527
|
-
const validNamespaceIds = MediaWiki.namespacesToMirror.map((ns) => MediaWiki.namespaces[ns].num);
|
|
537
|
+
async getArticleQueryOpts(includePageimages = false, followRedirects = false) {
|
|
528
538
|
const prop = `${includePageimages ? '|pageimages' : ''}${(await MediaWiki.hasCoordinates()) ? '|coordinates' : ''}${MediaWiki.getCategories ? '|categories' : ''}`;
|
|
529
539
|
return {
|
|
530
540
|
...MediaWiki.queryOpts,
|
|
531
541
|
prop: MediaWiki.queryOpts.prop.concat(prop),
|
|
532
|
-
rdnamespace: validNamespaceIds.join('|'),
|
|
533
542
|
formatversion: '2',
|
|
534
|
-
redirects:
|
|
543
|
+
redirects: followRedirects ? true : undefined,
|
|
535
544
|
};
|
|
536
545
|
}
|
|
537
546
|
async setArticleSubCategories(articleDetails) {
|
|
@@ -576,6 +585,10 @@ class Downloader {
|
|
|
576
585
|
};
|
|
577
586
|
async getImageMimeType(data) {
|
|
578
587
|
const fileType = await fileTypeFromBuffer(data);
|
|
588
|
+
if (fileType && fileType.mime === 'application/xml') {
|
|
589
|
+
// File type is known to be wrong, might be SVG
|
|
590
|
+
return null;
|
|
591
|
+
}
|
|
579
592
|
return fileType ? fileType.mime : null;
|
|
580
593
|
}
|
|
581
594
|
async getCompressedBody(input) {
|
package/lib/Downloader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Downloader.js","sourceRoot":"","sources":["../src/Downloader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,mBAAmB,EAAE,QAAQ,EAAE,eAAe,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,iBAAiB,CAAA;AAEjK,OAAO,SAAS,MAAM,WAAW,CAAA;AACjC,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAA;AAChC,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,UAAU,CAAA;AAC9C,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAE5C,OAAO,KAAK,EAAE,EAAE,UAAU,EAAqC,MAAM,OAAO,CAAA;AAC5E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAC/D,OAAO,gBAAgB,MAAM,mBAAmB,CAAA;AAChD,OAAO,iBAAiB,MAAM,oBAAoB,CAAA;AAClD,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAG9C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,SAAwB,MAAM,gBAAgB,CAAA;AAErD,OAAO,cAAc,MAAM,qCAAqC,CAAA;AAChE,OAAO,SAAS,MAAM,sBAAsB,CAAA;AAO5C,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC/E,OAAO,UAAU,MAAM,iBAAiB,CAAA;AAExC,MAAM,eAAe,GAAG,IAAI,GAAG,EAAE,CAAA;AACjC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;AACzC,eAAe,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC,CAAA;AAEtC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;IAC9C,OAAO,EAAE,CAAE,gBAAwB,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;CACvI,CAAC,CAAA;AACF,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE;IAC/C,OAAO,EAAE,CAAC,iBAAiB,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;CAC1D,CAAC,CAAA;AACF,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;IAC9C,OAAO,EAAE,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;CAClE,CAAC,CAAA;AACF,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE;IAC3C,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;CACpD,CAAC,CAAA;AACF,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,YAAY,EAAE;IAC5C,OAAO,EAAE,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;CACpD,CAAC,CAAA;AAyBF,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtC,SAAS,CAAe;IACxB,cAAc,CAAe;IAC7B,mBAAmB,CAAe;IAClC,YAAY,CAAK;IAEjB,YAAY,OAAe,EAAE,SAAwB,EAAE,cAA6B,EAAE,mBAAkC,EAAE,YAAiB;QACzI,KAAK,CAAC,OAAO,CAAC,CAAA;QACd,IAAI,CAAC,IAAI,GAAG,eAAe,CAAA;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QACpC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAA;QAC9C,IAAI,CAAC,YAAY,GAAG,YAAY,CAAA;QAEhC,IAAI,mBAAmB,IAAI,KAAK,EAAE,CAAC;YACjC,gDAAgD;YAChD,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAA;QAC9C,CAAC;IACH,CAAC;CACF;AAWD;;GAEG;AACH,MAAM,UAAU;IACN,MAAM,CAAC,QAAQ,CAAY;IAC5B,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;YACzB,UAAU,CAAC,QAAQ,GAAG,IAAI,UAAU,EAAE,CAAA;QACxC,CAAC;QACD,OAAO,UAAU,CAAC,QAAQ,CAAA;IAC5B,CAAC;IACM,WAAW,GAAG,EAAE,CAAA;IACf,MAAM,CAAQ;IACf,iBAAiB,GAAiB,EAAE,CAAA;IACnC,KAAK,GAAY,KAAK,CAAA;IACtB,eAAe,CAAQ;IACvB,oBAAoB,CAAoB;IACxC,0BAA0B,CAAoB;IAC9C,mBAAmB,CAAoB;IACvC,qBAAqB,CAAoB;IAC1C,iCAAiC,GAAa,EAAE,CAAA;IAChD,oCAAoC,GAAa,EAAE,CAAA;IAElD,QAAQ,CAAQ;IAChB,cAAc,GAAG,CAAC,CAAA;IAClB,iBAAiB,GAAG,CAAC,CAAA;IACrB,cAAc,CAAgB;IAC9B,oBAAoB,CAAQ;IAC5B,EAAE,CAAI;IACN,cAAc,CAAgB;IAE9B,kBAAkB,CAAa;IAC/B,mBAAmB,CAAa;IAChC,QAAQ,GAAY,KAAK,CAAA;IAEjC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IACD,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,eAAe,CAAA;IAC7B,CAAC;IACD,IAAI,mBAAmB;QACrB,OAAO,IAAI,CAAC,oBAAoB,CAAA;IAClC,CAAC;IACD,IAAI,yBAAyB;QAC3B,OAAO,IAAI,CAAC,0BAA0B,CAAA;IACxC,CAAC;IACD,IAAI,kBAAkB;QACpB,OAAO,IAAI,CAAC,mBAAmB,CAAA;IACjC,CAAC;IACD,IAAI,oBAAoB;QACtB,OAAO,IAAI,CAAC,qBAAqB,CAAA;IACnC,CAAC;IAED,IAAI,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAkB;QAChH,IAAI,CAAC,KAAK,EAAE,CAAA;QACZ,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QACxB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,iBAAiB,GAAG,KAAK,GAAG,EAAE,CAAA;QACnC,IAAI,CAAC,eAAe,GAAG,UAAU,CAAA;QACjC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAA;QAChD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,EAAE,GAAG,EAAE,CAAA;QACZ,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACrE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAA;QAExB,IAAI,CAAC,cAAc,GAAG;YACpB,gEAAgE;YAChE,gEAAgE;YAChE,gEAAgE;YAChE,QAAQ,EAAE,IAAI,OAAO,CAAC,mBAAmB,CAAC,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;YAClF,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,CAAC,GAAQ,EAAE,EAAE;gBACpB,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,MAAM,EAAE,GAAG,IAAI,SAAS,CAAA;gBAClE,IAAI,GAAG,YAAY,UAAU,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBACzG,MAAM,CAAC,GAAG,CAAC,YAAY,YAAY,eAAe,GAAG,CAAC,IAAI,QAAQ,CAAC,CAAA;oBACnE,OAAO,IAAI,CAAA,CAAC,8BAA8B;gBAC5C,CAAC;gBACD,MAAM,cAAc,GAAG,GAAG,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,CAAC,cAAc,CAAA;gBACjE,IAAI,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;oBACnC,MAAM,CAAC,GAAG,CAAC,YAAY,YAAY,oBAAoB,cAAc,QAAQ,CAAC,CAAA;oBAC9E,OAAO,IAAI,CAAA,CAAC,gCAAgC;gBAC9C,CAAC;gBACD,IACE;oBACE,sCAAsC;oBACtC,sCAAsC;oBACtC,iFAAiF;iBAClF,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,EACzC,CAAC;oBACD,MAAM,CAAC,GAAG,CAAC,YAAY,YAAY,eAAe,GAAG,CAAC,YAAY,EAAE,KAAK,EAAE,IAAI,kBAAkB,CAAC,CAAA;oBAClG,OAAO,IAAI,CAAA,CAAC,8DAA8D;gBAC5E,CAAC;gBACD,OAAO,KAAK,CAAA,CAAC,2BAA2B;YAC1C,CAAC;YACD,cAAc,EAAE,CAAC,MAAc,EAAE,KAAa,EAAE,EAAE;gBAChD,MAAM,CAAC,IAAI,CAAC,cAAc,MAAM,UAAU,KAAK,KAAK,CAAC,CAAA;YACvD,CAAC;YACD,GAAG,cAAc;SAClB,CAAA;QAED,IAAI,CAAC,oBAAoB,GAAG;YAC1B,6EAA6E;YAC7E,SAAS,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;YAC9C,UAAU,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,kBAAkB,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,yCAAyC;YAC/H,OAAO,EAAE,IAAI,CAAC,cAAc;YAC5B,OAAO,EAAE;gBACP,eAAe,EAAE,yBAAyB;gBAC1C,YAAY,EAAE,IAAI,CAAC,QAAQ;aAC5B;YACD,cAAc,CAAC,MAAM;gBACnB,OAAO,CAAC,MAAM,IAAI,GAAG,IAAI,MAAM,GAAG,GAAG,CAAC,IAAI,MAAM,KAAK,GAAG,CAAA;YAC1D,CAAC;SACF,CAAA;QAED,IAAI,CAAC,0BAA0B,GAAG;YAChC,GAAG,IAAI,CAAC,mBAAmB;YAC3B,YAAY,EAAE,aAAa;YAC3B,MAAM,EAAE,KAAK;SACd,CAAA;QAED,IAAI,CAAC,mBAAmB,GAAG;YACzB,GAAG,IAAI,CAAC,mBAAmB;YAC3B,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO;gBACnC,MAAM,EAAE,kBAAkB;gBAC1B,iBAAiB,EAAE,eAAe;aACnC;YACD,YAAY,EAAE,MAAM;YACpB,MAAM,EAAE,KAAK;SACd,CAAA;QAED,IAAI,CAAC,qBAAqB,GAAG;YAC3B,GAAG,IAAI,CAAC,mBAAmB;YAC3B,OAAO,EAAE;gBACP,GAAG,IAAI,CAAC,mBAAmB,CAAC,OAAO;gBACnC,MAAM,EAAE,0BAA0B;gBAClC,iBAAiB,EAAE,eAAe;aACnC;YACD,YAAY,EAAE,QAAQ;YACtB,MAAM,EAAE,KAAK;SACd,CAAA;IACH,CAAC;IAEO,KAAK;QACX,IAAI,CAAC,QAAQ,GAAG,SAAS,CAAA;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAA;QACvB,IAAI,CAAC,iBAAiB,GAAG,SAAS,CAAA;QAClC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,IAAI,CAAC,WAAW,GAAG,EAAE,CAAA;QACrB,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAA;QACrC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAA;QAClB,IAAI,CAAC,EAAE,GAAG,SAAS,CAAA;QACnB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QAErB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAA;QAC/B,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAA;QACrC,IAAI,CAAC,0BAA0B,GAAG,SAAS,CAAA;QAC3C,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAA;QACpC,IAAI,CAAC,qBAAqB,GAAG,SAAS,CAAA;QAEtC,IAAI,CAAC,iBAAiB,GAAG,EAAE,CAAA;QAE3B,IAAI,CAAC,iCAAiC,GAAG,EAAE,CAAA;QAC3C,IAAI,CAAC,oCAAoC,GAAG,EAAE,CAAA;QAE9C,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAA;QAE1B,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAA;QACnC,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAA;IACtC,CAAC;IAEO,cAAc,CAAC,QAAgB;QACrC,QAAQ,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAClC,KAAK,0BAA0B;gBAC7B,OAAO,SAAS,CAAC,2BAA2B,CAAA;YAC9C,KAAK,sBAAsB;gBACzB,OAAO,SAAS,CAAC,uBAAuB,CAAA;YAC1C,KAAK,yBAAyB;gBAC5B,OAAO,SAAS,CAAC,0BAA0B,CAAA;YAC7C,KAAK,iBAAiB;gBACpB,OAAO,SAAS,CAAC,kBAAkB,CAAA;YACrC,KAAK,qBAAqB;gBACxB,OAAO,SAAS,CAAC,sBAAsB,CAAA;YACzC,0BAA0B;YAC1B;gBACE,MAAM,IAAI,KAAK,CAAC,oBAAoB,QAAQ,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAA;QACpE,CAAC;IACH,CAAC;IAEM,gBAAgB,CAAC,gBAA0B,EAAE,gBAA0B;QAC5E,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;QAC/D,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,gBAAgB,CAAC,CAAA;IAClE,CAAC;IAEM,aAAa,CAAC,SAAiB;QACpC,OAAO,IAAI,CAAC,kBAAkB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IAC3D,CAAC;IAEM,cAAc,CAAC,SAAiB;QACrC,OAAO,IAAI,CAAC,mBAAmB,CAAC,eAAe,CAAC,SAAS,CAAC,CAAA;IAC5D,CAAC;IAEM,oBAAoB,CAAC,IAAY;QACtC,OAAO,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAA;IAClD,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,qBAAqB,EAAE,CAAC,CAAA;IAClE,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,UAAoB,EAAE,kBAAkB,GAAG,KAAK;QAChF,IAAI,YAA0B,CAAA;QAC9B,IAAI,kBAA8B,CAAA;QAElC,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,SAAS,GAAa;gBAC1B,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;gBAC7D,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;gBAC5B,GAAG,CAAC,CAAC,MAAM,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,SAAS,CAAC,aAAa;oBACzB,CAAC,CAAC;wBACE,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,SAAS;qBAClB;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,GAAG,YAAY;aAChB,CAAA;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;YAE3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAgB,MAAM,CAAC,CAAA;YAEtD,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAA;YAE1C,IAAI,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;YACzE,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAClB,YAAY,GAAG,IAAI,CAAC,QAAQ,CAAA;gBAC5B,kBAAkB,GAAG,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;YAC9H,CAAC;iBAAM,CAAC;gBACN,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;oBAC5B,iBAAiB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;gBAC3E,CAAC;gBACD,kBAAkB,GAAG,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;gBAC5H,MAAK;YACP,CAAC;QACH,CAAC;QAED,OAAO,kBAAkB,CAAA;IAC3B,CAAC;IAEM,KAAK,CAAC,mBAAmB,CAAC,EAAU,EAAE,WAAW,GAAG,EAAE;QAC3D,IAAI,iBAAoC,CAAA;QACxC,IAAI,kBAA8B,CAAA;QAClC,IAAI,KAAK,GAAW,IAAI,CAAA;QAExB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,SAAS,GAAa;gBAC1B,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACrC,GAAG,CAAC,CAAC,MAAM,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjE,GAAG,CAAC,SAAS,CAAC,aAAa;oBACzB,CAAC,CAAC;wBACE,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,SAAS;qBAClB;oBACH,CAAC,CAAC,EAAE,CAAC;gBACP,WAAW,EAAE,MAAM;gBACnB,SAAS,EAAE,UAAU;gBACrB,cAAc,EAAE,cAAc;gBAC9B,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,MAAM,CAAC,EAAE,CAAC;gBACxB,WAAW;aACZ,CAAA;YAED,IAAI,iBAAiB,EAAE,CAAC;gBACtB,SAAS,CAAC,UAAU,GAAG,iBAAiB,EAAE,WAAW,EAAE,UAAU,IAAI,SAAS,CAAC,UAAU,CAAA;gBACzF,SAAS,CAAC,UAAU,GAAG,iBAAiB,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC,UAAU,CAAA;gBACxF,SAAS,CAAC,UAAU,GAAG,iBAAiB,EAAE,UAAU,EAAE,UAAU,IAAI,SAAS,CAAC,UAAU,CAAA;gBACxF,SAAS,CAAC,UAAU,GAAG,iBAAiB,EAAE,SAAS,EAAE,UAAU,IAAI,SAAS,CAAC,UAAU,CAAA;YACzF,CAAC;YAED,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAA;YAE3D,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAgB,MAAM,CAAC,CAAA;YACtD,UAAU,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAA;YAE1C,IAAI,iBAAiB,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YAEvD,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,EAAE,QAAQ,EAAE,WAAW,IAAI,KAAK,CAAA;YAE9D,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC,CAAA;YAEhH,IAAI,CAAC,aAAa,EAAE,CAAC;gBACnB,iBAAiB,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAA;gBAE1C,kBAAkB,GAAG,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;YAC9H,CAAC;iBAAM,CAAC;gBACN,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;oBAC5B,iBAAiB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,CAAC,CAAA;gBAC3E,CAAC;gBAED,kBAAkB,GAAG,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAA;gBAC5H,MAAK;YACP,CAAC;QACH,CAAC;QAED,OAAO;YACL,cAAc,EAAE,kBAAkB;YAClC,WAAW,EAAE,KAAK;SACnB,CAAA;IACH,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,SAAiB;QACzD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,OAAO,CAAM,IAAI,CAAC,cAAc,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAA;QACzG,OAAO,aAAa,CAAC,KAAK,EAAE,SAAS,CAAA;IACvC,CAAC;IAEM,KAAK,CAAC,UAAU,CACrB,SAAiB,EACjB,gBAAqC,EACrC,eAAyB,EACzB,UAAU,EACV,IAAU,EACV,aAA6B,EAC7B,UAAoB;QAEpB,MAAM,CAAC,IAAI,CAAC,oBAAoB,SAAS,UAAU,UAAU,EAAE,CAAC,CAAA;QAEhE,IAAI,CAAC;YACH,MAAM,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC;gBAC7E,SAAS;gBACT,UAAU;gBACV,aAAa;aACd,CAAC,CAAA;YAEF,oGAAoG;YACpG,wGAAwG;YACxG,sGAAsG;YACtG,wGAAwG;YACxG,uGAAuG;YACvG,sGAAsG;YACtG,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;gBACjC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,UAAU,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;oBACrH,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAA;gBAC3F,CAAC;YACH,CAAC;YAED,OAAO,MAAM,eAAe,CAAC,MAAM,CAAC;gBAClC,IAAI;gBACJ,kBAAkB;gBAClB,SAAS;gBACT,gBAAgB;gBAChB,aAAa;gBACb,UAAU;gBACV,IAAI;aACL,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,oBAA0C,CAAA;YAC9C,IAAI,GAAG,YAAY,UAAU,EAAE,CAAC;gBAC9B,oBAAoB,GAAG;oBACrB,SAAS,EAAE,GAAG,CAAC,IAAI;oBACnB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG;oBACzB,cAAc,EAAE,GAAG,CAAC,MAAM;oBAC1B,mBAAmB,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI;oBAC1F,YAAY,EAAE,GAAG,CAAC,QAAQ,EAAE,IAAI;iBACjC,CAAA;YACH,CAAC;iBAAM,IAAI,GAAG,YAAY,aAAa,EAAE,CAAC;gBACxC,oBAAoB,GAAG;oBACrB,SAAS,EAAE,IAAI;oBACf,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,cAAc,EAAE,GAAG,CAAC,cAAc;oBAClC,mBAAmB,EAAE,GAAG,CAAC,mBAAmB;oBAC5C,YAAY,EAAE,GAAG,CAAC,YAAY;iBAC/B,CAAA;YACH,CAAC;YACD,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC1B,MAAM,GAAG,CAAA;YACX,CAAC;YACD,MAAM,CAAC,IAAI,CACT,WAAW,SAAS,6BAA6B,oBAAoB,CAAC,SAAS,SAAS;gBACtF,IAAI,oBAAoB,CAAC,SAAS,gBAAgB;gBAClD,IAAI,oBAAoB,CAAC,cAAc,qBAAqB;gBAC5D,QAAQ,oBAAoB,CAAC,mBAAmB,iBAAiB;gBACjE,sBAAsB,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAC5E,CAAA;YACD,MAAM,SAAS,GAAG,qBAAqB,CAAC,oBAAoB,CAAC,CAAA;YAC7D,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;gBACvB,MAAM,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAA;gBACxD,MAAM,GAAG,CAAA;YACX,CAAC;YACD,IAAI,SAAS,CAAC,aAAa,EAAE,CAAC;gBAC5B,MAAM,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,iBAAiB,gDAAgD,CAAC,CAAA;gBACzG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAA;gBAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBACzD,IAAI,IAAI,CAAC,qBAAqB,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBACjG,MAAM,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;oBAC9D,MAAM,GAAG,CAAA;gBACX,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,kBAAkB,SAAS,CAAC,iBAAiB,gDAAgD,CAAC,CAAA;gBACzG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAA;gBAClC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC3D,CAAC;YACD,UAAU,CAAC,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA,CAAC,8EAA8E;YAC5H,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;YACjD,MAAM,oBAAoB,GAAG,mBAAmB,CAAC,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,CAAC,CAAA;YAC1F,OAAO;gBACL;oBACE,SAAS;oBACT,YAAY,EAAE,YAAY;oBAC1B,IAAI,EAAE,oBAAoB;oBAC1B,iBAAiB,EAAE,EAAE;oBACrB,iBAAiB,EAAE,EAAE;oBACrB,iBAAiB,EAAE,EAAE;oBACrB,kBAAkB,EAAE,EAAE;oBACtB,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,sBAAsB;oBACjD,SAAS,EAAE,EAAE;iBACd;aACF,CAAA;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,OAAO,CAAI,IAAY;QAClC,MAAM,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QAC1C,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QACzB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACxC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;gBACnE,IAAI,CAAC,cAAc,EAAE,CAAA;gBACrB,IAAI,GAAG,EAAE,CAAC;oBACR,MAAM,UAAU,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,cAAc,CAAA;oBAC9E,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,aAAa,UAAU,GAAG,CAAC,CAAA;oBAC5D,MAAM,CAAC,GAAG,CAAC,CAAA;gBACb,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,CAAA;gBACd,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,KAAK,CAAC,OAAO,CAAkE,MAA6B;QACjH,OAAO,KAAK;aACT,OAAO,CAAU;YAChB,GAAG,MAAM;YACT,OAAO,EAAE;gBACP,sFAAsF;gBACtF,oCAAoC;gBACpC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI;gBAC/B,yFAAyF;gBACzF,MAAM,EAAE,IAAI,CAAC,WAAW;gBACxB,GAAG,MAAM,CAAC,OAAO;aAClB;YACD,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;SACjD,CAAC;aACD,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACnB,kEAAkE;YAClE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC/B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACzD,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC,CAAC,CAAA;IACN,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,IAAkB,EAAE,KAAK,GAAG,IAAI;QACzE,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,cAAc,IAAI,sBAAsB,CAAC,CAAA;QAC3D,CAAC;QAED,IAAI,GAAG,GAAG,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,GAAG,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,GAAG,GAAG,EAAE,CAAA;QAC7C,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,EAAE,CAAA;QAEzB,IAAI,CAAC;YACH,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBACrC,MAAM,EAAE,GAAG,CAAC,GAAQ,EAAE,GAAQ,EAAE,EAAE;oBAChC,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,GAAG,CAAC,CAAA;oBACb,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,CAAA;oBACd,CAAC;gBACH,CAAC,CAAA;gBACD,IAAI,KAAK,EAAE,CAAC;oBACV,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;gBACpD,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;gBAClC,CAAC;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,UAAU,GAAG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAA;YACtD,MAAM,CAAC,IAAI,CAAC,kBAAkB,GAAG,aAAa,UAAU,GAAG,CAAC,CAAA;YAC5D,MAAM,GAAG,CAAA;QACX,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,cAAc,EAAE,CAAA;QACvB,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,GAAW;QAChC,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAA;YAC7E,OAAO,IAAI,CAAA;QACb,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAEO,MAAM,CAAC,yBAAyB,CAAC,IAAmB;QAC1D,IAAI,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,IAAI,CAAC,6BAA6B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QACxG,IAAI,IAAI,CAAC,KAAK,EAAE,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;QACvH,IAAI,IAAI,CAAC,KAAK;YAAE,MAAM,CAAC,GAAG,CAAC,2BAA2B,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC,CAAA;IACpG,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,GAAG,KAAK,EAAE,SAAS,GAAG,KAAK;QAC5E,MAAM,iBAAiB,GAAG,SAAS,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAA;QAChG,MAAM,IAAI,GAAG,GAAG,iBAAiB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,SAAS,CAAC,cAAc,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAA;QAClK,OAAO;YACL,GAAG,SAAS,CAAC,SAAS;YACtB,IAAI,EAAE,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3C,WAAW,EAAE,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC;YACxC,aAAa,EAAE,GAAG;YAClB,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;SACxC,CAAA;IACH,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,cAA0B;QAC9D,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAA;QACpC,KAAK,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE,CAAC;YACxE,MAAM,iBAAiB,GAAG,aAAa,CAAC,EAAE,KAAK,EAAE,CAAA;YACjD,IAAI,iBAAiB,EAAE,CAAC;gBACtB,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,CAC7D;gBAAC,cAAc,CAAC,SAAS,CAAS,CAAC,aAAa,GAAG,eAAe,CAAC,KAAK,EAAE,CAAA;YAC7E,CAAC;QACH,CAAC;QACD,OAAO,cAAc,CAAA;IACvB,CAAC;IAEO,KAAK,CAAC,YAAY;QACxB,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACjD,IAAI,CAAC,cAAc,IAAI,CAAC,CAAA;YACxB,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC5B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YAC1B,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,CAAC,YAAY,EAAE,CAAA;QAC5B,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,cAAc;QAC1B,IAAI,CAAC,cAAc,IAAI,CAAC,CAAA;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,SAAS,GAAG,CAAI,GAAW,EAAE,IAAkB,EAAE,OAAgC,EAAQ,EAAE;QACjG,MAAM,CAAC,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAA;QACzC,IAAI,CAAC,OAAO,CAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAChE,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YACZ,IAAK,GAAG,CAAC,IAAY,CAAC,KAAK,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,aAAa,CAAC,kCAAkC,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,QAAQ,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;YACnI,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;YACzB,CAAC;QACH,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAA;IACjC,CAAC,CAAA;IAEO,KAAK,CAAC,gBAAgB,CAAC,IAAS;QACtC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,IAAI,CAAC,CAAA;QAC/C,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;IACxC,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAAC,KAAsB;QACpD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAC3D,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;YACvC,IAAI,IAAI,CAAC,IAAI,IAAI,4BAA4B,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3D,OAAO;oBACL,IAAI,EAAE,MAAO,QAAgB;yBAC1B,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;yBAChE,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;wBACnB,IAAI,sCAAsC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;4BAC5D,OAAQ,QAAgB;iCACrB,MAAM,CAAC,MAAM,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;iCAC7G,KAAK,CAAC,GAAG,EAAE;gCACV,OAAO,KAAK,CAAC,IAAI,CAAA;4BACnB,CAAC,CAAC;iCACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;gCACb,OAAO,IAAI,CAAA;4BACb,CAAC,CAAC,CAAA;wBACN,CAAC;6BAAM,CAAC;4BACN,OAAQ,QAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gCACtG,OAAO,KAAK,CAAC,IAAI,CAAA;4BACnB,CAAC,CAAC,CAAA;wBACJ,CAAC;oBACH,CAAC,CAAC;yBACD,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;wBACb,OAAO,IAAI,CAAA;oBACb,CAAC,CAAC;iBACL,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO;oBACL,IAAI,EAAE,MAAO,QAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;wBAC3G,OAAO,KAAK,CAAC,IAAI,CAAA;oBACnB,CAAC,CAAC;iBACH,CAAA;YACH,CAAC;QACH,CAAC;QACD,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAA;IACH,CAAC;IAEO,YAAY,GAAG,KAAK,EAAE,GAAW,EAAE,IAAkB,EAAE,OAAY,EAAiB,EAAE;QAC5F,MAAM,CAAC,IAAI,CAAC,gBAAgB,GAAG,GAAG,CAAC,CAAA;QACnC,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClD,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAA;YAClC,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAA;gBAC1F,+DAA+D;gBAC/D,MAAM,OAAO,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;gBACvG,oFAAoF;gBACpF,MAAM,WAAW,GAAG,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;gBAC5I,OAAO,CAAC,IAAI,EAAE;oBACZ,WAAW;oBACX,OAAO;iBACR,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC;gBACH,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,CAAA;YACd,CAAC;QACH,CAAC;IACH,CAAC,CAAA;IAEO,KAAK,CAAC,aAAa,CAAC,GAAW,EAAE,OAAY;QACnD,IAAI,CAAC;YACH,IAAI,CAAC,EAAE;gBAEL,6EAA6E;iBAC5E,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC;gBAE9D,gDAAgD;iBAC/C,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;gBACrB,yDAAyD;gBACzD,2DAA2D;gBAC3D,gCAAgC;gBAChC,IAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;oBAC3B,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;gBAC3G,CAAC;gBACD,sFAAsF;gBACtF,oCAAoC;gBACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,yBAAyB,EAAE,CAAC,CAAA;gBAE5F,6DAA6D;gBAC7D,+DAA+D;gBAC/D,2DAA2D;gBAC3D,0DAA0D;gBAC1D,uCAAuC;gBACvC,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBAC1B,qBAAqB;oBACrB,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAgB,CAAC,CAAQ,CAAA;oBACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;oBACrD,MAAM,CAAC,IAAI,CAAC,6BAA6B,GAAG,kBAAkB,WAAW,GAAG,CAAC,CAAA;oBAC7E,OAAO,CAAC,IAAI,EAAE;wBACZ,WAAW;wBACX,OAAO,EAAE,IAAI;qBACd,CAAC,CAAA;oBACF,OAAM;gBACR,CAAC;gBAED,wEAAwE;gBACxE,IAAI,MAAM,EAAE,IAAI,EAAE,CAAC;oBACjB,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;gBACvB,CAAC;gBAED,oEAAoE;gBACpE,MAAM,cAAc,GAAG,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;gBAEjF,yCAAyC;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;gBAC3D,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;gBACjG,CAAC;gBAED,kHAAkH;gBAClH,MAAM,WAAW,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;gBACnG,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,4CAA4C,GAAG,+CAA+C,WAAW,GAAG,CAAC,CAAA;gBAC3H,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,4CAA4C,GAAG,4CAA4C,WAAW,GAAG,CAAC,CAAA;gBACxH,CAAC;gBAED,qBAAqB;gBACrB,OAAO,CAAC,IAAI,EAAE;oBACZ,WAAW;oBACX,OAAO,EAAE,cAAc;iBACxB,CAAC,CAAA;YACJ,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;YACpC,CAAC,CAAC,CAAA;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAA;QACpC,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,GAAQ,EAAE,GAAW,EAAE,OAAY;QACpD,IAAI,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAA;YACnD,MAAM,oBAAoB,GAAW,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;YAC5E,MAAM,CAAC,GAAG,CAAC,mCAAmC,IAAI,CAAC,iBAAiB,SAAS,oBAAoB,GAAG,CAAC,CAAA;YACrG,IAAI,CAAC,iBAAiB,GAAG,oBAAoB,CAAA;QAC/C,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,oCAAoC,GAAG,WAAW,GAAG,EAAE,CAAC,CAAA;QACnE,OAAO,CAAC,GAAG,CAAC,CAAA;IACd,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,SAAiB,EAAE,WAAW,GAAG,EAAE;QAChE,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEtE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,OAAO,CAAM,cAAc,CAAC,qBAAqB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC,CAAA;QACvH,MAAM,KAAK,GAAG,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAA;QAEpE,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAC5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,CAAA;YACzE,OAAO,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAA;QAChC,CAAC;aAAM,CAAC;YACN,OAAO,KAAK,CAAA;QACd,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,OAAiC,EAAE,GAAW,EAAE,IAAkB,EAAE,QAAkD;QACxI,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;QACvD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAA;QAC9C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAA;QACzC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAA;QAC7C,IAAI,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,cAAc,CAAC,CAAA;QACtD,IAAI,CAAC,KAAK,EAAE,CAAA;IACd,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAAC,KAAa;QAC9C,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAA;QAC5C,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAA;QAE9C,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QAEtE,MAAM,aAAa,GAAG,cAAc,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;QAE9D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAM,aAAa,CAAC,CAAA;QAE1D,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,YAAY,GAAG,uDAAuD,KAAK,MAAM,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,CAAA;YAC/G,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;YAE1B,0EAA0E;YAC1E,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;gBAC9C,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,qBAAqB,EAAE,EAAE,EAAE,CAAA;YAChF,CAAC;YAED,4EAA4E;YAC5E,MAAM,IAAI,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;QAED,MAAM,EACJ,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,QAAQ,EAAE,GAC1D,GAAG,WAAW,CAAA;QAEf,MAAM,kBAAkB,GAAG,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;QAE3F,MAAM,qBAAqB,GAAG,EAAE;aAC7B,MAAM,CAAC,OAAO,EAAE,YAAY,EAAE,iBAAiB,CAAC;aAChD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;aAChB,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAA;QAEtF,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,MAAM,kBAAkB,EAAE,CAAC,CAAA;QAClE,MAAM,CAAC,IAAI,CAAC,uBAAuB,KAAK,MAAM,qBAAqB,EAAE,CAAC,CAAA;QAEtE,MAAM,YAAY,GAAG,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;QAE7D,8CAA8C;QAC9C,IAAI,CAAC,MAAM,SAAS,CAAC,qBAAqB,EAAE,CAAC,IAAI,IAAI,CAAC,iCAAiC,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,oCAAoC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/J,IAAI,CAAC;gBACH,0GAA0G;gBAC1G,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAM,GAAG,SAAS,CAAC,gBAAgB,MAAM,CAAC,CAAA;gBACtF,iBAAiB,CAAC,OAAO,CAAC,CAAC,MAAc,EAAE,EAAE;oBAC3C,IAAI,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;wBAClC,IAAI,CAAC,iCAAiC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBACrD,CAAC;yBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClC,IAAI,CAAC,oCAAoC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBACxD,CAAC;gBACH,CAAC,CAAC,CAAA;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAA;YAChE,CAAC;QACH,CAAC;QACD,OAAO;YACL,YAAY;YACZ,kBAAkB,EAAE,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,iCAAiC,CAAC;YACrF,qBAAqB,EAAE,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC;SAC/F,CAAA;IACH,CAAC;IAED,yFAAyF;IACjF,KAAK,CAAC,cAAc,CAAC,MAAgB;QAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,MAAM,GAAiB,EAAE,CAAA;YAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;YAChD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;YAC1B,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QACxD,CAAC,CAAC,CAAA;IACJ,CAAC;IAEM,MAAM,CAAC,mBAAmB,CAAC,QAAgB;QAChD,IAAI,YAAY,GAAG,EAAE,CAAA;QAErB,0FAA0F;QAC1F,sGAAsG;QACtG,MAAM,UAAU,GAAG,MAAM,CAAC,cAAc,CAAC,GAAG,QAAQ,gBAAgB,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAA;QACpG,MAAM,KAAK,GAAG,+BAA+B,CAAA;QAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBACjD,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;gBACtD,YAAY,GAAG,gDAAgD,YAAY,KAAK,CAAA;YAClF,CAAC;iBAAM,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC3I,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YACnC,CAAC;QACH,CAAC;QAED,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,MAAM,CAAC,CAAA,CAAC,6FAA6F;QAEzJ,OAAO,YAAY,CAAA;IACrB,CAAC;CACF;AAED,OAAO,EAAE,UAAU,IAAI,eAAe,EAAE,CAAA;AAExC,MAAM,EAAE,GAAG,UAAU,CAAC,WAAW,EAAE,CAAA;AACnC,eAAe,EAAgB,CAAA"}
|
|
1
|
+
{"version":3,"file":"Downloader.js","sourceRoot":"","sources":["../src/Downloader.ts"],"names":[],"mappings":"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"}
|
package/lib/Dump.d.ts
CHANGED
package/lib/Dump.js
CHANGED
package/lib/Dump.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dump.js","sourceRoot":"","sources":["../src/Dump.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,MAAM,CAAA;AAClC,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAA;AAC/B,OAAO,KAAK,MAAM,MAAM,aAAa,CAAA;AACrC,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAwBnD,MAAM,OAAO,IAAI;IACR,eAAe,CAAkB;IACjC,KAAK,CAAS;IACd,KAAK,CAAS;IACd,KAAK,CAAS;IACd,KAAK,CAAS;IACd,IAAI,CAAU;IACd,OAAO,CAAa;IACpB,UAAU,CAAY;IACtB,OAAO,CAAQ;IACf,
|
|
1
|
+
{"version":3,"file":"Dump.js","sourceRoot":"","sources":["../src/Dump.ts"],"names":[],"mappings":"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"}
|