@ekwo-ai/invoice-pdf 0.16.0 → 0.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inter-regular.js","sourceRoot":"","sources":["../../src/fonts/inter-regular.ts"],"names":[],"mappings":"AAAA,uJAAuJ;AACvJ,8CAA8C;AAC9C,eAAe;IACb,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,kyBAAkyB;IAClyB,0IAA0I;IAC1I,knBAAknB;IAClnB,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0+BAA0+B;IAC1+B,0SAA0S;CAC3S,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC"}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { renderInvoicePdf } from './render.js';
2
2
  export { renderFacturXPdf, type EmbedFacturX, type FacturXPdfOptions, type FacturXProfile } from './facturx.js';
3
3
  export { ENGLISH_LABELS, labelsWith } from './labels.js';
4
- export { DEFAULT_THEME } from './theme.js';
4
+ export { DEFAULT_THEME, TYPEFACES } from './theme.js';
5
5
  export { encodeQr, type QrMatrix } from './qr.js';
6
6
  export { InvoicePdfError, type InvoicePdfErrorCode } from './errors.js';
7
7
  export type { DocumentHeaderRow, DocumentLegalMentionRow, DocumentLineRow, DocumentTaxRow, ExtraFont, InvoiceLabels, InvoicePdfInput, InvoicePdfOptions, InvoiceTheme, InvoiceVerification, InvoiceVerificationField, IsoDate, Numeric, PageSize, QrErrorCorrection, RenderedInvoicePdf, } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACxB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,iBAAiB,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,KAAK,QAAQ,EAAE,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACxE,YAAY,EACV,iBAAiB,EACjB,uBAAuB,EACvB,eAAe,EACf,cAAc,EACd,SAAS,EACT,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EACnB,wBAAwB,EACxB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  export { renderInvoicePdf } from './render.js';
2
2
  export { renderFacturXPdf } from './facturx.js';
3
3
  export { ENGLISH_LABELS, labelsWith } from './labels.js';
4
- export { DEFAULT_THEME } from './theme.js';
4
+ export { DEFAULT_THEME, TYPEFACES } from './theme.js';
5
5
  export { encodeQr } from './qr.js';
6
6
  export { InvoicePdfError } from './errors.js';
