e-arveldaja-mcp 0.33.0 → 0.34.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/CHANGELOG.md +11 -0
- package/CLAUDE.md +2 -0
- package/dist/document-parser.d.ts +33 -0
- package/dist/document-parser.d.ts.map +1 -1
- package/dist/document-parser.js +81 -0
- package/dist/document-parser.js.map +1 -1
- package/dist/document-reading-card.d.ts +62 -1
- package/dist/document-reading-card.d.ts.map +1 -1
- package/dist/document-reading-card.js +110 -3
- package/dist/document-reading-card.js.map +1 -1
- package/dist/document-reading-check.d.ts +8 -0
- package/dist/document-reading-check.d.ts.map +1 -1
- package/dist/document-reading-check.js +37 -22
- package/dist/document-reading-check.js.map +1 -1
- package/dist/document-reading-lost-value.d.ts +109 -0
- package/dist/document-reading-lost-value.d.ts.map +1 -0
- package/dist/document-reading-lost-value.js +400 -0
- package/dist/document-reading-lost-value.js.map +1 -0
- package/dist/document-reading-schemas.d.ts +3 -0
- package/dist/document-reading-schemas.d.ts.map +1 -1
- package/dist/document-reading-schemas.js +4 -4
- package/dist/document-reading-schemas.js.map +1 -1
- package/dist/document-reading-tokens.d.ts +2 -0
- package/dist/document-reading-tokens.d.ts.map +1 -1
- package/dist/document-reading-tokens.js +2 -2
- package/dist/document-reading-tokens.js.map +1 -1
- package/dist/documents/lost-value-ocr.d.ts +53 -0
- package/dist/documents/lost-value-ocr.d.ts.map +1 -0
- package/dist/documents/lost-value-ocr.js +119 -0
- package/dist/documents/lost-value-ocr.js.map +1 -0
- package/dist/documents/reading-operations.d.ts +90 -5
- package/dist/documents/reading-operations.d.ts.map +1 -1
- package/dist/documents/reading-operations.js +279 -27
- package/dist/documents/reading-operations.js.map +1 -1
- package/dist/guided/process-accounting-document.d.ts +31 -0
- package/dist/guided/process-accounting-document.d.ts.map +1 -1
- package/dist/guided/process-accounting-document.js +49 -7
- package/dist/guided/process-accounting-document.js.map +1 -1
- package/dist/png-crop.d.ts +24 -0
- package/dist/png-crop.d.ts.map +1 -0
- package/dist/png-crop.js +198 -0
- package/dist/png-crop.js.map +1 -0
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.34.0] - 2026-10-26
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **When an invoice PDF loses its date or number behind a dotted line, the assistant can now read it from a picture of that row; the server accepts it only when its own text recognition reads the same.** Before, such a value was missing from the text and you always had to type it. You still confirm each accepted value on the review card. Details: verified-reading mode only (`EARVELDAJA_DOCUMENT_READING=1`); turn off with `EARVELDAJA_READING_LOST_VALUE_IMAGES=0`. `process_accounting_document` `mode="read"` returns PNG crops of rows held as `text_layer_value_lost` (at most 6 rows on at most 2 pages, 64 KB each, 256 KB total, else `lost_value_images_omitted`), with fixed instructions that the pixels are untrusted. At `mode="verify"` the client passes `lost_value_reading` (`invoice_date` / `invoice_number`, each `{line, printed}`); the server re-renders the crop and runs its own OCR (a configured remote OCR server is used). A value is accepted only when OCR finds exactly one matching candidate at confidence ≥ 0.6 on the cell label's row with only leader dots and punctuation beside it, and a second full check raises no new hold; a date is not applied while the number stays lost (`number_still_lost`). Accepted values get a mandatory confirm row, are re-checked at create and audited as `image_ocr_agreed_fields`; for anything not accepted, `lost_values` gives the reason and the field keeps its typed row. Unusual page geometry (rotation, offset or cropped boxes, encryption, oversized object streams) and pages over 40 Mpx at 300 dpi get no crop. With the flag off the tool surface is unchanged.
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- **Invoices whose date was printed over a dotted line can now be booked by typing the date, also when they carry VAT.** Before, the verified reading stopped with a VAT-rate error on such invoices (Google-style PDFs whose text kept only the dots), so you never got a field to type the date into; a company that is not VAT-registered, or whose supplier's earlier invoices used another VAT rate, could not book them at all. Now you type the date and invoice number, the review shows what will be booked (supplier, accounts, items, amounts), and before creating every check runs again on your date: the VAT rate in force then, competing totals and foreign rates. If your date doesn't fit the amounts, nothing is created; the draft comes back with the full computed booking for you to review before registering. Details: verified-reading mode only (`EARVELDAJA_DOCUMENT_READING=1`). Under `text_layer_value_lost` with no `invoice_date`, `verify` defers the VAT-rate-dependent checks and returns `booking_after_typed_date` (the bound booking basis) instead of `booking_review`; `create` re-runs the full checker on the bound reading and proof with the final values, builds the booking with the full binding, holds `reading_booking_drift` if the basis changed (the basis covers every booking value, not just the date: VAT account and article, item nets, bank account, reference and notes) and `reading_schema_invalid` if the bound reading is missing, and returns `booking_computed_at_create`.
|
|
14
|
+
- **Corrections you make on the review card are now re-checked against the whole document.** Before, a corrected amount or date was only checked for arithmetic, the VAT rate and the date window. Details: `create` also re-runs competing-total, mixed-rate and foreign-rate checks on the final values; only evidence/proof/heuristic codes on fields you typed or corrected are waived, and the "other printed total not considered" check is waived only for a gross you typed yourself.
|
|
15
|
+
|
|
5
16
|
## [0.33.0] - 2026-10-26
|
|
6
17
|
|
|
7
18
|
### Added
|
package/CLAUDE.md
CHANGED
|
@@ -159,6 +159,8 @@ The guided surface is sized for routing clarity, not token cost (per-tool measur
|
|
|
159
159
|
|
|
160
160
|
`EARVELDAJA_DOCUMENT_READING=1` is not an exposure flag: it adds the opt-in verified-reading modes `read` / `verify` to `process_accounting_document` (create and confirm route on the reading-domain handle), so no tool count and no profile changes (guided stays 19). Off, the tool's schema and description are byte-identical. The workflow guidance for the reading path is carried by the flag-gated tool description and the `read` / `verify` / `create` outputs, not by `workflows/book-invoice.md` (prompt feature sections are tool-gated, and the flag adds no tool).
|
|
161
161
|
|
|
162
|
+
Lost dot-leader values (`text_layer_value_lost`, a liteparse overlay bug): with the reading flag on, `read` also returns one PNG crop per lost leader row (300 dpi, label included; ≤ 6 crops, 64 KB each, 256 KB total, else `lost_value_images_omitted`) after fixed instructions that the pixels are untrusted. The client transcribes only `invoice_date` / `invoice_number` into `verify`'s `lost_value_reading` (`{field: {line, printed}}`), keeping them null in `document_reading`. `verify` (`src/documents/reading-operations.ts` `resolveLostValues`) accepts a value only when the field is null with no other hold, the cited line is a lost line cited once, the re-rendered crop's server OCR (`src/documents/lost-value-ocr.ts`, `src/document-reading-lost-value.ts` `matchLostValue`) shows exactly one candidate equal to it at confidence ≥ 0.6 on the same OCR row as the cell's label, with only leader glyphs and punctuation besides, and a second full checker pass raises no new hold (`image_agreed` allow-list: evidence/proof codes only). A date is not applied while the number stays lost. Every agreed value gets a mandatory confirm row and is re-checked at create; the audit records `image_ocr_agreed_fields`. Any failure leaves today's typed row (`lost_values` says why). Off with `EARVELDAJA_READING_LOST_VALUE_IMAGES=0` or `EARVELDAJA_LITEPARSE_OCR_ENABLED=false`; a remote OCR server (`EARVELDAJA_LITEPARSE_OCR_SERVER_URL`) is accepted as the server check (owner decision). Unusual page geometry (`/Rotate`, `/UserUnit`, a non-zero MediaBox origin, a CropBox differing from the MediaBox, an indirect box, encryption, more than 256 or 32 MB of object streams; `pdfPageBoxRefusal`, name escapes decoded) and a page over 40 Mpx at 300 dpi get no crop.
|
|
163
|
+
|
|
162
164
|
`get_server_status` is a compact read-only tool (version, active profile, and any active point-of-use release notices) registered unconditionally like `get_setup_instructions`; it needs no credentials and belongs to no opt-out group, so it is visible in `standard`/`full` (and setup mode) but not the guided surfaces. The fixed per-session `instructions` string is kept lean (built in `src/server/server-instructions.ts`, under 1.5 KiB; its entry-point tool names are profile-aware — the guided façades on `guided`, the granular entry points on `standard`): detailed VAT / bank-direction / reporting guidance lives in the owning `workflows/*.md` prompts, and the v0.22.0 incoming-direction regression advisory is a point-of-use release notice (`src/server/release-notices.ts`) surfaced only at the start of the affected bank flows, not in the global text.
|
|
163
165
|
|
|
164
166
|
- **`EARVELDAJA_DISABLE_LIGHTYEAR=1`** — do not register the Lightyear
|
|
@@ -16,4 +16,37 @@ export declare function buildDocumentParserConfig(): Partial<LiteParseConfig>;
|
|
|
16
16
|
export declare function getDocumentParser(): LiteParse;
|
|
17
17
|
export declare function analyzeDocumentComplexity(filePath: string): Promise<PageComplexityStats[]>;
|
|
18
18
|
export declare function parseDocument(filePath: string): Promise<ParsedDocument>;
|
|
19
|
+
export declare const LOST_VALUE_OCR_TIMEOUT_MS = 30000;
|
|
20
|
+
/** A text item OCR read from a crop, in the crop's own coordinates. */
|
|
21
|
+
export interface OcrTextItem {
|
|
22
|
+
text: string;
|
|
23
|
+
x: number;
|
|
24
|
+
y: number;
|
|
25
|
+
width: number;
|
|
26
|
+
height: number;
|
|
27
|
+
confidence?: number;
|
|
28
|
+
}
|
|
29
|
+
export type OcrPngResult = {
|
|
30
|
+
ok: true;
|
|
31
|
+
items: OcrTextItem[];
|
|
32
|
+
} | {
|
|
33
|
+
ok: false;
|
|
34
|
+
};
|
|
35
|
+
/** False when OCR is disabled or the kill switch EARVELDAJA_READING_LOST_VALUE_IMAGES=0 is set. */
|
|
36
|
+
export declare function lostValueImagesAvailable(): boolean;
|
|
37
|
+
/** One page rendered to an RGBA PNG at 300 dpi (full page; liteparse ignores cropBox for screenshots). */
|
|
38
|
+
export declare function renderPagePng(filePath: string, page: number): Promise<{
|
|
39
|
+
png: Buffer;
|
|
40
|
+
width: number;
|
|
41
|
+
height: number;
|
|
42
|
+
}>;
|
|
43
|
+
/** OCR jobs queued or running at most; past it a caller is told unavailable at once (a stalled OCR cannot pile up work). */
|
|
44
|
+
export declare const LOST_VALUE_OCR_QUEUE_MAX = 4;
|
|
45
|
+
/**
|
|
46
|
+
* OCR of one PNG crop. Single-flight: one OCR at a time, the next waits for the
|
|
47
|
+
* previous native work to settle (a timed-out OCR keeps running natively). A job
|
|
48
|
+
* whose caller already timed out is dropped before it starts and lets go of its
|
|
49
|
+
* crop. Every failure, the 30 s timeout and a full queue resolve to { ok: false }.
|
|
50
|
+
*/
|
|
51
|
+
export declare function ocrPng(png: Buffer, timeoutMs?: number): Promise<OcrPngResult>;
|
|
19
52
|
//# sourceMappingURL=document-parser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-parser.d.ts","sourceRoot":"","sources":["../src/document-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"document-parser.d.ts","sourceRoot":"","sources":["../src/document-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,KAAK,eAAe,EACpB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAqC/B,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,mBAAmB,EAAE,CAAC;IAC7B,WAAW,EAAE,OAAO,CAAC;IACrB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,UAAU,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AA8DD,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,eAAe,CAAC,CAwCpE;AA8BD,wBAAgB,iBAAiB,IAAI,SAAS,CAG7C;AAcD,wBAAsB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAEhG;AA4CD,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAa7E;AAMD,eAAO,MAAM,yBAAyB,QAAS,CAAC;AAEhD,uEAAuE;AACvE,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,MAAM,YAAY,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,WAAW,EAAE,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAA;CAAE,CAAC;AAE9E,mGAAmG;AACnG,wBAAgB,wBAAwB,IAAI,OAAO,CAOlD;AAyBD,0GAA0G;AAC1G,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC,CAI3H;AAGD,4HAA4H;AAC5H,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAG1C;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,SAA4B,GAAG,OAAO,CAAC,YAAY,CAAC,CA4BhG"}
|
package/dist/document-parser.js
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { LiteParse, } from "@llamaindex/liteparse";
|
|
2
|
+
import { LOST_VALUE_RENDER_DPI } from "./document-reading-lost-value.js";
|
|
2
3
|
const HIGH_IMAGE_COVERAGE_FOR_PARTIAL_OCR = 0.5;
|
|
3
4
|
function isLoopbackHost(hostname) {
|
|
4
5
|
const normalized = hostname.trim().toLowerCase().replace(/^\[(.*)\]$/, "$1");
|
|
@@ -219,4 +220,84 @@ export async function parseDocument(filePath) {
|
|
|
219
220
|
ocrPartialFailure: detectOcrPartialFailure(complexity, result),
|
|
220
221
|
};
|
|
221
222
|
}
|
|
223
|
+
// ---------------------------------------------------------------------------
|
|
224
|
+
// Lost-value image path (plan lost-value-image-ocr): page render + crop OCR.
|
|
225
|
+
// ---------------------------------------------------------------------------
|
|
226
|
+
export const LOST_VALUE_OCR_TIMEOUT_MS = 30_000;
|
|
227
|
+
/** False when OCR is disabled or the kill switch EARVELDAJA_READING_LOST_VALUE_IMAGES=0 is set. */
|
|
228
|
+
export function lostValueImagesAvailable() {
|
|
229
|
+
if (!readBooleanEnv("EARVELDAJA_READING_LOST_VALUE_IMAGES", true))
|
|
230
|
+
return false;
|
|
231
|
+
try {
|
|
232
|
+
return buildDocumentParserConfig().ocrEnabled !== false;
|
|
233
|
+
}
|
|
234
|
+
catch {
|
|
235
|
+
return false;
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
let lostValueParser;
|
|
239
|
+
/**
|
|
240
|
+
* Dedicated instance: 300 dpi, OCR on, OCR failure fatal (a failed OCR is a
|
|
241
|
+
* hold, never an empty read). Only the OCR language and server settings come
|
|
242
|
+
* from the configuration; a configured OCR server receives the crops.
|
|
243
|
+
*/
|
|
244
|
+
function getLostValueParser() {
|
|
245
|
+
if (lostValueParser)
|
|
246
|
+
return lostValueParser;
|
|
247
|
+
const base = buildDocumentParserConfig();
|
|
248
|
+
lostValueParser = new LiteParse({
|
|
249
|
+
ocrEnabled: true,
|
|
250
|
+
ocrFailureFatal: true,
|
|
251
|
+
dpi: LOST_VALUE_RENDER_DPI,
|
|
252
|
+
outputFormat: "text",
|
|
253
|
+
quiet: true,
|
|
254
|
+
...(base.ocrLanguage !== undefined ? { ocrLanguage: base.ocrLanguage } : {}),
|
|
255
|
+
...(base.ocrServerUrl !== undefined ? { ocrServerUrl: base.ocrServerUrl } : {}),
|
|
256
|
+
...(base.ocrServerHeaders !== undefined ? { ocrServerHeaders: base.ocrServerHeaders } : {}),
|
|
257
|
+
});
|
|
258
|
+
return lostValueParser;
|
|
259
|
+
}
|
|
260
|
+
/** One page rendered to an RGBA PNG at 300 dpi (full page; liteparse ignores cropBox for screenshots). */
|
|
261
|
+
export async function renderPagePng(filePath, page) {
|
|
262
|
+
const [shot] = await getLostValueParser().screenshot(filePath, [page]);
|
|
263
|
+
if (!shot || shot.pageNum !== page)
|
|
264
|
+
throw new Error("page render unavailable");
|
|
265
|
+
return { png: shot.imageBuffer, width: shot.width, height: shot.height };
|
|
266
|
+
}
|
|
267
|
+
let ocrQueue = Promise.resolve();
|
|
268
|
+
/** OCR jobs queued or running at most; past it a caller is told unavailable at once (a stalled OCR cannot pile up work). */
|
|
269
|
+
export const LOST_VALUE_OCR_QUEUE_MAX = 4;
|
|
270
|
+
let ocrPending = 0;
|
|
271
|
+
/**
|
|
272
|
+
* OCR of one PNG crop. Single-flight: one OCR at a time, the next waits for the
|
|
273
|
+
* previous native work to settle (a timed-out OCR keeps running natively). A job
|
|
274
|
+
* whose caller already timed out is dropped before it starts and lets go of its
|
|
275
|
+
* crop. Every failure, the 30 s timeout and a full queue resolve to { ok: false }.
|
|
276
|
+
*/
|
|
277
|
+
export function ocrPng(png, timeoutMs = LOST_VALUE_OCR_TIMEOUT_MS) {
|
|
278
|
+
if (ocrPending >= LOST_VALUE_OCR_QUEUE_MAX)
|
|
279
|
+
return Promise.resolve({ ok: false });
|
|
280
|
+
ocrPending += 1;
|
|
281
|
+
// Only `input` is captured below, so clearing it on timeout releases the crop.
|
|
282
|
+
let input = png;
|
|
283
|
+
const work = ocrQueue.then(() => {
|
|
284
|
+
const crop = input;
|
|
285
|
+
input = undefined;
|
|
286
|
+
return crop === undefined ? undefined : getLostValueParser().parse(crop);
|
|
287
|
+
});
|
|
288
|
+
ocrQueue = work.catch(() => undefined).finally(() => { ocrPending -= 1; });
|
|
289
|
+
const outcome = work.then((result) => result === undefined ? { ok: false } : {
|
|
290
|
+
ok: true,
|
|
291
|
+
items: (result.pages[0]?.textItems ?? []).map(({ text, x, y, width, height, confidence }) => ({ text, x, y, width, height, ...(confidence !== undefined ? { confidence } : {}) })),
|
|
292
|
+
}, () => ({ ok: false }));
|
|
293
|
+
let timer;
|
|
294
|
+
const timeout = new Promise((resolve) => {
|
|
295
|
+
timer = setTimeout(() => {
|
|
296
|
+
input = undefined;
|
|
297
|
+
resolve({ ok: false });
|
|
298
|
+
}, timeoutMs);
|
|
299
|
+
timer.unref?.();
|
|
300
|
+
});
|
|
301
|
+
return Promise.race([outcome, timeout]).finally(() => clearTimeout(timer));
|
|
302
|
+
}
|
|
222
303
|
//# sourceMappingURL=document-parser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-parser.js","sourceRoot":"","sources":["../src/document-parser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document-parser.js","sourceRoot":"","sources":["../src/document-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { type AcceptedValues, type HeuristicView, type HoldCode } from "./document-reading-check.js";
|
|
1
|
+
import { type AcceptedValues, type CheckContext, type CheckResult, type HeuristicView, type HoldCode } from "./document-reading-check.js";
|
|
2
2
|
import type { ReadingPacket } from "./document-reading-packet.js";
|
|
3
|
+
import type { ReadingField } from "./document-reading-schemas.js";
|
|
3
4
|
/** Hold codes the reading path adds beyond the checker's (§5.4, rev. 2.1). */
|
|
4
5
|
export declare const READING_PATH_HOLD_CODES: readonly ["buyer_attestation_mismatch", "reading_create_indeterminate", "reading_booking_drift", "reading_dimension_choice_required"];
|
|
5
6
|
export type ReadingPathHoldCode = typeof READING_PATH_HOLD_CODES[number];
|
|
@@ -157,6 +158,14 @@ export interface ReadingCard {
|
|
|
157
158
|
/** Notes on non-payload fields and same-value competitors, collapsed into one count. */
|
|
158
159
|
minor_notes: number;
|
|
159
160
|
}
|
|
161
|
+
/** A lost-leader value the client read from the crop image and server OCR agreed with (lost-value plan Step 4). */
|
|
162
|
+
export interface ImageAgreedField {
|
|
163
|
+
field: "invoice_date" | "invoice_number";
|
|
164
|
+
/** The packet line whose crop showed it. */
|
|
165
|
+
line: string;
|
|
166
|
+
/** The value as the client transcribed it from the image. */
|
|
167
|
+
printed: string;
|
|
168
|
+
}
|
|
160
169
|
export interface CardInput {
|
|
161
170
|
packet: ReadingPacket;
|
|
162
171
|
values: AcceptedValues;
|
|
@@ -176,6 +185,8 @@ export interface CardInput {
|
|
|
176
185
|
reg: string | null;
|
|
177
186
|
vat: string | null;
|
|
178
187
|
};
|
|
188
|
+
/** Image-agreed fields: a mandatory confirm row each, instead of the typed row of a lost text layer. */
|
|
189
|
+
imageAgreed?: readonly ImageAgreedField[];
|
|
179
190
|
}
|
|
180
191
|
export type CardOutcome = {
|
|
181
192
|
blocked: true;
|
|
@@ -208,6 +219,56 @@ export type AnswerOutcome = {
|
|
|
208
219
|
};
|
|
209
220
|
/** Apply the owner's answers: every row needs one; a "neither"/"no" without a typed value stops the card. */
|
|
210
221
|
export declare function applyOwnerAnswers(card: ReadingCard, values: AcceptedValues, answers: unknown): AnswerOutcome;
|
|
222
|
+
/**
|
|
223
|
+
* Lost-value plan Step 0 (rev 3 NEW-1, rev 3.1 NEW-3): the evidence and proof codes. A field whose final value is not
|
|
224
|
+
* the reading's own has its evidence and proof answer removed before the create-time re-run, so these codes say
|
|
225
|
+
* nothing about it.
|
|
226
|
+
*/
|
|
227
|
+
export declare const RECHECK_EVIDENCE_PROOF_CODES: readonly ["missing_evidence", "quote_not_printed", "proof_problem", "label_quote_missing", "label_quote_not_printed", "label_quote_no_letter", "label_quote_overlaps_value"];
|
|
228
|
+
/** Where a final value came from when it is not the reading's own. */
|
|
229
|
+
export type RecheckFieldSource = "owner_supplied" | "image_agreed";
|
|
230
|
+
/**
|
|
231
|
+
* The create-time re-run's per-field allow-lists (pinned by a test). Only a hold on a field of that source is
|
|
232
|
+
* dropped; every other hold blocks create, including H5–H10, A2–A5, the foreign-rate trio and every document-level
|
|
233
|
+
* hold. Owner-supplied (typed or corrected): the owner's own reading of the PDF overrides the reading's evidence,
|
|
234
|
+
* its proof of role (the competitor codes, including A1 for an owner-typed gross) and the heuristic.
|
|
235
|
+
*/
|
|
236
|
+
export declare const RECHECK_ALLOWED_CODES: {
|
|
237
|
+
readonly [Source in RecheckFieldSource]: readonly HoldCode[];
|
|
238
|
+
};
|
|
239
|
+
/** True when `hold` is on a field of a listed source whose allow-list names its code. */
|
|
240
|
+
export declare function allowedForSource(hold: {
|
|
241
|
+
code: HoldCode;
|
|
242
|
+
field?: string;
|
|
243
|
+
}, sources: Partial<Record<ReadingField, RecheckFieldSource>>): boolean;
|
|
244
|
+
/**
|
|
245
|
+
* The whole checker on a reading and proof with `final` substituted. A field of a listed source loses its
|
|
246
|
+
* evidence and gets a neutral proof answer (its value is not the reading's own). Undefined when the reading or
|
|
247
|
+
* proof has no evidence/answers object.
|
|
248
|
+
*/
|
|
249
|
+
export declare function checkSubstituted(packet: ReadingPacket, reading: Record<string, unknown>, proof: Record<string, unknown>, final: AcceptedValues, sources: Partial<Record<ReadingField, RecheckFieldSource>>, ctx: CheckContext): CheckResult | undefined;
|
|
250
|
+
export interface RecheckReadingInput {
|
|
251
|
+
packet: ReadingPacket;
|
|
252
|
+
/** The verified reading and proof as the plan binds them (canonical JSON). */
|
|
253
|
+
readingJson: unknown;
|
|
254
|
+
proofJson: unknown;
|
|
255
|
+
final: AcceptedValues;
|
|
256
|
+
/** The fields whose final value is not the reading's own, by source. */
|
|
257
|
+
sources: Partial<Record<ReadingField, RecheckFieldSource>>;
|
|
258
|
+
/**
|
|
259
|
+
* Every checker hold at verify. A handle exists only when the card released all of them (owner rows, or notes for
|
|
260
|
+
* non-payload fields); the re-run drops a repeat of one only when its code is not a block code.
|
|
261
|
+
*/
|
|
262
|
+
releasedHolds: readonly CardHold[];
|
|
263
|
+
ctx: CheckContext;
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* The whole checker re-run at create on the bound reading with the final values substituted (Step 0). Holds only:
|
|
267
|
+
* the re-run's holds minus (a) a non-block hold verify already raised (the card released it) and (b) a hold
|
|
268
|
+
* on a field of a listed source whose code that source's allow-list names. A re-run that cannot be performed (no
|
|
269
|
+
* bound reading or proof, unparseable JSON) holds reading_schema_invalid: never a fallback to recheckFinalValues alone.
|
|
270
|
+
*/
|
|
271
|
+
export declare function recheckReading(input: RecheckReadingInput): CardHold[];
|
|
211
272
|
export interface RecheckContext {
|
|
212
273
|
today: string;
|
|
213
274
|
/** The checker's zero-VAT proof for the reading's own VAT line. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-reading-card.d.ts","sourceRoot":"","sources":["../src/document-reading-card.ts"],"names":[],"mappings":"AAWA,OAAO,
|
|
1
|
+
{"version":3,"file":"document-reading-card.d.ts","sourceRoot":"","sources":["../src/document-reading-card.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
// answers, and re-checks the values that depend on them. A typed value is
|
|
9
9
|
// owner_supplied: it never rewrites an extracted value, it replaces it with the
|
|
10
10
|
// owner's own reading of the PDF, and it is recorded as a corrected field.
|
|
11
|
-
import { HOLD_CODES, rateMatches } from "./document-reading-check.js";
|
|
11
|
+
import { checkReading, HOLD_CODES, rateMatches } from "./document-reading-check.js";
|
|
12
12
|
import { lineTokens } from "./document-reading-tokens.js";
|
|
13
13
|
import { BUYER_MARKER_RE, isForeignVatShape, isValidEeRegistryCode, isValidEeVatNumber, isValidIban, normalizeVatValue } from "./document-identifiers.js";
|
|
14
14
|
import { vatRatesInForceOn } from "./estonian-tax-rules.js";
|
|
@@ -178,12 +178,25 @@ export function buildReadingCard(input) {
|
|
|
178
178
|
const field = hold.field;
|
|
179
179
|
byField.set(field, [...(byField.get(field) ?? []), hold]);
|
|
180
180
|
}
|
|
181
|
+
const agreed = new Map((input.imageAgreed ?? []).map((entry) => [entry.field, entry]));
|
|
181
182
|
if (textLayerLost) {
|
|
182
|
-
// §5.3: on a lost text layer the owner
|
|
183
|
+
// §5.3: on a lost text layer the owner types the date and the number (the true value is not in the text),
|
|
184
|
+
// unless server OCR agreed with the client's reading of the crop image: then the owner confirms it.
|
|
183
185
|
for (const field of ["invoice_date", "invoice_number"]) {
|
|
186
|
+
if (agreed.has(field))
|
|
187
|
+
continue;
|
|
184
188
|
byField.set(field, [...(byField.get(field) ?? []), { code: "text_layer_value_lost", field }]);
|
|
185
189
|
}
|
|
186
190
|
}
|
|
191
|
+
// An image-agreed field gets only its confirm row. Verify drops the agreement when anything else holds on it;
|
|
192
|
+
// should a hold still remain here, the agreement is not shown and the owner types the value instead.
|
|
193
|
+
for (const field of [...agreed.keys()]) {
|
|
194
|
+
const remaining = byField.get(field);
|
|
195
|
+
if (remaining === undefined)
|
|
196
|
+
continue;
|
|
197
|
+
agreed.delete(field);
|
|
198
|
+
byField.set(field, [...remaining, { code: "text_layer_value_lost", field }]);
|
|
199
|
+
}
|
|
187
200
|
const rows = [];
|
|
188
201
|
for (const [field, holds] of byField) {
|
|
189
202
|
const codes = holds.map((hold) => hold.code);
|
|
@@ -215,6 +228,14 @@ export function buildReadingCard(input) {
|
|
|
215
228
|
? { id: `t:${field}`, kind: "typed", field, reason: "no_printed_token" }
|
|
216
229
|
: { id: `r:${field}`, kind: "field_review", field, codes: [...new Set(reviewCodes)], value, printed_token: token, line: line.text });
|
|
217
230
|
}
|
|
231
|
+
for (const entry of agreed.values()) {
|
|
232
|
+
// Every image-agreed value is shown with its cited row: which label it sits on is the owner's to confirm.
|
|
233
|
+
const value = input.values[entry.field];
|
|
234
|
+
const line = lineText(input.packet, entry.line);
|
|
235
|
+
rows.push(value === null || value === undefined || !line
|
|
236
|
+
? { id: `t:${entry.field}`, kind: "typed", field: entry.field, reason: "text_layer_value_lost" }
|
|
237
|
+
: { id: `r:${entry.field}`, kind: "field_review", field: entry.field, codes: ["text_layer_value_lost"], value, printed_token: entry.printed, line: line.text });
|
|
238
|
+
}
|
|
218
239
|
if (buyerQuestion) {
|
|
219
240
|
rows.push({ id: "buyer", kind: "buyer_question", company: input.company, lines: addresseeLines(input), options: [{ id: "yes" }, { id: "no", stop: true }] });
|
|
220
241
|
}
|
|
@@ -318,7 +339,8 @@ export function applyOwnerAnswers(card, values, answers) {
|
|
|
318
339
|
}
|
|
319
340
|
final[row.field] = value;
|
|
320
341
|
corrected.add(row.field);
|
|
321
|
-
if (row.kind === "typed" && row.reason === "text_layer_value_lost")
|
|
342
|
+
if ((row.kind === "typed" && row.reason === "text_layer_value_lost") ||
|
|
343
|
+
(row.kind === "field_review" && row.codes.includes("text_layer_value_lost")))
|
|
322
344
|
textLayerTyped = true;
|
|
323
345
|
}
|
|
324
346
|
if (invalid.length > 0)
|
|
@@ -327,6 +349,91 @@ export function applyOwnerAnswers(card, values, answers) {
|
|
|
327
349
|
return { ok: false, code: "owner_declined", rows: declined };
|
|
328
350
|
return { ok: true, values: final, correctedFields: [...corrected].sort(), buyerAttested, textLayerTyped };
|
|
329
351
|
}
|
|
352
|
+
// ---------------------------------------------------------------------------
|
|
353
|
+
// Re-checks on the final values (§5.2 step 3)
|
|
354
|
+
// ---------------------------------------------------------------------------
|
|
355
|
+
/**
|
|
356
|
+
* Lost-value plan Step 0 (rev 3 NEW-1, rev 3.1 NEW-3): the evidence and proof codes. A field whose final value is not
|
|
357
|
+
* the reading's own has its evidence and proof answer removed before the create-time re-run, so these codes say
|
|
358
|
+
* nothing about it.
|
|
359
|
+
*/
|
|
360
|
+
export const RECHECK_EVIDENCE_PROOF_CODES = [
|
|
361
|
+
"missing_evidence", "quote_not_printed", "proof_problem",
|
|
362
|
+
"label_quote_missing", "label_quote_not_printed", "label_quote_no_letter", "label_quote_overlaps_value",
|
|
363
|
+
];
|
|
364
|
+
/**
|
|
365
|
+
* The create-time re-run's per-field allow-lists (pinned by a test). Only a hold on a field of that source is
|
|
366
|
+
* dropped; every other hold blocks create, including H5–H10, A2–A5, the foreign-rate trio and every document-level
|
|
367
|
+
* hold. Owner-supplied (typed or corrected): the owner's own reading of the PDF overrides the reading's evidence,
|
|
368
|
+
* its proof of role (the competitor codes, including A1 for an owner-typed gross) and the heuristic.
|
|
369
|
+
*/
|
|
370
|
+
export const RECHECK_ALLOWED_CODES = {
|
|
371
|
+
owner_supplied: [
|
|
372
|
+
...RECHECK_EVIDENCE_PROOF_CODES,
|
|
373
|
+
"value_not_complete_token",
|
|
374
|
+
"competitor_omitted", "competitor_limit_exceeded", "competitor_not_printed", "competitor_ambiguous",
|
|
375
|
+
"reading_heuristic_conflict",
|
|
376
|
+
],
|
|
377
|
+
// Image-agreed (the client's crop reading = server OCR): the value has no packet evidence or proof answer. Nothing
|
|
378
|
+
// else is waived: a heuristic conflict, a date outside the window or a number that is an identifier still holds.
|
|
379
|
+
image_agreed: [...RECHECK_EVIDENCE_PROOF_CODES],
|
|
380
|
+
};
|
|
381
|
+
/** True when `hold` is on a field of a listed source whose allow-list names its code. */
|
|
382
|
+
export function allowedForSource(hold, sources) {
|
|
383
|
+
const source = hold.field === undefined ? undefined : sources[hold.field];
|
|
384
|
+
return source !== undefined && RECHECK_ALLOWED_CODES[source].includes(hold.code);
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* The whole checker on a reading and proof with `final` substituted. A field of a listed source loses its
|
|
388
|
+
* evidence and gets a neutral proof answer (its value is not the reading's own). Undefined when the reading or
|
|
389
|
+
* proof has no evidence/answers object.
|
|
390
|
+
*/
|
|
391
|
+
export function checkSubstituted(packet, reading, proof, final, sources, ctx) {
|
|
392
|
+
if (!isRecord(reading.evidence) || !isRecord(proof.answers))
|
|
393
|
+
return undefined;
|
|
394
|
+
const evidence = { ...reading.evidence };
|
|
395
|
+
const answers = { ...proof.answers };
|
|
396
|
+
for (const field of Object.keys(sources)) {
|
|
397
|
+
delete evidence[field];
|
|
398
|
+
answers[field] = { label_quote: null, competitors: [], why_this_one: "", verdict: "confirm" };
|
|
399
|
+
}
|
|
400
|
+
return checkReading(packet, { ...reading, ...final, evidence }, { ...proof, answers }, ctx);
|
|
401
|
+
}
|
|
402
|
+
const holdKey = (hold) => `${hold.code}\u0000${hold.field ?? ""}`;
|
|
403
|
+
const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
404
|
+
/**
|
|
405
|
+
* The whole checker re-run at create on the bound reading with the final values substituted (Step 0). Holds only:
|
|
406
|
+
* the re-run's holds minus (a) a non-block hold verify already raised (the card released it) and (b) a hold
|
|
407
|
+
* on a field of a listed source whose code that source's allow-list names. A re-run that cannot be performed (no
|
|
408
|
+
* bound reading or proof, unparseable JSON) holds reading_schema_invalid: never a fallback to recheckFinalValues alone.
|
|
409
|
+
*/
|
|
410
|
+
export function recheckReading(input) {
|
|
411
|
+
const unavailable = [{ code: "reading_schema_invalid" }];
|
|
412
|
+
if (typeof input.readingJson !== "string" || typeof input.proofJson !== "string")
|
|
413
|
+
return unavailable;
|
|
414
|
+
let reading;
|
|
415
|
+
let proof;
|
|
416
|
+
try {
|
|
417
|
+
reading = JSON.parse(input.readingJson);
|
|
418
|
+
proof = JSON.parse(input.proofJson);
|
|
419
|
+
}
|
|
420
|
+
catch {
|
|
421
|
+
return unavailable;
|
|
422
|
+
}
|
|
423
|
+
if (!isRecord(reading) || !isRecord(proof))
|
|
424
|
+
return unavailable;
|
|
425
|
+
const result = checkSubstituted(input.packet, reading, proof, input.final, input.sources, input.ctx);
|
|
426
|
+
if (!result)
|
|
427
|
+
return unavailable;
|
|
428
|
+
const released = new Set(input.releasedHolds.map(holdKey));
|
|
429
|
+
return result.holds
|
|
430
|
+
.filter((hold) => {
|
|
431
|
+
if (allowedForSource(hold, input.sources))
|
|
432
|
+
return false;
|
|
433
|
+
return DISPOSITION[hold.code] === "block" || !released.has(holdKey(hold));
|
|
434
|
+
})
|
|
435
|
+
.map((hold) => (hold.field === undefined ? { code: hold.code } : { code: hold.code, field: hold.field }));
|
|
436
|
+
}
|
|
330
437
|
/**
|
|
331
438
|
* The value-level checks that depend on owner answers, re-run on the final values: required fields, format,
|
|
332
439
|
* arithmetic (H5), zero VAT and rate snapping (H6), the date window (H10) and changed identifiers (H7). Holds only.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"document-reading-card.js","sourceRoot":"","sources":["../src/document-reading-card.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"document-reading-card.js","sourceRoot":"","sources":["../src/document-reading-card.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,mDAAmD;AACnD,EAAE;AACF,qEAAqE;AACrE,2EAA2E;AAC3E,uEAAuE;AACvE,2EAA2E;AAC3E,0EAA0E;AAC1E,gFAAgF;AAChF,2EAA2E;AAE3E,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAA+F,MAAM,6BAA6B,CAAC;AAGjL,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC1J,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEhD,8EAA8E;AAC9E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,4BAA4B,EAAE,8BAA8B,EAAE,uBAAuB,EAAE,mCAAmC,CAAU,CAAC;AAM7K,MAAM,CAAC,GAAG,OAAgB,CAAC;AAC3B,MAAM,CAAC,GAAG,UAAmB,CAAC;AAC9B,MAAM,CAAC,GAAG,OAAgB,CAAC;AAC3B,MAAM,CAAC,GAAG,cAAuB,CAAC;AAElC,0HAA0H;AAC1H,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,kBAAkB;IAClB,sBAAsB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC;IACxF,sBAAsB;IACtB,eAAe,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAC9F,YAAY,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACnF,mBAAmB;IACnB,mBAAmB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC5F,yBAAyB,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;IAChG,qBAAqB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACpE,0BAA0B;IAC1B,kBAAkB,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACtF,4BAA4B,EAAE,CAAC,EAAE,yBAAyB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,wBAAwB,EAAE,CAAC;IAClH,wBAAwB,EAAE,CAAC,EAAE,eAAe,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC7G,6BAA6B,EAAE,CAAC,EAAE,oCAAoC,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC/F,sBAAsB,EAAE,CAAC;IACzB,6BAA6B;IAC7B,qBAAqB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC;IACjG,mBAAmB,EAAE,CAAC,EAAE,6BAA6B,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACvF,0BAA0B,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC5D,oBAAoB;IACpB,mBAAmB,EAAE,CAAC,EAAE,mBAAmB,EAAE,CAAC,EAAE,kBAAkB,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC;IAChG,uBAAuB,EAAE,CAAC,EAAE,iCAAiC,EAAE,CAAC,EAAE,+BAA+B,EAAE,CAAC;IACpG,4BAA4B,EAAE,CAAC;IAC/B,aAAa;IACb,yBAAyB,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC1F,6BAA6B,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC;IACrF,kCAAkC,EAAE,CAAC;IACrC,0BAA0B;IAC1B,0BAA0B,EAAE,CAAC,EAAE,sBAAsB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,gBAAgB,EAAE,CAAC;IACtG,qBAAqB;IACrB,sBAAsB,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC;IACnD,4BAA4B;IAC5B,gBAAgB,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,iBAAiB,EAAE,CAAC,EAAE,wBAAwB,EAAE,CAAC,EAAE,aAAa,EAAE,CAAC;IACzG,mBAAmB,EAAE,CAAC,EAAE,uBAAuB,EAAE,CAAC,EAAE,qBAAqB,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC;IAC3G,sBAAsB,EAAE,CAAC,EAAE,oBAAoB,EAAE,CAAC,EAAE,cAAc,EAAE,CAAC,EAAE,0BAA0B,EAAE,CAAC;IACpG,0BAA0B;IAC1B,0BAA0B,EAAE,CAAC,EAAE,4BAA4B,EAAE,CAAC;IAC9D,iEAAiE;IACjE,qBAAqB,EAAE,CAAC;IACxB,iCAAiC,EAAE,CAAC;CACgB,CAAC;AAEvD,yFAAyF;AACzF,MAAM,CAAC,MAAM,mBAAmB,GAA4B,CAAC,GAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAgB,EAAE,GAAG,uBAAuB,CAAC,CAAC;AAErI,+DAA+D;AAC/D,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe;CAC5G,CAAC;AAEX,MAAM,cAAc,GAAG,CAAC,KAAyB,EAAyB,EAAE,CAAC,cAAc,CAAC,QAAQ,CAAC,KAAqB,CAAC,CAAC;AAE5H,gIAAgI;AAChI,MAAM,kBAAkB,GAA4B,CAAC,eAAe,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;AAE5G,MAAM,aAAa,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAU,CAAC;AACvD,MAAM,WAAW,GAAG,CAAC,cAAc,EAAE,UAAU,CAAU,CAAC;AAC1D,MAAM,aAAa,GAAG,CAAC,KAAa,EAAyC,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAc,CAAC,CAAC;AACvH,MAAM,WAAW,GAAG,CAAC,KAAa,EAAuC,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAc,CAAC,CAAC;AA+CjH,oHAAoH;AACpH,MAAM,UAAU,aAAa,CAAC,KAA0B;IACtD,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QAC3B,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,WAAW,KAAK,OAAO;YAAE,OAAO,IAAI,CAAC;QACzC,IAAI,WAAW,KAAK,cAAc,EAAE,CAAC;YACnC,2GAA2G;YAC3G,kGAAkG;YAClG,OAAO,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAqB,CAAC,CAAC,CAAC;QAClG,CAAC;QACD,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,IAAI,KAAK,wBAAwB,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC;QAC9G,CAAC;QACD,IAAI,WAAW,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC,IAAI,KAAK,kBAAkB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvG,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,QAAQ,GAAG,CAAC,MAAqB,EAAE,EAAsB,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAEjJ,wGAAwG;AACxG,SAAS,YAAY,CAAC,MAAqB,EAAE,KAAmB,EAAE,KAAsB,EAAE,MAA0B;IAClH,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC;QACrK,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IACD,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3G,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IACD,0GAA0G;IAC1G,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC;IAC3G,OAAO,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACnE,CAAC;AAED,SAAS,WAAW,CAAC,KAAgB,EAAE,IAAsF,EAAE,KAAmB;IAChJ,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACvC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;IACpD,MAAM,OAAO,GAAe,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC1D,IAAI,IAAI,KAAK,4BAA4B,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAwC,CAAC,CAAC;QACjF,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACnF,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClG,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC;YAAE,OAAO,SAAS,CAAC;QACrF,OAAO;YACL,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;YAC/C,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,OAAO,CAAC;YAChF,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACrC,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IACrE,MAAM,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,KAAK,wBAAwB;QAChD,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;QACzK,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAChJ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO;QACL,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK;QAC/C,OAAO,EAAE,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,UAAU,KAAK,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC;QACxG,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,KAAgB;IACtC,MAAM,GAAG,GAAI,CAAC,YAAY,EAAE,WAAW,EAAE,WAAW,CAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAgB,EAAE,CAAC,EAAE,KAAK,SAAS,CAAC,CAAC;IAC3J,MAAM,KAAK,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACtI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/C,6GAA6G;IAC7G,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjK,CAAC;AAED,yGAAyG;AACzG,MAAM,UAAU,gBAAgB,CAAC,KAAgB;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9C,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IAEhE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAyC,CAAC;IACjE,IAAI,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC;IACjC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;YAAC,aAAa,GAAG,IAAI,CAAC;YAAC,SAAS;QAAC,CAAC;QACzE,IAAI,IAAI,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;YAAC,aAAa,GAAG,IAAI,CAAC;YAAC,SAAS;QAAC,CAAC;QAC9E,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,cAAc,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAAC,UAAU,IAAI,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC5G,MAAM,KAAK,GAAG,IAAI,CAAC,KAAkC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACvF,IAAI,aAAa,EAAE,CAAC;QAClB,0GAA0G;QAC1G,oGAAoG;QACpG,KAAK,MAAM,KAAK,IAAI,CAAC,cAAc,EAAE,gBAAgB,CAAU,EAAE,CAAC;YAChE,IAAI,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC;gBAAE,SAAS;YAChC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAChG,CAAC;IACH,CAAC;IACD,8GAA8G;IAC9G,qGAAqG;IACrG,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;QACvC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,SAAS,KAAK,SAAS;YAAE,SAAS;QACtC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,OAAO,EAAE,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,uBAAuB;YACnF,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC,CAAC,SAAS,CAAC;QACpF,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,UAAU,CAA4F,CAAC;QAC1K,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,CAAC;QACjF,IAAI,WAAW,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,IAAI,wBAAwB,EAAE,CAAC,CAAC;YACvG,SAAS;QACX,CAAC;QACD,wGAAwG;QACxG,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3D,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAE,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;YAC5F,SAAS;QACX,CAAC;QACD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC,CAAC;YACrF,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,QAAQ,CAAC,0BAA0B,CAAC;YAC/F,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;YAC7E,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE;YACxE,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACzI,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;QACpC,0GAA0G;QAC1G,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,IAAI;YACtD,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,uBAAuB,EAAE;YAChG,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,KAAK,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,uBAAuB,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACpK,CAAC;IACD,IAAI,aAAa,EAAE,CAAC;QAClB,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/J,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9C,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IACrE,MAAM,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,IAAI,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,CAAC;IAChH,OAAO;QACL,OAAO,EAAE,KAAK;QACd,IAAI,EAAE;YACJ,SAAS,EAAE;gBACT,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBACpF,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;aAClI;YACD,IAAI;YACJ,WAAW,EAAE,UAAU;SACxB;KACF,CAAC;AACJ,CAAC;AAYD,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;AAEjG,gEAAgE;AAChE,SAAS,UAAU,CAAC,KAAiB,EAAE,GAAY;IACjD,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC/F,IAAI,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAAE,OAAO,SAAS,CAAC;QAC7D,OAAO,GAAG,CAAC;IACb,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC9C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IACzB,IAAI,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,IAAI,KAAK,KAAK,UAAU;QAAE,OAAO,KAAK,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACrE,MAAM,GAAG,GAAG,KAAK,KAAK,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAClF,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AACrE,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,CAAU,EAAE,CAAU,EAAE,EAAE,CAC3C,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAErF,6GAA6G;AAC7G,MAAM,UAAU,iBAAiB,CAAC,IAAiB,EAAE,MAAsB,EAAE,OAAgB;IAC3F,MAAM,KAAK,GAAG,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAkC,CAAC,CAAC,CAAC,EAAE,CAAC;IACnI,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACvD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IACnE,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC5F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAE1F,MAAM,KAAK,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IACrD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAc,CAAC;IACxC,IAAI,aAAa,GAAG,KAAK,CAAC;IAC1B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,CAA4B,CAAC;QACxD,MAAM,IAAI,GAAG,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtF,MAAM,IAAI,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;QACnE,IAAI,GAAG,CAAC,IAAI,KAAK,UAAU,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAC7F,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC;YACvE,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAChD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YACrD,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAAC,aAAa,GAAG,IAAI,CAAC;gBAAC,SAAS;YAAC,CAAC;YACtE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1E,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC;YAChC,SAAS;QACX,CAAC;QACD,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI;gBAAE,SAAS;YACtC,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;gBAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBAAC,SAAS;YAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACrB,SAAS;QACX,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QACvD,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAClD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAAC,SAAS;QAAC,CAAC;QAC5D,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;QACzB,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,uBAAuB,CAAC;YAClE,CAAC,GAAG,CAAC,IAAI,KAAK,cAAc,IAAI,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,uBAAuB,CAAC,CAAC;YAAE,cAAc,GAAG,IAAI,CAAC;IACxG,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAC1F,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IACtF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAuB,EAAE,eAAe,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,aAAa,EAAE,cAAc,EAAE,CAAC;AAC9H,CAAC;AAED,8EAA8E;AAC9E,8CAA8C;AAC9C,8EAA8E;AAE9E;;;;GAIG;AACH,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,kBAAkB,EAAE,mBAAmB,EAAE,eAAe;IACxD,qBAAqB,EAAE,yBAAyB,EAAE,uBAAuB,EAAE,4BAA4B;CACjE,CAAC;AAKzC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAqE;IACrG,cAAc,EAAE;QACd,GAAG,4BAA4B;QAC/B,0BAA0B;QAC1B,oBAAoB,EAAE,2BAA2B,EAAE,wBAAwB,EAAE,sBAAsB;QACnG,4BAA4B;KAC7B;IACD,mHAAmH;IACnH,iHAAiH;IACjH,YAAY,EAAE,CAAC,GAAG,4BAA4B,CAAC;CAChD,CAAC;AAEF,yFAAyF;AACzF,MAAM,UAAU,gBAAgB,CAAC,IAAwC,EAAE,OAA0D;IACnI,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAqB,CAAC,CAAC;IAC1F,OAAO,MAAM,KAAK,SAAS,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAqB,EACrB,OAAgC,EAChC,KAA8B,EAC9B,KAAqB,EACrB,OAA0D,EAC1D,GAAiB;IAEjB,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9E,MAAM,QAAQ,GAA4B,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;IAClE,MAAM,OAAO,GAA4B,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAChG,CAAC;IACD,OAAO,YAAY,CAAC,MAAM,EAAE,EAAE,GAAG,OAAO,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;AAC9F,CAAC;AAkBD,MAAM,OAAO,GAAG,CAAC,IAAsC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,IAAI,SAAS,IAAI,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;AACpG,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAE5I;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,WAAW,GAAe,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,CAAC,CAAC;IACrE,IAAI,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,SAAS,KAAK,QAAQ;QAAE,OAAO,WAAW,CAAC;IACrG,IAAI,OAAgB,CAAC;IACrB,IAAI,KAAc,CAAC;IACnB,IAAI,CAAC;QACH,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACxC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,WAAW,CAAC;IAC/D,MAAM,MAAM,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;IACrG,IAAI,CAAC,MAAM;QAAE,OAAO,WAAW,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D,OAAO,MAAM,CAAC,KAAK;SAChB,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE;QACf,IAAI,gBAAgB,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC;YAAE,OAAO,KAAK,CAAC;QACxD,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5E,CAAC,CAAC;SACD,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9G,CAAC;AAUD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAqB,EAAE,GAAmB;IAC3E,MAAM,KAAK,GAAe,EAAE,CAAC;IAC7B,KAAK,MAAM,KAAK,IAAI,CAAC,gBAAgB,EAAE,cAAc,EAAE,UAAU,EAAE,OAAO,CAAU,EAAE,CAAC;QACrF,IAAI,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,KAAK,EAAE,CAAC,CAAC;IACnF,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,SAAS;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,CAAC,CAAC;IACnH,CAAC;IACD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAC3B,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,CAAC,CAAC;IACxG,CAAC;IACD,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAClC,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAC7I,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,iBAAiB,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IAC7H,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,IAAI,KAAK,SAAS,IAAI,WAAW,CAAC,IAAI,EAAE,GAAG,EAAE,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,KAAK,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACnK,CAAC;IACD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QAClG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC9D,IAAI,KAAK,CAAC,YAAY,GAAG,QAAQ,IAAI,KAAK,CAAC,YAAY,GAAG,GAAG,CAAC,KAAK;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,4BAA4B,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IACjJ,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,GAAG,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;QAClI,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QACpF,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,kBAAkB,CAAC,UAAU,CAAC,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;IAC3J,CAAC;IACD,IAAI,KAAK,CAAC,aAAa,KAAK,IAAI,IAAI,KAAK,CAAC,aAAa,KAAK,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5H,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,eAAe,EAAE,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -460,6 +460,14 @@ export interface Trio {
|
|
|
460
460
|
}
|
|
461
461
|
/** Every (n, v, g) of distinct values with v > 0, |n + v − g| ≤ 0.01 and a matching rate. */
|
|
462
462
|
export declare function trios(values: readonly number[], rates: readonly number[]): Trio[];
|
|
463
|
+
/**
|
|
464
|
+
* Step 0 (lost-value plan rev 3 NEW-1): true when the text layer lost a value (`text_layer_value_lost`) and the
|
|
465
|
+
* reading has no invoice date. Without a date no VAT rate is in force, so every rule that reads the rates in force
|
|
466
|
+
* (H6, the N2 amount resolution, A2–A4 and the foreign-rate trio) is deferred, not failed: the owner types the date
|
|
467
|
+
* on the card and create re-runs the whole checker on it (document-reading-card.ts recheckReading). Only this hold,
|
|
468
|
+
* only a null date.
|
|
469
|
+
*/
|
|
470
|
+
export declare function ratesDeferredForLostDate(packet: Pick<ReadingPacket, "holds">, invoiceDate: string | null): boolean;
|
|
463
471
|
export declare function checkReading(packet: ReadingPacket, readingInput: unknown, proofInput: unknown, ctx: CheckContext): CheckResult;
|
|
464
472
|
/**
|
|
465
473
|
* N2 Q3: the one (n, v, g) of the three readings sets with |n + v − g| ≤ 0.01 and at least one rate, or null when
|