@substrat-run/contract-tests 0.138.0 → 0.140.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.
Files changed (113) hide show
  1. package/dist/attachment-text-fixtures.d.ts +17 -0
  2. package/dist/attachment-text-fixtures.d.ts.map +1 -1
  3. package/dist/attachment-text-fixtures.js +344 -4
  4. package/dist/attachment-text-fixtures.js.map +1 -1
  5. package/dist/attachment-text-suite.d.ts +16 -1
  6. package/dist/attachment-text-suite.d.ts.map +1 -1
  7. package/dist/attachment-text-suite.js +212 -28
  8. package/dist/attachment-text-suite.js.map +1 -1
  9. package/dist/capability-suite.d.ts.map +1 -1
  10. package/dist/capability-suite.js +5 -0
  11. package/dist/capability-suite.js.map +1 -1
  12. package/dist/caused-by-module.d.ts +23 -0
  13. package/dist/caused-by-module.d.ts.map +1 -0
  14. package/dist/caused-by-module.js +56 -0
  15. package/dist/caused-by-module.js.map +1 -0
  16. package/dist/caused-by-suite.d.ts +28 -0
  17. package/dist/caused-by-suite.d.ts.map +1 -0
  18. package/dist/caused-by-suite.js +223 -0
  19. package/dist/caused-by-suite.js.map +1 -0
  20. package/dist/connect-link-suite.d.ts +19 -0
  21. package/dist/connect-link-suite.d.ts.map +1 -0
  22. package/dist/connect-link-suite.js +215 -0
  23. package/dist/connect-link-suite.js.map +1 -0
  24. package/dist/entity-state-migration-suite.d.ts +16 -0
  25. package/dist/entity-state-migration-suite.d.ts.map +1 -0
  26. package/dist/entity-state-migration-suite.js +305 -0
  27. package/dist/entity-state-migration-suite.js.map +1 -0
  28. package/dist/entity-state-module.d.ts +317 -0
  29. package/dist/entity-state-module.d.ts.map +1 -0
  30. package/dist/entity-state-module.js +278 -0
  31. package/dist/entity-state-module.js.map +1 -0
  32. package/dist/entity-state-suite.d.ts +9 -0
  33. package/dist/entity-state-suite.d.ts.map +1 -0
  34. package/dist/entity-state-suite.js +557 -0
  35. package/dist/entity-state-suite.js.map +1 -0
  36. package/dist/entity-trash-module.d.ts +439 -0
  37. package/dist/entity-trash-module.d.ts.map +1 -0
  38. package/dist/entity-trash-module.js +287 -0
  39. package/dist/entity-trash-module.js.map +1 -0
  40. package/dist/entity-trash-suite.d.ts +59 -0
  41. package/dist/entity-trash-suite.d.ts.map +1 -0
  42. package/dist/entity-trash-suite.js +568 -0
  43. package/dist/entity-trash-suite.js.map +1 -0
  44. package/dist/erasure-module.d.ts +259 -0
  45. package/dist/erasure-module.d.ts.map +1 -0
  46. package/dist/erasure-module.js +251 -0
  47. package/dist/erasure-module.js.map +1 -0
  48. package/dist/findings-atomic-suite.d.ts +21 -0
  49. package/dist/findings-atomic-suite.d.ts.map +1 -0
  50. package/dist/findings-atomic-suite.js +131 -0
  51. package/dist/findings-atomic-suite.js.map +1 -0
  52. package/dist/findings-suite.d.ts +11 -0
  53. package/dist/findings-suite.d.ts.map +1 -0
  54. package/dist/findings-suite.js +391 -0
  55. package/dist/findings-suite.js.map +1 -0
  56. package/dist/index.d.ts +22 -3
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +20 -2
  59. package/dist/index.js.map +1 -1
  60. package/dist/list-suite.d.ts.map +1 -1
  61. package/dist/list-suite.js +101 -1
  62. package/dist/list-suite.js.map +1 -1
  63. package/dist/membership-executor-suite.d.ts +6 -2
  64. package/dist/membership-executor-suite.d.ts.map +1 -1
  65. package/dist/membership-executor-suite.js +318 -21
  66. package/dist/membership-executor-suite.js.map +1 -1
  67. package/dist/migration-comments-suite.d.ts +3 -0
  68. package/dist/migration-comments-suite.d.ts.map +1 -0
  69. package/dist/migration-comments-suite.js +92 -0
  70. package/dist/migration-comments-suite.js.map +1 -0
  71. package/dist/migration-comments.d.ts +3 -0
  72. package/dist/migration-comments.d.ts.map +1 -0
  73. package/dist/migration-comments.js +50 -0
  74. package/dist/migration-comments.js.map +1 -0
  75. package/dist/migration-digest-suite.d.ts +3 -0
  76. package/dist/migration-digest-suite.d.ts.map +1 -0
  77. package/dist/migration-digest-suite.js +175 -0
  78. package/dist/migration-digest-suite.js.map +1 -0
  79. package/dist/modules.d.ts +759 -0
  80. package/dist/modules.d.ts.map +1 -1
  81. package/dist/modules.js +158 -6
  82. package/dist/modules.js.map +1 -1
  83. package/dist/peer-suite.d.ts +2 -1
  84. package/dist/peer-suite.d.ts.map +1 -1
  85. package/dist/peer-suite.js +103 -1
  86. package/dist/peer-suite.js.map +1 -1
  87. package/dist/permission-suite.d.ts.map +1 -1
  88. package/dist/permission-suite.js +590 -2
  89. package/dist/permission-suite.js.map +1 -1
  90. package/dist/scope-host-suite.d.ts.map +1 -1
  91. package/dist/scope-host-suite.js +102 -1
  92. package/dist/scope-host-suite.js.map +1 -1
  93. package/dist/split-cases.d.ts +12 -0
  94. package/dist/split-cases.d.ts.map +1 -0
  95. package/dist/split-cases.js +59 -0
  96. package/dist/split-cases.js.map +1 -0
  97. package/dist/subject-erasure-suite.d.ts +6 -0
  98. package/dist/subject-erasure-suite.d.ts.map +1 -0
  99. package/dist/subject-erasure-suite.js +287 -0
  100. package/dist/subject-erasure-suite.js.map +1 -0
  101. package/dist/switch-audit-fault.d.ts +48 -0
  102. package/dist/switch-audit-fault.d.ts.map +1 -0
  103. package/dist/switch-audit-fault.js +80 -0
  104. package/dist/switch-audit-fault.js.map +1 -0
  105. package/dist/system-switch-suite.d.ts +2 -1
  106. package/dist/system-switch-suite.d.ts.map +1 -1
  107. package/dist/system-switch-suite.js +90 -0
  108. package/dist/system-switch-suite.js.map +1 -1
  109. package/dist/vertical-events-suite.d.ts +55 -0
  110. package/dist/vertical-events-suite.d.ts.map +1 -1
  111. package/dist/vertical-events-suite.js +55 -0
  112. package/dist/vertical-events-suite.js.map +1 -1
  113. package/package.json +3 -3
@@ -11,6 +11,11 @@
11
11
  * - XLSX: exceljs 4 — one sheet, shared strings, deflated parts.
12
12
  * - PPTX: pptxgenjs 3 — two slides and a speaker note, every part STORED (its default), so
13
13
  * the uncompressed zip path is read from a real file too.
14
+ * - PDF from a browser: headless Chrome 154's print-to-PDF (Skia) over a short HTML page —
15
+ * Type0 fonts with Identity-H codes and a ToUnicode CMap, as every Chromium print writes.
16
+ * - PDF with object streams: pdf-lib 1.17 with `useObjectStreams` — a cross-reference stream,
17
+ * object streams, and Helvetica in WinAnsi, with no ToUnicode.
18
+ * - The scanned PDF: pdf-lib 1.17, one page holding nothing but a 2×2 PNG.
14
19
  *
15
20
  * Nothing re-emits them. To change one, produce it again the same way and re-encode it.
16
21
  */
@@ -33,4 +38,16 @@ export interface AttachmentTextFixture {
33
38
  readonly hides?: string;
34
39
  }
35
40
  export declare const ATTACHMENT_TEXT_FIXTURES: readonly AttachmentTextFixture[];
41
+ /** A hostile file, the outcome it must end in, and — where it fails — the reason it gives. */
42
+ export interface HostilePdf extends AttachmentTextFixture {
43
+ readonly status: 'failed' | 'empty';
44
+ readonly detail?: string;
45
+ }
46
+ /**
47
+ * PDFs built to hurt the parser (#1575): each must end `failed` or `empty` within the
48
+ * extraction budget, with its upload untouched. Built at run time — the bomb is a few KiB
49
+ * deflated and 9 MiB inflated, which no fixture file should hold — through the runtime's own
50
+ * `CompressionStream`, so they are built the same way on node and in workerd.
51
+ */
52
+ export declare function hostilePdfs(): Promise<HostilePdf[]>;
36
53
  //# sourceMappingURL=attachment-text-fixtures.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-text-fixtures.d.ts","sourceRoot":"","sources":["../src/attachment-text-fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,+DAA+D;AAC/D,eAAO,MAAM,UAAU,UAKtB,CAAC;AAkzBF,uDAAuD;AACvD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,sEAAsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,wBAAwB,EAAE,SAAS,qBAAqB,EA2HpE,CAAC"}
