visura-parser 1.0.0 → 1.0.1

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
@@ -10,14 +10,19 @@ be text based.
10
10
 
11
11
  ## Motivation
12
12
 
13
- When working with Italian companies, you may need to obtain structured data about them. And yet ther isn't really a free and reliable solution to do that.
14
- This is what happened at Silkware, where we work with and onboard Italian companies on a daily basis.
15
- The _Visura camerale_ is an official document that contains a satisfying amount of information about a company that is easy to obtain and to share for companies.
16
- Currently, there isn't a free and open source solution to extract this information in a structured way.
13
+ When working with Italian companies, you often need structured data about them.
14
+ We wanted an open source parser that we could inspect, test, and improve.
15
+
16
+ This came up at Silkware, where we work with and onboard Italian companies. The
17
+ _Visura camerale_ is easy for companies to obtain and share, and it contains
18
+ enough official registry data to make structured extraction useful.
17
19
 
18
20
  ## Disclaimer
19
21
 
20
- This the development of this library is strongly aided by AI coding agents such as GPT5.6.
22
+ This library is developed with substantial help from AI coding agents.
23
+ Contributions must meet the same fixture, correctness, and review requirements
24
+ regardless of how the code was written.
25
+ The parser should be treated as a best-effort tool, so it may fail for Visure layouts that are not in the private corpus. Feel free to open an issue if you encounter a layout that is not supported, or contribute yourself.
21
26
 
22
27
  ## Requirements
23
28
 
@@ -26,6 +31,12 @@ This the development of this library is strongly aided by AI coding agents such
26
31
 
27
32
  ## Usage
28
33
 
