ox 1.0.5 → 1.1.2

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 (337) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/dist/core/Base64.d.ts +10 -21
  3. package/dist/core/Base64.d.ts.map +1 -1
  4. package/dist/core/Base64.js +8 -127
  5. package/dist/core/Base64.js.map +1 -1
  6. package/dist/core/BinaryStateTree.d.ts.map +1 -1
  7. package/dist/core/BinaryStateTree.js +2 -2
  8. package/dist/core/BinaryStateTree.js.map +1 -1
  9. package/dist/core/Bls.d.ts.map +1 -1
  10. package/dist/core/Bls.js +19 -44
  11. package/dist/core/Bls.js.map +1 -1
  12. package/dist/core/Ed25519.d.ts.map +1 -1
  13. package/dist/core/Ed25519.js +7 -6
  14. package/dist/core/Ed25519.js.map +1 -1
  15. package/dist/core/Engine.d.ts +156 -0
  16. package/dist/core/Engine.d.ts.map +1 -0
  17. package/dist/core/Engine.js +210 -0
  18. package/dist/core/Engine.js.map +1 -0
  19. package/dist/core/Hash.d.ts +4 -4
  20. package/dist/core/Hash.d.ts.map +1 -1
  21. package/dist/core/Hash.js +9 -12
  22. package/dist/core/Hash.js.map +1 -1
  23. package/dist/core/Keystore.d.ts.map +1 -1
  24. package/dist/core/Keystore.js +15 -10
  25. package/dist/core/Keystore.js.map +1 -1
  26. package/dist/core/Mnemonic.d.ts.map +1 -1
  27. package/dist/core/Mnemonic.js +3 -2
  28. package/dist/core/Mnemonic.js.map +1 -1
  29. package/dist/core/P256.d.ts.map +1 -1
  30. package/dist/core/P256.js +8 -9
  31. package/dist/core/P256.js.map +1 -1
  32. package/dist/core/Secp256k1.d.ts.map +1 -1
  33. package/dist/core/Secp256k1.js +8 -9
  34. package/dist/core/Secp256k1.js.map +1 -1
  35. package/dist/core/WebCryptoP256.d.ts.map +1 -1
  36. package/dist/core/WebCryptoP256.js +2 -2
  37. package/dist/core/WebCryptoP256.js.map +1 -1
  38. package/dist/core/X25519.d.ts.map +1 -1
  39. package/dist/core/X25519.js +4 -3
  40. package/dist/core/X25519.js.map +1 -1
  41. package/dist/core/internal/bls.d.ts +12 -0
  42. package/dist/core/internal/bls.d.ts.map +1 -0
  43. package/dist/core/internal/bls.js +79 -0
  44. package/dist/core/internal/bls.js.map +1 -0
  45. package/dist/core/internal/codec/base64.d.ts +84 -0
  46. package/dist/core/internal/codec/base64.d.ts.map +1 -0
  47. package/dist/core/internal/codec/base64.js +177 -0
  48. package/dist/core/internal/codec/base64.js.map +1 -0
  49. package/dist/core/internal/codec/hex.d.ts +49 -4
  50. package/dist/core/internal/codec/hex.d.ts.map +1 -1
  51. package/dist/core/internal/codec/hex.js +109 -35
  52. package/dist/core/internal/codec/hex.js.map +1 -1
  53. package/dist/core/internal/curves.d.ts +17 -0
  54. package/dist/core/internal/curves.d.ts.map +1 -0
  55. package/dist/core/internal/curves.js +17 -0
  56. package/dist/core/internal/curves.js.map +1 -0
  57. package/dist/core/internal/ed25519.d.ts +14 -0
  58. package/dist/core/internal/ed25519.d.ts.map +1 -0
  59. package/dist/core/internal/ed25519.js +29 -0
  60. package/dist/core/internal/ed25519.js.map +1 -0
  61. package/dist/core/internal/engine.d.ts +278 -0
  62. package/dist/core/internal/engine.d.ts.map +1 -0
  63. package/dist/core/internal/engine.js +131 -0
  64. package/dist/core/internal/engine.js.map +1 -0
  65. package/dist/core/internal/hash.d.ts +12 -0
  66. package/dist/core/internal/hash.d.ts.map +1 -0
  67. package/dist/core/internal/hash.js +30 -0
  68. package/dist/core/internal/hash.js.map +1 -0
  69. package/dist/core/internal/keystore.d.ts +14 -0
  70. package/dist/core/internal/keystore.d.ts.map +1 -0
  71. package/dist/core/internal/keystore.js +32 -0
  72. package/dist/core/internal/keystore.js.map +1 -0
  73. package/dist/core/internal/mnemonic.d.ts +4 -0
  74. package/dist/core/internal/mnemonic.d.ts.map +1 -0
  75. package/dist/core/internal/mnemonic.js +14 -0
  76. package/dist/core/internal/mnemonic.js.map +1 -0
  77. package/dist/core/internal/p256.d.ts +14 -0
  78. package/dist/core/internal/p256.d.ts.map +1 -0
  79. package/dist/core/internal/p256.js +36 -0
  80. package/dist/core/internal/p256.js.map +1 -0
  81. package/dist/core/internal/secp256k1.d.ts +14 -0
  82. package/dist/core/internal/secp256k1.d.ts.map +1 -0
  83. package/dist/core/internal/secp256k1.js +36 -0
  84. package/dist/core/internal/secp256k1.js.map +1 -0
  85. package/dist/core/internal/x25519.d.ts +8 -0
  86. package/dist/core/internal/x25519.d.ts.map +1 -0
  87. package/dist/core/internal/x25519.js +20 -0
  88. package/dist/core/internal/x25519.js.map +1 -0
  89. package/dist/index.d.ts +38 -0
  90. package/dist/index.d.ts.map +1 -1
  91. package/dist/index.docs.d.ts +2 -0
  92. package/dist/index.docs.d.ts.map +1 -1
  93. package/dist/index.docs.js +2 -0
  94. package/dist/index.docs.js.map +1 -1
  95. package/dist/index.js +38 -0
  96. package/dist/index.js.map +1 -1
  97. package/dist/node/Ed25519.d.ts +33 -0
  98. package/dist/node/Ed25519.d.ts.map +1 -0
  99. package/dist/node/Ed25519.js +67 -0
  100. package/dist/node/Ed25519.js.map +1 -0
  101. package/dist/node/Engine.d.ts +68 -0
  102. package/dist/node/Engine.d.ts.map +1 -0
  103. package/dist/node/Engine.js +75 -0
  104. package/dist/node/Engine.js.map +1 -0
  105. package/dist/node/Hash.d.ts +37 -0
  106. package/dist/node/Hash.d.ts.map +1 -0
  107. package/dist/node/Hash.js +35 -0
  108. package/dist/node/Hash.js.map +1 -0
  109. package/dist/node/Keystore.d.ts +36 -0
  110. package/dist/node/Keystore.d.ts.map +1 -0
  111. package/dist/node/Keystore.js +72 -0
  112. package/dist/node/Keystore.js.map +1 -0
  113. package/dist/node/Mnemonic.d.ts +35 -0
  114. package/dist/node/Mnemonic.d.ts.map +1 -0
  115. package/dist/node/Mnemonic.js +46 -0
  116. package/dist/node/Mnemonic.js.map +1 -0
  117. package/dist/node/P256.d.ts +32 -0
  118. package/dist/node/P256.d.ts.map +1 -0
  119. package/dist/node/P256.js +34 -0
  120. package/dist/node/P256.js.map +1 -0
  121. package/dist/node/X25519.d.ts +31 -0
  122. package/dist/node/X25519.d.ts.map +1 -0
  123. package/dist/node/X25519.js +71 -0
  124. package/dist/node/X25519.js.map +1 -0
  125. package/dist/node/index.d.ts +126 -0
  126. package/dist/node/index.d.ts.map +1 -0
  127. package/dist/node/index.js +126 -0
  128. package/dist/node/index.js.map +1 -0
  129. package/dist/tempo/VirtualMaster.d.ts +2 -0
  130. package/dist/tempo/VirtualMaster.d.ts.map +1 -1
  131. package/dist/tempo/VirtualMaster.js +19 -5
  132. package/dist/tempo/VirtualMaster.js.map +1 -1
  133. package/dist/tempo/internal/mine.wasm.d.ts +2 -4
  134. package/dist/tempo/internal/mine.wasm.d.ts.map +1 -1
  135. package/dist/tempo/internal/mine.wasm.js +7 -12
  136. package/dist/tempo/internal/mine.wasm.js.map +1 -1
  137. package/dist/tempo/internal/virtualMasterPool.js +4 -1
  138. package/dist/tempo/internal/virtualMasterPool.js.map +1 -1
  139. package/dist/wasm/Ed25519.d.ts +35 -0
  140. package/dist/wasm/Ed25519.d.ts.map +1 -0
  141. package/dist/wasm/Ed25519.js +88 -0
  142. package/dist/wasm/Ed25519.js.map +1 -0
  143. package/dist/wasm/Engine.d.ts +71 -0
  144. package/dist/wasm/Engine.d.ts.map +1 -0
  145. package/dist/wasm/Engine.js +76 -0
  146. package/dist/wasm/Engine.js.map +1 -0
  147. package/dist/wasm/Hash.d.ts +43 -0
  148. package/dist/wasm/Hash.d.ts.map +1 -0
  149. package/dist/wasm/Hash.js +64 -0
  150. package/dist/wasm/Hash.js.map +1 -0
  151. package/dist/wasm/Keystore.d.ts +37 -0
  152. package/dist/wasm/Keystore.d.ts.map +1 -0
  153. package/dist/wasm/Keystore.js +34 -0
  154. package/dist/wasm/Keystore.js.map +1 -0
  155. package/dist/wasm/Mnemonic.d.ts +33 -0
  156. package/dist/wasm/Mnemonic.d.ts.map +1 -0
  157. package/dist/wasm/Mnemonic.js +30 -0
  158. package/dist/wasm/Mnemonic.js.map +1 -0
  159. package/dist/wasm/X25519.d.ts +33 -0
  160. package/dist/wasm/X25519.d.ts.map +1 -0
  161. package/dist/wasm/X25519.js +53 -0
  162. package/dist/wasm/X25519.js.map +1 -0
  163. package/dist/wasm/index.d.ts +115 -0
  164. package/dist/wasm/index.d.ts.map +1 -0
  165. package/dist/wasm/index.js +115 -0
  166. package/dist/wasm/index.js.map +1 -0
  167. package/dist/wasm/internal/blake3.d.ts +11 -0
  168. package/dist/wasm/internal/blake3.d.ts.map +1 -0
  169. package/dist/wasm/internal/blake3.js +31 -0
  170. package/dist/wasm/internal/blake3.js.map +1 -0
  171. package/dist/wasm/internal/blake3.wasm.d.ts +3 -0
  172. package/dist/wasm/internal/blake3.wasm.d.ts.map +1 -0
  173. package/dist/wasm/internal/blake3.wasm.js +10 -0
  174. package/dist/wasm/internal/blake3.wasm.js.map +1 -0
  175. package/dist/wasm/internal/crypto25519.d.ts +16 -0
  176. package/dist/wasm/internal/crypto25519.d.ts.map +1 -0
  177. package/dist/wasm/internal/crypto25519.js +5 -0
  178. package/dist/wasm/internal/crypto25519.js.map +1 -0
  179. package/dist/wasm/internal/crypto25519.wasm.d.ts +3 -0
  180. package/dist/wasm/internal/crypto25519.wasm.d.ts.map +1 -0
  181. package/dist/wasm/internal/crypto25519.wasm.js +10 -0
  182. package/dist/wasm/internal/crypto25519.wasm.js.map +1 -0
  183. package/dist/wasm/internal/ed25519.d.ts +4 -0
  184. package/dist/wasm/internal/ed25519.d.ts.map +1 -0
  185. package/dist/wasm/internal/ed25519.js +21 -0
  186. package/dist/wasm/internal/ed25519.js.map +1 -0
  187. package/dist/wasm/internal/hash.d.ts +9 -0
  188. package/dist/wasm/internal/hash.d.ts.map +1 -0
  189. package/dist/wasm/internal/hash.js +26 -0
  190. package/dist/wasm/internal/hash.js.map +1 -0
  191. package/dist/wasm/internal/hashes.d.ts +12 -0
  192. package/dist/wasm/internal/hashes.d.ts.map +1 -0
  193. package/dist/wasm/internal/hashes.js +8 -0
  194. package/dist/wasm/internal/hashes.js.map +1 -0
  195. package/dist/wasm/internal/hashes.wasm.d.ts +7 -0
  196. package/dist/wasm/internal/hashes.wasm.d.ts.map +1 -0
  197. package/dist/wasm/internal/hashes.wasm.js +14 -0
  198. package/dist/wasm/internal/hashes.wasm.js.map +1 -0
  199. package/dist/wasm/internal/instantiate.d.ts +56 -0
  200. package/dist/wasm/internal/instantiate.d.ts.map +1 -0
  201. package/dist/wasm/internal/instantiate.js +92 -0
  202. package/dist/wasm/internal/instantiate.js.map +1 -0
  203. package/dist/wasm/internal/mnemonic.d.ts +4 -0
  204. package/dist/wasm/internal/mnemonic.d.ts.map +1 -0
  205. package/dist/wasm/internal/mnemonic.js +45 -0
  206. package/dist/wasm/internal/mnemonic.js.map +1 -0
  207. package/dist/wasm/internal/pbkdf2.d.ts +12 -0
  208. package/dist/wasm/internal/pbkdf2.d.ts.map +1 -0
  209. package/dist/wasm/internal/pbkdf2.js +51 -0
  210. package/dist/wasm/internal/pbkdf2.js.map +1 -0
  211. package/dist/wasm/internal/x25519.d.ts +4 -0
  212. package/dist/wasm/internal/x25519.d.ts.map +1 -0
  213. package/dist/wasm/internal/x25519.js +21 -0
  214. package/dist/wasm/internal/x25519.js.map +1 -0
  215. package/dist/zod/TypedData.d.ts +12 -12
  216. package/package.json +81 -1
  217. package/src/core/Base64.ts +19 -166
  218. package/src/core/BinaryStateTree.ts +2 -3
  219. package/src/core/Bls.ts +27 -77
  220. package/src/core/Ed25519.ts +7 -7
  221. package/src/core/Engine.ts +308 -0
  222. package/src/core/Hash.ts +9 -12
  223. package/src/core/Keystore.ts +17 -17
  224. package/src/core/Mnemonic.ts +3 -6
  225. package/src/core/P256.ts +15 -24
  226. package/src/core/Rlp_tx.bench.ts +2 -4
  227. package/src/core/Secp256k1.ts +9 -14
  228. package/src/core/TxEnvelopeEip1559.bench.ts +0 -5
  229. package/src/core/WebCryptoP256.ts +2 -2
  230. package/src/core/X25519.ts +4 -3
  231. package/src/core/_test/AbiParameters.adversarial.fuzz.ts +1 -2
  232. package/src/core/_test/AbiParameters.fuzz.ts +1 -2
  233. package/src/core/_test/Base.fuzz.ts +1 -2
  234. package/src/core/_test/Cbor.fuzz.ts +1 -2
  235. package/src/core/_test/Engine.fuzz.ts +293 -0
  236. package/src/core/_test/Engine.test-d.ts +140 -0
  237. package/src/core/_test/Engine.test.ts +618 -0
  238. package/src/core/_test/Hash.vectors.test.ts +64 -0
  239. package/src/core/_test/Hex.fuzz.ts +1 -2
  240. package/src/core/_test/Rlp.fuzz.ts +1 -2
  241. package/src/core/_test/Signature.fuzz.ts +1 -2
  242. package/src/core/_test/curves.test.ts +7 -0
  243. package/src/core/_test/index.test.ts +1 -0
  244. package/src/core/internal/bls.ts +121 -0
  245. package/src/core/internal/codec/_test/base64.conformance.ts +156 -0
  246. package/src/core/internal/codec/_test/hex.conformance.ts +204 -0
  247. package/src/core/internal/codec/_test/hex.fuzz.ts +234 -0
  248. package/src/core/internal/codec/_test/hex.test.ts +124 -0
  249. package/src/core/internal/codec/base64.ts +222 -0
  250. package/src/core/internal/codec/hex.ts +115 -34
  251. package/src/core/internal/curves.ts +18 -0
  252. package/src/core/internal/ed25519.ts +64 -0
  253. package/src/core/internal/engine.ts +410 -0
  254. package/src/core/internal/hash.ts +48 -0
  255. package/src/core/internal/keystore.ts +107 -0
  256. package/src/core/internal/mnemonic.ts +18 -0
  257. package/src/core/internal/p256.ts +91 -0
  258. package/src/core/internal/secp256k1.ts +91 -0
  259. package/src/core/internal/x25519.ts +40 -0
  260. package/src/index.docs.ts +2 -0
  261. package/src/index.ts +39 -0
  262. package/src/node/Ed25519.ts +87 -0
  263. package/src/node/Engine.ts +125 -0
  264. package/src/node/Hash.ts +51 -0
  265. package/src/node/Keystore.ts +103 -0
  266. package/src/node/Mnemonic.ts +68 -0
  267. package/src/node/P256.ts +48 -0
  268. package/src/node/X25519.ts +93 -0
  269. package/src/node/_test/Curves.fuzz.ts +76 -0
  270. package/src/node/_test/Ed25519.test-d.ts +35 -0
  271. package/src/node/_test/Ed25519.test.ts +220 -0
  272. package/src/node/_test/Engine.test-d.ts +28 -0
  273. package/src/node/_test/Engine.test.ts +102 -0
  274. package/src/node/_test/Hash.test-d.ts +32 -0
  275. package/src/node/_test/Hash.test.ts +101 -0
  276. package/src/node/_test/Keystore.fuzz.ts +58 -0
  277. package/src/node/_test/Keystore.test-d.ts +43 -0
  278. package/src/node/_test/Keystore.test.ts +198 -0
  279. package/src/node/_test/Mnemonic.fuzz.ts +31 -0
  280. package/src/node/_test/Mnemonic.test-d.ts +21 -0
  281. package/src/node/_test/Mnemonic.test.ts +98 -0
  282. package/src/node/_test/P256.test-d.ts +29 -0
  283. package/src/node/_test/P256.test.ts +102 -0
  284. package/src/node/_test/X25519.test-d.ts +28 -0
  285. package/src/node/_test/X25519.test.ts +239 -0
  286. package/src/node/index.ts +132 -0
  287. package/src/tempo/VirtualMaster.test.ts +75 -0
  288. package/src/tempo/VirtualMaster.ts +28 -6
  289. package/src/tempo/internal/mine.wasm.ts +7 -13
  290. package/src/tempo/internal/virtualMasterPool.ts +4 -1
  291. package/src/tsconfig.json +2 -1
  292. package/src/version.ts +1 -1
  293. package/src/wasm/Ed25519.ts +114 -0
  294. package/src/wasm/Engine.ts +121 -0
  295. package/src/wasm/Hash.bench.ts +60 -0
  296. package/src/wasm/Hash.ts +88 -0
  297. package/src/wasm/Keystore.ts +48 -0
  298. package/src/wasm/Mnemonic.ts +44 -0
  299. package/src/wasm/X25519.ts +70 -0
  300. package/src/wasm/_test/Crypto25519.conformance.ts +57 -0
  301. package/src/wasm/_test/Crypto25519.fuzz.ts +187 -0
  302. package/src/wasm/_test/Ed25519.test-d.ts +28 -0
  303. package/src/wasm/_test/Ed25519.test.ts +168 -0
  304. package/src/wasm/_test/Ed25519.vectors.test.ts +73 -0
  305. package/src/wasm/_test/Engine.test-d.ts +28 -0
  306. package/src/wasm/_test/Engine.test.ts +96 -0
  307. package/src/wasm/_test/Hash.browser.test.ts +54 -0
  308. package/src/wasm/_test/Hash.fuzz.ts +223 -0
  309. package/src/wasm/_test/Hash.test-d.ts +33 -0
  310. package/src/wasm/_test/Hash.test.ts +311 -0
  311. package/src/wasm/_test/Hash.vectors.test.ts +124 -0
  312. package/src/wasm/_test/Keystore.browser.test.ts +42 -0
  313. package/src/wasm/_test/Keystore.fuzz.ts +113 -0
  314. package/src/wasm/_test/Keystore.test-d.ts +33 -0
  315. package/src/wasm/_test/Keystore.test.ts +192 -0
  316. package/src/wasm/_test/Keystore.vectors.test.ts +21 -0
  317. package/src/wasm/_test/Mnemonic.test-d.ts +17 -0
  318. package/src/wasm/_test/Mnemonic.test.ts +110 -0
  319. package/src/wasm/_test/Runtime.test.ts +21 -0
  320. package/src/wasm/_test/X25519.test-d.ts +21 -0
  321. package/src/wasm/_test/X25519.test.ts +194 -0
  322. package/src/wasm/_test/fixtures.ts +4 -0
  323. package/src/wasm/_test/runtime.wasm.ts +11 -0
  324. package/src/wasm/index.ts +120 -0
  325. package/src/wasm/internal/blake3.ts +45 -0
  326. package/src/wasm/internal/blake3.wasm.ts +11 -0
  327. package/src/wasm/internal/crypto25519.ts +43 -0
  328. package/src/wasm/internal/crypto25519.wasm.ts +11 -0
  329. package/src/wasm/internal/ed25519.ts +31 -0
  330. package/src/wasm/internal/hash.ts +50 -0
  331. package/src/wasm/internal/hashes.ts +29 -0
  332. package/src/wasm/internal/hashes.wasm.ts +17 -0
  333. package/src/wasm/internal/instantiate.ts +135 -0
  334. package/src/wasm/internal/mnemonic.ts +56 -0
  335. package/src/wasm/internal/pbkdf2.ts +86 -0
  336. package/src/wasm/internal/x25519.ts +29 -0
  337. package/src/tempo/internal/mine.c +0 -182