1
+ {"version":3,"file":"attachment-text-fixtures.d.ts","sourceRoot":"","sources":["../src/attachment-text-fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,+DAA+D;AAC/D,eAAO,MAAM,UAAU,UAKtB,CAAC;AAwiCF,uDAAuD;AACvD,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,aAAa,GAAG,QAAQ,CAAC;IAChE,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC;;;OAGG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,sEAAsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,wBAAwB,EAAE,SAAS,qBAAqB,EAwJpE,CAAC;AA6CF,8FAA8F;AAC9F,MAAM,WAAW,UAAW,SAAQ,qBAAqB;IACvD,QAAQ,CAAC,MAAM,EAAE,QAAQ,GAAG,OAAO,CAAC;IACpC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAoCzD"}
@@ -11,6 +11,11 @@
11
11
  * - XLSX: exceljs 4 — one sheet, shared strings, deflated parts.
12
12
  * - PPTX: pptxgenjs 3 — two slides and a speaker note, every part STORED (its default), so
13
13
  * the uncompressed zip path is read from a real file too.
14
+ * - PDF from a browser: headless Chrome 154's print-to-PDF (Skia) over a short HTML page —
15
+ * Type0 fonts with Identity-H codes and a ToUnicode CMap, as every Chromium print writes.
16
+ * - PDF with object streams: pdf-lib 1.17 with `useObjectStreams` — a cross-reference stream,
17
+ * object streams, and Helvetica in WinAnsi, with no ToUnicode.
18
+ * - The scanned PDF: pdf-lib 1.17, one page holding nothing but a 2×2 PNG.
14
19
  *
15
20
  * Nothing re-emits them. To change one, produce it again the same way and re-encode it.
16
21
  */
@@ -71,6 +76,249 @@ const DOCX_BASE64 = [
71
76
  'AAgAVk9CXViSaMeYAAAA8wAAABAAAAAAAAAAAQAAAAAAagoAAGRvY1Byb3BzL2FwcC54bWxQSwECFAAUAAAACABWT0JdifwNII0A',
72
77
  'AACoAAAAEQAAAAAAAAABAAAAAAAwCwAAZG9jUHJvcHMvbWV0YS54bWxQSwUGAAAAAAgACAACAgAA7AsAAAAA',
73
78
  ].join('');
79
+ const PDF_CHROME_BASE64 = [
80
+ 'JVBERi0xLjQKJdPr6eEKMSAwIG9iago8PC9UaXRsZSAoeCkKL0NyZWF0b3IgKE1vemlsbGEvNS4wIFwoTWFjaW50b3NoOyBJbnRl',
81
+ 'bCBNYWMgT1MgWCAxMF8xNV83XCkgQXBwbGVXZWJLaXQvNTM3LjM2IFwoS0hUTUwsIGxpa2UgR2Vja29cKSBIZWFkbGVzc0Nocm9t',
82
+ 'ZS8xNTQuMC4wLjAgU2FmYXJpLzUzNy4zNikKL1Byb2R1Y2VyIChTa2lhL1BERiBtMTU0KQovQ3JlYXRpb25EYXRlIChEOjIwMjYx',
83
+ 'MDA1MTMxMjQ0KzAwJzAwJykKL01vZERhdGUgKEQ6MjAyNjEwMDUxMzEyNDQrMDAnMDAnKT4+CmVuZG9iagozIDAgb2JqCjw8L2Nh',
84
+ 'IDEKL0JNIC9Ob3JtYWw+PgplbmRvYmoKNiAwIG9iago8PC9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9MZW5ndGggMzUwPj4gc3RyZWFt',
85
+ 'CnichVLbasMwDH3XV+h5sES+yEmgFBI3KXvooFtgH1C2wqAd7br/H7GVOISOBYIlyz4XyZk2VfiQkPAxm6VFpfFwggsoxZnTjOOq',
86
+ 'jXKZqyqNhpxE13d4e8AzXMBkSnNAi9Hy9uEEFMovW4zB9Qj51uDxG/Lnr/Pr7fpzuOFqle/80wYJ1+tm46HpIe8s6hL7D1BRrcIS',
87
+ 'LWN/ghWR7ohsSWQtEbsYk4m5rYmYpV4SMcmqiLhYY/8JbQ/tzt9ToOYKGJVdKCiNKDAFkW0SMxeJJahScS/URBn7qHZUOpyZx+EX',
88
+ 'V7aTmhfMEb+R84XUdMIZsIf7wb0TfVbyeqHVS4eKtDdgTfWZtwFr5Jk4xq5y8hh4vHCXf+tX6p8p6H+moNQ0hlKoxb7z8gDUjLpO',
89
+ '7bHtQrbsTdIrsd9JXqexhvN0p208ay0RuTY9g8k2p9FzlcYyPt6BL7VlD/vQml92dcLBCmVuZHN0cmVhbQplbmRvYmoKMiAwIG9i',
90
+ 'ago8PC9UeXBlIC9QYWdlCi9SZXNvdXJjZXMgPDwvUHJvY1NldCBbL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSV0K',
91
+ 'L0V4dEdTdGF0ZSA8PC9HMyAzIDAgUj4+Ci9Gb250IDw8L0Y0IDQgMCBSCi9GNSA1IDAgUj4+Pj4KL01lZGlhQm94IFswIDAgNjEy',
92
+ 'IDc5Ml0KL0NvbnRlbnRzIDYgMCBSCi9TdHJ1Y3RQYXJlbnRzIDAKL1RhYnMgL1MKL1BhcmVudCA3IDAgUj4+CmVuZG9iago3IDAg',
93
+ 'b2JqCjw8L1R5cGUgL1BhZ2VzCi9Db3VudCAxCi9LaWRzIFsyIDAgUl0+PgplbmRvYmoKMTEgMCBvYmoKPDwvVHlwZSAvU3RydWN0',
94
+ 'RWxlbQovUyAvTm9uU3RydWN0Ci9QIDEwIDAgUgovUGcgMiAwIFIKL0sgMD4+CmVuZG9iagoxMCAwIG9iago8PC9UeXBlIC9TdHJ1',
95
+ 'Y3RFbGVtCi9TIC9IMQovUCA5IDAgUgovSyAxMSAwIFI+PgplbmRvYmoKMTMgMCBvYmoKPDwvVHlwZSAvU3RydWN0RWxlbQovUyAv',
96
+ 'Tm9uU3RydWN0Ci9QIDEyIDAgUgovUGcgMiAwIFIKL0sgMT4+CmVuZG9iagoxMiAwIG9iago8PC9UeXBlIC9TdHJ1Y3RFbGVtCi9T',
97
+ 'IC9QCi9QIDkgMCBSCi9LIDEzIDAgUj4+CmVuZG9iagoxNSAwIG9iago8PC9UeXBlIC9TdHJ1Y3RFbGVtCi9TIC9Ob25TdHJ1Y3QK',
98
+ 'L1AgMTQgMCBSCi9QZyAyIDAgUgovSyAyPj4KZW5kb2JqCjE0IDAgb2JqCjw8L1R5cGUgL1N0cnVjdEVsZW0KL1MgL1AKL1AgOSAw',
99
+ 'IFIKL0sgMTUgMCBSPj4KZW5kb2JqCjkgMCBvYmoKPDwvVHlwZSAvU3RydWN0RWxlbQovUyAvRG9jdW1lbnQKL0xhbmcgKGVuLVVT',
100
+ 'KQovUCA4IDAgUgovSyBbMTAgMCBSIDEyIDAgUiAxNCAwIFJdPj4KZW5kb2JqCjE2IDAgb2JqClsxMSAwIFIgMTMgMCBSIDE1IDAg',
101
+ 'Ul0KZW5kb2JqCjE3IDAgb2JqCjw8L1R5cGUgL1BhcmVudFRyZWUKL051bXMgWzAgMTYgMCBSXT4+CmVuZG9iago4IDAgb2JqCjw8',
102
+ 'L1R5cGUgL1N0cnVjdFRyZWVSb290Ci9LIDkgMCBSCi9QYXJlbnRUcmVlTmV4dEtleSAxCi9QYXJlbnRUcmVlIDE3IDAgUj4+CmVu',
103
+ 'ZG9iagoxOCAwIG9iago8PC9UeXBlIC9DYXRhbG9nCi9QYWdlcyA3IDAgUgovTWFya0luZm8gPDwvVHlwZSAvTWFya0luZm8KL01h',
104
+ 'cmtlZCB0cnVlPj4KL1N0cnVjdFRyZWVSb290IDggMCBSCi9WaWV3ZXJQcmVmZXJlbmNlcyA8PC9UeXBlIC9WaWV3ZXJQcmVmZXJl',
105
+ 'bmNlcwovRGlzcGxheURvY1RpdGxlIHRydWU+PgovTGFuZyAoZW4tVVMpPj4KZW5kb2JqCjE5IDAgb2JqCjw8L0xlbmd0aDEgNDM5',
106
+ 'NgovRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDI2MzU+PiBzdHJlYW0KeJzNVm1sU9cZfs691775jk3ia8DY+MZOHG7ij3zZ',
107
+ 'IRQa3JDQQkeaQLEZAVxI4kACaclKWtYparvC0nZsUkWywoREaaFVVZl2KodoGixTBytFcodY1dbqWrGisqnS1qmja4i9e64dMJRV',
108
+ '+7FJu+fHufd5znnve57zvu85IAAKMQIe7as6vbX7g1ONAFcAYNPmgcggN4/bD5AYgPWbHx6y5zXwlwB8BWBez2DvwAXXgT5AJwBk',
109
+ 'Z2//Iz38cx0xQD8M5P0i2h3Zcqno6qsAGQbgj0a7I7lPiRsAshqAMzowNOy7zE8C/BGAbOrfsTmi6CrPAdxfAbw+EBkezLkoPA2Q',
110
+ 'UgD27ZGBbnwm/Eb1JQFg7uCOnUOpKLoBUs/4wYe6BzvOfbwD4PoBPAmAYBZ4ECEXHHIABLED/dgCQEES40Qh87W5C5LtKBKCcOgm',
111
+ '4QbTJIRtyMU2iOBggAGDgPgZfxgCCHhoT6qb/fs2DwH0C5ILgAJyNXHtw/wfaBazn5CGEKBmombfxuI7voQlRyMOV45o/Ucfe967',
112
+ 'mrjmyvtafAMEenDZ1jUPCiCgHdC8Y992rEQE3ejFdgylUjchA3golUpdym7f8AkQhH9yv4QO0P1MVwcQW7rn4+jhbh170+zBRx7a',
113
+ 'CTvsGNIjeQSLxdfIh3aQQ6sIIAR1k5ovoOipwoSmX7SKTEAAx15OQUAl5mMuSpAPYHvVKehQfhOCUyBwo/ymQRxWYDF8KIMpg/Co',
114
+ 'uHnaBPQQMFBFAfuyx/pmtwBo+Z+2wf+0kdpMu0Au8Pqs9qKQl2kP6HJ16wDdGTw/ozS38LYR93/7CJdw8L9ucycW3fLtzfwreLvx',
115
+ 'ohUjwiXsycZ4Kx4XdiLIvQITRU/1Corc9tBxQn4cpiT1Q4oW60nkgt+4wU3RW223L+triZFNbopoNUWvIrsp+qrtrTG+vLUj5Ajb',
116
+ 'R+2jd28Ztbfao5EtMaFc6ztCju7RsNceQ2eozx7D6pAcaw5brr92h8NNboqtzI6g2RkN21vtWzMWtmoWRsPeaTfFtuoV9hhf0R66',
117
+ 'LxQbabHEmlvCFlm2L4udbg/FTrdY5HDYTdF/3VN7Ot7TPg9UU/QrbortaSudoVizJYbw6Gj6yyHHRkZHLaOO8Mw3xelbAIJbgeYM',
118
+ 'QKFZ5MuXUTLSrlEjDtnCAIfskMMWOdzipthRvaIztKzFIsthN8CxmNYt1k2Ch4gNWm2gwLIQBbyWk6y+LQlnAI4BHPQMEBIUMFDo',
119
+ 'EoQix0uR66XIMVAgzmZS5BoouMSNgfqEr6ZENsrlRtn4vPDCVBf/l2vndZNfL6FCx9RrICw+hVd0k9DB/61eCAwQ0l5wCTKhlcC+',
120
+ 'qrR1o3yQ1HMfTH2hm5xqS15l61uU+khoFNZDQRPezbacWU7edcsmBpjSljWgkAGFDJiAESZwxlkLKTgDhTOxVIf34cQVOMF1LbUg',
121
+ 'B07MhhOVcKIRTiyHEyE4EYUTw3Bir8qPq/wxlacqfxZOFHZNoCZjl0xAhA99VRSiQc2CeFpSn4HCGKcwZt7lOIXsTY+5g0nql2vN',
122
+ 'kslYarYRs0n2EJde1DvKKhrqA/47iT/gb6ivcJSJelH2E6mu1h9oKCLFRC/qTaWvPUhK3nj6aY6fNy/5dmEev+je9UPP/frAmhcj',
123
+ 'q8oWd63rVmx5yc9ziaWyaf0B3hLwNa9zBfl3ftLW9layoP6exspCRW4qb3Y3vHzgd+tqTAV5xXMDd9XVlt+5b3qD3L9vq9GUW2Aw',
124
+ 'uzruBgdvKiE0CRsxFzLOZ+9BHlM4L2sPbuzuBCwwanoIBgopsdQCERLMkOCChAAktEHCWkjohYRdkLBH5cdU/qjKn1D5M5BQ2LVU',
125
+ 'hz9AwmVI4Loo8gwUtvT22XAFtpnts2E2bKiEDY2wYTlsCMGGKGwYhg17VX5c5Y+pPFX5s7ChsMtXQzS5YTSgrlYyS2ZJlCWzVFcb',
126
+ '8AdKPMRRphcFJX/dM9fiyUky/9O9H7Q1l+Rz05I+sqgzFLCZc8Xd3908UESaI1sOkQLiIRbi6dkeGVnx7JHgglqLj3znwe99fys4',
127
+ 'BJNBYYOwHjK85GK2gkYmmDFLwRIGlGQBEgOkLCCfAflZcT6PAfOQk04pTWgOZnBwgUMAHNrAYS049ILDLnDYo/JjKn9U5U+o/Blw',
128
+ 'M0JzuAxOEzo/nSfMmhNmOOGCEwE40QYn1sKJXjixC07sUfkxlT+q8idU/oyWGpo1Jy5rCcaSIx9OLf+MBgolvYEKrkCZ2UAFs6Gg',
129
+ 'EgoaoWA5FISgIAoFw1CwV+XHVf6YylOVPwtFyz8TjFBY/lH4vBQ1XgpzgsUbhT5Ooc/kXVGcoshLIRkoXHEKl5eiyEDhYQvUwwMJ',
130
+ 'HlTAAz88aIUH98ODHnjwMDx4SuX3q/xLKv+myv8WnvQCL8KDT+EB1+Wr0WlRszgdUFxD/ay6WrNkbpCNpaJeLnO6ZIlnCZzJZ1Mp',
131
+ 'OekZeL6+bIF3zd7fT33xUcfiaDMxtT2afOnd5FdFxF9gatq/ZfSJ7fsX2k65eoMHW1sdS4nr2t/JijlVO38+9Y8L2+iRF2o56+jY',
132
+ 'iwcOP7ti+0Z2lxwB9AeFdXDjeHaMFbP4KM6KIDMDzFmAyAAxK6TmM2B+FqAwQEkndj5EFBtnLZxASeZNq3456KuagIIqrbdBvl4N',
133
+ '8+KsVLCJORAzE6u0baOwGSi8CV8NSevCzgCTP+DX1NN6LS1NvGysd10fUs9dcfY9qpiTfySmBm/nk4/du8Te2BnqX/7MQo8hj0sm',
134
+ 'Sit6Hnabk5/w0qpV7vD0oNB8aI2zOVDXvsntbmxd2BnYOn0f9+aSypUP1N89vYv7UQSE3WyEiLAeEnZnq5c5RW6IpWOALkubTA5r',
135
+ '2uRCh8J0PJq9FLNZPBpuxKIuQZETZ0cuG6qHTtNgNjslEhSzmA43qyBpy3VVcE/91D8v+SdSEqgJ7Xn5vWTCrPA7di/tnn5daD60',
136
+ 'ujx4/Px0GTd2v2c1i4PHAW5KWI8SRL91JQYGGL4ZB7dba9bSJhiibfLMEr7pttnoIdzLry6Sk58QQ7CmfSQnv8Si8IsG73xi+qoQ',
137
+ '/NVA5V2EJBM8x/wNpj4UyoUIqvFWtr9V7OdV/+aErzJQiOkyIuIKK3npMiJiNkRUQkQjRCyHiBBERCFiWI3RvSo/rvLHVJ6q/FmI',
138
+ 'KOyiMBkorOliZ4UZVrhgRQBWtMGKtbCiF1bsghV7VH5M5Y+q/AmVPwPrTLGz4jKsWi0gklmuYNGqN5Wa0/FbqnfYKxrSh4u/od5V',
139
+ 'UV7hqmio99fV8kMjJclL+jneB7tWKUrqlTWr/3YtmfqSyLm2hn2rN1dWJlMnV678/L13BEPH2YC9qclVI5kbK+/r2H34/PvHVtoX',
140
+ '1tb65sxZ7FnWMjL2PlPTlPozN6yLQkI4W03CxCPprcxTNWPJSdiNL5E+VAvj6WQtjqdvfKVxwq5Nem2gPpPFrHgXxH015SZR76po',
141
+ 'MDoa6oyysc7kMJayhXHDe96+xzc+TuYeP162ttB67qJOvLemhzt0jviS8XPTp++Syb8AEoSIMQplbmRzdHJlYW0KZW5kb2JqCjIw',
142
+ 'IDAgb2JqCjw8L1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvQUFBQUFBK0hlbHZldGljYS1Cb2xkCi9GbGFncyAxMgov',
143
+ 'QXNjZW50IDc3MC4wMTk1MwovRGVzY2VudCAyMjkuOTgwNDcKL1N0ZW1WIDE0MS4xMTMyODEKL0NhcEhlaWdodCA3MTkuNzI2NTYK',
144
+ 'L0l0YWxpY0FuZ2xlIDAKL0ZvbnRCQm94IFstMTAxNy41NzgxMyAtNDgwLjk1NzAzIDEzNzIuMDcwMzEgOTYyLjQwMjM0XQovRm9u',
145
+ 'dEZpbGUyIDE5IDAgUj4+CmVuZG9iagoyMSAwIG9iago8PC9UeXBlIC9Gb250Ci9Gb250RGVzY3JpcHRvciAyMCAwIFIKL0Jhc2VG',
146
+ 'b250IC9BQUFBQUErSGVsdmV0aWNhLUJvbGQKL1N1YnR5cGUgL0NJREZvbnRUeXBlMgovQ0lEVG9HSURNYXAgL0lkZW50aXR5Ci9D',
147
+ 'SURTeXN0ZW1JbmZvIDw8L1JlZ2lzdHJ5IChBZG9iZSkKL09yZGVyaW5nIChJZGVudGl0eSkKL1N1cHBsZW1lbnQgMD4+Ci9XIFsw',
148
+ 'IFs3MjIuMTY3OTcgMCAwIDI3Ny44MzIwM10gNDcgWzYxMC44Mzk4NF0gNjggNzIgNTU2LjE1MjM0IDc0IFs2MTAuODM5ODRdIDgw',
149
+ 'IFs4ODkuMTYwMTYgNjEwLjgzOTg0IDAgMCAwIDM4OS4xNjAxNiA1NTYuMTUyMzQgMzMzLjAwNzgxXV0KL0RXIDA+PgplbmRvYmoK',
150
+ 'MjIgMCBvYmoKPDwvRmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDI3OD4+IHN0cmVhbQp4nF2Rz26EIBDG7zzFHHcPG9Bqtwdj',
151
+ 'stGYeOif1O4DKIwuSUWCePDtGwdrkx6A/OD7ZoYZXtRlbbQH/uEm2aCHXhvlcJ4WJxE6HLRhUQxKS78T7XJsLeNFXTbr7HGsTT+x',
152
+ 'LAPgnzjo2bsVTjc1dXhm/N0pdNoMcLoXzZnxZrH2G0c0HgTLc1DYM168tvatHRE42S61QuO1Xy/3ovlTfK0WISaOQjVyUjjbVqJr',
153
+ 'zYAsE0KIHLKqqqqcoVH/3tPg6nr5aB2pn3LIhIhFvlFcESUFUZIQPUeBXgKlgW6BrpRljxf/Rj+KSQXJ0iioS/Kmabi80nGN9xDB',
154
+ 'tNW89fZoiFycQ+NpANSE7fva4DEjO9nNta0fX2iLrAplbmRzdHJlYW0KZW5kb2JqCjQgMCBvYmoKPDwvVHlwZSAvRm9udAovU3Vi',
155
+ 'dHlwZSAvVHlwZTAKL0Jhc2VGb250IC9BQUFBQUErSGVsdmV0aWNhLUJvbGQKL0VuY29kaW5nIC9JZGVudGl0eS1ICi9EZXNjZW5k',
156
+ 'YW50Rm9udHMgWzIxIDAgUl0KL1RvVW5pY29kZSAyMiAwIFI+PgplbmRvYmoKMjMgMCBvYmoKPDwvTGVuZ3RoMSAxNjIyMAovRmls',
157
+ 'dGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDgxMzE+PiBzdHJlYW0KeJzVewt4VNW59vvt+1wzM5l7MpmZTGYmk5ncCAmMBDKEBBIg',
158
+ 'iEExQYMJEAgoioBRtNioWCRSqlIuor93uYoZQiobKJZ6ULSnF7RVq7U9ekRr+5jH0x7qsUpmfvZMiCGHKrX+rf/az+y9vrXWXmu9',
159
+ '7/rWt7699h4QAD26wKL14lnFozZxn5YCtBNA6/ylbcvYI1wJwEgAls3vXOnZmjvxN4AYB9j1C5ctWtr4/N4gkPEUoLln0TWrFlqf',
160
+ '+ul8IFQDWK0dC5bedHDtVVOBrEpAL3W0ty14dIp4CqBlACo6Otrb1LnixwBNB5DXsXTlTSuOq/4b4MYC7E3XXDe/7ZN/O/UAwNwE',
161
+ '0LNL225apmrUrgbwIQDPtW1L22km3wuQVpGXXbdiZbID7QBFUvLy9mXHTNd3A5pKgLsWCtbf4TqocDVEMDDAgEWA+IHmHnCpXIIJ',
162
+ 'LIhTgTnDCtCIdizCDbgGbVgOFqmQbFfaOE8gQAglQoCWPmk/3a+5N1Xn8PC7sykbPvnTkqsyKv8Co5SSr2r4XrrA20WvfdJ+Oqi5',
163
+ 'V/orANVQDSx7F90DHuDv58sAyklf2RNYyIzsBztcWLZq+QrE4MF7AhJPYLy4jX7mAT18MQFcMX9EYeps71N3asFhAQAzDGDBwYMi',
164
+ 'XIY2LMYydGIV3ksmU/cU4VK0YT6uxnLchJPJZPLdc4/BOs8N3JnRuwbXAij/0uPSr/G4DS+d/6CNtJGxMLexU9lNXCV3NydzMh/k',
165
+ '6/hjgkfYKqpFtThTKpG+Lb2huk51nephdfmXHBPVE9UN/+Bx2zf50GgA3oTqs0PKRM87G740MFH0fLU7/98G7l14+ePY/XfdswKN',
166
+ 'SKv3OG4FxnIrUMdEkc2twHhuBdbQcawZzO+i41gn7MYaJZ1bkSrfqeQxu7GOA6qZKGzcCnRxgGbwHg0HWP4hTGf7N3j9VwVm97+2',
167
+ '/f+fA7Mba/ijMPBHkM93wckVww0k3wCSbyrXxGXJ9/njMCSWJv/EjgNwUPkxiapKHMV38QB6IGAnjiIfc7EVL9ESHKQr0YfXKAdF',
168
+ '6AIHGdPxU0omX8ZCPIEerMRz2IR90CIfS2HBdGwgf/JmaBHDdMzDmuRjyMNYfAdHEMVcbEB/cldyP2JoxGXYjT14Dv9OPmYfl5l8',
169
+ 'OnkSEi7BSqzBbrycnJ7sgQkRVGMmLsEaPEt+9s1kB+wYh614EA/jUfwYH9Lt1JfsSHYmTyTfAQM7sjELs7Ca+ugdtof7TvLB5B+T',
170
+ 'CbiRjwI0ohUb8Th2owc9OEqgWrqaVtJG2sTEmNuZPu5O3pYYgIAQpmAK6nAd7kIfDuIY/oy/0keMnTWwK9nnk+XJ/4YG0zA9haQd',
171
+ 'nejEWqzFBuzBYRKohCbRTFpN36dN9EumgLmMaWJuZG5i3mdnsFeyq9hfciu4Xn49v1XQJP6SPJw8nnwVNrhwBZbjVjyI53ACp/Ap',
172
+ 'sSRQNvlpHFXTXJpLXfQAc5AepYPMTDpKJ5jd9B/0Ln1EnzE8o2UsTJhZyWxk9jDPMT9nF7Ob2PvZ/2D/wk3gGf5R/j3BL/4mMS+x',
173
+ 'LvHz5LjkO8lPwEKCF1FUYwauQhuuwzKMxrexAXuxFz04gmN4fnAlfJey0Y9P8FcCmchJo6iBGmgGXUwLaTE9RIfoED2b6svHDBgw',
174
+ 'KsbI2JhsZhYzj1nKdDGvMl1sFlvATmXnsD1sD/si+xr7GfsZx3OZnIWbwtVjPbeU28Zt47ZzO7le7hd8lJ/Az+Bn8138On49O59/',
175
+ 'mX9NuFXYIPQKHwn/JeaL08XrxPXow0s4ih+fMxU4ykMPRuFazKcamofNNIkepTZ0YyUW0F30ES1DfrKFvZWdwpRgN57FLZiHbViN',
176
+ 'deyVeDT5a3Y3XsdGXHOmsi7s4Krh4rfAhdtRgoJhx0Z04hE8BRl78DyAcOKy1Lzz8s8iKKMlTIfA00FcFaYf0WFMwGiE4IIJQHv4',
177
+ 'R/RDVI9IOYKLzknBj+gAGjAeY5A/VEhGKy5OpWQNphzEFIw/p6JDI6rGIXpWcdzCMj3jqV292F4jY1ZYRn1YRlVYRnlYRjg80Y4u',
178
+ '2o57aDseoe1gsZjuxiq6G+vobtxPd4Mbiu2iu3GQ7u7lpNghWgUnTY1pOPelZofbrta4X5FJ6HvI/Yb93cPkgA7vkKNXB9VENT1C',
179
+ 'D2MB3PQk/HQz6pBP2/aHrnG3TlTTLiyjXeiiXWf8TOVMtKs3Z5T7WYrAzxHcFEAOR8+4f19a6H6vVGao1/1cUOao1/3jHJmhWIb7',
180
+ 'qOsh949ci9zPuha596Szdodk5Z5drmvcG3Nk2tbrvs8lE/W6701fbnDJDD3jXhra7F5Qmsqfvllm9vS6oy6ZZsc07oqxXne566S7',
181
+ 'OChLFNO4C13T3QWlP3PnuVLFPDky+WNGd7Zro/si13R3jqs2eJGrNniYdtMDKKAHev1T3YfoAQXu/vrQ2M0y3bK/Lr/UL9PNsYq6',
182
+ '/M2huqA/NN3tD00OBkN1wdkvimvEK8SJ4igxLOaLAdErZolmySQZJL2kldSSJIkyPdVb5RYO0x5UwU179kuCxMv0dG+VmztMe1OJ',
183
+ 'ew9InMRIkMxy8u0+xdU2y7Snz6DEZNrzjJCKCTLt3Z9O2htzc0qMS2UYGOXMpH10hiQGUxGn78oC7rR2VtmrTBOM0ck1f+vUes45',
184
+ '/LeDnVzxzdNmNcV3u5rjo5RI0tU8lPkFN6bDyhvC4XB7dTg8rXHV/s5lSxbWtvtqW3217a2+2tb43Z0d9njXPI9n35JlSoYnzgZa',
185
+ '583vUK5t7fFlvvaa+BJfjWdf58LzZC9Usjt9NfuwsPbSpn0LY+01vZ2xzlpfW03z/nnVy1vOaWvdUFvLq89TWbVS2XKlrXkt58lu',
186
+ 'UbLnKW21KG21KG3Ni81LtaXgrF08q3rFSpm2eWoXT/PE82fF6y+Z0xT3tDXXyLTdU7u45gYgFioI5QcD/jxfrtfjznFlZzkddpvV',
187
+ 'Ys40GQ06rUatkkSB51iGEKn1TW71xAOtcS7gq6srVGRfmyceaBuW0Br3tHnik88tE/e0pop5zi0Za/PEF44oGUuXjA2VJIOnEpWF',
188
+ 'EU+tzxP/WY3PI9OcS5p8nvh3a3zNnnh/Kt6Qit+TiutqfM1eb2HE46m1d9R44tTqqY1P7uzorm2tKYzQwRgAdWFEcWRi0CgVxzGp',
189
+ 'bfWZkcAkpURt3OmrqY07fDWpPNZf27YgPvOSptqaLK+3uTDiibP+xiZfs7cwsljpJ+7WLvAtuFuOYV6rEmu7sinOtjXHmValLmM4',
190
+ 'bvPVxG03v2f/XDwbq10/LDPO+Ce3tXdPjsda765Li62K1La+rjAybZbnyqY4c2dzU5zuHOyE0sclNenuprXD37rEE1f5qn0d3Uta',
191
+ '2zxxNDb1OmPOlEbEMbOp1xFzpITCyEH7reO8msLIwcKJhROV6ziv/db09fd3pNNfOapJlTv2tqYwMq1xiABSWvLVx2Otcc/8VCO+',
192
+ 'OOMfq5zax6J7/tgsrxKaqTBSu9gTV02KM4HWOOuP8/76tnjXrLPd6KhJd651SU2vyuFMzYzq5rhqUmu34aLCCMV5v8Hn6f4L4tTq',
193
+ '6//w3JS2wRTBb/gLlKgy0EO6Eqe2s/HOFDFKc3ZfhzK+nbWDss9eOyyhrcOnUKP0OW6Oj5o2s8kb9zS31RTKCEemyVDNbNpHtKFZ',
194
+ 'puSdMmpcB6ECe9XcQhkRRdUW18SptVBGYURGpMBbKKMo4pkcZ/2TFV3xdHu66xd0eyZ7OtoWxDl/6trY5Gvvbi72xDGrabEnjkub',
195
+ 'vPFYc9ZQtL25+aJCGcVKPVyqnu5mz2TPksEalqRq6G4uHiiUURKZpliFmU2XNMW7arLisZrmLK/XUxs/OrMpfrQmy9vcXCijdKin',
196
+ 'nvRynu7zqIiM0oJCGWXpWmY1xbuy4rHm7u605PPGj3Z3Z3Urcywty4SRCbHBBBmpClh/rUxdM1NZXT5vVopzr8/bnOVtVjgdHZk2',
197
+ '66xGySj/YoYrhjM8JiKjIsXw2K+J4eiFMHzRBTE87vwMV0ZkjFMYHv/PY3jCOQxXfTHDseEMT4zIiKUYrv6aGJ50IQzXXBDDtedn',
198
+ 'eHJERq3C8JR/HsN15zBc/8UMTx3O8LSIjKkphqd/TQw3XAjDMy6I4YvPz/DMiIyLFYYv+ecx3HgOw7O+mOFLhzN8WUTGpSmGZ39N',
199
+ 'DF9+IQw3XRDDzedneE5ERrPC8BVDDMey4hjOcNcIQvG1U37lOZS3fDHlc4dTflVExtwU5a1fE+VtF0L5vAuifP75KV8QkTFfobz9',
200
+ 'X0j5wmGUAzAAeFsliSPeuYyQ/lbgxeECOJ5neZ4Bx0g8L4BRJPD8yJswMmVk4C6o8QsOnPor45OGC+AEgRUG8Qki2G8KPo0kfTV8',
201
+ '4nB8AngFn8CAZyRBwSewgghBHHGTAOHLOnSBHb/AwGvVXxWfapgggBdFVkzhUwui9M3Bp1OrRlb6FfBJEBR8IgOBUYsKPkWCOBKf',
202
+ 'BAlfHL5Mf//OwOs1XxWfepggQZQkVpJYiKxGUkngRVb6RuDL0KlH4rswFVENx6eCpFJxqhQ+naRSgZc4SUkceRNGpvyvDl1gxy8w',
203
+ '8IavjE8zXICkUnMqFQuJ1anUKvAqXvVNwCcY9dqRlV5YE2rtMEEFlVrNqVUcJE6vUqsH8an+fnxfZn/+ziCYDF8Rn0Y3TFBDpdZw',
204
+ 'ajUHFWdQa9QQ1Lz6PPjUUOOLw8gZ+w8GIdOg+2r4dBnDBDXUGg2vOYtPA0EtqDVQa0bc9M/HZ1bwnasUXwGfAkXLazQc1JxBo9VA',
205
+ '0Aia8+DTYGTKyPA14xMtBv1IfBc2BXSGYYIWaq1W0J7Fp03h00KjHXGTFiNT/leHLrDjFxhEq+nrwKeDVqtL4dNwJo1OC1F7Xnw6',
206
+ '6PDF4evGZzNlfDV8GcZhgg5anU7UaVP4tDodRK2o1UOrH3HTl+P7svX/7wyiPTNjJGkXiM80TBjEp+Oh5TN1eh0kraj7JuCTwCjf',
207
+ 'QnEn+CNgIWJS+sWrVCyDK5YhGWTghAwoskEG+5YMGGSIb8lgDTJUb+FQip3Z4UNgwGN2uKS0zOg1Bo1eYzW3QT79n/yRTyfJXMNn',
208
+ '+0HKF1PUhTfBIhDLpAJWzdtsTloAB8cv8M5vt4fDM041DMyoba95H1UN/aUlY8osvp6XX37zTeVNnxfgXuKPQMTomJOEHIgMJ6ls',
209
+ 'Nic+Y1g/z30mOKT1c+3hGYZTDacqBypPDVZUVdkwUFlaQhav0Wf0lnMvJYw/SRj5Iz2f/pnX9wAMdiff4JWvCS2wojLms/FBfqyB',
210
+ 'VYPhLzKorKzValb5tU47+c0Om/0R76Zl6Z72zzB83NBvihajqqq/qrKltISMZpu1bNSYinJjmdEgMl4PG3CQl1ZWNv9y4IrSn9R/',
211
+ 'J7E+sf7OemYSf+T0ykeWPLJ37sPs+tPHE3+6L/Exqe+jDDYKFo3Jt1LfHGRgHCrx29jYghJSGzRZ2uxgWZ1hsWqJQYxKJq2KzRol',
212
+ '5qlcBq1rXJgpCo07MI4ZN6rAbzKIvJQdzLVly9Qd89lcbjHoKtIwrnJNpVhZmW0WQwU785wTskLZUzOCYx3jJ/yQtsCLg7QZg8hO',
213
+ 'pbCdHDh2Fl1/VX+/KWo02aItRlO0qL+on4ymqNEWLS2ZtCqWXzHGkgty+Kkiwwt7TpYXVo/ZS95cjGG8cLpsXrJ4bV5COBwmQ6Xy',
214
+ '2vC2225DC7XkpfgaT3rKIEEULFQxpqJ8dMCXKwqibwKVjbJZLUaztWxUxRiLnny5wUBQuQTKR1eMyST98hlXNW/2doxaOq90FvVN',
215
+ 'sGjvuPm747zqnfz/PH6k8wabX5tjLIgEWgqsqjE//9amI4e2dP9iTqR++72WbEGvyy5eRNdIEXvhlbOmF8x64YG6uq0DW7JzWfZO',
216
+ 'rVDti9Ut+cFdm57IpJOKjoxLvsOe4GbAiSzsiBXvcNBW+05pt52dKhkfMLOsWXA5RZ3LrMkSs7JshqCJ2CBjdLrUQZsj2yWTuN+7',
217
+ 'fPXnelPZ0B+NDumOEjH0p6gcDYfk11rUAegzDQEyGTMMokMdAA/WS8RwrMaqCyDDpAtAZRcCxJHgpXCaVoXY9Dmc4hZWm6+IFCot',
218
+ 'aQbLFOqYcgPKROa1d209huW3PjW15K77lt3h6Mn5r8OvfEqmX2VzM+Kvz79j59JHHn1r3Y2vPk9l75OTLuLBYGzyTbaffw4auHBj',
219
+ 'bNQY/RT95fod3K4s3i+ZmQyXAZLLJWaqGZdNwxdlFhlCRpPTrQk6HTnutd7l1cPhD5w8iap+BbwxakxrkdOerVKDyK4JQJWtCQAO',
220
+ 'JgB1lhSgcJgGNcakAEkpiGCBzWozlhl95QoslI82lX1836OrH91+8127qHtWyfi9j1U9dd3+xKcf/Y6u+uD1l/793078hBkzOmca',
221
+ '4/p0wqb5TVT46R/pcrCoS77JObl6ZCMPftLGVm2R7nfucLO8nsngzRa9KcNijmljZinkpGmaZ9jj9AJ7POvX0huq19y/9n1g+8Cn',
222
+ 'OW48bmKulHhvXsY2qysvKoii1evKFtUuq8YvbsnekX0g+/Vszm/N8GfzDrVWNOqDGa4g7wzmFYlBhyMQ/JV3e8ugBTyZMiy/Goia',
223
+ 'olGjKRo1RYtbhvSkcqDS0G80pSmbDB/HszzDE88J7oDRYDJkGswGTtD6c7PyAvDAFaAcl8omBqCx6AOk0/uc3gDl8N4ASXZ1ADqD',
224
+ 'OgCEz87LlPIUhAtuo+tbcH2LokJWm9XizSFlmioKJAqi4MuF0YAyCgSVcRCJ6XttbIXJcPoj/p4t3720xLxPvLi0cdXExhcTfyT7',
225
+ 'f5Jbkz9177d28uTjplx92SXXTH3s8edbKqaMu7doZraBfCQQQ9WJwA2Tb9/fTW8ptj4bYGz8K7ChIRYWXYLaxVKGOWrVCSa1w2Zz',
226
+ '6nXGkM0kmjL0bj2jP2122B2nvYtuHeSvJXosRdPwBaCq/1f9pSWmMRVlo6w2izIrBEuZxWf0GX3lZeU/8FX1GfNs2Q5No6e3r3fT',
227
+ 'Jr569JUM8wRDlz294fQC9sENO8FifGIc+wFXDzcKUYQDsYYKc71Ur2qSmlV3aXdl7XTtCm4PH8zSxCTWmhvSH1PnutwiJ4RcDrXJ',
228
+ 'pc4oEouK+Gy2yFpUGOKdJVp9UDchEMx2FJcMmxyn+qPK6A+c/Ivxc9tb1Z8a8vSYR3z5zhyNMc9vCPhyAgHkOwMBGDV6LzL0Wp3f',
229
+ 'lRugYFYogAytyQt8bhnO2lxl1pSXGc2i4M0NBMus6RUrZVXzlFFFYMhijKkoJ+Zbc8vKt1cuS7y090P9AV1w/B2/iAXYiq2rn058',
230
+ 'RuIhqnni289O9m/81nMXRxIvc9UTfJPWnh710843H3iyLlh53+zfNs78H3KRjooSjx7tvWrbD470zF/DFIKUb4pT1sSKWbGIIIqS',
231
+ 'TbRJQS6YeYN4gyRl6phMC2B0CaJFq9aF1E47WUKwOmx2mYT93nlpwpShTc0WVFWmbEmUlKmBlswyY4Uy2Mry4TOOTimqxehb0xcr',
232
+ 'u/z2P8wqPJhTunbZM338cwNvXeKNPt780MAlzOOdY5q2vTbwomLv1wA0btArqohli+8pf7IQWLXicAjEhEQWDkm1+/N+HBuoPDak',
233
+ 'cCnvJbPM6DOWWXxrDhw4cIAr+Ow1/shPQegC2E/4I9BgR2xBM0MXSeRgSBRswuX8In6VcJO4lj/IvsS+yap5XpAkUcUya5jvM08w',
234
+ 'LBM1qVQcL/CcsNQkipIk8hzLCyqJZzhW2ahhBbUoqAWnTsWoQ9A4tLpe77yDZMUQWZWOGYb37aiqrKyqrFLWczLZomsbisLSasOP',
235
+ 'ubVF9nALv9pw1CBVSorTpBiB5ZllRipTkY9Eo69rL/38/cRC2vd+onfLXv7I6T10PHHdwDwmuzuh/EtlHUDjU7yFYhZg0MdjQmAd',
236
+ 'HL/7nGEbJCtN1Lq+PsVVTOuF4OemIIA7Y+NESdQLGTbJprdlBKWgPphR55itWaTR+vxqp8vnUDOcze912Vw6ZT83K9vPZqrzbTan',
237
+ 'MWRWvqBzhpQP6WJqUJE/FIAjmC+TbrjynDSc6j911uW0VSq2or8/RYvRFD2rSZZBTbKd9Ud8xtGD+jRMs3pjo5uv75oRyat8rP3X',
238
+ 'MwoOX92w5P4DztCyhTv6uOKtF+eNr8qbPHvWg5duGBjDfHD1zA3bB+5lDi8dNe2hXwxpHNvP1cMBJ+bGSg8IxwWGE8xC0NwprBR5',
239
+ 's5Yx2w0uXoRg16idotMJbUjlzKYie8gBR1b2iGlxcph3WllV1f/51CAF0jAowbS3pSeL0Udr9kzf3XFyZuSAq+TWWGjq2MKsPtrB',
240
+ 'FW+d2/jw5Y8pc2Re5QKdtbr8+sUDv+Dqld3ccck3OC83A1rY4cA9sbKt0mbD/dYnuZ3SdsMuqyy9KL3Ovaf/g1l7kSS47KLWZdI4',
241
+ 'RIfDwgQznFmqoMXhzJJJtd+7vOV8fnXaLYrAxgU0maoAYGQCJNpUAfA6JkBqszYAMmgDkKxCgFi9EEi7Q2mDh5Y8U/ngGJmtZSYY',
242
+ 'DYw3F2kX6O07S6YfenLz5sdfo5zTif/5beI0mX4vrKSM7Zvnfv90756T7JuJDxOnEgOJpyl8mvQUU7ygzsRlnJ+rhx65WBmL7JJ2',
243
+ '2Jh8yZNt1Asui5gh6F3Zmlw9E7Q789RFhiJvKDfD4ctb6z3SMjQ0JwdNVsq0G6ODi3m2NQu8M8AFkMUEiLcyASKHPgDWJgx6QIoF',
244
+ 'R0teRfngmFmUxw0a1E+T0aCszMFA0OhjXtjhn3zocK3fP/lQoqinInbFLc8kDqzctqqxZFzfql++0nXlvsMLtn3r8u3svg31+ZWJ',
245
+ 'PyQGEo9tvqo8p37gt0jPYuY+bgqMuDgWCLIB3Rh2CsfpJQOjVxlV2qCkqKFRLTkzSfHy4DBlylS73zvv1mHqp0zuhqpjA8eUpYuM',
246
+ 'Q7NJUb2hNdjoW7fH8sTVvN1lyDLcdV8fV3yw4gGGfZZlepYPbFXmRXXydfYZbhqKUExFse+NVW3lN5vuN2+1bC0Q8vP8wQrvZO+U',
247
+ 'vCnB2XmXBxfmLQqs0q7SrdJ3+lbmrfSvDGzP2RnJZKGx8IVcUSaclixbtt1SaC7Kz9AslgL+Cj/jz9WpuXCm/YVsV6bIuYq2hTXF',
248
+ 'okpvYEQUe4udbrvVHrRNyA+IwXxnqd4dNExAsMhRUto75LH1nxpIr9pRw6mBlMsWLVYej6JRZYyVZyfFpFyfGuXpVMgELH5nwKt3',
249
+ 'e6EKiF5iI/CCLxC95DK5vcgy273kycj1wpur10lBtZcCfpWaCjkvhBDnRY4x20sOa3b6eSrt8qdONPTx6W1oUeZ5anFPqUux4qyV',
250
+ 'j07ZMdEXGJwRNqubFP/OLPhyA0H6SPLX7FywdXxwxffWTVz5m4N/vnoSs5sPTLh/4eLa/Bk3Ple9+I3ffXRcpAM0c07J5ZdfUZtn',
251
+ 'deXlFtTftvWHG+Z0jB81ZUZscoEj01Ucqf3+90688QjzVxBsyY8YFT8HdjT+QFekPqonmapifs4atbGCXm102mxOloQQLHpLButm',
252
+ 'Gfa01eFwnvYuWn1ef6447dD1GwZOppYOxYtLPXYPPiEGyhWXbucze/YELKW6HLN7UvDWOffey89JvLpxoHZspoaYDSrptkXM8xvB',
253
+ 'oCv5Lvs7rh422DE3dpFsftHMqDIlsyPTYc4XbmRfV16n8Xo1BJ2ad5k0dtFu11h1ReqQVuN0Ukjp6itnze7Qs82Q71ZVGTWetbrn',
254
+ '7A74xgjp2Vpu9NNYZ8kdP6zx9+1mfKMXbXxvViH1cMUD0cbRrTvn/B9G/9nLD40vuPT+xnXMr53K7NQA7B+5YgjExIqq6XlisAgd',
255
+ 'TAe7SFjL3cXvwE5GmoI6ppabyn+HW8cf517kpfr8FfmilDK0KUd5WuMqObmsj3jOw8l0xwGWXWpiiOFluiOWIwhLTQDxAscS8Qwr',
256
+ 'sBB4Ti0pQ9XDHCLFO1qzn3oEh2PGKXvDwNtvDzhSo6N4FlW2StPg+ik2FIUNM042iOlLeNolq2J+JmRiWQ4hkyDwIypnOLaHx+f1',
257
+ 'RqMD0eiImnnREBYN4dIS5RGl5fpMFZWRj96iHAo/n7jmaOIGrvj0Vrbjs5e54kGu3uGKoYEP+9RSVVwo2wehKs6WUVxbHNe9hn1Q',
258
+ 'G037GCkaLSnNLMsim4p8irOT84eP//qbxBZa9X7i40TiJK3iihNraRU/8NnAb+i+xLWMX7FOlkR96plAWft+Eru223KXfYedVby5',
259
+ 'saY6U5NpkXgje6O43rwVW/itli3WLbad2Gk11GGaZYrtJQtXw7/AM2v57dhOO/idNj4vn7dbbFaCYNFqMlySXlkqrVk2m1PhxWax',
260
+ '92i/Z3U4s36VHkXHjFMNJ+3n8JRWvYaB6ChHsb2qsrJSsb7TGlfFTBYLrNalJpvNzhMpA2xfWxQ2rD6Wukirj9mp5frSkuupBS1U',
261
+ 'JrCMyKTMQrny8FcxZgKNoTJiWe/xwB3zqh/sejAQyikuMIwqNvAT9ImVPyU3ccWLEvcmPnw6sbBPkJ7QCV679P08bsbpreztSCbT',
262
+ '+1r8k0wualLvgTfgIwylC3OG0n+LPyl/GUMj9ypzOf/kyJ1JZTeS3krvTnIn0juV/Fsy6OyOpPLfgNnhdIJSgDHIEE6UlFKZxecv',
263
+ 's/jowcOHE88cPsw/eeLECcXz4mTGL8yBBjYcT7djL5bBFk/kU7uVfwQLpmVilvI9EhyKawsWykZdPVg0K/9EAYtVYLHuTP79Z/KV',
264
+ 'P4kcPJP/EljoWmTYDTIsJ2RYipUeTsyCABWsUCEAFSqgwmSoMBsqLIQKnVDhO2fyN5/J334m/5kz+S9ABV3LRB6vQoX3oALTkt6B',
265
+ 'zXhLhkPBDJhSu7BaCKldWBraJTFbM0cNWvjy0RV06eipU0eXTZ1aNvuWW2bPvvlmXjN1tJI0eipdfMvsVOItwP8F22bdGQplbmRz',
266
+ 'dHJlYW0KZW5kb2JqCjI0IDAgb2JqCjw8L1R5cGUgL0ZvbnREZXNjcmlwdG9yCi9Gb250TmFtZSAvQkFBQUFBK0hlbHZldGljYQov',
267
+ 'RmxhZ3MgMTIKL0FzY2VudCA3NzAuMDE5NTMKL0Rlc2NlbnQgMjI5Ljk4MDQ3Ci9TdGVtViA4OS4zNTU0NjkKL0NhcEhlaWdodCA3',
268
+ 'MTcuMjg1MTYKL0l0YWxpY0FuZ2xlIDAKL0ZvbnRCQm94IFstOTUwLjY4MzU5IC00ODAuOTU3MDMgMTQ0NS44MDA3OCAxMTIxLjU4',
269
+ 'MjAzXQovRm9udEZpbGUyIDIzIDAgUj4+CmVuZG9iagoyNSAwIG9iago8PC9UeXBlIC9Gb250Ci9Gb250RGVzY3JpcHRvciAyNCAw',
270
+ 'IFIKL0Jhc2VGb250IC9CQUFBQUErSGVsdmV0aWNhCi9TdWJ0eXBlIC9DSURGb250VHlwZTIKL0NJRFRvR0lETWFwIC9JZGVudGl0',
271
+ 'eQovQ0lEU3lzdGVtSW5mbyA8PC9SZWdpc3RyeSAoQWRvYmUpCi9PcmRlcmluZyAoSWRlbnRpdHkpCi9TdXBwbGVtZW50IDA+Pgov',
272
+ 'VyBbMCBbNjMzLjc4OTA2XSAzIDE3IDI3Ny44MzIwMyA1NSBbNjEwLjgzOTg0IDcyMi4xNjc5N10gNjggWzU1Ni4xNTIzNF0gNzEg',
273
+ 'NzIgNTU2LjE1MjM0IDczIFsyNzcuODMyMDMgNTU2LjE1MjM0IDU1Ni4xNTIzNCAyMjIuMTY3OTddIDc5IFsyMjIuMTY3OTcgODMz',
274
+ 'LjAwNzgxXSA4MSA4MyA1NTYuMTUyMzQgODUgWzMzMy4wMDc4MV0gODcgWzI3Ny44MzIwMyA1NTYuMTUyMzRdIDEwOCAxMTAgNTU2',
275
+ 'LjE1MjM0XQovRFcgNTAwPj4KZW5kb2JqCjI2IDAgb2JqCjw8L0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAzMDM+PiBzdHJl',
276
+ 'YW0KeJxdkctuwyAQRfd8BctmEYGfSSXLUuPEkhd9qG4+wIGxi1RjhMnCf195JnKlLgCdy9xhmBFVc26sCVx8+Em1EHhvrPYwT3ev',
277
+ 'gN9gMJZFMddGhQfhrsbOMVE153aZA4yN7SdWFJyLTxjMHPzCn170dIMdE+9egzd24E/Xqt0x0d6d+4ERbOCSlSXX0DNRvXburRuB',
278
+ 'C7TtGw02mLDsr1X7F/G1OOAxckTVqEnD7DoFvrMDsEJKKUte1HVdlwys/nefkevWq+/OY3RS8kLKWJYrRRHRBSlNkfIIKa+QLinR',
279
+ 'hSjDVx75tuxbMckBw5IjHhl50xwppYR5QiIlzKie/IRilpH4jMchJvFEItkPx0cF9Ob65XU0Wz/V3XuwAeeHPVy7ZyxsI3aTW13r',
280
+ '+gV7RZhLCmVuZHN0cmVhbQplbmRvYmoKNSAwIG9iago8PC9UeXBlIC9Gb250Ci9TdWJ0eXBlIC9UeXBlMAovQmFzZUZvbnQgL0JB',
281
+ 'QUFBQStIZWx2ZXRpY2EKL0VuY29kaW5nIC9JZGVudGl0eS1ICi9EZXNjZW5kYW50Rm9udHMgWzI1IDAgUl0KL1RvVW5pY29kZSAy',
282
+ 'NiAwIFI+PgplbmRvYmoKeHJlZgowIDI3CjAwMDAwMDAwMDAgNjU1MzUgZiAKMDAwMDAwMDAxNSAwMDAwMCBuIAowMDAwMDAwNzQ0',
283
+ 'IDAwMDAwIG4gCjAwMDAwMDAyODcgMDAwMDAgbiAKMDAwMDAwNTU5OSAwMDAwMCBuIAowMDAwMDE1MDI0IDAwMDAwIG4gCjAwMDAw',
284
+ 'MDAzMjQgMDAwMDAgbiAKMDAwMDAwMDk3MSAwMDAwMCBuIAowMDAwMDAxNjQwIDAwMDAwIG4gCjAwMDAwMDE0NDcgMDAwMDAgbiAK',
285
+ 'MDAwMDAwMTEwMyAwMDAwMCBuIAowMDAwMDAxMDI2IDAwMDAwIG4gCjAwMDAwMDEyNDQgMDAwMDAgbiAKMDAwMDAwMTE2NyAwMDAw',
286
+ 'MCBuIAowMDAwMDAxMzg0IDAwMDAwIG4gCjAwMDAwMDEzMDcgMDAwMDAgbiAKMDAwMDAwMTU0NiAwMDAwMCBuIAowMDAwMDAxNTg1',
287
+ 'IDAwMDAwIG4gCjAwMDAwMDE3MzAgMDAwMDAgbiAKMDAwMDAwMTkyNyAwMDAwMCBuIAowMDAwMDA0NjQ4IDAwMDAwIG4gCjAwMDAw',
288
+ 'MDQ4OTggMDAwMDAgbiAKMDAwMDAwNTI1MCAwMDAwMCBuIAowMDAwMDA1NzQ1IDAwMDAwIG4gCjAwMDAwMTM5NjMgMDAwMDAgbiAK',
289
+ 'MDAwMDAxNDIwNyAwMDAwMCBuIAowMDAwMDE0NjUwIDAwMDAwIG4gCnRyYWlsZXIKPDwvU2l6ZSAyNwovUm9vdCAxOCAwIFIKL0lu',
290
+ 'Zm8gMSAwIFI+PgpzdGFydHhyZWYKMTUxNjUKJSVFT0YK',
291
+ ].join('');
292
+ const PDF_OBJSTM_BASE64 = [
293
+ 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAxOTkKPj4Kc3RyZWFtCnicdY/B',
294
+ 'igIxEETv/RU5C2KSSVcnsHjQiXjwIuQHZHFll/WgLPv9Vma8eJAQ6K6qTl7fZNPEu37uF1ntz7//57/vz9PSfMkpe8vFBe/al8Tk',
295
+ '2kHCFA1dC0b9Kh9pREBBtQRFZV0xQKM3j23vogews0glIc+OKUb6nIKxH+gE3oId6tq1H2kLqU2OcnvHVyxF5KjIb/l05tMIfbLM',
296
+ 'XE8K/tYZlM6WCfKBSXLEmcsGKmronpVeUzfkaU+d9ho7b3+P2VfuBxHJSrsKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAov',
297
+ 'RmlsdGVyIC9GbGF0ZURlY29kZQovTGVuZ3RoIDEzNAo+PgpzdHJlYW0KeJwdizEKQjEQRPs9RWpB3N0ks/kgFkrEwkbIBUS+omih',
298
+ 'iOd3E6aZebx507YRh57PjVaH+fmbv/fLeanMXDhPBUE4tCtpCu1IMlTpTMz5i9YpQoA6KWNvhopsalHZ1FtnaslXQkF2B5Bq/khj',
299
+ 'ue1Jw4/eBDtMTk3rJrQHtQXVRif6A0ryJFIKZW5kc3RyZWFtCmVuZG9iagoKOCAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29k',
300
+ 'ZQovVHlwZSAvT2JqU3RtCi9OIDUKL0ZpcnN0IDI2Ci9MZW5ndGggMjcwCj4+CnN0cmVhbQp4nLVQXWvDMAx896/QHxhyvhwHSqEt',
301
+ '7QZjbLSDDcYe3MQEl2KPxhndv5+UZgt9HiM4WKeT7nwJSEihkJCBziGHRClQkJUZzGYCn78+LOCTaW0n8N41HbwRR8KWOPx/F7gK',
302
+ 'vY+QivlcTBMrE80xtOIyCgmTrxmb4KPAXb+PQ8lgInBpOssdwDt7/LTR1Ubg2tehcb4FfHF+4Tv3A1xvZCkWPFmavyji1nahP9Vk',
303
+ 'gXnDZr78Lr8pZaVzLUtdUQDDyNSryjxVOi2UHnskh6+P+4OthzVcrs/xdhdNtCPA2INtnFmGM2Ul6cskJUyHslp4HyJnOOTmIznl',
304
+ 'qhiz/PtzSEdqWVRa/bPlcrL8DcR6m+gKZW5kc3RyZWFtCmVuZG9iagoKOSAwIG9iago8PAovU2l6ZSAxMAovUm9vdCAyIDAgUgov',
305
+ 'RmlsdGVyIC9GbGF0ZURlY29kZQovVHlwZSAvWFJlZgovTGVuZ3RoIDQ1Ci9XIFsgMSAyIDIgXQovSW5kZXggWyAwIDEwIF0KPj4K',
306
+ 'c3RyZWFtCnicY2Bg+P+fiYGDgQFEMIIIJhDBzMggABFjYWRUYGBgZHwPJJiTGRgAcCQDxgplbmRzdHJlYW0KZW5kb2JqCgpzdGFy',
307
+ 'dHhyZWYKODY3CiUlRU9G',
308
+ ].join('');
309
+ const PDF_SCAN_BASE64 = [
310
+ 'JVBERi0xLjcKJYGBgYEKCjMgMCBvYmoKPDwKL1R5cGUgL1hPYmplY3QKL1N1YnR5cGUgL0ltYWdlCi9CaXRzUGVyQ29tcG9uZW50',
311
+ 'IDgKL1dpZHRoIDIKL0hlaWdodCAyCi9Db2xvclNwYWNlIC9EZXZpY2VSR0IKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbmd0aCAx',
312
+ 'MQo+PgpzdHJlYW0KeJxjYEAAAAAMAAEKZW5kc3RyZWFtCmVuZG9iagoKNSAwIG9iago8PAovRmlsdGVyIC9GbGF0ZURlY29kZQov',
313
+ 'TGVuZ3RoIDUwCj4+CnN0cmVhbQp4nCvkMlQwAEIImZyLwTUwgAhAaUwV+p65iempuuYGlhYmFgbmFpYKLvlcgVwA9hgRvwplbmRz',
314
+ 'dHJlYW0KZW5kb2JqCgo2IDAgb2JqCjw8Ci9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9PYmpTdG0KL04gMwovRmlyc3QgMTQK',
315
+ 'L0xlbmd0aCAxODYKPj4Kc3RyZWFtCnicVY9RC4IwFIXf9yvuH4htZThBgpKKiCishyB6WDrEqC10gv377lUjYgx2d853OUeCgDEE',
316
+ 'AQQQKohjxk/vlwF+0IWpGd+WeQ0XFAWkcGU8cY31INlsxn7eRHv9cAXrIZBk/neQQHJliO50npraNVWGAPlWDhV8IMbP+9vdZN3I',
317
+ 'N09ER6GIVKBEqCKYfLfzZevXR6+9GTj625m81AvXYmaBR4r+YvK5tc5Tl66F9ZiEpunQDOEPGYNFOgplbmRzdHJlYW0KZW5kb2Jq',
318
+ 'Cgo3IDAgb2JqCjw8Ci9TaXplIDgKL1Jvb3QgMiAwIFIKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL1R5cGUgL1hSZWYKL0xlbmd0aCAz',
319
+ 'OQovVyBbIDEgMiAyIF0KL0luZGV4IFsgMCA4IF0KPj4Kc3RyZWFtCnicY2Bg+P+fiYGNgQFEMDIyCEBYTIwMBxiAfCsgwRTFwAAA',
320
+ 'WfMDhQplbmRzdHJlYW0KZW5kb2JqCgpzdGFydHhyZWYKNjAyCiUlRU9G',
321
+ ].join('');
74
322
  const XLSX_BASE64 = [
75
323
  'UEsDBAoAAAAIAHo/Ql2R28AJWQEAAPAEAAATAAAAW0NvbnRlbnRfVHlwZXNdLnhtbK2UTW7CMBCF9z1F5C1KDF1UVUXCorTLFqn0',
76
324
  'ANN4Qiwc2/KYv9t3EiiqKiCqYBMrmTfve57EGU+2jUnWGEg7m4tRNhQJ2tIpbRe5+Jy/po8ioQhWgXEWc7FDEpPibjzfeaSEmy3l',
@@ -890,7 +1138,7 @@ export const ATTACHMENT_TEXT_FIXTURES = [
890
1138
  body: bytesOf(DOCX_BASE64),
891
1139
  status: 'indexed',
892
1140
  extractor: 'docx',
893
- finds: ['consumer price', 'indexation clause', 'återbetalning'],
1141
+ finds: ['indexation clause', 'consumer price', 'återbetalning'],
894
1142
  },
895
1143
  {
896
1144
  name: 'xlsx',
@@ -929,12 +1177,41 @@ export const ATTACHMENT_TEXT_FIXTURES = [
929
1177
  extractor: 'text',
930
1178
  },
931
1179
  {
932
- name: 'a PDF (not extracted yet)',
1180
+ // Skia, as Chrome prints: Type0 fonts with Identity-H codes, read through ToUnicode.
1181
+ name: 'pdf from a browser',
1182
+ filename: 'lease.pdf',
1183
+ contentType: 'application/pdf',
1184
+ body: bytesOf(PDF_CHROME_BASE64),
1185
+ status: 'indexed',
1186
+ extractor: 'pdf',
1187
+ finds: ['indexation surcharge', 'Lease agreement', 'månaders varsel'],
1188
+ },
1189
+ {
1190
+ // pdf-lib: a cross-reference stream, object streams, and a standard WinAnsi font.
1191
+ name: 'pdf with object streams',
1192
+ filename: 'plan.pdf',
1193
+ contentType: 'application/pdf',
1194
+ body: bytesOf(PDF_OBJSTM_BASE64),
1195
+ status: 'indexed',
1196
+ extractor: 'pdf',
1197
+ finds: ['impeller bearings', 'pumping station', 'façade'],
1198
+ },
1199
+ {
1200
+ // A scan: a page that is only an image has no text layer, and nothing is OCR'd.
1201
+ name: 'a scanned pdf',
933
1202
  filename: 'scan.pdf',
934
1203
  contentType: 'application/pdf',
1204
+ body: bytesOf(PDF_SCAN_BASE64),
1205
+ status: 'empty',
1206
+ extractor: 'pdf',
1207
+ },
1208
+ {
1209
+ name: 'a damaged pdf',
1210
+ filename: 'broken.pdf',
1211
+ contentType: 'application/pdf',
935
1212
  body: utf8('%PDF-1.4\n1 0 obj\n<<>>\nendobj\ntrailer\n<<>>\n%%EOF\n'),
936
- status: 'unsupported',
937
- extractor: null,
1213
+ status: 'failed',
1214
+ extractor: 'pdf',
938
1215
  },
939
1216
  {
940
1217
  name: 'an image (never OCR\'d)',
@@ -953,4 +1230,67 @@ export const ATTACHMENT_TEXT_FIXTURES = [
953
1230
  extractor: 'docx',
954
1231
  },
955
1232
  ];
1233
+ const zlib = async (data) => new Uint8Array(await new Response(new Blob([data]).stream().pipeThrough(new CompressionStream('deflate'))).arrayBuffer());
1234
+ const join = (...parts) => {
1235
+ const bytes = parts.map((p) => (typeof p === 'string' ? utf8(p) : p));
1236
+ const out = new Uint8Array(bytes.reduce((n, b) => n + b.length, 0));
1237
+ let at = 0;
1238
+ for (const b of bytes) {
1239
+ out.set(b, at);
1240
+ at += b.length;
1241
+ }
1242
+ return out;
1243
+ };
1244
+ /** A one-page PDF drawing `content`, laid out as a plain writer would, plus where its xref sits. */
1245
+ function onePagePdf(content, opts = {}) {
1246
+ const objects = [
1247
+ '<< /Type /Catalog /Pages 2 0 R >>',
1248
+ '<< /Type /Pages /Kids [3 0 R] /Count 1 >>',
1249
+ '<< /Type /Page /Parent 2 0 R /Resources << /Font << /F1 4 0 R >> >> /Contents 5 0 R >>',
1250
+ '<< /Type /Font /Subtype /Type1 /BaseFont /Helvetica /Encoding /WinAnsiEncoding >>',
1251
+ join(`<< /Length ${content.length} ${opts.contentDict ?? ''} >>\nstream\n`, content, '\nendstream'),
1252
+ ];
1253
+ const parts = [utf8('%PDF-1.7\n')];
1254
+ const offsets = [];
1255
+ let at = parts[0].length;
1256
+ for (const [i, body] of objects.entries()) {
1257
+ const obj = join(`${i + 1} 0 obj\n`, body, '\nendobj\n');
1258
+ offsets.push(at);
1259
+ parts.push(obj);
1260
+ at += obj.length;
1261
+ }
1262
+ const rows = offsets.map((o) => `${String(o).padStart(10, '0')} 00000 n \n`).join('');
1263
+ parts.push(utf8(`xref\n0 6\n0000000000 65535 f \n${rows}trailer\n<< /Size 6 /Root 1 0 R ${opts.trailer ?? ''} >>\nstartxref\n${at}\n%%EOF\n`));
1264
+ return { bytes: join(...parts), xrefAt: at, contentAt: offsets[4] };
1265
+ }
1266
+ /**
1267
+ * PDFs built to hurt the parser (#1575): each must end `failed` or `empty` within the
1268
+ * extraction budget, with its upload untouched. Built at run time — the bomb is a few KiB
1269
+ * deflated and 9 MiB inflated, which no fixture file should hold — through the runtime's own
1270
+ * `CompressionStream`, so they are built the same way on node and in workerd.
1271
+ */
1272
+ export async function hostilePdfs() {
1273
+ const pdf = (name, body, status, detail) => ({
1274
+ name,
1275
+ filename: `${name.replace(/\W+/g, '-')}.pdf`,
1276
+ contentType: 'application/pdf',
1277
+ body,
1278
+ status,
1279
+ extractor: 'pdf',
1280
+ ...(detail === undefined ? {} : { detail }),
1281
+ });
1282
+ const text = utf8('BT /F1 9 Tf (hostile marmoset text) Tj ET');
1283
+ const plain = onePagePdf(text);
1284
+ return [
1285
+ pdf('a deflate bomb', onePagePdf(await zlib(new Uint8Array(9 * 1024 * 1024)), { contentDict: '/Filter /FlateDecode' }).bytes, 'failed', 'a PDF stream decodes past the extraction bound'),
1286
+ pdf('a cross-reference chain that loops',
1287
+ // The trailer follows the table, so naming the table's own offset in it moves nothing.
1288
+ onePagePdf(text, { trailer: `/Prev ${plain.xrefAt}` }).bytes, 'failed', 'the PDF cross-reference chain loops'),
1289
+ pdf('nesting a hundred thousand deep', onePagePdf(utf8(`BT /F1 9 Tf ${'['.repeat(100_000)} (marmoset) Tj ET`)).bytes, 'empty'),
1290
+ pdf('a file cut off inside its content', plain.bytes.subarray(0, plain.contentAt + 40), 'empty'),
1291
+ pdf('a billion declared objects', join(plain.bytes.subarray(0, plain.xrefAt), `xref\n0 1000000000\n0000000000 65535 f \ntrailer\n<< /Root 1 0 R >>\nstartxref\n${plain.xrefAt}\n%%EOF\n`), 'failed',
1292
+ // `PDF_OBJECTS_MAX` in @substrat-run/attachment-extractors, which this package does not import.
1293
+ 'the PDF declares more than 200000 objects'),
1294
+ ];
1295
+ }
956
1296
  //# sourceMappingURL=attachment-text-fixtures.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-text-fixtures.js","sourceRoot":"","sources":["../src/attachment-text-fixtures.ts"],"names":[],"mappings":"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;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAA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"}
1
+ {"version":3,"file":"attachment-text-fixtures.js","sourceRoot":"","sources":["../src/attachment-text-fixtures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,+DAA+D;AAC/D,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,mBAAmB;IACnB,EAAE;IACF,oFAAoF;IACpF,6CAA6C;CAC9C,CAAC;AAEF,MAAM,WAAW,GAAG;IAClB,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sFAAsF;CACvF,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEX,MAAM,iBAAiB,GAAG;IACxB,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,8CAA8C;CAC/C,CAAC,IAAI,CAAC,E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CtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;IACtG,sGAAsG;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"}
@@ -1,3 +1,18 @@
1
+ import { type TenantId, type ScopeId } from '@substrat-run/contracts';
2
+ import { type AttachmentExtractor, type AttachmentTextBounds } from '@substrat-run/kernel';
1
3
  import type { ScopeHostFixture } from './scope-host-suite.js';
2
- export declare function attachmentTextContractSuite(adapterName: string, makeFixture: () => Promise<ScopeHostFixture>): void;
4
+ /** What a fixture builds its host with. Omitted extractors are the host's real ones. */
5
+ export interface AttachmentTextHostOptions {
6
+ readonly attachmentExtractors?: readonly AttachmentExtractor[];
7
+ readonly attachmentTextBounds?: Partial<AttachmentTextBounds>;
8
+ }
9
+ export interface AttachmentTextHostFixture extends ScopeHostFixture {
10
+ /**
11
+ * Put a scope back where it stood before extraction existed: no text rows and no
12
+ * extraction runs. The backfill's own run — its marker — is left alone. Written straight
13
+ * to the store, since no host surface may write the spine.
14
+ */
15
+ forgetAttachmentText(tenantId: TenantId, scopeId: ScopeId): Promise<void>;
16
+ }
17
+ export declare function attachmentTextContractSuite(adapterName: string, makeFixture: (options?: AttachmentTextHostOptions) => Promise<AttachmentTextHostFixture>): void;
3
18
  //# sourceMappingURL=attachment-text-suite.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"attachment-text-suite.d.ts","sourceRoot":"","sources":["../src/attachment-text-suite.ts"],"names":[],"mappings":"AAoDA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAY9D,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,OAAO,CAAC,gBAAgB,CAAC,GAC3C,IAAI,CAsWN"}
1
+ {"version":3,"file":"attachment-text-suite.d.ts","sourceRoot":"","sources":["../src/attachment-text-suite.ts"],"names":[],"mappings":"AAkCA,OAAO,EASL,KAAK,QAAQ,EAGb,KAAK,OAAO,EACb,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAWL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAG1B,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAY9D,wFAAwF;AACxF,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IAC/D,QAAQ,CAAC,oBAAoB,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,CAAC;CAC/D;AAED,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE;;;;OAIG;IACH,oBAAoB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3E;AAED,wBAAgB,2BAA2B,CACzC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,CAAC,OAAO,CAAC,EAAE,yBAAyB,KAAK,OAAO,CAAC,yBAAyB,CAAC,GACvF,IAAI,CA0iBN"}