wikimasters-cli 0.1.1 → 1.0.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 CHANGED
@@ -6,7 +6,7 @@
6
6
 
7
7
  - [Node.js](https://nodejs.org) 22.13.0 or later, with npm.
8
8
  - A browser, to sign in to the site.
9
- - For `login --firefox` only: Firefox installed in `/Applications` on macOS.
9
+ - Optional: Firefox installed as `/Applications/Firefox.app`, needed only by `wikimasters login --firefox`, or Google Chrome installed as `/Applications/Google Chrome.app`, needed only by `wikimasters login --chrome`; both work on macOS only.
10
10
 
11
11
  ## Getting started
12
12
 
@@ -36,7 +36,7 @@ Run every command from any directory as `wikimasters <command>`. `wikimasters <c
36
36
 
37
37
  | Command | What it does | Example |
38
38
  |---|---|---|
39
- | `login` | Signs in by pasting your browser's session, or with `--firefox` through a Firefox window it opens on macOS, and stores the session in `~/.config/wikimasters-cli/.env` | `wikimasters login` |
39
+ | `login` | Signs in by pasting your browser's session, or with `--firefox` or `--chrome` through a Firefox or Chrome window it opens on macOS, and stores the session in `~/.config/wikimasters-cli/.env` | `wikimasters login` |
40
40
  | `cards search <text...> [--in <field>]` | Finds the catalogue cards whose title contains the text, regardless of case, at most 50, ordered by title; `--in category` or `--in summary` searches the card's Wikipedia category or summary instead | `wikimasters cards search half dome` |
41
41
  | `cards value <card-id...>` | Shows the average sale price in wikibidous of each card, owned or not, for each rarity it sold under, or that it never sold; stops at the first card the game refuses | `wikimasters cards value <card-uuid> <card-uuid>` |
42
42
  | `cards global [text] [--page <n>] [--sort <field>] [--rarity <code>]... [--wishlist]` | Searches the game's Global Collection, in the card title and category, and prints one page of cards with whether you own or wish each one and the friends who own it with their rarities, then the total, the count by rarity, the pending offers and whether more cards match; options go to the game as given, pages counting from 0, `--rarity` repeated for several rarities, `--wishlist` keeping your wishlist's cards | `wikimasters cards global "Mont Blanc"` |
@@ -82,9 +82,9 @@ The site signs in with an email and a password behind a captcha, so the CLI neve
82
82
  1. Open `https://www.wiki-masters.com/login` in a private browser window and sign in.
83
83
  2. Open the developer tools: Storage tab in Firefox, Application tab in Chrome. In the cookies of `www.wiki-masters.com`, copy the value of `sb-cyrxjeppjqsxxjayfrur-auth-token`, or of each of its chunks `sb-cyrxjeppjqsxxjayfrur-auth-token.0`, `.1`…
84
84
  3. Close the private window without logging out.
85
- 4. Run `wikimasters login` and paste each value in order, one per line, then an empty line. What you paste is not displayed.
85
+ 4. Run `wikimasters login` and paste each value in order, pressing Enter after each one. What you paste is not displayed: the CLI shows the number and length of each chunk it receives, and goes on by itself once the session is complete. An empty line or the end of the input stops reading; if the session is still incomplete, the login fails.
86
86
 
87
- On macOS with Firefox, `wikimasters login --firefox` does the same without copying anything: it opens Firefox on a throwaway profile, you sign in there, and the CLI reads the cookie from that profile, closes Firefox and deletes the profile. It waits 5 minutes at most.
87
+ On macOS with Firefox, `wikimasters login --firefox` does the same without copying anything: it opens Firefox on a throwaway profile, you sign in there, and the CLI reads the cookie from that profile, closes Firefox and deletes the profile. It waits 5 minutes at most. On macOS with Google Chrome, `wikimasters login --chrome` does the same with Chrome, without touching your usual Chrome profile or the macOS keychain; Chrome writes the cookie to disk up to 30 seconds after you sign in, so the window closes within that delay. The two options cannot be combined. On macOS, `wikimasters login` reminds you of these options before its copy instructions.
88
88
 
89
89
  What the CLI does with your session:
90
90
 
@@ -100,7 +100,7 @@ The code handling the session:
100
100
  | File | Role |
101
101
  |---|---|
102
102
  | `src/cli/pasted-session.ts` | reads the pasted cookie value |
103
- | `src/core/browser-login.ts` | reads the cookie from the throwaway Firefox profile |
103
+ | `src/core/browser-login.ts` | reads the cookie from the throwaway Firefox or Chrome profile |
104
104
  | `src/core/auth-cookie.ts` | extracts the refresh token from the cookie, and builds the cookie sent to the `/api/...` routes |
105
105
  | `src/cli/config.ts` | reads the session file and writes the new refresh token to it |
106
106
  | `src/cli/session.ts`, `src/core/session.ts` | exchange the refresh token with Supabase and send the session with every Supabase request |
@@ -1,18 +1,23 @@
1
1
  import { createInterface } from "node:readline";
2
2
  import { Writable } from "node:stream";
3
- import { AUTH_COOKIE_NAME, SITE_URL, WikiMastersError, refreshTokenFromAuthCookieChunks, } from "../core/index.js";
3
+ import { AUTH_COOKIE_NAME, SITE_URL, WikiMastersError, findRefreshTokenInAuthCookieChunks, refreshTokenFromAuthCookieChunks, } from "../core/index.js";
4
4
  const discardedOutput = new Writable({
5
5
  write: (_chunk, _encoding, done) => done(),
6
6
  });
7
- function pasteInstructions(hidden) {
7
+ function pasteInstructions(hidden, platform) {
8
8
  return [
9
+ ...(platform === "darwin"
10
+ ? [
11
+ "wikimasters login --firefox or wikimasters login --chrome signs you in through a Firefox or Chrome window without copying the session.",
12
+ ]
13
+ : []),
9
14
  `Sign in to ${SITE_URL}/login in a private browser window.`,
10
15
  `Open the developer tools (Storage tab in Firefox, Application tab in Chrome) and copy the value of the ${AUTH_COOKIE_NAME} cookie, or of each of its chunks ${AUTH_COOKIE_NAME}.0, .1…`,
11
- "Close the private window without logging out, then paste each value here in order, one per line, and end with an empty line.",
16
+ "Close the private window without logging out, then paste each value here in order and press Enter after each one: the command goes on once the session is complete.",
12
17
  ...(hidden ? ["What you paste is not displayed."] : []),
13
18
  ].join("\n");
14
19
  }
15
- export function readPastedLines(input) {
20
+ export function readPastedLines(input, onChunk) {
16
21
  const reader = createInterface({
17
22
  input,
18
23
  output: discardedOutput,
@@ -27,13 +32,12 @@ export function readPastedLines(input) {
27
32
  if (ended)
28
33
  return;
29
34
  const value = line.trim();
30
- if (value === "") {
35
+ if (value !== "")
36
+ lines.push(value);
37
+ if (value === "" || onChunk(lines, value)) {
31
38
  ended = true;
32
39
  reader.close();
33
40
  }
34
- else {
35
- lines.push(value);
36
- }
37
41
  });
38
42
  reader.on("SIGINT", () => {
39
43
  reject(new WikiMastersError("Login cancelled"));
@@ -42,8 +46,20 @@ export function readPastedLines(input) {
42
46
  reader.on("close", () => resolve(lines));
43
47
  });
44
48
  }
45
- export async function readPastedRefreshToken(input = process.stdin) {
46
- console.error(pasteInstructions(input.isTTY === true));
47
- return refreshTokenFromAuthCookieChunks(await readPastedLines(input));
49
+ function askForChunk(index) {
50
+ console.error(`Paste chunk .${index} and press Enter, or press Enter on an empty line to finish.`);
51
+ }
52
+ export async function readPastedRefreshToken(input = process.stdin, platform = process.platform) {
53
+ console.error(pasteInstructions(input.isTTY === true, platform));
54
+ askForChunk(0);
55
+ let refreshToken;
56
+ const chunks = await readPastedLines(input, (received, chunk) => {
57
+ console.error(`Received chunk .${received.length - 1}: ${chunk.length} characters.`);
58
+ refreshToken = findRefreshTokenInAuthCookieChunks(received);
59
+ if (refreshToken === undefined)
60
+ askForChunk(received.length);
61
+ return refreshToken !== undefined;
62
+ });
63
+ return refreshToken ?? refreshTokenFromAuthCookieChunks(chunks);
48
64
  }
49
65
  //# sourceMappingURL=pasted-session.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pasted-session.js","sourceRoot":"","sources":["../../src/cli/pasted-session.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,gCAAgC,GACjC,MAAM,kBAAkB,CAAC;AAI1B,MAAM,eAAe,GAAG,IAAI,QAAQ,CAAC;IACnC,KAAK,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE;CAC3C,CAAC,CAAC;AAEH,SAAS,iBAAiB,CAAC,MAAe;IACxC,OAAO;QACL,cAAc,QAAQ,qCAAqC;QAC3D,0GAA0G,gBAAgB,qCAAqC,gBAAgB,SAAS;QACxL,8HAA8H;QAC9H,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAiB;IAC/C,MAAM,MAAM,GAAG,eAAe,CAAC;QAC7B,KAAK;QACL,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,KAAK,CAAC,KAAK,KAAK,IAAI;QAC9B,WAAW,EAAE,CAAC;QACd,SAAS,EAAE,QAAQ;KACpB,CAAC,CAAC;IACH,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;YACzB,IAAI,KAAK;gBAAE,OAAO;YAClB,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1B,IAAI,KAAK,KAAK,EAAE,EAAE,CAAC;gBACjB,KAAK,GAAG,IAAI,CAAC;gBACb,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;QACH,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YACvB,MAAM,CAAC,IAAI,gBAAgB,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,KAAK,GAAe,OAAO,CAAC,KAAK;IAEjC,OAAO,CAAC,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC;IACvD,OAAO,gCAAgC,CAAC,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"pasted-session.js","sourceRoot":"","sources":["../../src/cli/pasted-session.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { Command } from "commander";
2
- import { AUCTION_LIMIT, CARD_SEARCH_FIELDS, NOTIFICATION_LIMIT, PAGE_LIMIT, addToWishlist, asEntryId, asLabelId, cancelAuction, createAuction, createLabel, deleteLabel, discardEntries, listAuctions, listCollection, listLabels, listNotifications, listRunningBids, listWishlist, loginInBrowser, parseAuctionDuration, parseAuctionId, parseAuctionLimit, parseAuctionSearchPage, parseBidAmount, parseCardId, parseCardSearchField, parsePageLimit, parsePageNumber, parseStartingPrice, placeBid, readCardValues, readProfileCollection, removeFromWishlist, searchAuctions, searchCards, searchGlobalCollection, showAuction, starEntry, tagEntry, unstarEntry, untagEntry, } from "../core/index.js";
1
+ import { Command, Option } from "commander";
2
+ import { AUCTION_LIMIT, CARD_SEARCH_FIELDS, NOTIFICATION_LIMIT, PAGE_LIMIT, addToWishlist, asEntryId, asLabelId, cancelAuction, createAuction, createLabel, deleteLabel, discardEntries, listAuctions, listCollection, listLabels, listNotifications, listRunningBids, listWishlist, loginInChrome, loginInFirefox, parseAuctionDuration, parseAuctionId, parseAuctionLimit, parseAuctionSearchPage, parseBidAmount, parseCardId, parseCardSearchField, parsePageLimit, parsePageNumber, parseStartingPrice, placeBid, readCardValues, readProfileCollection, removeFromWishlist, searchAuctions, searchCards, searchGlobalCollection, showAuction, starEntry, tagEntry, unstarEntry, untagEntry, } from "../core/index.js";
3
3
  import { loadConfig } from "./config.js";
4
4
  import { formatAddition, formatAuction, formatAuctionSearch, formatAuctions, formatBid, formatCancelledAuction, formatCardSearch, formatCardValues, formatCollection, formatCreatedAuction, formatDiscard, formatEntryFavourite, formatEntryTag, formatEntryUntag, formatGlobalCollection, formatLabelCreation, formatLabelDeletion, formatLabels, formatLogin, formatNotifications, formatProfileCollection, formatRemoval, formatRunningBids, formatWishlist, } from "./output.js";
5
5
  import { readPastedRefreshToken } from "./pasted-session.js";
@@ -20,18 +20,26 @@ function examples(...calls) {
20
20
  function format() {
21
21
  return program.opts().json ? "json" : "text";
22
22
  }
23
- function loginInFirefox() {
24
- console.error("Sign in to WikiMasters in the Firefox window that just opened; it closes once the session is found…");
25
- return loginInBrowser();
23
+ function readRefreshToken({ firefox, chrome }) {
24
+ if (firefox) {
25
+ console.error("Sign in to WikiMasters in the Firefox window that just opened; it closes once the session is found…");
26
+ return loginInFirefox();
27
+ }
28
+ if (chrome) {
29
+ console.error("Sign in to WikiMasters in the Chrome window that just opened; it closes once the session is found, up to 30 s after you sign in…");
30
+ return loginInChrome();
31
+ }
32
+ return readPastedRefreshToken();
26
33
  }
27
34
  program
28
35
  .command("login")
29
36
  .description("Sign in by pasting the session of your browser and store it in $XDG_CONFIG_HOME/wikimasters-cli/.env, ~/.config/wikimasters-cli/.env by default")
30
37
  .option("--firefox", "sign in through a Firefox window the command opens instead, on macOS")
31
- .addHelpText("after", examples("wikimasters login", "wikimasters login --firefox"))
32
- .action(async ({ firefox }) => {
38
+ .addOption(new Option("--chrome", "sign in through a Chrome window the command opens instead, on macOS").conflicts("firefox"))
39
+ .addHelpText("after", examples("wikimasters login", "wikimasters login --firefox", "wikimasters login --chrome"))
40
+ .action(async (options) => {
33
41
  loadConfig();
34
- const session = await openSession(firefox ? await loginInFirefox() : await readPastedRefreshToken());
42
+ const session = await openSession(await readRefreshToken(options));
35
43
  console.log(formatLogin(session.userId, format()));
36
44
  });
37
45
  const auction = program.command("auction").description("Take part in auctions");
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,UAAU,EACV,aAAa,EACb,SAAS,EACT,SAAS,EACT,aAAa,EACb,aAAa,EACb,WAAW,EACX,WAAW,EACX,cAAc,EACd,YAAY,EACZ,cAAc,EACd,UAAU,EACV,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,aAAa,EACb,cAAc,EACd,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EACjB,sBAAsB,EACtB,cAAc,EACd,WAAW,EACX,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,QAAQ,EACR,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,sBAAsB,EACtB,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,EACX,UAAU,GAGX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EACL,cAAc,EACd,aAAa,EACb,mBAAmB,EACnB,cAAc,EACd,SAAS,EACT,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,WAAW,EACX,mBAAmB,EACnB,uBAAuB,EACvB,aAAa,EACb,iBAAiB,EACjB,cAAc,GAEf,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,aAAa,CAAC;KAC9C,WAAW,CAAC,2BAA2B,CAAC;KACxC,MAAM,CAAC,QAAQ,EAAE,oCAAoC,CAAC;KACtD,aAAa,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;AAE9C,MAAM,kBAAkB,GAAG,sCAAsC,CAAC;AAClE,MAAM,eAAe,GAAG,sCAAsC,CAAC;AAC/D,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;AACrE,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AAChE,MAAM,sBAAsB,GAAG,sCAAsC,CAAC;AACtE,MAAM,gBAAgB,GAAG,sCAAsC,CAAC;AAEhE,SAAS,QAAQ,CAAC,GAAG,KAAe;IAClC,OAAO,gBAAgB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AACzE,CAAC;AAED,SAAS,MAAM;IACb,OAAO,OAAO,CAAC,IAAI,EAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;AACnE,CAAC;AAOD,SAAS,gBAAgB,CAAC,EAAE,OAAO,EAAE,MAAM,EAAgB;IACzD,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CAAC,KAAK,CACX,qGAAqG,CACtG,CAAC;QACF,OAAO,cAAc,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CACX,kIAAkI,CACnI,CAAC;QACF,OAAO,aAAa,EAAE,CAAC;IACzB,CAAC;IACD,OAAO,sBAAsB,EAAE,CAAC;AAClC,CAAC;AAED,OAAO;KACJ,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CACV,iJAAiJ,CAClJ;KACA,MAAM,CACL,WAAW,EACX,sEAAsE,CACvE;KACA,SAAS,CACR,IAAI,MAAM,CACR,UAAU,EACV,qEAAqE,CACtE,CAAC,SAAS,CAAC,SAAS,CAAC,CACvB;KACA,WAAW,CACV,OAAO,EACP,QAAQ,CACN,mBAAmB,EACnB,6BAA6B,EAC7B,4BAA4B,CAC7B,CACF;KACA,MAAM,CAAC,KAAK,EAAE,OAAqB,EAAE,EAAE;IACtC,UAAU,EAAE,CAAC;IACb,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,MAAM,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAOL,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAEhF,OAAO;KACJ,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CACV,wFAAwF,CACzF;KACA,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;KACxC,QAAQ,CAAC,UAAU,EAAE,gDAAgD,CAAC;KACtE,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,2BAA2B,kBAAkB,MAAM,CAAC,CAC9D;KACA,MAAM,CAAC,KAAK,EAAE,YAAoB,EAAE,SAAiB,EAAE,EAAE;IACxD,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,SAAS,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAChE,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CACV,sNAAsN,CACvN;KACA,MAAM,CAAC,YAAY,EAAE,2CAA2C,EAAE,GAAG,CAAC;KACtE,MAAM,CACL,aAAa,EACb,+DAA+D,EAC/D,MAAM,CAAC,UAAU,CAAC,CACnB;KACA,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,0BAA0B,EAAE,mCAAmC,CAAC,CAC1E;KACA,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAe,EAAE,EAAE;IAC7C,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;QAC3B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;KAC7B,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,MAAM,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,wIAAwI,CACzI;KACA,QAAQ,CAAC,YAAY,EAAE,uCAAuC,CAAC;KAC/D,QAAQ,CAAC,kBAAkB,EAAE,8CAA8C,CAAC;KAC5E,QAAQ,CAAC,YAAY,EAAE,uCAAuC,CAAC;KAC/D,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,8BAA8B,gBAAgB,QAAQ,CAAC,CACjE;KACA,MAAM,CACL,KAAK,EAAE,OAAe,EAAE,gBAAwB,EAAE,WAAmB,EAAE,EAAE;IACvE,MAAM,aAAa,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,MAAM,QAAQ,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACnD,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,oBAAoB,CAClB,MAAM,aAAa,CACjB,OAAO,EACP,SAAS,CAAC,OAAO,CAAC,EAClB,aAAa,EACb,QAAQ,CACT,EACD,MAAM,EAAE,CACT,CACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEJ,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,yHAAyH,CAC1H;KACA,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;KACxC,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,8BAA8B,kBAAkB,EAAE,CAAC,CAC7D;KACA,MAAM,CAAC,KAAK,EAAE,YAAoB,EAAE,EAAE;IACrC,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,sBAAsB,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAC1E,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CACV,qJAAqJ,CACtJ;KACA,MAAM,CACL,mBAAmB,EACnB,oDAAoD,CACrD;KACA,MAAM,CACL,aAAa,EACb,yDAAyD,EACzD,MAAM,CAAC,aAAa,CAAC,CACtB;KACA,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,qDAAqD,CAAC,CAChE;KACA,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,GAAG,MAAM,EAAqC,EAAE,EAAE;IACxE,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,MAAM,WAAW,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAOL,OAAO;KACJ,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,yLAAyL,CAC1L;KACA,QAAQ,CACP,WAAW,EACX,wDAAwD,CACzD;KACA,MAAM,CACL,aAAa,EACb,yDAAyD,EACzD,MAAM,CAAC,aAAa,CAAC,CACtB;KACA,MAAM,CACL,YAAY,EACZ,sDAAsD,EACtD,GAAG,CACJ;KACA,WAAW,CACV,OAAO,EACP,QAAQ,CACN,gDAAgD,EAChD,+CAA+C,CAChD,CACF;KACA,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,EAAE,KAAK,EAAE,IAAI,EAAwB,EAAE,EAAE;IACvE,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC9C,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACtE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEL,OAAO;KACJ,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CACV,wGAAwG,CACzG;KACA,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAC;KACxC,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,4BAA4B,kBAAkB,EAAE,CAAC,CAC3D;KACA,MAAM,CAAC,KAAK,EAAE,YAAoB,EAAE,EAAE;IACrC,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/C,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEL,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;AAEhF,KAAK;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,4IAA4I,CAC7I;KACA,QAAQ,CAAC,WAAW,EAAE,mDAAmD,CAAC;KAC1E,MAAM,CACL,cAAc,EACd,6BAA6B,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAC5D,OAAO,CACR;KACA,WAAW,CACV,OAAO,EACP,QAAQ,CACN,oCAAoC,EACpC,+CAA+C,CAChD,CACF;KACA,MAAM,CAAC,KAAK,EAAE,KAAe,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAkB,EAAE,EAAE;IAClE,MAAM,KAAK,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IAC7C,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AAEL,KAAK;KACF,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CACV,mJAAmJ,CACpJ;KACA,QAAQ,CAAC,cAAc,EAAE,YAAY,CAAC;KACtC,WAAW,CACV,OAAO,EACP,QAAQ,CACN,2BAA2B,eAAe,IAAI,qBAAqB,EAAE,CACtE,CACF;KACA,MAAM,CAAC,KAAK,EAAE,UAAoB,EAAE,EAAE;IACrC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAClD,CAAC,CAAC,CAAC;AASL,SAAS,QAAQ,CAAC,KAAa,EAAE,QAAQ,GAAa,EAAE;IACtD,OAAO,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC;AAC9B,CAAC;AAED,KAAK;KACF,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,iMAAiM,CAClM;KACA,QAAQ,CAAC,QAAQ,EAAE,uDAAuD,CAAC;KAC3E,MAAM,CACL,YAAY,EACZ,0EAA0E,CAC3E;KACA,MAAM,CACL,gBAAgB,EAChB,kFAAkF,CACnF;KACA,MAAM,CACL,iBAAiB,EACjB,4EAA4E,EAC5E,QAAQ,CACT;KACA,MAAM,CAAC,YAAY,EAAE,sCAAsC,CAAC;KAC5D,WAAW,CACV,OAAO,EACP,QAAQ,CACN,uCAAuC,EACvC,qCAAqC,EACrC,+EAA+E,CAChF,CACF;KACA,MAAM,CACL,KAAK,EACH,IAAwB,EACxB,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAA2B,EACzD,EAAE;IACF,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,OAAO,EAAE;QACnD,IAAI;QACJ,IAAI;QACJ,IAAI;QACJ,QAAQ,EAAE,MAAM;QAChB,QAAQ;KACT,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACxD,CAAC,CACF,CAAC;AAEJ,MAAM,UAAU,GAAG,OAAO;KACvB,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CAAC,wBAAwB,CAAC,CAAC;AAIzC,UAAU;KACP,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CACV,qMAAqM,CACtM;KACA,MAAM,CACL,iBAAiB,EACjB,iEAAiE,CAClE;KACA,MAAM,CAAC,YAAY,EAAE,2CAA2C,EAAE,GAAG,CAAC;KACtE,MAAM,CACL,aAAa,EACb,gEAAgE,EAChE,MAAM,CAAC,UAAU,CAAC,CACnB;KACA,WAAW,CACV,OAAO,EACP,QAAQ,CACN,wCAAwC,EACxC,sCAAsC,CACvC,CACF;KACA,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAyB,EAAE,EAAE;IAClE,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;QAC3B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;KAC7B,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,MAAM,WAAW,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CACV,0HAA0H,CAC3H;KACA,QAAQ,CAAC,eAAe,EAAE,wCAAwC,CAAC;KACnE,WAAW,CACV,OAAO,EACP,QAAQ,CACN,kCAAkC,gBAAgB,IAAI,sBAAsB,EAAE,CAC/E,CACF;KACA,MAAM,CAAC,KAAK,EAAE,QAAkB,EAAE,EAAE;IACnC,MAAM,MAAM,GAAG,MAAM,cAAc,CACjC,MAAM,WAAW,EAAE,EACnB,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CACxB,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IAC7C,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+CAA+C,CAAC;KAC5D,QAAQ,CAAC,YAAY,EAAE,uCAAuC,CAAC;KAC/D,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,+BAA+B,gBAAgB,EAAE,CAAC,CAC5D;KACA,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAChC,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,oBAAoB,CAClB,MAAM,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC5C,MAAM,EAAE,CACT,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wDAAwD,CAAC;KACrE,QAAQ,CAAC,YAAY,EAAE,uCAAuC,CAAC;KAC/D,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,iCAAiC,gBAAgB,EAAE,CAAC,CAC9D;KACA,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAChC,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,oBAAoB,CAClB,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC9C,MAAM,EAAE,CACT,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CAAC,uDAAuD,CAAC;KACpE,QAAQ,CAAC,YAAY,EAAE,uCAAuC,CAAC;KAC/D,QAAQ,CAAC,YAAY,EAAE,mCAAmC,CAAC;KAC3D,WAAW,CACV,OAAO,EACP,QAAQ,CACN,8BAA8B,gBAAgB,IAAI,gBAAgB,EAAE,CACrE,CACF;KACA,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,cAAc,CACZ,MAAM,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC/D,MAAM,EAAE,CACT,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,UAAU;KACP,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CACV,oGAAoG,CACrG;KACA,QAAQ,CAAC,YAAY,EAAE,uCAAuC,CAAC;KAC/D,QAAQ,CAAC,YAAY,EAAE,mCAAmC,CAAC;KAC3D,WAAW,CACV,OAAO,EACP,QAAQ,CACN,gCAAgC,gBAAgB,IAAI,gBAAgB,EAAE,CACvE,CACF;KACA,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,OAAe,EAAE,EAAE;IACjD,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,gBAAgB,CACd,MAAM,UAAU,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EACjE,MAAM,EAAE,CACT,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAE3E,MAAM;KACH,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,6DAA6D,CAAC;KAC1E,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,yBAAyB,CAAC,CAAC;KACzD,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,UAAU,CAAC,MAAM,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7E,CAAC,CAAC,CAAC;AAEL,MAAM;KACH,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,iDAAiD,CAAC;KAC9D,QAAQ,CAAC,QAAQ,EAAE,YAAY,CAAC;KAChC,MAAM,CAAC,kBAAkB,EAAE,yCAAyC,CAAC;KACrE,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,4DAA4D,CAAC,CACvE;KACA,MAAM,CAAC,KAAK,EAAE,IAAY,EAAE,EAAE,KAAK,EAAsB,EAAE,EAAE;IAC5D,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,mBAAmB,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CACvE,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,MAAM;KACH,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,wDAAwD,CAAC;KACrE,QAAQ,CAAC,YAAY,EAAE,mCAAmC,CAAC;KAC3D,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,6BAA6B,gBAAgB,EAAE,CAAC,CAC1D;KACA,MAAM,CAAC,KAAK,EAAE,OAAe,EAAE,EAAE;IAChC,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,mBAAmB,CACjB,MAAM,WAAW,CAAC,OAAO,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,EAC9C,MAAM,EAAE,CACT,CACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,MAAM,aAAa,GAAG,OAAO;KAC1B,OAAO,CAAC,eAAe,CAAC;KACxB,WAAW,CAAC,0CAA0C,CAAC,CAAC;AAQ3D,aAAa;KACV,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CACV,4OAA4O,CAC7O;KACA,MAAM,CACL,eAAe,EACf,2OAA2O,EAC3O,QAAQ,EACR,EAAE,CACH;KACA,MAAM,CAAC,UAAU,EAAE,+CAA+C,CAAC;KACnE,MAAM,CACL,gBAAgB,EAChB,gHAAgH,CACjH;KACA,MAAM,CAAC,YAAY,EAAE,2CAA2C,EAAE,GAAG,CAAC;KACtE,MAAM,CACL,aAAa,EACb,wEAAwE,EACxE,MAAM,CAAC,kBAAkB,CAAC,CAC3B;KACA,WAAW,CACV,OAAO,EACP,QAAQ,CACN,gCAAgC,EAChC,4GAA4G,EAC5G,kGAAkG,EAClG,oDAAoD,CACrD,CACF;KACA,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAuB,EAAE,EAAE;IACtE,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,eAAe,CAAC,IAAI,CAAC;QAC3B,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC;KAC7B,CAAC;IACF,MAAM,MAAM,GAAG,MAAM,iBAAiB,CACpC,MAAM,WAAW,EAAE,EACnB,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,EAC1B,OAAO,CACR,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEL,MAAM,OAAO,GAAG,OAAO;KACpB,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,iCAAiC,CAAC,CAAC;AAUlD,OAAO;KACJ,OAAO,CAAC,YAAY,CAAC;KACrB,WAAW,CACV,yNAAyN,CAC1N;KACA,QAAQ,CAAC,UAAU,EAAE,2CAA2C,CAAC;KACjE,MAAM,CACL,YAAY,EACZ,wEAAwE,EACxE,GAAG,CACJ;KACA,MAAM,CACL,gBAAgB,EAChB,6DAA6D,CAC9D;KACA,MAAM,CAAC,iBAAiB,EAAE,2CAA2C,CAAC;KACtE,MAAM,CACL,iBAAiB,EACjB,wEAAwE,EACxE,QAAQ,EACR,EAAE,CACH;KACA,MAAM,CAAC,cAAc,EAAE,sCAAsC,CAAC;KAC9D,WAAW,CACV,OAAO,EACP,QAAQ,CACN,2CAA2C,EAC3C,2EAA2E,EAC3E,uDAAuD,EACvD,6EAA6E,CAC9E,CACF;KACA,MAAM,CACL,KAAK,EAAE,MAAc,EAAE,EAAE,MAAM,EAAE,GAAG,KAAK,EAA4B,EAAE,EAAE;IACvE,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE;QAC1D,GAAG,KAAK;QACR,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AACzD,CAAC,CACF,CAAC;AAEJ,MAAM,QAAQ,GAAG,OAAO;KACrB,OAAO,CAAC,UAAU,CAAC;KACnB,WAAW,CAAC,sBAAsB,CAAC,CAAC;AAEvC,QAAQ;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CACV,sGAAsG,CACvG;KACA,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,2BAA2B,CAAC,CAAC;KAC3D,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,OAAO,CAAC,GAAG,CACT,cAAc,CAAC,MAAM,YAAY,CAAC,MAAM,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAClE,CAAC;AACJ,CAAC,CAAC,CAAC;AAEL,QAAQ;KACL,OAAO,CAAC,KAAK,CAAC;KACd,WAAW,CACV,qFAAqF,CACtF;KACA,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;KAClC,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,4BAA4B,eAAe,EAAE,CAAC,CAAC;KAC7E,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,EAAE;IAClC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,MAAM,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC,CAAC;AAEL,QAAQ;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CACV,0EAA0E,CAC3E;KACA,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;KAClC,WAAW,CACV,OAAO,EACP,QAAQ,CAAC,+BAA+B,eAAe,EAAE,CAAC,CAC3D;KACA,MAAM,CAAC,KAAK,EAAE,SAAiB,EAAE,EAAE;IAClC,MAAM,MAAM,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,MAAM,WAAW,EAAE,CAAC;IACpC,OAAO,CAAC,GAAG,CACT,aAAa,CAAC,MAAM,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CACnE,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -25,22 +25,28 @@ export function refreshTokenFromAuthCookies(cookies) {
25
25
  ? undefined
26
26
  : refreshTokenFromAuthCookieChunks(chunks);
27
27
  }
28
- export function refreshTokenFromAuthCookieChunks(chunks) {
28
+ export function findRefreshTokenInAuthCookieChunks(chunks) {
29
29
  let session;
30
30
  try {
31
31
  session = decodeSession(chunks.join(""));
32
32
  }
33
33
  catch {
34
- session = undefined;
34
+ return undefined;
35
35
  }
36
- if (typeof session !== "object" ||
37
- session === null ||
38
- !("refresh_token" in session) ||
39
- typeof session.refresh_token !== "string" ||
40
- session.refresh_token === "") {
36
+ return typeof session === "object" &&
37
+ session !== null &&
38
+ "refresh_token" in session &&
39
+ typeof session.refresh_token === "string" &&
40
+ session.refresh_token !== ""
41
+ ? session.refresh_token
42
+ : undefined;
43
+ }
44
+ export function refreshTokenFromAuthCookieChunks(chunks) {
45
+ const refreshToken = findRefreshTokenInAuthCookieChunks(chunks);
46
+ if (refreshToken === undefined) {
41
47
  throw new WikiMastersError(`The ${AUTH_COOKIE_NAME} cookie holds no refresh token: check that every chunk is there, in order`);
42
48
  }
43
- return session.refresh_token;
49
+ return refreshToken;
44
50
  }
45
51
  // @supabase/ssr reads the unchunked cookie before any `.N` chunk; its 3180-byte chunk limit only matters to browsers.
46
52
  export function authCookieHeader(session) {
@@ -1 +1 @@
1
- {"version":3,"file":"auth-cookie.js","sourceRoot":"","sources":["../../src/core/auth-cookie.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,oBAAoB,aAAa,CAAC;AAExE,MAAM,aAAa,GAAG,SAAS,CAAC;AAOhC,SAAS,gBAAgB,CAAC,OAA0B;IAClD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACxE,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IAC3C,IAAI,KAAK;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IAE1B,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,IAAI,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,gBAAgB,IAAI,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,SAAS,aAAa,CAAC,GAAW;IAChC,MAAM,IAAI,GAAG,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC;QACxC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC5E,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,OAA0B;IAE1B,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO,MAAM,KAAK,SAAS;QACzB,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,gCAAgC,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,gCAAgC,CAC9C,MAAyB;IAEzB,IAAI,OAAgB,CAAC;IACrB,IAAI,CAAC;QACH,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,SAAS,CAAC;IACtB,CAAC;IACD,IACE,OAAO,OAAO,KAAK,QAAQ;QAC3B,OAAO,KAAK,IAAI;QAChB,CAAC,CAAC,eAAe,IAAI,OAAO,CAAC;QAC7B,OAAO,OAAO,CAAC,aAAa,KAAK,QAAQ;QACzC,OAAO,CAAC,aAAa,KAAK,EAAE,EAC5B,CAAC;QACD,MAAM,IAAI,gBAAgB,CACxB,OAAO,gBAAgB,2EAA2E,CACnG,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC,aAAa,CAAC;AAC/B,CAAC;AAED,sHAAsH;AACtH,MAAM,UAAU,gBAAgB,CAAC,OAAe;IAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,QAAQ,CACnE,WAAW,CACZ,CAAC;IACF,OAAO,GAAG,gBAAgB,IAAI,aAAa,GAAG,OAAO,EAAE,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"auth-cookie.js","sourceRoot":"","sources":["../../src/core/auth-cookie.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,58 @@
1
1
  import { spawn } from "node:child_process";
2
+ import { createDecipheriv, createHash, pbkdf2Sync } from "node:crypto";
2
3
  import { copyFileSync, existsSync, mkdtempSync, rmSync, writeFileSync, } from "node:fs";
3
4
  import { tmpdir } from "node:os";
4
- import { join } from "node:path";
5
+ import { basename, join } from "node:path";
5
6
  import { DatabaseSync } from "node:sqlite";
6
7
  import { setTimeout as sleep } from "node:timers/promises";
7
8
  import { AUTH_COOKIE_NAME, refreshTokenFromAuthCookies, } from "./auth-cookie.js";
8
9
  import { WikiMastersError } from "./errors.js";
9
10
  import { SITE_URL } from "./supabase.js";
10
11
  export const FIREFOX_BINARY = "/Applications/Firefox.app/Contents/MacOS/firefox";
11
- const COOKIES_DB = "cookies.sqlite";
12
- const PROFILE_PREFS = [
12
+ const FIREFOX_PREFS = [
13
13
  'user_pref("browser.shell.checkDefaultBrowser", false);',
14
14
  'user_pref("browser.aboutwelcome.enabled", false);',
15
15
  'user_pref("browser.startup.homepage_override.mstone", "ignore");',
16
16
  'user_pref("datareporting.policy.dataSubmissionPolicyBypassNotification", true);',
17
17
  ];
18
- export function readRefreshTokenFromFirefoxProfile(profileDir) {
19
- const database = join(profileDir, COOKIES_DB);
18
+ export const CHROME_BINARY = "/Applications/Google Chrome.app/Contents/MacOS/Google Chrome";
19
+ // Chromium crypto/apple/fake_keychain_v2.mm: with --use-mock-keychain, "mock_password" stands for the "Chrome Safe Storage" keychain entry; components/os_crypt/async/browser/keychain_key_provider.mm derives the key from it.
20
+ const CHROME_MOCK_KEYCHAIN_KEY = pbkdf2Sync("mock_password", "saltysalt", 1003, 16, "sha1");
21
+ const LOGIN_URL = `${SITE_URL}/login`;
22
+ const FIREFOX = {
23
+ name: "Firefox",
24
+ binary: FIREFOX_BINARY,
25
+ prepareLaunch(profileDir) {
26
+ writeFileSync(join(profileDir, "user.js"), `${FIREFOX_PREFS.join("\n")}\n`);
27
+ return ["--no-remote", "--profile", profileDir, LOGIN_URL];
28
+ },
29
+ readRefreshToken: readRefreshTokenFromFirefoxProfile,
30
+ };
31
+ const CHROME = {
32
+ name: "Chrome",
33
+ binary: CHROME_BINARY,
34
+ prepareLaunch: (profileDir) => [
35
+ `--user-data-dir=${profileDir}`,
36
+ "--use-mock-keychain",
37
+ "--no-first-run",
38
+ "--no-default-browser-check",
39
+ LOGIN_URL,
40
+ ],
41
+ readRefreshToken: readRefreshTokenFromChromeProfile,
42
+ };
43
+ function readCookieDatabase(database, read) {
20
44
  if (!existsSync(database))
21
45
  return undefined;
22
46
  const snapshot = mkdtempSync(join(tmpdir(), "wikimasters-cookies-"));
47
+ const copy = join(snapshot, basename(database));
23
48
  try {
24
- for (const suffix of ["", "-wal"]) {
49
+ for (const suffix of ["", "-wal", "-journal"]) {
25
50
  if (existsSync(database + suffix))
26
- copyFileSync(database + suffix, join(snapshot, COOKIES_DB + suffix));
51
+ copyFileSync(database + suffix, copy + suffix);
27
52
  }
28
- const db = new DatabaseSync(join(snapshot, COOKIES_DB));
53
+ const db = new DatabaseSync(copy);
29
54
  try {
30
- const cookies = db
31
- .prepare("SELECT name, value FROM moz_cookies WHERE host LIKE '%wiki-masters.com' AND name LIKE ? || '%'")
32
- .all(AUTH_COOKIE_NAME)
33
- .map(({ name, value }) => ({
34
- name: String(name),
35
- value: String(value),
36
- }));
37
- return refreshTokenFromAuthCookies(cookies);
55
+ return read(db);
38
56
  }
39
57
  finally {
40
58
  db.close();
@@ -47,20 +65,63 @@ export function readRefreshTokenFromFirefoxProfile(profileDir) {
47
65
  rmSync(snapshot, { recursive: true, force: true });
48
66
  }
49
67
  }
50
- export async function loginInBrowser({ firefoxBinary = FIREFOX_BINARY, timeoutMs = 5 * 60_000, pollIntervalMs = 1000, } = {}) {
51
- const profileDir = mkdtempSync(join(tmpdir(), "wikimasters-firefox-"));
52
- writeFileSync(join(profileDir, "user.js"), `${PROFILE_PREFS.join("\n")}\n`);
53
- const firefox = spawn(firefoxBinary, ["--no-remote", "--profile", profileDir, `${SITE_URL}/login`], { stdio: "ignore" });
68
+ export function readRefreshTokenFromFirefoxProfile(profileDir) {
69
+ return readCookieDatabase(join(profileDir, "cookies.sqlite"), (db) => {
70
+ const cookies = db
71
+ .prepare("SELECT name, value FROM moz_cookies WHERE host LIKE '%wiki-masters.com' AND name LIKE ? || '%'")
72
+ .all(AUTH_COOKIE_NAME)
73
+ .map(({ name, value }) => ({
74
+ name: String(name),
75
+ value: String(value),
76
+ }));
77
+ return refreshTokenFromAuthCookies(cookies);
78
+ });
79
+ }
80
+ // Cookie encryption format: Chromium components/os_crypt/async/common/encryptor.cc.
81
+ function decryptChromeCookie(hostKey, encrypted) {
82
+ const data = Buffer.from(encrypted);
83
+ if (data.subarray(0, 3).toString("latin1") !== "v10")
84
+ return undefined;
85
+ const decipher = createDecipheriv("aes-128-cbc", CHROME_MOCK_KEYCHAIN_KEY, Buffer.alloc(16, " "));
86
+ const plain = Buffer.concat([
87
+ decipher.update(data.subarray(3)),
88
+ decipher.final(),
89
+ ]);
90
+ // Chromium net/extras/sqlite/sqlite_persistent_cookie_store.cc: from database version 24, the value follows the SHA-256 of the cookie's domain.
91
+ const domainHash = createHash("sha256").update(hostKey).digest();
92
+ return (plain.subarray(0, domainHash.length).equals(domainHash)
93
+ ? plain.subarray(domainHash.length)
94
+ : plain).toString("utf8");
95
+ }
96
+ export function readRefreshTokenFromChromeProfile(profileDir) {
97
+ return readCookieDatabase(join(profileDir, "Default", "Cookies"), (db) => {
98
+ const cookies = db
99
+ .prepare("SELECT host_key, name, encrypted_value FROM cookies WHERE host_key LIKE '%wiki-masters.com' AND name LIKE ? || '%'")
100
+ .all(AUTH_COOKIE_NAME)
101
+ .flatMap(({ host_key, name, encrypted_value }) => {
102
+ const value = encrypted_value instanceof Uint8Array
103
+ ? decryptChromeCookie(String(host_key), encrypted_value)
104
+ : undefined;
105
+ return value === undefined ? [] : [{ name: String(name), value }];
106
+ });
107
+ return refreshTokenFromAuthCookies(cookies);
108
+ });
109
+ }
110
+ async function loginInBrowser(browser, { binary = browser.binary, timeoutMs = 5 * 60_000, pollIntervalMs = 1000, }) {
111
+ const profileDir = mkdtempSync(join(tmpdir(), `wikimasters-${browser.name.toLowerCase()}-`));
112
+ const child = spawn(binary, browser.prepareLaunch(profileDir), {
113
+ stdio: "ignore",
114
+ });
54
115
  let exited = false;
55
- const exit = new Promise((resolve) => firefox.once("close", () => resolve()));
116
+ const exit = new Promise((resolve) => child.once("close", () => resolve()));
56
117
  void exit.then(() => (exited = true));
57
- const launchFailure = new Promise((_, reject) => firefox.once("error", (error) => reject(new WikiMastersError(`Cannot start Firefox at ${firefoxBinary}: ${error.message}`))));
118
+ const launchFailure = new Promise((_, reject) => child.once("error", (error) => reject(new WikiMastersError(`Cannot start ${browser.name} at ${binary}: ${error.message}`))));
58
119
  try {
59
120
  return await Promise.race([launchFailure, pollForSession()]);
60
121
  }
61
122
  finally {
62
123
  if (!exited)
63
- firefox.kill();
124
+ child.kill();
64
125
  await exit;
65
126
  rmSync(profileDir, { recursive: true, force: true });
66
127
  }
@@ -68,14 +129,20 @@ export async function loginInBrowser({ firefoxBinary = FIREFOX_BINARY, timeoutMs
68
129
  const deadline = Date.now() + timeoutMs;
69
130
  while (Date.now() < deadline) {
70
131
  const closed = exited;
71
- const refreshToken = readRefreshTokenFromFirefoxProfile(profileDir);
132
+ const refreshToken = browser.readRefreshToken(profileDir);
72
133
  if (refreshToken)
73
134
  return refreshToken;
74
135
  if (closed)
75
- throw new WikiMastersError("Firefox was closed before signing in");
136
+ throw new WikiMastersError(`${browser.name} was closed before signing in`);
76
137
  await sleep(pollIntervalMs);
77
138
  }
78
139
  throw new WikiMastersError(`No sign-in within ${Math.round(timeoutMs / 1000)} s`);
79
140
  }
80
141
  }
142
+ export function loginInFirefox(options = {}) {
143
+ return loginInBrowser(FIREFOX, options);
144
+ }
145
+ export function loginInChrome(options = {}) {
146
+ return loginInBrowser(CHROME, options);
147
+ }
81
148
  //# sourceMappingURL=browser-login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"browser-login.js","sourceRoot":"","sources":["../../src/core/browser-login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-login.js","sourceRoot":"","sources":["../../src/core/browser-login.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@ export { createAuction, parseAuctionDuration, parseStartingPrice, } from "./auct
5
5
  export { listAuctions } from "./auction-list.js";
6
6
  export { parseAuctionSearchPage, searchAuctions, } from "./auction-search.js";
7
7
  export { AUCTION_LIMIT, parseAuctionId, parseAuctionLimit, parseBidAmount, placeBid, showAuction, } from "./auction.js";
8
- export { AUTH_COOKIE_NAME, refreshTokenFromAuthCookieChunks, refreshTokenFromAuthCookies, } from "./auth-cookie.js";
9
- export { FIREFOX_BINARY, loginInBrowser, readRefreshTokenFromFirefoxProfile, } from "./browser-login.js";
8
+ export { AUTH_COOKIE_NAME, findRefreshTokenInAuthCookieChunks, refreshTokenFromAuthCookieChunks, refreshTokenFromAuthCookies, } from "./auth-cookie.js";
9
+ export { CHROME_BINARY, FIREFOX_BINARY, loginInChrome, loginInFirefox, readRefreshTokenFromChromeProfile, readRefreshTokenFromFirefoxProfile, } from "./browser-login.js";
10
10
  export { parseCardId } from "./card-id.js";
11
11
  export { asEntryId } from "./entry-id.js";
12
12
  export { CARD_SEARCH_FIELDS, parseCardSearchField, searchCards, } from "./card-search.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAyB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,kBAAkB,GAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACL,sBAAsB,EACtB,cAAc,GAGf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,GAMZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,gCAAgC,EAChC,2BAA2B,GAE5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,cAAc,EACd,cAAc,EACd,kCAAkC,GAEnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAe,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,GAIZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,GAIX,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAIlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,GAIhB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,cAAc,GAIf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,GAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,SAAS,EACT,WAAW,GAEZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,sBAAsB,GAKvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,GAItB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,aAAa,GAGd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,QAAQ,EACR,UAAU,GAGX,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,kBAAkB,GAInB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAyB,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,kBAAkB,GAInB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAsB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EACL,sBAAsB,EACtB,cAAc,GAGf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,QAAQ,EACR,WAAW,GAMZ,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,gBAAgB,EAChB,kCAAkC,EAClC,gCAAgC,EAChC,2BAA2B,GAE5B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,iCAAiC,EACjC,kCAAkC,GAEnC,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAe,MAAM,cAAc,CAAC;AACxD,OAAO,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAC;AACxD,OAAO,EACL,kBAAkB,EAClB,oBAAoB,EACpB,WAAW,GAIZ,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAkB,MAAM,iBAAiB,CAAC;AACjE,OAAO,EACL,SAAS,EACT,WAAW,EACX,WAAW,EACX,UAAU,GAIX,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,kBAAkB,EAClB,iBAAiB,GAIlB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,GAIhB,MAAM,WAAW,CAAC;AACnB,OAAO,EACL,cAAc,GAIf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,GAGf,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,SAAS,EACT,WAAW,GAEZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,sBAAsB,GAKvB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EACL,qBAAqB,GAItB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,aAAa,GAGd,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,QAAQ,EACR,UAAU,GAGX,MAAM,UAAU,CAAC;AAClB,OAAO,EACL,aAAa,EACb,YAAY,EACZ,kBAAkB,GAInB,MAAM,eAAe,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wikimasters-cli",
3
- "version": "0.1.1",
3
+ "version": "1.0.0",
4
4
  "description": "Interact with WikiMasters from the command line",
5
5
  "license": "MIT",
6
6
  "type": "module",