@awacloud/pdf 0.0.0-stage → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (345) hide show
  1. package/CHANGELOG.md +609 -0
  2. package/LICENSE +661 -0
  3. package/NOTICE +77 -0
  4. package/README.md +363 -2
  5. package/dist/build/index.js +21 -0
  6. package/dist/build/pdf-full-rw.js +10972 -0
  7. package/dist/build/pdf-full-rw.meta.json +105 -0
  8. package/dist/build/pdf-full-rw.min.js +53 -0
  9. package/dist/build/pdf-full.js +6078 -0
  10. package/dist/build/pdf-full.meta.json +90 -0
  11. package/dist/build/pdf-full.min.js +32 -0
  12. package/dist/build/pdf-large-rw.js +10367 -0
  13. package/dist/build/pdf-large-rw.meta.json +99 -0
  14. package/dist/build/pdf-large-rw.min.js +53 -0
  15. package/dist/build/pdf-large.js +5473 -0
  16. package/dist/build/pdf-large.meta.json +84 -0
  17. package/dist/build/pdf-large.min.js +32 -0
  18. package/dist/build/pdf-legacy-rw.js +12402 -0
  19. package/dist/build/pdf-legacy-rw.meta.json +110 -0
  20. package/dist/build/pdf-legacy-rw.min.js +53 -0
  21. package/dist/build/pdf-legacy.js +7508 -0
  22. package/dist/build/pdf-legacy.meta.json +95 -0
  23. package/dist/build/pdf-legacy.min.js +32 -0
  24. package/dist/build/pdf-rw.js +7578 -0
  25. package/dist/build/pdf-rw.meta.json +77 -0
  26. package/dist/build/pdf-rw.min.js +53 -0
  27. package/dist/build/pdf.js +2684 -0
  28. package/dist/build/pdf.meta.json +62 -0
  29. package/dist/build/pdf.min.js +32 -0
  30. package/dist/standalone/pdf-full-rw.js +16798 -0
  31. package/dist/standalone/pdf-full-rw.meta.json +78 -0
  32. package/dist/standalone/pdf-full-rw.min.js +56 -0
  33. package/dist/standalone/pdf-full.js +11904 -0
  34. package/dist/standalone/pdf-full.meta.json +63 -0
  35. package/dist/standalone/pdf-full.min.js +35 -0
  36. package/dist/standalone/pdf-large-rw.js +16193 -0
  37. package/dist/standalone/pdf-large-rw.meta.json +72 -0
  38. package/dist/standalone/pdf-large-rw.min.js +56 -0
  39. package/dist/standalone/pdf-large.js +11299 -0
  40. package/dist/standalone/pdf-large.meta.json +57 -0
  41. package/dist/standalone/pdf-large.min.js +35 -0
  42. package/dist/standalone/pdf-legacy-rw.js +18228 -0
  43. package/dist/standalone/pdf-legacy-rw.meta.json +83 -0
  44. package/dist/standalone/pdf-legacy-rw.min.js +56 -0
  45. package/dist/standalone/pdf-legacy.js +13334 -0
  46. package/dist/standalone/pdf-legacy.meta.json +68 -0
  47. package/dist/standalone/pdf-legacy.min.js +35 -0
  48. package/dist/standalone/pdf-rw.js +13404 -0
  49. package/dist/standalone/pdf-rw.meta.json +50 -0
  50. package/dist/standalone/pdf-rw.min.js +56 -0
  51. package/dist/standalone/pdf.js +8510 -0
  52. package/dist/standalone/pdf.meta.json +35 -0
  53. package/dist/standalone/pdf.min.js +35 -0
  54. package/docs/README.md +53 -0
  55. package/docs/api/README.md +38 -0
  56. package/docs/api/_shared/README.md +91 -0
  57. package/docs/api/action/README.md +29 -0
  58. package/docs/api/action/action.md +81 -0
  59. package/docs/api/action/goTo.md +66 -0
  60. package/docs/api/action/launch.md +58 -0
  61. package/docs/api/action/named.md +55 -0
  62. package/docs/api/action/uri.md +54 -0
  63. package/docs/api/annot/README.md +53 -0
  64. package/docs/api/annot/annot.md +114 -0
  65. package/docs/api/annot/fileAttach.md +53 -0
  66. package/docs/api/annot/freeText.md +68 -0
  67. package/docs/api/annot/ink.md +69 -0
  68. package/docs/api/annot/link.md +74 -0
  69. package/docs/api/annot/markup.md +83 -0
  70. package/docs/api/annot/popup.md +52 -0
  71. package/docs/api/annot/projection.md +56 -0
  72. package/docs/api/annot/redact.md +67 -0
  73. package/docs/api/annot/square.md +87 -0
  74. package/docs/api/annot/stamp.md +54 -0
  75. package/docs/api/annot/text.md +69 -0
  76. package/docs/api/annot/widget.md +69 -0
  77. package/docs/api/associatedFiles/README.md +9 -0
  78. package/docs/api/associatedFiles/associatedFiles.md +78 -0
  79. package/docs/api/bundles/README.md +68 -0
  80. package/docs/api/bundles/dist-matrix.md +165 -0
  81. package/docs/api/bundles/pdf-full.md +148 -0
  82. package/docs/api/bundles/pdf-large.md +144 -0
  83. package/docs/api/bundles/pdf-legacy.md +169 -0
  84. package/docs/api/content/README.md +29 -0
  85. package/docs/api/content/color.md +99 -0
  86. package/docs/api/content/graphics.md +114 -0
  87. package/docs/api/content/images.md +124 -0
  88. package/docs/api/content/ops.md +100 -0
  89. package/docs/api/content/stream.md +107 -0
  90. package/docs/api/content/text.md +98 -0
  91. package/docs/api/crypto/README.md +29 -0
  92. package/docs/api/crypto/aesGcm.md +72 -0
  93. package/docs/api/crypto/permissions.md +79 -0
  94. package/docs/api/crypto/security.md +98 -0
  95. package/docs/api/crypto/standardV4.md +104 -0
  96. package/docs/api/crypto/standardV5.md +84 -0
  97. package/docs/api/crypto/standardV6.md +93 -0
  98. package/docs/api/destination/README.md +9 -0
  99. package/docs/api/destination/destination.md +79 -0
  100. package/docs/api/document/README.md +29 -0
  101. package/docs/api/document/builder.md +281 -0
  102. package/docs/api/document/catalog.md +98 -0
  103. package/docs/api/document/document.md +187 -0
  104. package/docs/api/document/encryptedWriter.md +149 -0
  105. package/docs/api/document/incrementalWriter.md +148 -0
  106. package/docs/api/document/page.md +99 -0
  107. package/docs/api/document/pages.md +82 -0
  108. package/docs/api/document/resources.md +102 -0
  109. package/docs/api/document/writer.md +157 -0
  110. package/docs/api/document/xrefStreamWriter.md +122 -0
  111. package/docs/api/embedded/README.md +13 -0
  112. package/docs/api/embedded/collection.md +80 -0
  113. package/docs/api/embedded/embeddedFile.md +86 -0
  114. package/docs/api/embedded/fileSpec.md +87 -0
  115. package/docs/api/errors.md +110 -0
  116. package/docs/api/extra/3d-richmedia.md +76 -0
  117. package/docs/api/extra/README.md +99 -0
  118. package/docs/api/extra/annot-extended.md +71 -0
  119. package/docs/api/extra/associated-files.md +70 -0
  120. package/docs/api/extra/ccitt-fax-decoder.md +74 -0
  121. package/docs/api/extra/color-spaces-extended.md +72 -0
  122. package/docs/api/extra/content-ops-extended.md +82 -0
  123. package/docs/api/extra/document-parts.md +69 -0
  124. package/docs/api/extra/embedded-files-portfolio.md +87 -0
  125. package/docs/api/extra/font-cid-typed.md +77 -0
  126. package/docs/api/extra/font-color-tagging.md +76 -0
  127. package/docs/api/extra/form-actions-extended.md +75 -0
  128. package/docs/api/extra/info-dict-deprecated.md +72 -0
  129. package/docs/api/extra/jbig2-read.md +80 -0
  130. package/docs/api/extra/legacy-deprecated-annots.md +89 -0
  131. package/docs/api/extra/legacy-deprecated-filters.md +78 -0
  132. package/docs/api/extra/legacy-rc4-read.md +74 -0
  133. package/docs/api/extra/legacy-xfa-read.md +65 -0
  134. package/docs/api/extra/linearization-write.md +71 -0
  135. package/docs/api/extra/misc.md +93 -0
  136. package/docs/api/extra/optional-content-extended.md +83 -0
  137. package/docs/api/extra/pdf-a-output-intent.md +65 -0
  138. package/docs/api/extra/pdf-sandbox.md +76 -0
  139. package/docs/api/extra/pdf-ua-tagged.md +63 -0
  140. package/docs/api/extra/pdf-x-prepress.md +65 -0
  141. package/docs/api/extra/redaction-iso32005.md +65 -0
  142. package/docs/api/extra/shading-typed.md +73 -0
  143. package/docs/api/extra/sig-aes-gcm.md +69 -0
  144. package/docs/api/extra/sig-pades.md +103 -0
  145. package/docs/api/extra/tagged-pdf-typed.md +78 -0
  146. package/docs/api/extra/transparency-typed.md +74 -0
  147. package/docs/api/extra/well-tagged-pdf.md +61 -0
  148. package/docs/api/extra/xmp-extended.md +65 -0
  149. package/docs/api/font/README.md +25 -0
  150. package/docs/api/font/embed.md +157 -0
  151. package/docs/api/font/encoding.md +95 -0
  152. package/docs/api/font/font.md +97 -0
  153. package/docs/api/font/type3.md +89 -0
  154. package/docs/api/form/README.md +35 -0
  155. package/docs/api/form/acroform.md +88 -0
  156. package/docs/api/form/appearance.md +87 -0
  157. package/docs/api/form/button.md +97 -0
  158. package/docs/api/form/choice.md +96 -0
  159. package/docs/api/form/fieldTree.md +93 -0
  160. package/docs/api/form/signature.md +90 -0
  161. package/docs/api/form/text.md +88 -0
  162. package/docs/api/linearization/README.md +11 -0
  163. package/docs/api/linearization/linearization.md +81 -0
  164. package/docs/api/main.md +116 -0
  165. package/docs/api/metadata/README.md +10 -0
  166. package/docs/api/metadata/info.md +70 -0
  167. package/docs/api/metadata/xmp.md +62 -0
  168. package/docs/api/ocg/README.md +23 -0
  169. package/docs/api/ocg/config.md +95 -0
  170. package/docs/api/ocg/ocg.md +77 -0
  171. package/docs/api/outline/README.md +11 -0
  172. package/docs/api/outline/outline.md +107 -0
  173. package/docs/api/pdf.md +152 -0
  174. package/docs/api/prepress/README.md +10 -0
  175. package/docs/api/prepress/outputIntent.md +79 -0
  176. package/docs/api/prepress/pageBoundary.md +75 -0
  177. package/docs/api/sig/README.md +32 -0
  178. package/docs/api/sig/byteRange.md +120 -0
  179. package/docs/api/sig/certChain.md +84 -0
  180. package/docs/api/sig/dss.md +111 -0
  181. package/docs/api/sig/oids.md +76 -0
  182. package/docs/api/sig/sha1.md +72 -0
  183. package/docs/api/sig/sign.md +317 -0
  184. package/docs/api/sig/signature.md +178 -0
  185. package/docs/api/sig/timestamp.md +84 -0
  186. package/docs/api/syntax/README.md +29 -0
  187. package/docs/api/syntax/crossRefStream.md +115 -0
  188. package/docs/api/syntax/filters/README.md +50 -0
  189. package/docs/api/syntax/filters/ascii85.md +76 -0
  190. package/docs/api/syntax/filters/asciiHex.md +73 -0
  191. package/docs/api/syntax/filters/dispatch.md +125 -0
  192. package/docs/api/syntax/filters/flate.md +134 -0
  193. package/docs/api/syntax/filters/runLength.md +78 -0
  194. package/docs/api/syntax/objStream.md +88 -0
  195. package/docs/api/syntax/parser-obj.md +97 -0
  196. package/docs/api/syntax/parser.md +151 -0
  197. package/docs/api/syntax/serializer.md +109 -0
  198. package/docs/api/syntax/tokenizer.md +104 -0
  199. package/docs/api/syntax/trailer.md +85 -0
  200. package/docs/api/syntax/xref.md +139 -0
  201. package/docs/api/tagged/README.md +25 -0
  202. package/docs/api/tagged/classMap.md +67 -0
  203. package/docs/api/tagged/markedContent.md +62 -0
  204. package/docs/api/tagged/parentTree.md +67 -0
  205. package/docs/api/tagged/roleMap.md +67 -0
  206. package/docs/api/tagged/structElement.md +76 -0
  207. package/docs/api/tagged/structTree.md +75 -0
  208. package/docs/guide/coverage.md +113 -0
  209. package/docs/guide/crypto.md +121 -0
  210. package/docs/guide/extending.md +76 -0
  211. package/docs/guide/getting-started.md +75 -0
  212. package/docs/guide/legacy-1.7.md +42 -0
  213. package/docs/guide/pades-integration.md +579 -0
  214. package/docs/guide/read-pdf.md +89 -0
  215. package/package.json +97 -4
  216. package/src/_shared/index.js +179 -0
  217. package/src/action/action.js +119 -0
  218. package/src/action/goTo.js +89 -0
  219. package/src/action/launch.js +61 -0
  220. package/src/action/named.js +54 -0
  221. package/src/action/uri.js +51 -0
  222. package/src/annot/annot.js +212 -0
  223. package/src/annot/fileAttach.js +55 -0
  224. package/src/annot/freeText.js +82 -0
  225. package/src/annot/ink.js +77 -0
  226. package/src/annot/link.js +77 -0
  227. package/src/annot/markup.js +91 -0
  228. package/src/annot/popup.js +53 -0
  229. package/src/annot/projection.js +52 -0
  230. package/src/annot/redact.js +87 -0
  231. package/src/annot/square.js +132 -0
  232. package/src/annot/stamp.js +48 -0
  233. package/src/annot/text.js +54 -0
  234. package/src/annot/widget.js +61 -0
  235. package/src/associatedFiles/associatedFiles.js +86 -0
  236. package/src/bundles/pdf-full.js +91 -0
  237. package/src/bundles/pdf-large.js +81 -0
  238. package/src/bundles/pdf-legacy.js +107 -0
  239. package/src/content/color.js +114 -0
  240. package/src/content/graphics.js +192 -0
  241. package/src/content/images.js +160 -0
  242. package/src/content/ops.js +137 -0
  243. package/src/content/stream.js +154 -0
  244. package/src/content/text.js +125 -0
  245. package/src/crypto/aesGcm.js +123 -0
  246. package/src/crypto/permissions.js +112 -0
  247. package/src/crypto/security.js +327 -0
  248. package/src/crypto/standardV4.js +443 -0
  249. package/src/crypto/standardV5.js +306 -0
  250. package/src/crypto/standardV6.js +334 -0
  251. package/src/destination/destination.js +183 -0
  252. package/src/document/builder.js +618 -0
  253. package/src/document/catalog.js +100 -0
  254. package/src/document/document.js +472 -0
  255. package/src/document/encryptedWriter.js +554 -0
  256. package/src/document/incrementalWriter.js +514 -0
  257. package/src/document/page.js +131 -0
  258. package/src/document/pages.js +103 -0
  259. package/src/document/resources.js +146 -0
  260. package/src/document/writer.js +211 -0
  261. package/src/document/xrefStreamWriter.js +353 -0
  262. package/src/embedded/collection.js +102 -0
  263. package/src/embedded/embeddedFile.js +99 -0
  264. package/src/embedded/fileSpec.js +137 -0
  265. package/src/errors.js +78 -0
  266. package/src/extra/3d-richmedia.js +171 -0
  267. package/src/extra/annot-extended.js +200 -0
  268. package/src/extra/associated-files.js +131 -0
  269. package/src/extra/ccitt-fax-decoder.js +776 -0
  270. package/src/extra/color-spaces-extended.js +196 -0
  271. package/src/extra/content-ops-extended.js +153 -0
  272. package/src/extra/document-parts.js +149 -0
  273. package/src/extra/embedded-files-portfolio.js +234 -0
  274. package/src/extra/font-cid-typed.js +185 -0
  275. package/src/extra/font-color-tagging.js +144 -0
  276. package/src/extra/form-actions-extended.js +196 -0
  277. package/src/extra/info-dict-deprecated.js +137 -0
  278. package/src/extra/jbig2-read.js +169 -0
  279. package/src/extra/legacy-deprecated-annots.js +198 -0
  280. package/src/extra/legacy-deprecated-filters.js +167 -0
  281. package/src/extra/legacy-rc4-read.js +235 -0
  282. package/src/extra/legacy-xfa-read.js +104 -0
  283. package/src/extra/linearization-write.js +97 -0
  284. package/src/extra/misc.js +217 -0
  285. package/src/extra/optional-content-extended.js +142 -0
  286. package/src/extra/pdf-a-output-intent.js +112 -0
  287. package/src/extra/pdf-sandbox.js +88 -0
  288. package/src/extra/pdf-ua-tagged.js +116 -0
  289. package/src/extra/pdf-x-prepress.js +114 -0
  290. package/src/extra/redaction-iso32005.js +136 -0
  291. package/src/extra/shading-typed.js +222 -0
  292. package/src/extra/sig-aes-gcm.js +135 -0
  293. package/src/extra/sig-pades.js +242 -0
  294. package/src/extra/tagged-pdf-typed.js +203 -0
  295. package/src/extra/transparency-typed.js +135 -0
  296. package/src/extra/well-tagged-pdf.js +138 -0
  297. package/src/extra/xmp-extended.js +190 -0
  298. package/src/font/embed.js +480 -0
  299. package/src/font/encoding.js +92 -0
  300. package/src/font/font.js +101 -0
  301. package/src/font/type3.js +75 -0
  302. package/src/form/acroform.js +94 -0
  303. package/src/form/appearance.js +90 -0
  304. package/src/form/button.js +105 -0
  305. package/src/form/choice.js +152 -0
  306. package/src/form/fieldTree.js +120 -0
  307. package/src/form/signature.js +100 -0
  308. package/src/form/text.js +101 -0
  309. package/src/linearization/linearization.js +107 -0
  310. package/src/main.js +411 -0
  311. package/src/metadata/info.js +87 -0
  312. package/src/metadata/xmp.js +62 -0
  313. package/src/ocg/config.js +156 -0
  314. package/src/ocg/ocg.js +124 -0
  315. package/src/outline/outline.js +157 -0
  316. package/src/pdf.js +133 -0
  317. package/src/prepress/outputIntent.js +118 -0
  318. package/src/prepress/pageBoundary.js +108 -0
  319. package/src/sig/byteRange.js +306 -0
  320. package/src/sig/certChain.js +247 -0
  321. package/src/sig/dss.js +317 -0
  322. package/src/sig/oids.js +157 -0
  323. package/src/sig/sha1.js +142 -0
  324. package/src/sig/sign.js +1899 -0
  325. package/src/sig/signature.js +1441 -0
  326. package/src/sig/timestamp.js +236 -0
  327. package/src/syntax/crossRefStream.js +133 -0
  328. package/src/syntax/filters/ascii85.js +122 -0
  329. package/src/syntax/filters/asciiHex.js +83 -0
  330. package/src/syntax/filters/dispatch.js +176 -0
  331. package/src/syntax/filters/flate.js +316 -0
  332. package/src/syntax/filters/runLength.js +96 -0
  333. package/src/syntax/objStream.js +99 -0
  334. package/src/syntax/parser-obj.js +52 -0
  335. package/src/syntax/parser.js +321 -0
  336. package/src/syntax/serializer.js +221 -0
  337. package/src/syntax/tokenizer.js +290 -0
  338. package/src/syntax/trailer.js +76 -0
  339. package/src/syntax/xref.js +341 -0
  340. package/src/tagged/classMap.js +81 -0
  341. package/src/tagged/markedContent.js +123 -0
  342. package/src/tagged/parentTree.js +126 -0
  343. package/src/tagged/roleMap.js +107 -0
  344. package/src/tagged/structElement.js +138 -0
  345. package/src/tagged/structTree.js +94 -0