@@ -0,0 +1,10 @@
1
+ // Generated by `pnpm wasm:build --target=crypto25519`. Do not edit.
2
+ //
3
+ // Compiled from wasm/src/crypto25519.c, wasm/vendor/monocypher/monocypher.c, wasm/vendor/monocypher/monocypher-ed25519.c, wasm/src/ox_rt.c
4
+ // with wasi-sdk 25.0 + binaryen 123.
5
+ //
6
+ // `pnpm wasm:check` rebuilds this file and fails if the bytes differ, so any
7
+ // change to the C or to `wasm/targets.ts` must be followed by `pnpm wasm:build`.
8
+ /** Base64-encoded WASM binary. */
9
+ export const wasmBase64 = 'AGFzbQEAAAABQgpgAn9/AGADf39/AGACf38Bf2AEf39/fwBgBH9/f38Bf2AFf39/f38AYAN/f38Bf2AHf39/f39/fwBgAX8AYAABfwMkIwABAwEAAAADAAQCAQABBAUABQEAAAEGAAEAAgACAAcBCAkABQYBAQSAgAQGCAF/AUHwpQQLB7sBCgZtZW1vcnkCABZlZDI1NTE5X2dldF9wdWJsaWNfa2V5AAAMZWQyNTUxOV9zaWduAAIOZWQyNTUxOV92ZXJpZnkACRxlZDI1NTE5X3RvX21vbnRnb21lcnlfc2VjcmV0AAgVeDI1NTE5X2dldF9wdWJsaWNfa2V5ABQYeDI1NTE5X2dldF9zaGFyZWRfc2VjcmV0ABYQbW5lbW9uaWNfdG9fc2VlZAARCWhlYXBfYmFzZQAhBHplcm8AIgrr4AIj3AMBAX8jAEFAaiICJAAgAiABIAAQASACQQA6AAAgAkEAOgABIAJBADoAAiACQQA6AAMgAkEAOgAEIAJBADoABSACQQA6AAYgAkEAOgAHIAJBADoACCACQQA6AAkgAkEAOgAKIAJBADoACyACQQA6AAwgAkEAOgANIAJBADoADiACQQA6AA8gAkEAOgAQIAJBADoAESACQQA6ABIgAkEAOgATIAJBADoAFCACQQA6ABUgAkEAOgAWIAJBADoAFyACQQA6ABggAkEAOgAZIAJBADoAGiACQQA6ABsgAkEAOgAcIAJBADoAHSACQQA6AB4gAkEAOgAfIAJBADoAICACQQA6ACEgAkEAOgAiIAJBADoAIyACQQA6ACQgAkEAOgAlIAJBADoAJiACQQA6ACcgAkEAOgAoIAJBADoAKSACQQA6ACogAkEAOgArIAJBADoALCACQQA6AC0gAkEAOgAuIAJBADoALyACQQA6ADAgAkEAOgAxIAJBADoAMiACQQA6ADMgAkEAOgA0IAJBADoANSACQQA6ADYgAkEAOgA3IAJBADoAOCACQQA6ADkgAkEAOgA6IAJBADoAOyACQQA6ADwgAkEAOgA9IAJBADoAPiACQQA6AD8gAkFAayQAC4UPARp/IwBBoAJrIgMkACADIAItAAA6AAAgAyACLwABOwABIAMgAigAAzYAAyADIAItAAciBDoAByADIAItAAgiBToACCADIAItAAkiBjoACSADIAItAAoiBzoACiADIAItAAsiCDoACyADIAItAAwiCToADCADIAItAA0iCjoADSADIAItAA4iCzoADiADIAItAA8iDDoADyADIAItABAiDToAECADIAItABEiDjoAESADIAItABIiDzoAEiADIAItABMiEDoAEyADIAItABQiEToAFCADIAItABUiEjoAFSADIAItABYiEzoAFiADIAItABciFDoAFyADIAItABgiFToAGCADIAItABkiFjoAGSADIAItABoiFzoAGiADIAItABsiGDoAGyADIAItABwiGToAHCADIAItAB0iGjoAHSADIAItAB4iGzoAHiADIAItAB8iHDoAHyACQQA6AAAgAkEAOgABIAJBADoAAiACQQA6AAMgAkEAOgAEIAJBADoABSACQQA6AAYgAkEAOgAHIAJBADoACCACQQA6AAkgAkEAOgAKIAJBADoACyACQQA6AAwgAkEAOgANIAJBADoADiACQQA6AA8gAkEAOgAQIAJBADoAESACQQA6ABIgAkEAOgATIAJBADoAFCACQQA6ABUgAkEAOgAWIAJBADoAFyACQQA6ABggAkEAOgAZIAJBADoAGiACQQA6ABsgAkEAOgAcIAJBADoAHSACQQA6AB4gAkEAOgAfIAAgAy0AADoAACAAIAMtAAE6AAEgACADLQACOgACIAAgAy0AAzoAAyAAIAMtAAQ6AAQgACADLQAFOgAFIAAgHDoAHyAAIBs6AB4gACAaOgAdIAAgGToAHCAAIBg6ABsgACAXOgAaIAAgFjoAGSAAIBU6ABggACAUOgAXIAAgEzoAFiAAIBI6ABUgACAROgAUIAAgEDoAEyAAIA86ABIgACAOOgARIAAgDToAECAAIAw6AA8gACALOgAOIAAgCjoADSAAIAk6AAwgACAIOgALIAAgBzoACiAAIAY6AAkgACAFOgAIIAAgBDoAByAAIAMtAAY6AAYgA0EANgKYAiADQgA3A5ACIANCADcDiAIgA0L5wvibkaOz8NsANwOAASADQuv6htq/tfbBHzcDeCADQp/Y+dnCkdqCm383A3AgA0LRhZrv+s+Uh9EANwNoIANC8e30+KWn/aelfzcDYCADQqvw0/Sv7ry3PDcDWCADQrvOqqbY0Ouzu383A1AgA0KIkvOd/8z5hOoANwNIIANCADcDgAIgA0IANwP4ASADQgA3A/ABIANCADcD6AEgA0IANwPgASADQgA3A9gBIANCADcD0AEgA0IANwPIASADQgA3A8ABIANCADcDuAEgA0IANwOwASADQgA3A6gBIANCADcDoAEgA0IANwOYASADQgA3A5ABIANCADcDiAEgA0HIAGoiAiADQSAQAyACIAMQBCADIAMtAABB+AFxOgAAIAMgAy0AH0E/cUHAAHI6AB8gASADEAYgACABLQAAOgAgIAAgAS0AAToAISAAIAEtAAI6ACIgACABLQADOgAjIAAgAS0ABDoAJCAAIAEtAAU6ACUgACABLQAGOgAmIAAgAS0ABzoAJyAAIAEtAAg6ACggACABLQAJOgApIAAgAS0ACjoAKiAAIAEtAAs6ACsgACABLQAMOgAsIAAgAS0ADToALSAAIAEtAA46AC4gACABLQAPOgAvIAAgAS0AEDoAMCAAIAEtABE6ADEgACABLQASOgAyIAAgAS0AEzoAMyAAIAEtABQ6ADQgACABLQAVOgA1IAAgAS0AFjoANiAAIAEtABc6ADcgACABLQAYOgA4IAAgAS0AGToAOSAAIAEtABo6ADogACABLQAbOgA7IAAgAS0AHDoAPCAAIAEtAB06AD0gACABLQAeOgA+IAAgAS0AHzoAPyADQQA6AAAgA0EAOgABIANBADoAAiADQQA6AAMgA0EAOgAEIANBADoABSADQQA6AAYgA0EAOgAHIANBADoACCADQQA6AAkgA0EAOgAKIANBADoACyADQQA6AAwgA0EAOgANIANBADoADiADQQA6AA8gA0EAOgAQIANBADoAESADQQA6ABIgA0EAOgATIANBADoAFCADQQA6ABUgA0EAOgAWIANBADoAFyADQQA6ABggA0EAOgAZIANBADoAGiADQQA6ABsgA0EAOgAcIANBADoAHSADQQA6AB4gA0EAOgAfIANBADoAICADQQA6ACEgA0EAOgAiIANBADoAIyADQQA6ACQgA0EAOgAlIANBADoAJiADQQA6ACcgA0EAOgAoIANBADoAKSADQQA6ACogA0EAOgArIANBADoALCADQQA6AC0gA0EAOgAuIANBADoALyADQQA6ADAgA0EAOgAxIANBADoAMiADQQA6ADMgA0EAOgA0IANBADoANSADQQA6ADYgA0EAOgA3IANBADoAOCADQQA6ADkgA0EAOgA6IANBADoAOyADQQA6ADwgA0EAOgA9IANBADoAPiADQQA6AD8gA0GgAmokAAuSFAEFfyMAQaAEayIEJAAgBEEgaiIFIAQgABABIARBADYC2AMgBEIANwPQAyAEQgA3A8gDIARC+cL4m5Gjs/DbADcDwAIgBELr+obav7X2wR83A7gCIARCn9j52cKR2oKbfzcDsAIgBELRhZrv+s+Uh9EANwOoAiAEQvHt9Pilp/2npX83A6ACIARCq/DT9K/uvLc8NwOYAiAEQrvOqqbY0Ouzu383A5ACIARCiJLznf/M+YTqADcDiAIgBEIANwPAAyAEQgA3A7gDIARCADcDsAMgBEIANwOoAyAEQgA3A6ADIARCADcDmAMgBEIANwOQAyAEQgA3A4gDIARCADcDgAMgBEIANwP4AiAEQgA3A/ACIARCADcD6AIgBEIANwPgAiAEQgA3A9gCIARCADcD0AIgBEIANwPIAiAEQYgCaiIAIAVBIBADIAAgBEHAAWoiBxAEIAQgBC0AwAFB+AFxOgDAASAEIAQtAN8BQT9xQcAAcjoA3wEgBEEANgLYAyAEQgA3A9ADIARCADcDyAMgBEL5wvibkaOz8NsANwPAAiAEQuv6htq/tfbBHzcDuAIgBEKf2PnZwpHagpt/NwOwAiAEQtGFmu/6z5SH0QA3A6gCIARC8e30+KWn/aelfzcDoAIgBEKr8NP0r+68tzw3A5gCIARCu86qptjQ67O7fzcDkAIgBEKIkvOd/8z5hOoANwOIAiAEQgA3A8ADIARCADcDuAMgBEIANwOwAyAEQgA3A6gDIARCADcDoAMgBEIANwOYAyAEQgA3A5ADIARCADcDiAMgBEIANwOAAyAEQgA3A/gCIARCADcD8AIgBEIANwPoAiAEQgA3A+ACIARCADcD2AIgBEIANwPQAiAEQgA3A8gCIAAgBEHgAWpBIBADIAAgASACEAMgACAEQeADaiIFEAQgBEGgAWoiBiAFEAUgBEHgAGoiCCAGEAYgBEEANgLYAyAEQgA3A9ADIARCADcDyAMgBEL5wvibkaOz8NsANwPAAiAEQuv6htq/tfbBHzcDuAIgBEKf2PnZwpHagpt/NwOwAiAEQtGFmu/6z5SH0QA3A6gCIARC8e30+KWn/aelfzcDoAIgBEKr8NP0r+68tzw3A5gCIARCu86qptjQ67O7fzcDkAIgBEKIkvOd/8z5hOoANwOIAiAEQgA3A8ADIARCADcDuAMgBEIANwOwAyAEQgA3A6gDIARCADcDoAMgBEIANwOYAyAEQgA3A5ADIARCADcDiAMgBEIANwOAAyAEQgA3A/gCIARCADcD8AIgBEIANwPoAiAEQgA3A+ACIARCADcD2AIgBEIANwPQAiAEQgA3A8gCIAAgCEEgEAMgACAEQUBrQSAQAyAAIAEgAhADIAAgBRAEIARBgAFqIgAgBRAFIAMgBC0AYDoAACADIAQpAGE3AAEgAyAEKQBpNwAJIAMgBCkAcTcAESADIAQoAHk2ABkgAyAELwB9OwAdIAMgBC0AfzoAHyADQSBqIAAgByAGEAcgBEEAOgDAASAEQQA6AMEBIARBADoAwgEgBEEAOgDDASAEQQA6AMQBIARBADoAxQEgBEEAOgDGASAEQQA6AMcBIARBADoAyAEgBEEAOgDJASAEQQA6AMoBIARBADoAywEgBEEAOgDMASAEQQA6AM0BIARBADoAzgEgBEEAOgDPASAEQQA6ANABIARBADoA0QEgBEEAOgDSASAEQQA6ANMBIARBADoA1AEgBEEAOgDVASAEQQA6ANYBIARBADoA1wEgBEEAOgDYASAEQQA6ANkBIARBADoA2gEgBEEAOgDbASAEQQA6ANwBIARBADoA3QEgBEEAOgDeASAEQQA6AN8BIARBADoA4AEgBEEAOgDhASAEQQA6AOIBIARBADoA4wEgBEEAOgDkASAEQQA6AOUBIARBADoA5gEgBEEAOgDnASAEQQA6AOgBIARBADoA6QEgBEEAOgDqASAEQQA6AOsBIARBADoA7AEgBEEAOgDtASAEQQA6AO4BIARBADoA7wEgBEEAOgDwASAEQQA6APEBIARBADoA8gEgBEEAOgDzASAEQQA6APQBIARBADoA9QEgBEEAOgD2ASAEQQA6APcBIARBADoA+AEgBEEAOgD5ASAEQQA6APoBIARBADoA+wEgBEEAOgD8ASAEQQA6AP0BIARBADoA/gEgBEEAOgD/ASAEQQA6AKABIARBADoAoQEgBEEAOgCiASAEQQA6AKMBIARBADoApAEgBEEAOgClASAEQQA6AKYBIARBADoApwEgBEEAOgCoASAEQQA6AKkBIARBADoAqgEgBEEAOgCrASAEQQA6AKwBIARBADoArQEgBEEAOgCuASAEQQA6AK8BIARBADoAsAEgBEEAOgCxASAEQQA6ALIBIARBADoAswEgBEEAOgC0ASAEQQA6ALUBIARBADoAtgEgBEEAOgC3ASAEQQA6ALgBIARBADoAuQEgBEEAOgC6ASAEQQA6ALsBIARBADoAvAEgBEEAOgC9ASAEQQA6AL4BIARBADoAvwEgBEEAOgAgIARBADoAISAEQQA6ACIgBEEAOgAjIARBADoAJCAEQQA6ACUgBEEAOgAmIARBADoAJyAEQQA6ACggBEEAOgApIARBADoAKiAEQQA6ACsgBEEAOgAsIARBADoALSAEQQA6AC4gBEEAOgAvIARBADoAMCAEQQA6ADEgBEEAOgAyIARBADoAMyAEQQA6ADQgBEEAOgA1IARBADoANiAEQQA6ADcgBEEAOgA4IARBADoAOSAEQQA6ADogBEEAOgA7IARBADoAPCAEQQA6AD0gBEEAOgA+IARBADoAPyAEQQA6AEAgBEEAOgBBIARBADoAQiAEQQA6AEMgBEEAOgBEIARBADoARSAEQQA6AEYgBEEAOgBHIARBADoASCAEQQA6AEkgBEEAOgBKIARBADoASyAEQQA6AEwgBEEAOgBNIARBADoATiAEQQA6AE8gBEEAOgBQIARBADoAUSAEQQA6AFIgBEEAOgBTIARBADoAVCAEQQA6AFUgBEEAOgBWIARBADoAVyAEQQA6AFggBEEAOgBZIARBADoAWiAEQQA6AFsgBEEAOgBcIARBADoAXSAEQQA6AF4gBEEAOgBfIARBADoAACAEQQA6AAEgBEEAOgACIARBADoAAyAEQQA6AAQgBEEAOgAFIARBADoABiAEQQA6AAcgBEEAOgAIIARBADoACSAEQQA6AAogBEEAOgALIARBADoADCAEQQA6AA0gBEEAOgAOIARBADoADyAEQQA6ABAgBEEAOgARIARBADoAEiAEQQA6ABMgBEEAOgAUIARBADoAFSAEQQA6ABYgBEEAOgAXIARBADoAGCAEQQA6ABkgBEEAOgAaIARBADoAGyAEQQA6ABwgBEEAOgAdIARBADoAHiAEQQA6AB8gBEGgBGokAAusDAIBfgZ/AkAgAkUNACAAKALQASIFQQdxBEBBACAFa0EHcSIEIAIgAiAESxshBwJAIARFDQAgATEAACEDIAAgBUEBaiIENgLQASAAQUBrIgggBUF4cWoiBiAGKQMAIAMgBUF/c0EDdEE4ca2GhDcDACAHQQFGBEAgBCEFDAELIAExAAEhAyAAIAVBAmoiBjYC0AEgCCAEQXhxaiIJIAkpAwAgAyAEQX9zQQN0QThxrYaENwMAIAdBAkYEQCAGIQUMAQsgATEAAiEDIAAgBUEDaiIENgLQASAIIAZBeHFqIgkgCSkDACADIAZBf3NBA3RBOHGthoQ3AwAgB0EDRgRAIAQhBQwBCyABMQADIQMgACAFQQRqIgY2AtABIAggBEF4cWoiCSAJKQMAIAMgBEF/c0EDdEE4ca2GhDcDACAHQQRGBEAgBiEFDAELIAExAAQhAyAAIAVBBWoiBDYC0AEgCCAGQXhxaiIJIAkpAwAgAyAGQX9zQQN0QThxrYaENwMAIAdBBUYEQCAEIQUMAQsgATEABSEDIAAgBUEGaiIGNgLQASAIIARBeHFqIgkgCSkDACADIARBf3NBA3RBOHGthoQ3AwAgB0EGRgRAIAYhBQwBCyABMQAGIQMgACAFQQdqIgU2AtABIAggBkF4cWoiBCAEKQMAIAMgBkF/c0EDdEE4ca2GhDcDAAsgAiAHayECIAEgB2ohAQsgBUH/AHEEQEEAIQRBACAFa0H/AHEiBiACIAIgBksbIgZBCE8EQCAAIAVBeHFqQUBrIQcgBkF4cSEIA0AgBCAHaiABIARqKQAAIgNCOIYgA0KA/gODQiiGhCADQoCA/AeDQhiGIANCgICA+A+DQgiGhIQgA0IIiEKAgID4D4MgA0IYiEKAgPwHg4QgA0IoiEKA/gODIANCOIiEhIQ3AwAgCCAEQQhqIgRHDQALCyAAIAZB+ABxIgQgBWoiBTYC0AEgAiAEayECIAEgBGohAQsgBUGAAUYEQCAAIAApA8gBIgNCgAh8NwPIASADQoB4WgRAIAAgACkDwAFCAXw3A8ABCyAAECAgAEIANwO4ASAAQgA3A7ABIABCADcDqAEgAEIANwOgASAAQgA3A5gBIABCADcDkAEgAEIANwOIASAAQgA3A4ABIABCADcDeCAAQgA3A3AgAEIANwNoIABCADcDYCAAQgA3A1ggAEIANwNQIABCADcDSCAAQgA3A0AgAEEANgLQAUEAIQULIAJBgAFPBEAgAkEHdiEIIABBQGshBkEAIQcDQEEAIQQDQCAEIAZqIAEgBGopAAAiA0I4hiADQoD+A4NCKIaEIANCgID8B4NCGIYgA0KAgID4D4NCCIaEhCADQgiIQoCAgPgPgyADQhiIQoCA/AeDhCADQiiIQoD+A4MgA0I4iISEhDcDACAEQQhqIgRBgAFHDQALIAAgACkDyAEiA0KACHw3A8gBIANCgHhaBEAgACAAKQPAAUIBfDcDwAELIAAQICAAQgA3A7gBIABCADcDsAEgAEIANwOoASAAQgA3A6ABIABCADcDmAEgAEIANwOQASAAQgA3A4gBIABCADcDgAEgAEIANwN4IABCADcDcCAAQgA3A2ggAEIANwNgIABCADcDWCAAQgA3A1AgAEIANwNIIAZCADcDAEEAIQUgAEEANgLQASABQYABaiEBIAggB0EBaiIHRw0ACwsgAkH/AHEiBkUNACAAQUBrIQkgBkEITwRAIAZBeHEhB0EAIQQDQCAEIAlqIAEgBGopAAAiA0I4hiADQoD+A4NCKIaEIANCgID8B4NCGIYgA0KAgID4D4NCCIaEhCADQgiIQoCAgPgPgyADQhiIQoCA/AeDhCADQiiIQoD+A4MgA0I4iISEhDcDACAHIARBCGoiBEcNAAsLIAAgAkH4AHEiByAFaiIENgLQASAGIAdGDQAgASAHaiEBIAJBA3RBwAdxIAVBA3RqIQhBAEEBIAYgB2siAiACQQFNG2shBQNAIAExAAAhAyAAIARBAWoiAjYC0AEgCSAEQXhxaiIEIAQpAwAgAyAIQX9zQThxrYaENwMAIAFBAWohASAIQQhqIQggAiEEIAVBAWoiBQ0ACwsLwAkCAn4CfyAAKALQASIERQRAIABCADcDuAEgAEIANwOwASAAQgA3A6gBIABCADcDoAEgAEIANwOYASAAQgA3A5ABIABCADcDiAEgAEIANwOAASAAQgA3A3ggAEIANwNwIABCADcDaCAAQgA3A2AgAEIANwNYIABCADcDUCAAQgA3A0ggAEIANwNACyAAIARBeHFqQUBrIgUgBSkDAEKAASAEQQN0IgVBf3NBOHGthoQ3AwAgACAAKQPIASIDIAWtfCICNwPIASACIANUBEAgACAAKQPAAUIBfDcDwAELIARB8ABPBEAgABAgIABCADcDqAEgAEIANwOgASAAQgA3A5gBIABCADcDkAEgAEIANwOIASAAQgA3A4ABIABCADcDeCAAQgA3A3AgAEIANwNoIABCADcDYCAAQgA3A1ggAEIANwNQIABCADcDSCAAQgA3A0AgACkDyAEhAgsgACACNwO4ASAAIAApA8ABNwOwASAAECAgASAAKQMAIgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3AAAgASAAKQMIIgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3AAggASAAKQMQIgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3ABAgASAAKQMYIgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3ABggASAAKQMgIgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3ACAgASAAKQMoIgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3ACggASAAKQMwIgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3ADAgASAAKQM4IgJCOIYgAkKA/gODQiiGhCACQoCA/AeDQhiGIAJCgICA+A+DQgiGhIQgAkIIiEKAgID4D4MgAkIYiEKAgPwHg4QgAkIoiEKA/gODIAJCOIiEhIQ3ADhBACEEA0AgACAEaiIBQQA6AAAgAUEBakEAOgAAIAFBAmpBADoAACABQQNqQQA6AAAgAUEEakEAOgAAIAFBBWpBADoAACABQQZqQQA6AAAgAUEHakEAOgAAIARBCGoiBEHYAUcNAAsLtAQBAX8jAEFAaiICJAAgAiABKAAANgIAIAIgASkABDcCBCACIAEpAAw3AgwgAiABKQAUNwIUIAIgASkAHDcCHCACIAEpACQ3AiQgAiABKQAsNwIsIAIgASkANDcCNCACIAEoADw2AjwgACACEB0gAkEAOgAAIAJBADoAASACQQA6AAIgAkEAOgADIAJBADoABCACQQA6AAUgAkEAOgAGIAJBADoAByACQQA6AAggAkEAOgAJIAJBADoACiACQQA6AAsgAkEAOgAMIAJBADoADSACQQA6AA4gAkEAOgAPIAJBADoAECACQQA6ABEgAkEAOgASIAJBADoAEyACQQA6ABQgAkEAOgAVIAJBADoAFiACQQA6ABcgAkEAOgAYIAJBADoAGSACQQA6ABogAkEAOgAbIAJBADoAHCACQQA6AB0gAkEAOgAeIAJBADoAHyACQQA6ACAgAkEAOgAhIAJBADoAIiACQQA6ACMgAkEAOgAkIAJBADoAJSACQQA6ACYgAkEAOgAnIAJBADoAKCACQQA6ACkgAkEAOgAqIAJBADoAKyACQQA6ACwgAkEAOgAtIAJBADoALiACQQA6AC8gAkEAOgAwIAJBADoAMSACQQA6ADIgAkEAOgAzIAJBADoANCACQQA6ADUgAkEAOgA2IAJBADoANyACQQA6ADggAkEAOgA5IAJBADoAOiACQQA6ADsgAkEAOgA8IAJBADoAPSACQQA6AD4gAkEAOgA/IAJBQGskAAuWDQEGfyMAQcAEayICJAAgAkGgBGoiAyABQaARQcAREAcgAkIANwK4AyACQgA3ArADIAJCADcCqAMgAkIANwKgAyACQgA3ApgDIAJCADcCkAMgAkIANwKIAyACQgA3AoADIAJCADcC+AIgAkIBNwLwAiACQgA3AugCIAJCADcC4AIgAkIANwLYAiACQgA3AtACIAJCATcCyAIgAkIANwKgASACQgA3ApgBIAJCADcCkAEgAkIANwKIASACQgA3AoABIAJCADcCeCACQgA3AnAgAkIANwJoIAJCADcCYCACQgE3AlggAkIANwJQIAJCADcCSCACQgA3AkAgAkIANwI4IAJCATcCMCACQgA3AiggAkIANwIgIAJCADcCGCACQgA3AhAgAkIANwIIIAJBCGoiASACQcgCaiIEIAJB8ANqIgUg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ASACQgA3A9ABIAJCADcDyAEgAkIANwPAASACQgA3A7gBIAJCADcDsAEgAkIANwOoASACQgA3A6ABIAJCADcDmAEgAkIANwOQASACQgA3A4gBIAJByABqIgMgAEEgEAMgAyACEAQgASACLQAAOgAAIAEgAikAATcAASABIAItAAk6AAkgASACKAEKNgAKIAEgAi8BDjsADiABIAItABA6ABAgASACKAARNgARIAEgAi8AFTsAFSABIAItABc6ABcgASACLQAYOgAYIAEgAi8AGTsAGSABIAIoABs2ABsgASABLQAAQfgBcToAACABIAItAB9BP3FBwAByOgAfIAJBADoAACACQQA6AAEgAkEAOgACIAJBADoAAyACQQA6AAQgAkEAOgAFIAJBADoABiACQQA6AAcgAkEAOgAIIAJBADoACSACQQA6AAogAkEAOgALIAJBADoADCACQQA6AA0gAkEAOgAOIAJBADoADyACQQA6ABAgAkEAOgARIAJBADoAEiACQQA6ABMgAkEAOgAUIAJBADoAFSACQQA6ABYgAkEAOgAXIAJBADoAGCACQQA6ABkgAkEAOgAaIAJBADoAGyACQQA6ABwgAkEAOgAdIAJBADoAHiACQQA6AB8gAkEAOgAgIAJBADoAISACQQA6ACIgAkEAOgAjIAJBADoAJCACQQA6ACUgAkEAOgAmIAJBADoAJyACQQA6ACggAkEAOgApIAJBADoAKiACQQA6ACsgAkEAOgAsIAJBADoALSACQQA6AC4gAkEAOgAvIAJBADoAMCACQQA6ADEgAkEAOgAyIAJBADoAMyACQQA6ADQgAkEAOgA1IAJBADoANiACQQA6ADcgAkEAOgA4IAJBADoAOSACQQA6ADogAkEAOgA7IAJBADoAPCACQQA6AD0gAkEAOgA+IAJBADoAPyACQaACaiQAC9kQAgN/CH4jAEHACGsiBCQAIARBADYC8AMgBEIANwPoAyAEQgA3A+ADIARC+cL4m5Gjs/DbADcD2AIgBELr+obav7X2wR83A9ACIARCn9j52cKR2oKbfzcDyAIgBELRhZrv+s+Uh9EANwPAAiAEQvHt9Pilp/2npX83A7gCIARCq/DT9K/uvLc8NwOwAiAEQrvOqqbY0Ouzu383A6gCIARCiJLznf/M+YTqADcDoAIgBEIANwPYAyAEQgA3A9ADIARCADcDyAMgBEIANwPAAyAEQgA3A7gDIARCADcDsAMgBEIANwOoAyAEQgA3A6ADIARCADcDmAMgBEIANwOQAyAEQgA3A4gDIARCADcDgAMgBEIANwP4AiAEQgA3A/ACIARCADcD6AIgBEIANwPgAiAEQaACaiIGIABBIBADIAYgA0EgEAMgBiABIAIQAyAGIARBoAdqIgIQBCAEIAIQBSAANQA8IQggADUAOCEJIAA1ADQhCiAANQAwIQsgADUALCEMIAA1ACghDSAANQAkIQ4gADUAICEHAkAgBEGABmoiASADEAoNACAEQeAEaiAAEAoNACAJIAogCyAMIA0gDiAHQpPYqJgKfEIgiHxC5bm2vwp8QiCIfEKpxqHoBXxCIIh8QqGMhNkOfEIgiHxC/////w98QiCIfEL/////D3xCIIh8Qv////8PfEIgiCAIfEKAgICAAVYNACAAQSBqIQUgAiABIARBgAFqIgAQCyAGIAEQDCAAIAIgBhANIARBwANqIAAQDEH9ASEAAn8CQAJAAkADQCAEIABBAWsiAUEDdmotAAAgAUEHcXZBAXENAyAEIABBAmsiAUEDdmotAAAgAUEHcXZBAXENASAEIABBA2siAUEDdmotAAAgAUEHcXZBAXENAiABIgBBAUsNAAtBAAwDCyAAQQJrDAILIABBA2sMAQsgAEEBawshACAEQf8BOgB+IARB//8DOwF8IAQgAEEBaiICOgB/Qf0BIQACfwJAAkACQANAIAUgAEEBayIBQQN2ai0AACABQQdxdkEBcQ0DIAUgAEECayIBQQN2ai0AACABQQdxdkEBcQ0BIAUgAEEDayIBQQN2ai0AACABQQdxdkEBcQ0CIAEiAEEBSw0AC0EADAMLIABBAmsMAgsgAEEDawwBCyAAQQFrCyEAIARB//8DOwF4IARCADcCmAcgBEIANwKQByAEQgA3AogHIARCADcCgAcgBEIANwL4BiAEQgA3AvAGIARCADcC6AYgBEIANwLgBiAEQgA3AtgGIARCATcC0AYgBEIANwLIBiAEQgA3AsAGIARCADcCuAYgBEIANwKwBiAEQgE3AqgGIARCADcCoAYgBEIANwKYBiAEQgA3ApAGIARCADcCiAYgBEIANwKABiAEQf8BOgB6IAQgAEEBaiIAOgB7IAJB/wFxIgEgAEH/AXEiACAAIAFJGyEDA0AgBEGABmoiASABIARBgAFqEAsgBEH8AGpBAyADIgAgBBAOIQMgBEH4AGpBBSAAIAUQDiECAkAgA0EASgRAIAEgASAEQaACaiADQQF2QaABbGoQDQwBCyADQQBODQAgBCAEQaACakEAIANrQQF2QaABbGoiASgCADYCyAcgBCABKQIENwLMByAEIAEpAgw3AtQHIAQgASkCFDcC3AcgBCABKQIcNwLkByAEIAEoAiQ2AuwHIAQgASkDKDcCoAcgBCABKQMwNwKoByAEIAEoAjg2ArAHIAQgASgCPDYCtAcgBCABKQNANwK4ByAEIAEpA0g3AsAHIAQgASkDUDcC8AcgBCABKQNYNwL4ByAEIAEpA2A3AoAIIAQgASkDaDcCiAggBCABKQNwNwKQCCAEQQAgASgCeGs2ApgIIARBACABKAJ8azYCnAggBEEAIAEoAoABazYCoAggBEEAIAEoAoQBazYCpAggBEEAIAEoAogBazYCqAggBEEAIAEoAowBazYCrAggBEEAIAEoApABazYCsAggBEEAIAEoApQBazYCtAggBEEAIAEoApgBazYCuAggBEEAIAEoApwBazYCvAggBEGABmoiASABIARBoAdqEA0LAkAgAkEASgRAIARBgAZqIgEgASACQQF2QfgAbEGgCGogBEHQAGogBEEgahAPDAELIAJBAE4NACAEQQAgAmtBAXZB+ABsIgFBwAhqKQMANwLoByAEIAFBuAhqKQMANwLgByAEIAFBsAhqKQMANwLYByAEIAFBqAhqKQMANwLQByAEIAFBoAhqKQMANwLIByAEIAFB6AhqKQMANwLAByAEIAFB4AhqKQMANwK4ByAEIAFB2AhqKQMANwKwByAEIAFB0AhqKQMANwKoByAEIAFByAhqKQMANwKgByAEQQAgAUGUCWooAgBrNgKUCCAEQQAgAUGQCWooAgBrNgKQCCAEQQAgAUGMCWooAgBrNgKMCCAEQQAgAUGICWooAgBrNgKICCAEQQAgAUGECWooAgBrNgKECCAEQQAgAUGACWooAgBrNgKACCAEQQAgAUH8CGooAgBrNgL8ByAEQQAgAUH4CGooAgBrNgL4ByAEQQAgAUH0CGooAgBrNgL0ByAEQQAgAUHwCGooAgBrNgLwByAEQYAGaiIBIAEgBEGgB2ogBEHQAGogBEEgahAPCyAAQQFrIQMgAEEASg0ACyAEQaAHaiIAIARB4ARqIgEQDCAEQYAGaiICIAIgABANIAIgAiABEAsgAiACIAEQCyACIAIgARALIARBgAFqIAIQECAEKQOYASAEKQOQASAEKQOIASAEKQOAAUIBhYSEhCIHQv////8PgyAHQiCIhEIBfUIgiKdBAXEhBQsgBEHACGokACAFC8oGAQ1/IwBBIGsiAiQAIABBKGoiBiABEBcgAEIANwJwIABCADcCaCAAQgA3AmAgAEIANwJYIABCATcCUCAAQfgAaiIDIAYQGSAAIANB8BAQGCAAIAAoAnggACgCUCIEazYCeCAAIAAoAnwgACgCVCIFazYCfCAAIAAoAoABIAAoAlgiB2s2AoABIAAgACgChAEgACgCXCIIazYChAEgACAAKAKIASAAKAJgIglrNgKIASAAIAAoAowBIAAoAmQiCms2AowBIAAgACgCkAEgACgCaCILazYCkAEgACAAKAKUASAAKAJsIgxrNgKUASAAIAAoApgBIAAoAnAiDWs2ApgBIAAgACgCnAEgACgCdCIOazYCnAEgACAEIAAoAgBqNgIAIAAgBSAAKAIEajYCBCAAIAcgACgCCGo2AgggACAIIAAoAgxqNgIMIAAgCSAAKAIQajYCECAAIAogACgCFGo2AhQgACALIAAoAhhqNgIYIAAgDCAAKAIcajYCHCAAIA0gACgCIGo2AiAgACAOIAAoAiRqNgIkIAAgAyAAEBgCQCAAIAAQGkUEQEF/IQQMAQsgACADIAAQGCACIAAQGyACLQAAQQAhBCACQQA6AAAgAkEAOgABIAJBADoAAiACQQA6AAMgAkEAOgAEIAJBADoABSACQQA6AAYgAkEAOgAHIAJBADoACCACQQA6AAkgAkEAOgAKIAJBADoACyACQQA6AAwgAkEAOgANIAJBADoADiACQQA6AA8gAkEAOgAQIAJBADoAESACQQA6ABIgAkEAOgATIAJBADoAFCACQQA6ABUgAkEAOgAWIAJBADoAFyACQQA6ABggAkEAOgAZIAJBADoAGiACQQA6ABsgAkEAOgAcIAJBADoAHSACQQA6AB4gAkEAOgAfQQFxIAEtAB9BB3ZGBEAgAEEAIAAoAgBrNgIAIABBACAAKAIEazYCBCAAQQAgACgCCGs2AgggAEEAIAAoAgxrNgIMIABBACAAKAIQazYCECAAQQAgACgCFGs2AhQgAEEAIAAoAhhrNgIYIABBACAAKAIcazYCHCAAQQAgACgCIGs2AiAgAEEAIAAoAiRrNgIkCyADIAAgBhAYCyACQSBqJAAgBAu6CgILfhl/IAIgARAZIAJBKGoiGiABQShqEBkgAkHQAGoiGyABQdAAahAZIAI0AmhCAYYgAjQCZEIBhiACNAJgQgGGIgZCgICAEHwiB0Iah3wiCEKAgIAIfCIJQhmHfCIDQoCAgBB8IQQgAiADIARCgICA4A+DfT4CaCACNAJYQgGGIAI0AlRCAYYgAjQCUEIBhiIKQoCAgBB8IgtCGod8IgxCgICACHwiDUIZh3wiBUKAgIAQfCEDIAIgBSADQoCAgOAPg30+AlggAjQCbEIBhiAEQhqHfCIFQoCAgAh8IQQgAiAFIARCgICA8A+DfT4CbCACNAJcQgGGIANCGod8IgVCgICACHwhAyACIAUgA0KAgIDwD4N9PgJcIAI0AnBCAYYgBEIZh3wiBUKAgIAQfCEEIAIgBSAEQoCAgOAPg30+AnAgAiAIIAlCgICA8A+DfSAGIAdCgICAYIN9IANCGYd8IgNCgICAEHwiBkIaiHw+AmQgAiADIAZCgICA4A+DfT4CYCACNAJ0QgGGIARCGod8IgNCgICACHwhBCACIAMgBEKAgIDwD4N9PgJ0IAIgDCANQoCAgPAPg30gCiALQoCAgGCDfSAEQhmHQhN+fCIEQoCAgBB8IgNCGoh8PgJUIAIgBCADQoCAgOAPg30+AlAgAiABKAIoIAEoAgBqNgJ4IAIgASgCLCABKAIEajYCfCACIAEoAjAgASgCCGo2AoABIAIgASgCNCABKAIMajYChAEgAiABKAI4IAEoAhBqNgKIASACIAEoAjwgASgCFGo2AowBIAIgASgCQCABKAIYajYCkAEgAiABKAJEIAEoAhxqNgKUASACIAEoAkggASgCIGo2ApgBIAIgASgCTCABKAIkajYCnAEgAEH4AGoiHCACQfgAaiIBEBkgAiACKAIAIhIgAigCKCIQaiIdNgJ4IAIgAigCBCITIAIoAiwiEWoiHjYCfCACIAIoAggiFCACKAIwIhVqIh82AoABIAIgAigCDCIWIAIoAjQiDmoiIDYChAEgAiACKAIQIhcgAigCOCIPaiIhNgKIASACIAIoAhQiGCACKAI8IhlqIiI2AowBIAIgAigCGCIjIAIoAkAiJGoiJTYCkAEgAiAZIBhrIhg2AjwgAiAPIBdrIhc2AjggAiAOIBZrIhY2AjQgAiAVIBRrIhQ2AjAgAiARIBNrIhM2AiwgAiAQIBJrIhI2AiggAiACKAJEIhAgAigCHCIRayIVNgJEIAIgAigCSCIOIAIoAiAiD2siGTYCSCACIBAgEWoiEDYClAEgAiAOIA9qIhE2ApgBIAIgAigCTCIOIAIoAiQiD2siJjYCTCACIA4gD2oiDjYCnAEgAiAkICNrIg82AkAgAiAAKAJ4IB1rNgIAIAIgACgCfCAeazYCBCACIAAoAoABIB9rNgIIIAIgACgChAEgIGs2AgwgAiAAKAKIASAhazYCECACIAAoAowBICJrNgIUIAIgACgCkAEgJWs2AhggAiAAKAKUASAQazYCHCACIAAoApgBIBFrNgIgIAIgACgCnAEgDms2AiQgAiACKAJQIBJrNgJQIAIgAigCVCATazYCVCACIAIoAlggFGs2AlggAiACKAJcIBZrNgJcIAIgAigCYCAXazYCYCACIAIoAmQgGGs2AmQgAiACKAJoIA9rNgJoIAIgAigCbCAVazYCbCACIAIoAnAgGWs2AnAgAiACKAJ0ICZrNgJ0IAAgAiAbEBggAEEoaiABIBoQGCAAQdAAaiAaIBsQGCAcIAIgARAYC7cDACAAIAEoAgAgASgCKGo2AgAgACABKAIEIAEoAixqNgIEIAAgASgCCCABKAIwajYCCCAAIAEoAgwgASgCNGo2AgwgACABKAIQIAEoAjhqNgIQIAAgASgCFCABKAI8ajYCFCAAIAEoAhggASgCQGo2AhggACABKAIcIAEoAkRqNgIcIAAgASgCICABKAJIajYCICAAIAEoAiQgASgCTGo2AiQgACABKAIoIAEoAgBrNgIoIAAgASgCLCABKAIEazYCLCAAIAEoAjAgASgCCGs2AjAgACABKAI0IAEoAgxrNgI0IAAgASgCOCABKAIQazYCOCAAIAEoAjwgASgCFGs2AjwgACABKAJAIAEoAhhrNgJAIAAgASgCRCABKAIcazYCRCAAIAEoAkggASgCIGs2AkggACABKAJMIAEoAiRrNgJMIAAgASgCUDYCUCAAIAEoAlQ2AlQgACABKAJYNgJYIAAgASgCXDYCXCAAIAEoAmA2AmAgACABKAJkNgJkIAAgASgCaDYCaCAAIAEoAmw2AmwgACABKAJwNgJwIAAgASgCdDYCdCAAQfgAaiABQfgAakGQEBAYC4kJARR/IwBB4ABrIgMkACADIAEoAgAiCyABKAIoIgRqNgIwIAMgASgCBCIFIAEoAiwiBmo2AjQgAyABKAIIIgcgASgCMCIIajYCOCADIAEoAgwiCSABKAI0IgpqNgI8IAMgASgCECIMIAEoAjgiDWo2AkAgAyABKAIUIg4gASgCPCIPajYCRCADIA8gDms2AhQgAyANIAxrNgIQIAMgCiAJazYCDCADIAggB2s2AgggAyAGIAVrNgIEIAMgBCALazYCACADIAEoAhgiCyABKAJAIgRqNgJIIAMgASgCHCIFIAEoAkQiBmo2AkwgAyABKAIgIgcgASgCSCIIajYCUCADIAEoAiQiCSABKAJMIgpqNgJUIAMgCiAJazYCJCADIAggB2s2AiAgAyAGIAVrNgIcIAMgBCALazYCGCADQTBqIgsgCyACEBggAyADIAJBKGoQGCAAIAMoAgAiBCADKAIwIgVqNgIoIAAgAygCBCIGIAMoAjQiB2o2AiwgACADKAIIIgggAygCOCIJajYCMCAAIAMoAgwiCiADKAI8IgxqNgI0IAAgAygCECINIAMoAkAiDmo2AjggACADKAIUIg8gAygCRCIQajYCPCAAIAMoAhgiESADKAJIIhJqNgJAIAAgAygCHCITIAMoAkwiFGo2AkQgACADKAIgIhUgAygCUCIWajYCSCAAIBAgD2s2AhQgACAOIA1rNgIQIAAgDCAKazYCDCAAIAkgCGs2AgggACAHIAZrNgIEIAAgBSAEazYCACAAIAMoAiQiBCADKAJUIgVqNgJMIAAgBSAEazYCJCAAIBYgFWs2AiAgACAUIBNrNgIcIAAgEiARazYCGCAAIAEoAlBBAXQ2AlAgACABKAJUQQF0NgJUIAAgASgCWEEBdDYCWCAAIAEoAlxBAXQ2AlwgACABKAJgQQF0NgJgIAAgASgCZEEBdDYCZCAAIAEoAmhBAXQ2AmggACABKAJsQQF0NgJsIAAgASgCcEEBdDYCcCAAIAEoAnRBAXQ2AnQgAEHQAGoiBCAEIAJB0ABqEBggAEH4AGoiBSABQfgAaiACQfgAahAYIAMgACgCeCIBIAAoAlAiAmo2AjAgAyAAKAJ8IgYgACgCVCIHajYCNCADIAAoAoABIgggACgCWCIJajYCOCADIAAoAoQBIgogACgCXCIMajYCPCADIAAoAogBIg0gACgCYCIOajYCQCADIAAoAowBIg8gACgCZCIQajYCRCADIBAgD2s2AhQgAyAOIA1rNgIQIAMgCSAIazYCCCADIAcgBms2AgQgAyACIAFrNgIAIAMgDCAKazYCDCADIAAoApABIgEgACgCaCICajYCSCADIAAoApQBIgYgACgCbCIHajYCTCADIAAoApgBIgggACgCcCIJajYCUCADIAAoApwBIgogACgCdCIMajYCVCADIAwgCms2AiQgAyAJIAhrNgIgIAMgByAGazYCHCADIAIgAWs2AhggBSAAIABBKGoiARAYIAAgACADEBggASABIAsQGCAEIAsgAxAYIANB4ABqJAALzAMBCH8gAC0AAyIHIAJGBEAgACACBH8gAyACQQFrIgZBA3ZqLQAAIAZBB3F2QQFxBUEACyADIAJBA3ZqLQAAIAJBB3F2QQFxIgRGBH8gB0EBawVBACAEIAJBAWoiBCABIAEgBEobIgZBAWsiBXRrIQQCQCAGQQJIDQAgAiAFayAGQQJGBH9BAAUgBUEBcSACIAZrIQkgBUF+cSEKQQAhAQNAIAQgASAJaiILQQFqIgVBAE4EfyADIAVBA3ZqLQAAIAVBB3F2QQFxBUEACyABdGogC0ECaiIEQQBOBH8gAyAEQQN2ai0AACAEQQdxdkEBcQVBAAsgAUEBanRqIQQgCiABQQJqIgFHDQALRQ0BIAZBA2tBfnFBAmoLIgFqIgVBAE4EfyADIAVBA3ZqLQAAIAVBB3F2QQFxBUEACyABdCAEaiEEC0EAIAIgBmsiAUEATgR/IAMgAUEDdmotAAAgAUEHcXZBAXEFQQALIARqIgNrIANxIgRBzAFxQQBHQQF0IARBqgFxQQBHciAEQfABcUEAR0ECdHIhBCAAIAMgBHU6AAIgACABIARqQQFqOwEAIAcgBmsLOgADCyACIAAuAQBGBH8gACwAAgVBAAsLqAkBAX8gAyABKAIAIAEoAihqNgIAIAMgASgCBCABKAIsajYCBCADIAEoAgggASgCMGo2AgggAyABKAIMIAEoAjRqNgIMIAMgASgCECABKAI4ajYCECADIAEoAhQgASgCPGo2AhQgAyABKAIYIAEoAkBqNgIYIAMgASgCHCABKAJEajYCHCADIAEoAiAgASgCSGo2AiAgAyABKAIkIAEoAkxqNgIkIAQgASgCKCABKAIAazYCACAEIAEoAiwgASgCBGs2AgQgBCABKAIwIAEoAghrNgIIIAQgASgCNCABKAIMazYCDCAEIAEoAjggASgCEGs2AhAgBCABKAI8IAEoAhRrNgIUIAQgASgCQCABKAIYazYCGCAEIAEoAkQgASgCHGs2AhwgBCABKAJIIAEoAiBrNgIgIAQgASgCTCABKAIkazYCJCADIAMgAhAYIAQgBCACQShqEBggACAEKAIAIAMoAgBqNgIoIAAgBCgCBCADKAIEajYCLCAAIAQoAgggAygCCGo2AjAgACAEKAIMIAMoAgxqNgI0IAAgBCgCECADKAIQajYCOCAAIAQoAhQgAygCFGo2AjwgACAEKAIYIAMoAhhqNgJAIAAgBCgCHCADKAIcajYCRCAAIAQoAiAgAygCIGo2AkggACAEKAIkIAMoAiRqNgJMIAAgAygCACAEKAIAazYCACAAIAMoAgQgBCgCBGs2AgQgACADKAIIIAQoAghrNgIIIAAgAygCDCAEKAIMazYCDCAAIAMoAhAgBCgCEGs2AhAgACADKAIUIAQoAhRrNgIUIAAgAygCGCAEKAIYazYCGCAAIAMoAhwgBCgCHGs2AhwgACADKAIgIAQoAiBrNgIgIAAgAygCJCAEKAIkazYCJCAAIAEoAlBBAXQ2AlAgACABKAJUQQF0NgJUIAAgASgCWEEBdDYCWCAAIAEoAlxBAXQ2AlwgACABKAJgQQF0NgJgIAAgASgCZEEBdDYCZCAAIAEoAmhBAXQ2AmggACABKAJsQQF0NgJsIAAgASgCcEEBdDYCcCAAIAEoAnRBAXQ2AnQgAEH4AGoiBSABQfgAaiACQdAAahAYIAMgACgCeCAAKAJQajYCACADIAAoAnwgACgCVGo2AgQgAyAAKAKAASAAKAJYajYCCCADIAAoAoQBIAAoAlxqNgIMIAMgACgCiAEgACgCYGo2AhAgAyAAKAKMASAAKAJkajYCFCADIAAoApABIAAoAmhqNgIYIAMgACgClAEgACgCbGo2AhwgAyAAKAKYASAAKAJwajYCICADIAAoApwBIAAoAnRqNgIkIAQgACgCUCAAKAJ4azYCACAEIAAoAlQgACgCfGs2AgQgBCAAKAJYIAAoAoABazYCCCAEIAAoAlwgACgChAFrNgIMIAQgACgCYCAAKAKIAWs2AhAgBCAAKAJkIAAoAowBazYCFCAEIAAoAmggACgCkAFrNgIYIAQgACgCbCAAKAKUAWs2AhwgBCAAKAJwIAAoApgBazYCICAEIAAoAnQgACgCnAFrNgIkIAUgACAAQShqIgEQGCAAIAAgBBAYIAEgASADEBggAEHQAGogAyAEEBgL7QsBBH8jAEGwAWsiAiQAIAJB4ABqIgMgAUHQAGoiBRAZIAMgAxAaGiADIAMQGSACQTBqIgQgAyAFEBggAkEAOgBgIAJBADoAYSACQQA6AGIgAkEAOgBjIAJBADoAZCACQQA6AGUgAkEAOgBmIAJBADoAZyACQQA6AGggAkEAOgBpIAJBADoAaiACQQA6AGsgAkEAOgBsIAJBADoAbSACQQA6AG4gAkEAOgBvIAJBADoAcCACQQA6AHEgAkEAOgByIAJBADoAcyACQQA6AHQgAkEAOgB1IAJBADoAdiACQQA6AHcgAkEAOgB4IAJBADoAeSACQQA6AHogAkEAOgB7IAJBADoAfCACQQA6AH0gAkEAOgB+IAJBADoAfyACQQA6AIABIAJBADoAgQEgAkEAOgCCASACQQA6AIMBIAJBADoAhAEgAkEAOgCFASACQQA6AIYBIAJBADoAhwEgAyABIAQQGCACIAFBKGogBBAYIAAgAhAbIAJBkAFqIAMQGyACLQCQASEBIAJBADoAkAEgAkEAOgCRASACQQA6AJIBIAJBADoAkwEgAkEAOgCUASACQQA6AJUBIAJBADoAlgEgAkEAOgCXASACQQA6AJgBIAJBADoAmQEgAkEAOgCaASACQQA6AJsBIAJBADoAnAEgAkEAOgCdASACQQA6AJ4BIAJBADoAnwEgAkEAOgCgASACQQA6AKEBIAJBADoAogEgAkEAOgCjASACQQA6AKQBIAJBADoApQEgAkEAOgCmASACQQA6AKcBIAJBADoAqAEgAkEAOgCpASACQQA6AKoBIAJBADoAqwEgAkEAOgCsASACQQA6AK0BIAJBADoArgEgAkEAOgCvASAAIAAtAB8gAUEHdHM6AB8gAkEAOgAwIAJBADoAMSACQQA6ADIgAkEAOgAzIAJBADoANCACQQA6ADUgAkEAOgA2IAJBADoANyACQQA6ADggAkEAOgA5IAJBADoAOiACQQA6ADsgAkEAOgA8IAJBADoAPSACQQA6AD4gAkEAOgA/IAJBADoAQCACQQA6AEEgAkEAOgBCIAJBADoAQyACQQA6AEQgAkEAOgBFIAJBADoARiACQQA6AEcgAkEAOgBIIAJBADoASSACQQA6AEogAkEAOgBLIAJBADoATCACQQA6AE0gAkEAOgBOIAJBADoATyACQQA6AFAgAkEAOgBRIAJBADoAUiACQQA6AFMgAkEAOgBUIAJBADoAVSACQQA6AFYgAkEAOgBXIAJBADoAYCACQQA6AGEgAkEAOgBiIAJBADoAYyACQQA6AGQgAkEAOgBlIAJBADoAZiACQQA6AGcgAkEAOgBoIAJBADoAaSACQQA6AGogAkEAOgBrIAJBADoAbCACQQA6AG0gAkEAOgBuIAJBADoAbyACQQA6AHAgAkEAOgBxIAJBADoAciACQQA6AHMgAkEAOgB0IAJBADoAdSACQQA6AHYgAkEAOgB3IAJBADoAeCACQQA6AHkgAkEAOgB6IAJBADoAeyACQQA6AHwgAkEAOgB9IAJBADoAfiACQQA6AH8gAkEAOgCAASACQQA6AIEBIAJBADoAggEgAkEAOgCDASACQQA6AIQBIAJBADoAhQEgAkEAOgCGASACQQA6AIcBIAJBADoAACACQQA6AAEgAkEAOgACIAJBADoAAyACQQA6AAQgAkEAOgAFIAJBADoABiACQQA6AAcgAkEAOgAIIAJBADoACSACQQA6AAogAkEAOgALIAJBADoADCACQQA6AA0gAkEAOgAOIAJBADoADyACQQA6ABAgAkEAOgARIAJBADoAEiACQQA6ABMgAkEAOgAUIAJBADoAFSACQQA6ABYgAkEAOgAXIAJBADoAGCACQQA6ABkgAkEAOgAaIAJBADoAGyACQQA6ABwgAkEAOgAdIAJBADoAHiACQQA6AB8gAkEAOgAgIAJBADoAISACQQA6ACIgAkEAOgAjIAJBADoAJCACQQA6ACUgAkEAOgAmIAJBADoAJyACQbABaiQAC+wGAQV/IwBBgAZrIgUkACAFQYCAgAg2AkwgBUHQAGoiBiAAIAEQEiAFQdABaiIHIAIgAxADIAcgBUHMAGpBBBADIAYgBRATQQAhAwNAIAMgBGogAyAFaigCADYAACADQQRqIgNBwABHDQALIAVBqARqIQlBASEHA0AgBUGoA2oiAiAAIAEQEiAJIAVBwAAQAyACIAUQE0EAIQIDQCACIARqIgMgAy0AACACIAVqIgYtAABzOgAAIANBAWoiCCAILQAAIAZBAWotAABzOgAAIANBAmoiCCAILQAAIAZBAmotAABzOgAAIANBA2oiAyADLQAAIAZBA2otAABzOgAAIAJBBGoiAkHAAEcNAAsgB0EBaiIHQYAQRw0AC0EAIQIDQCAFQdAAaiACaiIAQQA6AAAgAEEBakEAOgAAIABBAmpBADoAACAAQQNqQQA6AAAgAEEEakEAOgAAIABBBWpBADoAACAAQQZqQQA6AAAgAEEHakEAOgAAIAJBCGoiAkHYAkcNAAtBACEDA0AgBUHMAGogA2pBADoAACADQQFqIgNBBEcNAAsgBUEAOgAAIAVBADoAASAFQQA6AAIgBUEAOgADIAVBADoABCAFQQA6AAUgBUEAOgAGIAVBADoAByAFQQA6AAggBUEAOgAJIAVBADoACiAFQQA6AAsgBUEAOgAMIAVBADoADSAFQQA6AA4gBUEAOgAPIAVBADoAECAFQQA6ABEgBUEAOgASIAVBADoAEyAFQQA6ABQgBUEAOgAVIAVBADoAFiAFQQA6ABcgBUEAOgAYIAVBADoAGSAFQQA6ABogBUEAOgAbIAVBADoAHCAFQQA6AB0gBUEAOgAeIAVBADoAHyAFQQA6ACAgBUEAOgAhIAVBADoAIiAFQQA6ACMgBUEAOgAkIAVBADoAJSAFQQA6ACYgBUEAOgAnIAVBADoAKCAFQQA6ACkgBUEAOgAqIAVBADoAKyAFQQA6ACwgBUEAOgAtIAVBADoALiAFQQA6AC8gBUEAOgAwIAVBADoAMSAFQQA6ADIgBUEAOgAzIAVBADoANCAFQQA6ADUgBUEAOgA2IAVBADoANyAFQQA6ADggBUEAOgA5IAVBADoAOiAFQQA6ADsgBUEAOgA8IAVBADoAPSAFQQA6AD4gBUEAOgA/IAVBgAZqJAALsAcBBn8jAEHgAWsiAyQAAkACQAJAAkAgAkGBAU8EQCADQQA2AtgBIANCADcD0AEgA0IANwPIASADQvnC+JuRo7Pw2wA3A0AgA0Lr+obav7X2wR83AzggA0Kf2PnZwpHagpt/NwMwIANC0YWa7/rPlIfRADcDKCADQvHt9Pilp/2npX83AyAgA0Kr8NP0r+68tzw3AxggA0K7zqqm2NDrs7t/NwMQIANCiJLznf/M+YTqADcDCCADQgA3A8ABIANCADcDuAEgA0IANwOwASADQgA3A6gBIANCADcDoAEgA0IANwOYASADQgA3A5ABIANCADcDiAEgA0IANwOAASADQgA3A3ggA0IANwNwIANCADcDaCADQgA3A2AgA0IANwNYIANCADcDUCADQgA3A0ggA0EIaiIEIAEgAhADIAQgABAEQcAAIQIgACEBDAELIAJFBEBBACECDAMLIAJBA3EhBSACQQRJDQELIAJB/AFxIQhBACEEA0AgACAEaiIGIAEgBGoiBy0AAEE2czoAACAGQQFqIAdBAWotAABBNnM6AAAgBkECaiAHQQJqLQAAQTZzOgAAIAZBA2ogB0EDai0AAEE2czoAACAIIARBBGoiBEcNAAsLIAUEQCABIARqIQEgACAEaiEEA0AgBCABLQAAQTZzOgAAIAFBAWohASAEQQFqIQQgBUEBayIFDQALCyACQf8ASw0BCyACQf8Ac0EAIAJrQQdxIgQEQANAIAAgAmpBNjoAACACQQFqIQIgBEEBayIEDQALC0EHSQ0AQYABIQEgACEEA0AgAiAEakK27Nix48aNmzY3AAAgBEEIaiEEIAIgAUEIayIBRw0ACwsgAEEANgLQAiAAQgA3A8gCIABCADcDwAIgAEL5wvibkaOz8NsANwO4ASAAQuv6htq/tfbBHzcDsAEgAEKf2PnZwpHagpt/NwOoASAAQtGFmu/6z5SH0QA3A6ABIABC8e30+KWn/aelfzcDmAEgAEKr8NP0r+68tzw3A5ABIABCu86qptjQ67O7fzcDiAEgAEKIkvOd/8z5hOoANwOAASAAQgA3A7gCIABCADcDsAIgAEIANwOoAiAAQgA3A6ACIABCADcDmAIgAEIANwOQAiAAQgA3A4gCIABCADcDgAIgAEIANwP4ASAAQgA3A/ABIABCADcD6AEgAEIANwPgASAAQgA3A9gBIABCADcD0AEgAEIANwPIASAAQgA3A8ABIABBgAFqIABBgAEQAyADQeABaiQAC4gEAQR/IABBgAFqIgQgARAEA0AgACACaiIDIAMtAABB6gBzOgAAIANBAWoiBSAFLQAAQeoAczoAACADQQJqIgUgBS0AAEHqAHM6AAAgA0EDaiIDIAMtAABB6gBzOgAAIAJBBGoiAkGAAUcNAAsgAEEANgLQAiAAQgA3A8gCIABCADcDwAIgAEL5wvibkaOz8NsANwO4ASAAQuv6htq/tfbBHzcDsAEgAEKf2PnZwpHagpt/NwOoASAAQtGFmu/6z5SH0QA3A6ABIABC8e30+KWn/aelfzcDmAEgAEKr8NP0r+68tzw3A5ABIABCu86qptjQ67O7fzcDiAEgAEKIkvOd/8z5hOoANwOAASAAQgA3A7gCIABCADcDsAIgAEIANwOoAiAAQgA3A6ACIABCADcDmAIgAEIANwOQAiAAQgA3A4gCIABCADcDgAIgAEIANwP4ASAAQgA3A/ABIABCADcD6AEgAEIANwPgASAAQgA3A9gBIABCADcD0AEgAEIANwPIASAAQgA3A8ABIAQgAEGAARADIAQgAUHAABADIAQgARAEQQAhAgNAIAAgAmoiAUEAOgAAIAFBAWpBADoAACABQQJqQQA6AAAgAUEDakEAOgAAIAFBBGpBADoAACABQQVqQQA6AAAgAUEGakEAOgAAIAFBB2pBADoAACACQQhqIgJB2AJHDQALCwsAIAEgAEGACBAVC9ozAj1/EH4jAEGgA2siAyQAIAMgAS0AAToAASADIAEoAAI2AQIgAyABKQAGNwEGIAMgASkADjcBDiADIAEpABY3ARYgAyABLQAeOgAeIAMgAS0AAEH4AXE6AAAgAyABLQAfQT9xQcAAcjoAHyADQcACaiACEBcgA0IANwOwAiADQgA3A6gCIANCADcDoAIgA0IANwOYAiADQgE3A5ACIANCADcDgAIgA0IANwP4ASADQgA3A/ABIANCADcD6AEgA0IANwPgASADIAMoAsACNgKwASADIAMoAsQCNgK0ASADIAMoAsgCNgK4ASADIAMoAswCNgK8ASADIAMoAtACNgLAASADIAMoAtQCNgLEASADIAMoAtgCNgLIASADIAMoAtwCNgLMASADIAMoAuACNgLQASADIAMoAuQCNgLUASADQgA3A6ABIANCADcDmAEgA0IANwOQASADQgA3A4gBIANCATcDgAFBgAIhAUEAIQIDQCACIQUgA0EAIAUgAyABQQJrIgJBA3ZqLQAAIAJBB3F2QQFxIgJzayIQNgLwAiADKALwAiEFIAMoApACIRogAygCsAEhBCADKAKUAiERIAMoArQBIRYgAygCmAIhCiADKAK4ASEGIAMoApwCIQsgAygCvAEhByADKAKgAiEMIAMoAsABIQggAygCxAEhCSADKAKkAiENIAMoAsgBIQ4gAygCqAIhEiADKALMASEPIAMoAqwCIRMgAygC0AEhFCADKAKwAiEXIAMoAtQBIRUgAygCtAIhGCADIBA2AvACIAMgAygC8AIgAygC4AEiIyADKAKAASIQc3EiJCAQcyIQNgKAASADIAMoAvACIAMoAuQBIiUgAygChAEiGXNxIiYgGXMiGTYChAEgAyADKALwAiADKALoASInIAMoAogBIhxzcSIoIBxzIhw2AogBIAMgAygC8AIgAygC7AEiKSADKAKMASIbc3EiKiAbcyIbNgKMASADIAMoAvACIAMoAvABIisgAygCkAEiHXNxIiwgHXMiHTYCkAEgAyADKALwAiADKAL0ASItIAMoApQBIh5zcSIuIB5zIh42ApQBIAMgAygC8AIgAygC+AEiLyADKAKYASIfc3EiMCAfcyIfNgKYASADIAMoAvACIAMoAvwBIjEgAygCnAEiIHNxIjIgIHMiIDYCnAEgAyADKALwAiADKAKAAiIzIAMoAqABIiFzcSI0ICFzIiE2AqABIAMgAygC8AIgAygChAIiNSADKAKkASIic3EiNiAicyIiNgKkASADIBUgBSAVIBhzcSIVcyI3ICJrNgJ0IAMgFCAFIBQgF3NxIhRzIjggIWs2AnAgAyAPIAUgDyATc3EiD3MiOSAgazYCbCADIA4gBSAOIBJzcSIOcyI6IB9rNgJoIAMgCSAFIAkgDXNxIglzIjsgHms2AmQgAyAIIAUgCCAMc3EiCHMiPCAdazYCYCADIAcgBSAHIAtzcSIHcyI9IBtrNgJcIAMgBiAFIAYgCnNxIgZzIj4gHGs2AlggAyAWIAUgESAWc3EiFnMiPyAZazYCVCADIAUgBCAac3EiBSAEcyIEIBBrNgJQIAMgFSAYcyIVIDUgNnMiGGs2AkQgAyAUIBdzIhQgMyA0cyIXazYCQCADIA8gE3MiDyAxIDJzIhNrNgI8IAMgDiAScyIOIC8gMHMiEms2AjggAyAJIA1zIgkgLSAucyINazYCNCADIAggDHMiDCArICxzIghrNgIwIAMgByALcyILICkgKnMiB2s2AiwgAyAGIApzIgogJyAocyIGazYCKCADIBEgFnMiESAlICZzIhZrNgIkIAMgBSAacyIFICMgJHMiGms2AiAgAyAVIBhqNgK0AiADIBQgF2o2ArACIAMgDyATajYCrAIgAyAOIBJqNgKoAiADIAkgDWo2AqQCIAMgCCAMajYCoAIgAyAHIAtqNgKcAiADIAYgCmo2ApgCIAMgESAWajYClAIgAyAFIBpqNgKQAiADICIgN2o2AoQCIAMgISA4ajYCgAIgAyAgIDlqNgL8ASADIB8gOmo2AvgBIAMgHiA7ajYC9AEgAyAdIDxqNgLwASADIBsgPWo2AuwBIAMgHCA+ajYC6AEgAyAZID9qNgLkASADIAQgEGo2AuABIANBgAFqIhYgA0HQAGoiESADQZACaiIaEBggA0HgAWoiBSAFIANBIGoiBBAYIBEgBBAZIAQgGhAZIAMgAygC4AEiCiADKAKAASIGajYCsAEgAyADKALkASILIAMoAoQBIgdqNgK0ASADIAMoAugBIgwgAygCiAEiCGo2ArgBIAMgAygC7AEiCSADKAKMASINajYCvAEgAyADKALwASIOIAMoApABIhJqNgLAASADIAMoAvQBIg8gAygClAEiE2o2AsQBIAMgEyAPazYC9AEgAyASIA5rNgLwASADIAggDGs2AugBIAMgByALazYC5AEgAyAGIAprNgLgASADIA0gCWs2AuwBIAMgAygC+AEiCiADKAKYASIGajYCyAEgAyADKAL8ASILIAMoApwBIgdqNgLMASADIAMoAoACIgwgAygCoAEiCGo2AtABIAMgAygChAIiCSADKAKkASINajYC1AEgAyANIAlrNgKEAiADIAggDGs2AoACIAMgByALazYC/AEgAyAGIAprNgL4ASAaIAQgERAYIAMgAygCICADKAJQIgprIgY2AiAgAyADKAI0IAMoAmQiC2siBzYCNCADIAMoAjAgAygCYCIMayIINgIwIAMgAygCOCADKAJoIglrIg02AjggAyADKAIsIAMoAlwiDmsiEjYCLCADIAMoAiggAygCWCIPayITNgIoIAMgAygCJCADKAJUIhRrIhc2AiQgAyADKAI8IAMoAmwiFWsiGDYCPCADIAMoAkAgAygCcCIQayIZNgJAIAMgAygCRCADKAJ0IhxrIhs2AkQgBSAFEBkgBqxCwrYHfiJB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QQA6AIEDIANBADoAggMgA0EAOgCDAyADQQA6AIQDIANBADoAhQMgA0EAOgCGAyADQQA6AIcDIANBADoAiAMgA0EAOgCJAyADQQA6AIoDIANBADoAiwMgA0EAOgCMAyADQQA6AI0DIANBADoAjgMgA0EAOgCPAyADQQA6AJADIANBADoAkQMgA0EAOgCSAyADQQA6AJMDIANBADoAlAMgA0EAOgCVAyADQQA6AJYDIANBADoAlwMgGiAaIAUQGCAAIBoQGyADQQA6AMACIANBADoAwQIgA0EAOgDCAiADQQA6AMMCIANBADoAxAIgA0EAOgDFAiADQQA6AMYCIANBADoAxwIgA0EAOgDIAiADQQA6AMkCIANBADoAygIgA0EAOgDLAiADQQA6AMwCIANBADoAzQIgA0EAOgDOAiADQQA6AM8CIANBADoA0AIgA0EAOgDRAiADQQA6ANICIANBADoA0wIgA0EAOgDUAiADQQA6ANUCIANBADoA1gIgA0EAOgDXAiADQQA6ANgCIANBADoA2QIgA0EAOgDaAiADQQA6ANsCIANBADoA3AIgA0EAOgDdAiADQQA6AN4CIANBADoA3wIgA0EAOgDgAiADQQA6AOECIANBADoA4gIgA0EAOgDjAiADQQA6AOQCIANBADoA5QIgA0EAOgDmAiADQQA6AOcCIANBADoAkAIgA0EAOgCRAiADQQA6AJICIANBADoAkwIgA0EAOgCUAiADQQA6AJUCIANBADoAlgIgA0EAOgCXAiADQQA6AJgCIANBADoAmQIgA0EAOgCaAiADQQA6AJsCIANBADoAnAIgA0EAOgCdAiADQQA6AJ4CIANBADoAnwIgA0EAOgCgAiADQQA6AKECIANBADoAogIgA0EAOgCjAiADQQA6AKQCIANBADoApQIgA0EAOgCmAiADQQA6AKcCIANBADoAqAIgA0EAOgCpAiADQQA6AKoCIANBADoAqwIgA0EAOgCsAiADQQA6AK0CIANBADoArgIgA0EAOgCvAiADQQA6ALACIANBADoAsQIgA0EAOgCyAiADQQA6ALMCIANBADoAtAIgA0EAOgC1AiADQQA6ALYCIANBADoAtwIgA0EAOgDgASADQQA6AOEBIANBADoA4gEgA0EAOgDjASADQQA6AOQBIANBADoA5QEgA0EAOgDmASADQQA6AOcBIANBADoA6AEgA0EAOgDpASADQQA6AOoBIANBADoA6wEgA0EAOgDsASADQQA6AO0BIANBADoA7gEgA0EAOgDvASADQQA6APABIANBADoA8QEgA0EAOgDyASADQQA6APMBIANBADoA9AEgA0EAOgD1ASADQQA6APYBIANBADoA9wEgA0EAOgD4ASADQQA6APkBIANBADoA+gEgA0EAOgD7ASADQQA6APwBIANBADoA/QEgA0EAOgD+ASADQQA6AP8BIANBADoAgAIgA0EAOgCBAiADQQA6AIICIANBADoAgwIgA0EAOgCEAiADQQA6AIUCIANBADoAhgIgA0EAOgCHAiADQQA6AFAgA0EAOgBRIANBADoAUiADQQA6AFMgA0EAOgBUIANBADoAVSADQQA6AFYgA0EAOgBXIANBADoAWCADQQA6AFkgA0EAOgBaIANBADoAWyADQQA6AFwgA0EAOgBdIANBADoAXiADQQA6AF8gA0EAOgBgIANBADoAYSADQQA6AGIgA0EAOgBjIANBADoAZCADQQA6AGUgA0EAOgBmIANBADoAZyADQQA6AGggA0EAOgBpIANBADoAaiADQQA6AGsgA0EAOgBsIANBADoAbSADQQA6AG4gA0EAOgBvIANBADoAcCADQQA6AHEgA0EAOgByIANBADoAcyADQQA6AHQgA0EAOgB1IANBADoAdiADQQA6AHcgA0EAOgCwASADQQA6ALEBIANBADoAsgEgA0EAOgCzASADQQA6ALQBIANBADoAtQEgA0EAOgC2ASADQQA6ALcBIANBADoAuAEgA0EAOgC5ASADQQA6ALoBIANBADoAuwEgA0EAOgC8ASADQQA6AL0BIANBADoAvgEgA0EAOgC/ASADQQA6AMABIANBADoAwQEgA0EAOgDCASADQQA6AMMBIANBADoAxAEgA0EAOgDFASADQQA6AMYBIANBADoAxwEgA0EAOgDIASADQQA6AMkBIANBADoAygEgA0EAOgDLASADQQA6AMwBIANBADoAzQEgA0EAOgDOASADQQA6AM8BIANBADoA0AEgA0EAOgDRASADQQA6ANIBIANBADoA0wEgA0EAOgDUASADQQA6ANUBIANBADoA1gEgA0EAOgDXASADQQA6AIABIANBADoAgQEgA0EAOgCCASADQQA6AIMBIANBADoAhAEgA0EAOgCFASADQQA6AIYBIANBADoAhwEgA0EAOgCIASADQQA6AIkBIANBADoAigEgA0EAOgCLASADQQA6AIwBIANBADoAjQEgA0EAOgCOASADQQA6AI8BIANBADoAkAEgA0EAOgCRASADQQA6AJIBIANBADoAkwEgA0EAOgCUASADQQA6AJUBIANBADoAlgEgA0EAOgCXASADQQA6AJgBIANBADoAmQEgA0EAOgCaASADQQA6AJsBIANBADoAnAEgA0EAOgCdASADQQA6AJ4BIANBADoAnwEgA0EAOgCgASADQQA6AKEBIANBADoAogEgA0EAOgCjASADQQA6AKQBIANBADoApQEgA0EAOgCmASADQQA6AKcBIANBADoAICADQQA6ACEgA0EAOgAiIANBADoAIyADQQA6ACQgA0EAOgAlIANBADoAJiADQQA6ACcgA0EAOgAoIANBADoAKSADQQA6ACogA0EAOgArIANBADoALCADQQA6AC0gA0EAOgAuIANBADoALyADQQA6ADAgA0EAOgAxIANBADoAMiADQQA6ADMgA0EAOgA0IANBADoANSADQQA6ADYgA0EAOgA3IANBADoAOCADQQA6ADkgA0EAOgA6IANBADoAOyADQQA6ADwgA0EAOgA9IANBADoAPiADQQA6AD8gA0EAOgBAIANBADoAQSADQQA6AEIgA0EAOgBDIANBADoARCADQQA6AEUgA0EAOgBGIANBADoARyADQQA6AAAgA0EAOgABIANBADoAAiADQQA6AAMgA0EAOgAEIANBADoABSADQQA6AAYgA0EAOgAHIANBADoACCADQQA6AAkgA0EAOgAKIANBADoACyADQQA6AAwgA0EAOgANIANBADoADiADQQA6AA8gA0EAOgAQIANBADoAESADQQA6ABIgA0EAOgATIANBADoAFCADQQA6ABUgA0EAOgAWIANBADoAFyADQQA6ABggA0EAOgAZIANBADoAGiADQQA6ABsgA0EAOgAcIANBADoAHSADQQA6AB4gA0EAOgAfIANBoANqJAALzAEAIAIgACABEBUgAi0AHyACLQAeIAItAB0gAi0AHCACLQAbIAItABogAi0AGSACLQAYIAItABcgAi0AFiACLQAVIAItABQgAi0AEyACLQASIAItABEgAi0AECACLQAPIAItAA4gAi0ADSACLQAMIAItAAsgAi0ACiACLQAJIAItAAggAi0AByACLQAGIAItAAUgAi0ABCACLQADIAItAAIgAi0AASACLQAAcnJycnJycnJycnJycnJycnJycnJycnJycnJycnJyckEARwuDBQEYfiABMwAdIAExAB8gATEAHCENIAExABsgATEAGiEPIAExABkhBCABMQAYIAExABchESABMQAMIQUgATEACyABMQAKIRMgATUAECEDIAExAA8hBiABMQAOIQcgATEADSEIIAExABYhCSABMQAVIAExABQhFCABMQAIQg2GIAExAAdCBYaEIAExAAlCFYaEIAExAAVCDoYgATEABEIGhoQgATEABkIWhoQgATUAACIVQoCAgBB8IhZCGoh8IhdCgICACHwiGEIZiHwiGUKAgIAQfCECIAAgGSACQoCAgOAPg30+AghCD4YgFEIHhoQgCUIXhoQgAyAHQgqGIAhCAoaEIAZCEoaEIgZCgICAEHwiB0IaiHwiCEKAgIAIfCIJQhmIfCIKQoCAgBB8IQMgACAKIANCgICA4A+DfT4CGEILhiATQgOGhCAFQhOGhCACQhqIfCIFQoCAgAh8IQIgACAFIAJCgICA8A+DfT4CDEINhiARQgWGhCAEQhWGhCADQhqIfCIEQoCAgAh8IQMgACAEIANCgICA8A+DfT4CHCAAIAggCUKAgIDwD4N9IAYgB0KAgIAgg30gAkIZiHwiAkKAgIAQfCIEQhqIfD4CFCAAIAIgBEKAgIDgD4N9PgIQQgyGIA9CBIaEIA1CFIaEIANCGYh8IgNCgICAEHwhAiAAIAMgAkKAgIDgD4N9PgIgQhCGQoCA/AODhEIChiACQhqIfCIDQoCAgAh8IQIgACADIAJCgICA8A+DfT4CJCAAIBcgGEKAgIDwD4N9IBUgFkKAgIDgH4N9IAJCGYhCE358IgJCgICAEHwiA0IaiHw+AgQgACACIANCgICA4A+DfT4CAAuxCQIofgp/IAIoAhQiK6whESACKAIYIiysIRYgAigCBCItrCINIAEoAgwiLkEBdKwiF34gATQCECIDIAI0AgAiBH58IAE0AggiCCACKAIIIi+sIg5+fCACKAIMIjCsIg8gASgCBCIxQQF0rCIYfnwgATQCACIJIAIoAhAiMqwiEn58IAEoAiQiM0EBdKwiGSArQRNsrCIafnwgATQCICIK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IAIgEX58IAMgB358IAVCGod8IgNCgICACHwhAiAAIAMgAkKAgIDwD4N9PgIkIAAgHSAYQoCAgPAPg30gGyAXQoCAgGCDfSACQhmHQhN+fCICQoCAgBB8IgNCGoh8PgIEIAAgAiADQoCAgOAPg30+AgALlhMBBX8jAEGQAWsiAyQAIANB4ABqIgQgARAZIANBMGoiAiAEEBkgAiACEBkgAiABIAIQGCAEIAQgAhAYIAQgBBAZIAQgAiAEEBggAiAEEBkgAiACEBkgAiACEBkgAiACEBkgAiACEBkgBCACIAQQGCACIAQQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIgBBAYIAMgAhAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAMgAxAZIAIgAyACEBggAiACEBkgAiACEBkgAiACEBkgAiACEBkgAiACEBkgAiACEBkgAiACEBkgAiACEBkgAiACEBkgAiACEBkgBCACIAQQGCACIAQQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIQGSACIAIgBBAYIAMgAhAZQeMAIQIDQCADIAMQGSACQQFrIgINAAsgA0EwaiICIAMgAhAYIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIAIgAhAZIANB4ABqIgQgAiAEEBggBCAEEBkgBCAEEBkgBCAEIAEQGCACIAQQGSACIAIgARAYIANCADcDICADQgA3AxggA0IANwMQIANCADcDCCADQgA3AwAgASADEBwhBSADQgA3AyAgA0IANwMYIANCADcDECADQgA3AwggA0IBNwMAIAIgAxAcIQYgA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANC/////w83AwAgAiADEBwhASADQuKH7P/v7fyofzcDICADQuHm/ovg0qYPNwMYIANCoOeL+p+LigI3AxAgA0LizsP7n9ClZTcDCCADQtC+xY/Qxc08NwMAIAIgAxAcIQIgACAEQeAPEBggAyABIAJyQQFrNgKMASAAIAMoAowBIAAoAgAiAiADKAJgc3EgAnM2AgAgACADKAKMASAAKAIEIgIgAygCZHNxIAJzNgIEIAAgAygCjAEgACgCCCICIAMoAmhzcSACczYCCCAAIAMoAowBIAAoAgwiAiADKAJsc3EgAnM2AgwgACADKAKMASAAKAIQIgIgAygCcHNxIAJzNgIQIAAgAygCjAEgACgCFCICIAMoAnRzcSACczYCFCAAIAMoAowBIAAoAhgiAiADKAJ4c3EgAnM2AhggACADKAKMASAAKAIcIgIgAygCfHNxIAJzNgIcIAAgAygCjAEgACgCICICIAMoAoABc3EgAnM2AiAgACADKAKMASAAKAIkIgAgAygChAFzcSAAczYCJCADQQA6AGAgA0EAOgBhIANBADoAYiADQQA6AGMgA0EAOgBkIANBADoAZSADQQA6AGYgA0EAOgBnIANBADoAaCADQQA6AGkgA0EAOgBqIANBADoAayADQQA6AGwgA0EAOgBtIANBADoAbiADQQA6AG8gA0EAOgBwIANBADoAcSADQQA6AHIgA0EAOgBzIANBADoAdCADQQA6AHUgA0EAOgB2IANBADoAdyADQQA6AHggA0EAOgB5IANBADoAeiADQQA6AHsgA0EAOgB8IANBADoAfSADQQA6AH4gA0EAOgB/IANBADoAgAEgA0EAOgCBASADQQA6AIIBIANBADoAgwEgA0EAOgCEASADQQA6AIUBIANBADoAhgEgA0EAOgCHASADQQA6ADAgA0EAOgAxIANBADoAMiADQQA6ADMgA0EAOgA0IANBADoANSADQQA6ADYgA0EAOgA3IANBADoAOCADQQA6ADkgA0EAOgA6IANBADoAOyADQQA6ADwgA0EAOgA9IANBADoAPiADQQA6AD8gA0EAOgBAIANBADoAQSADQQA6AEIgA0EAOgBDIANBADoARCADQQA6AEUgA0EAOgBGIANBADoARyADQQA6AEggA0EAOgBJIANBADoASiADQQA6AEsgA0EAOgBMIANBADoATSADQQA6AE4gA0EAOgBPIANBADoAUCADQQA6AFEgA0EAOgBSIANBADoAUyADQQA6AFQgA0EAOgBVIANBADoAViADQQA6AFcgA0EAOgAAIANBADoAASADQQA6AAIgA0EAOgADIANBADoABCADQQA6AAUgA0EAOgAGIANBADoAByADQQA6AAggA0EAOgAJIANBADoACiADQQA6AAsgA0EAOgAMIANBADoADSADQQA6AA4gA0EAOgAPIANBADoAECADQQA6ABEgA0EAOgASIANBADoAEyADQQA6ABQgA0EAOgAVIANBADoAFiADQQA6ABcgA0EAOgAYIANBADoAGSADQQA6ABogA0EAOgAbIANBADoAHCADQQA6AB0gA0EAOgAeIANBADoAHyADQQA6ACAgA0EAOgAhIANBADoAIiADQQA6ACMgA0EAOgAkIANBADoAJSADQQA6ACYgA0EAOgAnIANBkAFqJAAgASAFIAZycguJFQEKfyABLQADIQMgAS0AAiEFIAEtAAEhBCMAQUBqIgIgAS0AADoAMCACIAQ6AC8gAiAFOgAuIAIgAzoALSABLQAHIQMgAS0ABiEFIAEtAAUhBCACIAEtAAQ6ACwgAiAEOgArIAIgBToAKiACIAM6ACkgAS0ACyEDIAEtAAohBSABLQAJIQQgAiABLQAIOgAoIAIgBDoAJyACIAU6ACYgAiADOgAlIAEtAA8hAyABLQAOIQUgAS0ADSEEIAIgAS0ADDoAJCACIAQ6ACMgAiAFOgAiIAIgAzoAISABLQATIQMgAS0AEiEFIAEtABEhBCACIAEtABA6ACAgAiAEOgAfIAIgBToAHiACIAM6AB0gAS0AFyEDIAEtABYhBSABLQAVIQQgAiABLQAUOgAcIAIgBDoAGyACIAU6ABogAiADOgAZIAEtABshAyABLQAaIQUgAS0AGSEEIAIgAS0AGDoAGCACIAQ6ABcgAiAFOgAWIAIgAzoAFSABLQAfIQMgAS0AHiEFIAEtAB0hBCACIAEtABw6ABQgAiAEOgATIAIgBToAEiACIAM6ABEgAS0AIyEEIAEtACIhBiABLQAhIQggAiABLQAgIgs6ABAgAiAIOgAPIAIgBjoADiACIAQ6AA0gAS0AJyEHIAEtACYhCSABLQAlIQogAiABLQAkIgE6AAwgAiAKOgALIAIgCToACiACIAc6AAkgAiABIAdBGHQgCUEQdHIgCkEIdHJyIgEgCyAEQRh0IAZBEHRyIAhBCHRyciACLQAUIANBGHQgBUEQdHIgAi0AE0EIdHJyIAItABggAi0AFUEYdCACLQAWQRB0ciACLQAXQQh0cnIgAi0AHCACLQAZQRh0IAItABpBEHRyIAItABtBCHRyciACLQAgIAItAB1BGHQgAi0AHkEQdHIgAi0AH0EIdHJyIAItACQgAi0AIUEYdCACLQAiQRB0ciACLQAjQQh0cnIgAi0AKCACLQAlQRh0IAItACZBEHRyIAItACdBCHRyciACLQAsIAItAClBGHQgAi0AKkEQdHIgAi0AK0EIdHJyIAFBE2xBgICACGpBGXUgAi0AMCACLQAtQRh0IAItAC5BEHRyIAItAC9BCHRyciIBakEadWpBGXVqQRp1akEZdWpBGnVqQRl1akEadWpBGXVqQRp1akEZdUETbCABaiIBOgAwIAIgAUEIdjoALyACIAFBEHY6AC4gAiABQRh2QQNxOgAtIAIgAi0ALCACLQApQRh0IAItACpBEHRyIAItACtBCHRyciABQRp1aiIBOgAsIAIgAUEQdjoAKiACIAFBCHY6ACsgAiABQRh2QQFxOgApIAIgAi0AKCACLQAlQRh0IAItACZBEHRyIAItACdBCHRyciABQRl1aiIBOgAoIAIgAUEQdjoAJiACIAFBCHY6ACcgAiABQRh2QQNxOgAlIAIgAi0AJCACLQAhQRh0IAItACJBEHRyIAItACNBCHRyciABQRp1aiIBOgAkIAIgAUEIdjoAIyACIAFBEHY6ACIgAiABQRh2QQFxOgAhIAIgAi0AICACLQAdQRh0IAItAB5BEHRyIAItAB9BCHRyciABQRl1aiIBOgAgIAIgAUEIdjoAHyACIAFBEHY6AB4gAiABQRh2QQNxOgAdIAIgAi0AHCACLQAZQRh0IAItABpBEHRyIAItABtBCHRyciABQRp1aiIBOgAcIAIgAUEIdjoAGyACIAFBEHY6ABogAiABQRh2QQFxOgAZIAIgAi0AGCACLQAVQRh0IAItABZBEHRyIAItABdBCHRyciABQRl1aiIBOgAYIAIgAUEIdjoAFyACIAFBEHY6ABYgAiABQRh2QQNxOgAVIAIgAi0AFCACLQARQRh0IAItABJBEHRyIAItABNBCHRyciABQRp1aiIBOgAUIAIgAUEIdjoAEyACIAFBEHY6ABIgAiABQRh2QQFxOgARIAIgAi0AECACLQANQRh0IAItAA5BEHRyIAItAA9BCHRyciABQRl1aiIBOgAQIAIgAUEIdjoADyACIAFBEHY6AA4gAiABQRh2QQNxOgANIAIgAi0ADCACLQAJQRh0IAItAApBEHRyIAItAAtBCHRyciABQRp1aiIBOgAMIAIgAUEIdjoACyACIAFBEHY6AAogAiABQRh2QQFxOgAJIAItACshAyACLQApIQUgAi0AKiEEIAItAC0hBiACLQAsIQEgAi0AMCEIIAItAC8hByAAIAItAC46AAIgACAHOgABIAAgCDoAACAAIAYgAUECdHI6AAMgAi0AJSEGIAItACYhCCACLQAoIQcgAi0AJyEJIAAgBUEYdCAEQRB0ciADQQh0ciIDQQ52OgAFIAAgASADckEGdiIBOgAEIAAgASAJQQh0IgMgB3JBE3RyIgFBGHY6AAcgACABQRB2OgAGIAItACEhASACLQAkIQUgAi0AIyEEIAItACIhByAAIAZBGHQgCEEQdHIgA3JBDXYiAzoACCAAIAUgBEEIdHIgB0EQdCIFciIEQQt2OgALIAAgBEENdCADciIDQRB2OgAKIAAgA0EIdjoACSAC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Qt7z+6YBfnwiC0L/////D4MgCUIgiHwgDkLWud6XCn58IgdC/////w+DIAZCIIh8IAxCmsbJwAV+fCIIQv////8Pg3wiCUJ/hUL/////D4N8IgZCIIh8IAtCIIinIAFBHHRqrSAHQiCIfCAOQt7z+6YBfnwgCEIgiHwgDELWud6XCn58IAlCIIh8IA1CmsbJwAV+fCACNQJcQu2n1+cFfnxCf4V8IgxC/////w+DIAZC/////w+DIgkgFEL/////D4MiCCATQv////8PgyIHIBJC/////w+DIgsgEUL/////D4MiDSAQQv////8PgyIQIA9C/////w+DIg9Ck9iomAp8QiCIfELluba/CnxCIIh8QqnGoegFfEIgiHxCoYyE2Q58QiCIfEL/////D3xCIIh8Qv////8PfEIgiHxC/////w98QiCIfEL/////DnxCIIgiBqdrIgFBktiomHpxrSAGIA98fCIGPAAAIAAgBkIYiDwAAyAAIAZCEIg8AAIgACAGQgiIPAABIAAgECABQeW5tr96ca18IAZCIIh8IgY8AAQgACAGQhiIPAAHIAAgBkIQiDwABiAAIAZCCIg8AAUgACANIAFBqcah6AVxrXwgBkIgiHwiBjwACCAAIAZCGIg8AAsgACAGQhCIPAAKIAAgBkIIiDwACSAAIAsgAUGhjITZfnGtfCAGQiCIfCILPAAMIAAgC0IYiDwADyAAIAtCEIg8AA4gACALQgiIPAANIAAgAa0iBiAHfCALQiCIfCIHPAAQIAAgB0IYiDwAEyAAIAdCEIg8ABIgACAHQgiIPAARIAAgBiAIfCAHQiCIfCIIPAAUIAAgCEIYiDwAFyAAIAhCEIg8ABYgACAIQgiIPAAVIAAgBiAJfCAIQiCIfCIGPAAYIAAgBkIYiDwAGyAAIAZCEIg8ABogACAGQgiIPAAZIAIgBkIgiKcgDKcgAUH/////fnFqajYCHCAAIAIoAhw2ABwgAkEAOgAAIAJBADoAASACQQA6AAIgAkEAOgADIAJBADoABCACQQA6AAUgAkEAOgAGIAJBADoAByACQQA6AAggAkEAOgAJIAJBADoACiACQQA6AAsgAkEAOgAMIAJBADoADSACQQA6AA4gAkEAOgAPIAJBADoAECACQQA6ABEgAkEAOgASIAJBADoAEyACQQA6ABQgAkEAOgAVIAJB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';
10
+ //# sourceMappingURL=crypto25519.wasm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"crypto25519.wasm.js","sourceRoot":"","sources":["../../../src/wasm/internal/crypto25519.wasm.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,2IAA2I;AAC3I,qCAAqC;AACrC,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AAEjF,kCAAkC;AAClC,MAAM,CAAC,MAAM,UAAU,GACrB,kpgEAAkpgE,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { Module } from './crypto25519.js';
2
+ /** Signs through the shared module and clears every staged byte. */
3
+ export declare function sign(module: Module, payload: Uint8Array, privateKey: Uint8Array): Uint8Array;
4
+ //# sourceMappingURL=ed25519.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ed25519.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/ed25519.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAK9C,oEAAoE;AACpE,wBAAgB,IAAI,CAClB,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,UAAU,EACnB,UAAU,EAAE,UAAU,GACrB,UAAU,CAoBZ"}
@@ -0,0 +1,21 @@
1
+ const keySize = 32;
2
+ const signatureSize = 64;
3
+ /** Signs through the shared module and clears every staged byte. */
4
+ export function sign(module, payload, privateKey) {
5
+ const size = keySize + payload.length + signatureSize;
6
+ module.reserve(size);
7
+ const privateKeyPtr = module.heapBase;
8
+ const payloadPtr = privateKeyPtr + keySize;
9
+ const signaturePtr = payloadPtr + payload.length;
10
+ try {
11
+ const memory = module.view();
12
+ memory.set(privateKey, privateKeyPtr);
13
+ memory.set(payload, payloadPtr);
14
+ module.exports.ed25519_sign(privateKeyPtr, payloadPtr, payload.length, signaturePtr);
15
+ return module.view().slice(signaturePtr, signaturePtr + signatureSize);
16
+ }
17
+ finally {
18
+ module.exports.zero(privateKeyPtr, size);
19
+ }
20
+ }
21
+ //# sourceMappingURL=ed25519.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ed25519.js","sourceRoot":"","sources":["../../../src/wasm/internal/ed25519.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAG,EAAE,CAAA;AAClB,MAAM,aAAa,GAAG,EAAE,CAAA;AAExB,oEAAoE;AACpE,MAAM,UAAU,IAAI,CAClB,MAAc,EACd,OAAmB,EACnB,UAAsB;IAEtB,MAAM,IAAI,GAAG,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,aAAa,CAAA;IACrD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACpB,MAAM,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAA;IACrC,MAAM,UAAU,GAAG,aAAa,GAAG,OAAO,CAAA;IAC1C,MAAM,YAAY,GAAG,UAAU,GAAG,OAAO,CAAC,MAAM,CAAA;IAChD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;QAC5B,MAAM,CAAC,GAAG,CAAC,UAAU,EAAE,aAAa,CAAC,CAAA;QACrC,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC/B,MAAM,CAAC,OAAO,CAAC,YAAY,CACzB,aAAa,EACb,UAAU,EACV,OAAO,CAAC,MAAM,EACd,YAAY,CACb,CAAA;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,YAAY,GAAG,aAAa,CAAC,CAAA;IACxE,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;IAC1C,CAAC;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Module } from './instantiate.js';
2
+ /** WASM exports used by the HMAC-SHA256 loader. @internal */
3
+ export type Exports = {
4
+ hmac_sha256(key: number, keyLength: number, message: number, messageLength: number, out: number, scratch: number): void;
5
+ zero(ptr: number, length: number): void;
6
+ };
7
+ /** Calls HMAC-SHA256 and clears its complete linear-memory region. @internal */
8
+ export declare function hmacSha256(module: Module<Exports>, key: Uint8Array, message: Uint8Array): Uint8Array;
9
+ //# sourceMappingURL=hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/hash.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAE9C,6DAA6D;AAC7D,MAAM,MAAM,OAAO,GAAG;IACpB,WAAW,CACT,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GACd,IAAI,CAAA;IACP,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CACxC,CAAA;AAED,gFAAgF;AAChF,wBAAgB,UAAU,CACxB,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,EACvB,GAAG,EAAE,UAAU,EACf,OAAO,EAAE,UAAU,GAClB,UAAU,CA4BZ"}
@@ -0,0 +1,26 @@
1
+ import { hmacSha256ScratchSize } from './hashes.wasm.js';
2
+ /** Calls HMAC-SHA256 and clears its complete linear-memory region. @internal */
3
+ export function hmacSha256(module, key, message) {
4
+ const keyLength = key.length;
5
+ const messageLength = message.length;
6
+ const out = 32;
7
+ const messagePtr = module.heapBase;
8
+ const keyPtr = messagePtr + messageLength;
9
+ const outPtr = keyPtr + keyLength;
10
+ const scratchPtr = Math.ceil((outPtr + out) / 4) * 4;
11
+ const end = scratchPtr + hmacSha256ScratchSize;
12
+ module.reserve(end - messagePtr);
13
+ const view = module.view();
14
+ try {
15
+ view.set(message, messagePtr);
16
+ view.set(key, keyPtr);
17
+ module.exports.hmac_sha256(keyPtr, keyLength, messagePtr, messageLength, outPtr, scratchPtr);
18
+ return module.view().slice(outPtr, outPtr + out);
19
+ }
20
+ finally {
21
+ // Clear every byte this call owns, including HMAC working state when
22
+ // copying, hashing, or copying the digest back out throws.
23
+ module.exports.zero(messagePtr, end - messagePtr);
24
+ }
25
+ }
26
+ //# sourceMappingURL=hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hash.js","sourceRoot":"","sources":["../../../src/wasm/internal/hash.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAA;AAgBxD,gFAAgF;AAChF,MAAM,UAAU,UAAU,CACxB,MAAuB,EACvB,GAAe,EACf,OAAmB;IAEnB,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAA;IAC5B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAA;IACpC,MAAM,GAAG,GAAG,EAAE,CAAA;IACd,MAAM,UAAU,GAAG,MAAM,CAAC,QAAQ,CAAA;IAClC,MAAM,MAAM,GAAG,UAAU,GAAG,aAAa,CAAA;IACzC,MAAM,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACpD,MAAM,GAAG,GAAG,UAAU,GAAG,qBAAqB,CAAA;IAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,GAAG,UAAU,CAAC,CAAA;IAChC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;IAC1B,IAAI,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;QAC7B,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACrB,MAAM,CAAC,OAAO,CAAC,WAAW,CACxB,MAAM,EACN,SAAS,EACT,UAAU,EACV,aAAa,EACb,MAAM,EACN,UAAU,CACX,CAAA;QACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,CAAA;IAClD,CAAC;YAAS,CAAC;QACT,qEAAqE;QACrE,2DAA2D;QAC3D,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,GAAG,UAAU,CAAC,CAAA;IACnD,CAAC;AACH,CAAC"}
@@ -0,0 +1,12 @@
1
+ import * as hash from './hash.js';
2
+ import * as internal from './instantiate.js';
3
+ /** Exports shared by the Hash and Keystore providers. @internal */
4
+ export type Exports = hash.Exports & {
5
+ keccak256(input: number, length: number, out: number): void;
6
+ pbkdf2_sha256(password: number, passwordLength: number, salt: number, saltLength: number, iterations: number, out: number, outLength: number, scratch: number): void;
7
+ ripemd160(input: number, length: number, out: number): void;
8
+ sha256(input: number, length: number, out: number): void;
9
+ };
10
+ /** Returns the one memoized hashes instance shared by its provider modules. */
11
+ export declare function load(): Promise<internal.Module<Exports>>;
12
+ //# sourceMappingURL=hashes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashes.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAA;AAEjC,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AAE5C,mEAAmE;AACnE,MAAM,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,GAAG;IACnC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3D,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,IAAI,EAAE,MAAM,EACZ,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,GAAG,EAAE,MAAM,EACX,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,IAAI,CAAA;IACP,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3D,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACzD,CAAA;AAMD,+EAA+E;AAC/E,wBAAgB,IAAI,sCAEnB"}
@@ -0,0 +1,8 @@
1
+ import { wasmBase64 } from './hashes.wasm.js';
2
+ import * as internal from './instantiate.js';
3
+ const instantiate = /*#__PURE__*/ internal.memoize(() => internal.instantiate(wasmBase64));
4
+ /** Returns the one memoized hashes instance shared by its provider modules. */
5
+ export function load() {
6
+ return instantiate();
7
+ }
8
+ //# sourceMappingURL=hashes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashes.js","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,KAAK,QAAQ,MAAM,kBAAkB,CAAA;AAmB5C,MAAM,WAAW,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,EAAE,CACtD,QAAQ,CAAC,WAAW,CAAU,UAAU,CAAC,CAC1C,CAAA;AAED,+EAA+E;AAC/E,MAAM,UAAU,IAAI;IAClB,OAAO,WAAW,EAAE,CAAA;AACtB,CAAC"}
@@ -0,0 +1,7 @@
1
+ /** Base64-encoded WASM binary. */
2
+ export declare const wasmBase64 = "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dnM6ACkgByAHLQAqIDBzOgAqIAcgBCAHLQArczoAKyAHIActACwgHHM6ACwgByAHLQAtIAhBEHZzOgAtIAcgBy0ALiAxczoALiAHIAggBy0AL3M6AC8gByAHLQAwIB1zOgAwIAcgBy0AMSALQRB2czoAMSAHIActADIgMnM6ADIgByALIActADNzOgAzIAcgBy0ANCAeczoANCAHIActADUgCUEQdnM6ADUgByAHLQA2IDNzOgA2IAcgCSAHLQA3czoANyAHIActADggH3M6ADggByAHLQA5IA1BEHZzOgA5IAcgBy0AOiA0czoAOiAHIA0gBy0AO3M6ADsgByAHLQA8ICBzOgA8IAcgBy0APSAKQRB2czoAPSAHIActAD4gNXM6AD4gByAKIActAD9zOgA/IABBAWsiAA0ACwtBICAGIA5rIgEgAUEgTxshAAJAIAYgDkYNAEEBIAAgAEEBTRsiA0EDcSEIQQAhBCABQQRPBEAgBSAOaiELIANBPHEhCQNAIAQgC2oiASAEIAdqIgNBIGotAAA6AAAgAUEBaiADQSFqLQAAOgAAIAFBAmogA0Eiai0AADoAACABQQNqIANBI2otAAA6AAAgCSAEQQRqIgRHDQALCyAIRQ0AQQAgCGshASAEICFqIQMgBSAEIA5qaiEEA0AgBCADLQAAOgAAIANBAWohAyAEQQFqIQQgAUEBaiIBDQALCyAMQQFqIQwgACAOaiIOIAZJDQALC0EAIQMDQCADIAdqIgBBADoAACAAQQFqQQA6AAAgAEECakEAOgAAIABBA2pBADoAACAAQQRqQQA6AAAgAEEFakEAOgAAIABBBmpBADoAACAAQQdqQQA6AAAgAEEIakEAOgAAIABBCWpBADoAACAAQQpqQQA6AAAgAEELakEAOgAAIABBDGpBADoAACAAQQ1qQQA6AAAgAEEOakEAOgAAIABBD2pBADoAACADQRBqIgNBoARHDQALC78IARJ/IAIgASgAACIDQRh0IANBgP4DcUEIdHIgA0EIdkGA/gNxIANBGHZycjYCACACIAEoAAQiA0EYdCADQYD+A3FBCHRyIANBCHZBgP4DcSADQRh2cnI2AgQgAiABKAAIIgNBGHQgA0GA/gNxQQh0ciADQQh2QYD+A3EgA0EYdnJyNgIIIAIgASgADCIDQRh0IANBgP4DcUEIdHIg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";
3
+ /** Constant shared with the module's C source. */
4
+ export declare const hmacSha256ScratchSize = 544;
5
+ /** Constant shared with the module's C source. */
6
+ export declare const pbkdf2Sha256ScratchSize = 544;
7
+ //# sourceMappingURL=hashes.wasm.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashes.wasm.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.wasm.ts"],"names":[],"mappings":"AAQA,kCAAkC;AAClC,eAAO,MAAM,UAAU,69aACq8a,CAAA;AAE59a,kDAAkD;AAClD,eAAO,MAAM,qBAAqB,MAAM,CAAA;AAExC,kDAAkD;AAClD,eAAO,MAAM,uBAAuB,MAAM,CAAA"}
@@ -0,0 +1,14 @@
1
+ // Generated by `pnpm wasm:build --target=hashes`. Do not edit.
2
+ //
3
+ // Compiled from wasm/src/hashes.c, wasm/src/ox_rt.c
4
+ // with wasi-sdk 25.0 + binaryen 123.
5
+ //
6
+ // `pnpm wasm:check` rebuilds this file and fails if the bytes differ, so any
7
+ // change to the C or to `wasm/targets.ts` must be followed by `pnpm wasm:build`.
8
+ /** Base64-encoded WASM binary. */
9
+ export const wasmBase64 = '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dnM6ACkgByAHLQAqIDBzOgAqIAcgBCAHLQArczoAKyAHIActACwgHHM6ACwgByAHLQAtIAhBEHZzOgAtIAcgBy0ALiAxczoALiAHIAggBy0AL3M6AC8gByAHLQAwIB1zOgAwIAcgBy0AMSALQRB2czoAMSAHIActADIgMnM6ADIgByALIActADNzOgAzIAcgBy0ANCAeczoANCAHIActADUgCUEQdnM6ADUgByAHLQA2IDNzOgA2IAcgCSAHLQA3czoANyAHIActADggH3M6ADggByAHLQA5IA1BEHZzOgA5IAcgBy0AOiA0czoAOiAHIA0gBy0AO3M6ADsgByAHLQA8ICBzOgA8IAcgBy0APSAKQRB2czoAPSAHIActAD4gNXM6AD4gByAKIActAD9zOgA/IABBAWsiAA0ACwtBICAGIA5rIgEgAUEgTxshAAJAIAYgDkYNAEEBIAAgAEEBTRsiA0EDcSEIQQAhBCABQQRPBEAgBSAOaiELIANBPHEhCQNAIAQgC2oiASAEIAdqIgNBIGotAAA6AAAgAUEBaiADQSFqLQAAOgAAIAFBAmogA0Eiai0AADoAACABQQNqIANBI2otAAA6AAAgCSAEQQRqIgRHDQALCyAIRQ0AQQAgCGshASAEICFqIQMgBSAEIA5qaiEEA0AgBCADLQAAOgAAIANBAWohAyAEQQFqIQQgAUEBaiIBDQALCyAMQQFqIQwgACAOaiIOIAZJDQALC0EAIQMDQCADIAdqIgBBADoAACAAQQFqQQA6AAAgAEECakEAOgAAIABBA2pBADoAACAAQQRqQQA6AAAgAEEFakEAOgAAIABBBmpBADoAACAAQQdqQQA6AAAgAEEIakEAOgAAIABBCWpBADoAACAAQQpqQQA6AAAgAEELakEAOgAAIABBDGpBADoAACAAQQ1qQQA6AAAgAEEOakEAOgAAIABBD2pBADoAACADQRBqIgNBoARHDQALC78IARJ/IAIgASgAACIDQRh0IANBgP4DcUEIdHIgA0EIdkGA/gNxIANBGHZycjYCACACIAEoAAQiA0EYdCADQYD+A3FBCHRyIANBCHZBgP4DcSADQRh2cnI2AgQgAiABKAAIIgNBGHQgA0GA/gNxQQh0ciADQQh2QYD+A3EgA0EYdnJyNgIIIAIgASgADCIDQRh0IANBgP4DcUEIdHIg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';
10
+ /** Constant shared with the module's C source. */
11
+ export const hmacSha256ScratchSize = 544;
12
+ /** Constant shared with the module's C source. */
13
+ export const pbkdf2Sha256ScratchSize = 544;
14
+ //# sourceMappingURL=hashes.wasm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hashes.wasm.js","sourceRoot":"","sources":["../../../src/wasm/internal/hashes.wasm.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,EAAE;AACF,oDAAoD;AACpD,qCAAqC;AACrC,EAAE;AACF,6EAA6E;AAC7E,iFAAiF;AAEjF,kCAAkC;AAClC,MAAM,CAAC,MAAM,UAAU,GACrB,09aAA09a,CAAA;AAE59a,kDAAkD;AAClD,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,CAAA;AAExC,kDAAkD;AAClD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAA"}
@@ -0,0 +1,56 @@
1
+ import * as Errors from '../../core/Errors.js';
2
+ /**
3
+ * Shared WASM instantiation and memory plumbing.
4
+ *
5
+ * @internal
6
+ */
7
+ /** An instantiated WASM module, with helpers for moving bytes across. */
8
+ export type Module<exports extends Record<string, unknown>> = {
9
+ /** The module's exported functions. */
10
+ exports: exports;
11
+ /** Address of the first byte we may write to. */
12
+ heapBase: number;
13
+ /**
14
+ * Grows linear memory so `bytes` are available above `heapBase`.
15
+ *
16
+ * @throws {@link MemoryError} when the runtime refuses to grow.
17
+ */
18
+ reserve(bytes: number): void;
19
+ /**
20
+ * A view over the module's current memory.
21
+ *
22
+ * Must be called after {@link Module.reserve} and again after anything that
23
+ * could grow memory: `WebAssembly.Memory.grow` detaches the previous
24
+ * `ArrayBuffer`, which silently turns any retained view into a zero-length one.
25
+ */
26
+ view(): Uint8Array;
27
+ };
28
+ /**
29
+ * Instantiates a base64-encoded WASM module.
30
+ *
31
+ * Always asynchronous: browsers refuse to compile modules larger than a few
32
+ * kilobytes synchronously on the main thread, so there is no synchronous path to
33
+ * fall back to. Callers await this once and then call the module synchronously.
34
+ *
35
+ * @internal
36
+ */
37
+ export declare function instantiate<exports extends Record<string, unknown>>(base64: string): Promise<Module<exports>>;
38
+ /**
39
+ * Memoizes a loader so concurrent callers compile the module once.
40
+ *
41
+ * The promise is memoized rather than its result, so a second call made while
42
+ * the first is still compiling awaits the same compilation. A rejected attempt
43
+ * is discarded, so a later call can try again.
44
+ *
45
+ * @internal
46
+ */
47
+ export declare function memoize<value>(load: () => Promise<value>): () => Promise<value>;
48
+ /** Thrown when a WASM module cannot grow its memory to the required size. */
49
+ export declare class MemoryError extends Errors.BaseError<Error> {
50
+ readonly name = "Wasm.MemoryError";
51
+ constructor({ bytes, cause }: {
52
+ bytes: number;
53
+ cause: Error;
54
+ });
55
+ }
56
+ //# sourceMappingURL=instantiate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instantiate.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAA;AAE9C;;;;GAIG;AAEH,yEAAyE;AACzE,MAAM,MAAM,MAAM,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI;IAC5D,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAA;IAChB,iDAAiD;IACjD,QAAQ,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B;;;;;;OAMG;IACH,IAAI,IAAI,UAAU,CAAA;CACnB,CAAA;AAqBD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACvE,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAkC1B;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAC3B,IAAI,EAAE,MAAM,OAAO,CAAC,KAAK,CAAC,GACzB,MAAM,OAAO,CAAC,KAAK,CAAC,CAYtB;AAED,6EAA6E;AAC7E,qBAAa,WAAY,SAAQ,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;IACtD,SAAkB,IAAI,sBAAqB;gBAE/B,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE;CAS9D"}
@@ -0,0 +1,92 @@
1
+ import * as Errors from '../../core/Errors.js';
2
+ const pageSize = 65_536;
3
+ function decode(base64) {
4
+ // `Uint8Array.fromBase64` where available, then Node/Bun, then browsers and
5
+ // edge runtimes.
6
+ const fromBase64 = Uint8Array.fromBase64;
7
+ if (fromBase64)
8
+ return fromBase64(base64);
9
+ if (typeof Buffer !== 'undefined')
10
+ return new Uint8Array(Buffer.from(base64, 'base64'));
11
+ const binary = atob(base64);
12
+ const bytes = new Uint8Array(binary.length);
13
+ for (let i = 0; i < binary.length; i++)
14
+ bytes[i] = binary.charCodeAt(i);
15
+ return bytes;
16
+ }
17
+ /**
18
+ * Instantiates a base64-encoded WASM module.
19
+ *
20
+ * Always asynchronous: browsers refuse to compile modules larger than a few
21
+ * kilobytes synchronously on the main thread, so there is no synchronous path to
22
+ * fall back to. Callers await this once and then call the module synchronously.
23
+ *
24
+ * @internal
25
+ */
26
+ export async function instantiate(base64) {
27
+ const { instance } = await WebAssembly.instantiate(decode(base64), {});
28
+ const exports = instance.exports;
29
+ const { memory } = exports;
30
+ const heapBase = exports.heap_base();
31
+ let cached = new Uint8Array(memory.buffer);
32
+ return {
33
+ exports,
34
+ heapBase,
35
+ reserve(bytes) {
36
+ const required = heapBase + bytes;
37
+ if (memory.buffer.byteLength >= required)
38
+ return;
39
+ const pages = Math.ceil((required - memory.buffer.byteLength) / pageSize);
40
+ try {
41
+ memory.grow(pages);
42
+ }
43
+ catch (cause) {
44
+ throw new MemoryError({ bytes: required, cause: cause });
45
+ }
46
+ cached = new Uint8Array(memory.buffer);
47
+ },
48
+ view() {
49
+ // `grow` detaches the old buffer, so compare identity rather than trusting
50
+ // the cached view.
51
+ if (cached.buffer !== memory.buffer)
52
+ cached = new Uint8Array(memory.buffer);
53
+ return cached;
54
+ },
55
+ };
56
+ }
57
+ /**
58
+ * Memoizes a loader so concurrent callers compile the module once.
59
+ *
60
+ * The promise is memoized rather than its result, so a second call made while
61
+ * the first is still compiling awaits the same compilation. A rejected attempt
62
+ * is discarded, so a later call can try again.
63
+ *
64
+ * @internal
65
+ */
66
+ export function memoize(load) {
67
+ let cached;
68
+ return () => {
69
+ // Only success is memoized. Compilation can fail for reasons that pass --
70
+ // a runtime briefly out of memory, say -- and caching the rejection would
71
+ // make one bad moment permanent for the life of the process.
72
+ cached ??= load().catch((error) => {
73
+ cached = undefined;
74
+ throw error;
75
+ });
76
+ return cached;
77
+ };
78
+ }
79
+ /** Thrown when a WASM module cannot grow its memory to the required size. */
80
+ export class MemoryError extends Errors.BaseError {
81
+ name = 'Wasm.MemoryError';
82
+ constructor({ bytes, cause }) {
83
+ super('WASM memory could not be grown to the required size.', {
84
+ cause,
85
+ metaMessages: [
86
+ `Required: ${bytes} bytes`,
87
+ 'The input may be too large for this runtime. Reset the engine slot with `Engine.reset` to fall back to the default implementation.',
88
+ ],
89
+ });
90
+ }
91
+ }
92
+ //# sourceMappingURL=instantiate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instantiate.js","sourceRoot":"","sources":["../../../src/wasm/internal/instantiate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Module } from './crypto25519.js';
2
+ /** Derives a BIP-39 seed and clears encoded and staged secret material. */
3
+ export declare function toSeed(module: Module, mnemonic: string, passphrase?: string): Uint8Array;
4
+ //# sourceMappingURL=mnemonic.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnemonic.d.ts","sourceRoot":"","sources":["../../../src/wasm/internal/mnemonic.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;AAM9C,2EAA2E;AAC3E,wBAAgB,MAAM,CACpB,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,SAAK,GACd,UAAU,CA+BZ"}
@@ -0,0 +1,45 @@
1
+ const encoder = new TextEncoder();
2
+ const seedSize = 64;
3
+ const wordCounts = [12, 15, 18, 21, 24];
4
+ /** Derives a BIP-39 seed and clears encoded and staged secret material. */
5
+ export function toSeed(module, mnemonic, passphrase = '') {
6
+ const password = encoder.encode(normalize(mnemonic));
7
+ try {
8
+ const salt = encoder.encode(normalizeSalt(passphrase));
9
+ try {
10
+ const size = password.length + salt.length + seedSize;
11
+ module.reserve(size);
12
+ const passwordPtr = module.heapBase;
13
+ const saltPtr = passwordPtr + password.length;
14
+ const seedPtr = saltPtr + salt.length;
15
+ try {
16
+ const memory = module.view();
17
+ memory.set(password, passwordPtr);
18
+ memory.set(salt, saltPtr);
19
+ module.exports.mnemonic_to_seed(passwordPtr, password.length, saltPtr, salt.length, seedPtr);
20
+ return module.view().slice(seedPtr, seedPtr + seedSize);
21
+ }
22
+ finally {
23
+ module.exports.zero(passwordPtr, size);
24
+ }
25
+ }
26
+ finally {
27
+ salt.fill(0);
28
+ }
29
+ }
30
+ finally {
31
+ password.fill(0);
32
+ }
33
+ }
34
+ function normalize(mnemonic) {
35
+ if (typeof mnemonic !== 'string')
36
+ throw new TypeError(`invalid mnemonic type: ${typeof mnemonic}`);
37
+ const normalized = mnemonic.normalize('NFKD');
38
+ if (!wordCounts.includes(normalized.split(' ').length))
39
+ throw new Error('Invalid mnemonic');
40
+ return normalized;
41
+ }
42
+ function normalizeSalt(passphrase) {
43
+ return `mnemonic${passphrase}`.normalize('NFKD');
44
+ }
45
+ //# sourceMappingURL=mnemonic.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mnemonic.js","sourceRoot":"","sources":["../../../src/wasm/internal/mnemonic.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;AACjC,MAAM,QAAQ,GAAG,EAAE,CAAA;AACnB,MAAM,UAAU,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;AAEvC,2EAA2E;AAC3E,MAAM,UAAU,MAAM,CACpB,MAAc,EACd,QAAgB,EAChB,UAAU,GAAG,EAAE;IAEf,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAA;IACpD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAA;QACtD,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;YACrD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACpB,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAA;YACnC,MAAM,OAAO,GAAG,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAA;YAC7C,MAAM,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,MAAM,CAAA;YACrC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE,CAAA;gBAC5B,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;gBACjC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAA;gBACzB,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAC7B,WAAW,EACX,QAAQ,CAAC,MAAM,EACf,OAAO,EACP,IAAI,CAAC,MAAM,EACX,OAAO,CACR,CAAA;gBACD,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAAC,CAAA;YACzD,CAAC;oBAAS,CAAC;gBACT,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAA;YACxC,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACd,CAAC;IACH,CAAC;YAAS,CAAC;QACT,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC;AACH,CAAC;AAED,SAAS,SAAS,CAAC,QAAgB;IACjC,IAAI,OAAO,QAAQ,KAAK,QAAQ;QAC9B,MAAM,IAAI,SAAS,CAAC,0BAA0B,OAAO,QAAQ,EAAE,CAAC,CAAA;IAClE,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC7C,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC;QACpD,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;IACrC,OAAO,UAAU,CAAA;AACnB,CAAC;AAED,SAAS,aAAa,CAAC,UAAkB;IACvC,OAAO,WAAW,UAAU,EAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;AAClD,CAAC"}