34
+ Install the ESM package in your application:
35
+
36
+ ```sh
37
+ npm install visura-parser
38
+ ```
39
+
29
40
  ```ts
30
41
  import { readFile } from 'node:fs/promises';
31
42
  import { parseVisura, VisuraParseError } from 'visura-parser';
@@ -50,7 +61,7 @@ Missing fields are omitted. Counts and monetary amounts are numbers; explicit
50
61
  availability values are booleans. Dates use ISO `YYYY-MM-DD`. Official Italian
51
62
  role names are preserved in structured officer and shareholder records.
52
63
  See the [example output](exampleOutput.json) and
53
- [the schema](outputSchema.md).
64
+ [the schema](outputSchema.json).
54
65
 
55
66
  Ordinary, historical, evasion reports, and the supported shareholder Visura
56
67
  block are recognized. A block has no `reportType`. Image-only PDFs,
@@ -105,9 +116,21 @@ These files can contain personal data, just like the source PDFs.
105
116
 
106
117
  ## Contributing
107
118
 
108
- Read [`CONTRIBUTING.md`](CONTRIBUTING.md) before adding fixtures. Real Visure
119
+ Read [the contributor guide](https://github.com/LorenzoYeKai/visura-parser/blob/main/CONTRIBUTING.md) before adding fixtures. Real Visure
109
120
  often contain personal data and must not be committed.
110
121
 
122
+ The public tests and synthetic fixtures work without access to the private
123
+ corpus. To measure the built package on Node.js:
124
+
125
+ ```sh
126
+ bun run benchmark
127
+ bun run benchmark -- /path/to/local/pdfs 3
128
+ ```
129
+
130
+ The benchmark prints aggregate timings and result hashes, without filenames or
131
+ document values. See [the performance review and audit](https://github.com/LorenzoYeKai/visura-parser/blob/main/docs/performance-review.md)
132
+ for the measurement method, findings, and remaining work.
133
+
111
134
  ## License
112
135
 
113
136
  [MIT](LICENSE)
@@ -1 +1 @@
1
- {"version":3,"file":"parse-document.d.ts","sourceRoot":"","sources":["../../src/internal/parse-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAiB,YAAY,EAAkB,MAAM,YAAY,CAAC;AA6W9E,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAQjE;AAwBD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,YAAY,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,cAAc,CAkFhB"}
1
+ {"version":3,"file":"parse-document.d.ts","sourceRoot":"","sources":["../../src/internal/parse-document.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAiB,YAAY,EAAkB,MAAM,YAAY,CAAC;AA2X9E,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,GAAG,OAAO,CAQjE;AA4BD,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,YAAY,EACjB,QAAQ,CAAC,EAAE,MAAM,GAChB,cAAc,CAyGhB"}
@@ -143,32 +143,30 @@ const DATE_FIELDS = new Set([
143
143
  'startDate',
144
144
  ]);
145
145
  function matchesAny(text, patterns) {
146
- const normalized = normalizeText(text);
147
- return patterns.some((pattern) => pattern.test(normalized));
146
+ return patterns.some((pattern) => pattern.test(text));
148
147
  }
149
148
  function isKnownLabel(text) {
150
- return (isPersonRole(text) ||
151
- ALL_LABELS.some((pattern) => pattern.test(normalizeText(text))));
149
+ const normalized = normalizeText(text);
150
+ return (isPersonRole(normalized) ||
151
+ ALL_LABELS.some((pattern) => pattern.test(normalized)));
152
152
  }
153
153
  function samePanel(page, left, right) {
154
154
  const midpoint = page.width / 2;
155
155
  return left.x < midpoint === right.x < midpoint;
156
156
  }
157
- function inlineValue(label, patterns) {
158
- const text = normalizeText(label.text);
157
+ function inlineValue(text, patterns) {
159
158
  const separator = text.indexOf(':');
160
- if (separator < 0 || !matchesAny(text.slice(0, separator), patterns))
159
+ if (separator < 0 || !matchesAny(text.slice(0, separator).trim(), patterns))
161
160
  return undefined;
162
161
  const value = normalizeText(text.slice(separator + 1));
163
162
  if (value.length > 0)
164
163
  return value;
165
164
  return undefined;
166
165
  }
167
- function findValueOnPage(page, patterns, multiline = false, fullWidth = false) {
168
- const labels = semanticSpans(page).filter((span) => matchesAny(span.text, patterns) ||
169
- inlineValue(span, patterns) !== undefined);
170
- for (const label of labels) {
171
- const inline = inlineValue(label, patterns);
166
+ function findValueOnPage(page, prepared, patterns, multiline = false, fullWidth = false) {
167
+ const labels = prepared.labels.filter(({ text }) => matchesAny(text, patterns) || inlineValue(text, patterns) !== undefined);
168
+ for (const { span: label, text } of labels) {
169
+ const inline = inlineValue(text, patterns);
172
170
  if (inline !== undefined)
173
171
  return inline;
174
172
  const candidates = page.spans
@@ -196,7 +194,7 @@ function findValueOnPage(page, patterns, multiline = false, fullWidth = false) {
196
194
  continue;
197
195
  if (!multiline)
198
196
  return normalizeText(value.text);
199
- const nextLabel = semanticSpans(page)
197
+ const nextLabel = prepared.spans
200
198
  .filter((span) => (fullWidth || samePanel(page, value, span)) &&
201
199
  span.x < value.x - 10 &&
202
200
  span.y < value.y - 2 &&
@@ -234,8 +232,7 @@ function findCoverPage(pdf) {
234
232
  pdf.pages.find((page) => /registro imprese/i.test(pageText(page))) ??
235
233
  pdf.pages.find((page) => page.spans.length > 0));
236
234
  }
237
- function findBusinessName(page) {
238
- const spans = semanticSpans(page);
235
+ function findBusinessName(page, spans) {
239
236
  const title = spans
240
237
  .filter((span) => span.y > page.height * 0.35 &&
241
238
  /^(?:visura\s+(?:ordinaria|storica|(?:di\s+)?evasione)\b|soci e titolari di diritti|esito evasione protocollo)/i.test(normalizeText(span.text)))
@@ -268,17 +265,17 @@ function findBusinessName(page) {
268
265
  }
269
266
  return parts.join(' ');
270
267
  }
271
- function findBusinessNameFromLabels(pdf) {
268
+ function findBusinessNameFromLabels(pdf, prepare) {
272
269
  const labels = [/^denominazione$/i, /^ditta$/i, /^ragione sociale$/i];
273
270
  for (const page of pdf.pages) {
274
- const value = findValueOnPage(page, labels, true);
271
+ const value = findValueOnPage(page, prepare(page), labels, true);
275
272
  if (value !== undefined)
276
273
  return value;
277
274
  }
278
275
  return undefined;
279
276
  }
280
- function detectVisuraType(cover) {
281
- const titles = semanticSpans(cover).filter((span) => span.y > cover.height * 0.35);
277
+ function detectVisuraType(cover, spans) {
278
+ const titles = spans.filter((span) => span.y > cover.height * 0.35);
282
279
  const title = titles.find((span) => /^visura\s+(?:ordinaria|storica|(?:di\s+)?evasione)\b/i.test(normalizeText(span.text)));
283
280
  if (title !== undefined)
284
281
  return normalizeText(title.text);
@@ -292,10 +289,10 @@ export function isSupportedVisuraBlock(pdf) {
292
289
  return (/dati anagrafici/i.test(pageText(cover)) &&
293
290
  cover.spans.some((span) => /^soci e titolari di diritti/i.test(normalizeText(span.text))));
294
291
  }
295
- function beforeSection(pdf, heading) {
292
+ function beforeSection(pdf, heading, spansFor) {
296
293
  const pages = [];
297
294
  for (const page of pdf.pages) {
298
- const boundary = semanticSpans(page)
295
+ const boundary = spansFor(page)
299
296
  .filter((span) => span.x < page.width * 0.15 && heading.test(normalizeText(span.text)))
300
297
  .sort((left, right) => right.y - left.y)[0];
301
298
  if (boundary === undefined) {
@@ -311,11 +308,30 @@ function beforeSection(pdf, heading) {
311
308
  return { pages };
312
309
  }
313
310
  export function parseExtractedDocument(pdf, filename) {
311
+ // Reuse phrase reconstruction across fields within this call only. Key by
312
+ // object identity: section-clipped pages can share a source page number.
313
+ const prepared = new Map();
314
+ const prepare = (page) => {
315
+ let text = prepared.get(page);
316
+ if (text === undefined) {
317
+ const spans = semanticSpans(page);
318
+ text = {
319
+ spans,
320
+ labels: spans.map((span) => ({
321
+ span,
322
+ text: normalizeText(span.text),
323
+ })),
324
+ };
325
+ prepared.set(page, text);
326
+ }
327
+ return text;
328
+ };
329
+ const spansFor = (page) => prepare(page).spans;
314
330
  const cover = findCoverPage(pdf);
315
- const currentPdf = beforeSection(pdf, /^(?:\d+\s+)?(?:storia (?:delle|dei|di)|informazioni storiche|protocollo evaso\b)/i);
331
+ const currentPdf = beforeSection(pdf, /^(?:\d+\s+)?(?:storia (?:delle|dei|di)|informazioni storiche|protocollo evaso\b)/i, spansFor);
316
332
  // Company dates precede the domain sections; later registration dates can
317
333
  // belong to a shareholder or an appointment rather than the company.
318
- const identityPdf = beforeSection(currentPdf, /^\d+\s+(?:capitale|soci|amministratori|sindaci|titolari|attivit[aà]'?|trasferimenti|scioglimento|altre cariche)\b/i);
334
+ const identityPdf = beforeSection(currentPdf, /^\d+\s+(?:capitale|soci|amministratori|sindaci|titolari|attivit[aà]'?|trasferimenti|scioglimento|altre cariche)\b/i, spansFor);
319
335
  const fields = {};
320
336
  const activityBody = joinPages(currentPdf.pages.filter((page) => page.number !== cover.number));
321
337
  for (const field of FIELD_SPECS) {
@@ -328,7 +344,7 @@ export function parseExtractedDocument(pdf, filename) {
328
344
  ? [cover, activityBody]
329
345
  : currentPdf.pages;
330
346
  for (const page of pages) {
331
- const value = findValueOnPage(page, field.labels, field.multiline, page === activityBody);
347
+ const value = findValueOnPage(page, prepare(page), field.labels, field.multiline, page === activityBody);
332
348
  if (value === undefined)
333
349
  continue;
334
350
  const normalized = DATE_FIELDS.has(key) ? parseItalianDate(value) : value;
@@ -341,14 +357,15 @@ export function parseExtractedDocument(pdf, filename) {
341
357
  const result = mapDocument(fields);
342
358
  if (filename !== undefined)
343
359
  result.filename = filename;
344
- const reportType = detectVisuraType(cover);
360
+ const reportType = detectVisuraType(cover, spansFor(cover));
345
361
  if (reportType !== undefined)
346
362
  result.reportType = reportType;
347
- const name = findBusinessName(cover) ?? findBusinessNameFromLabels(currentPdf);
363
+ const name = findBusinessName(cover, spansFor(cover)) ??
364
+ findBusinessNameFromLabels(currentPdf, prepare);
348
365
  if (name !== undefined)
349
366
  result.companyName = normalizeText(name);
350
367
  // Dates belong to their printed summary label, not the report extraction date.
351
- for (const label of semanticSpans(cover)) {
368
+ for (const label of spansFor(cover)) {
352
369
  const text = normalizeText(label.text);
353
370
  const employees = /^addetti(?: al)?\s*\(?(\d{2}\/\d{2}\/\d{4})\)?$/i.exec(text);
354
371
  const filings = /^documenti ri(?: dal)?\s*\(?(\d{2}\/\d{2}\/\d{4})\)?$/i.exec(text);
@@ -1 +1 @@
1
- {"version":3,"file":"parse-document.js","sourceRoot":"","sources":["../../src/internal/parse-document.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-document.js","sourceRoot":"","sources":["../../src/internal/parse-document.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAkB5C,MAAM,WAAW,GAAG;IAClB;QACE,GAAG,EAAE,yBAAyB;QAC9B,MAAM,EAAE;YACN,uCAAuC;YACvC,mBAAmB;YACnB,cAAc;YACd,gBAAgB;SACjB;QACD,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,IAAI;KAChB;IACD;QACE,GAAG,EAAE,gBAAgB;QACrB,MAAM,EAAE,CAAC,6BAA6B,EAAE,QAAQ,CAAC;QACjD,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/D;QACE,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,CAAC,uCAAuC,EAAE,mBAAmB,CAAC;QACtE,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IAC9D,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IAC7D;QACE,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,CAAC,oBAAoB,CAAC;QAC9B,KAAK,EAAE,OAAO;QACd,SAAS,EAAE,IAAI;KAChB;IACD;QACE,GAAG,EAAE,mBAAmB;QACxB,MAAM,EAAE,CAAC,8BAA8B,CAAC;QACxC,KAAK,EAAE,UAAU;KAClB;IACD;QACE,GAAG,EAAE,kBAAkB;QACvB,MAAM,EAAE,CAAC,4BAA4B,CAAC;QACtC,KAAK,EAAE,UAAU;KAClB;IACD;QACE,GAAG,EAAE,kBAAkB;QACvB,MAAM,EAAE,CAAC,2BAA2B,CAAC;QACrC,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,wBAAwB,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE;IACnE;QACE,GAAG,EAAE,WAAW;QAChB,MAAM,EAAE,CAAC,0DAA0D,CAAC;QACpE,KAAK,EAAE,UAAU;KAClB;IACD;QACE,GAAG,EAAE,iBAAiB;QACtB,MAAM,EAAE,CAAC,6BAA6B,CAAC;QACvC,KAAK,EAAE,UAAU;QACjB,SAAS,EAAE,IAAI;KAChB;IACD,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC,iBAAiB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACjE,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,0BAA0B,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACzE;QACE,GAAG,EAAE,sBAAsB;QAC3B,MAAM,EAAE,CAAC,gCAAgC,CAAC;QAC1C,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IAC5E;QACE,GAAG,EAAE,0BAA0B;QAC/B,MAAM,EAAE,CAAC,yBAAyB,CAAC;QACnC,KAAK,EAAE,OAAO;KACf;IACD;QACE,GAAG,EAAE,4BAA4B;QACjC,MAAM,EAAE,CAAC,+BAA+B,CAAC;QACzC,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,EAAE,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACxE;QACE,GAAG,EAAE,eAAe;QACpB,MAAM,EAAE,CAAC,iCAAiC,CAAC;QAC3C,KAAK,EAAE,OAAO;KACf;IACD;QACE,GAAG,EAAE,aAAa;QAClB,MAAM,EAAE,CAAC,uCAAuC,CAAC;QACjD,KAAK,EAAE,OAAO;KACf;IACD;QACE,GAAG,EAAE,mBAAmB;QACxB,MAAM,EAAE,CAAC,iDAAiD,EAAE,SAAS,CAAC;QACtE,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACxE;QACE,GAAG,EAAE,oBAAoB;QACzB,MAAM,EAAE,CAAC,wBAAwB,CAAC;QAClC,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,CAAC,sBAAsB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IAC5E;QACE,GAAG,EAAE,qBAAqB;QAC1B,MAAM,EAAE,CAAC,0CAA0C,CAAC;QACpD,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,qBAAqB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/D;QACE,GAAG,EAAE,qBAAqB;QAC1B,MAAM,EAAE,CAAC,2BAA2B,CAAC;QACrC,KAAK,EAAE,OAAO;KACf;IACD;QACE,GAAG,EAAE,gCAAgC;QACrC,MAAM,EAAE,CAAC,0BAA0B,CAAC;QACpC,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,oBAAoB,EAAE,MAAM,EAAE,CAAC,mBAAmB,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IAC5E,EAAE,GAAG,EAAE,sBAAsB,EAAE,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACzE;QACE,GAAG,EAAE,gCAAgC;QACrC,MAAM,EAAE,CAAC,YAAY,CAAC;QACtB,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,gBAAgB,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;IACpE;QACE,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,CAAC,mCAAmC,CAAC;QAC7C,KAAK,EAAE,OAAO;KACf;IACD,EAAE,GAAG,EAAE,yBAAyB,EAAE,MAAM,EAAE,CAAC,YAAY,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE;CACnC,CAAC;AAI1C,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AAChE,MAAM,WAAW,GAA2B,IAAI,GAAG,CAAC;IAClD,mBAAmB;IACnB,kBAAkB;IAClB,kBAAkB;IAClB,WAAW;CACZ,CAAC,CAAC;AAEH,SAAS,UAAU,CAAC,IAAY,EAAE,QAA2B;IAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACxD,CAAC;AAED,SAAS,YAAY,CAAC,IAAY;IAChC,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IACvC,OAAO,CACL,YAAY,CAAC,UAAU,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CACvD,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAChB,IAAmB,EACnB,IAAoB,EACpB,KAAqB;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC,CAAC,GAAG,QAAQ,KAAK,KAAK,CAAC,CAAC,GAAG,QAAQ,CAAC;AAClD,CAAC;AAED,SAAS,WAAW,CAClB,IAAY,EACZ,QAA2B;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,SAAS,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC;QACzE,OAAO,SAAS,CAAC;IACnB,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC;IACvD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACnC,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,eAAe,CACtB,IAAmB,EACnB,QAAsB,EACtB,QAA2B,EAC3B,SAAS,GAAG,KAAK,EACjB,SAAS,GAAG,KAAK;IAEjB,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,CACnC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CACX,UAAU,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,KAAK,SAAS,CAC1E,CAAC;IAEF,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,MAAM,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAExC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK;aAC1B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,KAAK,KAAK;YACd,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC;YAC9D,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3B;aACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAE3C,IAAI,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,GAAG,IAAI,CAAC,KAAK;iBACf,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,KAAK,KAAK;gBACd,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBAC3C,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC;gBAChD,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC;gBACtB,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE;gBACtB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3B;iBACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;gBACpB,MAAM,QAAQ,GACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC3D,OAAO,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;YACtD,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACV,CAAC;QACD,IAAI,KAAK,KAAK,SAAS;YAAE,SAAS;QAElC,IAAI,CAAC,SAAS;YAAE,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEjD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK;aAC7B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE;YACrB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;YACpB,CAAC,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACzC;aACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,MAAM,aAAa,GACjB,SAAS,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK;aAC7B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,CAAC,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAC3C,CAAC,SAAS;gBACR,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC;gBACvB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACpC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC;YACpB,IAAI,CAAC,CAAC,GAAG,aAAa,GAAG,CAAC;YAC1B,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAC3B;aACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/D,MAAM,KAAK,GAAG,SAAS;YACrB,CAAC,CAAC,IAAI,CAAC,KAAK;iBACP,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CACnE;iBACA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;iBACzB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC;YAC7B,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACjB,IAAI,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC;QACxB,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,IAAI,SAAS,GAAG,YAAY,CAAC,CAAC,GAAG,EAAE;gBAAE,MAAM;YAC3C,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC9B,SAAS,GAAG,YAAY,CAAC,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,GAAiB;IACtC,OAAO,CACL,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5D,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAE,CACjD,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CACvB,IAAmB,EACnB,KAAgC;IAEhC,MAAM,KAAK,GAAG,KAAK;SAChB,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI;QAC3B,gHAAgH,CAAC,IAAI,CACnH,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CACzB,CACJ;SACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;SACrB,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,EAAE;QACrB,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;QACvB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;QAC3B,CAAC,yEAAyE,CAAC,IAAI,CAC7E,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CACzB,CACJ;SACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;QACpB,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1C,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACR,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAE1C,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC3B,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,KAAK,MAAM,SAAS,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,IAAI,SAAS,CAAC,CAAC,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;YACtE,SAAS;QACX,IACE,QAAQ,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,GAAG,EAAE;YAC7B,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG;YAC/C,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC;YAE5B,MAAM;QACR,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3B,QAAQ,GAAG,SAAS,CAAC;IACvB,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,0BAA0B,CACjC,GAAiB,EACjB,OAAoB;IAEpB,MAAM,MAAM,GAAG,CAAC,kBAAkB,EAAE,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACtE,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACjE,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,KAAK,CAAC;IACxC,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,gBAAgB,CACvB,KAAoB,EACpB,KAAgC;IAEhC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACjC,uDAAuD,CAAC,IAAI,CAC1D,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CACzB,CACF,CAAC;IACF,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACnC,+BAA+B,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC/D,CAAC;IACF,IAAI,OAAO,KAAK,SAAS;QAAE,OAAO,oBAAoB,CAAC;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,GAAiB;IACtD,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,OAAO,CACL,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CACxB,8BAA8B,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAC9D,CACF,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CACpB,GAAiB,EACjB,OAAe,EACf,QAAsB;IAEtB,MAAM,KAAK,GAAoB,EAAE,CAAC;IAClC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC;aAC5B,MAAM,CACL,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACvE;aACA,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC9C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACjB,SAAS;QACX,CAAC;QACD,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,IAAI;YACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;SACxD,CAAC,CAAC;QACH,MAAM;IACR,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,GAAiB,EACjB,QAAiB;IAEjB,0EAA0E;IAC1E,yEAAyE;IACzE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA+B,CAAC;IACxD,MAAM,OAAO,GAAgB,CAAC,IAAI,EAAE,EAAE;QACpC,IAAI,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,GAAG;gBACL,KAAK;gBACL,MAAM,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBAC3B,IAAI;oBACJ,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC;iBAC/B,CAAC,CAAC;aACJ,CAAC;YACF,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;IACF,MAAM,QAAQ,GAAiB,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC;IAC7D,MAAM,KAAK,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IACjC,MAAM,UAAU,GAAG,aAAa,CAC9B,GAAG,EACH,mFAAmF,EACnF,QAAQ,CACT,CAAC;IACF,0EAA0E;IAC1E,qEAAqE;IACrE,MAAM,WAAW,GAAG,aAAa,CAC/B,UAAU,EACV,oHAAoH,EACpH,QAAQ,CACT,CAAC;IACF,MAAM,MAAM,GAAuC,EAAE,CAAC;IACtD,MAAM,YAAY,GAAG,SAAS,CAC5B,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,CAAC,CAChE,CAAC;IACF,KAAK,MAAM,KAAK,IAAI,WAAmC,EAAE,CAAC;QACxD,MAAM,GAAG,GAAG,KAAK,CAAC,GAAgB,CAAC;QACnC,MAAM,KAAK,GACT,KAAK,CAAC,KAAK,KAAK,OAAO;YACrB,CAAC,CAAC,CAAC,KAAK,CAAC;YACT,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU;gBAC1B,CAAC,CAAC,WAAW,CAAC,KAAK;gBACnB,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,UAAU;oBAC1B,CAAC,CAAC,CAAC,KAAK,EAAE,YAAY,CAAC;oBACvB,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC;QAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,eAAe,CAC3B,IAAI,EACJ,OAAO,CAAC,IAAI,CAAC,EACb,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,SAAS,EACf,IAAI,KAAK,YAAY,CACtB,CAAC;YACF,IAAI,KAAK,KAAK,SAAS;gBAAE,SAAS;YAClC,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC1E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,MAAM,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC;gBACzB,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,QAAQ,KAAK,SAAS;QAAE,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACvD,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;IAC5D,IAAI,UAAU,KAAK,SAAS;QAAE,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;IAC7D,MAAM,IAAI,GACR,gBAAgB,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QACxC,0BAA0B,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAClD,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,CAAC,WAAW,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;IAEjE,+EAA+E;IAC/E,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACvC,MAAM,SAAS,GAAG,kDAAkD,CAAC,IAAI,CACvE,IAAI,CACL,CAAC;QACF,MAAM,OAAO,GACX,wDAAwD,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAC3E,IAAI,IAAI,KAAK,SAAS;YAAE,SAAS;QACjC,IAAI,SAAS;YACX,MAAM,CAAC,SAAS,GAAG,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAClE,IAAI,OAAO;YACT,MAAM,CAAC,uBAAuB,GAAG;gBAC/B,GAAG,MAAM,CAAC,uBAAuB;gBACjC,SAAS,EAAE,IAAI;aAChB,CAAC;IACN,CAAC;IACD,MAAM,MAAM,GAAG,WAAW,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,MAAM,CAAC,qBAAqB;QAC9B,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,qBAAqB,CAAC;IAC9D,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;QAAE,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAC9D,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM;QAAE,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;IAC1E,MAAM,eAAe,GAAG,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,eAAe,CAAC,MAAM;QACxB,MAAM,CAAC,QAAQ,GAAG;YAChB,GAAG,MAAM,CAAC,QAAQ;YAClB,oBAAoB,EAAE,eAAe;SACtC,CAAC;IACJ,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,OAAO,KAAK,SAAS;QAAE,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC;IACzD,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-people.d.ts","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAiB,YAAY,EAAkB,MAAM,YAAY,CAAC;AAiB9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;AA+HD,wBAAgB,WAAW,CACzB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,GAChB;IACD,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAiMA"}
1
+ {"version":3,"file":"parse-people.d.ts","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACxE,OAAO,KAAK,EAAiB,YAAY,EAAkB,MAAM,YAAY,CAAC;AAiB9E,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGlD;AAiID,wBAAgB,WAAW,CACzB,GAAG,EAAE,YAAY,EACjB,SAAS,EAAE,MAAM,GAChB;IACD,qBAAqB,CAAC,EAAE,cAAc,CAAC;IACvC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,WAAW,EAAE,CAAC;CAC7B,CAiMA"}
@@ -22,9 +22,8 @@ function isName(text) {
22
22
  !OFFICER_ROLE.test(text) &&
23
23
  !SHAREHOLDER_ROLE.test(text));
24
24
  }
25
- function identities(page) {
25
+ function identities(page, spans) {
26
26
  const result = [];
27
- const spans = semanticSpans(page);
28
27
  for (const span of spans) {
29
28
  const match = TAX_CODE.exec(normalizeText(span.text));
30
29
  if (!match?.[1])
@@ -97,7 +96,7 @@ export function parsePeople(pdf, coverPage) {
97
96
  const result = { officers: [], shareholders: [] };
98
97
  const page = joinPages(pdf.pages);
99
98
  const spans = semanticSpans(page);
100
- const records = identities(page);
99
+ const records = identities(page, spans);
101
100
  const sections = spans
102
101
  .filter((span) => span.x < page.width * 0.15 && SECTION.test(normalizeText(span.text)))
103
102
  .sort((a, b) => a.y - b.y);
@@ -1 +1 @@
1
- {"version":3,"file":"parse-people.js","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parse-people.js","sourceRoot":"","sources":["../../src/internal/parse-people.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,203 @@
1
+ {
2
+ "filename": "visura_ordinaria_acme_software_srl.pdf",
3
+
4
+ "reportType": "Visura Ordinaria",
5
+
6
+ "companyName": "ACME SOFTWARE S.R.L.",
7
+
8
+ "registeredOfficeAddress": "VIA GIUSEPPE GARIBALDI 42, 20121 MILANO (MI)",
9
+
10
+ "certifiedEmail": "acmesoftware@pec.it",
11
+
12
+ "reaNumber": "MI-2684512",
13
+
14
+ "taxCode": "11876540967",
15
+
16
+ "vatNumber": "11876540967",
17
+
18
+ "leiCode": "815600A1B2C3D4E5F678",
19
+
20
+ "legalForm": "SOCIETA' A RESPONSABILITA' LIMITATA",
21
+
22
+ "incorporationDate": "2021-03-18",
23
+
24
+ "registrationDate": "2021-03-24",
25
+
26
+ "lastProtocolDate": "2025-07-15",
27
+
28
+ "primaryRepresentative": {
29
+ "name": "MARIO ROSSI",
30
+ "role": "PRESIDENTE CONSIGLIO AMMINISTRAZIONE"
31
+ },
32
+
33
+ "activity": {
34
+ "status": "ATTIVA",
35
+
36
+ "startDate": "2021-04-01",
37
+
38
+ "primaryActivity": "PRODUZIONE DI SOFTWARE NON CONNESSO ALL'EDIZIONE, CONSULENZA INFORMATICA E SVILUPPO DI SOLUZIONI SOFTWARE PER IMPRESE",
39
+
40
+ "atecoCode": "62.01.00",
41
+
42
+ "naceCode": "62.01",
43
+
44
+ "atecoClassifications": [
45
+ {
46
+ "code": "62.01.00",
47
+ "description": "PRODUZIONE DI SOFTWARE NON CONNESSO ALL'EDIZIONE",
48
+ "importance": "PREVALENTE"
49
+ },
50
+ {
51
+ "code": "62.02.00",
52
+ "description": "CONSULENZA NEL SETTORE DELLE TECNOLOGIE DELL'INFORMATICA",
53
+ "importance": "SECONDARIA"
54
+ }
55
+ ],
56
+
57
+ "importExportActivity": "NON RISULTA ESERCITATA",
58
+
59
+ "networkContract": "NESSUN CONTRATTO DI RETE REGISTRATO",
60
+
61
+ "licensesAndRegistrations": [
62
+ "ISCRIZIONE AL REGISTRO DELLE IMPRESE",
63
+ "ISCRIZIONE NELLA SEZIONE ORDINARIA DAL 24/03/2021"
64
+ ],
65
+
66
+ "environmentalRegistrations": []
67
+ },
68
+
69
+ "shareCapital": {
70
+ "currency": "EUR",
71
+
72
+ "authorized": 50000.0,
73
+
74
+ "subscribed": 50000.0,
75
+
76
+ "paidUp": 50000.0
77
+ },
78
+
79
+ "employees": {
80
+ "count": 18,
81
+ "referenceDate": "2025-12-31"
82
+ },
83
+
84
+ "companySummary": {
85
+ "shareholdersCount": 3,
86
+
87
+ "directorsCount": 3,
88
+
89
+ "officeHoldersCount": 6,
90
+
91
+ "localUnitsCount": 1,
92
+
93
+ "filingsLast12Months": 7,
94
+
95
+ "shareTransfersCount": 2,
96
+
97
+ "registeredOfficeTransfersCount": 1,
98
+
99
+ "hasEquityInterests": true
100
+ },
101
+
102
+ "businessRegisterFilings": {
103
+ "count": 24,
104
+ "sinceDate": "2021-03-24"
105
+ },
106
+
107
+ "certifications": {
108
+ "soa": [],
109
+
110
+ "quality": ["UNI EN ISO 9001:2015"]
111
+ },
112
+
113
+ "availableDocuments": {
114
+ "companyFileAvailable": true,
115
+
116
+ "articlesOfAssociationAvailable": true,
117
+
118
+ "otherActsCount": 19,
119
+
120
+ "financialStatementYears": [2024, 2023, 2022, 2021]
121
+ },
122
+
123
+ "officers": [
124
+ {
125
+ "name": "MARIO ROSSI",
126
+ "taxCode": "RSSMRA80A01F205X",
127
+ "roles": [
128
+ "PRESIDENTE CONSIGLIO AMMINISTRAZIONE",
129
+ "AMMINISTRATORE DELEGATO"
130
+ ]
131
+ },
132
+ {
133
+ "name": "LUCA BIANCHI",
134
+ "taxCode": "BNCLCU85C12F205Y",
135
+ "roles": ["CONSIGLIERE"]
136
+ },
137
+ {
138
+ "name": "ANNA VERDI",
139
+ "taxCode": "VRDNNA82E55F205Z",
140
+ "roles": ["CONSIGLIERE"]
141
+ },
142
+ {
143
+ "name": "PAOLO NERI",
144
+ "taxCode": "NREPLA73D04F205W",
145
+ "roles": ["PRESIDENTE DEL COLLEGIO SINDACALE"]
146
+ },
147
+ {
148
+ "name": "GIULIA FERRARI",
149
+ "taxCode": "FRRGLI76A41F205V",
150
+ "roles": ["SINDACO"]
151
+ },
152
+ {
153
+ "name": "ANDREA ROMANO",
154
+ "taxCode": "RMNNDR79H19F205U",
155
+ "roles": ["SINDACO SUPPLENTE"]
156
+ }
157
+ ],
158
+
159
+ "shareholders": [
160
+ {
161
+ "name": "MARIO ROSSI",
162
+ "taxCode": "RSSMRA80A01F205X",
163
+
164
+ "rightType": "PROPRIETA'",
165
+
166
+ "nominalValue": 25000.0,
167
+
168
+ "currency": "EUR",
169
+
170
+ "ownershipPercentage": 50.0,
171
+
172
+ "isSoleShareholder": false
173
+ },
174
+ {
175
+ "name": "LUCA BIANCHI",
176
+ "taxCode": "BNCLCU85C12F205Y",
177
+
178
+ "rightType": "PROPRIETA'",
179
+
180
+ "nominalValue": 15000.0,
181
+
182
+ "currency": "EUR",
183
+
184
+ "ownershipPercentage": 30.0,
185
+
186
+ "isSoleShareholder": false
187
+ },
188
+ {
189
+ "name": "ALPHA HOLDING S.R.L.",
190
+ "taxCode": "10987650961",
191
+
192
+ "rightType": "PROPRIETA'",
193
+
194
+ "nominalValue": 10000.0,
195
+
196
+ "currency": "EUR",
197
+
198
+ "ownershipPercentage": 20.0,
199
+
200
+ "isSoleShareholder": false
201
+ }
202
+ ]
203
+ }
@@ -0,0 +1,443 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "title": "ItalianBusinessRegistryReport",
4
+ "description": "Structured data extracted from an Italian Chamber of Commerce business registry report (visura camerale). Property names are normalized in English, while official registry values and source terminology are preserved in Italian where appropriate.",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+
8
+ "properties": {
9
+ "filename": {
10
+ "type": "string",
11
+ "description": "Name of the source document."
12
+ },
13
+
14
+ "reportType": {
15
+ "type": "string",
16
+ "description": "Official type of business registry report as stated in the source document, e.g. 'Visura Ordinaria', 'Visura Storica' or 'Visura di Evasione'."
17
+ },
18
+
19
+ "companyName": {
20
+ "type": "string",
21
+ "description": "Registered legal name or business name of the entity."
22
+ },
23
+
24
+ "registeredOfficeAddress": {
25
+ "type": "string",
26
+ "description": "Registered office address as reported in the business registry."
27
+ },
28
+
29
+ "certifiedEmail": {
30
+ "type": "string",
31
+ "description": "Registered certified electronic mail address (PEC) of the entity."
32
+ },
33
+
34
+ "reaNumber": {
35
+ "type": "string",
36
+ "description": "REA registration number assigned by the competent Chamber of Commerce."
37
+ },
38
+
39
+ "taxCode": {
40
+ "type": "string",
41
+ "description": "Italian tax identification code (codice fiscale) of the entity."
42
+ },
43
+
44
+ "vatNumber": {
45
+ "type": "string",
46
+ "description": "Italian VAT identification number (partita IVA) of the entity."
47
+ },
48
+
49
+ "leiCode": {
50
+ "type": "string",
51
+ "description": "Legal Entity Identifier (LEI), when available."
52
+ },
53
+
54
+ "legalForm": {
55
+ "type": "string",
56
+ "description": "Official legal form as reported in the source document, e.g. 'SOCIETA' A RESPONSABILITA' LIMITATA'."
57
+ },
58
+
59
+ "incorporationDate": {
60
+ "type": "string",
61
+ "format": "date",
62
+ "description": "Date of the deed of incorporation or establishment of the entity."
63
+ },
64
+
65
+ "registrationDate": {
66
+ "type": "string",
67
+ "format": "date",
68
+ "description": "Date on which the entity was registered with the Italian Business Register (Registro delle Imprese)."
69
+ },
70
+
71
+ "lastProtocolDate": {
72
+ "type": "string",
73
+ "format": "date",
74
+ "description": "Date of the most recent protocol or filing recorded in the Business Register."
75
+ },
76
+
77
+ "primaryRepresentative": {
78
+ "type": "object",
79
+ "additionalProperties": false,
80
+ "description": "Primary representative or senior officer displayed in the report summary, when present.",
81
+
82
+ "properties": {
83
+ "name": {
84
+ "type": "string",
85
+ "description": "Name of the person as reported in the source document."
86
+ },
87
+
88
+ "role": {
89
+ "type": "string",
90
+ "description": "Official role as reported in the source document, e.g. 'PRESIDENTE CONSIGLIO AMMINISTRAZIONE', 'AMMINISTRATORE UNICO' or 'AMMINISTRATORE DELEGATO'."
91
+ }
92
+ }
93
+ },
94
+
95
+ "activity": {
96
+ "type": "object",
97
+ "additionalProperties": false,
98
+ "description": "Information about the entity's registered business activities.",
99
+
100
+ "properties": {
101
+ "status": {
102
+ "type": "string",
103
+ "description": "Official activity status as reported by the Business Register, e.g. 'ATTIVA', 'INATTIVA', 'SOSPESA' or 'CESSATA'."
104
+ },
105
+
106
+ "startDate": {
107
+ "type": "string",
108
+ "format": "date",
109
+ "description": "Date on which the registered business activity started."
110
+ },
111
+
112
+ "primaryActivity": {
113
+ "type": "string",
114
+ "description": "Official description of the primary or prevailing business activity as reported in the source document."
115
+ },
116
+
117
+ "atecoCode": {
118
+ "type": "string",
119
+ "description": "Primary Italian ATECO classification code associated with the registered activity."
120
+ },
121
+
122
+ "naceCode": {
123
+ "type": "string",
124
+ "description": "European NACE classification code associated with the registered activity, when reported."
125
+ },
126
+
127
+ "atecoClassifications": {
128
+ "type": "array",
129
+ "description": "ATECO or ATECORI classifications reported for the entity.",
130
+ "items": {
131
+ "type": "object",
132
+ "additionalProperties": false,
133
+
134
+ "properties": {
135
+ "code": {
136
+ "type": "string",
137
+ "description": "ATECO or ATECORI classification code."
138
+ },
139
+
140
+ "description": {
141
+ "type": "string",
142
+ "description": "Official activity description associated with the classification code."
143
+ },
144
+
145
+ "importance": {
146
+ "type": "string",
147
+ "description": "Official classification qualifier as reported in the source document, when available, e.g. 'prevalente' or 'primaria'."
148
+ }
149
+ }
150
+ }
151
+ },
152
+
153
+ "importExportActivity": {
154
+ "type": "string",
155
+ "description": "Official information concerning import or export activity as reported in the source document."
156
+ },
157
+
158
+ "networkContract": {
159
+ "type": "string",
160
+ "description": "Official information concerning participation in a business network agreement (contratto di rete)."
161
+ },
162
+
163
+ "licensesAndRegistrations": {
164
+ "type": "array",
165
+ "description": "Professional registers, rolls, licences, authorisations or similar registrations reported for the entity.",
166
+ "items": {
167
+ "type": "string"
168
+ }
169
+ },
170
+
171
+ "environmentalRegistrations": {
172
+ "type": "array",
173
+ "description": "Environmental registers or environmental professional rolls in which the entity is registered.",
174
+ "items": {
175
+ "type": "string"
176
+ }
177
+ }
178
+ }
179
+ },
180
+
181
+ "shareCapital": {
182
+ "type": "object",
183
+ "additionalProperties": false,
184
+ "description": "Registered share capital information.",
185
+
186
+ "properties": {
187
+ "currency": {
188
+ "type": "string",
189
+ "description": "Currency used for share capital amounts, usually 'EUR'."
190
+ },
191
+
192
+ "authorized": {
193
+ "type": "number",
194
+ "minimum": 0,
195
+ "description": "Share capital formally resolved or approved by the shareholders (capitale deliberato)."
196
+ },
197
+
198
+ "subscribed": {
199
+ "type": "number",
200
+ "minimum": 0,
201
+ "description": "Share capital formally subscribed by shareholders or members (capitale sottoscritto)."
202
+ },
203
+
204
+ "paidUp": {
205
+ "type": "number",
206
+ "minimum": 0,
207
+ "description": "Subscribed share capital that has actually been paid or contributed (capitale versato)."
208
+ }
209
+ }
210
+ },
211
+
212
+ "employees": {
213
+ "type": "object",
214
+ "additionalProperties": false,
215
+ "description": "Employee information reported in the business registry.",
216
+
217
+ "properties": {
218
+ "count": {
219
+ "type": "integer",
220
+ "minimum": 0,
221
+ "description": "Number of employees or workers reported for the entity."
222
+ },
223
+
224
+ "referenceDate": {
225
+ "type": "string",
226
+ "format": "date",
227
+ "description": "Reference date associated with the employee count."
228
+ }
229
+ }
230
+ },
231
+
232
+ "companySummary": {
233
+ "type": "object",
234
+ "additionalProperties": false,
235
+ "description": "Summary figures typically reported in the 'L'impresa in cifre' section.",
236
+
237
+ "properties": {
238
+ "shareholdersCount": {
239
+ "type": "integer",
240
+ "minimum": 0,
241
+ "description": "Number of shareholders or members reported for the entity."
242
+ },
243
+
244
+ "directorsCount": {
245
+ "type": "integer",
246
+ "minimum": 0,
247
+ "description": "Number of directors or administrators reported for the entity."
248
+ },
249
+
250
+ "officeHoldersCount": {
251
+ "type": "integer",
252
+ "minimum": 0,
253
+ "description": "Number of persons holding registered corporate offices or appointments."
254
+ },
255
+
256
+ "localUnitsCount": {
257
+ "type": "integer",
258
+ "minimum": 0,
259
+ "description": "Number of registered local business units."
260
+ },
261
+
262
+ "filingsLast12Months": {
263
+ "type": "integer",
264
+ "minimum": 0,
265
+ "description": "Number of filings submitted to the Business Register during the previous twelve months."
266
+ },
267
+
268
+ "shareTransfersCount": {
269
+ "type": "integer",
270
+ "minimum": 0,
271
+ "description": "Number of registered transfers of shares or ownership interests."
272
+ },
273
+
274
+ "registeredOfficeTransfersCount": {
275
+ "type": "integer",
276
+ "minimum": 0,
277
+ "description": "Number of registered transfers of the entity's registered office."
278
+ },
279
+
280
+ "hasEquityInterests": {
281
+ "type": "boolean",
282
+ "description": "Whether the entity is reported as holding equity interests or participations in other entities."
283
+ }
284
+ }
285
+ },
286
+
287
+ "businessRegisterFilings": {
288
+ "type": "object",
289
+ "additionalProperties": false,
290
+ "description": "Summary of filings recorded in the Italian Business Register.",
291
+
292
+ "properties": {
293
+ "count": {
294
+ "type": "integer",
295
+ "minimum": 0,
296
+ "description": "Number of Business Register filings reported for the indicated period."
297
+ },
298
+
299
+ "sinceDate": {
300
+ "type": "string",
301
+ "format": "date",
302
+ "description": "Start date of the period used for the reported filing count, when specified."
303
+ }
304
+ }
305
+ },
306
+
307
+ "certifications": {
308
+ "type": "object",
309
+ "additionalProperties": false,
310
+ "description": "Qualifications and certifications reported for the entity.",
311
+
312
+ "properties": {
313
+ "soa": {
314
+ "type": "array",
315
+ "description": "SOA qualifications or certifications reported for the entity.",
316
+ "items": {
317
+ "type": "string"
318
+ }
319
+ },
320
+
321
+ "quality": {
322
+ "type": "array",
323
+ "description": "Quality-related certifications reported for the entity.",
324
+ "items": {
325
+ "type": "string"
326
+ }
327
+ }
328
+ }
329
+ },
330
+
331
+ "availableDocuments": {
332
+ "type": "object",
333
+ "additionalProperties": false,
334
+ "description": "Documents reported as available for consultation from the Business Register.",
335
+
336
+ "properties": {
337
+ "companyFileAvailable": {
338
+ "type": "boolean",
339
+ "description": "Whether the company registry file (fascicolo) is available for consultation."
340
+ },
341
+
342
+ "articlesOfAssociationAvailable": {
343
+ "type": "boolean",
344
+ "description": "Whether the current articles of association or statute (statuto) are available for consultation."
345
+ },
346
+
347
+ "otherActsCount": {
348
+ "type": "integer",
349
+ "minimum": 0,
350
+ "description": "Number of other registered corporate acts available for consultation."
351
+ },
352
+
353
+ "financialStatementYears": {
354
+ "type": "array",
355
+ "description": "Financial years for which filed annual financial statements are available.",
356
+ "items": {
357
+ "type": "integer",
358
+ "minimum": 1900,
359
+ "maximum": 2200
360
+ }
361
+ }
362
+ }
363
+ },
364
+
365
+ "officers": {
366
+ "type": "array",
367
+ "description": "Persons holding registered corporate offices, governance roles or control functions.",
368
+ "items": {
369
+ "type": "object",
370
+ "additionalProperties": false,
371
+
372
+ "properties": {
373
+ "name": {
374
+ "type": "string",
375
+ "description": "Name of the person as reported in the source document."
376
+ },
377
+
378
+ "taxCode": {
379
+ "type": "string",
380
+ "description": "Italian tax identification code of the person, when reported."
381
+ },
382
+
383
+ "roles": {
384
+ "type": "array",
385
+ "description": "Official corporate roles held by the person, preserved as reported in the source document.",
386
+ "items": {
387
+ "type": "string"
388
+ }
389
+ }
390
+ }
391
+ }
392
+ },
393
+
394
+ "shareholders": {
395
+ "type": "array",
396
+ "description": "Persons or entities holding shares, quotas or membership interests in the entity.",
397
+ "items": {
398
+ "type": "object",
399
+ "additionalProperties": false,
400
+
401
+ "properties": {
402
+ "name": {
403
+ "type": "string",
404
+ "description": "Name or registered name of the shareholder or member."
405
+ },
406
+
407
+ "taxCode": {
408
+ "type": "string",
409
+ "description": "Italian tax identification code of the shareholder or member, when reported."
410
+ },
411
+
412
+ "rightType": {
413
+ "type": "string",
414
+ "description": "Official type of right over the shares or ownership interest as reported in the source document, e.g. 'PROPRIETA'', 'USUFRUTTO' or 'NUDA PROPRIETA''."
415
+ },
416
+
417
+ "nominalValue": {
418
+ "type": "number",
419
+ "minimum": 0,
420
+ "description": "Nominal value of the shares, quotas or ownership interest held."
421
+ },
422
+
423
+ "currency": {
424
+ "type": "string",
425
+ "description": "Currency used for the nominal value, usually 'EUR'."
426
+ },
427
+
428
+ "ownershipPercentage": {
429
+ "type": "number",
430
+ "minimum": 0,
431
+ "maximum": 100,
432
+ "description": "Percentage of the entity's share capital or ownership interest represented by the holding, when determinable."
433
+ },
434
+
435
+ "isSoleShareholder": {
436
+ "type": "boolean",
437
+ "description": "Whether the person or entity is identified as the sole shareholder or sole member."
438
+ }
439
+ }
440
+ }
441
+ }
442
+ }
443
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "visura-parser",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Deterministic parsing of text-based Italian Visura camerale PDFs",
5
5
  "keywords": [
6
6
  "camera-di-commercio",
@@ -15,10 +15,16 @@
15
15
  "type": "git",
16
16
  "url": "git+https://github.com/LorenzoYeKai/visura-parser.git"
17
17
  },
18
+ "bugs": {
19
+ "url": "https://github.com/LorenzoYeKai/visura-parser/issues"
20
+ },
21
+ "homepage": "https://github.com/LorenzoYeKai/visura-parser#readme",
18
22
  "type": "module",
19
23
  "sideEffects": false,
20
24
  "files": [
21
25
  "dist",
26
+ "outputSchema.json",
27
+ "exampleOutput.json",
22
28
  "LICENSE",
23
29
  "README.md"
24
30
  ],
@@ -36,6 +42,7 @@
36
42
  },
37
43
  "packageManager": "bun@1.3.12",
38
44
  "scripts": {
45
+ "benchmark": "bun run build && node scripts/benchmark.mjs",
39
46
  "build": "tsc -p tsconfig.build.json",
40
47
  "changeset": "changeset",
41
48
  "check": "bun run build && bun run lint && bun run format:check && bun run typecheck && bun run test && bun run package:check",
@@ -59,7 +66,7 @@
59
66
  "@eslint/js": "^10.0.1",
60
67
  "@types/node": "^24.0.0",
61
68
  "@vitest/coverage-v8": "^5.0.0",
62
- "ajv": "8.17.1",
69
+ "ajv": "8.18.0",
63
70
  "ajv-formats": "3.0.1",
64
71
  "eslint": "^10.9.1",
65
72
  "prettier": "^3.9.6",