7
7
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAkE,MAAM,cAAc,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAiB,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,eAAe,EAA4B,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAkE,MAAM,cAAc,CAAC;AAChH,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAiB,MAAM,SAAS,CAAC;AAClD,OAAO,EAAE,eAAe,EAA4B,MAAM,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAWH,OAAO,KAAK,EAGV,eAAe,EACf,iBAAiB,EAEjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAiMpB;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwiB3H"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAWH,OAAO,KAAK,EAGV,eAAe,EACf,iBAAiB,EAEjB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAmMpB;;;;;GAKG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,eAAe,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAwiB3H"}
package/dist/render.js CHANGED
@@ -89,7 +89,7 @@ class Canvas {
89
89
  async text(value, x, baseline, style = {}, align = 'left') {
90
90
  const size = style.size ?? BODY;
91
91
  const bold = style.bold ?? false;
92
- const runs = await this.ts.runs(value, bold);
92
+ const runs = await this.ts.runs(value, bold, style.heading ?? false);
93
93
  let width = 0;
94
94
  for (const run of runs)
95
95
  width += run.font.widthOfTextAtSize(run.text, size);
@@ -245,7 +245,7 @@ export async function renderInvoicePdf(input, options = {}) {
245
245
  producer: options.producer ?? '@ekwo-ai/invoice-pdf',
246
246
  date: options.date ?? new Date(),
247
247
  }, f.locale, `${fullTitle}|${documentDate}|${text(header.document_id) ?? ''}`);
248
- const ts = typesetter(doc, options.fonts ?? [], f.locale, theme.font);
248
+ const ts = typesetter(doc, options.fonts ?? [], f.locale, theme.font, theme.heading);
249
249
  const [width, height] = SIZES[options.pageSize ?? 'A4'];
250
250
  const canvas = new Canvas(doc, ts, width, height);
251
251
  const contentWidth = canvas.right - canvas.left;
@@ -289,7 +289,7 @@ export async function renderInvoicePdf(input, options = {}) {
289
289
  // Beside a logo the name is a line of the address; alone, it stands for the logo.
290
290
  const nameSize = logo !== null && theme.logoPosition === 'left' ? 11 : 16;
291
291
  if (sellerName !== null) {
292
- leftY -= await paragraph(canvas, await ts.wrap(sellerName, nameSize, leftWidth, true), canvas.left, leftY, { size: nameSize, bold: true });
292
+ leftY -= await paragraph(canvas, await ts.wrap(sellerName, nameSize, leftWidth, true, true), canvas.left, leftY, { size: nameSize, bold: true, heading: true });
293
293
  }
294
294
  const sellerLines = [];
295
295
  const legal = [text(header.seller_legal_name), text(header.seller_legal_form)].filter((v) => v !== null).join(' ');
@@ -316,9 +316,9 @@ export async function renderInvoicePdf(input, options = {}) {
316
316
  wrappedSeller.push(...(await ts.wrap(line, 8.5, leftWidth, false)));
317
317
  leftY -= 2 + (await paragraph(canvas, wrappedSeller, canvas.left, leftY - 2, { size: 8.5, color: MUTED }));
318
318
  const rightX = canvas.right - rightWidth;
319
- for (const line of await ts.wrap(title, 18, rightWidth, true)) {
319
+ for (const line of await ts.wrap(title, 18, rightWidth, true, true)) {
320
320
  rightY -= lineHeight(18);
321
- await canvas.text(line, canvas.right, rightY + 5, { size: 18, bold: true, color: theme.accent }, 'right');
321
+ await canvas.text(line, canvas.right, rightY + 5, { size: 18, bold: true, heading: true, color: theme.accent }, 'right');
322
322
  }
323
323
  if (header.state === 'cancelled') {
324
324
  rightY -= lineHeight(10);
@@ -376,7 +376,7 @@ export async function renderInvoicePdf(input, options = {}) {
376
376
  const wrapped = [];
377
377
  for (const line of lines)
378
378
  wrapped.push(...(await ts.wrap(line, BODY, partyText, false)));
379
- return [[heading], name === null ? [] : await ts.wrap(name, 10.5, partyText, true), wrapped];
379
+ return [[heading], name === null ? [] : await ts.wrap(name, 10.5, partyText, true, true), wrapped];
380
380
  };
381
381
  const panels = [await party(labels.billTo, text(header.buyer_name), buyerLines)];
382
382
  if (delivery.length > 0)
@@ -387,7 +387,7 @@ export async function renderInvoicePdf(input, options = {}) {
387
387
  canvas.shade(x, canvas.y - panelHeight, partyWidth, panelHeight);
388
388
  let y = canvas.y - panelPad;
389
389
  y -= await paragraph(canvas, heading, x + panelPad, y, { size: SMALL, bold: true, color: MUTED });
390
- y -= await paragraph(canvas, name, x + panelPad, y, { size: 10.5, bold: true });
390
+ y -= await paragraph(canvas, name, x + panelPad, y, { size: 10.5, bold: true, heading: true });
391
391
  await paragraph(canvas, lines, x + panelPad, y);
392
392
  }
393
393
  canvas.y -= panelHeight + 16;
@@ -522,7 +522,7 @@ export async function renderInvoicePdf(input, options = {}) {
522
522
  const nameWidth = contentWidth - 3 * numberWidth;
523
523
  await canvas.ensure(lineHeight(BODY) + headerHeight + 30);
524
524
  canvas.y -= lineHeight(BODY);
525
- await canvas.text(labels.taxSummary, canvas.left, canvas.y + 2.5, { bold: true });
525
+ await canvas.text(labels.taxSummary, canvas.left, canvas.y + 2.5, { bold: true, heading: true });
526
526
  canvas.y -= 4;
527
527
  canvas.shade(canvas.left, canvas.y - headerHeight, contentWidth, headerHeight, theme.accent);
528
528
  let x = canvas.left + nameWidth;
@@ -593,21 +593,21 @@ export async function renderInvoicePdf(input, options = {}) {
593
593
  if (framed) {
594
594
  canvas.frame(canvas.left, top - panel, paymentWidth, panel);
595
595
  let y = top - panelPad;
596
- y -= 2 + (await paragraph(canvas, [labels.payment], canvas.left + panelPad, y, { bold: true }));
596
+ y -= 2 + (await paragraph(canvas, [labels.payment], canvas.left + panelPad, y, { bold: true, heading: true }));
597
597
  await paragraph(canvas, payment, canvas.left + panelPad, y);
598
598
  }
599
599
  for (const [label, value, strong] of totals) {
600
600
  canvas.y -= lineHeight(10);
601
601
  if (strong)
602
602
  canvas.rule(canvas.y + lineHeight(10) - 1, totalsX, canvas.right, INK, 0.6);
603
- await canvas.text(label, totalsX + pad, canvas.y + 3, { size: strong ? 10 : BODY, bold: strong, color: strong ? INK : MUTED });
603
+ await canvas.text(label, totalsX + pad, canvas.y + 3, { size: strong ? 10 : BODY, bold: strong, heading: strong, color: strong ? INK : MUTED });
604
604
  await canvas.text(value, canvas.right - pad, canvas.y + 3, { size: strong ? 10 : BODY, bold: strong }, 'right');
605
605
  }
606
606
  if (residual !== null) {
607
607
  canvas.y -= 30;
608
608
  canvas.shade(totalsX, canvas.y, totalsWidth, 22, theme.accent);
609
609
  const due = { size: 10.5, bold: true, color: theme.onAccent };
610
- await canvas.text(credit ? labels.amountCredited : labels.amountDue, totalsX + pad, canvas.y + 7.5, due);
610
+ await canvas.text(credit ? labels.amountCredited : labels.amountDue, totalsX + pad, canvas.y + 7.5, { ...due, heading: true });
611
611
  await canvas.text(f.amount(residual), canvas.right - pad, canvas.y + 7.5, due, 'right');
612
612
  }
613
613
  canvas.y = Math.min(canvas.y, framed ? top - panel : canvas.y) - 18;
@@ -622,7 +622,7 @@ export async function renderInvoicePdf(input, options = {}) {
622
622
  };
623
623
  const heading = async (label) => {
624
624
  await canvas.ensure(lineHeight(BODY) * 3);
625
- await flow([label], { bold: true });
625
+ await flow([label], { bold: true, heading: true });
626
626
  canvas.y -= 2;
627
627
  };
628
628
  if (payment.length > 0 && !framed) {
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,WAAW,EAAE,GAAG,EAA0B,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,EAAkB,MAAM,aAAa,CAAC;AACvF,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,UAAU,EAAmB,MAAM,WAAW,CAAC;AAClF,OAAO,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAU/C,MAAM,KAAK,GAAuC,EAAE,EAAE,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;AAC/F,MAAM,MAAM,GAAG,EAAE,CAAC;AAElB,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AACpC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;AAClC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;AAEpC,MAAM,IAAI,GAAG,CAAC,CAAC;AACf,MAAM,KAAK,GAAG,GAAG,CAAC;AAClB,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB,MAAM,IAAI,GAAG,CAAC,KAAc,EAAiB,EAAE;IAC7C,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACvD,MAAM,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;AACjC,CAAC,CAAC;AAUF,yEAAyE;AACzE,MAAM,MAAM;IAWC;IACA;IACA;IACA;IAbF,KAAK,GAAc,EAAE,CAAC;IACtB,KAAK,GAAe,EAAE,CAAC;IAChC,iGAAiG;IACjG,OAAO,GAAG,CAAC,CAAC,CAAC;IACb,CAAC,GAAG,CAAC,CAAC;IACN,MAAM,GAAG,MAAM,CAAC;IAChB,qGAAqG;IACrG,YAAY,GAAiC,IAAI,CAAC;IAElD,YACW,GAAgB,EAChB,EAAc,EACd,KAAa,EACb,MAAc;QAHd,QAAG,GAAH,GAAG,CAAa;QAChB,OAAE,GAAF,EAAE,CAAY;QACd,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAQ;IACtB,CAAC;IAEJ,IAAI,IAAI;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,IAAI;QACN,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;QACrC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAC9B,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI;YAAE,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;IACrF,CAAC;IAED,iEAAiE;IACjE,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,IAAI,IAAI,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1D,CAAC;IAED,uGAAuG;IACvG,KAAK,CAAC,IAAI,CAAC,KAAa,EAAE,CAAS,EAAE,QAAgB,EAAE,QAAe,EAAE,EAAE,QAA0B,MAAM;QACxG,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;QAChC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC;QACjC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC;QACrE,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,KAAK,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAC5E,IAAI,MAAM,GAAG,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG,EAAE,CAAC,CAAC;YAC1G,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,KAAK,KAAK,EAAE;YAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,CAAC,CAAS,EAAE,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,SAAS,GAAG,GAAG;QAC9E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,KAAK,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc,EAAE,QAAa,KAAK;QAC3E,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,CAAS,EAAE,CAAS,EAAE,KAAa,EAAE,MAAc;QACvD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IACxF,CAAC;CACF;AAED,MAAM,UAAU,GAAG,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,GAAG,OAAO,CAAC;AAE5D,6EAA6E;AAC7E,KAAK,UAAU,SAAS,CACtB,MAAc,EACd,KAAwB,EACxB,CAAS,EACT,GAAW,EACX,QAAe,EAAE;IAEjB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;IAChC,IAAI,CAAC,GAAG,GAAG,CAAC;IACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACtB,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,GAAG,GAAG,CAAC,CAAC;AACjB,CAAC;AAED,SAAS,OAAO,CAAC,MAAyB,EAAE,MAAqB;IAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC;IACtD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;IAC3F,OAAO,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AACrD,CAAC;AAED,SAAS,UAAU,CAAC,MAAyB;IAC3C,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IAChF,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnC,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACxF,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,IAAI,IAAI,KAAK,EAAE;QAAE,OAAO,SAAS,IAAI,MAAM,CAAC;IACxE,OAAO,GAAG,IAAI,IAAI,IAAI,MAAM,CAAC;AAC/B,CAAC;AAED,gGAAgG;AAChG,SAAS,YAAY,CACnB,CAAY,EACZ,KAAc,EACd,KAAc,EACd,UAAmB,EACnB,IAAa,EACb,MAAe,EACf,OAAgB;IAEhB,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9F,IAAI,KAAK,KAAK,EAAE;QAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,IAAI,CAAC,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5B,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,IAAI,CAAC,KAAK,IAAI;QAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,QAAQ,CAAC,KAAc,EAAE,IAAY;IAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;IACtB,IAAI,CAAC,KAAK,IAAI;QAAE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,uBAAuB,IAAI,EAAE,CAAC,CAAC;IAC1F,OAAO,CAAC,CAAC;AACX,CAAC;AAED,iGAAiG;AACjG,SAAS,yBAAyB,CAAC,KAAsB,EAAE,MAAqB;IAC9E,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,KAAa,EAAQ,EAAE;QACpD,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC,CAAC;IACF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC;QAAE,KAAK,CAAC,KAAK,EAAE,mBAAmB,GAAG,EAAE,CAAC,CAAC;IAChG,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE;QAC9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,KAAK,CAAC,KAAK,EAAE,uBAAuB,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;QAC7B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC;YAAE,KAAK,CAAC,KAAK,EAAE,wBAAwB,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpG,CAAC,CAAC,CAAC;IACH,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC1G,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;IAChD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;QACpD,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC/C,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;YACtD,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,CAAC,YAAY,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC;IAC3F,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAAE,KAAK,CAAC,KAAK,EAAE,UAAU,GAAG,EAAE,CAAC,CAAC;AACnF,CAAC;AAQD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAsB,EAAE,UAA6B,EAAE;IAC5F,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;IACzB,IAAI,MAAM,CAAC,QAAQ,KAAK,cAAc,IAAI,MAAM,CAAC,QAAQ,KAAK,kBAAkB,EAAE,CAAC;QACjF,MAAM,IAAI,eAAe,CACvB,qBAAqB,EACrB,KAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,mFAAmF,CAChH,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1C,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAEzC,MAAM,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC5D,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC;IAC/D,MAAM,CAAC,GAAG,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,CAAC,KAAc,EAAE,IAAY,EAAiB,EAAE;QAC7D,MAAM,CAAC,GAAG,OAAO,CAAC,KAAsB,EAAE,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;IAChE,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IAC1D,IAAI,OAAO,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACvD,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,qFAAqF,CAAC,CAAC;IACpI,CAAC;IAED,gGAAgG;IAChG,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,CAAC,eAAe,EAAE,CAAC,qBAAqB,IAAI,CAAC,CAAC;IAC5H,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAA6B,CAAC;IAC9D,MAAM,SAAS,GAAG,CAAC,KAAa,EAAU,EAAE;QAC1C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;QACrF,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;QACzC,IAAI,MAAM,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,qBAAqB,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,CAAC,CAAC;YACvI,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,KAA0B,CAAC,CAAC;IACnD,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACrE,MAAM,SAAS,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC;IAEjE,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1C,MAAM,GAAG,GAAG,MAAM,WAAW,CAAC,MAAM,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC1E,iBAAiB,CACf,GAAG,EACH;QACE,KAAK,EAAE,SAAS;QAChB,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,sBAAsB;QAC/B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,sBAAsB;QACpD,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,IAAI,EAAE;KACjC,EACD,CAAC,CAAC,MAAM,EACR,GAAG,SAAS,IAAI,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CACjE,CAAC;IAEF,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACrF,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,IAAI,IAAI,CAAC,CAAC;IACxD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC;IAEhD,iFAAiF;IACjF,MAAM,SAAS,GAAG;QAChB,MAAM;QACN,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;QAC9B,CAAC,GAAG,EAAE;YACJ,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,oBAAqC,EAAE,sBAAsB,CAAC,CAAC;YAC9F,IAAI,OAAO,KAAK,IAAI;gBAAE,OAAO,IAAI,CAAC;YAClC,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,6BAA6B,CAAC,IAAI,QAAQ,CAAC;YAC/E,OAAO,GAAG,MAAM,CAAC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7F,CAAC,CAAC,EAAE;QACJ,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,kBAAkB,IAAI,IAAI,CAAC,MAAM,CAAC,0BAA0B,CAAC,EAAE;QACnI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE;KACzG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,YAAY,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IACxF,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAEnE,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IAEvB,sDAAsD;IACtD,MAAM,SAAS,GAAG,YAAY,GAAG,IAAI,CAAC;IACtC,MAAM,UAAU,GAAG,YAAY,GAAG,GAAG,CAAC;IACtC,IAAI,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;IACrB,IAAI,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC;IACtB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IACvG,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC5C,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC9D,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAC7B,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAC9B,IAAI,KAAK,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;YACnF,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IACD,kFAAkF;IAClF,MAAM,QAAQ,GAAG,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,YAAY,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1E,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,KAAK,IAAI,MAAM,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IAClK,CAAC;IACD,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAChI,IAAI,KAAK,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,UAAU;QAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3F,WAAW,CAAC,IAAI,CACd,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,CACzK,CAAC;IACF,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI;QAC3B,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,iBAAiB,CAAC;QAC5C,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,0BAA0B,CAAC;QAC9D,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;QACnC,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,CAAC;QACnC,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,cAAc,CAAC;KAC/B,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI;YAAE,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IACD,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC7D,IAAI,YAAY,KAAK,IAAI,IAAI,cAAc,KAAK,IAAI;QAAE,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,iBAAiB,KAAK,YAAY,IAAI,cAAc,EAAE,CAAC,CAAC;IACzI,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,IAAI,IAAI,WAAW;QAAE,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpG,KAAK,IAAI,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;IAE3G,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,GAAG,UAAU,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACpE,MAAM,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3H,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QACzB,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IACjI,CAAC;IACD,MAAM,IAAI,CAAC,CAAC;IACZ,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,KAAK,kBAAkB,CAAC;IACtD,MAAM,IAAI,GAA8B;QACtC,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;QACvB,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACnC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAW,CAAC,CAAC;QAC3G,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAW,CAAC,CAAC;QAChH,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAW,CAAC,CAAC;QAClH,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACrD,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC3D,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;QACzD,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC;KAC5D,CAAC;IACF,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAClC,IAAI,KAAK,KAAK,IAAI;YAAE,SAAS;QAC7B,MAAM,UAAU,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;QACvE,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC;YAC7C,MAAM,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YAC3B,IAAI,CAAC,KAAK,CAAC;gBAAE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC9E,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IACD,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC;IACxC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACpE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAEf,gFAAgF;IAChF,MAAM,QAAQ,GAAG,CAAC,CAAC;IACnB,MAAM,UAAU,GAAG,YAAY,GAAG,IAAI,CAAC;IACvC,MAAM,SAAS,GAAG,UAAU,GAAG,CAAC,GAAG,QAAQ,CAAC;IAC5C,MAAM,UAAU,GAAa,YAAY,CACvC,CAAC,EACD,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,mBAAmB,EAC1B,MAAM,CAAC,iBAAiB,EACxB,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,aAAa,CACrB,CAAC;IACF,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI;QAC3B,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,gBAAgB,CAAC;QAC3C,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,yBAAyB,CAAC;QAC7D,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,WAAW,CAAC;KAC1B,EAAE,CAAC;QACX,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,KAAK,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC;IAC3D,IAAI,WAAW,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI;QAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,iBAAiB,KAAK,WAAW,IAAI,aAAa,EAAE,CAAC,CAAC;IACpI,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,sBAAsB,EAAE,IAAI,EAAE,MAAM,CAAC,oBAAoB,EAAE,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;IAExJ,iHAAiH;IACjH,MAAM,KAAK,GAAG,KAAK,EAAE,OAAe,EAAE,IAAmB,EAAE,KAAwB,EAA2C,EAAE;QAC9H,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACzF,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,OAAO,CAAC,CAAC;IACrG,CAAC,CAAC;IACF,MAAM,MAAM,GAAG,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;IACjF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IACpF,MAAM,WAAW,GACf,IAAI,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IAClJ,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3D,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC;QACxD,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,WAAW,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;QACjE,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC;QAC5B,CAAC,IAAI,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAClG,CAAC,IAAI,MAAM,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/F,MAAM,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,CAAC,CAAC,IAAI,WAAW,GAAG,EAAE,CAAC;IAE7B,gBAAgB;IAChB,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC;IAC3F,MAAM,WAAW,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACtC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,gBAAgB,IAAI,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAClE,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,KAAK,IAAI,CAAC,CAAC;IAC1E,MAAM,OAAO,GAAa;QACxB,EAAE,KAAK,EAAE,MAAM,CAAC,WAAW,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE;QACtD,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QACrD,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QACtD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAgB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxF,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;QACpD,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE;KACpD,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,CAAC,CAAY,CAAC,KAAK,GAAG,YAAY,GAAG,KAAK,CAAC;IACpD,MAAM,GAAG,GAAG,CAAC,CAAC;IACd,MAAM,YAAY,GAAG,EAAE,CAAC;IAExB,0DAA0D;IAC1D,MAAM,YAAY,GAAU,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC/E,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;QAC5C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7F,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC;QACpB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;YAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/I,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC;QACpB,CAAC;QACD,MAAM,CAAC,CAAC,IAAI,YAAY,GAAG,CAAC,CAAC;IAC/B,CAAC,CAAC;IACF,MAAM,mBAAmB,GAAG,KAAK,IAAmB,EAAE;QACpD,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3E,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACpC,CAAC,CAAC;IAEF,MAAM,MAAM,CAAC,MAAM,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,WAAW,EAAE,CAAC;IACpB,MAAM,CAAC,YAAY,GAAG,KAAK,IAAI,EAAE;QAC/B,MAAM,mBAAmB,EAAE,CAAC;QAC5B,MAAM,WAAW,EAAE,CAAC;IACtB,CAAC,CAAC;IAEF,MAAM,SAAS,GAAI,OAAO,CAAC,CAAC,CAAY,CAAC,KAAK,GAAG,CAAC,GAAG,GAAG,CAAC;IACzD,KAAK,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAClD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC;QAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,GAAG,GAAG,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC;YACvK,MAAM,KAAK,GAAU,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAC5E,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;gBACtB,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;gBAC1C,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;YAC/D,CAAC;YACD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;YACd,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,uBAAuB,KAAK,GAAG,CAAC;QAC9C,MAAM,SAAS,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAC9D,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAe,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACnI,MAAM,WAAW,GAAG,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;QAEpF,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,GAAG,KAAK,WAAW,CAAC,CAAC;QACrE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClC,MAAM,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,IAAI,CAAC;QAChF,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,GAAG,KAAK,aAAa,CAAC,CAAC;QACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,gBAAgB,IAAI,IAAI,EAAE,GAAG,KAAK,mBAAmB,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,EAAE,GAAG,KAAK,WAAW,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,EAAE,GAAG,KAAK,iBAAiB,CAAC,CAAC;QACnF,MAAM,KAAK,GAAG;YACZ,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,EAAE;YAC5F,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,uBAAuB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/F,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;SAChD,CAAC;QACF,MAAM,SAAS,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAC/F,4FAA4F;QAC5F,IAAI,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE;YAAE,MAAM,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC5F,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC;YACzC,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,GAAG,CAAC;gBAAE,SAAS;YACpB,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,GAAI,OAAO,CAAC,CAAC,CAAY,CAAC,KAAK,CAAC;YACnD,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACxC,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;gBACxC,IAAI,IAAI,KAAK,EAAE;oBAAE,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC9F,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE,CAAC;YAC5B,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACnF,CAAC;QACD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IACD,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACb,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;QAC3C,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;IACpH,CAAC;IACD,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IAEf,+DAA+D;IAC/D,MAAM,MAAM,GAAoF,EAAE,CAAC;IACnG,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QACjD,MAAM,KAAK,GAAG,wBAAwB,KAAK,GAAG,CAAC;QAC/C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;QAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,KAAK,cAAc,CAAC,CAAC;QACjE,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,KAAK,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,GAAG,KAAK,oCAAoC,CAAC,CAAC;QAChI,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,IAAI,EAAE,GAAG,KAAK,WAAW,CAAC,CAAC;QAChE,MAAM,CAAC,IAAI,CAAC;YACV,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,EAAE;YAC9E,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;YACvC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC;YACpB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;YAC1B,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE;SACzC,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,WAAW,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,YAAY,GAAG,CAAC,GAAG,WAAW,CAAC;QACjD,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,YAAY,GAAG,EAAE,CAAC,CAAC;QAC1D,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACjG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC7F,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YACxE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,WAAW,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,GAAG,CAAC,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YACpG,CAAC,IAAI,WAAW,CAAC;QACnB,CAAC;QACD,MAAM,CAAC,CAAC,IAAI,YAAY,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,KAAK,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;YAC1E,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,GAAG,CAAC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;YAC7G,MAAM,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;YAC3G,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;YACd,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;gBACxC,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;gBAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC3D,IAAI,CAAC,GAAG,CAAC;oBAAE,SAAS;gBACpB,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC;gBACjC,KAAK,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC5D,IAAI,KAAK,KAAK,EAAE;wBAAE,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,GAAG,WAAW,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,CAAC;oBAChG,EAAE,IAAI,WAAW,CAAC;gBACpB,CAAC;YACH,CAAC;YACD,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;gBACvC,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;gBAC9B,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5F,CAAC;YACD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACxB,CAAC;QACD,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IAED,kGAAkG;IAClG,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,IAAI,IAAI,EAAE,aAAa,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,IAAI,IAAI,EAAE,iBAAiB,CAAC,CAAC;IAC5E,MAAM,MAAM,GAAgC;QAC1C,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,KAAK,CAAC;QACrC,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,KAAK,CAAC;QAC7B,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC;KAC5B,CAAC;IACF,IAAI,IAAI,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5F,MAAM,WAAW,GAAG,GAAG,CAAC;IACxB,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,GAAG,WAAW,CAAC;IAC3C,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAEnF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,EAAE,CAAC;IACrD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI;YAC3B,CAAC,MAAM,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;YACjD,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAW,CAAC,CAAC;YACjG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAW,CAAC,CAAC;YACrG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;SACjD,EAAE,CAAC;YACX,IAAI,KAAK,KAAK,IAAI;gBAAE,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,KAAK,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,GAAG,CAAC,GAAG,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;IACD,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;IACpG,yFAAyF;IACzF,MAAM,MAAM,GAAG,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,EAAE,CAAC;IAEhF,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;IACrE,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;IACrB,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,GAAG,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC;QAC5D,IAAI,CAAC,GAAG,GAAG,GAAG,QAAQ,CAAC;QACvB,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC/G,MAAM,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC;IAC9D,CAAC;IACD,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;QAC5C,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;QAC3B,IAAI,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACxF,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,OAAO,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAChJ,MAAM,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAClH,CAAC;IACD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QAC/D,MAAM,GAAG,GAAU,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrE,MAAM,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/H,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,GAAG,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,GAAG,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC1F,CAAC;IACD,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;IAEpE,wHAAwH;IACxH,MAAM,IAAI,GAAG,KAAK,EAAE,KAAwB,EAAE,QAAe,EAAE,EAAiB,EAAE;QAChF,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE,CAAC;YACtB,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACtC,MAAM,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YAC7B,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;IACH,CAAC,CAAC;IACF,MAAM,OAAO,GAAG,KAAK,EAAE,KAAa,EAAiB,EAAE;QACrD,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAClC,MAAM,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC9B,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACpB,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;QAClB,MAAM,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,CAAC;QAC3D,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;IAED,mGAAmG;IACnG,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC;IAChD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,GAAG,KAAK,IAAI;YAAE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,uCAAuC,CAAC,CAAC;QACtG,MAAM,KAAK,GAAG,YAAY,CAAC,eAAe,IAAI,GAAG,CAAC;QAClD,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACH,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,6CAA6C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpJ,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;QACrB,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YAAE,MAAM,IAAI,eAAe,CAAC,eAAe,EAAE,gBAAgB,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACnH,MAAM,IAAI,GAAG,MAAM,GAAG,EAAE,CAAC;QACzB,MAAM,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QAClC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,CAAC,YAAY,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;QACzE,MAAM,MAAM,GAAG,CAAC,KAAa,EAAU,EAAE;YACvC,MAAM,GAAG,GAAI,MAA6C,CAAC,KAAK,CAAC,CAAC;YAClE,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;QAC/C,CAAC,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QACvC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,KAAK,SAAS,IAAI,YAAY,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAChI,MAAM,KAAK,GAAsB,EAAE,CAAC;QACpC,IAAI,OAAO,KAAK,IAAI;YAAE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACrH,KAAK,MAAM,KAAK,IAAI,YAAY,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAChC,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACpE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QACjH,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,IAAI;gBAAE,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,CAAC;oBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAC5H,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7F,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,GAAG,KAAK,EAAE,UAAU,GAAG,KAAK,CAAC,CAAC;QACnE,MAAM,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC;QAC7B,0FAA0F;QAC1F,KAAK,MAAM,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,SAAS;gBACtB,IAAI,GAAG,GAAG,CAAC,CAAC;gBACZ,OAAO,CAAC,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;oBAAE,GAAG,EAAE,CAAC;gBACpD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,IAAI,GAAG,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBACvI,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QACD,IAAI,CAAC,GAAG,GAAG,CAAC;QACZ,KAAK,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC;YAChC,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;YACtB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,CAAC,CAAC,IAAI,WAAW,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;SACzC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;SACvG,MAAM,CAAC,CAAC,CAAC,EAAoE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC;SAChG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxF,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QACd,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACnG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;IACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;QACnB,MAAM,GAAG,GAAG,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9D,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,IAAI,CAAC,GAAG,GAAG,CAAC;QACZ,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;YAC1B,CAAC,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;YACvB,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACrG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,KAAK,EAAE,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;IAClH,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;AACjG,CAAC"}
package/dist/text.d.ts CHANGED
@@ -28,10 +28,10 @@ export interface Run {
28
28
  }
29
29
  export interface Typesetter {
30
30
  /** The pieces of `text`, each with the font that draws it. Refuses what no font has and what reads right to left. */
31
- runs(text: string, bold: boolean): Promise<Run[]>;
32
- width(text: string, size: number, bold: boolean): Promise<number>;
31
+ runs(text: string, bold: boolean, heading?: boolean): Promise<Run[]>;
32
+ width(text: string, size: number, bold: boolean, heading?: boolean): Promise<number>;
33
33
  /** `text` broken into lines no wider than `width`; a paragraph break (`\n`) is kept. */
34
- wrap(text: string, size: number, width: number, bold: boolean): Promise<string[]>;
34
+ wrap(text: string, size: number, width: number, bold: boolean, heading?: boolean): Promise<string[]>;
35
35
  }
36
36
  /** Removes what is drawn as nothing and turns tabs into spaces. */
37
37
  export declare function clean(text: string): string;
@@ -39,7 +39,9 @@ export declare function clean(text: string): string;
39
39
  export declare function refuseRightToLeft(text: string, where: string): void;
40
40
  /**
41
41
  * `first`, the typeface of the theme, is tried before the embedded fonts;
42
- * `extra`, the fonts of `options.fonts`, after them.
42
+ * `extra`, the fonts of `options.fonts`, after them. `heading`, the heading
43
+ * typeface of the theme, is tried first for a run asked as a heading, and
44
+ * the families above draw what it does not have.
43
45
  */
44
- export declare function typesetter(doc: PDFDocument, extra: readonly ExtraFont[], locale: string, first?: ExtraFont | null): Typesetter;
46
+ export declare function typesetter(doc: PDFDocument, extra: readonly ExtraFont[], locale: string, first?: ExtraFont | null, heading?: ExtraFont | null): Typesetter;
45
47
  //# sourceMappingURL=text.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAMpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAkC5C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAKrD;AA0BD,2CAA2C;AAC3C,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,qHAAqH;IACrH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAClD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAClE,wFAAwF;IACxF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACnF;AAED,mEAAmE;AACnE,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CASnE;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,SAAS,GAAG,IAAW,GAAG,UAAU,CA+GpI"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAMpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAkC5C,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAKrD;AA0BD,2CAA2C;AAC3C,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;CACf;AAED,MAAM,WAAW,UAAU;IACzB,qHAAqH;IACrH,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACrE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrF,wFAAwF;IACxF,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;CACtG;AAED,mEAAmE;AACnE,wBAAgB,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1C;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CASnE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,GAAG,EAAE,WAAW,EAChB,KAAK,EAAE,SAAS,SAAS,EAAE,EAC3B,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,SAAS,GAAG,IAAW,EAC9B,OAAO,GAAE,SAAS,GAAG,IAAW,GAC/B,UAAU,CAuHZ"}
package/dist/text.js CHANGED
@@ -81,11 +81,19 @@ export function refuseRightToLeft(text, where) {
81
81
  }
82
82
  /**
83
83
  * `first`, the typeface of the theme, is tried before the embedded fonts;
84
- * `extra`, the fonts of `options.fonts`, after them.
84
+ * `extra`, the fonts of `options.fonts`, after them. `heading`, the heading
85
+ * typeface of the theme, is tried first for a run asked as a heading, and
86
+ * the families above draw what it does not have.
85
87
  */
86
- export function typesetter(doc, extra, locale, first = null) {
88
+ export function typesetter(doc, extra, locale, first = null, heading = null) {
87
89
  doc.registerFontkit(fontkit);
88
90
  const families = [];
91
+ let headingFamily;
92
+ if (heading !== null) {
93
+ const regular = face(bytesOf(heading.regular), 'theme.headingFont.regular');
94
+ const bold = heading.bold === undefined ? regular : face(bytesOf(heading.bold), 'theme.headingFont.bold');
95
+ headingFamily = { name: 'theme.headingFont', regular, bold };
96
+ }
89
97
  if (first !== null) {
90
98
  const regular = face(bytesOf(first.regular), 'theme.font.regular');
91
99
  const bold = first.bold === undefined ? regular : face(bytesOf(first.bold), 'theme.font.bold');
@@ -119,15 +127,16 @@ export function typesetter(doc, extra, locale, first = null) {
119
127
  f.embedded ??= await doc.embedFont(f.bytes, { subset: true });
120
128
  return f.embedded;
121
129
  };
122
- const familyFor = (codePoint) => families.find((family) => family.regular.covers(codePoint));
123
- async function runs(text, bold) {
130
+ const familyFor = (codePoint, heading) => (heading && headingFamily?.regular.covers(codePoint) ? headingFamily : undefined) ??
131
+ families.find((family) => family.regular.covers(codePoint));
132
+ async function runs(text, bold, heading = false) {
124
133
  const out = [];
125
134
  for (const char of clean(text)) {
126
135
  const codePoint = char.codePointAt(0) ?? 0;
127
- let family = familyFor(codePoint);
136
+ let family = familyFor(codePoint, heading);
128
137
  let drawn = char;
129
138
  if (family === undefined && SPACES.has(codePoint)) {
130
- family = familyFor(0x20);
139
+ family = familyFor(0x20, heading);
131
140
  drawn = ' ';
132
141
  }
133
142
  // A combining mark stays with the letter it sits on, in its font, when that font has it.
@@ -145,9 +154,9 @@ export function typesetter(doc, extra, locale, first = null) {
145
154
  }
146
155
  return Promise.all(out.map(async (run) => ({ text: run.text, font: await embed(bold ? run.family.bold : run.family.regular) })));
147
156
  }
148
- async function width(text, size, bold) {
157
+ async function width(text, size, bold, heading = false) {
149
158
  let total = 0;
150
- for (const run of await runs(text, bold))
159
+ for (const run of await runs(text, bold, heading))
151
160
  total += run.font.widthOfTextAtSize(run.text, size);
152
161
  return total;
153
162
  }
@@ -157,13 +166,13 @@ export function typesetter(doc, extra, locale, first = null) {
157
166
  /** Where a line may break: after a space, or between two words of a script written without spaces. */
158
167
  const pieces = (paragraph) => words === undefined ? paragraph.split(/(?<= )/) : Array.from(words.segment(paragraph), (s) => s.segment);
159
168
  const characters = (piece) => graphemes === undefined ? Array.from(piece) : Array.from(graphemes.segment(piece), (s) => s.segment);
160
- async function wrap(text, size, maxWidth, bold) {
169
+ async function wrap(text, size, maxWidth, bold, heading = false) {
161
170
  const lines = [];
162
171
  for (const paragraph of clean(text).split('\n')) {
163
172
  let current = '';
164
173
  for (const piece of pieces(paragraph)) {
165
174
  const candidate = current + piece;
166
- if (current === '' || (await width(candidate.trimEnd(), size, bold)) <= maxWidth) {
175
+ if (current === '' || (await width(candidate.trimEnd(), size, bold, heading)) <= maxWidth) {
167
176
  current = candidate;
168
177
  }
169
178
  else {
@@ -171,10 +180,10 @@ export function typesetter(doc, extra, locale, first = null) {
171
180
  current = piece.trimStart();
172
181
  }
173
182
  // A word longer than the line is broken between its characters.
174
- while ((await width(current.trimEnd(), size, bold)) > maxWidth) {
183
+ while ((await width(current.trimEnd(), size, bold, heading)) > maxWidth) {
175
184
  let head = '';
176
185
  for (const char of characters(current)) {
177
- if (head !== '' && (await width(head + char, size, bold)) > maxWidth)
186
+ if (head !== '' && (await width(head + char, size, bold, heading)) > maxWidth)
178
187
  break;
179
188
  head += char;
180
189
  }
package/dist/text.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../src/text.ts"],"names":[],"mappings":"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"}
package/dist/theme.d.ts CHANGED
@@ -10,13 +10,18 @@ export declare const DEFAULT_THEME: {
10
10
  readonly accent: "#1F3A5F";
11
11
  readonly font: "Noto Sans";
12
12
  readonly logoPosition: "left";
13
+ readonly typeface: "classic";
13
14
  };
15
+ /** The typefaces a theme may name, each a text font and a heading font, or null for Noto Sans. */
16
+ export declare const TYPEFACES: readonly ["classic", "elegant"];
14
17
  export interface ResolvedTheme {
15
18
  accent: RGB;
16
19
  /** White on a dark accent, ink on a light one. */
17
20
  onAccent: RGB;
18
- /** A font of the caller's, tried before the embedded ones; null for Noto Sans. */
21
+ /** A font of the caller's or of the typeface, tried before the embedded ones; null for Noto Sans. */
19
22
  font: ExtraFont | null;
23
+ /** The font of the title, the names and the headings; null draws them in `font`. */
24
+ heading: ExtraFont | null;
20
25
  logoPosition: 'left' | 'right';
21
26
  }
22
27
  /** The colour of the text; render.ts draws with the same. */
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAO,KAAK,GAAG,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,iFAAiF;AACjF,eAAO,MAAM,aAAa;;;;CAIiB,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,GAAG,CAAC;IACZ,kDAAkD;IAClD,QAAQ,EAAE,GAAG,CAAC;IACd,kFAAkF;IAClF,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED,6DAA6D;AAC7D,eAAO,MAAM,GAAG,KAAsB,CAAC;AAGvC,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,CAyB3E"}
1
+ {"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../src/theme.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAO,KAAK,GAAG,EAAE,MAAM,SAAS,CAAC;AAMxC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1D,iFAAiF;AACjF,eAAO,MAAM,aAAa;;;;;CAKsC,CAAC;AAEjE,kGAAkG;AAClG,eAAO,MAAM,SAAS,iCAAkC,CAAC;AAUzD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,GAAG,CAAC;IACZ,kDAAkD;IAClD,QAAQ,EAAE,GAAG,CAAC;IACd,qGAAqG;IACrG,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC;IACvB,oFAAoF;IACpF,OAAO,EAAE,SAAS,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;CAChC;AAED,6DAA6D;AAC7D,eAAO,MAAM,GAAG,KAAsB,CAAC;AAGvC,wBAAgB,YAAY,CAAC,KAAK,EAAE,YAAY,GAAG,SAAS,GAAG,aAAa,CA+B3E"}
package/dist/theme.js CHANGED
@@ -5,12 +5,27 @@
5
5
  */
6
6
  import { rgb } from 'pdf-lib';
7
7
  import { InvoicePdfError } from './errors.js';
8
+ import FRAUNCES_SEMIBOLD from './fonts/fraunces-semibold.js';
9
+ import INTER_BOLD from './fonts/inter-bold.js';
10
+ import INTER_REGULAR from './fonts/inter-regular.js';
11
+ import { decodeBase64 } from './text.js';
8
12
  /** A dark slate blue, the Noto Sans the package embeds, the logo on the left. */
9
13
  export const DEFAULT_THEME = {
10
14
  accent: '#1F3A5F',
11
15
  font: 'Noto Sans',
12
16
  logoPosition: 'left',
17
+ typeface: 'classic',
13
18
  };
19
+ /** The typefaces a theme may name, each a text font and a heading font, or null for Noto Sans. */
20
+ export const TYPEFACES = ['classic', 'elegant'];
21
+ function typefaceFonts(name) {
22
+ if (name === 'classic')
23
+ return { font: null, heading: null };
24
+ return {
25
+ font: { regular: decodeBase64(INTER_REGULAR), bold: decodeBase64(INTER_BOLD) },
26
+ heading: { regular: decodeBase64(FRAUNCES_SEMIBOLD) },
27
+ };
28
+ }
14
29
  /** The colour of the text; render.ts draws with the same. */
15
30
  export const INK = rgb(0.1, 0.1, 0.12);
16
31
  const WHITE = rgb(1, 1, 1);
@@ -33,11 +48,17 @@ export function resolveTheme(theme) {
33
48
  if (position !== 'left' && position !== 'right') {
34
49
  throw new InvoicePdfError('invalid_value', `theme.logoPosition "${String(position)}" is neither left nor right`);
35
50
  }
36
- const font = theme?.font ?? DEFAULT_THEME.font;
51
+ const typeface = theme?.typeface ?? DEFAULT_THEME.typeface;
52
+ if (!TYPEFACES.includes(typeface)) {
53
+ throw new InvoicePdfError('invalid_value', `theme.typeface "${String(typeface)}" is not one of ${TYPEFACES.join(', ')}`);
54
+ }
55
+ const pair = typefaceFonts(typeface);
56
+ const font = theme?.font;
37
57
  return {
38
58
  accent: colour,
39
59
  onAccent: onWhite >= onInk ? WHITE : INK,
40
- font: font === 'Noto Sans' ? null : font,
60
+ font: font === undefined ? pair.font : font === 'Noto Sans' ? null : font,
61
+ heading: theme?.headingFont ?? pair.heading,
41
62
  logoPosition: position,
42
63
  };
43
64
  }