@@ -0,0 +1,35 @@
1
+ {
2
+ "kind": "build",
3
+ "variant": "standalone",
4
+ "name": "pdf",
5
+ "package": "@awacloud/pdf",
6
+ "modules": [
7
+ "pdfErrors",
8
+ "pdfShared",
9
+ "pdfTokenizer",
10
+ "pdfParserObj",
11
+ "pdfParser",
12
+ "pdfXref",
13
+ "pdfTrailer",
14
+ "pdfSerializer",
15
+ "pdfCatalog",
16
+ "pdfPages",
17
+ "pdfPage",
18
+ "pdfCrossRefStream",
19
+ "pdfObjStream",
20
+ "pdfFlate",
21
+ "pdfAsciiHex",
22
+ "pdfAscii85",
23
+ "pdfRunLength",
24
+ "pdfFilterDispatch",
25
+ "pdfDocument",
26
+ "pdfWriter",
27
+ "pdf"
28
+ ],
29
+ "fwDependencies": [],
30
+ "bytes": {
31
+ "dev": 310921,
32
+ "min": 167737
33
+ },
34
+ "builtBy": "@awacloud/tool-prebuild-generator via tools/generate-bundles.mjs"
35
+ }
@@ -0,0 +1,35 @@
1
+ /*!
2
+ * Copyright (c) 2026 AwaCloud SAS
3
+ * Author: Matthieu Bouilloux
4
+ * SPDX-License-Identifier: AGPL-3.0-only
5
+ * Dual-licensed; see the NOTICE file for licensing and any additional terms.
6
+ */
7
+ /* GENERATED — do not edit. Source: packages/front/office/pdf/tools/generate-bundles.mjs */
8
+ var F0={name:"pdfBundled",dependencies:[],factory(){let $0=Object.create(null),tQ=Object.create(null);function ZQ(T){$0[T.name]=T}function J0(T){if(T in tQ)return tQ[T];let S=$0[T];if(!S)throw Error("prebuilt: unknown module "+T);let j=S.dependencies.map(J0);return tQ[T]=S.factory.apply({},j)}return ZQ({name:"bitstream",dependencies:[],factory:function(){function T(U,F,V){let Y=F>>>3;return(U[Y]|U[Y+1]<<8)>>>(F&7)&V}function S(U,F){let V=F>>>3;return(U[V]|U[V+1]<<8|U[V+2]<<16)>>>(F&7)}function j(U,F,V){let Y=F>>>3,R=V<<(F&7);U[Y]|=R,U[Y+1]|=R>>>8}function N(U,F,V){let Y=F>>>3,R=V<<(F&7);U[Y]|=R,U[Y+1]|=R>>>8,U[Y+2]|=R>>>16}function L(U){return U+7>>>3}function K(U,F,V){let Y=F==null||F<0?0:F,R=V==null||V>U.length?U.length:V;return new Uint8Array(U.subarray(Y,R))}function q(U){let F=U[0];for(let V=U.length-1;V>0;--V){let Y=U[V];if(Y>F)F=Y}return F}let C=new Uint16Array(32768);for(let U=1;U<32768;U++)C[U]=(U&1)<<14|C[U>>1]>>1;return{rev:C,byteOffset:L,readBits:T,writeBits:j,readBits16:S,writeBits16:N,slice:K,max:q}}}),ZQ({name:"huffman",dependencies:["bitstream"],factory:function(T){let S=T.rev;function j(U){let F=new Int32Array(16);for(let R=0;R<U.length;++R)F[U[R]]++;F[0]=0;let V=new Int32Array(16),Y=0;for(let R=1;R<16;++R)Y=Y+F[R-1]<<1,V[R]=Y;return V}function N(U,F,V){let Y=j(U),R=U.length;if(!V){let O=new Uint16Array(R);for(let X=0;X<R;++X){let H=U[X];if(H)O[X]=S[Y[H]++]>>>15-H}return O}let M=1<<F,D=new Uint16Array(M);for(let O=0;O<R;++O){let X=U[O];if(!X)continue;let H=O<<4|X,G=1<<X;for(let Q=S[Y[X]++]>>>15-X;Q<M;Q+=G)D[Q]=H}return D}function L(U,F,V){let Y=new Float64Array(V),R=0;for(let O=0;O<F;++O)if(U[O]>0)Y[R++]=U[O]*F+O;Y.sort();let M=new Int32Array(V),D=new Float64Array(V);for(let O=0;O<V;++O){let X=Y[O]%F;M[O]=X,D[O]=(Y[O]-X)/F}return{symbols:M,weights:D}}function K(U,F){let V=U.length,Y=2*V,R=new Uint8Array(F*Y),M=new Int32Array(F),D=new Float64Array(Y),O=new Float64Array(Y);D.set(U),R.fill(1,0,V),M[0]=V;for(let G=1;G<F;++G){let Q=M[G-1]>>>1,J=G*Y,$=0,Z=0,W=0;while($<V||Z<Q){let P=Z<Q?D[2*Z]+D[2*Z+1]:1/0;if($<V&&U[$]<=P)O[W]=U[$++],R[J+W]=1;else O[W]=P,++Z;++W}M[G]=W;let z=D;D=O,O=z}let X=new Uint8Array(V),H=2*V-2;for(let G=F-1;G>=0&&H>0;--G){let Q=G*Y,J=0;for(let $=0;$<H;++$)J+=R[Q+$];for(let $=0;$<J;++$)X[$]++;H=2*(H-J)}return X}function q(U,F){let V=U.length,Y=V-1,R=new Float64Array(Y),M=new Int32Array(Y+V),D=0,O=0;for(let G=0;G<Y;++G){let Q=0;for(let J=0;J<2;++J)if(D<V&&(O===G||U[D]<=R[O]))Q+=U[D],M[Y+D++]=G;else Q+=R[O],M[O++]=G;R[G]=Q}let X=new Int32Array(Y);for(let G=Y-2;G>=0;--G)X[G]=X[M[G]]+1;let H=new Uint8Array(V);for(let G=0;G<V;++G){let Q=X[M[Y+G]]+1;if(Q>F)return null;H[G]=Q}return H}function C(U,F){let V=0,Y=-1;for(let X=0;X<U.length;++X)if(U[X]>0)++V,Y=X;if(V===0)return{t:new Uint8Array(0),l:0};let R=new Uint8Array(Y+1);if(V===1)return R[Y]=1,{t:R,l:1};let{symbols:M,weights:D}=L(U,Y+1,V),O=q(D,F)||K(D,F);for(let X=0;X<V;++X)R[M[X]]=O[X];return{t:R,l:O[0]}}return{buildTree:C,buildMap:N}}}),ZQ({name:"lz77",dependencies:[],factory:function(){let T=Uint8Array,S=Int32Array,j=Object.freeze({windowBits:16,minMatch:4,maxMatch:258,chainDepth:16,lazy:!1,hashBits:17,niceLength:258,goodLength:258,maxLazy:258,chainSkip:!1,start:0,hashFn:null});function N(Y){Y=Y||{};let R=Math.max(Y.minMatch??j.minMatch,3),M=Y.maxMatch??j.maxMatch,D=Math.min(Math.max(Y.niceLength??M,R),M);return{windowBits:Math.min(Y.windowBits??j.windowBits,24),minMatch:R,maxMatch:M,chainDepth:Math.max(Y.chainDepth??j.chainDepth,1),lazy:Y.lazy??j.lazy,hashBits:Math.min(Y.hashBits??j.hashBits,22),niceLength:D,goodLength:Math.min(Y.goodLength??j.goodLength,M),maxLazy:Math.min(Y.maxLazy??j.maxLazy,D),chainSkip:Y.chainSkip??j.chainSkip,start:Math.max(0,Y.start|0),hashFn:typeof Y.hashFn==="function"?Y.hashFn:null}}function L(Y){let R=(1<<Y.hashBits)-1,M=32-Y.hashBits,D=Y.hashFn;if(D)return function(X,H){return D(X,H)&R};if(Y.minMatch<=3)return function(X,H){let G=X[H]*506832829>>>0;return G=(G^X[H+1]*982451653)>>>0,G=(G^X[H+2]*1610612741)>>>0,G>>>M&R};return function(X,H){let G=X[H]*506832829>>>0;return G=(G^X[H+1]*982451653)>>>0,G=(G^X[H+2]*1610612741)>>>0,G=(G^X[H+3]*805306457)>>>0,G>>>M&R}}let K=0;function q(Y,R,M,D,O,X,H,G,Q,J,$,Z){if(Z>=Q||Z>=G)return 0;let W=Y[R],z=Y[R+1],P=Z,w=0,v=D[M],k=0,x=J;while(v!==-1&&x-- >0){let B=v-k;if(B<0||R-B>=X)break;if(Y[B+P]===Y[R+P]&&Y[B+P-1]===Y[R+P-1]&&Y[B]===W&&Y[B+1]===z){let f=0;while(f<G&&Y[B+f]===Y[R+f])++f;if(f>P){if(P=f,w=R-B,f>=Q||f>=G)break;if($){let A=0;for(let h=0,b=Math.min(w,f-2);h<b;++h){let y=B+h,p=O[y&H];if(p===-1)continue;let n=y-p;if(n>A)A=n,v=y,k=h}}}}v=O[v&H]}if(w===0)return 0;return K=w,P}function C(Y,R,M,D,O){let X=N(O);if(R+X.minMatch>Y.length)return null;let H=1<<X.windowBits,G=L(X),Q=Math.min(X.maxMatch,Y.length-R),J=q(Y,R,G(Y,R),M,D,H,H-1,Q,X.niceLength,X.chainDepth,X.chainSkip,X.minMatch-1);return J?{len:J,dist:K}:null}function U(Y,R,M){if(!(Y instanceof T))throw Error("lz77.encode: data must be Uint8Array");let{literal:D,match:O}=M;if(typeof D!=="function"||typeof O!=="function")throw Error("lz77.encode: callbacks.literal and callbacks.match required");let{tokens:X,count:H}=F(Y,R),G=N(R).start;for(let Q=0,J=0;Q<H;++Q,J+=2){let $=X[J];if($===0)D(G),G+=1;else O(G,$,X[J+1]),G+=$}}function F(Y,R){if(!(Y instanceof T))throw Error("lz77.encodeTokens: data must be Uint8Array");let M=N(R),D=Y.length,O=2*Math.max(0,D-M.start),X=R&&R.tokens,H;if(X){if(X.length<O)throw Error("lz77.encodeTokens: tokens buffer too small");H=X}else H=new S(O);let G=0;if(M.start>=D)return{tokens:H,count:0};let{maxMatch:Q,niceLength:J,chainDepth:$,lazy:Z,goodLength:W,maxLazy:z,chainSkip:P}=M,w=1<<M.windowBits,v=w-1,k=new S(1<<M.hashBits).fill(-1),x=new S(Math.min(w,D)).fill(-1),B=L(M),f=D-M.minMatch,A=M.minMatch-1;for(let b=0;b<M.start&&b<=f;++b){let y=B(Y,b);x[b&v]=k[y],k[y]=b}let h=M.start;while(h<=f){let b=B(Y,h),y=q(Y,h,b,k,x,w,v,Math.min(Q,D-h),J,$,P,A),p=K;if(x[h&v]=k[b],k[b]=h,y===0){H[G++]=0,H[G++]=Y[h],h++;continue}if(Z&&y<z&&h<f){let i=B(Y,h+1),YQ=q(Y,h+1,i,k,x,w,v,Math.min(Q,D-h-1),J,y>=W?$>>2||1:$,P,y);if(YQ)H[G++]=0,H[G++]=Y[h],h++,y=YQ,p=K,x[h&v]=k[i],k[i]=h}H[G++]=y,H[G++]=p;let n=h+y;for(let i=h+1;i<n&&i<=f;++i){let YQ=B(Y,i);x[i&v]=k[YQ],k[YQ]=i}h=n}while(h<D)H[G++]=0,H[G++]=Y[h],h++;return{tokens:H,count:G/2}}function V(Y,R){let M=0;for(let D of R)if("lit"in D)Y[M++]=D.lit;else for(let O=0;O<D.len;++O)Y[M]=Y[M-D.dist],M++;return M}return{encode:U,encodeTokens:F,findMatch:C,decodeStream:V,DEFAULT:j}}}),ZQ({name:"deflate",dependencies:["bitstream","huffman","lz77"],factory:function(T,S,j){let{readBits:N,readBits16:L,writeBits:K,writeBits16:q,byteOffset:C,slice:U,max:F}=T,{buildMap:V,buildTree:Y}=S,R=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",null,null,"invalid data"];function M(I,E){let l=Error(E??R[I]??"unknown error");throw l.code=I,l}let D=Uint8Array,O=Uint16Array,X=Uint32Array,H=Int32Array,G=32768;function Q(I){if(I<8||I===28)return 0;return I-4>>2}function J(I){if(I<4)return 0;return I-2>>1}function $(I,E){let l=new O(I.length);l[0]=E;for(let d=1;d<I.length;++d)l[d]=l[d-1]+(1<<I[d-1]);return l}let Z=new D(29);for(let I=0;I<29;++I)Z[I]=Q(I);let W=$(Z,3);W[28]=258;let z=new D(30);for(let I=0;I<30;++I)z[I]=J(I);let P=$(z,1),w=new D([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),v=new D(288);for(let I=0;I<144;++I)v[I]=8;for(let I=144;I<256;++I)v[I]=9;for(let I=256;I<280;++I)v[I]=7;for(let I=280;I<288;++I)v[I]=8;let k=new D(30);for(let I=0;I<30;++I)k[I]=5;let x=V(v,9,1),B=V(k,5,1),f=V(v,9,0),A=V(k,5,0),h=new D(259);for(let I=0;I<28;++I){let E=W[I],l=1<<Z[I];for(let d=E;d<E+l&&d<258;++d)h[d]=I}h[258]=28;let b=new D(256);for(let I=1,E=0;I<=256;++I){while(E<29&&I>=P[E+1])++E;b[I-1]=E}let y=new D(128);for(let I=0,E=0;I<128;++I){let l=(I<<8)+1;while(E<29&&l>=P[E+1])++E;y[I]=E}function p(I){if(I<=256)return b[I-1];let E=y[I-1>>8];return E<29&&I>=P[E+1]?E+1:E}let n=0,i=1,YQ=2,CQ=3,qQ=0,DQ=1;function TQ(I){let E=I&&I.length?I.subarray(Math.max(0,I.length-G)):null;return{bitPos:0,finalBlock:0,phase:n,storedRemaining:0,litTable:null,litBits:0,distTable:null,distBits:0,out:null,outLen:0,emitted:0,dictionary:E,fixedOut:!1}}function QQ(I,E,l){let d=I.dictionary?I.dictionary.length:0;if(l&&!d)I.out=l,I.fixedOut=!0;else I.out=new D(Math.max(65536,E*3));if(d)I.out.set(I.dictionary),I.outLen=d,I.emitted=d}function e(I,E){if(E<=I.out.length)return;if(I.fixedOut)M(8,"output exceeds provided buffer");let l=I.out.length||65536;while(l<E)l*=2;let d=new D(l);d.set(I.out.subarray(0,I.outLen)),I.out=d}function JQ(I,E){let l=E.length*8,d=I.bitPos,a=N(E,d,31)+257,$Q=N(E,d+5,31)+1,HQ=N(E,d+10,15)+4;if(d+=14,d>l)return I.bitPos=d,!1;if(a>286||$Q>30)M(8,"too many length/distance codes");let IQ=new D(19);for(let NQ=0;NQ<HQ;++NQ)IQ[w[NQ]]=N(E,d+NQ*3,7);if(d+=HQ*3,d>l)return I.bitPos=d,!1;let jQ=F(IQ),AQ=(1<<jQ)-1,LQ=V(IQ,jQ,1),wQ=a+$Q,RQ=new D(wQ);for(let NQ=0;NQ<wQ;){let vQ=LQ[N(E,d,AQ)];if(!vQ||d+(vQ&15)>l){if(d+jQ>l)return I.bitPos=l+1,!1;M(8,"invalid code-length code")}d+=vQ&15;let mQ=vQ>>4;if(mQ<16){RQ[NQ++]=mQ;continue}let uQ,kQ=0;if(mQ===16){if(NQ===0)M(8,"code-length repeat with no previous length");kQ=RQ[NQ-1],uQ=3+N(E,d,3),d+=2}else if(mQ===17)uQ=3+N(E,d,7),d+=3;else uQ=11+N(E,d,127),d+=7;if(d>l)return I.bitPos=d,!1;if(NQ+uQ>wQ)M(8,"code-length repeat overruns the table");while(uQ--)RQ[NQ++]=kQ}let EQ=RQ.subarray(0,a),fQ=RQ.subarray(a);return I.litBits=F(EQ),I.distBits=F(fQ),I.litTable=V(EQ,I.litBits,1),I.distTable=V(fQ,I.distBits,1),I.bitPos=d,!0}function VQ(I,E){let l=E.length*8;I.finalBlock=N(E,I.bitPos,1);let d=N(E,I.bitPos+1,3);if(I.bitPos+=3,I.bitPos>l)return!1;if(d===0){let a=C(I.bitPos);if(a+4>E.length)return I.bitPos=(a+4)*8,!1;let $Q=E[a]|E[a+1]<<8;if((E[a+2]|E[a+3]<<8)!==(~$Q&65535))M(8,"stored block LEN/NLEN mismatch");I.bitPos=(a+4)*8,I.storedRemaining=$Q,I.phase=i}else if(d===1)I.litTable=x,I.litBits=9,I.distTable=B,I.distBits=5,I.phase=YQ;else if(d===2){if(!JQ(I,E))return!1;I.phase=YQ}else M(1);return!0}function g(I,E){let l=I.bitPos>>3,d=Math.min(I.storedRemaining,E.length-l);if(d>0){let a=I.outLen+d;e(I,a),I.out.set(E.subarray(l,l+d),I.outLen),I.outLen=a,I.storedRemaining-=d,I.bitPos+=d*8}if(I.storedRemaining>0)return!1;return I.phase=I.finalBlock?CQ:n,!0}function c(I,E){let l=E.length*8,d=I.litTable,a=I.distTable,$Q=(1<<I.litBits)-1,HQ=(1<<I.distBits)-1;for(;;){let IQ=I.bitPos,jQ=d[L(E,I.bitPos)&$Q];if(!jQ||I.bitPos+(jQ&15)>l){if(I.bitPos+I.litBits>l)return I.bitPos=IQ,!1;M(2)}I.bitPos+=jQ&15;let AQ=jQ>>4;if(AQ<256){e(I,I.outLen+1),I.out[I.outLen++]=AQ;continue}if(AQ===256)return I.phase=I.finalBlock?CQ:n,!0;let LQ=AQ-257;if(LQ>=29)M(2);let wQ=W[LQ],RQ=Z[LQ];if(RQ){if(I.bitPos+RQ>l)return I.bitPos=IQ,!1;wQ+=N(E,I.bitPos,(1<<RQ)-1),I.bitPos+=RQ}let EQ=a[L(E,I.bitPos)&HQ];if(!EQ||I.bitPos+(EQ&15)>l){if(I.bitPos+I.distBits>l)return I.bitPos=IQ,!1;M(3)}I.bitPos+=EQ&15;let fQ=EQ>>4;if(fQ>=30)M(3);let NQ=P[fQ],vQ=z[fQ];if(vQ){if(I.bitPos+vQ>l)return I.bitPos=IQ,!1;NQ+=L(E,I.bitPos)&(1<<vQ)-1,I.bitPos+=vQ}if(NQ>I.outLen)M(3);let mQ=I.outLen+wQ;e(I,mQ);let uQ=I.out;for(let kQ=I.outLen;kQ<mQ;++kQ)uQ[kQ]=uQ[kQ-NQ];I.outLen=mQ}}function _(I,E,l){for(;;){if(I.phase===CQ)return DQ;if(I.phase===n){let d=I.bitPos;if(!VQ(I,E)){if(!l)M(0);return I.bitPos=d,I.phase=n,qQ}}if(I.phase===i){if(!g(I,E)){if(!l)M(0);return qQ}}else if(I.phase===YQ){if(!c(I,E)){if(!l)M(0);return qQ}}}}function m(I){if(I.outLen<=G)return;let E=I.outLen-G;I.out.set(I.out.subarray(E,I.outLen),0),I.outLen=G,I.emitted=Math.max(0,I.emitted-E)}let u=15,o=3,t=258,r=16384,XQ=65536,UQ=[null,{chainDepth:4,niceLength:8},{chainDepth:8,niceLength:16},{chainDepth:16,niceLength:32},{chainDepth:16,niceLength:16,goodLength:4,maxLazy:4},{chainDepth:32,niceLength:32,goodLength:8,maxLazy:16},{chainDepth:128,niceLength:128,goodLength:8,maxLazy:16},{chainDepth:256,niceLength:128,goodLength:8,maxLazy:32},{chainDepth:1024,niceLength:258,goodLength:32,maxLazy:128},{chainDepth:4096,niceLength:258,goodLength:32,maxLazy:258}];function OQ(I,E,l){if(!(I>=E))return E;return I>l?l:I}function zQ(I,E){if(I.mem!=null)return Math.min(22,12+I.mem);return OQ(Math.ceil(Math.log2(E||1)),12,20)}function hQ(I){let E=32-I;return function(d,a){return Math.imul(d[a]|d[a+1]<<8|d[a+2]<<16,2654435761)>>>E}}let _Q=2097152,s=null;function GQ(I){if(I>_Q)return new H(I);if(!s||s.length<I)s=new H(I);return s}function KQ(I,E){return{tokens:I,from:0,to:0,litFreq:new X(286),distFreq:new X(30),extraBits:0,blockStart:E,blockLen:0}}function FQ(I,E,l){let{tokens:d,litFreq:a,distFreq:$Q}=I,HQ=0,IQ=0;for(let jQ=2*E,AQ=2*l;jQ<AQ;jQ+=2){let LQ=d[jQ],wQ=d[jQ+1];if(LQ===0)++a[wQ],IQ+=1;else{let RQ=h[LQ],EQ=p(wQ);++a[257+RQ],++$Q[EQ],HQ+=Z[RQ]+z[EQ],IQ+=LQ}}return I.from=E,I.to=l,I.extraBits=HQ,IQ}function WQ(I,E){I.extraBits=0,I.blockStart=E,I.blockLen=0,I.litFreq.fill(0),I.distFreq.fill(0)}function PQ(I,E){let l=(I.bitPos+E>>3)+8;if(l<=I.buf.length)return;let d=I.buf.length||1024;while(d<l)d*=2;let a=new D(d);a.set(I.buf),I.buf=a}function SQ(I,E,l){let d=0;for(let a=0;a<l;++a)if(I[a])d+=I[a]*E[a];return d}function BQ(I){let E=0;for(let l=0;l<I.length;++l)if(I[l]&&++E===2)return 2;return E}function MQ(I){let E=[],l=I.length,d=0;while(d<l){let a=I[d],$Q=1;while(d+$Q<l&&I[d+$Q]===a)++$Q;if(d+=$Q,a===0){while($Q>=11){let HQ=$Q<138?$Q:138;E.push(18,HQ-11,7),$Q-=HQ}if($Q>=3)E.push(17,$Q-3,3),$Q=0;while($Q-- >0)E.push(0,0,0)}else{E.push(a,0,0);let HQ=$Q-1;while(HQ>=3){let IQ=HQ<6?HQ:6;E.push(16,IQ-3,2),HQ-=IQ}while(HQ-- >0)E.push(a,0,0)}}return E}function xQ(I,E,l,d,a){K(I.buf,I.bitPos,a?1:0),I.bitPos+=3;let $Q=C(I.bitPos);if(I.buf[$Q]=d&255,I.buf[$Q+1]=d>>8&255,I.buf[$Q+2]=~d&255,I.buf[$Q+3]=~d>>8&255,d)I.buf.set(E.subarray(l,l+d),$Q+4);I.bitPos=($Q+4+d)*8}function iQ(I,E,l,d,a,$Q){let HQ=I.buf,IQ=E.tokens,jQ=I.bitPos;for(let AQ=2*E.from,LQ=2*E.to;AQ<LQ;AQ+=2){let wQ=IQ[AQ],RQ=IQ[AQ+1];if(wQ===0){q(HQ,jQ,l[RQ]),jQ+=d[RQ];continue}let EQ=h[wQ];q(HQ,jQ,l[257+EQ]),jQ+=d[257+EQ];let fQ=Z[EQ];if(fQ)K(HQ,jQ,wQ-W[EQ]),jQ+=fQ;let NQ=p(RQ);q(HQ,jQ,a[NQ]),jQ+=$Q[NQ];let vQ=z[NQ];if(vQ)q(HQ,jQ,RQ-P[NQ]),jQ+=vQ}q(HQ,jQ,l[256]),I.bitPos=jQ+d[256]}function oQ(I,E,l,d){++E.litFreq[256];let a=E.blockLen,$Q=8-(I.bitPos+3&7)&7,HQ=a<=65535?8*(5+a)+$Q:1/0,IQ=3+SQ(E.litFreq,v,286)+SQ(E.distFreq,k,30)+E.extraBits,jQ=Y(E.litFreq,15),AQ=Y(E.distFreq,15),LQ=Math.max(257,jQ.t.length),wQ=Math.max(1,AQ.t.length),RQ=new D(LQ+wQ);if(RQ.set(jQ.t,0),AQ.t.length)RQ.set(AQ.t,LQ);let EQ=RQ.subarray(0,LQ),fQ=RQ.subarray(LQ),NQ=MQ(RQ),vQ=new O(19),mQ=0;for(let gQ=0;gQ<NQ.length;gQ+=3)++vQ[NQ[gQ]],mQ+=NQ[gQ+2];let uQ=Y(vQ,7),kQ=new D(19);kQ.set(uQ.t);let bQ=19;while(bQ>4&&!kQ[w[bQ-1]])--bQ;let U0=17+3*bQ+SQ(vQ,kQ,19)+mQ+SQ(E.litFreq,EQ,Math.min(286,LQ))+SQ(E.distFreq,fQ,Math.min(30,wQ))+E.extraBits;if(BQ(E.litFreq)<2||BQ(vQ)<2)U0=1/0;let Q0=Math.min(HQ,IQ,U0);if(PQ(I,Q0+64),Q0===HQ){xQ(I,l,E.blockStart,a,d);return}if(K(I.buf,I.bitPos,d?1:0),Q0===IQ){K(I.buf,I.bitPos+1,1),I.bitPos+=3,iQ(I,E,f,v,A,k);return}K(I.buf,I.bitPos+1,2),I.bitPos+=3;let{buf:nQ,bitPos:yQ}=I;K(nQ,yQ,LQ-257),K(nQ,yQ+5,wQ-1),K(nQ,yQ+10,bQ-4),yQ+=14;for(let gQ=0;gQ<bQ;++gQ)K(nQ,yQ+3*gQ,kQ[w[gQ]]);yQ+=3*bQ;let X0=V(kQ,uQ.l||1,0);for(let gQ=0;gQ<NQ.length;gQ+=3){let Z0=NQ[gQ];q(nQ,yQ,X0[Z0]),yQ+=kQ[Z0];let G0=NQ[gQ+2];if(G0)K(nQ,yQ,NQ[gQ+1]),yQ+=G0}I.bitPos=yQ,iQ(I,E,V(EQ,jQ.l||1,0),EQ,V(fQ,AQ.l||1,0),fQ)}function lQ(I,E,l,d){let a=E.length;if(l>=a){if(d)PQ(I,48),xQ(I,E,l,0,!0);return}let $Q=l;while($Q<a){let HQ=Math.min(65535,a-$Q);PQ(I,8*(HQ+5)+8),xQ(I,E,$Q,HQ,d&&$Q+HQ>=a),$Q+=HQ}}function cQ(I,E){let l={buf:new D(4096),bitPos:E.carryBits&7};l.buf[0]=E.carryByte&255;let d=E.start;if(E.level===0)lQ(l,I,d,E.final);else{let HQ=j.encodeTokens(I,{windowBits:u,minMatch:o,maxMatch:t,hashBits:E.hashBits,start:d,hashFn:hQ(E.hashBits),lazy:E.lazy,chainSkip:!0,...UQ[E.level],tokens:GQ(2*Math.max(0,I.length-d))}),IQ=KQ(HQ.tokens,d),jQ=HQ.count;for(let AQ=0;;AQ+=r){let LQ=Math.min(jQ,AQ+r),wQ=FQ(IQ,AQ,LQ);if(LQ===jQ){IQ.blockLen=I.length-IQ.blockStart,oQ(l,IQ,I,E.final);break}IQ.blockLen=wQ,oQ(l,IQ,I,!1),WQ(IQ,IQ.blockStart+wQ)}}if(E.final)return{bytes:U(l.buf,0,C(l.bitPos)),carryByte:0,carryBits:0};let a=l.bitPos>>3,$Q=l.bitPos&7;return{bytes:U(l.buf,0,a),carryByte:$Q?l.buf[a]:0,carryBits:$Q}}function dQ(I,E){if(typeof I==="function")E=I,I={};this.ondata=E,this._o=I||{},this._level=OQ(this._o.level??6,0,9)|0;let l=this._o.dictionary;this._window=l&&l.length?U(l,Math.max(0,l.length-G),l.length):new D(0),this._pending=[],this._pendingLen=0,this._carryByte=0,this._carryBits=0,this._done=!1}dQ.prototype._compressPending=function(I){let E=this._window,l=new D(E.length+this._pendingLen);l.set(E);let d=E.length;for(let $Q of this._pending)l.set($Q,d),d+=$Q.length;let a=cQ(l,{start:E.length,level:this._level,lazy:this._o.lazy===!0,hashBits:zQ(this._o,l.length),final:I,carryByte:this._carryByte,carryBits:this._carryBits});if(this._carryByte=a.carryByte,this._carryBits=a.carryBits,this._window=l.length>G?U(l,l.length-G,l.length):l,this._pending=[],this._pendingLen=0,a.bytes.length>0||I)this.ondata(a.bytes,I)},dQ.prototype.push=function(I,E){if(E=!!E,!this.ondata)M(5);if(this._done)M(4);if(I&&I.length)this._pending.push(I),this._pendingLen+=I.length;if(E)this._done=!0;if(E||this._pendingLen>=XQ)this._compressPending(E)},dQ.prototype.flush=function(){if(!this.ondata)M(5);if(this._done)M(4);this._compressPending(!1)};function pQ(I,E){if(typeof I==="function")E=I,I={};this.ondata=E,this._state=TQ((I||{}).dictionary),QQ(this._state,0,void 0),this._pending=new D(0),this._done=!1}pQ.prototype._append=function(I){if(!this._pending.length)this._pending=I;else if(I.length){let E=new D(this._pending.length+I.length);E.set(this._pending),E.set(I,this._pending.length),this._pending=E}},pQ.prototype.push=function(I,E){if(!this.ondata)M(5);if(this._done)M(4);E=!!E,this._append(I);let l=this._state,d=_(l,this._pending,!0);if(E&&d!==DQ)M(0);this._done=E;let a=U(l.out,l.emitted,l.outLen);l.emitted=l.outLen,this.ondata(a,E),m(l),this._pending=U(this._pending,l.bitPos>>3),l.bitPos&=7};function rQ(I,E={}){let l=I,d=0,a=E.dictionary;if(a&&a.length){let $Q=a.subarray(Math.max(0,a.length-G));l=new D($Q.length+I.length),l.set($Q),l.set(I,$Q.length),d=$Q.length}return cQ(l,{start:d,level:OQ(E.level??6,0,9)|0,lazy:E.lazy===!0,hashBits:zQ(E,l.length),final:!0,carryByte:0,carryBits:0}).bytes}function aQ(I,E={}){if(!I.length)return E.out?E.out.subarray(0,0):new D(0);let l=TQ(E.dictionary),d=l.dictionary?l.dictionary.length:0;if(QQ(l,I.length,E.out),_(l,I,!1),l.fixedOut)return l.out.subarray(0,l.outLen);if(E.out){let a=l.outLen-d;if(a>E.out.length)M(8,"output exceeds provided buffer");return E.out.set(l.out.subarray(d,l.outLen)),E.out.subarray(0,a)}return U(l.out,d,l.outLen)}let sQ=typeof queueMicrotask==="function"?queueMicrotask:(I)=>Promise.resolve().then(I);function eQ(I,E={}){return new Promise((l,d)=>{sQ(()=>{try{l(rQ(I,E))}catch(a){d(a)}})})}function V0(I,E={}){return new Promise((l,d)=>{sQ(()=>{try{l(aQ(I,E))}catch(a){d(a)}})})}return{deflateSync:rQ,inflateSync:aQ,deflate:eQ,inflate:V0,DeflateStream:dQ,InflateStream:pQ}}}),ZQ({name:"adler32",dependencies:[],factory:function(){function T(){this._a=1,this._b=0}return T.prototype.append=function(S){let j=this._a,N=this._b,L=S.length|0;for(let K=0;K!==L;){let q=Math.min(K+2655,L);for(;K<q;++K)N+=j+=S[K];j=(j&65535)+15*(j>>16),N=(N&65535)+15*(N>>16)}this._a=j,this._b=N},T.prototype.get=function(){return(this._b%65521<<16|this._a%65521)>>>0},T}}),ZQ({name:"b64",dependencies:[],factory:function(){let T=[];for(let U=0;U<64;U++)T["ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".charCodeAt(U)]=U;function S(U){return"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U>>18&63]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U>>12&63]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U>>6&63]+"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[U&63]}function j(U,F,V,Y){return T[U.charCodeAt(0)]<<18|T[F.charCodeAt(0)]<<12|T[V.charCodeAt(0)]<<6|T[Y.charCodeAt(0)]}function N(U,F){U.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[F>>2]),U.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[F<<4&63]),U.push("==")}function L(U,F){U.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[F>>10]),U.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[F>>4&63]),U.push("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[F<<2&63]),U.push("=")}function K(U,F,V,Y){V=V-Y;for(let R=0;R<V;R+=3)F.push(S((U[R]<<16)+(U[R+1]<<8)+U[R+2]));if(V=U.length,Y===1)N(F,U[V-1]);else if(Y===2)L(F,(U[V-2]<<8)+U[V-1]);return F.join("")}function q(U,F){U.push(F>>8&255),U.push(F&255)}function C(U,F,V,Y,R){if(U[Y-2]==="=")R=2;else if(U[Y-1]==="=")R=1;Y=R>0?Y-4:Y;let M;for(M=0;M<Y;M+=4)V=j(U[M],U[M+1],U[M+2],U[M+3]),F.push(V>>16&255),F.push(V>>8&255),F.push(V&255);if(R===2)F.push((T[U.charCodeAt(M)]<<2|T[U.charCodeAt(M+1)]>>4)&255);else if(R===1)q(F,T[U.charCodeAt(M)]<<10|T[U.charCodeAt(M+1)]<<4|T[U.charCodeAt(M+2)]>>2);return new Uint8Array(F)}return{fromBytes:function(U){return K(U,[],U.length,U.length%3)},toBytes:function(U){return C(U,[],0,U.length,0)},test:function(U){return/^(?=(.{4})*$)[A-Za-z0-9+/]*={0,2}$/.test(U)}}}}),ZQ({name:"hex",dependencies:[],factory:function(){let T=new Int8Array(128).fill(-1);for(let S=0;S<16;S++)if(T["0123456789abcdef".charCodeAt(S)]=S,S>=10)T["ABCDEF".charCodeAt(S-10)]=S;return{toBytes:(S)=>{let j=S.length;if(j%2!==0)throw Error(`hex: odd-length input (length ${j})`);let N=new Uint8Array(j>>1);for(let L=0,K=0;L<j;L+=2,K++){let q=S.charCodeAt(L),C=S.charCodeAt(L+1),U=q<128?T[q]:-1,F=C<128?T[C]:-1;if(U<0||F<0)throw Error(`hex: invalid character at index ${U<0?L:L+1}`);N[K]=U<<4|F}return N},fromBytes:(S)=>{let j=Array(S.length);for(let N=0;N<S.length;N++)j[N]="0123456789abcdef"[(S[N]&240)>>4]+"0123456789abcdef"[S[N]&15];return j.join("")},test:(S)=>{if(typeof S!=="string")return!1;if(S.length%2!==0)return!1;return/^[0-9a-fA-F]*$/.test(S)}}}}),ZQ({name:"zlib",dependencies:["deflate","adler32"],factory:function(T,S){let{deflateSync:j,inflateSync:N,DeflateStream:L,InflateStream:K}=T;function q(G,Q,J){G[Q]=J>>>24&255,G[Q+1]=J>>>16&255,G[Q+2]=J>>>8&255,G[Q+3]=J&255}function C(G){return G.dictionary?6:2}function U(G,Q,J){let $=Q.level??6,Z=$===0?0:$<6?1:$===9?3:2;if(G[0]=120,G[1]=Z<<6|(Q.dictionary?32:0),G[1]|=31-(G[0]<<8|G[1])%31,Q.dictionary){let W=new J;W.append(Q.dictionary),q(G,2,W.get())}}function F(G,Q){if((G[0]&15)!==8||G[0]>>4>7||(G[0]<<8|G[1])%31){let $=Error("invalid zlib data");throw $.code=6,$}let J=G[1]>>5&1;if(J===+!Q){let $=Error("invalid zlib data: "+(J?"need":"unexpected")+" dictionary");throw $.code=6,$}return(G[1]>>3&4)+2}function V(G,Q={}){let J=new S;J.append(G);let $=C(Q),Z=j(G,Q),W=new Uint8Array($+Z.length+4);return U(W,Q,S),W.set(Z,$),q(W,$+Z.length,J.get()),W}function Y(G,Q={}){let J=F(G,Q.dictionary);return N(G.subarray(J,-4),{out:Q.out,dictionary:Q.dictionary})}function R(G,Q){let J=new Uint8Array(G.length+Q.length);return J.set(G),J.set(Q,G.length),J}function M(G,Q){if(typeof G==="function")Q=G,G={};this.ondata=Q||null,this._opts=G||{},this._adler=new S,this._first=!0;let J=this;this._ds=new L(this._opts,function($,Z){let W;if(J._first){let z=C(J._opts),P=new Uint8Array(z);U(P,J._opts,S),W=R(P,$),J._first=!1}else W=$;if(Z){let z=new Uint8Array(4);q(z,0,J._adler.get()),W=R(W,z)}if(J.ondata)J.ondata(W,Z)})}M.prototype.push=function(G,Q){this._adler.append(G),this._ds.push(G,!!Q)};function D(G,Q){if(typeof G==="function")Q=G,G={};this.ondata=Q||null,this._opts=G||{},this._buf=[],this._bufLen=0,this._hdr=-1,this._inf=null,this._tail=new Uint8Array(4),this._tailLen=0}D.prototype.push=function(G,Q){if(this._hdr===-1){this._buf.push(G),this._bufLen+=G.length;let J=new Uint8Array(this._bufLen),$=0;for(let z of this._buf)J.set(z,$),$+=z.length;let Z;try{Z=F(J,this._opts.dictionary)}catch(z){if(Q)throw z;return}this._hdr=Z,this._buf=null;let W=this;this._inf=new K(this._opts,function(z,P){if(W.ondata)W.ondata(z,P)}),this._feedPayload(J.subarray(Z),!!Q)}else this._feedPayload(G,!!Q)},D.prototype._feedPayload=function(G,Q){let J=new Uint8Array(this._tailLen+G.length);if(J.set(this._tail.subarray(0,this._tailLen)),J.set(G,this._tailLen),!Q){let $=J.length>4?J.length-4:0;if($>0)this._inf.push(J.subarray(0,$),!1);let Z=J.length-$;this._tailLen=Z,this._tail.set(J.subarray($))}else{let $=Math.max(0,J.length-4);this._inf.push(J.subarray(0,$),!0)}};let O=typeof queueMicrotask==="function"?queueMicrotask:(G)=>Promise.resolve().then(G);function X(G,Q={}){return new Promise((J,$)=>{O(()=>{try{J(V(G,Q))}catch(Z){$(Z)}})})}function H(G,Q={}){return new Promise((J,$)=>{O(()=>{try{J(Y(G,Q))}catch(Z){$(Z)}})})}return{zlibSync:V,unzlibSync:Y,zlib:X,unzlib:H,ZlibStream:M,UnzlibStream:D}}}),ZQ({name:"lzw",dependencies:[],factory:function(){let T=Uint8Array;function S(q){q=q||{};let C=q.minCodeBits??8,U=q.maxBits??12,F=!!q.bigEndian,V=q.useClearEnd??!0;if(C<2||C>12)throw Error("lzw: minCodeBits must be in [2, 12]");if(U<C+1||U>16)throw Error("lzw: maxBits must be in [minCodeBits+1, 16]");return{minCodeBits:C,maxBits:U,bigEndian:F,useClearEnd:V}}function j(q){let C=new T(256),U=0,F=0,V=0;function Y(O){if(U+O>C.length){let X=C.length;while(X<U+O)X*=2;let H=new T(X);H.set(C.subarray(0,U)),C=H}}function R(O,X){if(q){F=F<<X|O,V+=X;while(V>=8)V-=8,Y(1),C[U++]=F>>>V&255}else{F|=O<<V,V+=X;while(V>=8)Y(1),C[U++]=F&255,F>>>=8,V-=8}}function M(){if(V>0){if(Y(1),q)C[U++]=F<<8-V&255;else C[U++]=F&255;F=0,V=0}}function D(){return C.slice(0,U)}return{writeCode:R,flush:M,bytes:D}}function N(q,C){let U=0,F=0,V=0;function Y(R){if(C){while(V<R){if(U>=q.length)return-1;F=F<<8|q[U++],V+=8}return V-=R,F>>>V&(1<<R)-1}while(V<R){if(U>=q.length)return-1;F|=q[U++]<<V,V+=8}let M=F&(1<<R)-1;return F>>>=R,V-=R,M}return{readCode:Y}}function L(q,C){if(!(q instanceof T))throw Error("lzw.encode: data must be Uint8Array");let U=S(C),F=1<<U.minCodeBits,V=U.useClearEnd?F:-1,Y=U.useClearEnd?F+1:-1,R=U.useClearEnd?F+2:F,M=j(U.bigEndian),D=U.minCodeBits+1,O=R,X=(1<<U.maxBits)-1,H=new Map;for(let Q=0;Q<F;++Q)H.set(String.fromCharCode(Q),Q);if(U.useClearEnd)M.writeCode(V,D);if(q.length===0){if(U.useClearEnd)M.writeCode(Y,D);return M.flush(),M.bytes()}let G=String.fromCharCode(q[0]);for(let Q=1;Q<q.length;++Q){let J=String.fromCharCode(q[Q]),$=G+J;if(H.has($))G=$;else{if(M.writeCode(H.get(G),D),O<=X){if(H.set($,O++),O===1<<D&&D<U.maxBits)D++}G=J}}if(M.writeCode(H.get(G),D),U.useClearEnd)M.writeCode(Y,D);return M.flush(),M.bytes()}function K(q,C){if(!(q instanceof T))throw Error("lzw.decode: data must be Uint8Array");let U=S(C),F=1<<U.minCodeBits,V=U.useClearEnd?F:-1,Y=U.useClearEnd?F+1:-1,R=U.useClearEnd?F+2:F,M=N(q,U.bigEndian),D=new T(Math.max(q.length*2,256)),O=0;function X(W){if(O+W.length>D.length){let z=D.length;while(z<O+W.length)z*=2;let P=new T(z);P.set(D.subarray(0,O)),D=P}D.set(W,O),O+=W.length}let H=Array(1<<U.maxBits);function G(){for(let W=0;W<F;++W)H[W]=new T([W]);return R}let Q=G(),J=U.minCodeBits+1,$=null,Z=(1<<U.maxBits)-1;for(;;){let W=M.readCode(J);if(W<0)break;if(W===Y)break;if(W===V){Q=G(),J=U.minCodeBits+1,$=null;continue}let z;if(W<Q){if(z=H[W],!z)throw Error("lzw.decode: invalid code "+W+" (unassigned)")}else if(W===Q&&$)z=new T($.length+1),z.set($,0),z[$.length]=$[0];else throw Error("lzw.decode: code "+W+" out of range (nextCode="+Q+")");if(X(z),$&&Q<=Z){let P=new T($.length+1);if(P.set($,0),P[$.length]=z[0],H[Q++]=P,Q===(1<<J)-1&&J<U.maxBits)J++}$=z}return O===D.length?D:D.slice(0,O)}return{encode:L,decode:K}}}),ZQ({name:"utf8",dependencies:[],factory:function(){let T=typeof TextEncoder<"u",S=typeof TextDecoder<"u",j=T?new TextEncoder:null,N=S?new TextDecoder("utf-8",{fatal:!1}):null;function L(q){let C=q.length,U=new Uint8Array(C*3),F=0;for(let V=0;V<C;V++){let Y=q.charCodeAt(V);if(Y>=55296&&Y<=56319&&V+1<C){let R=q.charCodeAt(V+1);if(R>=56320&&R<=57343)Y=65536+(Y-55296<<10)+(R-56320),V++;else Y=65533}else if(Y>=56320&&Y<=57343)Y=65533;if(Y<128)U[F++]=Y;else if(Y<2048)U[F++]=192|Y>>6,U[F++]=128|Y&63;else if(Y<65536)U[F++]=224|Y>>12,U[F++]=128|Y>>6&63,U[F++]=128|Y&63;else U[F++]=240|Y>>18,U[F++]=128|Y>>12&63,U[F++]=128|Y>>6&63,U[F++]=128|Y&63}return U.subarray(0,F)}function K(q){let C=[],U=q.length,F=0;while(F<U){let V=q[F],Y;if(V<128)Y=V,F+=1;else if(V<192)Y=65533,F+=1;else if(V<224){if(F+1>=U){C.push(String.fromCharCode(65533));break}Y=(V&31)<<6|q[F+1]&63,F+=2}else if(V<240){if(F+2>=U){C.push(String.fromCharCode(65533));break}Y=(V&15)<<12|(q[F+1]&63)<<6|q[F+2]&63,F+=3}else if(V<248){if(F+3>=U){C.push(String.fromCharCode(65533));break}Y=(V&7)<<18|(q[F+1]&63)<<12|(q[F+2]&63)<<6|q[F+3]&63,F+=4}else Y=65533,F+=1;if(Y<65536)C.push(String.fromCharCode(Y));else Y-=65536,C.push(String.fromCharCode(55296|Y>>10,56320|Y&1023))}return C.join("")}return{toBytes:function(q){if(q===""||q==null)return new Uint8Array(0);if(j)return j.encode(String(q));return L(String(q))},fromBytes:function(q){if(!q||q.length===0)return"";if(N){let C=q instanceof Uint8Array?q:new Uint8Array(q);return N.decode(C)}return K(q)}}}}),ZQ({name:"aes",dependencies:[],factory:function(){let T=[[[],[],[],[],[]],[[],[],[],[],[]]];(function(){let F=T[0],V=T[1],Y=F[4],R=V[4],M=[],D=[],O,X,H,G,Q,J,$,Z,W;for(W=0;W<256;W++)D[(M[W]=W<<1^(W>>7)*283)^W]=W;for(O=X=0;!Y[O];O^=H||1,X=D[X]||1){J=X^X<<1^X<<2^X<<3^X<<4,J=J>>8^J&255^99,Y[O]=J,R[J]=O,Q=M[G=M[H=M[O]]],Z=Q*16843009^G*65537^H*257^O*16843008,$=M[J]*257^J*16843008;for(W=0;W<4;W++)F[W][O]=$=$<<24^$>>>8,V[W][J]=Z=Z<<24^Z>>>8}for(W=0;W<5;W++)F[W]=F[W].slice(0),V[W]=V[W].slice(0)})();function S(U,F,V,Y){if(U.length!==4)return console.warn("[crypto] INVALID: aes: invalid block size"),!1;let R=V[F],M=U[0]^R[0],D=U[F?3:1]^R[1],O=U[2]^R[2],X=U[F?1:3]^R[3],H,G,Q,J=R.length/4-2,$=4,Z=[0,0,0,0],W=Y[F],z=W[0],P=W[1],w=W[2],v=W[3],k=W[4];for(let x=0;x<J;x++)H=z[M>>>24]^P[D>>16&255]^w[O>>8&255]^v[X&255]^R[$],G=z[D>>>24]^P[O>>16&255]^w[X>>8&255]^v[M&255]^R[$+1],Q=z[O>>>24]^P[X>>16&255]^w[M>>8&255]^v[D&255]^R[$+2],X=z[X>>>24]^P[M>>16&255]^w[D>>8&255]^v[O&255]^R[$+3],$+=4,M=H,D=G,O=Q;for(let x=0;x<4;x++)Z[F?3&-x:x]=k[M>>>24]<<24^k[D>>16&255]<<16^k[O>>8&255]<<8^k[X&255]^R[$++],H=M,M=D,D=O,O=X,X=H;return Z}function j(U,F){let V=0,Y=U&255;for(let R=0;R<256;R++){let M=-(((R^Y)>>>0)-1>>>8&1)&255;V|=F[R]&M}return V&255}function N(U){return(U<<1^(U>>7)*27)&255}function L(U,F,V,Y){let R=U^F^V^Y,M=U^R^N(U^F),D=F^R^N(F^V),O=V^R^N(V^Y),X=Y^R^N(Y^U);return[M,D,O,X]}function K(U,F,V,Y){let R=N,M=(Q)=>R(R(Q)),D=(Q)=>R(M(Q)),O=(Q)=>D(Q)^Q,X=(Q)=>D(Q)^R(Q)^Q,H=(Q)=>D(Q)^M(Q)^Q,G=(Q)=>D(Q)^M(Q)^R(Q);return[(G(U)^X(F)^H(V)^O(Y))&255,(O(U)^G(F)^X(V)^H(Y))&255,(H(U)^O(F)^G(V)^X(Y))&255,(X(U)^H(F)^O(V)^G(Y))&255]}function q(U,F,V){if(U.length!==4)return console.warn("[crypto] INVALID: aes: invalid block size"),!1;let Y=T[0][4],R=T[1][4],M=F?R:Y,D=!F,O=new Uint8Array(16);for(let J=0;J<4;J++){let $=U[J];O[J*4]=$>>>24&255,O[J*4+1]=$>>>16&255,O[J*4+2]=$>>>8&255,O[J*4+3]=$&255}let X=V[0],H=X.length/4-1,G=new Uint8Array(X.length*4);for(let J=0;J<X.length;J++)G[J*4]=X[J]>>>24&255,G[J*4+1]=X[J]>>>16&255,G[J*4+2]=X[J]>>>8&255,G[J*4+3]=X[J]&255;if(D){for(let J=0;J<16;J++)O[J]^=G[J];for(let J=1;J<H;J++){for(let Z=0;Z<16;Z++)O[Z]=j(O[Z],M);let $=new Uint8Array(O);for(let Z=0;Z<4;Z++)for(let W=0;W<4;W++)O[W*4+Z]=$[(W+Z&3)*4+Z];for(let Z=0;Z<4;Z++){let W=Z*4,z=L(O[W],O[W+1],O[W+2],O[W+3]);O[W]=z[0],O[W+1]=z[1],O[W+2]=z[2],O[W+3]=z[3]}for(let Z=0;Z<16;Z++)O[Z]^=G[J*16+Z]}for(let J=0;J<16;J++)O[J]=j(O[J],M);{let J=new Uint8Array(O);for(let $=0;$<4;$++)for(let Z=0;Z<4;Z++)O[Z*4+$]=J[(Z+$&3)*4+$]}for(let J=0;J<16;J++)O[J]^=G[H*16+J]}else{for(let J=0;J<16;J++)O[J]^=G[H*16+J];for(let J=H-1;J>=1;J--){let $=new Uint8Array(O);for(let Z=0;Z<4;Z++)for(let W=0;W<4;W++)O[W*4+Z]=$[(W-Z+4&3)*4+Z];for(let Z=0;Z<16;Z++)O[Z]=j(O[Z],M);for(let Z=0;Z<16;Z++)O[Z]^=G[J*16+Z];for(let Z=0;Z<4;Z++){let W=Z*4,z=K(O[W],O[W+1],O[W+2],O[W+3]);O[W]=z[0],O[W+1]=z[1],O[W+2]=z[2],O[W+3]=z[3]}}{let J=new Uint8Array(O);for(let $=0;$<4;$++)for(let Z=0;Z<4;Z++)O[Z*4+$]=J[(Z-$+4&3)*4+$]}for(let J=0;J<16;J++)O[J]=j(O[J],M);for(let J=0;J<16;J++)O[J]^=G[J]}let Q=[0,0,0,0];for(let J=0;J<4;J++)Q[J]=O[J*4]<<24|O[J*4+1]<<16|O[J*4+2]<<8|O[J*4+3];return Q}let C={};return C.fn=function(U,F=!0){let V=U.length;if(V!==4&&V!==6&&V!==8)return console.warn("[crypto] INVALID: aes: invalid key size"),!1;let Y=T[0][4],R=U.slice(0),M=1,D,O;for(D=V;D<4*V+28;D++){if(O=R[D-1],D%V===0||V===8&&D%V===4){if(O=Y[O>>>24]<<24^Y[O>>16&255]<<16^Y[O>>8&255]<<8^Y[O&255],D%V===0)O=O<<8^O>>>24^M<<24,M=M<<1^(M>>7)*283}R[D]=R[D-V]^O}let X=[R],H={encrypt(G){return q(G,0,X)}};if(F)H.decrypt=(G)=>q(G,1,X);return H},C.ttable={fn(U,F=!0){let V=T.slice(),Y=V[0][4],R=V[1],M=U.length,D=1,O,X,H;if(M!==4&&M!==6&&M!==8)return console.warn("[crypto] INVALID: aes: invalid key size"),!1;let G=U.slice(0),Q=[],J=[G,Q];for(O=M;O<4*M+28;O++){if(H=G[O-1],O%M===0||M===8&&O%M===4){if(H=Y[H>>>24]<<24^Y[H>>16&255]<<16^Y[H>>8&255]<<8^Y[H&255],O%M===0)H=H<<8^H>>>24^D<<24,D=D<<1^(D>>7)*283}G[O]=G[O-M]^H}if(F)for(X=0;O;X++,O--)if(H=G[X&3?O:O-4],O<=4||X<4)Q[X]=H;else Q[X]=R[0][Y[H>>>24]]^R[1][Y[H>>16&255]]^R[2][Y[H>>8&255]]^R[3][Y[H&255]];let $={encrypt(Z){return S(Z,0,J,V)}};if(F)$.decrypt=function(Z){return S(Z,1,J,V)};return $}},C.bitsliced={fn:C.fn},C}}),ZQ({name:"cbc",dependencies:["bitArray"],factory:function(T){function S(K,q){if(K.length%4!==0||T.bitLength(K)!==K.length*32)return console.warn(`[crypto] INVALID: cbc: ${q} must be a whole number of 16-byte blocks`),!1;return!0}function j(K){if(T.bitLength(K)!==128)return console.warn("[crypto] INVALID: cbc: iv must be 128 bits"),!1;return!0}function N(K,q,C){if(!j(C))return!1;if(!S(q,"plaintext"))return!1;let U=q.length,F=Array(U),V=C[0],Y=C[1],R=C[2],M=C[3];for(let D=0;D<U;D+=4){let O=[q[D]^V,q[D+1]^Y,q[D+2]^R,q[D+3]^M],X=K.encrypt(O);F[D]=X[0],F[D+1]=X[1],F[D+2]=X[2],F[D+3]=X[3],V=X[0],Y=X[1],R=X[2],M=X[3]}return F}function L(K,q,C){if(!j(C))return!1;if(!S(q,"ciphertext"))return!1;if(typeof K.decrypt!=="function")return console.warn("[crypto] INVALID: cbc: prf does not expose decrypt (build the cipher with full=true)"),!1;let U=q.length,F=Array(U),V=C[0],Y=C[1],R=C[2],M=C[3];for(let D=0;D<U;D+=4){let O=q[D],X=q[D+1],H=q[D+2],G=q[D+3],Q=K.decrypt([O,X,H,G]);F[D]=Q[0]^V,F[D+1]=Q[1]^Y,F[D+2]=Q[2]^R,F[D+3]=Q[3]^M,V=O,Y=X,R=H,M=G}return F}return{encrypt:N,decrypt:L}}}),ZQ({name:"gcm",dependencies:["bitArray"],factory:function(T){function S(O,X){let H=[0,0,0,0],G=[X[0],X[1],X[2],X[3]];for(let Q=0;Q<128;Q++){let J=Q>>>5,$=31-(Q&31);if(O[J]>>>$&1)H[0]^=G[0],H[1]^=G[1],H[2]^=G[2],H[3]^=G[3];let Z=G[3]&1;if(G[3]=G[3]>>>1|(G[2]&1)<<31,G[2]=G[2]>>>1|(G[1]&1)<<31,G[1]=G[1]>>>1|(G[0]&1)<<31,G[0]=G[0]>>>1,Z)G[0]^=-520093696}return H}function j(O,X){let H=0,G=0,Q=0,J=0;for(let $=0;$<X.length;$+=4){H^=X[$],G^=X[$+1],Q^=X[$+2],J^=X[$+3];let Z=S([H,G,Q,J],O);H=Z[0],G=Z[1],Q=Z[2],J=Z[3]}return[H,G,Q,J]}function N(O){let X=T.ba_to_ui8(O),H=(16-X.length%16)%16;if(H===0)return T.ui8_to_ba(X);let G=new Uint8Array(X.length+H);return G.set(X,0),T.ui8_to_ba(G)}function L(O){let X=O|0;return[Math.floor(O/4294967296)|0,X]}function K(O,X,H){let G=T.bitLength(H);if(G===0)return[];let Q=T.ba_to_ui8(H),J=(16-Q.length%16)%16,$;if(J===0)$=T.ui8_to_ba(Q);else{let W=new Uint8Array(Q.length+J);W.set(Q,0),$=T.ui8_to_ba(W)}let Z=[X[0],X[1],X[2],X[3]];for(let W=0;W<$.length;W+=4){let z=O.encrypt(Z);$[W]=$[W]^z[0]|0,$[W+1]=$[W+1]^z[1]|0,$[W+2]=$[W+2]^z[2]|0,$[W+3]=$[W+3]^z[3]|0,Z[3]=Z[3]+1|0}return T.clamp($,G)}function q(O,X){let H=T.bitLength(X);if(H===96){let J=T.ba_to_ui8(X),$=new Uint8Array(16);return $.set(J,0),$[15]=1,T.ui8_to_ba($)}let G=N(X),Q=[0,0].concat(L(H));return j(O,G.concat(Q))}function C(O){return[O[0],O[1],O[2],O[3]+1|0]}function U(O,X,H,G,Q,J){let $=T.bitLength(G),Z=T.bitLength(Q),W=N(G).concat(N(Q)).concat(L($)).concat(L(Z)),z=j(X,W);return T.clamp(K(O,H,z),J)}function F(O,X){if(T.bitLength(O)===0)return console.warn("[crypto] INVALID: gcm: iv must not be empty"),!1;if(X<32||X>128)return console.warn("[crypto] INVALID: gcm: tag length must be 32..128 bits"),!1;return!0}function V(O,X,H,G,Q){if(G=G||[],Q=Q===void 0?128:Q,!F(H,Q))return!1;let J=O.encrypt([0,0,0,0]),$=q(J,H),Z=K(O,C($),X),W=U(O,J,$,G,Z,Q);return{ct:Z,tag:W}}function Y(O,X,H,G,Q,J){if(G=G||[],J=J===void 0?T.bitLength(Q):J,!F(H,J))return!1;let $=O.encrypt([0,0,0,0]),Z=q($,H),W=U(O,$,Z,G,X,J);if(!T.equal(T.clamp(Q,J),W))return console.error("[crypto] CORRUPT: gcm: authentication tag mismatch"),!1;return K(O,C(Z),X)}function R(O,X,H,G){let Q=V(O,[],H,X,G);return Q===!1?!1:Q.tag}function M(O,X,H,G,Q){Q=Q===void 0?T.bitLength(G):Q;let J=R(O,X,H,Q);if(J===!1)return!1;return T.equal(T.clamp(G,Q),J)}function D(O){let X=new Set,H=(G)=>{let Q=T.ba_to_ui8(G),J="";for(let $=0;$<Q.length;$++)J+=(Q[$]<16?"0":"")+Q[$].toString(16);return J};return{seenNonces:X,encrypt(G,Q,J,$){let Z=H(Q);if(X.has(Z))return console.error("[crypto] CORRUPT: gcm: nonce reuse rejected by tracker"),!1;return X.add(Z),V(O,G,Q,J,$)},decrypt(G,Q,J,$,Z){return Y(O,G,Q,J,$,Z)}}}return{encrypt:V,decrypt:Y,gmac:R,gmacVerify:M,nonceTracker:D,_internal:{ghash:j,gctr:K}}}}),ZQ({name:"sha256",dependencies:["bitArray","utf8"],factory:function(T,S){let j=[1779033703,3144134277,1013904242,2773480762,1359893119,2600822924,528734635,1541459225],N=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298];function L(q,C){let U={};return U.fn=function(F){if(F)this._h=F._h.slice(0),this._buffer=F._buffer.slice(0),this._length=F._length;else this.reset()},U.hash=function(F){return new U.fn().update(F).finalize()},U.fn.prototype={blockSize:512,_init:q,_key:N,reset(){return this._h=this._init.slice(0),this._buffer=[],this._length=0,this},update(F){if(typeof F==="string")F=T.ui8_to_ba(S.toBytes(F));let V=this._buffer=T.concat(this._buffer,F),Y=this._length,R=this._length=Y+T.bitLength(F);if(R>9007199254740991)return console.warn("[crypto] INVALID: sha256: cannot hash more than 2^53 - 1 bits"),!1;let M=new Uint32Array(V),D=0;for(let O=512+Y-(512+Y&511);O<=R;O+=512)this._block(M.subarray(16*D,16*(D+1))),D+=1;return V.splice(0,16*D),this},finalize(){let F=this._buffer,V=this._h;F=T.concat(F,[T.partial(1,1)]);for(let Y=F.length+2;Y&15;Y++)F.push(0);F.push(Math.floor(this._length/4294967296)),F.push(this._length|0);while(F.length)this._block(F.splice(0,16));return this.reset(),C<8?V.slice(0,C):V},_block(F){let V=this._h,Y=this._key,R=V[0],M=V[1],D=V[2],O=V[3],X=V[4],H=V[5],G=V[6],Q=V[7],J,$,Z;for(let W=0;W<64;W++){if(W<16)J=F[W];else $=F[W+1&15],Z=F[W+14&15],J=F[W&15]=($>>>7^$>>>18^$>>>3^$<<25^$<<14)+(Z>>>17^Z>>>19^Z>>>10^Z<<15^Z<<13)+F[W&15]+F[W+9&15]|0;J=J+Q+(X>>>6^X>>>11^X>>>25^X<<26^X<<21^X<<7)+(G^X&(H^G))+Y[W],Q=G,G=H,H=X,X=O+J|0,O=D,D=M,M=R,R=J+(M&D^O&(M^D))+(M>>>2^M>>>13^M>>>22^M<<30^M<<19^M<<10)|0}V[0]=V[0]+R|0,V[1]=V[1]+M|0,V[2]=V[2]+D|0,V[3]=V[3]+O|0,V[4]=V[4]+X|0,V[5]=V[5]+H|0,V[6]=V[6]+G|0,V[7]=V[7]+Q|0}},U}let K=L(j,8);return{fn:K.fn,hash:K.hash,_internal:{makeSha:L}}}}),ZQ({name:"sha384",dependencies:["sha512"],factory:function(T){let S=[3418070365,3238371032,1654270250,914150663,2438529370,812702999,355462360,4144912697,1731405415,4290775857,2394180231,1750603025,3675008525,1694076839,1203062813,3204075428];return T._internal.makeSha(S,12)}}),ZQ({name:"sha512",dependencies:["bitArray","utf8"],factory:function(T,S){let j=[1779033703,4089235720,3144134277,2227873595,1013904242,4271175723,2773480762,1595750129,1359893119,2917565137,2600822924,725511199,528734635,4215389547,1541459225,327033209],N=[1116352408,3609767458,1899447441,602891725,3049323471,3964484399,3921009573,2173295548,961987163,4081628472,1508970993,3053834265,2453635748,2937671579,2870763221,3664609560,3624381080,2734883394,310598401,1164996542,607225278,1323610764,1426881987,3590304994,1925078388,4068182383,2162078206,991336113,2614888103,633803317,3248222580,3479774868,3835390401,2666613458,4022224774,944711139,264347078,2341262773,604807628,2007800933,770255983,1495990901,1249150122,1856431235,1555081692,3175218132,1996064986,2198950837,2554220882,3999719339,2821834349,766784016,2952996808,2566594879,3210313671,3203337956,3336571891,1034457026,3584528711,2466948901,113926993,3758326383,338241895,168717936,666307205,1188179964,773529912,1546045734,1294757372,1522805485,1396182291,2643833823,1695183700,2343527390,1986661051,1014477480,2177026350,1206759142,2456956037,344077627,2730485921,1290863460,2820302411,3158454273,3259730800,3505952657,3345764771,106217008,3516065817,3606008344,3600352804,1432725776,4094571909,1467031594,275423344,851169720,430227734,3100823752,506948616,1363258195,659060556,3750685593,883997877,3785050280,958139571,3318307427,1322822218,3812723403,1537002063,2003034995,1747873779,3602036899,1955562222,1575990012,2024104815,1125592928,2227730452,2716904306,2361852424,442776044,2428436474,593698344,2756734187,3733110249,3204031479,2999351573,3329325298,3815920427,3391569614,3928383900,3515267271,566280711,3940187606,3454069534,4118630271,4000239992,116418474,1914138554,174292421,2731055270,289380356,3203993006,460393269,320620315,685471733,587496836,852142971,1086792851,1017036298,365543100,1126000580,2618297676,1288033470,3409855158,1501505948,4234509866,1607167915,987167468,1816402316,1246189591];function L(q,C){let U={};return U.fn=function(F){if(F)this._h=F._h.slice(0),this._buffer=F._buffer.slice(0),this._length=F._length;else this.reset()},U.hash=function(F){return new U.fn().update(F).finalize()},U.fn.prototype={blockSize:1024,_init:q,_outWords:C,_key:N,reset(){return this._h=this._init.slice(0),this._buffer=[],this._length=0,this},update(F){if(typeof F==="string")F=T.ui8_to_ba(S.toBytes(F));let V=this._buffer=T.concat(this._buffer,F),Y=this._length,R=this._length=Y+T.bitLength(F);if(R>9007199254740991)return console.warn("[crypto] INVALID: sha512: cannot hash more than 2^53 - 1 bits"),!1;let M=new Uint32Array(V),D=0;for(let O=1024+Y-(1024+Y&1023);O<=R;O+=1024)this._block(M.subarray(32*D,32*(D+1))),D+=1;return V.splice(0,32*D),this},finalize(){let F=this._buffer,V=this._h;F=T.concat(F,[T.partial(1,1)]);for(let Y=F.length+4;Y&31;Y++)F.push(0);F.push(0),F.push(0),F.push(Math.floor(this._length/4294967296)),F.push(this._length|0);while(F.length)this._block(F.splice(0,32));return this.reset(),C<16?V.slice(0,C):V},_block(F){let V=this._h,Y=this._key,R=V[0],M=V[1],D=V[2],O=V[3],X=V[4],H=V[5],G=V[6],Q=V[7],J=V[8],$=V[9],Z=V[10],W=V[11],z=V[12],P=V[13],w=V[14],v=V[15],k=Array(160);for(let r=0;r<32;r++)k[r]=F[r];let x=R,B=M,f=D,A=O,h=X,b=H,y=G,p=Q,n=J,i=$,YQ=Z,CQ=W,qQ=z,DQ=P,TQ=w,QQ=v,e,JQ;for(let r=0;r<80;r++){if(r<16)e=k[r*2],JQ=k[r*2+1];else{let MQ=k[(r-15)*2],xQ=k[(r-15)*2+1],iQ=(xQ<<31|MQ>>>1)^(xQ<<24|MQ>>>8)^MQ>>>7,oQ=(MQ<<31|xQ>>>1)^(MQ<<24|xQ>>>8)^(MQ<<25|xQ>>>7),lQ=k[(r-2)*2],cQ=k[(r-2)*2+1],dQ=(cQ<<13|lQ>>>19)^(lQ<<3|cQ>>>29)^lQ>>>6,pQ=(lQ<<13|cQ>>>19)^(cQ<<3|lQ>>>29)^(lQ<<26|cQ>>>6),rQ=k[(r-7)*2],aQ=k[(r-7)*2+1],sQ=k[(r-16)*2],eQ=k[(r-16)*2+1];JQ=oQ+aQ,e=iQ+rQ+(JQ>>>0<oQ>>>0?1:0),JQ+=pQ,e+=dQ+(JQ>>>0<pQ>>>0?1:0),JQ+=eQ,e+=sQ+(JQ>>>0<eQ>>>0?1:0)}k[r*2]=e|=0,k[r*2+1]=JQ|=0;let XQ=n&YQ^~n&qQ,UQ=i&CQ^~i&DQ,OQ=x&f^x&h^f&h,zQ=B&A^B&b^A&b,hQ=(B<<4|x>>>28)^(x<<30|B>>>2)^(x<<25|B>>>7),_Q=(x<<4|B>>>28)^(B<<30|x>>>2)^(B<<25|x>>>7),s=(i<<18|n>>>14)^(i<<14|n>>>18)^(n<<23|i>>>9),GQ=(n<<18|i>>>14)^(n<<14|i>>>18)^(i<<23|n>>>9),KQ=Y[r*2],FQ=Y[r*2+1],WQ=QQ+GQ,PQ=TQ+s+(WQ>>>0<QQ>>>0?1:0);WQ+=UQ,PQ+=XQ+(WQ>>>0<UQ>>>0?1:0),WQ+=FQ,PQ+=KQ+(WQ>>>0<FQ>>>0?1:0),WQ=WQ+JQ|0,PQ+=e+(WQ>>>0<JQ>>>0?1:0);let SQ=_Q+zQ,BQ=hQ+OQ+(SQ>>>0<_Q>>>0?1:0);TQ=qQ,QQ=DQ,qQ=YQ,DQ=CQ,YQ=n,CQ=i,i=p+WQ|0,n=y+PQ+(i>>>0<p>>>0?1:0)|0,y=h,p=b,h=f,b=A,f=x,A=B,B=WQ+SQ|0,x=PQ+BQ+(B>>>0<WQ>>>0?1:0)|0}let VQ=V[1]=M+B|0;V[0]=R+x+(VQ>>>0<B>>>0?1:0)|0;let g=V[3]=O+A|0;V[2]=D+f+(g>>>0<A>>>0?1:0)|0;let c=V[5]=H+b|0;V[4]=X+h+(c>>>0<b>>>0?1:0)|0;let _=V[7]=Q+p|0;V[6]=G+y+(_>>>0<p>>>0?1:0)|0;let m=V[9]=$+i|0;V[8]=J+n+(m>>>0<i>>>0?1:0)|0;let u=V[11]=W+CQ|0;V[10]=Z+YQ+(u>>>0<CQ>>>0?1:0)|0;let o=V[13]=P+DQ|0;V[12]=z+qQ+(o>>>0<DQ>>>0?1:0)|0;let t=V[15]=v+QQ|0;V[14]=w+TQ+(t>>>0<QQ>>>0?1:0)|0}},U}let K=L(j,16);return{fn:K.fn,hash:K.hash,_internal:{makeSha:L}}}}),ZQ({name:"bitArray",dependencies:[],factory:function(){let T={ba_to_ui8:function(S){let j=[],N=T.bitLength(S),L,K;for(L=0;L<N/8;L++){if((L&3)===0)K=S[L/4];j.push(K>>>8>>>8>>>8),K<<=8}return new Uint8Array(j)},ui8_to_ba:function(S){let j=[],N,L=0;for(N=0;N<S.length;N++)if(L=L<<8|S[N],(N&3)===3)j.push(L),L=0;if(N&3)j.push(T.partial(8*(N&3),L));return j},bitSlice:function(S,j,N){return S=T._shiftRight(S.slice(j/32),32-(j&31)).slice(1),N===void 0?S:T.clamp(S,N-j)},extract:function(S,j,N){let L,K=(-j-N&31)>>0;if((j+N-1^j)&-32)L=S[j/32|0]<<32-K^S[j/32+1|0]>>>K;else L=S[j/32|0]>>>K;return L&(1<<N)-1},concat:function(S,j){if(S.length===0||j.length===0)return S.concat(j);let N=S[S.length-1],L=T.getPartial(N);if(L===32)return S.concat(j);else return T._shiftRight(j,L,N|0,S.slice(0,S.length-1))},bitLength:function(S){let j=S.length,N;if(j===0)return 0;return N=S[j-1],(j-1)*32+T.getPartial(N)},clamp:function(S,j){if(S.length*32<j)return S;S=S.slice(0,Math.ceil(j/32));let N=S.length;if(j=j&31,N>0&&j)S[N-1]=T.partial(j,S[N-1]&2147483648>>j-1,1);return S},partial:function(S,j,N){if(S===32)return j;return(N?j|0:j<<32-S)+S*1099511627776},getPartial:function(S){return Math.round(S/1099511627776)||32},equal:function(S,j){if(T.bitLength(S)!==T.bitLength(j))return!1;let N=0,L;for(L=0;L<S.length;L++)N|=S[L]^j[L];return N===0},_shiftRight:function(S,j,N,L){let K,q,C;if(L===void 0)L=[];for(;j>=32;j-=32)L.push(N),N=0;if(j===0)return L.concat(S);for(K=0;K<S.length;K++)L.push(N|S[K]>>>j),N=S[K]<<32-j;return q=S.length?S[S.length-1]:0,C=T.getPartial(q),L.push(T.partial(j+C&31,j+C>32?N:L.pop(),1)),L},_xor4:function(S,j){return[S[0]^j[0],S[1]^j[1],S[2]^j[2],S[3]^j[3]]},byteswapM:function(S){if(S.length>0&&T.getPartial(S[S.length-1])!==32)return console.warn("[crypto] INVALID: bitArray.byteswapM: partial words not supported"),!1;let j,N,L=65280;for(j=0;j<S.length;++j)N=S[j],S[j]=N>>>24|N>>>8&L|(N&L)<<8|N<<24;return S}};return T}}),ZQ({name:"asn1",dependencies:[],factory:function(){let T={INTEGER:2,BIT_STRING:3,OCTET_STRING:4,NULL:5,OID:6,SEQUENCE:48,SET:49};function S(Q){if(Q<128)return Uint8Array.of(Q);if(Q<=255)return Uint8Array.of(129,Q);if(Q<=65535)return Uint8Array.of(130,Q>>>8&255,Q&255);if(Q<=16777215)return Uint8Array.of(131,Q>>>16&255,Q>>>8&255,Q&255);if(Q<=4294967295)return Uint8Array.of(132,Q>>>24&255,Q>>>16&255,Q>>>8&255,Q&255);return console.warn("[crypto] INVALID: asn1: length exceeds 2^32-1"),!1}function j(Q,J){let $=Q[J];if($<128)return{len:$,next:J+1};let Z=$&127;if(Z===0||Z>4)return console.warn("[crypto] INVALID: asn1: unsupported length form"),!1;let W=0;for(let z=0;z<Z;z++)W=W<<8|Q[J+1+z];if(W<128||Z>1&&W>>>(Z-1)*8===0)return console.warn("[crypto] INVALID: asn1: non-minimal length encoding"),!1;return{len:W>>>0,next:J+1+Z}}function N(Q,J){let $=S(J.length);if($===!1)return!1;let Z=new Uint8Array(1+$.length+J.length);return Z[0]=Q,Z.set($,1),Z.set(J,1+$.length),Z}function L(Q){let J=0;for(let W of Q)J+=W.length;let $=new Uint8Array(J),Z=0;for(let W of Q)$.set(W,Z),Z+=W.length;return $}function K(Q){let J;if(typeof Q==="number"){if(!Number.isInteger(Q)||Q<0)return console.warn("[crypto] INVALID: asn1: encodeInteger expects a non-negative integer"),!1;if(Q===0)J=Uint8Array.of(0);else{let $=[],Z=Q;while(Z>0)$.unshift(Z&255),Z=Math.floor(Z/256);J=new Uint8Array($)}}else{J=Q instanceof Uint8Array?Q:new Uint8Array(Q);let $=0;while($<J.length-1&&J[$]===0&&(J[$+1]&128)===0)$++;J=J.subarray($)}if(J[0]&128){let $=new Uint8Array(J.length+1);$.set(J,1),J=$}return N(T.INTEGER,J)}function q(Q){let J=Q instanceof Uint8Array?Q:new Uint8Array(Q);return N(T.OCTET_STRING,J)}function C(Q,J){let $=Q instanceof Uint8Array?Q:new Uint8Array(Q);if(J=J|0,J<0||J>7)return console.warn("[crypto] INVALID: asn1: BIT STRING unusedBits must be 0..7"),!1;let Z=new Uint8Array($.length+1);return Z[0]=J,Z.set($,1),N(T.BIT_STRING,Z)}function U(){return Uint8Array.of(T.NULL,0)}function F(Q){let J=Q.split(".").map(Number);if(J.length<2||J.some((Z)=>!Number.isInteger(Z)||Z<0))return console.warn("[crypto] INVALID: asn1: malformed OID"),!1;let $=[40*J[0]+J[1]];for(let Z=2;Z<J.length;Z++){let W=J[Z],z=[W&127];W>>>=7;while(W>0)z.unshift(W&127|128),W>>>=7;for(let P of z)$.push(P)}return N(T.OID,new Uint8Array($))}function V(Q){return N(T.SEQUENCE,L(Q))}function Y(Q){return N(T.SET,L(Q))}function R(Q,J){return N(160|Q&31,J)}function M(Q,J,$){let Z=new Uint8Array(J.length);return Z.set(J),Z[0]=($?160:128)|Q&31,Z}function D(Q,J){if(J=J|0,J>=Q.length)return console.warn("[crypto] INVALID: asn1: unexpected end of input"),!1;let $=Q[J];if(($&31)===31)return console.warn("[crypto] INVALID: asn1: high-tag-number form not supported"),!1;let Z=j(Q,J+1);if(!Z)return!1;let W=Z.next,z=W+Z.len;if(z>Q.length)return console.warn("[crypto] INVALID: asn1: declared length exceeds buffer"),!1;return{tag:$,length:Z.len,value:Q.subarray(W,z),valueOff:W,next:z}}function O(Q){let J=[],$=0;while($<Q.length){let Z=D(Q,$);if(!Z)return!1;J.push(Z),$=Z.next}return J}function X(Q){if(Q.tag!==T.INTEGER)return!1;return Q.value}function H(Q){if(Q.tag!==T.OID)return!1;let J=Q.value;if(J.length===0)return!1;let $=[Math.floor(J[0]/40),J[0]%40],Z=0;for(let W=1;W<J.length;W++)if(Z=Z<<7|J[W]&127,(J[W]&128)===0)$.push(Z),Z=0;return $.join(".")}function G(Q){if(Q.tag!==T.BIT_STRING||Q.value.length<1)return!1;return{unusedBits:Q.value[0],bytes:Q.value.subarray(1)}}return{TAG:T,encodeInteger:K,encodeOctetString:q,encodeBitString:C,encodeNull:U,encodeOid:F,encodeSequence:V,encodeSet:Y,encodeExplicit:R,encodeImplicit:M,parseOne:D,parseChildren:O,readInteger:X,readOid:H,readBitString:G}}}),ZQ({name:"asn1Oid",dependencies:[],factory:function(){let T={"1.2.840.113549.1.1.1":{name:"rsaEncryption",shortName:"rsa",category:"pkcs1"},"1.2.840.113549.1.1.2":{name:"md2WithRSAEncryption",shortName:"md2WithRSA",category:"pkcs1",hashAlg:"md2",sigAlg:"rsa"},"1.2.840.113549.1.1.4":{name:"md5WithRSAEncryption",shortName:"md5WithRSA",category:"pkcs1",hashAlg:"md5",sigAlg:"rsa"},"1.2.840.113549.1.1.5":{name:"sha1WithRSAEncryption",shortName:"sha1WithRSA",category:"pkcs1",hashAlg:"sha-1",sigAlg:"rsa"},"1.2.840.113549.1.1.11":{name:"sha256WithRSAEncryption",shortName:"sha256WithRSA",category:"pkcs1",hashAlg:"sha-256",sigAlg:"rsa"},"1.2.840.113549.1.1.12":{name:"sha384WithRSAEncryption",shortName:"sha384WithRSA",category:"pkcs1",hashAlg:"sha-384",sigAlg:"rsa"},"1.2.840.113549.1.1.13":{name:"sha512WithRSAEncryption",shortName:"sha512WithRSA",category:"pkcs1",hashAlg:"sha-512",sigAlg:"rsa"},"1.2.840.113549.1.1.14":{name:"sha224WithRSAEncryption",shortName:"sha224WithRSA",category:"pkcs1",hashAlg:"sha-224",sigAlg:"rsa"},"1.2.840.113549.1.1.10":{name:"rsaPSS",shortName:"rsaPSS",category:"pkcs1",sigAlg:"rsa-pss"},"1.2.840.113549.1.1.7":{name:"rsaOAEP",shortName:"rsaOAEP",category:"pkcs1",encAlg:"rsa-oaep"},"1.2.840.113549.1.7.1":{name:"pkcs7-data",shortName:"data",category:"pkcs7"},"1.2.840.113549.1.7.2":{name:"pkcs7-signedData",shortName:"signedData",category:"pkcs7"},"1.2.840.113549.1.7.3":{name:"pkcs7-envelopedData",shortName:"envelopedData",category:"pkcs7"},"1.2.840.113549.1.7.4":{name:"pkcs7-signedAndEnvelopedData",shortName:"signedAndEnveloped",category:"pkcs7"},"1.2.840.113549.1.7.5":{name:"pkcs7-digestedData",shortName:"digestedData",category:"pkcs7"},"1.2.840.113549.1.7.6":{name:"pkcs7-encryptedData",shortName:"encryptedData",category:"pkcs7"},"1.2.840.113549.1.9.16.1.2":{name:"id-smime-ct-authenticatedData",shortName:"authenticatedData",category:"pkcs7"},"1.2.840.113549.1.9.1":{name:"pkcs9-emailAddress",shortName:"emailAddress",category:"pkcs9"},"1.2.840.113549.1.9.2":{name:"pkcs9-unstructuredName",shortName:"unstructuredName",category:"pkcs9"},"1.2.840.113549.1.9.3":{name:"pkcs9-contentType",shortName:"contentType",category:"pkcs9"},"1.2.840.113549.1.9.4":{name:"pkcs9-messageDigest",shortName:"messageDigest",category:"pkcs9"},"1.2.840.113549.1.9.5":{name:"pkcs9-signingTime",shortName:"signingTime",category:"pkcs9"},"1.2.840.113549.1.9.6":{name:"pkcs9-counterSignature",shortName:"counterSignature",category:"pkcs9"},"1.2.840.113549.1.9.7":{name:"pkcs9-challengePassword",shortName:"challengePassword",category:"pkcs9"},"1.2.840.113549.1.9.14":{name:"pkcs9-extensionRequest",shortName:"extensionRequest",category:"pkcs9"},"1.2.840.113549.1.9.15":{name:"pkcs9-sMIMECapabilities",shortName:"sMIMECapabilities",category:"pkcs9"},"1.2.840.113549.1.9.16.2.12":{name:"id-aa-signingCertificate",shortName:"signingCertificate",category:"pkcs9"},"1.2.840.113549.1.9.16.2.14":{name:"id-aa-timeStampToken",shortName:"timeStampToken",category:"pkcs9"},"1.2.840.113549.1.9.16.2.47":{name:"id-aa-signingCertificateV2",shortName:"signingCertificateV2",category:"pkcs9"},"1.2.840.113549.2.5":{name:"md5",shortName:"md5",category:"digest"},"1.3.14.3.2.26":{name:"sha1",shortName:"sha1",category:"digest"},"2.16.840.1.101.3.4.2.4":{name:"sha224",shortName:"sha224",category:"digest"},"2.16.840.1.101.3.4.2.1":{name:"sha256",shortName:"sha256",category:"digest"},"2.16.840.1.101.3.4.2.2":{name:"sha384",shortName:"sha384",category:"digest"},"2.16.840.1.101.3.4.2.3":{name:"sha512",shortName:"sha512",category:"digest"},"2.16.840.1.101.3.4.2.5":{name:"sha512-224",shortName:"sha512-224",category:"digest"},"2.16.840.1.101.3.4.2.6":{name:"sha512-256",shortName:"sha512-256",category:"digest"},"2.16.840.1.101.3.4.2.7":{name:"sha3-224",shortName:"sha3-224",category:"digest"},"2.16.840.1.101.3.4.2.8":{name:"sha3-256",shortName:"sha3-256",category:"digest"},"2.16.840.1.101.3.4.2.9":{name:"sha3-384",shortName:"sha3-384",category:"digest"},"2.16.840.1.101.3.4.2.10":{name:"sha3-512",shortName:"sha3-512",category:"digest"},"2.16.840.1.101.3.4.2.11":{name:"shake128",shortName:"shake128",category:"digest"},"2.16.840.1.101.3.4.2.12":{name:"shake256",shortName:"shake256",category:"digest"},"1.2.840.113549.2.7":{name:"hmacWithSHA1",shortName:"hmac-sha1",category:"digest"},"1.2.840.113549.2.8":{name:"hmacWithSHA224",shortName:"hmac-sha224",category:"digest"},"1.2.840.113549.2.9":{name:"hmacWithSHA256",shortName:"hmac-sha256",category:"digest"},"1.2.840.113549.2.10":{name:"hmacWithSHA384",shortName:"hmac-sha384",category:"digest"},"1.2.840.113549.2.11":{name:"hmacWithSHA512",shortName:"hmac-sha512",category:"digest"},"2.5.4.3":{name:"commonName",shortName:"CN",category:"x509-dn"},"2.5.4.4":{name:"surname",shortName:"SN",category:"x509-dn"},"2.5.4.5":{name:"serialNumber",shortName:"serialNumber",category:"x509-dn"},"2.5.4.6":{name:"countryName",shortName:"C",category:"x509-dn"},"2.5.4.7":{name:"localityName",shortName:"L",category:"x509-dn"},"2.5.4.8":{name:"stateOrProvinceName",shortName:"ST",category:"x509-dn"},"2.5.4.9":{name:"streetAddress",shortName:"street",category:"x509-dn"},"2.5.4.10":{name:"organizationName",shortName:"O",category:"x509-dn"},"2.5.4.11":{name:"organizationalUnitName",shortName:"OU",category:"x509-dn"},"2.5.4.12":{name:"title",shortName:"title",category:"x509-dn"},"2.5.4.13":{name:"description",shortName:"description",category:"x509-dn"},"2.5.4.17":{name:"postalCode",shortName:"postalCode",category:"x509-dn"},"2.5.4.18":{name:"postOfficeBox",shortName:"postOfficeBox",category:"x509-dn"},"2.5.4.20":{name:"telephoneNumber",shortName:"telephoneNumber",category:"x509-dn"},"2.5.4.41":{name:"name",shortName:"name",category:"x509-dn"},"2.5.4.42":{name:"givenName",shortName:"GN",category:"x509-dn"},"2.5.4.43":{name:"initials",shortName:"initials",category:"x509-dn"},"2.5.4.44":{name:"generationQualifier",shortName:"generationQualifier",category:"x509-dn"},"2.5.4.45":{name:"uniqueIdentifier",shortName:"uniqueIdentifier",category:"x509-dn"},"2.5.4.46":{name:"dnQualifier",shortName:"dnQualifier",category:"x509-dn"},"2.5.4.65":{name:"pseudonym",shortName:"pseudonym",category:"x509-dn"},"2.5.29.14":{name:"subjectKeyIdentifier",shortName:"subjectKeyIdentifier",category:"x509-extension"},"2.5.29.15":{name:"keyUsage",shortName:"keyUsage",category:"x509-extension"},"2.5.29.16":{name:"privateKeyUsagePeriod",shortName:"privateKeyUsagePeriod",category:"x509-extension"},"2.5.29.17":{name:"subjectAltName",shortName:"subjectAltName",category:"x509-extension"},"2.5.29.18":{name:"issuerAltName",shortName:"issuerAltName",category:"x509-extension"},"2.5.29.19":{name:"basicConstraints",shortName:"basicConstraints",category:"x509-extension"},"2.5.29.20":{name:"cRLNumber",shortName:"cRLNumber",category:"x509-extension"},"2.5.29.21":{name:"reasonCode",shortName:"reasonCode",category:"x509-extension"},"2.5.29.23":{name:"holdInstructionCode",shortName:"holdInstructionCode",category:"x509-extension"},"2.5.29.24":{name:"invalidityDate",shortName:"invalidityDate",category:"x509-extension"},"2.5.29.27":{name:"deltaCRLIndicator",shortName:"deltaCRLIndicator",category:"x509-extension"},"2.5.29.28":{name:"issuingDistributionPoint",shortName:"issuingDistributionPoint",category:"x509-extension"},"2.5.29.31":{name:"crlDistributionPoints",shortName:"cRLDistributionPoints",category:"x509-extension"},"2.5.29.32":{name:"certificatePolicies",shortName:"certificatePolicies",category:"x509-extension"},"2.5.29.33":{name:"policyMappings",shortName:"policyMappings",category:"x509-extension"},"2.5.29.35":{name:"authorityKeyIdentifier",shortName:"authorityKeyIdentifier",category:"x509-extension"},"2.5.29.36":{name:"policyConstraints",shortName:"policyConstraints",category:"x509-extension"},"2.5.29.37":{name:"extendedKeyUsage",shortName:"extendedKeyUsage",category:"x509-extension"},"1.3.6.1.5.5.7.1.1":{name:"authorityInformationAccess",shortName:"authorityInformationAccess",category:"x509-extension"},"1.3.6.1.5.5.7.1.11":{name:"subjectInformationAccess",shortName:"subjectInformationAccess",category:"x509-extension"},"2.5.29.54":{name:"inhibitAnyPolicy",shortName:"inhibitAnyPolicy",category:"x509-extension"},"1.3.6.1.5.5.7.3.1":{name:"serverAuth",shortName:"serverAuth",category:"x509-eku"},"1.3.6.1.5.5.7.3.2":{name:"clientAuth",shortName:"clientAuth",category:"x509-eku"},"1.3.6.1.5.5.7.3.3":{name:"codeSigning",shortName:"codeSigning",category:"x509-eku"},"1.3.6.1.5.5.7.3.4":{name:"emailProtection",shortName:"emailProtection",category:"x509-eku"},"1.3.6.1.5.5.7.3.8":{name:"timeStamping",shortName:"timeStamping",category:"x509-eku"},"1.3.6.1.5.5.7.3.9":{name:"OCSPSigning",shortName:"OCSPSigning",category:"x509-eku"},"0.4.0.19122.1":{name:"id-etsi-es-ades-commitment-type-signed-data",shortName:"padesSignedData",category:"pades"},"0.4.0.2023.1.1":{name:"id-etsi-ades-pades",shortName:"pades",category:"pades"},"0.4.0.19122.2.1":{name:"id-etsi-ades-pades-b",shortName:"pades-b",category:"pades"},"0.4.0.19122.2.2":{name:"id-etsi-ades-pades-t",shortName:"pades-t",category:"pades"},"0.4.0.19122.2.3":{name:"id-etsi-ades-pades-lt",shortName:"pades-lt",category:"pades"},"0.4.0.19122.2.4":{name:"id-etsi-ades-pades-lta",shortName:"pades-lta",category:"pades"},"1.2.840.113583.1.1.8":{name:"adbe-revocationInfoArchival",shortName:"revocationInfoArchival",category:"pades"},"0.4.0.17090.1.1":{name:"id-etsi-qcs-QcCompliance",shortName:"QcCompliance",category:"pades"},"0.4.0.17090.1.2":{name:"id-etsi-qcs-QcLimitValue",shortName:"QcLimitValue",category:"pades"},"0.4.0.17090.1.3":{name:"id-etsi-qcs-QcRetentionPeriod",shortName:"QcRetentionPeriod",category:"pades"},"0.4.0.17090.1.4":{name:"id-etsi-qcs-QcSSCD",shortName:"QcSSCD",category:"pades"},"0.4.0.17090.1.5":{name:"id-etsi-qcs-QcPDS",shortName:"QcPDS",category:"pades"},"0.4.0.17090.1.6":{name:"id-etsi-qcs-QcType",shortName:"QcType",category:"pades"},"1.2.840.113549.1.9.16.2.15":{name:"id-aa-ets-sigPolicyId",shortName:"sigPolicyId",category:"pades"},"1.2.840.113549.1.9.16.2.16":{name:"id-aa-ets-commitmentType",shortName:"commitmentType",category:"pades"},"1.2.840.113549.1.9.16.2.18":{name:"id-aa-ets-signerAttr",shortName:"signerAttr",category:"pades"},"1.2.840.113549.1.9.16.2.20":{name:"id-aa-ets-otherSigCert",shortName:"otherSigCert",category:"pades"},"1.2.840.113549.1.9.16.2.21":{name:"id-aa-ets-contentTimestamp",shortName:"contentTimestamp",category:"pades"},"1.2.840.10045.3.1.1":{name:"prime192v1",shortName:"P-192",category:"ecc-curve",curve:"P-192"},"1.2.840.10045.3.1.7":{name:"prime256v1",shortName:"P-256",category:"ecc-curve",curve:"P-256"},"1.3.132.0.34":{name:"secp384r1",shortName:"P-384",category:"ecc-curve",curve:"P-384"},"1.3.132.0.35":{name:"secp521r1",shortName:"P-521",category:"ecc-curve",curve:"P-521"},"1.3.132.0.10":{name:"secp256k1",shortName:"secp256k1",category:"ecc-curve",curve:"secp256k1"},"1.3.132.0.1":{name:"sect163k1",shortName:"sect163k1",category:"ecc-curve",curve:"sect163k1"},"1.3.36.3.3.2.8.1.1.7":{name:"brainpoolP256r1",shortName:"brainpoolP256r1",category:"ecc-curve",curve:"brainpoolP256r1"},"1.3.36.3.3.2.8.1.1.11":{name:"brainpoolP384r1",shortName:"brainpoolP384r1",category:"ecc-curve",curve:"brainpoolP384r1"},"1.3.36.3.3.2.8.1.1.13":{name:"brainpoolP512r1",shortName:"brainpoolP512r1",category:"ecc-curve",curve:"brainpoolP512r1"},"1.3.101.110":{name:"X25519",shortName:"X25519",category:"ecc-curve",curve:"X25519"},"1.3.101.111":{name:"X448",shortName:"X448",category:"ecc-curve",curve:"X448"},"1.3.101.112":{name:"Ed25519",shortName:"Ed25519",category:"ecc-curve",curve:"Ed25519"},"1.3.101.113":{name:"Ed448",shortName:"Ed448",category:"ecc-curve",curve:"Ed448"},"1.2.840.10045.2.1":{name:"ecPublicKey",shortName:"ecc",category:"pkcs1"},"1.2.840.10045.4.1":{name:"ecdsaWithSHA1",shortName:"ecdsaWithSHA1",category:"pkcs1",hashAlg:"sha-1",sigAlg:"ecdsa"},"1.2.840.10045.4.3.1":{name:"ecdsaWithSHA224",shortName:"ecdsaWithSHA224",category:"pkcs1",hashAlg:"sha-224",sigAlg:"ecdsa"},"1.2.840.10045.4.3.2":{name:"ecdsaWithSHA256",shortName:"ecdsaWithSHA256",category:"pkcs1",hashAlg:"sha-256",sigAlg:"ecdsa"},"1.2.840.10045.4.3.3":{name:"ecdsaWithSHA384",shortName:"ecdsaWithSHA384",category:"pkcs1",hashAlg:"sha-384",sigAlg:"ecdsa"},"1.2.840.10045.4.3.4":{name:"ecdsaWithSHA512",shortName:"ecdsaWithSHA512",category:"pkcs1",hashAlg:"sha-512",sigAlg:"ecdsa"},"1.2.840.113549.1.5.1":{name:"pbeWithMD2AndDES-CBC",shortName:"pbeWithMD2AndDES",category:"pkcs5"},"1.2.840.113549.1.5.3":{name:"pbeWithMD5AndDES-CBC",shortName:"pbeWithMD5AndDES",category:"pkcs5"},"1.2.840.113549.1.5.4":{name:"pbeWithMD2And40BitRC2-CBC",shortName:"pbeWithMD2AndRC2",category:"pkcs5"},"1.2.840.113549.1.5.6":{name:"pbeWithMD5And40BitRC2-CBC",shortName:"pbeWithMD5AndRC2",category:"pkcs5"},"1.2.840.113549.1.5.10":{name:"pbeWithSHA1AndDES-CBC",shortName:"pbeWithSHA1AndDES",category:"pkcs5"},"1.2.840.113549.1.5.11":{name:"pbeWithSHA1And40BitRC2-CBC",shortName:"pbeWithSHA1AndRC2",category:"pkcs5"},"1.2.840.113549.1.5.12":{name:"pbkdf2",shortName:"pbkdf2",category:"pkcs5"},"1.2.840.113549.1.5.13":{name:"pbes2",shortName:"pbes2",category:"pkcs5"},"1.2.840.113549.1.5.14":{name:"pbmac1",shortName:"pbmac1",category:"pkcs5"},"2.16.840.1.101.3.4.1.1":{name:"aes128-ECB",shortName:"aes128-ecb",category:"aes",keyLen:128,mode:"ecb"},"2.16.840.1.101.3.4.1.2":{name:"aes128-CBC",shortName:"aes128-cbc",category:"aes",keyLen:128,mode:"cbc"},"2.16.840.1.101.3.4.1.3":{name:"aes128-OFB",shortName:"aes128-ofb",category:"aes",keyLen:128,mode:"ofb"},"2.16.840.1.101.3.4.1.4":{name:"aes128-CFB",shortName:"aes128-cfb",category:"aes",keyLen:128,mode:"cfb"},"2.16.840.1.101.3.4.1.5":{name:"aes128-wrap",shortName:"aes128-kw",category:"aes",keyLen:128,mode:"kw"},"2.16.840.1.101.3.4.1.6":{name:"aes128-GCM",shortName:"aes128-gcm",category:"aes",keyLen:128,mode:"gcm"},"2.16.840.1.101.3.4.1.7":{name:"aes128-CCM",shortName:"aes128-ccm",category:"aes",keyLen:128,mode:"ccm"},"2.16.840.1.101.3.4.1.21":{name:"aes192-ECB",shortName:"aes192-ecb",category:"aes",keyLen:192,mode:"ecb"},"2.16.840.1.101.3.4.1.22":{name:"aes192-CBC",shortName:"aes192-cbc",category:"aes",keyLen:192,mode:"cbc"},"2.16.840.1.101.3.4.1.23":{name:"aes192-OFB",shortName:"aes192-ofb",category:"aes",keyLen:192,mode:"ofb"},"2.16.840.1.101.3.4.1.24":{name:"aes192-CFB",shortName:"aes192-cfb",category:"aes",keyLen:192,mode:"cfb"},"2.16.840.1.101.3.4.1.25":{name:"aes192-wrap",shortName:"aes192-kw",category:"aes",keyLen:192,mode:"kw"},"2.16.840.1.101.3.4.1.26":{name:"aes192-GCM",shortName:"aes192-gcm",category:"aes",keyLen:192,mode:"gcm"},"2.16.840.1.101.3.4.1.27":{name:"aes192-CCM",shortName:"aes192-ccm",category:"aes",keyLen:192,mode:"ccm"},"2.16.840.1.101.3.4.1.41":{name:"aes256-ECB",shortName:"aes256-ecb",category:"aes",keyLen:256,mode:"ecb"},"2.16.840.1.101.3.4.1.42":{name:"aes256-CBC",shortName:"aes256-cbc",category:"aes",keyLen:256,mode:"cbc"},"2.16.840.1.101.3.4.1.43":{name:"aes256-OFB",shortName:"aes256-ofb",category:"aes",keyLen:256,mode:"ofb"},"2.16.840.1.101.3.4.1.44":{name:"aes256-CFB",shortName:"aes256-cfb",category:"aes",keyLen:256,mode:"cfb"},"2.16.840.1.101.3.4.1.45":{name:"aes256-wrap",shortName:"aes256-kw",category:"aes",keyLen:256,mode:"kw"},"2.16.840.1.101.3.4.1.46":{name:"aes256-GCM",shortName:"aes256-gcm",category:"aes",keyLen:256,mode:"gcm"},"2.16.840.1.101.3.4.1.47":{name:"aes256-CCM",shortName:"aes256-ccm",category:"aes",keyLen:256,mode:"ccm"},"1.2.840.113549.1.12.1.1":{name:"pbeWithSHA1And128BitRC4",shortName:"pbeWithSHA1RC4-128",category:"pkcs12"},"1.2.840.113549.1.12.1.2":{name:"pbeWithSHA1And40BitRC4",shortName:"pbeWithSHA1RC4-40",category:"pkcs12"},"1.2.840.113549.1.12.1.3":{name:"pbeWithSHA1And3-KeyTripleDES-CBC",shortName:"pbeWithSHA13DES",category:"pkcs12"},"1.2.840.113549.1.12.10.1.1":{name:"pkcs12-keyBag",shortName:"keyBag",category:"pkcs12"},"1.2.840.113549.1.12.10.1.2":{name:"pkcs12-pkcs8ShroudedKeyBag",shortName:"pkcs8ShroudedKeyBag",category:"pkcs12"},"1.2.840.113549.1.12.10.1.3":{name:"pkcs12-certBag",shortName:"certBag",category:"pkcs12"},"1.2.840.113549.1.12.10.1.4":{name:"pkcs12-crlBag",shortName:"crlBag",category:"pkcs12"},"1.2.840.113549.1.12.10.1.5":{name:"pkcs12-secretBag",shortName:"secretBag",category:"pkcs12"},"1.2.840.113549.1.12.10.1.6":{name:"pkcs12-safeContentsBag",shortName:"safeContentsBag",category:"pkcs12"},"1.3.6.1.5.5.7.48.1":{name:"ocsp",shortName:"ocsp",category:"x509-extension"},"1.3.6.1.5.5.7.48.2":{name:"caIssuers",shortName:"caIssuers",category:"x509-extension"},"1.3.6.1.5.5.7.48.3":{name:"timeStamping",shortName:"timestampingUri",category:"x509-extension"},"1.2.840.113549.1.9.16.1.4":{name:"id-smime-ct-TSTInfo",shortName:"tstInfo",category:"pkcs7"},"1.3.6.1.5.5.7.48.1.1":{name:"id-pkix-ocsp-basic",shortName:"ocspBasic",category:"pkcs7"},"1.2.840.113549.1.9.16.3.8":{name:"id-alg-CMS3DESwrap",shortName:"CMS3DESwrap",category:"pkcs7"},"2.16.840.1.101.3.4.1":{name:"nistAlgorithms",shortName:"nistAlgorithms",category:"aes"},"1.2.840.113549":{name:"rsadsi",shortName:"rsadsi",category:"pkcs1"},"1.2.840.113549.1":{name:"pkcs",shortName:"pkcs",category:"pkcs1"},"2.5.4.0":{name:"objectClass",shortName:"objectClass",category:"x509-dn"},"2.5.4.49":{name:"distinguishedName",shortName:"distinguishedName",category:"x509-dn"},"2.5.4.97":{name:"organizationIdentifier",shortName:"organizationIdentifier",category:"x509-dn"},"2.16.840.1.113730.1.1":{name:"netscape-cert-type",shortName:"nsCertType",category:"x509-extension"},"2.16.840.1.113730.1.12":{name:"netscape-ssl-server-name",shortName:"nsSSLServerName",category:"x509-extension"},"2.16.840.1.113730.1.13":{name:"netscape-comment",shortName:"nsComment",category:"x509-extension"}},S=/^\d+(\.\d+)*$/,j=new Map;for(let[C,U]of Object.entries(T))j.set(U.name.toLowerCase(),C),j.set(U.shortName.toLowerCase(),C);let N=[["e","1.2.840.113549.1.9.1"]];for(let[C,U]of N)if(!j.has(C))j.set(C,U);function L(C){if(typeof C!=="string")return null;if(!S.test(C))return null;return T[C]??null}function K(C){if(typeof C!=="string")return null;return j.get(C.toLowerCase())??null}function q(C){let U=[];for(let[F,V]of Object.entries(T))if(V.category===C)U.push({oid:F,...V});return U}return{lookup:L,byName:K,findByCategory:q,OID_DATABASE:T}}}),ZQ({name:"pem",dependencies:["b64"],factory:function(T){function S(L,K){let q="";for(let C=0;C<L.length;C+=K)q+=L.substring(C,C+K)+`
9
+ `;return q}function j(L,K){let q=T.fromBytes(L);return`-----BEGIN ${K}-----
10
+ ${S(q,64)}-----END ${K}-----
11
+ `}function N(L,K){let q=L.match(/-----BEGIN ([^-]+)-----([\s\S]+?)-----END ([^-]+)-----/);if(!q)return console.warn("[crypto] INVALID: pem: no BEGIN/END markers"),!1;let C=q[1].trim(),U=q[3].trim();if(C!==U)return console.warn("[crypto] INVALID: pem: BEGIN/END label mismatch"),!1;if(K&&C!==K)return console.warn(`[crypto] INVALID: pem: expected ${K}, got ${C}`),!1;let F=q[2].replace(/\s+/g,"");return{label:C,bytes:T.toBytes(F)}}return{name:"pem",encode:j,decode:N}}}),ZQ({name:"random",dependencies:["bitArray","aes","sha256"],factory:function(T,S,j){let N=typeof crypto<"u"&&!!crypto.getRandomValues;function L(B){let f=B.length>>>2,A=Array(f);for(let h=0;h<f;h++){let b=h<<2;A[h]=B[b]<<24|B[b+1]<<16|B[b+2]<<8|B[b+3]|0}return A}function K(B,f,A,h){for(let b=0;b<f;b++){let y=h+(b<<2);A[y]=B[b]>>>24&255,A[y+1]=B[b]>>>16&255,A[y+2]=B[b]>>>8&255,A[y+3]=B[b]&255}}let q=4,C=512,U=13,F={prev:-1,run:0},V={anchor:-1,count:0,idx:0},Y=!1;function R(B){if(Y)return!1;for(let f=0;f<B.length;f++){let A=B[f];if(A===F.prev){if(F.run++,F.run>=q)return Y=!0,console.error("[crypto] CORRUPT: random: RCT health-test failed on entropy source"),!1}else F.prev=A,F.run=1;if(V.anchor===-1)V.anchor=A,V.count=1,V.idx=1;else{if(V.idx++,A===V.anchor){if(V.count++,V.count>U)return Y=!0,console.error("[crypto] CORRUPT: random: APT health-test failed on entropy source"),!1}if(V.idx>=C)V.anchor=-1}}return!0}function M(){F.prev=-1,F.run=0,V.anchor=-1,V.count=0,V.idx=0,Y=!1}function D(B){if(!N)return console.error("[crypto] NOT READY: crypto.getRandomValues unavailable"),!1;let f=0;while(f<B.length){let A=Math.min(65536,B.length-f);crypto.getRandomValues(B.subarray(f,f+A)),f+=A}return B}function O(B){if(Y)return console.error("[crypto] CORRUPT: random: entropy source previously failed health test"),!1;let f=D(new Uint8Array(B));if(f===!1)return!1;if(!R(f))return!1;return f}let X=4,H=16,G=65536,Q=4294967296;function J(B){B=B||{};let f=B.aesKeyBits||256,A=!!B.df;if(f!==128&&f!==192&&f!==256)return console.error("[crypto] BUG: ctr_drbg: aesKeyBits must be 128, 192 or 256"),!1;let h=f/8,b=h/4,y=h+H,p=y/4,n=Array(b).fill(0),i=Array(X).fill(0),YQ=null,CQ=0,qQ=!1;function DQ(u,o){let t=S.fn(L(u),!1);if(t===!1)return!1;let r=new Uint8Array(H);for(let XQ=0;XQ<o.length;XQ+=H){for(let OQ=0;OQ<H;OQ++)r[OQ]^=o[XQ+OQ];let UQ=t.encrypt(L(r));K(UQ,X,r,0)}return r}function TQ(u,o){let t=u.length,r=o,XQ=8+t+1,UQ=(H-XQ%H)%H,OQ=XQ+UQ,zQ=new Uint8Array(OQ);zQ[0]=t>>>24&255,zQ[1]=t>>>16&255,zQ[2]=t>>>8&255,zQ[3]=t&255,zQ[4]=r>>>24&255,zQ[5]=r>>>16&255,zQ[6]=r>>>8&255,zQ[7]=r&255;for(let MQ=0;MQ<t;MQ++)zQ[8+MQ]=u[MQ];zQ[8+t]=128;let hQ=new Uint8Array(h);for(let MQ=0;MQ<h;MQ++)hQ[MQ]=MQ;let _Q=h+H,s=new Uint8Array(Math.ceil(_Q/H)*H),GQ=0,KQ=0;while(GQ<_Q){let MQ=new Uint8Array(H+OQ);MQ[0]=KQ>>>24&255,MQ[1]=KQ>>>16&255,MQ[2]=KQ>>>8&255,MQ[3]=KQ&255,MQ.set(zQ,H);let xQ=DQ(hQ,MQ);if(xQ===!1)return!1;s.set(xQ,GQ),GQ+=H,KQ++}let FQ=s.subarray(0,h),WQ=s.slice(h,h+H),PQ=S.fn(L(FQ),!1);if(PQ===!1)return!1;let SQ=new Uint8Array(o),BQ=0;while(BQ<o){let MQ=PQ.encrypt(L(WQ));K(MQ,X,WQ,0);let xQ=Math.min(H,o-BQ);SQ.set(WQ.subarray(0,xQ),BQ),BQ+=xQ}return SQ}function QQ(){if(YQ=S.fn(n,!1),YQ===!1)return console.error("[crypto] BUG: ctr_drbg: AES key schedule failed"),!1;return!0}function e(){for(let u=X-1;u>=0;u--)if(i[u]=i[u]+1|0,i[u]!==0)break}function JQ(u){let o=Array(p).fill(0),t=0;while(t<p){e();let r=YQ.encrypt(i);for(let XQ=0;XQ<X&&t<p;XQ++)o[t++]=r[XQ]}for(let r=0;r<p;r++)o[r]^=u[r];return n=o.slice(0,b),i=o.slice(b,b+X),QQ()}function VQ(u,o,t){if(A){let XQ=u?u.length:0,UQ=t?t.length:0,OQ=o?o.length:0,zQ=new Uint8Array(XQ+UQ+OQ);if(XQ)zQ.set(u,0);if(UQ)zQ.set(t,XQ);if(OQ)zQ.set(o,XQ+UQ);return TQ(zQ,y)}if(!u||u.length!==y)return console.error("[crypto] BUG: ctr_drbg (no-df): entropy must be exactly "+y+" bytes"),!1;let r=new Uint8Array(y);if(r.set(u),o&&o.length>0){let XQ=Math.min(o.length,y);for(let UQ=0;UQ<XQ;UQ++)r[UQ]^=o[UQ]}return r}function g(u,o,t){let r=VQ(u,o,t);if(r===!1)return!1;if(n.fill(0),i.fill(0),!QQ())return!1;if(!JQ(L(r)))return!1;return CQ=1,qQ=!0,!0}function c(u,o){if(!qQ)return console.warn("[crypto] NOT READY: ctr_drbg.reseed: not instantiated"),!1;let t=VQ(u,o,null);if(t===!1)return!1;if(!JQ(L(t)))return!1;return CQ=1,!0}function _(u,o){if(!qQ)return console.warn("[crypto] NOT READY: ctr_drbg.generate: not instantiated"),!1;if(!Number.isInteger(u)||u<0||u>G)return console.warn("[crypto] INVALID: ctr_drbg.generate: n must be an integer in [0, "+G+"]"),!1;if(u===0)return new Uint8Array(0);if(CQ>Q){let UQ=O(y);if(UQ===!1)return!1;if(!c(UQ,o))return!1;o=null}let t;if(o&&o.length>0){let UQ;if(A){if(UQ=TQ(o,y),UQ===!1)return!1}else UQ=new Uint8Array(y),UQ.set(o.subarray(0,Math.min(y,o.length)));if(t=L(UQ),!JQ(t))return!1}else t=Array(p).fill(0);let r=new Uint8Array(u),XQ=0;while(XQ<u){e();let UQ=YQ.encrypt(i),OQ=u-XQ;if(OQ>=16)K(UQ,X,r,XQ),XQ+=16;else{let zQ=new Uint8Array(16);K(UQ,X,zQ,0),r.set(zQ.subarray(0,OQ),XQ),XQ=u}}if(!JQ(t))return!1;return CQ++,r}function m(){n.fill(0),i.fill(0),YQ=null,CQ=0,qQ=!1}return{instantiate:g,reseed:c,generate:_,uninstantiate:m,get isLive(){return qQ},get reseedCounter(){return CQ},get securityStrength(){return f},get aesKeyBits(){return f},get useDf(){return A},get seedBytes(){return y}}}let $=P("e4bc23c5089a19d86f4119cb3fa08c0a4991e0a1def17e101e4c14d9c323460a7c2fb58e0b086c6c57b55f56cae25bad"),Z=P("fd85a836bba85019881e8c6bad23c9061adc75477659acaea8e4a01dfe07a1832dad1c136f59d70f8653a5dc118663d6"),W="b2cb8905c05e5950ca31895096be29ea3d5a3b82b269495554eb80fe07de43e193b9e7c3ece73b80e062b1c1f68202fbb1c52a040ea2478864295282234aaada",z=null;function P(B){let f=new Uint8Array(B.length>>>1);for(let A=0;A<f.length;A++)f[A]=parseInt(B.substring(A*2,A*2+2),16);return f}function w(B){let f="";for(let A=0;A<B.length;A++){let h=B[A];f+=(h<16?"0":"")+h.toString(16)}return f}function v(){let B=J();if(!B||B===!1)return!1;if(!B.instantiate($))return!1;if(!B.reseed(Z))return!1;if(B.generate(64)===!1)return!1;let f=B.generate(64);if(f===!1)return!1;let A=w(f);if(A!==W)return console.error("[crypto] CORRUPT: random.selfTest: CTR_DRBG KAT mismatch (got "+A+")"),!1;return!0}function k(){if(z===null)z=v();return z}let x={fill(B){return D(B)},float(){let B=D(new Uint8Array(4));if(B===!1)return!1;return((B[0]<<24|B[1]<<16|B[2]<<8|B[3])>>>0)/4294967296},int(B,f){if(B>f)throw RangeError("min must be ≤ max");let A=f-B+1,h=Math.floor(4294967296/A)*A,b=new Uint8Array(4),y;do{if(D(b)===!1)return!1;y=(b[0]<<24|b[1]<<16|b[2]<<8|b[3])>>>0}while(y>=h);return B+y%A},bytes(B){if(!Number.isInteger(B)||B<0)return console.warn("[crypto] INVALID: random.bytes expects a non-negative integer"),!1;return D(new Uint8Array(B))},words(B){if(!Number.isInteger(B)||B<0)return console.warn("[crypto] INVALID: random.words expects a non-negative integer"),!1;let f=D(new Uint8Array(B*4));if(f===!1)return!1;let A=Array(B);for(let h=0;h<B;h++){let b=h*4;A[h]=f[b]<<24|f[b+1]<<16|f[b+2]<<8|f[b+3]|0}return A},bits(B){if(!Number.isInteger(B)||B<0)return console.warn("[crypto] INVALID: random.bits expects a non-negative integer"),!1;let f=Math.ceil(B/32),A=x.words(f);if(A===!1)return!1;return T.clamp(A,B)},isReady(){return N},selfTest(){return z=v(),z},_internal:{makeDrbg:J},health:{feed(B){return R(B instanceof Uint8Array?B:new Uint8Array(B))},reset(){M()},get isDead(){return Y}},drbg(B={}){if(!k())return console.error("[crypto] CORRUPT: random.drbg refused - POST failed"),!1;let f=J(B);if(f===!1)return!1;let A=O(f.seedBytes);if(A===!1)return!1;if(!f.instantiate(A,B.personalisation))return!1;let h=null;return{generate(b,y){let p=y||null;if(h!==null)p=p===null?h:(()=>{let n=new Uint8Array(h.length+p.length);return n.set(h),n.set(p,h.length),n})(),h=null;return f.generate(b,p)},reseed(b){let y=O(f.seedBytes);if(y===!1)return!1;let p=b||null;if(h!==null)p=p===null?h:(()=>{let n=new Uint8Array(h.length+p.length);return n.set(h),n.set(p,h.length),n})(),h=null;return f.reseed(y,p)},addAdditionalInput(b){if(!(b instanceof Uint8Array))if(Array.isArray(b)||b instanceof Uint32Array){let p=new Uint8Array(b.length*4);for(let n=0;n<b.length;n++){let i=b[n]|0;p[n*4]=i>>>24&255,p[n*4+1]=i>>>16&255,p[n*4+2]=i>>>8&255,p[n*4+3]=i&255}b=p}else if(typeof b==="number"){let p=b|0;b=new Uint8Array([p>>>24&255,p>>>16&255,p>>>8&255,p&255])}else return console.warn("[crypto] BUG: drbg.addAdditionalInput: unsupported data type"),!1;let y=h===null?b:(()=>{let p=new Uint8Array(h.length+b.length);return p.set(h),p.set(b,h.length),p})();if(y.length<=f.seedBytes)h=y;else{let p=j.hash(L(y.subarray(0,y.length&-4))),n=new Uint8Array(32);K(p,8,n,0),h=n}return!0},uninstantiate(){h=null,f.uninstantiate()},get isLive(){return f.isLive},get reseedCounter(){return f.reseedCounter},get securityStrength(){return f.securityStrength}}}};return x}}),ZQ({name:"bn",dependencies:["bitArray","random"],factory:function(T,S){let j={random:function(K,q){},prime:{},pseudoMersennePrime:function(K,q){},fromBits:function(K){},bn:function(K){this.initWith(K)}},N=j.bn;N.prototype.radix=24,N.prototype.maxMul=8,N.prototype._class=N,N.prototype.copy=function(){return new this._class(this)},N.prototype.initWith=function(K){let q,C;switch(typeof K){case"object":this.limbs=K.limbs.slice(0);break;case"number":this.limbs=[K],this.normalize();break;case"string":if(K=K.replace(/^0x/,""),!/^[0-9a-fA-F]*$/.test(K)){console.warn("[crypto] INVALID: bn.initWith: string must contain only hex characters"),this.limbs=[0];break}this.limbs=[],C=this.radix/4;for(q=0;q<K.length;q+=C)this.limbs.push(parseInt(K.substring(Math.max(K.length-q-C,0),K.length-q),16));if(this.limbs.length===0)this.limbs=[0];break;default:this.limbs=[0]}return this},N.prototype.equals=function(K){if(typeof K==="number")K=new this._class(K);let q=this.copy().fullReduce(),C=K.copy().fullReduce(),U=0;for(let F=0;F<q.limbs.length||F<C.limbs.length;F++)U|=q.getLimb(F)^C.getLimb(F);return U===0},N.prototype.getLimb=function(K){return K>=this.limbs.length?0:this.limbs[K]},N.prototype.greaterEquals=function(K){if(typeof K==="number")K=new this._class(K);let q=0,C=0,U,F,V=Math.max(this.limbs.length,K.limbs.length)-1;for(;V>=0;V--)U=this.getLimb(V),F=K.getLimb(V),C|=F-U&~q,q|=U-F&~C;return(C|~q)>>>31},N.prototype.toHex=function(){this.fullReduce();let K="",q=this.limbs;for(let C=0;C<this.limbs.length;C++){let U=q[C].toString(16);while(C<this.limbs.length-1&&U.length<6)U="0"+U;K=U+K}return"0x"+K},N.prototype.addM=function(K){if(typeof K!=="object")K=new this._class(K);let q=this.limbs,C=K.limbs;for(let U=q.length;U<C.length;U++)q[U]=0;for(let U=0;U<C.length;U++)q[U]+=C[U];return this},N.prototype.doubleM=function(){let K=0,q,C=this.radix,U=this.radixMask,F=this.limbs;for(let V=0;V<F.length;V++)q=F[V],q=q+q+K,F[V]=q&U,K=q>>C;if(K)F.push(K);return this},N.prototype.halveM=function(){let K=0,q,C=this.radix,U=this.limbs;for(let F=U.length-1;F>=0;F--)q=U[F],U[F]=q+K>>1,K=(q&1)<<C;if(!U[U.length-1])U.pop();return this},N.prototype.subM=function(K){if(typeof K!=="object")K=new this._class(K);let q=this.limbs,C=K.limbs;for(let U=q.length;U<C.length;U++)q[U]=0;for(let U=0;U<C.length;U++)q[U]-=C[U];return this},N.prototype.mod=function(K){let q=!this.greaterEquals(new N(0));K=new N(K).normalize();let C=new N(this).normalize(),U=0;if(q)C=new N(0).subM(C).normalize();for(;C.greaterEquals(K);U++)K.doubleM();if(q)C=K.sub(C).normalize();for(;U>0;U--)if(K.halveM(),C.greaterEquals(K))C.subM(K).normalize();return C.trim()},N.prototype.inverseMod=function(K){let q=new N(1),C=new N(0),U=new N(this),F=new N(K),V,Y;if(!(K.limbs[0]&1))return console.warn("[crypto] INVALID: inverseMod: p must be odd"),!1;do{if(U.limbs[0]&1){if(!U.greaterEquals(F))V=U,U=F,F=V,V=q,q=C,C=V;if(U.subM(F),U.normalize(),!q.greaterEquals(C))q.addM(K);q.subM(C)}if(U.halveM(),q.limbs[0]&1)q.addM(K);q.normalize(),q.halveM(),Y=0;for(let R=0;R<U.limbs.length;R++)Y|=U.limbs[R]}while(Y);if(!F.equals(1))return console.warn("[crypto] INVALID: inverseMod: p and x must be relatively prime"),!1;return C},N.prototype.add=function(K){return this.copy().addM(K)},N.prototype.sub=function(K){return this.copy().subM(K)},N.prototype.mul=function(K){if(typeof K==="number")K=new this._class(K);else K.normalize();this.normalize();let q=this.limbs,C=K.limbs,U=q.length,F=C.length,V=new this._class,Y=V.limbs,R,M=this.maxMul;for(let D=0;D<this.limbs.length+K.limbs.length+1;D++)Y[D]=0;for(let D=0;D<U;D++){R=q[D];for(let O=0;O<F;O++)Y[D+O]+=R*C[O];if(!--M)M=this.maxMul,V.cnormalize()}return V.cnormalize().reduce()},N.prototype.square=function(){return this.mul(this)},N.prototype.power=function(K){K=new N(K).normalize().trim().limbs;let q=new this._class(1),C=this;for(let U=0;U<K.length;U++)for(let F=0;F<this.radix;F++){if(K[U]&1<<F)q=q.mul(C);if(U===K.length-1&&K[U]>>F+1===0)break;C=C.square()}return q},N.prototype.mulmod=function(K,q){return this.mod(q).mul(K.mod(q)).mod(q)},N.prototype.powermod=function(K,q){if(K=new N(K),q=new N(q),(q.limbs[0]&1)===1){let V=this.montpowermod(K,q);if(V!==!1)return V}let C=K.normalize().trim().limbs,U=new this._class(1),F=this;for(let V=0;V<C.length;V++)for(let Y=0;Y<this.radix;Y++){if(C[V]&1<<Y)U=U.mulmod(F,q);if(V===C.length-1&&C[V]>>Y+1===0)break;F=F.mulmod(F,q)}return U},N.prototype.montpowermod=function(K,q){K=new N(K).normalize().trim(),q=new N(q);let C=this.radix,U=new this._class(1),F=this.copy(),V=K.bitLength(),Y=new N({limbs:q.copy().normalize().trim().limbs.map(function(){return 0})}),R;for(R=this.radix;R>0;R--)if((q.limbs[q.limbs.length-1]>>R&1)===1){Y.limbs[Y.limbs.length-1]=1<<R;break}let M;if(V===0)return this;else if(V<18)M=1;else if(V<48)M=3;else if(V<144)M=4;else if(V<768)M=5;else M=6;let D=Y.copy(),O=q.copy(),X=new N(1),H=new N(0),G=Y.copy();while(G.greaterEquals(1))if(G.halveM(),(X.limbs[0]&1)===0)X.halveM(),H.halveM();else X.addM(O),X.halveM(),H.halveM(),H.addM(D);X=X.normalize(),H=H.normalize(),D.doubleM();let Q=D.mulmod(D,q);if(!D.mul(X).sub(q.mul(H)).equals(1))return!1;let J=function(w,v){let k=(1<<R+1)-1,x=w.mul(v),B=x.mul(H);if(B.limbs=B.limbs.slice(0,Y.limbs.length),B.limbs.length===Y.limbs.length)B.limbs[Y.limbs.length-1]&=k;B=B.mul(q);let f=x.add(B).normalize().trim();f.limbs=f.limbs.slice(Y.limbs.length-1);for(let A=0;A<f.limbs.length;A++){if(A>0)f.limbs[A-1]|=(f.limbs[A]&k)<<C-R-1;f.limbs[A]=f.limbs[A]>>R+1}if(f.greaterEquals(q))f.subM(q);return f},$=function(w){return J(w,Q)},Z=function(w){return J(w,1)};F=$(F),U=$(U);let W={},z=(1<<M-1)-1;W[1]=F.copy(),W[2]=J(F,F);for(let w=1;w<=z;w++)W[2*w+1]=J(W[2*w-1],W[2]);let P=function(w,v){let k=v%w.radix;return(w.limbs[Math.floor(v/w.radix)]&1<<k)>>k};for(let w=K.bitLength()-1;w>=0;)if(P(K,w)===0)U=J(U,U),w=w-1;else{let v=w-M+1;while(P(K,v)===0)v++;let k=0;for(let x=v;x<=w;x++)k+=P(K,x)<<x-v,U=J(U,U);U=J(U,W[k]),w=v-1}return Z(U)},N.prototype.trim=function(){let K=this.limbs,q;do q=K.pop();while(K.length&&q===0);return K.push(q),this},N.prototype.reduce=function(){return this},N.prototype.fullReduce=function(){return this.normalize()},N.prototype.normalize=function(){let K=0,q=this.placeVal,C=this.ipv,U=this.limbs,F=U.length,V=this.radixMask,Y,R,M;for(Y=0;Y<F||K!==0&&K!==-1;Y++)R=(U[Y]||0)+K,M=U[Y]=R&V,K=(R-M)*C;if(K===-1)U[Y-1]-=q;return this.trim(),this},N.prototype.cnormalize=function(){let K=0,q=this.ipv,C=this.limbs,U=C.length,F=this.radixMask,V,Y,R;for(V=0;V<U-1;V++)Y=C[V]+K,R=C[V]=Y&F,K=(Y-R)*q;return C[V]+=K,this},N.prototype.toBits=function(K){this.fullReduce(),K=K||this.exponent||this.bitLength();let q=Math.floor((K-1)/24),C=T,U=(K+7&-8)%this.radix||this.radix,F=[C.partial(U,this.getLimb(q))];for(q--;q>=0;q--)F=C.concat(F,[C.partial(Math.min(this.radix,K),this.getLimb(q))]),K-=this.radix;return F},N.prototype.bitLength=function(){this.fullReduce();let K=this.radix*(this.limbs.length-1),q=this.limbs[this.limbs.length-1];for(;q;q>>>=1)K++;return K+7&-8},j.fromBits=function(K){let q,C;if(this.bn)q=this.bn,C=this.bn.prototype;else q=this,C=this.prototype;let U=new q,F=[],V=T,Y=Math.min(this.bitLength||4294967296,V.bitLength(K)),R=Y%C.radix||C.radix;F[0]=V.extract(K,0,R);for(let M=R;M<Y;M+=C.radix)F.unshift(V.extract(K,M,C.radix));return U.limbs=F,U},N.prototype.ipv=1/(N.prototype.placeVal=Math.pow(2,N.prototype.radix)),N.prototype.radixMask=(1<<N.prototype.radix)-1,j.pseudoMersennePrime=function(K,q){function C(Y){this.initWith(Y)}let U=C.prototype=new N,F=K/U.radix,V=U.modOffset=Math.ceil(F);U.exponent=K,U.offset=[],U.factor=[],U.minOffset=V,U.fullMask=0,U.fullOffset=[],U.fullFactor=[],U.modulus=C.modulus=new N(Math.pow(2,K)),U.fullMask=0|-Math.pow(2,K%U.radix);for(let Y=0;Y<q.length;Y++)U.offset[Y]=Math.floor(q[Y][0]/U.radix-F),U.fullOffset[Y]=Math.floor(q[Y][0]/U.radix)-V+1,U.factor[Y]=q[Y][1]*Math.pow(0.5,K-q[Y][0]+U.offset[Y]*U.radix),U.fullFactor[Y]=q[Y][1]*Math.pow(0.5,K-q[Y][0]+U.fullOffset[Y]*U.radix),U.modulus.addM(new N(Math.pow(2,q[Y][0])*q[Y][1])),U.minOffset=Math.min(U.minOffset,-U.offset[Y]);return U._class=C,U.modulus.cnormalize(),U.reduce=function(){let Y=this.limbs,R=this.offset,M=this.offset.length,D=this.factor,O=this.minOffset,X,H;while(Y.length>V){X=Y.pop(),H=Y.length;for(let G=0;G<M;G++)Y[H+R[G]]-=D[G]*X;if(O--,!O)Y.push(0),this.cnormalize(),O=this.minOffset}return this.cnormalize(),this},U._strongReduce=U.fullMask===-1?U.reduce:function(){let Y=this.limbs,R=Y.length-1;if(this.reduce(),R===this.modOffset-1){let M=Y[R]&this.fullMask;Y[R]-=M;for(let D=0;D<this.fullOffset.length;D++)Y[R+this.fullOffset[D]]-=this.fullFactor[D]*M;this.normalize()}},U.fullReduce=function(){this._strongReduce(),this.addM(this.modulus),this.addM(this.modulus),this.normalize(),this._strongReduce();for(let R=this.limbs.length;R<this.modOffset;R++)this.limbs[R]=0;let Y=this.greaterEquals(this.modulus);for(let R=0;R<this.limbs.length;R++)this.limbs[R]-=this.modulus.limbs[R]*Y;return this.cnormalize(),this},U.inverse=function(){return this.power(this.modulus.sub(2))},C.fromBits=j.fromBits,C};let L=j.pseudoMersennePrime;return j.prime={p127:L(127,[[0,-1]]),p25519:L(255,[[0,-19]]),p192k:L(192,[[32,-1],[12,-1],[8,-1],[7,-1],[6,-1],[3,-1],[0,-1]]),p224k:L(224,[[32,-1],[12,-1],[11,-1],[9,-1],[7,-1],[4,-1],[1,-1],[0,-1]]),p256k:L(256,[[32,-1],[9,-1],[8,-1],[7,-1],[6,-1],[4,-1],[0,-1]]),p192:L(192,[[0,-1],[64,-1]]),p224:L(224,[[0,1],[96,-1]]),p256:L(256,[[0,-1],[96,1],[192,1],[224,-1]]),p384:L(384,[[0,-1],[32,1],[96,-1],[128,-1]]),p521:L(521,[[0,-1]])},j.random=function(K,q){if(typeof K!=="object")K=new N(K);let C=K.limbs.length,U=K.limbs[C-1]+1,F=new N,V;while(!0){do if(V=S.words(C,q),V[C-1]<0)V[C-1]+=4294967296;while(Math.floor(V[C-1]/U)===Math.floor(4294967296/U));V[C-1]%=U;for(let Y=0;Y<C-1;Y++)V[Y]&=K.radixMask;if(F.limbs=V,!F.greaterEquals(K))return F}},j}}),ZQ({name:"hmac",dependencies:["bitArray","utf8","sha256"],factory:function(T,S,j){let N={};return N.fn=function(L,K){if(this._updated=!1,this._hash=K||j,typeof L==="string")L=T.ui8_to_ba(S.toBytes(L));let q=[[],[]],C=this._hash.fn.prototype.blockSize/32;if(this._baseHash=[new this._hash.fn,new this._hash.fn],L.length>C)L=this._hash.hash(L);let U=L;for(let F=0;F<C;F++)q[0][F]=(U[F]|0)^909522486,q[1][F]=(U[F]|0)^1549556828;this._baseHash[0].update(q[0]),this._baseHash[1].update(q[1]),this._resultHash=new this._hash.fn(this._baseHash[0])},N.fn.prototype.encrypt=function(L){if(this._updated)return console.warn("[crypto] INVALID: hmac: encrypt called on already-updated instance"),!1;return this.update(L),this.digest()},N.fn.prototype.mac=N.fn.prototype.encrypt,N.fn.prototype.reset=function(){this._resultHash=new this._hash.fn(this._baseHash[0]),this._updated=!1},N.fn.prototype.update=function(L){return this._updated=!0,this._resultHash.update(L),this},N.fn.prototype.digest=function(){let L=this._resultHash.finalize(),K=new this._hash.fn(this._baseHash[1]).update(L).finalize();return this.reset(),K},N.verify=function(L,K,q,C){let U=new N.fn(L,C).encrypt(K);if(U===!1)return!1;return T.equal(U,q)},N}}),ZQ({name:"rsa",dependencies:["bitArray","bn","random"],factory:function(T,S,j){function N($){return S.fromBits(T.ui8_to_ba($))}function L($,Z){let W=$.toBits(Z*8);return T.ba_to_ui8(W)}function K($){return $.length}function q($,Z){let W=N($.n),z=N($.e);return Z.powermod(z,W)}function C($,Z,W){let z=!(W&&W.blinding===!1),P=N($.n),w=Z,v=null;if(z&&$.e){let x=N($.e),B,f,A=0;while(A<16){if(B=S.random(P,6),B===!1){v=null,w=Z;break}if(B.equals(0)||B.equals(1)){A++;continue}if(f=B.inverseMod(P),f===!1||f===void 0){A++;continue}v=f;let h=B.powermod(x,P);w=Z.mul(h).mod(P).normalize();break}if(v===null)console.warn("[crypto] WEAK: rsa: blinding disabled (random failure or gcd(r, n) ≠ 1) - falling back to unblinded decrypt"),w=Z}let k;if($.p&&$.q&&$.dp&&$.dq&&$.qInv){let x=N($.p),B=N($.q),f=N($.dp),A=N($.dq),h=N($.qInv),b=w.mod(x).normalize().powermod(f,x),y=w.mod(B).normalize().powermod(A,B),p=y.mod(x).normalize(),n;if(b.greaterEquals(p))n=b.sub(p).normalize();else n=b.add(x).sub(p).normalize();let i=n.mul(h).mod(x).normalize();k=y.add(B.mul(i)).mod(P).normalize()}else{let x=N($.d);k=w.powermod(x,P)}if(v!==null)k=k.mul(v).mod(P).normalize();return k}function U($,Z,W){let z=new Uint8Array(W),P=new Uint8Array(4),w=0;for(let v=0;w<W;v++){P[0]=v>>>24&255,P[1]=v>>>16&255,P[2]=v>>>8&255,P[3]=v&255;let k=new Uint8Array(Z.length+4);k.set(Z,0),k.set(P,Z.length);let x=T.ba_to_ui8($.hash(T.ui8_to_ba(k))),B=Math.min(x.length,W-w);z.set(x.subarray(0,B),w),w+=B}return z}function F($,Z){return T.ba_to_ui8($.hash(T.ui8_to_ba(Z)))}function V($,Z){let W=new Uint8Array($.length);for(let z=0;z<$.length;z++)W[z]=$[z]^Z[z];return W}function Y($,Z,W,z,P){let w=K($.n),v=F(W,z||new Uint8Array(0)),k=v.length;if(Z.length>w-2*k-2)return console.warn("[crypto] INVALID: rsa: message too long for OAEP"),!1;let x=w-Z.length-2*k-2,B=new Uint8Array(w-k-1);B.set(v,0),B[k+x]=1,B.set(Z,k+x+1);let f=P||j.bytes(k),A=U(W,f,w-k-1),h=V(B,A),b=U(W,h,k),y=V(f,b),p=new Uint8Array(w);p[0]=0,p.set(y,1),p.set(h,1+k);let n=q($,N(p));return L(n,w)}function R($,Z,W,z){let P=K($.n),w=F(W,z||new Uint8Array(0)),v=w.length;if(Z.length!==P||P<2*v+2)return console.warn("[crypto] INVALID: rsa: OAEP ciphertext length wrong"),!1;let k=C($,N(Z)),x=L(k,P),B=x[0],f=x.subarray(1,1+v),A=x.subarray(1+v),h=U(W,A,v),b=V(f,h),y=U(W,b,P-v-1),p=V(A,y);for(let CQ=0;CQ<v;CQ++)B|=p[CQ]^w[CQ];let n=0,i=0,YQ=0;for(let CQ=v;CQ<p.length;CQ++){let qQ=p[CQ],DQ=(qQ^1)-1>>>31,TQ=qQ-1>>>31;i|=CQ&-(DQ&1-n|0),n|=DQ,YQ|=1-n&1-TQ}if(B|=YQ|1-n,B!==0)return console.error("[crypto] CORRUPT: rsa: OAEP decryption failed"),!1;return new Uint8Array(p.subarray(i+1))}function M($,Z,W,z){let P=$.length,w=Z+7>>>3,v=z.length;if(w<P+v+2)return console.warn("[crypto] INVALID: rsa: PSS encoding too short"),!1;let k=new Uint8Array(8+P+v);k.set($,8),k.set(z,8+P);let x=F(W,k),B=new Uint8Array(w-P-1);B[w-P-v-2]=1,B.set(z,w-P-v-1);let f=U(W,x,B.length),A=V(B,f),h=8*w-Z;if(h>0)A[0]&=255>>>h;let b=new Uint8Array(w);return b.set(A,0),b.set(x,w-P-1),b[w-1]=188,b}function D($,Z,W,z,P){let w=$.length,v=Z.length;if(v<w+P+2||Z[v-1]!==188)return!1;let k=new Uint8Array(Z.subarray(0,v-w-1)),x=Z.subarray(v-w-1,v-1),B=8*v-W;if(B>0&&(k[0]&(255<<8-B&255))!==0)return!1;let f=U(z,x,k.length),A=V(k,f);if(B>0)A[0]&=255>>>B;for(let n=0;n<v-w-P-2;n++)if(A[n]!==0)return!1;if(A[v-w-P-2]!==1)return!1;let h=A.subarray(A.length-P),b=new Uint8Array(8+w+P);b.set($,8),b.set(h,8+w);let y=F(z,b),p=0;for(let n=0;n<w;n++)p|=x[n]^y[n];return p===0}function O($,Z,W,z,P){let w=K($.n),v=N($.n).bitLength()-1,k=v+7>>>3,x=F(W,Z);if(z===void 0)z=x.length;let B=P||(z>0?j.bytes(z):new Uint8Array(0)),f=M(x,v,W,B);if(f===!1)return!1;let A=f;if(k<w)A=new Uint8Array(w),A.set(f,w-k);let h=C($,N(A));return L(h,w)}function X($,Z,W,z,P){let w=K($.n);if(W.length!==w)return!1;let v=N($.n).bitLength()-1,k=v+7>>>3,x=q($,N(W)),B=L(x,w).subarray(w-k),f=F(z,Z);if(P===void 0)P=f.length;return D(f,B,v,z,P)}function H(){return console.warn("[crypto] DEPRECATED: rsa: PKCS#1 v1.5 signature scheme (RFC 8017 §8.2) is deprecated by NIST SP 800-131A Rev.2 (Table 5). Use pssSign() instead."),!1}function G(){return console.warn("[crypto] DEPRECATED: rsa: PKCS#1 v1.5 signature verification (RFC 8017 §8.2) is deprecated by NIST SP 800-131A Rev.2 (Table 5). Use pssVerify() instead."),!1}function Q(){return console.warn("[crypto] DEPRECATED|UNSAFE: rsa: PKCS#1 v1.5 encryption (RFC 8017 §7.2) is vulnerable to Bleichenbacher padding oracle attacks. Use oaepEncrypt() instead."),!1}function J(){return console.warn("[crypto] DEPRECATED|UNSAFE: rsa: PKCS#1 v1.5 decryption (RFC 8017 §7.2) is vulnerable to Bleichenbacher padding oracle attacks. Use oaepDecrypt() instead."),!1}return{oaepEncrypt:Y,oaepDecrypt:R,pssSign:O,pssVerify:X,pkcs1v15Sign:H,pkcs1v15Verify:G,pkcs1v15Encrypt:Q,pkcs1v15Decrypt:J,_internal:{rsaep:q,rsadp:C,mgf1:U}}}}),ZQ({name:"ecc",dependencies:["bitArray","hex","bn","sha256","sha384","sha512","hmac"],factory:function(T,S,j,N,L,K,q){let C={256:N,384:L,512:K};function U(Q){if(Q<=256)return N;if(Q<=384)return L;return K}function F(Q){let J=0;for(let W=0;W<Q.length;W++)J+=Q[W].length;let $=new Uint8Array(J),Z=0;for(let W=0;W<Q.length;W++)$.set(Q[W],Z),Z+=Q[W].length;return $}function V(Q,J,$){let Z=new q.fn(T.ui8_to_ba(J),Q);return T.ba_to_ui8(Z.encrypt(T.ui8_to_ba($)))}function Y(Q,J){let $=Q.toBits(J*8),Z=T.ba_to_ui8($);if(Z.length===J)return Z;let W=new Uint8Array(J);return W.set(Z,J-Z.length),W}function R(Q,J){let $=T.bitLength(Q),Z=Q;if($>J)Z=T.clamp(Q,J);return j.fromBits(Z)}function M(Q,J,$,Z){let W=R(Q,Z),z=W.greaterEquals(J)?W.sub(J).normalize():W;return Y(z,$)}function D(Q){let J=T.ba_to_ui8(Q.toBits()),$=0;while($<J.length&&J[$]===0)$++;if($===J.length)return 0;let Z=(J.length-$)*8,W=J[$];while((W&128)===0)Z--,W=W<<1&255;return Z}function O(Q,J,$,Z){let W=D($),z=W+7>>>3,P=Y(J,z),w=M(Q,$,z,W),v=T.bitLength(Z.hash([]))/8,k=new Uint8Array(v).fill(1),x=new Uint8Array(v),B=new Uint8Array([0]),f=new Uint8Array([1]);x=V(Z,x,F([k,B,P,w])),k=V(Z,x,k),x=V(Z,x,F([k,f,P,w])),k=V(Z,x,k);for(;;){let A=new Uint8Array(0);while(A.length*8<W)k=V(Z,x,k),A=F([A,k]);let h=R(T.ui8_to_ba(A),W);if(!h.equals(0)&&!h.greaterEquals($))return h;x=V(Z,x,F([k,B])),k=V(Z,x,k)}}let X={};X.point=function(Q,J,$){if(J===void 0)this.isIdentity=!0;else{if(J instanceof j.bn)J=new Q.field(J);if($ instanceof j.bn)$=new Q.field($);this.x=J,this.y=$,this.isIdentity=!1}this.curve=Q},X.point.prototype={toJac(){return new X.pointJac(this.curve,this.x,this.y,new this.curve.field(1))},mult(Q){return this.toJac().mult(Q,this).toAffine()},mult2(Q,J,$){return this.toJac().mult2(Q,this,J,$).toAffine()},multiples(){if(this._multiples===void 0){let Q=this.toJac().doubl(),J=[Q];for(let $=3;$<16;$++)Q=Q.add(this),J.push(Q);this._multiples=[new X.point(this.curve),this].concat(X.pointJac.toAffineMultiple(J))}return this._multiples},negate(){let Q=new this.curve.field(0).sub(this.y).normalize().reduce();return new X.point(this.curve,this.x,Q)},isValid(){return this.y.square().equals(this.curve.b.add(this.x.mul(this.curve.a.add(this.x.square()))))},toBits(){return T.concat(this.x.toBits(),this.y.toBits())}},X.pointJac=function(Q,J,$,Z){if(J===void 0)this.isIdentity=!0;else this.x=J,this.y=$,this.z=Z,this.isIdentity=!1;this.curve=Q},X.pointJac.toAffineMultiple=function(Q){let J=0,$,Z,W,z,P,w,v,k=Array(Q.length);for(;J<Q.length;J++){if(Z=Q[J],v!==Z.curve){if(v){for(J=0;J<Q.length;J++)k[J]=Q[J].toAffine();return k}v=Z.curve}if(!Z.isIdentity&&!Z.z.equals(0))if(W)W.push(z),z=z.mul(Z.z);else z=Z.z,W=[]}if(W)z=z.inverse(),$=W.length-1;for(J--;J>=0;J--)if(Z=Q[J],Z.isIdentity||Z.z.equals(0))k[J]=new X.point(Z.curve);else{if($>=0)P=z.mul(W[$]),z=z.mul(Z.z),$--;else P=z;w=P.square(),k[J]=new X.point(Z.curve,Z.x.mul(w).fullReduce(),Z.y.mul(w.mul(P)).fullReduce())}return k},X.pointJac.prototype={add(Q){let J=this;if(J.curve!==Q.curve)return console.warn("[crypto] INVALID: ecc.add: points must be on the same curve"),!1;if(J.isIdentity)return Q.toJac();if(Q.isIdentity)return J;let $=J.z.square(),Z=Q.x.mul($).subM(J.x);if(Z.equals(0)){if(J.y.equals(Q.y.mul($.mul(J.z))))return J.doubl();return new X.pointJac(J.curve)}let W=Q.y.mul($.mul(J.z)).subM(J.y),z=Z.square(),P=W.square(),w=Z.square().mul(Z).addM(J.x.add(J.x).mul(z)),v=P.subM(w),k=J.x.mul(z).subM(v).mul(W),x=J.y.mul(Z.square().mul(Z)),B=k.subM(x),f=J.z.mul(Z);return new X.pointJac(this.curve,v,B,f)},doubl(){if(this.isIdentity)return this;let Q=this.y.square(),J=Q.mul(this.x.mul(4)),$=Q.square().mul(8),Z=this.z.square(),W=this.curve.a.toHex()===new j.bn(-3).toHex()?this.x.sub(Z).mul(3).mul(this.x.add(Z)):this.x.square().mul(3).add(Z.square().mul(this.curve.a)),z=W.square().subM(J).subM(J),P=J.sub(z).mul(W).subM($),w=this.y.add(this.y).mul(this.z);return new X.pointJac(this.curve,z,P,w)},toAffine(){if(this.isIdentity||this.z.equals(0))return new X.point(this.curve);let Q=this.z.inverse(),J=Q.square();return new X.point(this.curve,this.x.mul(J).fullReduce(),this.y.mul(J.mul(Q)).fullReduce())},mult(Q,J){if(typeof Q==="number")Q=[Q];else if(Q.limbs!==void 0)Q=Q.normalize().limbs;let $=new X.point(this.curve).toJac(),Z=J.multiples();for(let W=Q.length-1;W>=0;W--)for(let z=j.bn.prototype.radix-4;z>=0;z-=4)$=$.doubl().doubl().doubl().doubl().add(Z[Q[W]>>z&15]);return $},mult2(Q,J,$,Z){if(typeof Q==="number")Q=[Q];else if(Q.limbs!==void 0)Q=Q.normalize().limbs;if(typeof $==="number")$=[$];else if($.limbs!==void 0)$=$.normalize().limbs;let W=new X.point(this.curve).toJac(),z=J.multiples(),P=Z.multiples();for(let w=Math.max(Q.length,$.length)-1;w>=0;w--){let v=Q[w]|0,k=$[w]|0;for(let x=j.bn.prototype.radix-4;x>=0;x-=4)W=W.doubl().doubl().doubl().doubl().add(z[v>>x&15]).add(P[k>>x&15])}return W},negate(){return this.toAffine().negate().toJac()},isValid(){let Q=this.z.square(),J=Q.square(),$=J.mul(Q);return this.y.square().equals(this.curve.b.mul($).add(this.x.mul(this.curve.a.mul(J).add(this.x.square()))))}},X.curve=function(Q,J,$,Z,W,z){this.field=Q,this.r=new j.bn(J),this.a=new Q($),this.b=new Q(Z),this.G=new X.point(this,new Q(W),new Q(z))},X.curve.prototype.fromBits=function(Q){let J=this.field.prototype.exponent+7&-8,$=new X.point(this,this.field.fromBits(T.bitSlice(Q,0,J)),this.field.fromBits(T.bitSlice(Q,J,2*J)));if(!$.isValid())return console.error("[crypto] CORRUPT: ecc: point not on the curve"),!1;return $},X.curves={c192:new X.curve(j.prime.p192,"0xffffffffffffffffffffffff99def836146bc9b1b4d22831",-3,"0x64210519e59c80e70fa7e9ab72243049feb8deecc146b9b1","0x188da80eb03090f67cbf20eb43a18800f4ff0afd82ff1012","0x07192b95ffc8da78631011ed6b24cdd573f977a11e794811"),c224:new X.curve(j.prime.p224,"0xffffffffffffffffffffffffffff16a2e0b8f03e13dd29455c5c2a3d",-3,"0xb4050a850c04b3abf54132565044b0b7d7bfd8ba270b39432355ffb4","0xb70e0cbd6bb4bf7f321390b94a03c1d356c21122343280d6115c1d21","0xbd376388b5f723fb4c22dfe6cd4375a05a07476444d5819985007e34"),c256:new X.curve(j.prime.p256,"0xffffffff00000000ffffffffffffffffbce6faada7179e84f3b9cac2fc632551",-3,"0x5ac635d8aa3a93e7b3ebbd55769886bc651d06b0cc53b0f63bce3c3e27d2604b","0x6b17d1f2e12c4247f8bce6e563a440f277037d812deb33a0f4a13945d898c296","0x4fe342e2fe1a7f9b8ee7eb4a7c0f9e162bce33576b315ececbb6406837bf51f5"),c384:new X.curve(j.prime.p384,"0xffffffffffffffffffffffffffffffffffffffffffffffffc7634d81f4372ddf581a0db248b0a77aecec196accc52973",-3,"0xb3312fa7e23ee7e4988e056be3f82d19181d9c6efe8141120314088f5013875ac656398d8a2ed19d2a85c8edd3ec2aef","0xaa87ca22be8b05378eb1c71ef320ad746e1d3b628ba79b9859f741e082542a385502f25dbf55296c3a545e3872760ab7","0x3617de4a96262c6f5d9e98bf9292dc29f8f41dbd289a147ce9da3113b5f0b8c00a60b1ce1d7e819d7a431d7c90ea0e5f"),c521:new X.curve(j.prime.p521,"0x1FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFA51868783BF2F966B7FCC0148F709A5D03BB5C9B8899C47AEBB6FB71E91386409",-3,"0x051953EB9618E1C9A1F929A21A0B68540EEA2DA725B99B315F3B8B489918EF109E156193951EC7E937B1652C0BD3BB1BF073573DF883D2C34F1EF451FD46B503F00","0xC6858E06B70404E9CD9E3ECB662395B4429C648139053FB521F828AF606B4D3DBAA14B5E77EFE75928FE1DC127A2FFA8DE3348B3C1856A429BF97E7E31C2E5BD66","0x11839296A789A3BC0045C8A5FB42C7D1BD998F54449579B446817AFBD17273E662C97EE72995EF42640C550B9013FAD0761353C7086A272C24088BE94769FD16650"),k192:new X.curve(j.prime.p192k,"0xfffffffffffffffffffffffe26f2fc170f69466a74defd8d",0,3,"0xdb4ff10ec057e9ae26b07d0280b7f4341da5d1b1eae06c7d","0x9b2f2f6d9c5628a7844163d015be86344082aa88d95e2f9d"),k224:new X.curve(j.prime.p224k,"0x010000000000000000000000000001dce8d2ec6184caf0a971769fb1f7",0,5,"0xa1455b334df099df30fc28a169a467e9e47075a90f7e650eb6b7a45c","0x7e089fed7fba344282cafbd6f7e319f7c0b0bd59e2ca4bdb556d61a5"),k256:new X.curve(j.prime.p256k,"0xfffffffffffffffffffffffffffffffebaaedce6af48a03bbfd25e8cd0364141",0,7,"0x79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798","0x483ada7726a3c4655da4fbfc0e1108a8fd17b448a68554199c47d08ffb10d4b8")},X.curveName=function(Q){for(let J in X.curves)if(Object.prototype.hasOwnProperty.call(X.curves,J)&&X.curves[J]===Q)return J;return console.warn("[crypto] INVALID: ecc: no such curve"),!1};function H(Q,J){let $=J.field.prototype.exponent+7&-8,Z=j.fromBits(T.bitSlice(Q,0,$)),W=j.fromBits(T.bitSlice(Q,$,2*$)),z=J.field.modulus;return!Z.greaterEquals(z)&&!W.greaterEquals(z)}function G(Q,J){if(!Q||Q===!1)return!1;if(Q.isIdentity)return!1;if(!Q.isValid())return!1;let $=Q.mult(J.r);return!!$&&$.isIdentity}return X.deserialize=function(Q){let J=["elGamal","ecdsa"];if(!Q||!Q.curve||!X.curves[Q.curve])return console.warn("[crypto] INVALID: ecc: invalid serialization"),!1;if(J.indexOf(Q.type)===-1)return console.warn("[crypto] INVALID: ecc: invalid type"),!1;let $=X.curves[Q.curve];if(Q.secretKey){if(!Q.exponent)return console.warn("[crypto] INVALID: ecc: invalid exponent"),!1;let z=new j.bn(Q.exponent);return new X[Q.type].secretKey($,z)}if(!Q.point)return console.warn("[crypto] INVALID: ecc: invalid point"),!1;let Z=T.ui8_to_ba(S.toBytes(Q.point));if(!H(Z,$))return console.warn("[crypto] INVALID: ecc: x or y coordinate out of field range"),!1;let W=$.fromBits(Z);if(W===!1)return!1;if(!G(W,$))return console.warn("[crypto] INVALID: ecc: public key not in the main subgroup (n·Q != O)"),!1;return new X[Q.type].publicKey($,W)},X.basicKey={publicKey:function(Q,J){if(this._curve=Q,this._curveBitLength=Q.r.bitLength(),J instanceof Array)this._point=Q.fromBits(J);else this._point=J;this.serialize=function(){let $=X.curveName(Q);return{type:this.getType(),secretKey:!1,point:S.fromBytes(T.ba_to_ui8(this._point.toBits())),curve:$}},this.get=function(){let $=this._point.toBits(),Z=T.bitLength($),W=T.bitSlice($,0,Z/2),z=T.bitSlice($,Z/2);return{x:W,y:z}}},secretKey:function(Q,J){this._curve=Q,this._curveBitLength=Q.r.bitLength(),this._exponent=J,this.serialize=function(){let $=this.get(),Z=X.curveName(Q);return{type:this.getType(),secretKey:!0,exponent:S.fromBytes(T.ba_to_ui8($)),curve:Z}},this.get=function(){return this._exponent.toBits()}}},X.basicKey.generateKeys=function(Q){return function($,Z,W){if($=$||256,typeof $==="number"){if($=X.curves["c"+$],$===void 0)return console.warn("[crypto] INVALID: ecc: no such curve"),!1}W=W||j.random($.r,Z);let z=$.G.mult(W);return{pub:new X[Q].publicKey($,z),sec:new X[Q].secretKey($,W)}}},X.elGamal={generateKeys:X.basicKey.generateKeys("elGamal"),publicKey:function(Q,J){X.basicKey.publicKey.apply(this,arguments)},secretKey:function(Q,J){X.basicKey.secretKey.apply(this,arguments)}},X.elGamal.publicKey.prototype={kem(Q,J=256){let $=j.random(this._curve.r,Q),Z=this._curve.G.mult($).toBits();return{key:(C[J]||N).hash(this._point.mult($).toBits()),tag:Z}},getType(){return"elGamal"}},X.elGamal.secretKey.prototype={unkem(Q,J=256){return(C[J]||N).hash(this._curve.fromBits(Q).mult(this._exponent).toBits())},dh(Q,J=256){return(C[J]||N).hash(Q._point.mult(this._exponent).toBits())},dhJavaEc(Q){return Q._point.mult(this._exponent).x.toBits()},getType(){return"elGamal"}},X.ecdsa={generateKeys:X.basicKey.generateKeys("ecdsa")},X.ecdsa.publicKey=function(Q,J){X.basicKey.publicKey.apply(this,arguments)},X.ecdsa.publicKey.prototype={verify(Q,J,$){let Z=null,W;if($&&typeof $==="object")Z=$,W=!!Z.fakeLegacyVersion;else W=!!$;let z=!!(Z&&Z.strict);if(T.bitLength(Q)>this._curveBitLength)Q=T.clamp(Q,this._curveBitLength);let P=this._curve.r,w=this._curveBitLength,v=j.fromBits(T.bitSlice(J,0,w)),k=j.fromBits(T.bitSlice(J,w,2*w)),x=W?k:k.inverseMod(P),B=j.fromBits(Q).mul(x).mod(P),f=v.mul(x).mod(P),A=this._curve.G.mult2(B,f,this._point).x;if(v.equals(0)||k.equals(0)||v.greaterEquals(P)||k.greaterEquals(P)||!A.equals(v))return console.error("[crypto] CORRUPT: ecdsa: signature did not verify"),!1;if(z){let h=P.copy().halveM().add(new j.bn(1));if(k.greaterEquals(h))return console.error("[crypto] CORRUPT: ecdsa: signature is malleable (s > n/2) under strict mode"),!1}return!0},getType(){return"ecdsa"}},X.ecdsa.secretKey=function(Q,J){X.basicKey.secretKey.apply(this,arguments)},X.ecdsa.secretKey.prototype={sign(Q,J,$,Z){let W=null;if(J&&typeof J==="object")W=J,J=W.paranoia,$=W.fakeLegacyVersion,Z=W.fixedKForTesting;let z=W?W.deterministic!==!1:!0,P=W?W.hashForK:null,w=!!(W&&W.strict);if(T.bitLength(Q)>this._curveBitLength)Q=T.clamp(Q,this._curveBitLength);let v=this._curve.r,k=v.bitLength(),x;if(Z)x=Z;else if(z){let h=P||U(this._curveBitLength);x=O(Q,this._exponent,v,h)}else x=j.random(v.sub(1),J).add(1);let B=this._curve.G.mult(x).x.mod(v),f=j.fromBits(Q).add(B.mul(this._exponent)),A=$?f.inverseMod(v).mul(x).mod(v):f.mul(x.inverseMod(v)).mod(v);if(w){let h=v.copy().halveM().add(new j.bn(1));if(A.greaterEquals(h))A=v.sub(A).normalize()}return T.concat(B.toBits(k),A.toBits(k))},getType(){return"ecdsa"}},X._internal={coordsInRange:H,isInSubgroup:G,isValidPublicKey(Q,J){let $=X.curves[Q];if(!$)return!1;let Z=T.ui8_to_ba(S.toBytes(J));if(!H(Z,$))return!1;let W=$.fromBits(Z);if(W===!1)return!1;return G(W,$)}},X}}),ZQ({name:"ed25519",dependencies:["sha512","bitArray"],factory:function(T,S){function j(g){let c=new Float64Array(16);if(g)for(let _=0;_<g.length;_++)c[_]=g[_];return c}let N=j(),L=j([1]),K=j([30883,4953,19914,30187,55467,16705,2637,112,59544,30585,16505,36039,65139,11119,27886,20995]),q=j([61785,9906,39828,60374,45398,33411,5274,224,53552,61171,33010,6542,64743,22239,55772,9222]),C=j([54554,36645,11616,51542,42930,38181,51040,26924,56412,64982,57905,49316,21502,52590,14035,8553]),U=j([26200,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214,26214]),F=j([41136,18958,6951,50414,58488,44335,6150,12099,55207,15867,153,11085,57099,20417,9344,11139]);function V(g){for(let c=0;c<16;c++){g[c]+=65536;let _=Math.floor(g[c]/65536);g[(c+1)*(c<15?1:0)]+=_-1+37*(_-1)*(c===15?1:0),g[c]-=_*65536}}function Y(g,c,_){let m=~(_-1);for(let u=0;u<16;u++){let o=m&(g[u]^c[u]);g[u]^=o,c[u]^=o}}function R(g,c){let _=j(),m=j();for(let u=0;u<16;u++)m[u]=c[u];V(m),V(m),V(m);for(let u=0;u<2;u++){_[0]=m[0]-65517;for(let t=1;t<15;t++)_[t]=m[t]-65535-(_[t-1]>>16&1),_[t-1]&=65535;_[15]=m[15]-32767-(_[14]>>16&1);let o=_[15]>>16&1;_[14]&=65535,Y(m,_,1-o)}for(let u=0;u<16;u++)g[2*u]=m[u]&255,g[2*u+1]=m[u]>>8}function M(g,c){let _=new Uint8Array(32),m=new Uint8Array(32);R(_,g),R(m,c);let u=0;for(let o=0;o<32;o++)u|=_[o]^m[o];return(1&u-1>>>8)-1}function D(g){let c=new Uint8Array(32);return R(c,g),c[0]&1}function O(g,c){for(let _=0;_<16;_++)g[_]=c[2*_]+(c[2*_+1]<<8);g[15]&=32767}function X(g,c,_){for(let m=0;m<16;m++)g[m]=c[m]+_[m]}function H(g,c,_){for(let m=0;m<16;m++)g[m]=c[m]-_[m]}function G(g,c,_){let m=new Float64Array(31);for(let u=0;u<16;u++)for(let o=0;o<16;o++)m[u+o]+=c[u]*_[o];for(let u=0;u<15;u++)m[u]+=38*m[u+16];for(let u=0;u<16;u++)g[u]=m[u];V(g),V(g)}function Q(g,c){G(g,c,c)}function J(g,c){let _=j();for(let m=0;m<16;m++)_[m]=c[m];for(let m=253;m>=0;m--)if(Q(_,_),m!==2&&m!==4)G(_,_,c);for(let m=0;m<16;m++)g[m]=_[m]}function $(g,c){let _=j();for(let m=0;m<16;m++)_[m]=c[m];for(let m=250;m>=0;m--)if(Q(_,_),m!==1)G(_,_,c);for(let m=0;m<16;m++)g[m]=_[m]}function Z(g,c){for(let _=0;_<16;_++)g[_]=c[_]}function W(g,c){let _=j(),m=j(),u=j(),o=j(),t=j(),r=j(),XQ=j(),UQ=j(),OQ=j();H(_,g[1],g[0]),H(OQ,c[1],c[0]),G(_,_,OQ),X(m,g[0],g[1]),X(OQ,c[0],c[1]),G(m,m,OQ),G(u,g[3],c[3]),G(u,u,q),G(o,g[2],c[2]),X(o,o,o),H(t,m,_),H(r,o,u),X(XQ,o,u),X(UQ,m,_),G(g[0],t,r),G(g[1],UQ,XQ),G(g[2],XQ,r),G(g[3],t,UQ)}function z(g,c,_){for(let m=0;m<4;m++)Y(g[m],c[m],_)}function P(g,c){let _=j(),m=j(),u=j();J(u,c[2]),G(_,c[0],u),G(m,c[1],u),R(g,m),g[31]^=D(_)<<7}function w(g,c,_){Z(g[0],N),Z(g[1],L),Z(g[2],L),Z(g[3],N);for(let m=255;m>=0;--m){let u=_[m/8|0]>>(m&7)&1;z(g,c,u),W(c,g),W(g,g),z(g,c,u)}}function v(g,c){let _=[j(),j(),j(),j()];Z(_[0],C),Z(_[1],U),Z(_[2],L),G(_[3],C,U),w(g,_,c)}let k=new Float64Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function x(g,c){let _,m,u;for(m=63;m>=32;--m){_=0;for(u=m-32;u<m-12;u++)c[u]+=_-16*c[m]*k[u-(m-32)],_=Math.floor((c[u]+128)/256),c[u]-=_*256;c[u]+=_,c[m]=0}_=0;for(u=0;u<32;u++)c[u]+=_-(c[31]>>4)*k[u],_=c[u]>>8,c[u]&=255;for(u=0;u<32;u++)c[u]-=_*k[u];for(m=0;m<32;m++)c[m+1]+=c[m]>>8,g[m]=c[m]&255}function B(g){let c=new Float64Array(64);for(let _=0;_<64;_++)c[_]=g[_];for(let _=0;_<64;_++)g[_]=0;x(g,c)}function f(...g){let c=0;for(let o of g)c+=o.length;let _=new Uint8Array(c),m=0;for(let o of g)_.set(o,m),m+=o.length;let u=S.ui8_to_ba(_);return S.ba_to_ui8(T.hash(u))}let A=new Uint8Array([83,105,103,69,100,50,53,53,49,57,32,110,111,32,69,100,50,53,53,49,57,32,99,111,108,108,105,115,105,111,110,115]);function h(g,c){let _=c?c.length:0;if(_>255)return console.warn("[crypto] INVALID: ed25519: context must be ≤ 255 bytes"),!1;let m=new Uint8Array(34+_);if(m.set(A,0),m[32]=g&255,m[33]=_&255,_>0)m.set(c,34);return m}function b(g){let c=f(g);c[0]&=248,c[31]&=127,c[31]|=64;let _=[j(),j(),j(),j()],m=new Uint8Array(32);v(_,c),P(m,_);let u=new Uint8Array(64);return u.set(g,0),u.set(m,32),{publicKey:m,privateKey:u}}function y(g){if(!(g instanceof Uint8Array)||g.length!==32)return console.warn("[crypto] INVALID: ed25519: seed must be 32 bytes"),!1;return b(g)}function p(g,c,_){if(!(g instanceof Uint8Array)||g.length!==64)return console.warn("[crypto] INVALID: ed25519: privateKey must be 64 bytes (seed || pub)"),!1;let m=g.subarray(0,32),u=g.subarray(32,64),o=f(m);o[0]&=248,o[31]&=127,o[31]|=64;let t=o.subarray(32,64),r=_?f(_,t,c):f(t,c);B(r);let XQ=[j(),j(),j(),j()];v(XQ,r);let UQ=new Uint8Array(32);P(UQ,XQ);let OQ=_?f(_,UQ,u,c):f(UQ,u,c);B(OQ);let zQ=new Uint8Array(32),hQ=new Float64Array(64);for(let s=0;s<32;s++)hQ[s]=r[s];for(let s=0;s<32;s++)for(let GQ=0;GQ<32;GQ++)hQ[s+GQ]+=OQ[s]*o[GQ];x(zQ,hQ);let _Q=new Uint8Array(64);return _Q.set(UQ,0),_Q.set(zQ,32),_Q}function n(g,c){return p(g,c,null)}function i(g,c,_){let m=h(1,_);if(m===!1)return!1;let u=f(c);return p(g,u,m)}function YQ(g,c,_){if(!(_ instanceof Uint8Array)||_.length===0||_.length>255)return console.warn("[crypto] INVALID: ed25519: signCtx context must be 1..255 bytes (use sign() for empty context)"),!1;let m=h(0,_);if(m===!1)return!1;return p(g,c,m)}function CQ(g,c){let _=j(),m=j(),u=j(),o=j(),t=j(),r=j(),XQ=j();if(Z(g[2],L),O(g[1],c),Q(u,g[1]),G(o,u,K),H(u,u,g[2]),X(o,g[2],o),Q(t,o),Q(r,t),G(XQ,r,t),G(_,XQ,u),G(_,_,o),$(_,_),G(_,_,u),G(_,_,o),G(_,_,o),G(g[0],_,o),Q(m,g[0]),G(m,m,o),M(m,u))G(g[0],g[0],F);if(Q(m,g[0]),G(m,m,o),M(m,u))return-1;if(D(g[0])===c[31]>>7)H(g[0],N,g[0]);return G(g[3],g[0],g[1]),0}let qQ=new Uint8Array([237,211,245,92,26,99,18,88,214,156,247,162,222,249,222,20,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16]);function DQ(g){let c=0,_=0;for(let m=31;m>=0;m--){let u=g[m]|0,o=qQ[m]|0,t=u-o>>>31&1,r=o-u>>>31&1;c|=t&1-_,_|=r&1-c}return c===1}function TQ(g,c,_,m){if(!(g instanceof Uint8Array)||g.length!==32)return!1;if(!(_ instanceof Uint8Array)||_.length!==64)return!1;if(!DQ(_.subarray(32,64)))return!1;let u=[j(),j(),j(),j()];if(CQ(u,g)!==0)return!1;let o=_.subarray(0,32),t=m?f(m,o,g,c):f(o,g,c);B(t);let r=[j(),j(),j(),j()];w(r,u,t);let XQ=[j(),j(),j(),j()];v(XQ,_.subarray(32,64)),W(r,XQ);let UQ=new Uint8Array(32);P(UQ,r);let OQ=0;for(let zQ=0;zQ<32;zQ++)OQ|=_[zQ]^UQ[zQ];return OQ===0}function QQ(g,c,_){return TQ(g,c,_,null)}function e(g,c,_,m){let u=h(1,m);if(u===!1)return!1;let o=f(c);return TQ(g,o,_,u)}function JQ(g,c,_,m){if(!(m instanceof Uint8Array)||m.length===0||m.length>255)return console.warn("[crypto] INVALID: ed25519: verifyCtx context must be 1..255 bytes"),!1;let u=h(0,m);if(u===!1)return!1;return TQ(g,c,_,u)}function VQ(g){return console.warn("[crypto] NOT-IMPLEMENTED: ed25519: Ed448 (FIPS 186-5 §7.7 / RFC 8032 §5.2) is a separate curve (edwards448 + SHAKE-256, 57-byte pk / 114-byte sig) and is NOT implemented in this module. Use Ed25519 ("+g+"() instead) or implement a separate ed448.js module if Ed448 is required for CMVP / interop."),!1}return{keyPair:y,sign:n,verify:QQ,signPh:i,verifyPh:e,signCtx:YQ,verifyCtx:JQ,ed448:{keyPair:()=>VQ("keyPair"),sign:()=>VQ("sign"),verify:()=>VQ("verify"),signPh:()=>VQ("signPh"),verifyPh:()=>VQ("verifyPh")},_internal:{isValidPublicKey(g){if(!(g instanceof Uint8Array)||g.length!==32)return!1;let c=[j(),j(),j(),j()];return CQ(c,g)===0},dom2:h}}}}),ZQ({name:"pdfErrors",dependencies:[],factory:function(){class T extends Error{constructor(q,C,U){super(C);if(this.name=new.target.name,this.code=q,U&&U.context)this.context=U.context;if(U&&U.cause)this.cause=U.cause}}class S extends T{}class j extends T{}class N extends T{}class L extends T{}function K(q){return q instanceof T}return{PdfError:T,ParseError:S,RenderError:j,ContractError:N,EncryptionError:L,isPdfError:K}}}),ZQ({name:"pdfShared",dependencies:[],factory:function(){let T=new Uint8Array([37,80,68,70,45]),S=new Uint8Array([37,37,69,79,70]),j=new Uint8Array([37,226,227,207,211,10]),N=Object.freeze({NUL:0,HT:9,LF:10,FF:12,CR:13,SP:32,HASH:35,PERCENT:37,LPAREN:40,RPAREN:41,PLUS:43,MINUS:45,DOT:46,SLASH:47,ZERO:48,NINE:57,LANGLE:60,RANGLE:62,A_UP:65,F_UP:70,Z_UP:90,LBRACK:91,BACKSLASH:92,RBRACK:93,A_LO:97,F_LO:102,Z_LO:122,LBRACE:123,RBRACE:125});function L(z){return z===32||z===9||z===10||z===13||z===12||z===0}function K(z){return z===10||z===13}function q(z){return z>=48&&z<=57}function C(z){return z>=48&&z<=57||z>=65&&z<=70||z>=97&&z<=102}function U(z){return z===40||z===41||z===60||z===62||z===91||z===93||z===47||z===37||z===123||z===125}function F(z){return!L(z)&&!U(z)}function V(z){if(z>=48&&z<=57)return z-48;if(z>=65&&z<=70)return z-65+10;if(z>=97&&z<=102)return z-97+10;return-1}let Y=function(){let P=new Int8Array(128);P.fill(-1);for(let w=48;w<=57;w++)P[w]=w-48;for(let w=65;w<=70;w++)P[w]=w-65+10;for(let w=97;w<=102;w++)P[w]=w-97+10;return P}(),R=new TextEncoder,M=new TextDecoder("utf-8"),D=new TextDecoder("utf-8",{fatal:!1}),O=new TextDecoder("latin1");function X(z){return R.encode(z)}function H(z){return M.decode(z)}function G(z){return D.decode(z)}function Q(z){return O.decode(z)}function J(z){return String(z).padStart(10,"0")}function $(z){let P="<";for(let w=0;w<z.length;w++)P+="0123456789ABCDEF"[z[w]>>4]+"0123456789ABCDEF"[z[w]&15];return P+">"}function Z(z,P,w){if(!z||!P)return!1;if(w==null){if(z.length!==P.length)return!1;w=z.length}else if(z.length<w||P.length<w)return!1;let v=0;for(let k=0;k<w;k++)v|=z[k]^P[k];return v===0}function W(z){let P=0;for(let k of z)P+=k.length;let w=new Uint8Array(P),v=0;for(let k of z)w.set(k,v),v+=k.length;return w}return{HEADER_PREFIX:T,EOF_MARKER:S,BINARY_MARKER:j,ASCII:N,isWs:L,isEol:K,isDigit:q,isHex:C,isDelim:U,isRegular:F,hexNibble:V,HEX_LO:Y,te:R,tdUtf8:M,tdUtf8Lenient:D,tdLatin1:O,encodeAscii:X,decodeUtf8:H,decodeUtf8Lenient:G,decodeLatin1:Q,pad10:J,hexLit:$,bytesEqual:Z,concatBytes:W}}}),ZQ({name:"pdfTokenizer",dependencies:["pdfErrors","pdfShared"],factory:function(T,S){let{ParseError:j}=T,{ASCII:N,isWs:L,isEol:K,isDigit:q,isRegular:C,hexNibble:U}=S,{HT:F,LF:V,CR:Y,FF:R,LPAREN:M,RPAREN:D,LANGLE:O,RANGLE:X,LBRACK:H,RBRACK:G,SLASH:Q,PERCENT:J,BACKSLASH:$,PLUS:Z,MINUS:W,DOT:z,ZERO:P,HASH:w}=N;function v(x,B){if(!(x instanceof Uint8Array))throw new j("pdf/tokenizer/bad-input","tokenize() expects a Uint8Array",{context:{typeof:typeof x}});let f=!!(B&&B.keepWhitespace),A=B&&B.start|0||0,h=B&&Number.isFinite(B.end)?Math.min(B.end|0,x.length):x.length,b=null;function y(){return A}function p(QQ){if(QQ<0||QQ>x.length)throw new j("pdf/tokenizer/bad-seek","seek out of range",{context:{offset:QQ,total:x.length}});A=QQ,b=null}function n(){let QQ=A;A++;let e=[];while(A<h){let JQ=x[A];if(!C(JQ))break;if(JQ===w){if(A+2>=h)throw new j("pdf/tokenizer/bad-name-escape","truncated #xx escape in name",{context:{offset:A}});let VQ=U(x[A+1]),g=U(x[A+2]);if(VQ<0||g<0)throw new j("pdf/tokenizer/bad-name-escape","invalid hex digits in name escape",{context:{offset:A}});e.push(VQ<<4|g),A+=3}else e.push(JQ),A++}return{kind:"name",value:new TextDecoder("utf-8",{fatal:!1}).decode(Uint8Array.from(e)),offset:QQ,end:A}}function i(){let QQ=A,e=!1;if(x[A]===Z||x[A]===W)A++;while(A<h){let g=x[A];if(q(g)){A++;continue}if(g===z&&!e){e=!0,A++;continue}break}let JQ=new TextDecoder("latin1").decode(x.subarray(QQ,A));if(JQ===""||JQ==="+"||JQ==="-"||JQ===".")throw new j("pdf/tokenizer/bad-number","empty number token",{context:{offset:QQ}});let VQ=Number(JQ);if(!Number.isFinite(VQ))throw new j("pdf/tokenizer/bad-number","cannot parse number",{context:{raw:JQ,offset:QQ}});return{kind:e?"real":"int",value:VQ,offset:QQ,end:A,raw:JQ}}function YQ(){let QQ=A;A++;let e=[],JQ=1;while(A<h&&JQ>0){let VQ=x[A];if(VQ===M){JQ++,e.push(VQ),A++;continue}if(VQ===D){if(JQ--,JQ===0){A++;break}e.push(VQ),A++;continue}if(VQ===$){if(A+1>=h)throw new j("pdf/tokenizer/bad-string","trailing backslash in literal string",{context:{offset:A}});let g=x[A+1];if(g===V){A+=2;continue}if(g===Y){if(A+=2,A<h&&x[A]===V)A++;continue}if(g===110){e.push(V),A+=2;continue}if(g===114){e.push(Y),A+=2;continue}if(g===116){e.push(F),A+=2;continue}if(g===98){e.push(8),A+=2;continue}if(g===102){e.push(R),A+=2;continue}if(g===M||g===D||g===$){e.push(g),A+=2;continue}if(g>=P&&g<=P+7){let c=0,_=0;A++;while(_<3&&A<h&&x[A]>=P&&x[A]<=P+7)c=c<<3|x[A]-P,A++,_++;e.push(c&255);continue}A++;continue}if(VQ===Y){if(e.push(V),A++,A<h&&x[A]===V)A++;continue}e.push(VQ),A++}if(JQ!==0)throw new j("pdf/tokenizer/unterminated-string","literal string was not closed",{context:{offset:QQ}});return{kind:"string",value:Uint8Array.from(e),offset:QQ,end:A}}function CQ(){let QQ=A;A++;let e=[];while(A<h){let VQ=x[A];if(VQ===X){A++;break}if(L(VQ)){A++;continue}let g=U(VQ);if(g<0)throw new j("pdf/tokenizer/bad-hex","non-hex byte in hex string",{context:{offset:A,byte:VQ}});e.push(g),A++}if(e.length%2===1)e.push(0);let JQ=new Uint8Array(e.length/2);for(let VQ=0;VQ<JQ.length;VQ++)JQ[VQ]=e[2*VQ]<<4|e[2*VQ+1];return{kind:"hex",value:JQ,offset:QQ,end:A}}function qQ(){let QQ=A;while(A<h&&C(x[A]))A++;let e=new TextDecoder("latin1").decode(x.subarray(QQ,A));if(e==="")throw new j("pdf/tokenizer/empty-keyword","empty keyword",{context:{offset:QQ}});return{kind:"kw",value:e,offset:QQ,end:A}}function DQ(){if(b){let e=b;return b=null,e}while(A<h){let e=x[A];if(L(e)){if(f){let JQ=A;while(A<h&&L(x[A]))A++;return{kind:"ws",offset:JQ,end:A}}A++;continue}if(e===J){if(A+4<h&&x[A+1]===J&&x[A+2]===69&&x[A+3]===79&&x[A+4]===70){let JQ=A;return A+=5,{kind:"eof_marker",offset:JQ,end:A}}while(A<h&&!K(x[A]))A++;if(A<h&&x[A]===Y)A++;if(A<h&&x[A]===V)A++;continue}break}if(A>=h)return null;let QQ=x[A];if(QQ===Q)return n();if(QQ===H)return{kind:"open_arr",offset:A++,end:A};if(QQ===G)return{kind:"close_arr",offset:A++,end:A};if(QQ===O){if(A+1<h&&x[A+1]===O){let e=A;return A+=2,{kind:"open_dict",offset:e,end:A}}return CQ()}if(QQ===X){if(A+1<h&&x[A+1]===X){let e=A;return A+=2,{kind:"close_dict",offset:e,end:A}}throw new j("pdf/tokenizer/unexpected-rangle","lone > outside hex string",{context:{offset:A}})}if(QQ===M)return YQ();if(QQ===Z||QQ===W||QQ===z||q(QQ))return i();return qQ()}function TQ(){if(!b)b=DQ();return b}return{next:DQ,peek:TQ,pos:y,seek:p,bytes:x}}function k(x,B,f){let A=x.length,h=B.length;if(h===0||h>A)return-1;let b=Number.isFinite(f)?Math.min(f|0,A-h):A-h;Q:for(let y=b;y>=0;y--){for(let p=0;p<h;p++)if(x[y+p]!==B[p])continue Q;return y}return-1}return{tokenize:v,lastIndexOfBytes:k}}}),ZQ({name:"pdfParserObj",dependencies:[],factory:function(){let T={nul:()=>({type:"null"}),bool:(N)=>({type:"bool",value:!!N}),int:(N)=>({type:"int",value:N|0}),real:(N)=>({type:"real",value:+N}),name:(N)=>({type:"name",value:String(N)}),string:(N,L)=>({type:"string",value:N,syntax:L==="hex"?"hex":"lit"}),array:(N)=>({type:"array",items:N||[]}),dict:(N)=>({type:"dict",entries:N||{}}),ref:(N,L)=>({type:"ref",num:N|0,gen:L|0||0}),stream:(N,L)=>({type:"stream",dict:N,raw:L})};function S(N,L){if(!N||N.type!=="dict")return;return N.entries[L]}function j(N,L){return!!(N&&N.type===L)}return{obj:T,getEntry:S,isType:j}}}),ZQ({name:"pdfParser",dependencies:["pdfErrors","pdfParserObj","pdfTokenizer"],factory:function(T,S,j){let{ParseError:N}=T,{obj:L,getEntry:K,isType:q}=S,C=j.tokenize;function U($,Z){let W=$.entries&&$.entries.Length;if(!W)return-1;if(W.type==="int")return W.value;if(W.type==="ref"&&typeof Z==="function"){let z=Z(W);if(z&&z.type==="int")return z.value}return-1}function F($,Z,W){let z=[101,110,100,115,116,114,101,97,109],P=Math.min($.length,Z+(W|0));Q:for(let w=Z;w+z.length<=P;w++){for(let k=0;k<z.length;k++)if($[w+k]!==z[k])continue Q;let v=w;if(v>Z&&$[v-1]===10)v--;if(v>Z&&$[v-1]===13)v--;return v}return-1}function V($){let Z=$.bytes,W=$.pos();while(W<Z.length){let z=Z[W];if(z===32||z===9||z===10||z===13)W++;else break}$.seek(W)}let Y={maxDepth:200,maxArrayLen:1e6,maxStreamBytes:268435456};function R($){if($&&typeof $==="object"){if(Number.isInteger($.maxDepth)&&$.maxDepth>0)Y.maxDepth=$.maxDepth;if(Number.isInteger($.maxArrayLen)&&$.maxArrayLen>0)Y.maxArrayLen=$.maxArrayLen;if(Number.isInteger($.maxStreamBytes)&&$.maxStreamBytes>0)Y.maxStreamBytes=$.maxStreamBytes}return Y}function M($){let Z=$.next();if(!Z)throw new N("pdf/parser/eof","unexpected end of input");return D($,Z,0)}function D($,Z,W){if(W>Y.maxDepth)throw new N("pdf/parser/depth-exceeded","parser depth limit exceeded",{context:{depth:W,limit:Y.maxDepth,offset:Z&&Z.offset}});switch(Z.kind){case"kw":if(Z.value==="null")return{type:"null"};if(Z.value==="true")return{type:"bool",value:!0};if(Z.value==="false")return{type:"bool",value:!1};throw new N("pdf/parser/unexpected-keyword",`unexpected keyword "${Z.value}"`,{context:{offset:Z.offset,keyword:Z.value}});case"name":return{type:"name",value:Z.value};case"string":return{type:"string",value:Z.value,syntax:"lit"};case"hex":return{type:"string",value:Z.value,syntax:"hex"};case"int":return O($,Z);case"real":return{type:"real",value:Z.value};case"open_arr":return X($,Z.offset,W);case"open_dict":return H($,Z.offset,W);case"close_arr":case"close_dict":throw new N("pdf/parser/unbalanced",`unexpected ${Z.kind}`,{context:{offset:Z.offset}});default:throw new N("pdf/parser/unexpected-token",`unexpected token of kind "${Z.kind}"`,{context:{offset:Z.offset,kind:Z.kind}})}}function O($,Z){let W=$.pos(),z=$.peek();if(!z||z.kind!=="int")return{type:"int",value:Z.value};$.next();let P=$.peek();if(P&&P.kind==="kw"&&P.value==="R")return $.next(),{type:"ref",num:Z.value|0,gen:z.value|0};return $.seek(W),{type:"int",value:Z.value}}function X($,Z,W){let z=[];for(;;){let P=$.peek();if(!P)throw new N("pdf/parser/unterminated-array","array not closed",{context:{offset:Z}});if(P.kind==="close_arr")return $.next(),{type:"array",items:z};if(z.length>=Y.maxArrayLen)throw new N("pdf/parser/array-too-long","array exceeds parserLimits.maxArrayLen",{context:{length:z.length,limit:Y.maxArrayLen,offset:Z}});let w=$.next();z.push(D($,w,(W|0)+1))}}function H($,Z,W){let z={};for(;;){let P=$.peek();if(!P)throw new N("pdf/parser/unterminated-dict","dict not closed",{context:{offset:Z}});if(P.kind==="close_dict")return $.next(),{type:"dict",entries:z};if(P.kind!=="name")throw new N("pdf/parser/dict-key-not-name","expected /Name as dict key",{context:{offset:P.offset,kind:P.kind}});let w=$.next(),v=$.next();if(!v)throw new N("pdf/parser/eof","unexpected end of input");let k=D($,v,(W|0)+1);z[w.value]=k}}function G($,Z){let W=$.next();if(!W||W.kind!=="int")throw new N("pdf/parser/indirect-bad-num","expected object number",{context:{offset:W?W.offset:$.pos()}});let z=$.next();if(!z||z.kind!=="int")throw new N("pdf/parser/indirect-bad-gen","expected generation number",{context:{offset:z?z.offset:$.pos()}});let P=$.next();if(!P||P.kind!=="kw"||P.value!=="obj")throw new N("pdf/parser/indirect-missing-obj","expected obj keyword",{context:{offset:P?P.offset:$.pos()}});let w=M($),v=w,k=$.peek();if(w.type==="dict"&&k&&k.kind==="kw"&&k.value==="stream"){$.next();let B=$.bytes,f=$.pos();if(f<B.length&&B[f]===13)f++;if(f<B.length&&B[f]===10)f++;$.seek(f);let A=$.pos(),h=U(w,Z),b;if(Number.isFinite(h)&&h>=0&&A+h<=B.length)b=A+h;else if(b=F(B,A,Y.maxStreamBytes),b<0)throw new N("pdf/parser/stream/no-endstream","cannot locate endstream within quota",{context:{offset:A,num:W.value,gen:z.value,quota:Y.maxStreamBytes}});let y=B.subarray(A,b);$.seek(b),V($);let p=$.next();if(!p||p.kind!=="kw"||p.value!=="endstream")throw new N("pdf/parser/stream/expected-endstream","expected endstream",{context:{offset:p?p.offset:$.pos()}});v={type:"stream",dict:w,raw:y}}let x=$.next();if(!x||x.kind!=="kw"||x.value!=="endobj")throw new N("pdf/parser/indirect-missing-endobj","expected endobj",{context:{offset:x?x.offset:$.pos(),num:W.value,gen:z.value}});return{num:W.value,gen:z.value,value:v}}function Q($){let Z=C($);return M(Z)}function J($,Z,W){let z=C($,{start:Z|0});return G(z,W)}return{tokenize:C,parseObject:M,parseIndirect:G,parseFromBytes:Q,parseIndirectFromBytes:J,parserLimits:Y,setParserLimits:R,obj:L,getEntry:K,isType:q}}}),ZQ({name:"pdfXref",dependencies:["pdfErrors","pdfTokenizer","pdfParser"],factory:function(T,S,j){let{ParseError:N,RenderError:L}=T,K=S.tokenize,q=S.lastIndexOfBytes,C=j.parseObject;function U(G){let Q=Math.max(0,G.length-8192),J=q(G,new Uint8Array([115,116,97,114,116,120,114,101,102]),G.length);if(J<Q)return-1;return J}function F(G,Q){let J=K(G,{start:Q}),$=J.next();if(!$||$.kind!=="kw"||$.value!=="startxref")throw new N("pdf/xref/no-startxref","startxref keyword not found",{context:{offset:Q}});let Z=J.next();if(!Z||Z.kind!=="int"||Z.value<0)throw new N("pdf/xref/bad-startxref","startxref must be followed by a non-negative integer",{context:{offset:Q}});return Z.value}function V(G,Q,J){let $=0;for(let Z=0;Z<J;Z++){let W=G[Q+Z];if(W<48||W>57)throw new N("pdf/xref/bad-digit","expected ASCII digit in xref entry",{context:{offset:Q+Z,byte:W}});$=$*10+(W-48)}return $}function Y(G,Q){let J=K(G,{start:Q}),$=J.next();if(!$||$.kind!=="kw"||$.value!=="xref")throw new N("pdf/xref/no-xref-keyword","expected xref keyword",{context:{offset:Q}});let Z={};for(;;){let W=J.peek();if(!W||W.kind!=="int"){if(W)J.seek(W.offset);break}J.next();let z=J.next();if(!z||z.kind!=="int"||z.value<0)throw new N("pdf/xref/bad-subsection-header","xref subsection header must be `<first> <count>`",{context:{offset:W.offset}});let P=J.pos();if(P<G.length&&G[P]===13)P++;if(P<G.length&&G[P]===10)P++;for(let w=0;w<z.value;w++){if(P+20>G.length)throw new N("pdf/xref/truncated-entry","truncated xref entry",{context:{offset:P,expected:20}});let v=V(G,P,10);if(G[P+10]!==32)throw new N("pdf/xref/bad-entry-format","xref entry missing space at col 10",{context:{offset:P}});let k=V(G,P+11,5);if(G[P+16]!==32)throw new N("pdf/xref/bad-entry-format","xref entry missing space at col 16",{context:{offset:P}});let x=G[P+17];if(x!==110&&x!==102)throw new N("pdf/xref/bad-entry-flag","xref entry flag must be n or f",{context:{offset:P,byte:x}});Z[W.value+w]={offset:v,gen:k,free:x===102},P+=20}J.seek(P)}return{entries:Z,end:J.pos()}}function R(G,Q){let J=K(G,{start:Q}),$=J.next();if(!$||$.kind!=="kw"||$.value!=="trailer")throw new N("pdf/xref/no-trailer","expected trailer keyword",{context:{offset:Q}});let Z=C(J);if(Z.type!=="dict")throw new N("pdf/xref/trailer-not-dict","trailer must be a dictionary",{context:{offset:Q}});return{dict:Z,end:J.pos()}}function M(G,Q){let J=(v)=>new N("pdf/xref/not-xref-stream",`no cross-reference stream at offset ${Q}: ${v}`,{context:{offset:Q}});if(!Number.isInteger(Q)||Q<0||Q>=G.length)throw J("offset outside the file");let $,Z,W,z,P;try{let v=K(G,{start:Q});if($=v.next(),Z=v.next(),W=v.next(),!$||$.kind!=="int"||!Z||Z.kind!=="int"||!W||W.kind!=="kw"||W.value!=="obj")throw J("no indirect object header");z=C(v),P=v.peek()}catch(v){if(v&&v.code==="pdf/xref/not-xref-stream")throw v;throw J("the object does not parse")}let w=z&&z.type==="dict"&&z.entries.Type;if(!w||w.type!=="name"||w.value!=="XRef"||!P||P.kind!=="kw"||P.value!=="stream")throw J("the object is not a /Type /XRef stream");return{num:$.value,gen:Z.value,dict:z}}function D(G){let Q=1;while(G>255)G=Math.floor(G/256),Q++;return Q}function O(G){let Q="<";for(let J=0;J<G.length;J++)Q+="0123456789ABCDEF"[G[J]>>4]+"0123456789ABCDEF"[G[J]&15];return Q+">"}function X(G){return!!G&&Number.isInteger(G.num)&&G.num>=1}function H(G){let Q=(b)=>new L("pdf/xref/bad-stream-section",`cannot build the cross-reference stream: ${b}`);if(!G||!Number.isInteger(G.num)||G.num<1)throw Q("num must be an integer >= 1");if(!Number.isInteger(G.offset)||G.offset<0)throw Q("offset must be an integer >= 0");if(!Number.isInteger(G.prev)||G.prev<0)throw Q("prev must be an integer >= 0");if(!X(G.root))throw Q("root must be { num >= 1, gen }");if(G.encrypt!=null&&!X(G.encrypt))throw Q("encrypt must be an indirect reference { num >= 1, gen }");let J=new Map;J.set(0,[0,0,65535]);for(let b of G.entries||[]){if(!b||!Number.isInteger(b.num)||b.num<1||!Number.isInteger(b.offset)||b.offset<0)throw Q("each entry needs num >= 1 and offset >= 0");J.set(b.num,[1,b.offset,b.gen|0])}J.set(G.num,[1,G.offset,0]);let $=Array.from(J.keys()).sort((b,y)=>b-y),Z=0,W=0;for(let b of J.values()){if(b[1]>Z)Z=b[1];if(b[2]>W)W=b[2]}let z=[1,D(Z),D(W)],P=z[0]+z[1]+z[2],w=new Uint8Array($.length*P),v=0;for(let b of $){let y=J.get(b),p=v;for(let n=0;n<3;n++){let i=y[n];for(let YQ=z[n]-1;YQ>=0;YQ--)w[p+YQ]=i&255,i=Math.floor(i/256);p+=z[n]}v+=P}let k=[];for(let b=0;b<$.length;){let y=b;while(y+1<$.length&&$[y+1]===$[y]+1)y++;k.push(`${$[b]} ${y-b+1}`),b=y+1}let x=`<< /Type /XRef /Size ${Math.max(G.num+1,Number.isInteger(G.size)?G.size:0)} /W [${z.join(" ")}] /Index [${k.join(" ")}] /Root ${G.root.num} ${G.root.gen|0} R`;if(X(G.info))x+=` /Info ${G.info.num} ${G.info.gen|0} R`;if(G.id&&G.id[0]instanceof Uint8Array&&G.id[1]instanceof Uint8Array)x+=` /ID [${O(G.id[0])}${O(G.id[1])}]`;if(X(G.encrypt))x+=` /Encrypt ${G.encrypt.num} ${G.encrypt.gen|0} R`;x+=` /Prev ${G.prev} /Length ${w.length} >>`;let B=new TextEncoder,f=B.encode(`${G.num} 0 obj
12
+ ${x}
13
+ stream
14
+ `),A=B.encode(`
15
+ endstream
16
+ endobj
17
+ `),h=new Uint8Array(f.length+w.length+A.length);return h.set(f,0),h.set(w,f.length),h.set(A,f.length+w.length),h}return{locateStartXref:U,readStartXref:F,parseXrefTable:Y,parseTrailerDict:R,readXrefStreamDict:M,buildXrefStream:H}}}),ZQ({name:"pdfTrailer",dependencies:["pdfErrors","pdfParserObj"],factory:function(T,S){let{ParseError:j}=T,{isType:N}=S;function L(K){if(!N(K,"dict"))throw new j("pdf/trailer/not-dict","trailer is not a dictionary",{context:{type:K&&K.type}});let q=K.entries,C=q.Size;if(!C||C.type!=="int"||C.value<0)throw new j("pdf/trailer/missing-size","trailer is missing required /Size entry",{context:{hasSize:!!C}});let U=q.Root;if(!U||U.type!=="ref")throw new j("pdf/trailer/missing-root","trailer is missing required /Root indirect reference",{context:{hasRoot:!!U,type:U&&U.type}});let F={size:C.value,root:{num:U.num,gen:U.gen},raw:K};if(q.Info&&q.Info.type==="ref")F.info={num:q.Info.num,gen:q.Info.gen};if(q.Prev&&q.Prev.type==="int")F.prev=q.Prev.value;if(q.Encrypt)F.encrypt=q.Encrypt.type==="ref"?{num:q.Encrypt.num,gen:q.Encrypt.gen}:q.Encrypt;if(q.ID&&q.ID.type==="array"&&q.ID.items.length===2&&q.ID.items[0].type==="string"&&q.ID.items[1].type==="string")F.id=[q.ID.items[0].value,q.ID.items[1].value];return F}return{typeTrailer:L}}}),ZQ({name:"pdfSerializer",dependencies:["pdfErrors"],factory:function(T){let{RenderError:S}=T,j=new TextEncoder;function N(X){if(!X||typeof X.type!=="string")throw new S("pdf/serializer/bad-input","serializeObject expects a typed object",{context:{typeof:typeof X}});return D(q(X))}function L(X,H,G){if(!Number.isFinite(X)||X<0)throw new S("pdf/serializer/bad-num","object number must be a non-negative integer",{context:{num:X}});if(!Number.isFinite(H)||H<0)throw new S("pdf/serializer/bad-gen","generation number must be a non-negative integer",{context:{gen:H}});let Q=j.encode(`${X|0} ${H|0} obj
18
+ `),J=j.encode(`
19
+ endobj
20
+ `);if(G&&G.type==="stream"){let $=G.raw instanceof Uint8Array?G.raw:new Uint8Array(0),Z={type:"dict",entries:{...(G.dict||{type:"dict",entries:{}}).entries,Length:{type:"int",value:$.length}}},W=D(q(Z)),z=j.encode(`
21
+ stream
22
+ `),P=j.encode(`
23
+ endstream`);return O([Q,W,z,$,P,J])}return O([Q,D(q(G)),J])}function K(X){if(!Number.isFinite(X))throw new S("pdf/serializer/bad-real","real number must be finite",{context:{value:X}});if(Number.isInteger(X))return`${X}`;let H=X.toFixed(5);if(H.indexOf(".")>=0){if(H=H.replace(/0+$/,""),H.endsWith("."))H=H.slice(0,-1)}if(H==="-0")H="0";return H}function q(X){switch(X.type){case"null":return["null"];case"bool":return[X.value?"true":"false"];case"int":return[`${X.value|0}`];case"real":return[K(X.value)];case"name":return[C(X.value)];case"string":return[U(X)];case"array":return R(X);case"dict":return M(X);case"ref":return[`${X.num|0} ${X.gen|0} R`];case"stream":throw new S("pdf/serializer/inline-stream","stream objects must be serialized via serializeIndirect");default:throw new S("pdf/serializer/unknown-type",`unknown object type "${X.type}"`,{context:{type:X.type}})}}function C(X){let H="/";for(let G=0;G<X.length;G++){let Q=X.codePointAt(G);if(Q>65535)G++;if(Q<33||Q>126||Q===35||Q===47||Q===40||Q===41||Q===60||Q===62||Q===91||Q===93||Q===123||Q===125||Q===37){let J=j.encode(String.fromCodePoint(Q));for(let $ of J)H+="#"+$.toString(16).padStart(2,"0").toUpperCase()}else H+=String.fromCharCode(Q)}return H}function U(X){let H=X.value;if(!(H instanceof Uint8Array))throw new S("pdf/serializer/bad-string","string value must be Uint8Array",{context:{typeof:typeof H}});if(X.syntax==="hex"||F(H))return Y(H);return V(H)}function F(X){let H=0;for(let G=0;G<X.length;G++){let Q=X[G];if(Q<9||Q>13&&Q<32||Q>=127)H++;if(H>X.length/4)return!0}return!1}function V(X){let H=["("];for(let G=0;G<X.length;G++){let Q=X[G];if(Q===92)H.push("\\\\");else if(Q===40)H.push("\\(");else if(Q===41)H.push("\\)");else if(Q===10)H.push("\\n");else if(Q===13)H.push("\\r");else if(Q===9)H.push("\\t");else if(Q===8)H.push("\\b");else if(Q===12)H.push("\\f");else if(Q<32||Q>126)H.push("\\"+Q.toString(8).padStart(3,"0"));else H.push(String.fromCharCode(Q))}return H.push(")"),H.join("")}function Y(X){let H="<";for(let G=0;G<X.length;G++)H+="0123456789ABCDEF"[X[G]>>4]+"0123456789ABCDEF"[X[G]&15];return H+">"}function R(X){let H=["["],G=!0;for(let Q of X.items){if(!G)H.push(" ");G=!1;for(let J of q(Q))H.push(J)}return H.push("]"),H}function M(X){let H=["<<"];for(let G of Object.keys(X.entries)){H.push(" "),H.push(C(G)),H.push(" ");for(let Q of q(X.entries[G]))H.push(Q)}return H.push(" >>"),H}function D(X){let H="";for(let G of X)H+=G;return j.encode(H)}function O(X){let H=0;for(let J of X)H+=J.length;let G=new Uint8Array(H),Q=0;for(let J of X)G.set(J,Q),Q+=J.length;return G}return{serializeObject:N,serializeIndirect:L,formatReal:K}}}),ZQ({name:"pdfCatalog",dependencies:["pdfErrors","pdfParser"],factory:function(T,S){let{ParseError:j}=T,N=S&&S.isType||((q,C)=>!!(q&&q.type===C)),L=new Set(["Type","Version","Pages","PageLabels","Names","Dests","ViewerPreferences","PageLayout","PageMode","Outlines","Threads","OpenAction","AA","URI","AcroForm","Metadata","StructTreeRoot","MarkInfo","Lang","SpiderInfo","OutputIntents","PieceInfo","OCProperties","Perms","Legal","Requirements","Collection","NeedsRendering","DSS","AF","DPartRoot"]);function K(q){if(!N(q,"dict"))throw new j("pdf/catalog/not-dict","Catalog must be a dictionary",{context:{type:q&&q.type}});let C=q.entries;if(C.Type&&(C.Type.type!=="name"||C.Type.value!=="Catalog"))throw new j("pdf/catalog/bad-type","/Type entry must be /Catalog",{context:{actual:C.Type.value}});if(!C.Pages||C.Pages.type!=="ref")throw new j("pdf/catalog/missing-pages","Catalog is missing required /Pages reference",{context:{type:C.Pages&&C.Pages.type}});let U={pages:{num:C.Pages.num,gen:C.Pages.gen},raw:q,_extras:{}};if(C.Version&&C.Version.type==="name")U.version=C.Version.value;if(C.PageLayout&&C.PageLayout.type==="name")U.pageLayout=C.PageLayout.value;if(C.PageMode&&C.PageMode.type==="name")U.pageMode=C.PageMode.value;if(C.Lang&&C.Lang.type==="string")U.lang=C.Lang.value;if(C.Outlines&&C.Outlines.type==="ref")U.outlines=C.Outlines;if(C.Metadata&&C.Metadata.type==="ref")U.metadata=C.Metadata;if(C.StructTreeRoot&&C.StructTreeRoot.type==="ref")U.structTreeRoot=C.StructTreeRoot;if(C.AcroForm)U.acroForm=C.AcroForm;if(C.Names)U.names=C.Names;if(C.Dests)U.dests=C.Dests;if(C.ViewerPreferences)U.viewerPrefs=C.ViewerPreferences;if(C.PageLabels)U.pageLabels=C.PageLabels;if(C.MarkInfo)U.markInfo=C.MarkInfo;if(C.OCProperties)U.ocProperties=C.OCProperties;if(C.OutputIntents)U.outputIntents=C.OutputIntents;for(let F of Object.keys(C))if(!L.has(F))U._extras[F]=C[F];return U}return{typeCatalog:K}}}),ZQ({name:"pdfPages",dependencies:["pdfErrors","pdfParser"],factory:function(T,S){let{ParseError:j}=T,N=S&&S.isType||((q,C)=>!!(q&&q.type===C));function L(q,C,U){let F=U&&U.maxDepth||64,V=U&&U.maxPages||200000,Y=[],R=new Set;return M(q,0),Y;function M(D,O){if(O>F)throw new j("pdf/pages/max-depth","page tree depth limit exceeded",{context:{depth:O,maxDepth:F}});let X=D.num+":"+D.gen;if(R.has(X))throw new j("pdf/pages/cycle","cycle detected in page tree",{context:{ref:D}});R.add(X);let H=C({type:"ref",num:D.num,gen:D.gen});if(!N(H,"dict"))throw new j("pdf/pages/not-dict","page tree node is not a dict",{context:{ref:D}});let G=H.entries.Type;if(G&&G.type==="name"&&G.value==="Page"||!H.entries.Kids&&!G){if(Y.push({num:D.num,gen:D.gen}),Y.length>V)throw new j("pdf/pages/too-many","page count limit exceeded",{context:{maxPages:V}});return}let Q=H.entries.Kids;if(!Q||Q.type!=="array")throw new j("pdf/pages/missing-kids","intermediate page tree node missing /Kids array",{context:{ref:D,hasKids:!!Q}});for(let J of Q.items){if(J.type!=="ref")throw new j("pdf/pages/non-ref-kid","page tree /Kids entries must be indirect refs",{context:{kind:J.type}});M({num:J.num,gen:J.gen},O+1)}}}function K(q){if(!N(q,"dict"))return null;let C=q.entries.Count;if(!C||C.type!=="int"&&C.type!=="real")return null;return C.value|0}return{walkPageTree:L,readPageCount:K}}}),ZQ({name:"pdfPage",dependencies:["pdfErrors","pdfParser"],factory:function(T,S){let{ParseError:j}=T,N=S&&S.isType||((V,Y)=>!!(V&&V.type===Y)),L=new Set(["Type","Parent","LastModified","Resources","MediaBox","CropBox","BleedBox","TrimBox","ArtBox","BoxColorInfo","Contents","Rotate","Group","Thumb","B","Dur","Trans","Annots","AA","Metadata","PieceInfo","StructParents","ID","PZ","SeparationInfo","Tabs","TemplateInstantiated","PresSteps","UserUnit","VP","AF","OutputIntents","DPart","AssociatedFiles"]);function K(V){if(!V||V.type!=="array"||V.items.length!==4)return null;let Y=Array(4);for(let R=0;R<4;R++){let M=V.items[R];if(!M||M.type!=="int"&&M.type!=="real")return null;Y[R]=M.value}return Y}function q(V){if(!V||V.type!=="int"&&V.type!=="real")return 0;let Y=((V.value|0)%360+360)%360;if(Y%90!==0)return 0;return Y}function C(V){if(!V)return[];if(V.type==="ref")return[{num:V.num,gen:V.gen}];if(V.type==="array"){let Y=[];for(let R of V.items)if(R.type==="ref")Y.push({num:R.num,gen:R.gen});return Y}return[]}function U(V){if(!V)return[];if(V.type==="ref")return[V];if(V.type==="array")return V.items.slice();return[]}function F(V){if(!N(V,"dict"))throw new j("pdf/page/not-dict","Page must be a dictionary",{context:{type:V&&V.type}});let Y=V.entries;if(Y.Type&&(Y.Type.type!=="name"||Y.Type.value!=="Page"))throw new j("pdf/page/bad-type","/Type must be /Page when present",{context:{actual:Y.Type.value}});let R={parent:Y.Parent&&Y.Parent.type==="ref"?{num:Y.Parent.num,gen:Y.Parent.gen}:null,mediaBox:K(Y.MediaBox),resources:Y.Resources||null,contents:C(Y.Contents),rotate:q(Y.Rotate),annots:U(Y.Annots),raw:V,_extras:{}};if(Y.CropBox)R.cropBox=K(Y.CropBox);if(Y.BleedBox)R.bleedBox=K(Y.BleedBox);if(Y.TrimBox)R.trimBox=K(Y.TrimBox);if(Y.ArtBox)R.artBox=K(Y.ArtBox);if(Y.UserUnit&&Y.UserUnit.type==="real")R.userUnit=Y.UserUnit.value;if(Y.UserUnit&&Y.UserUnit.type==="int")R.userUnit=Y.UserUnit.value;if(Y.Tabs&&Y.Tabs.type==="name")R.tabs=Y.Tabs.value;if(Y.Metadata)R.metadata=Y.Metadata;if(Y.Group)R.group=Y.Group;for(let M of Object.keys(Y))if(!L.has(M))R._extras[M]=Y[M];return R}return{typePage:F}}}),ZQ({name:"pdfCrossRefStream",dependencies:["pdfErrors","pdfParserObj"],factory:function(T,S){let{ParseError:j}=T,{isType:N}=S;function L(C,U,F){let V=0;for(let Y=0;Y<F;Y++)V=V*256+C[U+Y];return V}function K(C,U){if(!C||C.type!=="int")throw new j("pdf/xrefstm/missing-int",`XRef stream dict missing required /${U}`,{context:{label:U}});return C.value}function q(C,U){if(!(C instanceof Uint8Array))throw new j("pdf/xrefstm/bad-input","parseCrossRefStream expects Uint8Array");if(!N(U,"dict"))throw new j("pdf/xrefstm/bad-dict","XRef stream dict must be a typed dict");let F=U.entries;if(!F.Type||F.Type.type!=="name"||F.Type.value!=="XRef")throw new j("pdf/xrefstm/wrong-type","/Type must be /XRef",{context:{actual:F.Type&&F.Type.value}});let V=F.W;if(!V||V.type!=="array"||V.items.length!==3)throw new j("pdf/xrefstm/bad-W","/W must be a 3-element array",{context:{items:V&&V.items&&V.items.length}});let Y=V.items.map((X)=>{if(X.type!=="int"||X.value<0)throw new j("pdf/xrefstm/bad-W-entry","/W entries must be non-negative ints");return X.value}),R=Y[0]+Y[1]+Y[2];if(R<=0)throw new j("pdf/xrefstm/bad-W-zero","/W must yield at least one non-zero field");let M;if(F.Index){if(F.Index.type!=="array"||(F.Index.items.length&1)!==0)throw new j("pdf/xrefstm/bad-Index","/Index must be an array of (first, count) pairs");M=[];for(let X=0;X<F.Index.items.length;X+=2){let H=F.Index.items[X],G=F.Index.items[X+1];if(H.type!=="int"||G.type!=="int")throw new j("pdf/xrefstm/bad-Index-entry","/Index entries must be ints");M.push([H.value,G.value])}}else M=[[0,K(F.Size,"Size")]];let D={},O=0;for(let[X,H]of M)for(let G=0;G<H;G++){if(O+R>C.length)throw new j("pdf/xrefstm/truncated","truncated xref stream payload",{context:{pos:O,recordSize:R,length:C.length}});let Q=Y[0]>0?L(C,O,Y[0]):1,J=Y[1]>0?L(C,O+Y[0],Y[1]):0,$=Y[2]>0?L(C,O+Y[0]+Y[1],Y[2]):0;O+=R;let Z=X+G;if(Q===0)D[Z]={type:0,offset:J,gen:$,free:!0};else if(Q===1)D[Z]={type:1,offset:J,gen:$,free:!1};else if(Q===2)D[Z]={type:2,objStm:J,index:$,free:!1,offset:0,gen:0};else D[Z]={type:Q,offset:0,gen:0,free:!0}}return{entries:D,size:F.Size&&F.Size.type==="int"?F.Size.value:Object.keys(D).length,trailer:U}}return{parseCrossRefStream:q}}}),ZQ({name:"pdfObjStream",dependencies:["pdfErrors","pdfParserObj","pdfTokenizer","pdfParser"],factory:function(T,S,j,N){let{ParseError:L}=T,{isType:K}=S,q=j.tokenize,C=N.parseObject;function U(V,Y){if(!V||V.type!=="int")throw new L("pdf/objstm/missing-int",`ObjStm dict missing required /${Y}`,{context:{label:Y,hasEntry:!!V,type:V&&V.type}});return V.value}function F(V,Y){if(!(V instanceof Uint8Array))throw new L("pdf/objstm/bad-input","parseObjectStream expects Uint8Array",{context:{typeof:typeof V}});if(!K(Y,"dict"))throw new L("pdf/objstm/bad-dict","ObjStm dict must be a typed dict");let R=Y.entries;if(R.Type&&(R.Type.type!=="name"||R.Type.value!=="ObjStm"))throw new L("pdf/objstm/wrong-type","/Type must be /ObjStm",{context:{actual:R.Type.value}});let M=U(R.N,"N"),D=U(R.First,"First");if(M<0)throw new L("pdf/objstm/bad-N","/N must be non-negative",{context:{N:M}});if(D<0||D>V.length)throw new L("pdf/objstm/bad-First","/First out of payload range",{context:{First:D,length:V.length}});let O=q(V,{start:0,end:D}),X=Array(M),H=Array(M);for(let Q=0;Q<M;Q++){let J=O.next(),$=O.next();if(!J||J.kind!=="int"||!$||$.kind!=="int")throw new L("pdf/objstm/bad-pair","ObjStm header expects N pairs of integers",{context:{index:Q}});X[Q]=J.value,H[Q]=$.value}let G=Array(M);for(let Q=0;Q<M;Q++){let J=D+H[Q],$=Q+1<M?D+H[Q+1]:V.length;if(J<D||$>V.length||J>$)throw new L("pdf/objstm/bad-offset","ObjStm member offset out of range",{context:{index:Q,start:J,end:$,length:V.length}});let Z=q(V,{start:J,end:$}),W=C(Z);G[Q]={num:X[Q],gen:0,value:W}}return G}return{parseObjectStream:F}}}),ZQ({name:"pdfFlate",dependencies:["pdfErrors","zlib"],factory:function(T,S){let{ParseError:j}=T;if(!S||typeof S.unzlibSync!=="function"||typeof S.zlibSync!=="function")throw new j("pdf/flate/missing-fw","pdfFlate requires the @awacloud/fw zlib module",{context:{keys:S&&Object.keys(S)}});function N(X,H,G){let Q=X+H-G,J=Math.abs(Q-X),$=Math.abs(Q-H),Z=Math.abs(Q-G);if(J<=$&&J<=Z)return X;if($<=Z)return H;return G}function L(X){let H=X&&X.predictor!=null?X.predictor|0:X&&X.Predictor!=null?X.Predictor|0:1,G=X&&X.columns!=null?X.columns|0:X&&X.Columns!=null?X.Columns|0:1,Q=X&&X.colors!=null?X.colors|0:X&&X.Colors!=null?X.Colors|0:1,J=X&&X.bitsPerComponent!=null?X.bitsPerComponent|0:X&&X.BitsPerComponent!=null?X.BitsPerComponent|0:8;if(H!==1&&H!==2&&(H<10||H>15))throw new j("pdf/flate/bad-predictor","unsupported Predictor value",{context:{predictor:H}});if(G<=0||Q<=0||J<=0)throw new j("pdf/flate/bad-predictor-params","Columns, Colors and BitsPerComponent must be > 0",{context:{columns:G,colors:Q,bpc:J}});let $=Q*J,Z=Math.max(1,$+7>>3),W=G*$+7>>3;return{predictor:H,columns:G,colors:Q,bpc:J,bytesPerPixel:Z,rowBytes:W}}function K(X,H,G,Q){let J=new Uint8Array(H.length);for(let $=0;$<H.length;$++){let Z=$>=Q?J[$-Q]:0,W=G?G[$]:0,z=G&&$>=Q?G[$-Q]:0,P=H[$];switch(X){case 0:break;case 1:P=P+Z&255;break;case 2:P=P+W&255;break;case 3:P=P+(Z+W>>1)&255;break;case 4:P=P+N(Z,W,z)&255;break;default:throw new j("pdf/flate/bad-png-filter","unknown PNG filter tag",{context:{tag:X}})}J[$]=P}return J}function q(X,H,G,Q){let J=new Uint8Array(H.length);for(let $=0;$<H.length;$++){let Z=$>=Q?H[$-Q]:0,W=G?G[$]:0,z=G&&$>=Q?G[$-Q]:0,P=H[$];switch(X){case 0:J[$]=P;break;case 1:J[$]=P-Z&255;break;case 2:J[$]=P-W&255;break;case 3:J[$]=P-(Z+W>>1)&255;break;case 4:J[$]=P-N(Z,W,z)&255;break;default:throw new j("pdf/flate/bad-png-filter","unknown PNG filter tag",{context:{tag:X}})}}return J}function C(X,H){if(H.bpc!==8)throw new j("pdf/flate/tiff-bpc-unsupported","TIFF Predictor 2 requires BitsPerComponent=8",{context:{bpc:H.bpc}});let G=new Uint8Array(X.length),Q=H.colors,J=H.rowBytes,$=X.length/J|0;for(let Z=0;Z<$;Z++){let W=Z*J;for(let z=0;z<J;z++){let P=z>=Q?G[W+z-Q]:0;G[W+z]=X[W+z]+P&255}}return G}function U(X,H){if(H.bpc!==8)throw new j("pdf/flate/tiff-bpc-unsupported","TIFF Predictor 2 requires BitsPerComponent=8",{context:{bpc:H.bpc}});let G=new Uint8Array(X.length),Q=H.colors,J=H.rowBytes,$=X.length/J|0;for(let Z=0;Z<$;Z++){let W=Z*J;for(let z=0;z<J;z++){let P=z>=Q?X[W+z-Q]:0;G[W+z]=X[W+z]-P&255}}return G}function F(X,H){let G=H.rowBytes,Q=G+1;if(X.length%Q!==0)throw new j("pdf/flate/png-row-mismatch","predicted stream length is not a multiple of (rowBytes+1)",{context:{length:X.length,stride:Q}});let J=X.length/Q,$=new Uint8Array(J*G),Z=null;for(let W=0;W<J;W++){let z=X[W*Q],P=X.subarray(W*Q+1,W*Q+Q),w=K(z,P,Z,H.bytesPerPixel);$.set(w,W*G),Z=w}return $}function V(X,H){let G=H.rowBytes;if(X.length%G!==0)throw new j("pdf/flate/png-row-mismatch","input length is not a multiple of rowBytes",{context:{length:X.length,rowBytes:G}});let Q=X.length/G,J=G+1,$=new Uint8Array(Q*J),Z=H.predictor===15?-1:H.predictor-10,W=null;for(let z=0;z<Q;z++){let P=X.subarray(z*G,(z+1)*G),w=Z;if(w<0)w=z===0?0:2;let v=q(w,P,W,H.bytesPerPixel);$[z*J]=w,$.set(v,z*J+1),W=P}return $}function Y(X){return!!X&&X.code===0}function R(X){let H=[],G=0;new S.UnzlibStream(($)=>{H.push($),G+=$.length}).push(X,!1);let Q=new Uint8Array(G),J=0;for(let $ of H)Q.set($,J),J+=$.length;return Q}function M(X){return Object.defineProperty(X,"truncated",{value:!0,enumerable:!1}),X}function D(X,H){if(!(X instanceof Uint8Array))throw new j("pdf/flate/bad-input","FlateDecode expects Uint8Array");let G,Q=!1;try{G=S.unzlibSync(X)}catch(W){let z=()=>new j("pdf/flate/inflate-failed","inflate failed: "+(W&&W.message),{context:{length:X.length},cause:W});if(!Y(W)||typeof S.UnzlibStream!=="function")throw z();let P;try{P=R(X)}catch{throw z()}if(P.length===0)throw z();G=P,Q=!0}let J=(W)=>Q?M(W):W;if(!H)return J(G);if(!(H.predictor!=null&&H.predictor!==1||H.Predictor!=null&&H.Predictor!==1))return J(G);let $=L(H);if($.predictor===1)return J(G);let Z=$.predictor===2?$.rowBytes:$.rowBytes+1;if(Q)G=G.subarray(0,G.length-G.length%Z);if($.predictor===2)return J(C(G,$));return J(F(G,$))}function O(X,H){if(!(X instanceof Uint8Array))throw new j("pdf/flate/bad-input","FlateEncode expects Uint8Array");let G=X;if(H){if(H.predictor!=null&&H.predictor!==1||H.Predictor!=null&&H.Predictor!==1){let Q=L(H);if(Q.predictor===2)G=U(X,Q);else if(Q.predictor>=10)G=V(X,Q)}}try{return S.zlibSync(G)}catch(Q){throw new j("pdf/flate/deflate-failed","deflate failed: "+(Q&&Q.message),{context:{length:G.length},cause:Q})}}return{decode:D,encode:O}}}),ZQ({name:"pdfAsciiHex",dependencies:["pdfErrors"],factory:function(T){let{ParseError:S}=T,j=[-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,0,1,2,3,4,5,6,7,8,9,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,10,11,12,13,14,15,-1];function N(q){return q===32||q===9||q===10||q===13||q===12||q===0}function L(q){if(!(q instanceof Uint8Array))throw new S("pdf/asciiHex/bad-input","ASCIIHexDecode expects Uint8Array");let C=[],U=-1;for(let F=0;F<q.length;F++){let V=q[F];if(V===62)break;if(N(V))continue;let Y=V<j.length?j[V]:-1;if(Y<0)throw new S("pdf/asciiHex/bad-digit","invalid hex digit",{context:{offset:F,byte:V}});if(U<0)U=Y;else C.push(U<<4|Y),U=-1}if(U>=0)C.push(U<<4);return Uint8Array.from(C)}function K(q){if(!(q instanceof Uint8Array))throw new S("pdf/asciiHex/bad-input","ASCIIHexEncode expects Uint8Array");let C="0123456789ABCDEF",U="";for(let F=0;F<q.length;F++){if(F>0&&(F&31)===0)U+=`
24
+ `;let V=q[F];U+=C[V>>4]+C[V&15]}return U+=">",new TextEncoder().encode(U)}return{decode:L,encode:K}}}),ZQ({name:"pdfAscii85",dependencies:["pdfErrors"],factory:function(T){let{ParseError:S}=T;function j(K){return K===32||K===9||K===10||K===13||K===12||K===0}function N(K){if(!(K instanceof Uint8Array))throw new S("pdf/ascii85/bad-input","ASCII85Decode expects Uint8Array");let q=[],C=0,U=0;for(let F=0;F<K.length;F++){let V=K[F];if(j(V))continue;if(V===126){if(F+1<K.length&&K[F+1]===62)break;throw new S("pdf/ascii85/bad-eod","~ not followed by >",{context:{offset:F}})}if(V===122){if(U!==0)throw new S("pdf/ascii85/bad-z","z must appear at group boundary",{context:{offset:F}});q.push(0,0,0,0);continue}if(V<33||V>117)throw new S("pdf/ascii85/bad-digit","character outside ! .. u",{context:{offset:F,byte:V}});if(C=C*85+(V-33),U++,U===5)q.push(C>>>24&255,C>>>16&255,C>>>8&255,C&255),C=0,U=0}if(U>0){for(let V=U;V<5;V++)C=C*85+84;let F=[C>>>24&255,C>>>16&255,C>>>8&255,C&255];for(let V=0;V<U-1;V++)q.push(F[V])}return Uint8Array.from(q)}function L(K){if(!(K instanceof Uint8Array))throw new S("pdf/ascii85/bad-input","ASCII85Encode expects Uint8Array");let q=[],C=0;while(C+4<=K.length){let F=K[C]*16777216+(K[C+1]<<16)+(K[C+2]<<8)+K[C+3];if(F===0)q.push(122);else{let V=[0,0,0,0,0],Y=F;for(let R=4;R>=0;R--)V[R]=Y%85+33,Y=Math.floor(Y/85);q.push(V[0],V[1],V[2],V[3],V[4])}C+=4}let U=K.length-C;if(U>0){let F=new Uint8Array(4);F.set(K.subarray(C));let V=F[0]*16777216+(F[1]<<16)+(F[2]<<8)+F[3],Y=[0,0,0,0,0],R=V;for(let M=4;M>=0;M--)Y[M]=R%85+33,R=Math.floor(R/85);for(let M=0;M<U+1;M++)q.push(Y[M])}return q.push(126,62),Uint8Array.from(q)}return{decode:N,encode:L}}}),ZQ({name:"pdfRunLength",dependencies:["pdfErrors"],factory:function(T){let{ParseError:S}=T;function j(L){if(!(L instanceof Uint8Array))throw new S("pdf/runLength/bad-input","RunLengthDecode expects Uint8Array");let K=[],q=0;while(q<L.length){let C=L[q++];if(C===128)break;if(C<128){let U=C+1;if(q+U>L.length)throw new S("pdf/runLength/truncated-literal","truncated literal run",{context:{offset:q-1,want:U,have:L.length-q}});for(let F=0;F<U;F++)K.push(L[q+F]);q+=U}else{if(q>=L.length)throw new S("pdf/runLength/truncated-repeat","truncated repeat run",{context:{offset:q-1}});let U=L[q++],F=257-C;for(let V=0;V<F;V++)K.push(U)}}return Uint8Array.from(K)}function N(L){if(!(L instanceof Uint8Array))throw new S("pdf/runLength/bad-input","RunLengthEncode expects Uint8Array");let K=[],q=0;while(q<L.length){let C=L[q],U=1;while(U<128&&q+U<L.length&&L[q+U]===C)U++;if(U>=3){K.push(257-U,C),q+=U;continue}let F=q,V=0;while(V<128&&q<L.length){let Y=1;while(Y<3&&q+Y<L.length&&L[q+Y]===L[q])Y++;if(Y>=3&&V>0)break;q++,V++}K.push(V-1);for(let Y=0;Y<V;Y++)K.push(L[F+Y])}return K.push(128),Uint8Array.from(K)}return{decode:j,encode:N}}}),ZQ({name:"pdfFilterDispatch",dependencies:["pdfErrors","pdfFlate","pdfAsciiHex","pdfAscii85","pdfRunLength"],factory:function(T,S,j,N,L){let{ParseError:K}=T;function q(Z,W){return!!(Z&&Z.type===W)}let C={Fl:"FlateDecode",AHx:"ASCIIHexDecode",A85:"ASCII85Decode",RL:"RunLengthDecode",LZW:"LZWDecode",DCT:"DCTDecode",JPX:"JPXDecode",CCF:"CCITTFaxDecode"};function U(Z){return C[Z]||Z}function F(){return{decode(Z){return Z},encode(Z){return Z}}}function V(Z){if(!Z)return[];if(Z.type==="name")return[U(Z.value)];if(Z.type==="array"){let W=[];for(let z of Z.items){if(z.type!=="name")throw new K("pdf/filter/non-name","/Filter array entries must be names",{context:{kind:z.type}});W.push(U(z.value))}return W}throw new K("pdf/filter/bad-type","/Filter must be a name or array of names",{context:{type:Z.type}})}function Y(Z,W,z,P){let w=Z;for(let v=0;v<W.length;v++){let k=W[v],x=z?z[v]||null:null,B=P[k];if(!B)throw new K("pdf/filter/unsupported",`filter "${k}" not registered`,{context:{name:k,available:Object.keys(P)}});w=B.decode(w,x)}return w}function R(Z,W,z,P){let w=Z;for(let v=0;v<W.length;v++){let k=W[v],x=z?z[v]||null:null,B=P[k];if(!B||typeof B.encode!=="function")throw new K("pdf/filter/no-encoder",`filter "${k}" has no encoder`,{context:{name:k}});w=B.encode(w,x)}return w}function M(Z){let W=Z.entries||{},z={};for(let P of Object.keys(W)){let w=W[P];z[P]=w?w.value:void 0}return z}function D(Z,W){if(!Z)return null;if(Z.type==="null")return null;if(Z.type==="dict"){let z=Array(W).fill(null);if(W>0)z[0]=M(Z);return z}if(Z.type==="array")return Z.items.map((z)=>z.type==="dict"?M(z):null);throw new K("pdf/filter/bad-decodeparms","/DecodeParms must be a dict, array, or null",{context:{type:Z.type}})}function O(Z,W){if(!q(Z,"stream"))throw new K("pdf/filter/not-stream","decodeStream expects a stream object");let z=Z.dict,P=V(z.entries.Filter),w=D(z.entries.DecodeParms,P.length);return Y(Z.raw,P,w,W)}let X={FlateDecode:S,ASCIIHexDecode:j,ASCII85Decode:N,RunLengthDecode:L,DCTDecode:F(),JPXDecode:F(),Crypt:F()};function H(Z){return O(Z,X)}function G(Z,W,z){return Y(Z,W,z,X)}function Q(Z,W,z){return R(Z,W,z,X)}function J(Z,W){X[Z]=W}function $(){return Object.keys(X)}return{decode:H,decodeChain:G,encodeChain:Q,register:J,names:$,decoders:X,normalizeFilterList:V,applyDecodeChain:Y,applyEncodeChain:R,decodeStream:O}}}),ZQ({name:"pdfDocument",dependencies:["pdfErrors","pdfTokenizer","pdfParser","pdfXref","pdfTrailer","pdfCatalog","pdfPage","pdfPages","pdfCrossRefStream","pdfObjStream","pdfFilterDispatch"],factory:function(T,S,j,N,L,K,q,C,U,F,V){let{ParseError:Y}=T,R=S&&S.tokenize,M=j&&j.parseIndirect,D=N&&N.locateStartXref,O=N&&N.readStartXref,X=N&&N.parseXrefTable,H=N&&N.parseTrailerDict,G=L&&L.typeTrailer,Q=K&&K.typeCatalog,J=q&&q.typePage,$=C&&C.walkPageTree,Z=new Uint8Array([37,80,68,70,45]),W=new Uint8Array([120,114,101,102]),z=Object.freeze({type:"null"}),P=new Set(["Prev","XRefStm","Type","W","Index","Length","Filter","DecodeParms","F","FFilter","FDecodeParms","DL"]),w=Object.freeze({type:"dict",entries:Object.freeze({Type:Object.freeze({type:"name",value:"Pages"}),Kids:Object.freeze({type:"array",items:Object.freeze([])})})});function v(y,p){let n=p<0?0:p;while(n<y.length){let i=y[n];if(i===0||i===9||i===10||i===12||i===13||i===32){n++;continue}break}return n}function k(y,p){for(let n=0;n<W.length;n++)if(y[p+n]!==W[n])return!1;return!0}function x(y){throw new Y("pdf/document/xrefstm-indirect-length","a cross-reference stream may not use an indirect /Length",{context:{num:y&&y.num,gen:y&&y.gen}})}function B(y){if(!U||!F||!V)throw new Y("pdf/document/xref-stream-unwired","this pdfDocument was built without pdfCrossRefStream, "+"pdfObjStream and pdfFilterDispatch — cross-reference "+"streams and object streams cannot be read",{context:{offset:y}})}function f(y,p){B(p);let n=R(y,{start:p}),i=M(n,x).value,YQ=i&&i.dict&&i.dict.entries&&i.dict.entries.Type;if(!i||i.type!=="stream"||!YQ||YQ.type!=="name"||YQ.value!=="XRef")throw new Y("pdf/document/bad-xref-section","neither an xref table nor a cross-reference stream at startxref",{context:{offset:p}});let CQ=V.decode(i);return{entries:U.parseCrossRefStream(CQ,i.dict).entries,dict:i.dict}}function A(y){if(y.length===1)return y[0];for(let n of y)if(!n||n.type!=="dict")return n;let p={...y[0].entries};for(let n=1;n<y.length;n++)for(let i of Object.keys(y[n].entries)){if(P.has(i))continue;if(!(i in p))p[i]=y[n].entries[i]}return{...y[0],entries:p}}function h(y){if(y.length<8)throw new Y("pdf/document/short","input too short to contain a PDF header",{context:{length:y.length}});let p=-1,n=Math.min(y.length-5,1024);Q:for(let qQ=0;qQ<=n;qQ++){for(let DQ=0;DQ<5;DQ++)if(y[qQ+DQ]!==Z[DQ])continue Q;p=qQ;break}if(p<0)throw new Y("pdf/document/bad-header","no %PDF- header found in first 1024 bytes");let i=p+5,YQ=[];while(i<y.length){let qQ=y[i];if(qQ===10||qQ===13)break;YQ.push(qQ),i++}let CQ=new TextDecoder("latin1").decode(Uint8Array.from(YQ));if(i<y.length&&y[i]===13)i++;if(i<y.length&&y[i]===10)i++;return{version:CQ,end:i}}function b(y,p={}){if(!(y instanceof Uint8Array))throw new Y("pdf/document/bad-input","readDocument expects a Uint8Array",{context:{typeof:typeof y}});let{version:n,end:i}=h(y),YQ=D(y);if(YQ<0)throw new Y("pdf/document/no-startxref","startxref keyword not found near EOF");let CQ=O(y,YQ),qQ={entries:{},sections:[]},DQ=[],TQ=[],QQ=CQ,e=new Set;function JQ(s,GQ,KQ){qQ.sections.push({at:s,kind:GQ,entries:KQ});for(let FQ of Object.keys(KQ))if(!(FQ in qQ.entries))qQ.entries[FQ]=KQ[FQ]}for(let s=0;s<32&&QQ>=0;s++){if(e.has(QQ))break;e.add(QQ);let GQ;if(k(y,v(y,QQ))){let FQ=X(y,QQ);JQ(QQ,"table",FQ.entries),GQ=H(y,FQ.end).dict;let WQ=GQ&&GQ.entries&&GQ.entries.XRefStm;if(WQ&&WQ.type==="int"&&WQ.value>=0&&WQ.value<y.length){let PQ=f(y,WQ.value);JQ(WQ.value,"stream",PQ.entries)}}else{let FQ=f(y,QQ);JQ(QQ,"stream",FQ.entries),GQ=FQ.dict}TQ.push(GQ);let KQ=GQ&&GQ.type==="dict"&&GQ.entries&&GQ.entries.Prev;if(KQ&&KQ.type==="int"&&KQ.value>=0&&KQ.value!==QQ)QQ=KQ.value;else break}if(TQ.length===0)throw new Y("pdf/document/no-trailer","no usable trailer dictionary found");let VQ=G(A(TQ));if(VQ.encrypt&&p.allowEncrypted!==!0)throw new Y("pdf/document/encrypted","document is encrypted (trailer /Encrypt present) — "+"no decrypt path is composed for readDocument; pass { allowEncrypted: true } to read the raw ciphertext container",{context:{encrypt:VQ.encrypt}});let g=new Map,c=new Set,_=new Set,m=new Map;function u(s){if(!s||s.type!=="ref")return s;return o(s.num,s.gen)}function o(s,GQ){let KQ=s+":"+GQ;if(g.has(KQ))return g.get(KQ).value;let FQ=qQ.entries[s];if(!FQ)throw new Y("pdf/document/missing-xref",`object ${s} ${GQ} not in xref`,{context:{num:s,gen:GQ}});if(FQ.free){if(FQ=t(s,GQ),!FQ)return z}if(FQ.type===2){let BQ=XQ(s,GQ,FQ);return g.set(KQ,{value:BQ,offset:0,objStm:FQ.objStm}),BQ}let WQ=FQ.offset;if(WQ<=0||WQ>=y.length)throw new Y("pdf/document/bad-offset",`object ${s} ${GQ} xref offset out of range`,{context:{num:s,gen:GQ,offset:WQ,total:y.length}});let PQ=R(y,{start:WQ}),SQ=M(PQ,u);if(SQ.num!==s||SQ.gen!==GQ)throw new Y("pdf/document/xref-mismatch","xref points to a different object",{context:{expected:{num:s,gen:GQ},found:{num:SQ.num,gen:SQ.gen}}});return g.set(KQ,{value:SQ.value,offset:WQ}),SQ.value}function t(s,GQ){let KQ=s+":"+GQ;for(let FQ of qQ.sections){let WQ=FQ.entries[s];if(WQ&&!WQ.free)return r("fallback:"+KQ,{code:"pdf/document/free-entry-fallback",message:`object ${s} is free in the newest xref section; resolved through an older section that defines it`,context:{num:s,gen:GQ,section:{at:FQ.at,kind:FQ.kind}}}),WQ}return _.add(KQ),r("free:"+KQ,{code:"pdf/document/free-object",message:`object ${s} is free in every xref section; read as null`,context:{num:s,gen:GQ}}),null}function r(s,GQ){if(c.has(s))return;c.add(s),DQ.push(GQ)}function XQ(s,GQ,KQ){if(VQ&&VQ.encrypt)throw new Y("pdf/document/objstm-encrypted","object streams of an encrypted document cannot be "+"read — no decrypt path is composed for readDocument",{context:{num:s,gen:GQ,objStm:KQ.objStm}});let FQ=KQ.objStm,WQ=m.get(FQ);if(!WQ){B(0);let SQ=qQ.entries[FQ];if(SQ&&SQ.type===2)throw new Y("pdf/document/objstm-nested",`object stream ${FQ} is itself stored in an object stream`,{context:{num:s,objStm:FQ}});let BQ=o(FQ,0);if(!BQ||BQ.type!=="stream")throw new Y("pdf/document/objstm-not-stream",`object ${FQ} is not a stream and cannot hold compressed objects`,{context:{num:s,objStm:FQ,type:BQ&&BQ.type}});WQ=F.parseObjectStream(V.decode(BQ),BQ.dict),m.set(FQ,WQ)}let PQ=WQ[KQ.index];if(!PQ||PQ.num!==s)throw new Y("pdf/document/objstm-mismatch","object stream member does not carry the expected object number",{context:{num:s,objStm:FQ,index:KQ.index,found:PQ?PQ.num:null}});return PQ.value}let UQ=VQ.root,OQ=u({type:"ref",num:UQ.num,gen:UQ.gen});if(_.has(UQ.num+":"+UQ.gen))throw new Y("pdf/document/free-object",`object ${UQ.num} is free`,{context:{num:UQ.num,gen:UQ.gen,role:"catalog"}});let zQ=Q(OQ);function hQ(s){let GQ=u(s);if(s&&s.type==="ref"&&_.has(s.num+":"+s.gen))return w;return GQ}let _Q=$(zQ.pages,hQ).map((s)=>J(u({type:"ref",num:s.num,gen:s.gen})));return{version:n,catalog:zQ,pages:_Q,trailer:VQ,xref:qQ,losses:DQ,_raw:{resolve:u,bytes:y,headerEnd:i,indirects:g}}}return{readDocument:b,readHeader:h}}}),ZQ({name:"pdfWriter",dependencies:["pdfErrors","pdfSerializer"],factory:function(T,S){let{RenderError:j}=T,N=S.serializeIndirect,L=new TextEncoder;function K(M){return String(M).padStart(10,"0")}function q(M){let D="<";for(let O=0;O<M.length;O++)D+="0123456789ABCDEF"[M[O]>>4]+"0123456789ABCDEF"[M[O]&15];return D+">"}function C(M){let D=0;for(let H of M)D+=H.length;let O=new Uint8Array(D),X=0;for(let H of M)O.set(H,X),X+=H.length;return O}function U(M){let D=-1;for(let O of M){if(!O||!Number.isFinite(O.num)||O.num<1)throw new j("pdf/writer/bad-indirect","each indirect requires num >= 1",{context:{item:O}});if(O.num===D)throw new j("pdf/writer/duplicate-num","duplicate object number",{context:{num:O.num}});D=O.num}}function F(M,D){let O=`xref
25
+ 0 ${M+1}
26
+ `;O+=`0000000000 65535 f
27
+ `;for(let X=1;X<=M;X++)if(D.has(X))O+=K(D.get(X))+` 00000 n
28
+ `;else O+=`0000000000 00000 f
29
+ `;return L.encode(O)}function V(M){let D=[`trailer
30
+ << /Size ${M.size}`];if(D.push(` /Root ${M.root.num} ${M.root.gen|0} R`),M.info)D.push(` /Info ${M.info.num} ${M.info.gen|0} R`);if(M.id)D.push(" /ID ["),D.push(q(M.id[0])),D.push(q(M.id[1])),D.push("]");return D.push(` >>
31
+ `),D.push(`startxref
32
+ ${M.xrefOffset}
33
+ %%EOF
34
+ `),L.encode(D.join(""))}function Y(M){if(!M||!Array.isArray(M.indirects))throw new j("pdf/writer/bad-input","writeDocument expects { indirects: [...] }");if(!M.root||!Number.isFinite(M.root.num))throw new j("pdf/writer/no-root","writeDocument requires opts.root");let D=M.version||"2.0";if(!/^\d\.\d$/.test(D))throw new j("pdf/writer/bad-version",'version must look like "x.y"',{context:{version:D}});let O=M.indirects.slice().sort((W,z)=>W.num-z.num);U(O);let X=[],H=0,G=new Map;function Q(W){X.push(W),H+=W.length}Q(L.encode(`%PDF-${D}
35
+ `)),Q(new Uint8Array([37,226,227,207,211,10]));let J=O.length>0?O[O.length-1].num:0;for(let{num:W,gen:z,value:P}of O)G.set(W,H),Q(N(W,z,P));let $=H;Q(F(J,G));let Z=J+1;return Q(V({size:Z,root:M.root,info:M.info,id:M.id,xrefOffset:$})),C(X)}function R(M,D){if(!M||!M._raw||typeof M._raw.resolve!=="function")throw new j("pdf/writer/bad-model","assembleIndirects requires a model produced by pdf.read()");let O=[];for(let H of Object.keys(M.xref.entries)){let G=M.xref.entries[H];if(G.free)continue;try{M._raw.resolve({type:"ref",num:Number(H),gen:G.gen})}catch(Q){O.push({num:Number(H),gen:G.gen,code:T.isPdfError(Q)?Q.code:"unknown"})}}if(O.length>0&&D&&D.strict===!0)throw new j("pdf/writer/unresolvable-objects",`${O.length} object${O.length===1?"":"s"} could not be resolved and would be dropped`,{context:{objects:O}});let X=[];for(let[H,G]of M._raw.indirects.entries()){let[Q,J]=H.split(":").map(Number);X.push({num:Q,gen:J,value:G.value})}return X.sort((H,G)=>H.num-G.num),Object.defineProperty(X,"skippedObjects",{value:O,enumerable:!1,writable:!0,configurable:!0}),X}return{writeDocument:Y,assembleIndirects:R}}}),ZQ({name:"pdf",dependencies:["pdfErrors","pdfShared","pdfTokenizer","pdfParserObj","pdfParser","pdfXref","pdfTrailer","pdfSerializer","pdfCatalog","pdfPages","pdfPage","pdfDocument","pdfWriter"],factory:function(T,S,j,N,L,K,q,C,U,F,V,Y,R){let{ContractError:M}=T,D=Y.readDocument,O=Y.readHeader,X=R.writeDocument,H=R.assembleIndirects,G=new Set,Q={read(J,$){return D(J,$)},header(J){return O(J)},write(J,$){let Z=$&&typeof $==="object"?$:{},W=[],z;if(J&&J._raw&&typeof J._raw.resolve==="function"){let P=H(J,Z.strict===!0?{strict:!0}:void 0);W=P.skippedObjects||[],z=X({indirects:P,root:J.catalog.pages?{num:J.trailer.root.num,gen:J.trailer.root.gen}:J.trailer.root,info:J.trailer.info,id:J.trailer.id,version:"2.0"})}else z=X(J);if(W.length>0&&typeof Z.onSkipped==="function")Z.onSkipped(W.slice());return Object.defineProperty(z,"skippedObjects",{value:W,enumerable:!1,writable:!0,configurable:!0}),z},use(J){if(!J||typeof J.name!=="string"||typeof J.register!=="function")throw new M("pdf/use/bad-extension",".use() requires { name: string, register: function }",{context:{keys:J&&Object.keys(J)}});if(G.has(J.name))return Q;G.add(J.name);let $=J.register(Q,{usedExtensions:G});if($&&typeof $==="object"){for(let Z of Object.keys($))if(Z!=="use")Q[Z]=$[Z]}return Q},usedExtension(J){return G.has(J)}};return Q}}),J0("pdf")}};export{F0 as pdfBundled};
package/docs/README.md ADDED
@@ -0,0 +1,53 @@
1
+ # Documentation `@awacloud/pdf`
2
+
3
+ Pure-JS reader/writer for PDF documents. See the [package README](../README.md) for the high-level pitch and [`CHANGELOG.md`](../CHANGELOG.md) for the L3→L4 finalization history.
4
+
5
+ > **Current state** — **L4** (`awa.maturity`). Full ISO 32000-2:2020 (PDF 2.0) read + write across syntax, document structure, content streams, fonts, AcroForm, annotations, Tagged PDF, encryption (AES-256), digital signatures (PKCS#7 with real public-key verification), OCG, outlines/actions/destinations, embedded files, linearization, metadata and prepress, plus 32 opt-in extras and legacy PDF 1.7 read tolerance. See [Coverage](./guide/coverage.md) for the full breakdown.
6
+
7
+ ## Guides
8
+
9
+ | Guide | Topic |
10
+ |-------|-------|
11
+ | [Getting started](./guide/getting-started.md) | Install, `ModuleRuntime` registration, first read. |
12
+ | [Read pipeline](./guide/read-pdf.md) | header → xref → trailer → catalog → pages. |
13
+ | [Extending via `.use()`](./guide/extending.md) | Extension hook, idempotence by name. |
14
+ | [Coverage](./guide/coverage.md) | Full ISO 32000-2 coverage table + extras + known limitations. |
15
+ | [Crypto — risks and limitations](./guide/crypto.md) | Encryption/signature guarantees, what `verified`/`valid` actually prove. |
16
+ | [Legacy 1.7](./guide/legacy-1.7.md) | PDF 1.x header tolerance on read + a real core-pipeline constraint. |
17
+ | [PAdES integration](./guide/pades-integration.md) | bytes → signed PDF → verification report; `tsaSign` seam; trust-model boundaries; the normative claim matrix. |
18
+
19
+ ## API reference
20
+
21
+ Full index: [`api/README.md`](./api/README.md) — every sub-domain, its modules, and the 32 opt-in extras.
22
+
23
+ | Section | Modules |
24
+ |---------|---------|
25
+ | [Top-level](./api/README.md) | `pdf`, `pdfErrors`, `pdfShared` |
26
+ | [Syntax (§7.2–7.5)](./api/syntax/README.md) | `pdfTokenizer`, `pdfParser`, `pdfXref`, `pdfTrailer`, filters |
27
+ | [Document (§7.7–7.8)](./api/document/README.md) | `pdfCatalog`, `pdfPages`, `pdfPage`, `pdfDocument`, `pdfResources`, `pdfWriter`, `pdfBuilder`, `pdfIncrementalWriter`, `pdfEncryptedWriter`, `pdfXrefStreamWriter` |
28
+ | [Content (§8/§9.3–9.4)](./api/content/README.md) | `pdfContentOps`, `pdfContentStream`, `pdfGraphics`, `pdfText`, `pdfColor`, `pdfImages` |
29
+ | [Font (§9.6–9.9)](./api/font/README.md) | `pdfFont`, `pdfFontEncoding`, `pdfType3`, `pdfFontEmbed` |
30
+ | [Form (§12.7)](./api/form/README.md) | `pdfAcroForm`, `pdfFieldTree`, field typers, `pdfAppearance` |
31
+ | [Annot (§12.5)](./api/annot/README.md) | `pdfAnnot` + 12 subtype typers |
32
+ | [Tagged (§14.6–14.8)](./api/tagged/README.md) | `pdfStructTree`, `pdfStructElement`, `pdfRoleMap`, `pdfParentTree`, `pdfClassMap`, `pdfMarkedContent` |
33
+ | [Crypto (§7.6, ISO TS 32003)](./api/crypto/README.md) | `pdfSecurity`, `pdfStandardV4/V5/V6`, `pdfPermissions`, `pdfAesGcm` |
34
+ | [Sig (§12.8, ISO TS 32001/32002)](./api/sig/README.md) | `pdfSignature`, `pdfSign`, `pdfByteRange`, `pdfTimestamp`, `pdfCertChain`, `pdfDssBuilder`, `pdfSigOids`, `pdfSha1` |
35
+ | [OCG (§8.11)](./api/ocg/README.md) | `pdfOCG`, `pdfOCConfig` |
36
+ | [Outline (§12.3.3)](./api/outline/README.md) | `pdfOutline` |
37
+ | [Destination (§12.3.2)](./api/destination/README.md) | `pdfDestination` |
38
+ | [Action (§12.6)](./api/action/README.md) | `pdfAction` + 4 subtype typers |
39
+ | [Embedded (§7.11)](./api/embedded/README.md) | `pdfFileSpec`, `pdfEmbeddedFile`, `pdfCollection` |
40
+ | [Linearization (Annex F)](./api/linearization/README.md) | `pdfLinearization` |
41
+ | [Metadata (§14.3)](./api/metadata/README.md) | `pdfInfo`, `pdfXmp` |
42
+ | [Prepress (§14.11)](./api/prepress/README.md) | `pdfOutputIntent`, `pdfPageBoundary` |
43
+ | [Associated Files (PDF 2.0)](./api/associatedFiles/README.md) | `pdfAssociatedFiles` |
44
+ | [Extras](./api/extra/README.md) | 32 opt-in modules (P0/P1/P2/P3/legacy) |
45
+ | [Bundles](./api/bundles/README.md) | `pdf-large`, `pdf-full`, `pdf-legacy` |
46
+ | [Committed dist bundle matrix](./api/bundles/dist-matrix.md) | Read / Read+Write × size-segmentation, 8 roots × 2 surfaces |
47
+
48
+ ## See also
49
+
50
+ - [README package](../README.md)
51
+ - [CHANGELOG](../CHANGELOG.md)
52
+ - [`@awacloud/fw` doc format spec](https://github.com/awacloud/awa/blob/@awacloud/pdf@1.0.0/packages/front/fw/docs/guide/doc-format.md)
53
+ - [`@awacloud/ooxml`](https://github.com/awacloud/awa/blob/@awacloud/pdf@1.0.0/packages/front/office/ooxml/docs/README.md) — sibling factory + bundles archetype