wao 0.41.3 → 0.41.5

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 (719) hide show
  1. package/.babelrc-cjs +5 -0
  2. package/.babelrc-esm +5 -0
  3. package/.gitmodules +4 -0
  4. package/.prettierrc +6 -0
  5. package/README.md +90 -0
  6. package/app/.eslintrc.json +3 -0
  7. package/app/.mocharc.cjs +6 -0
  8. package/app/arweave.mjs +87 -0
  9. package/app/components/Footer.js +76 -0
  10. package/app/components/Global.js +1128 -0
  11. package/app/components/Header.js +306 -0
  12. package/app/components/Left.js +28 -0
  13. package/app/components/Logo.js +34 -0
  14. package/app/components/Middle.js +37 -0
  15. package/app/components/Sidebar.js +93 -0
  16. package/app/components/Tags.js +42 -0
  17. package/app/components/editor/Editor.js +322 -0
  18. package/app/components/editor/FilePath.js +42 -0
  19. package/app/components/editor/MonacoEditor.js +44 -0
  20. package/app/components/left/LeftMessages.js +85 -0
  21. package/app/components/left/LeftModules.js +86 -0
  22. package/app/components/left/LeftNetworks.js +438 -0
  23. package/app/components/left/LeftProcesses.js +98 -0
  24. package/app/components/left/LeftProjects.js +397 -0
  25. package/app/components/left/LeftTests.js +189 -0
  26. package/app/components/middle/MiddleBlocks.js +79 -0
  27. package/app/components/middle/MiddleEntity.js +16 -0
  28. package/app/components/middle/MiddleEntityAccount.js +264 -0
  29. package/app/components/middle/MiddleEntityAssignment.js +104 -0
  30. package/app/components/middle/MiddleEntityBlock.js +148 -0
  31. package/app/components/middle/MiddleEntityMessage.js +430 -0
  32. package/app/components/middle/MiddleEntityModule.js +183 -0
  33. package/app/components/middle/MiddleEntityProcess.js +323 -0
  34. package/app/components/middle/MiddleEntityTx.js +211 -0
  35. package/app/components/middle/MiddleMessages.js +87 -0
  36. package/app/components/middle/MiddleModules.js +89 -0
  37. package/app/components/middle/MiddleNetworks.js +516 -0
  38. package/app/components/middle/MiddleProcesses.js +87 -0
  39. package/app/components/middle/MiddleTests.js +134 -0
  40. package/app/components/modals/CreateFileModal.js +115 -0
  41. package/app/components/modals/CreateFolderModal.js +83 -0
  42. package/app/components/modals/CreateProjectModal.js +63 -0
  43. package/app/components/modals/FSModal.js +141 -0
  44. package/app/components/modals/ImportModal.js +105 -0
  45. package/app/components/modals/LaunchNetworkModal.js +95 -0
  46. package/app/components/modals/Modal.js +38 -0
  47. package/app/components/modals/ProxyModal.js +122 -0
  48. package/app/components/modals/RenameFileModal.js +95 -0
  49. package/app/components/styles/EditorScrollbarStyle.js +29 -0
  50. package/app/components/styles/EntityScrollbarStyle.js +29 -0
  51. package/app/components/styles/GlobalStyle.js +102 -0
  52. package/app/components/styles/XtermStyle.js +37 -0
  53. package/app/components/terminal/Terminal.js +132 -0
  54. package/app/components/terminal/Xterm.js +160 -0
  55. package/app/components/ui/avatar.jsx +49 -0
  56. package/app/components/ui/checkbox.jsx +17 -0
  57. package/app/components/ui/close-button.jsx +20 -0
  58. package/app/components/ui/color-mode.jsx +61 -0
  59. package/app/components/ui/dialog.jsx +54 -0
  60. package/app/components/ui/drawer.jsx +44 -0
  61. package/app/components/ui/field.jsx +22 -0
  62. package/app/components/ui/input-group.jsx +39 -0
  63. package/app/components/ui/popover.jsx +49 -0
  64. package/app/components/ui/provider.jsx +12 -0
  65. package/app/components/ui/radio.jsx +17 -0
  66. package/app/components/ui/slider.jsx +107 -0
  67. package/app/components/ui/toaster.jsx +69 -0
  68. package/app/components/ui/tooltip.jsx +35 -0
  69. package/app/index.js +10 -0
  70. package/app/jsconfig.json +7 -0
  71. package/app/lib/GithubCSS.js +1218 -0
  72. package/app/lib/addon-fit.js +72 -0
  73. package/app/lib/data.js +31 -0
  74. package/app/lib/github-markdown.css +1169 -0
  75. package/app/lib/global.js +1 -0
  76. package/app/lib/guide.js +82 -0
  77. package/app/lib/hub.js +109 -0
  78. package/app/lib/scripts.js +47 -0
  79. package/app/lib/store.js +34 -0
  80. package/app/lib/use.js +64 -0
  81. package/app/lib/utils.js +387 -0
  82. package/app/lib/webrtc.js +217 -0
  83. package/app/next.config.js +25 -0
  84. package/app/package.json +62 -0
  85. package/app/pages/404.js +9 -0
  86. package/app/pages/_app.js +10 -0
  87. package/app/pages/_document.js +14 -0
  88. package/app/pages/index.js +121 -0
  89. package/app/playwright.config.mjs +41 -0
  90. package/app/proxy.mjs +21 -0
  91. package/app/public/assets/cover.png +0 -0
  92. package/app/public/blueprints/apm.lua +91 -0
  93. package/app/public/blueprints/arena.lua +345 -0
  94. package/app/public/blueprints/arns.lua +318 -0
  95. package/app/public/blueprints/chat.lua +210 -0
  96. package/app/public/blueprints/chatroom.lua +56 -0
  97. package/app/public/blueprints/patch-legacy-reply.lua +13 -0
  98. package/app/public/blueprints/staking.lua +93 -0
  99. package/app/public/blueprints/token.lua +298 -0
  100. package/app/public/blueprints/voting.lua +45 -0
  101. package/app/public/favicon.ico +0 -0
  102. package/app/public/logo.png +0 -0
  103. package/cli-esm.js +55 -0
  104. package/cli.js +54 -0
  105. package/devnet/app/api.js +129 -0
  106. package/devnet/app/components/layout.js +89 -0
  107. package/devnet/app/components/pagination.js +144 -0
  108. package/devnet/app/components/search.js +159 -0
  109. package/devnet/app/components/table.js +124 -0
  110. package/devnet/app/components/tags.js +89 -0
  111. package/devnet/app/index.html +14 -0
  112. package/devnet/app/main.js +215 -0
  113. package/devnet/app/router.js +59 -0
  114. package/devnet/app/state.js +19 -0
  115. package/devnet/app/style.css +1606 -0
  116. package/devnet/app/utils.js +77 -0
  117. package/devnet/app/views/blocks.js +75 -0
  118. package/devnet/app/views/dashboard.js +127 -0
  119. package/devnet/app/views/entity.js +1473 -0
  120. package/devnet/app/views/messages.js +90 -0
  121. package/devnet/app/views/modules.js +165 -0
  122. package/devnet/app/views/processes.js +90 -0
  123. package/devnet/app/views/schedulers.js +90 -0
  124. package/devnet/app/views/transactions.js +88 -0
  125. package/devnet/migrations/0001_initial.sql +51 -0
  126. package/devnet/package.json +26 -0
  127. package/devnet/playwright.config.js +7 -0
  128. package/devnet/src/cu-worker.js +166 -0
  129. package/devnet/src/index.js +309 -0
  130. package/devnet/vite.config.js +17 -0
  131. package/devnet/vitest.config.js +10 -0
  132. package/devnet/wrangler-cu.toml +32 -0
  133. package/devnet/wrangler.toml +38 -0
  134. package/dhfs-tutorial-app/package.json +15 -0
  135. package/dist/esm/workspace/dashboard/public/favicon.png +0 -0
  136. package/dist/esm/workspace/src/counter.lua +14 -0
  137. package/dist/package.json +82 -0
  138. package/hb.sh +18 -0
  139. package/hbsig/.babelrc-cjs +5 -0
  140. package/hbsig/.babelrc-esm +5 -0
  141. package/hbsig/README.md +1 -0
  142. package/hbsig/dist/cjs/bin_to_str.js +44 -0
  143. package/hbsig/dist/cjs/collect-body-keys.js +470 -0
  144. package/hbsig/dist/cjs/commit.js +330 -0
  145. package/hbsig/dist/cjs/encode-array-item.js +110 -0
  146. package/hbsig/dist/cjs/encode-utils.js +242 -0
  147. package/hbsig/dist/cjs/encode.js +1365 -0
  148. package/hbsig/dist/cjs/erl_json.js +326 -0
  149. package/hbsig/dist/cjs/erl_str.js +1042 -0
  150. package/hbsig/dist/cjs/flat.js +279 -0
  151. package/hbsig/dist/cjs/http-message-signatures/httpbis.js +489 -0
  152. package/hbsig/dist/cjs/http-message-signatures/index.js +25 -0
  153. package/hbsig/dist/cjs/http-message-signatures/structured-header.js +129 -0
  154. package/hbsig/dist/cjs/httpsig.js +861 -0
  155. package/hbsig/dist/cjs/id.js +470 -0
  156. package/hbsig/dist/cjs/index.js +174 -0
  157. package/hbsig/dist/cjs/nocrypto.js +51 -0
  158. package/hbsig/dist/cjs/parser.js +201 -0
  159. package/hbsig/dist/cjs/send-utils.js +1231 -0
  160. package/hbsig/dist/cjs/send.js +211 -0
  161. package/hbsig/dist/cjs/signer-utils.js +494 -0
  162. package/hbsig/dist/cjs/signer.js +436 -0
  163. package/hbsig/dist/cjs/structured.js +515 -0
  164. package/hbsig/dist/cjs/test.js +12 -0
  165. package/hbsig/dist/cjs/utils.js +44 -0
  166. package/hbsig/dist/esm/bin_to_str.js +46 -0
  167. package/hbsig/dist/esm/collect-body-keys.js +436 -0
  168. package/hbsig/dist/esm/commit.js +219 -0
  169. package/hbsig/dist/esm/encode-array-item.js +112 -0
  170. package/hbsig/dist/esm/encode-utils.js +191 -0
  171. package/hbsig/dist/esm/encode.js +1256 -0
  172. package/hbsig/dist/esm/erl_json.js +292 -0
  173. package/hbsig/dist/esm/erl_str.js +1144 -0
  174. package/hbsig/dist/esm/flat.js +250 -0
  175. package/hbsig/dist/esm/http-message-signatures/httpbis.js +438 -0
  176. package/hbsig/dist/esm/http-message-signatures/index.js +4 -0
  177. package/hbsig/dist/esm/http-message-signatures/structured-header.js +105 -0
  178. package/hbsig/dist/esm/httpsig.js +866 -0
  179. package/hbsig/dist/esm/id.js +459 -0
  180. package/hbsig/dist/esm/index.js +13 -0
  181. package/hbsig/dist/esm/nocrypto.js +4 -0
  182. package/hbsig/dist/esm/package.json +3 -0
  183. package/hbsig/dist/esm/parser.js +171 -0
  184. package/hbsig/dist/esm/send-utils.js +1132 -0
  185. package/hbsig/dist/esm/send.js +142 -0
  186. package/hbsig/dist/esm/signer-utils.js +375 -0
  187. package/hbsig/dist/esm/signer.js +312 -0
  188. package/hbsig/dist/esm/structured.js +496 -0
  189. package/hbsig/dist/esm/test.js +2 -0
  190. package/hbsig/dist/esm/utils.js +29 -0
  191. package/hbsig/dist/package.json +39 -0
  192. package/hbsig/make.js +36 -0
  193. package/hbsig/package.json +39 -0
  194. package/hbsig/src/bin_to_str.js +46 -0
  195. package/hbsig/src/collect-body-keys.js +436 -0
  196. package/hbsig/src/commit.js +219 -0
  197. package/hbsig/src/encode-array-item.js +112 -0
  198. package/hbsig/src/encode-utils.js +191 -0
  199. package/hbsig/src/encode.js +1256 -0
  200. package/hbsig/src/erl_json.js +292 -0
  201. package/hbsig/src/erl_str.js +1144 -0
  202. package/hbsig/src/flat.js +250 -0
  203. package/hbsig/src/http-message-signatures/httpbis.js +438 -0
  204. package/hbsig/src/http-message-signatures/index.js +4 -0
  205. package/hbsig/src/http-message-signatures/structured-header.js +105 -0
  206. package/hbsig/src/httpsig.js +866 -0
  207. package/hbsig/src/id.js +459 -0
  208. package/hbsig/src/index.js +13 -0
  209. package/hbsig/src/nocrypto.js +4 -0
  210. package/hbsig/src/parser.js +171 -0
  211. package/hbsig/src/send-utils.js +1132 -0
  212. package/hbsig/src/send.js +142 -0
  213. package/hbsig/src/signer-utils.js +375 -0
  214. package/hbsig/src/signer.js +312 -0
  215. package/hbsig/src/structured.js +496 -0
  216. package/hbsig/src/test.js +2 -0
  217. package/hbsig/src/utils.js +29 -0
  218. package/lp/index.html +25 -0
  219. package/lp/package.json +19 -0
  220. package/lp/public/cover.png +0 -0
  221. package/lp/public/favicon.ico +0 -0
  222. package/lp/public/favicon.png +0 -0
  223. package/lp/public/images/book.jpg +0 -0
  224. package/lp/public/images/dashboard.png +0 -0
  225. package/lp/public/images/devnet.png +0 -0
  226. package/lp/public/images/hero-bg.png +0 -0
  227. package/lp/public/images/hyperadd.png +0 -0
  228. package/lp/public/images/message-flow.png +0 -0
  229. package/lp/public/images/mobile.png +0 -0
  230. package/lp/public/images/og-cover.png +0 -0
  231. package/lp/public/images/scan.png +0 -0
  232. package/lp/public/images/wao-hub.png +0 -0
  233. package/lp/public/images/wao-web.png +0 -0
  234. package/lp/public/logo.png +0 -0
  235. package/lp/src/App.jsx +29 -0
  236. package/lp/src/components/CodeBlock.jsx +37 -0
  237. package/lp/src/components/CodeBlock.module.css +89 -0
  238. package/lp/src/components/Footer.jsx +22 -0
  239. package/lp/src/components/Footer.module.css +60 -0
  240. package/lp/src/components/Nav.jsx +80 -0
  241. package/lp/src/components/Nav.module.css +177 -0
  242. package/lp/src/components/SectionWrapper.jsx +15 -0
  243. package/lp/src/hooks/useReveal.js +25 -0
  244. package/lp/src/hooks/useScrolled.js +14 -0
  245. package/lp/src/main.jsx +10 -0
  246. package/lp/src/sections/Book.jsx +60 -0
  247. package/lp/src/sections/Book.module.css +204 -0
  248. package/lp/src/sections/Browser.jsx +46 -0
  249. package/lp/src/sections/Browser.module.css +67 -0
  250. package/lp/src/sections/Devnet.jsx +55 -0
  251. package/lp/src/sections/Devnet.module.css +136 -0
  252. package/lp/src/sections/GetStarted.jsx +51 -0
  253. package/lp/src/sections/GetStarted.module.css +128 -0
  254. package/lp/src/sections/Hero.jsx +67 -0
  255. package/lp/src/sections/Hero.module.css +202 -0
  256. package/lp/src/sections/HyperADD.jsx +46 -0
  257. package/lp/src/sections/HyperADD.module.css +113 -0
  258. package/lp/src/sections/SDK.jsx +90 -0
  259. package/lp/src/sections/SDK.module.css +122 -0
  260. package/lp/src/sections/Testing.jsx +47 -0
  261. package/lp/src/sections/Testing.module.css +124 -0
  262. package/lp/src/sections/Vision.jsx +93 -0
  263. package/lp/src/sections/Vision.module.css +147 -0
  264. package/lp/src/styles/globals.css +285 -0
  265. package/lp/src/utils/scrollTo.js +4 -0
  266. package/lp/vite.config.js +7 -0
  267. package/make.js +39 -0
  268. package/package.json +17 -12
  269. package/patches/@permaweb+ao-loader+0.0.44.patch +64 -0
  270. package/plan.md +435 -0
  271. package/rebar.lock +1 -0
  272. package/src/accounts-web.js +128 -0
  273. package/src/accounts.js +124 -0
  274. package/src/adaptor-base.js +622 -0
  275. package/src/adaptor-cf.js +11 -0
  276. package/src/adaptor-web.js +11 -0
  277. package/src/adaptor.js +10 -0
  278. package/src/ao-loader.js +30660 -0
  279. package/src/ao.js +1173 -0
  280. package/src/aoconnect-base.js +1098 -0
  281. package/src/aoconnect-cf.js +9 -0
  282. package/src/aoconnect-web.js +8 -0
  283. package/src/aoconnect.js +8 -0
  284. package/src/aos_wamr.js +1 -0
  285. package/src/ar-remote.js +87 -0
  286. package/src/ar.js +276 -0
  287. package/src/armem-base.js +529 -0
  288. package/src/armem-cf.js +67 -0
  289. package/src/armem-web.js +19 -0
  290. package/src/armem.js +26 -0
  291. package/src/bao.js +141 -0
  292. package/src/bar.js +366 -0
  293. package/src/build.js +7 -0
  294. package/src/bundler.js +119 -0
  295. package/src/car.js +10 -0
  296. package/src/cf-env.js +29 -0
  297. package/src/cf.js +11 -0
  298. package/src/cli.js +561 -0
  299. package/src/compress.js +112 -0
  300. package/src/create.js +415 -0
  301. package/src/devs.js +86 -0
  302. package/src/dirname.js +1 -0
  303. package/src/dodb.js +26 -0
  304. package/src/erl_json.js +289 -0
  305. package/src/erl_str.js +1139 -0
  306. package/src/gql.js +229 -0
  307. package/src/hb.js +967 -0
  308. package/src/helpers.js +203 -0
  309. package/src/http.js +619 -0
  310. package/src/hub/bundler.js +123 -0
  311. package/src/hub/cu.js +74 -0
  312. package/src/hub/fs.js +157 -0
  313. package/src/hub/index.js +85 -0
  314. package/src/hub/utils.js +64 -0
  315. package/src/hub/ws-proxy.js +67 -0
  316. package/src/hyper-aos.js +1 -0
  317. package/src/hyperbeam-server.js +21 -0
  318. package/src/hyperbeam.js +585 -0
  319. package/src/index.js +5 -0
  320. package/src/keygen.js +47 -0
  321. package/src/lfdb.js +67 -0
  322. package/src/lua/aos.wasm +0 -0
  323. package/src/lua/aos2_0_1.js +1 -0
  324. package/src/lua/aos2_0_1.wasm +0 -0
  325. package/src/lua/aos2_0_3.js +1 -0
  326. package/src/lua/aos2_0_3.wasm +0 -0
  327. package/src/lua/aos2_0_4_32.js +1 -0
  328. package/src/lua/aos2_0_4_32.wasm +0 -0
  329. package/src/lua/aos2_0_6.wasm +0 -0
  330. package/src/lua/apm.lua +61 -0
  331. package/src/lua/llama.wasm +0 -0
  332. package/src/lua/process.wasm +0 -0
  333. package/src/lua/sqlite.js +1 -0
  334. package/src/lua/sqlite.wasm +0 -0
  335. package/src/lua/weavedb_mock.lua +44 -0
  336. package/src/lua/weavedrive.lua +53 -0
  337. package/src/run.js +25 -0
  338. package/src/server.js +173 -0
  339. package/src/storage-multi.js +183 -0
  340. package/src/tao.js +12 -0
  341. package/src/tar.js +10 -0
  342. package/src/test.js +42 -0
  343. package/src/tgql-d1.js +407 -0
  344. package/src/tgql.js +310 -0
  345. package/src/toerl.js +162 -0
  346. package/src/utils.js +777 -0
  347. package/src/wao.js +29 -0
  348. package/src/waosm/README.md +81 -0
  349. package/src/waosm/waosm.d.ts +40 -0
  350. package/src/waosm/waosm.js +240 -0
  351. package/src/waosm/waosm_bg.wasm +0 -0
  352. package/src/waosm/waosm_bg.wasm.d.ts +8 -0
  353. package/src/waosm-node/README.md +81 -0
  354. package/src/waosm-node/waosm.d.ts +8 -0
  355. package/src/waosm-node/waosm.js +4 -0
  356. package/src/waosm-node/waosm_bg.js +147 -0
  357. package/src/waosm-node/waosm_bg.wasm +0 -0
  358. package/src/waosm-node/waosm_bg.wasm.d.ts +8 -0
  359. package/src/waosm-node/waosm_bg.wasm.js +14 -0
  360. package/src/waosm-node.js +9 -0
  361. package/src/war.js +10 -0
  362. package/src/weavedrive.js +376 -0
  363. package/src/web.js +11 -0
  364. package/src/workspace/.mcp.json +8 -0
  365. package/src/workspace/CLAUDE.md +258 -0
  366. package/src/workspace/README.md +85 -0
  367. package/src/workspace/dashboard/index.html +163 -0
  368. package/src/workspace/dashboard/package.json +18 -0
  369. package/src/workspace/dashboard/public/favicon.ico +0 -0
  370. package/src/workspace/dashboard/public/favicon.png +0 -0
  371. package/src/workspace/dashboard/server.js +224 -0
  372. package/src/workspace/dashboard/src/App.jsx +2350 -0
  373. package/{cjs/workspace/frontend → src/workspace/dashboard}/vite.config.js +6 -0
  374. package/src/workspace/package.json +18 -0
  375. package/src/workspace/src/counter.lua +14 -0
  376. package/tsconfig.json +18 -0
  377. package/types/index.d.ts +329 -0
  378. package/waollama/.eslintrc.json +3 -0
  379. package/waollama/README.md +19 -0
  380. package/waollama/arweave.mjs +87 -0
  381. package/waollama/components/ui/avatar.jsx +49 -0
  382. package/waollama/components/ui/checkbox.jsx +17 -0
  383. package/waollama/components/ui/close-button.jsx +20 -0
  384. package/waollama/components/ui/color-mode.jsx +61 -0
  385. package/waollama/components/ui/dialog.jsx +54 -0
  386. package/waollama/components/ui/drawer.jsx +44 -0
  387. package/waollama/components/ui/field.jsx +22 -0
  388. package/waollama/components/ui/input-group.jsx +39 -0
  389. package/waollama/components/ui/popover.jsx +49 -0
  390. package/waollama/components/ui/provider.jsx +12 -0
  391. package/waollama/components/ui/radio.jsx +17 -0
  392. package/waollama/components/ui/slider.jsx +107 -0
  393. package/waollama/components/ui/tooltip.jsx +35 -0
  394. package/waollama/index.js +10 -0
  395. package/waollama/jsconfig.json +7 -0
  396. package/waollama/lib/ao-loader.js +30654 -0
  397. package/waollama/lib/client.js +1 -0
  398. package/waollama/lib/wasm.js +1 -0
  399. package/waollama/next.config.js +25 -0
  400. package/waollama/package.json +43 -0
  401. package/waollama/pages/404.js +9 -0
  402. package/waollama/pages/_app.js +9 -0
  403. package/waollama/pages/_document.js +14 -0
  404. package/waollama/pages/index.js +212 -0
  405. package/waollama/playwright.config.js +31 -0
  406. package/waollama/proxy.mjs +21 -0
  407. package/waollama/public/favicon.ico +0 -0
  408. package/waollama/public/human.png +0 -0
  409. package/waollama/public/llama.png +0 -0
  410. package/waosm/Cargo.toml +11 -0
  411. package/waosm/README.md +81 -0
  412. package/waosm/compress.js +112 -0
  413. package/waosm/make.js +33 -0
  414. package/waosm/package.json +10 -0
  415. package/waosm/src/lib.rs +180 -0
  416. package/waosm/test.js +16 -0
  417. package/cjs/workspace/.claude/agents/builder.md +0 -99
  418. package/cjs/workspace/.claude/agents/device-builder.md +0 -86
  419. package/cjs/workspace/.claude/agents/tester.md +0 -90
  420. package/cjs/workspace/.claude/mcp/dashboard/server.js +0 -128
  421. package/cjs/workspace/.claude/rules/deploy.md +0 -45
  422. package/cjs/workspace/.claude/rules/frontend.md +0 -69
  423. package/cjs/workspace/.claude/rules/hyperbeam.md +0 -104
  424. package/cjs/workspace/.claude/rules/lua.md +0 -108
  425. package/cjs/workspace/.claude/rules/testing.md +0 -257
  426. package/cjs/workspace/.claude/settings.json +0 -109
  427. package/cjs/workspace/.claude/skills/build/SKILL.md +0 -214
  428. package/cjs/workspace/.claude/skills/build-aos/SKILL.md +0 -129
  429. package/cjs/workspace/.claude/skills/build-device/SKILL.md +0 -192
  430. package/cjs/workspace/.claude/skills/build-frontend/SKILL.md +0 -134
  431. package/cjs/workspace/.claude/skills/build-module/SKILL.md +0 -281
  432. package/cjs/workspace/.claude/skills/create-aos/SKILL.md +0 -63
  433. package/cjs/workspace/.claude/skills/create-device/SKILL.md +0 -87
  434. package/cjs/workspace/.claude/skills/create-module/SKILL.md +0 -162
  435. package/cjs/workspace/.claude/skills/debug/SKILL.md +0 -57
  436. package/cjs/workspace/.claude/skills/deploy/SKILL.md +0 -85
  437. package/cjs/workspace/.claude/skills/dev/SKILL.md +0 -32
  438. package/cjs/workspace/.claude/skills/plan/SKILL.md +0 -176
  439. package/cjs/workspace/.claude/skills/readme/SKILL.md +0 -186
  440. package/cjs/workspace/.claude/skills/report/SKILL.md +0 -49
  441. package/cjs/workspace/.claude/skills/team/SKILL.md +0 -101
  442. package/cjs/workspace/.claude/skills/test/SKILL.md +0 -56
  443. package/cjs/workspace/.claude/skills/test-device/SKILL.md +0 -114
  444. package/cjs/workspace/.claude/skills/test-e2e/SKILL.md +0 -103
  445. package/cjs/workspace/.claude/skills/test-hb/SKILL.md +0 -76
  446. package/cjs/workspace/.claude/skills/validate/SKILL.md +0 -96
  447. package/cjs/workspace/.claude/skills/validate/scripts/check-lua.sh +0 -41
  448. package/cjs/workspace/docs/aos-lua.md +0 -428
  449. package/cjs/workspace/docs/debug.md +0 -230
  450. package/cjs/workspace/docs/hyperbeam-dev.md +0 -606
  451. package/cjs/workspace/docs/hyperbeam-devices.md +0 -618
  452. package/cjs/workspace/docs/wao-sdk.md +0 -807
  453. package/cjs/workspace/frontend/e2e/.gitkeep +0 -0
  454. package/cjs/workspace/frontend/index.html +0 -12
  455. package/cjs/workspace/frontend/package.json +0 -24
  456. package/cjs/workspace/frontend/playwright.config.js +0 -10
  457. package/cjs/workspace/frontend/src/App.jsx +0 -24
  458. package/cjs/workspace/frontend/test/.gitkeep +0 -0
  459. package/cjs/workspace/frontend/vitest.config.js +0 -10
  460. package/cjs/workspace/scripts/deploy.js +0 -140
  461. package/cjs/workspace/scripts/keygen.js +0 -52
  462. package/cjs/workspace/test/aos.test.js +0 -98
  463. package/cjs/workspace/test/hyperbeam.test.js +0 -80
  464. package/esm/compiler/native +0 -0
  465. package/esm/workspace/.claude/agents/builder.md +0 -99
  466. package/esm/workspace/.claude/agents/device-builder.md +0 -86
  467. package/esm/workspace/.claude/agents/tester.md +0 -90
  468. package/esm/workspace/.claude/mcp/dashboard/server.js +0 -128
  469. package/esm/workspace/.claude/rules/deploy.md +0 -45
  470. package/esm/workspace/.claude/rules/frontend.md +0 -69
  471. package/esm/workspace/.claude/rules/hyperbeam.md +0 -104
  472. package/esm/workspace/.claude/rules/lua.md +0 -108
  473. package/esm/workspace/.claude/rules/testing.md +0 -257
  474. package/esm/workspace/.claude/settings.json +0 -109
  475. package/esm/workspace/.claude/skills/build/SKILL.md +0 -214
  476. package/esm/workspace/.claude/skills/build-aos/SKILL.md +0 -129
  477. package/esm/workspace/.claude/skills/build-device/SKILL.md +0 -192
  478. package/esm/workspace/.claude/skills/build-frontend/SKILL.md +0 -134
  479. package/esm/workspace/.claude/skills/build-module/SKILL.md +0 -281
  480. package/esm/workspace/.claude/skills/create-aos/SKILL.md +0 -63
  481. package/esm/workspace/.claude/skills/create-device/SKILL.md +0 -87
  482. package/esm/workspace/.claude/skills/create-module/SKILL.md +0 -162
  483. package/esm/workspace/.claude/skills/debug/SKILL.md +0 -57
  484. package/esm/workspace/.claude/skills/deploy/SKILL.md +0 -85
  485. package/esm/workspace/.claude/skills/dev/SKILL.md +0 -32
  486. package/esm/workspace/.claude/skills/plan/SKILL.md +0 -176
  487. package/esm/workspace/.claude/skills/readme/SKILL.md +0 -186
  488. package/esm/workspace/.claude/skills/report/SKILL.md +0 -49
  489. package/esm/workspace/.claude/skills/team/SKILL.md +0 -101
  490. package/esm/workspace/.claude/skills/test/SKILL.md +0 -56
  491. package/esm/workspace/.claude/skills/test-device/SKILL.md +0 -114
  492. package/esm/workspace/.claude/skills/test-e2e/SKILL.md +0 -103
  493. package/esm/workspace/.claude/skills/test-hb/SKILL.md +0 -76
  494. package/esm/workspace/.claude/skills/validate/SKILL.md +0 -96
  495. package/esm/workspace/.claude/skills/validate/scripts/check-lua.sh +0 -41
  496. package/esm/workspace/docs/aos-lua.md +0 -428
  497. package/esm/workspace/docs/debug.md +0 -230
  498. package/esm/workspace/docs/hyperbeam-dev.md +0 -606
  499. package/esm/workspace/docs/hyperbeam-devices.md +0 -618
  500. package/esm/workspace/docs/wao-sdk.md +0 -807
  501. package/esm/workspace/frontend/e2e/.gitkeep +0 -0
  502. package/esm/workspace/frontend/index.html +0 -12
  503. package/esm/workspace/frontend/package.json +0 -24
  504. package/esm/workspace/frontend/playwright.config.js +0 -10
  505. package/esm/workspace/frontend/src/App.jsx +0 -24
  506. package/esm/workspace/frontend/src/main.jsx +0 -9
  507. package/esm/workspace/frontend/test/.gitkeep +0 -0
  508. package/esm/workspace/frontend/vite.config.js +0 -6
  509. package/esm/workspace/frontend/vitest.config.js +0 -10
  510. package/esm/workspace/scripts/deploy.js +0 -140
  511. package/esm/workspace/scripts/keygen.js +0 -52
  512. package/esm/workspace/test/aos.test.js +0 -98
  513. package/esm/workspace/test/hyperbeam.test.js +0 -80
  514. /package/{cjs/workspace/dashboard/public → devnet/app}/favicon.ico +0 -0
  515. /package/{cjs/workspace → dhfs-tutorial-app}/src/counter.lua +0 -0
  516. /package/{cjs → dist/cjs}/accounts-web.js +0 -0
  517. /package/{cjs → dist/cjs}/accounts.js +0 -0
  518. /package/{cjs → dist/cjs}/adaptor-base.js +0 -0
  519. /package/{cjs → dist/cjs}/adaptor-cf.js +0 -0
  520. /package/{cjs → dist/cjs}/adaptor-web.js +0 -0
  521. /package/{cjs → dist/cjs}/adaptor.js +0 -0
  522. /package/{cjs → dist/cjs}/ao-loader.js +0 -0
  523. /package/{cjs → dist/cjs}/ao.js +0 -0
  524. /package/{cjs → dist/cjs}/aoconnect-base.js +0 -0
  525. /package/{cjs → dist/cjs}/aoconnect-cf.js +0 -0
  526. /package/{cjs → dist/cjs}/aoconnect-web.js +0 -0
  527. /package/{cjs → dist/cjs}/aoconnect.js +0 -0
  528. /package/{cjs → dist/cjs}/aos_wamr.js +0 -0
  529. /package/{cjs → dist/cjs}/ar-remote.js +0 -0
  530. /package/{cjs → dist/cjs}/ar.js +0 -0
  531. /package/{cjs → dist/cjs}/armem-base.js +0 -0
  532. /package/{cjs → dist/cjs}/armem-cf.js +0 -0
  533. /package/{cjs → dist/cjs}/armem-web.js +0 -0
  534. /package/{cjs → dist/cjs}/armem.js +0 -0
  535. /package/{cjs → dist/cjs}/bao.js +0 -0
  536. /package/{cjs → dist/cjs}/bar.js +0 -0
  537. /package/{cjs → dist/cjs}/build.js +0 -0
  538. /package/{cjs → dist/cjs}/bundler.js +0 -0
  539. /package/{cjs → dist/cjs}/car.js +0 -0
  540. /package/{cjs → dist/cjs}/cf-env.js +0 -0
  541. /package/{cjs → dist/cjs}/cf.js +0 -0
  542. /package/{cjs → dist/cjs}/cli.js +0 -0
  543. /package/{cjs → dist/cjs}/compress.js +0 -0
  544. /package/{cjs → dist/cjs}/create.js +0 -0
  545. /package/{cjs → dist/cjs}/devs.js +0 -0
  546. /package/{cjs → dist/cjs}/dirname.js +0 -0
  547. /package/{cjs → dist/cjs}/dodb.js +0 -0
  548. /package/{cjs → dist/cjs}/erl_json.js +0 -0
  549. /package/{cjs → dist/cjs}/erl_str.js +0 -0
  550. /package/{cjs → dist/cjs}/gql.js +0 -0
  551. /package/{cjs → dist/cjs}/hb.js +0 -0
  552. /package/{cjs → dist/cjs}/helpers.js +0 -0
  553. /package/{cjs → dist/cjs}/http.js +0 -0
  554. /package/{cjs → dist/cjs}/hub/bundler.js +0 -0
  555. /package/{cjs → dist/cjs}/hub/cu.js +0 -0
  556. /package/{cjs → dist/cjs}/hub/fs.js +0 -0
  557. /package/{cjs → dist/cjs}/hub/index.js +0 -0
  558. /package/{cjs → dist/cjs}/hub/utils.js +0 -0
  559. /package/{cjs → dist/cjs}/hub/ws-proxy.js +0 -0
  560. /package/{cjs → dist/cjs}/hyper-aos.js +0 -0
  561. /package/{cjs → dist/cjs}/hyperbeam-server.js +0 -0
  562. /package/{cjs → dist/cjs}/hyperbeam.js +0 -0
  563. /package/{cjs → dist/cjs}/index.js +0 -0
  564. /package/{cjs → dist/cjs}/keygen.js +0 -0
  565. /package/{cjs → dist/cjs}/lfdb.js +0 -0
  566. /package/{cjs → dist/cjs}/lua/aos.wasm +0 -0
  567. /package/{cjs → dist/cjs}/lua/aos2_0_1.js +0 -0
  568. /package/{cjs → dist/cjs}/lua/aos2_0_1.wasm +0 -0
  569. /package/{cjs → dist/cjs}/lua/aos2_0_3.js +0 -0
  570. /package/{cjs → dist/cjs}/lua/aos2_0_3.wasm +0 -0
  571. /package/{cjs → dist/cjs}/lua/aos2_0_4_32.js +0 -0
  572. /package/{cjs → dist/cjs}/lua/aos2_0_4_32.wasm +0 -0
  573. /package/{cjs → dist/cjs}/lua/aos2_0_6.wasm +0 -0
  574. /package/{cjs → dist/cjs}/lua/apm.lua +0 -0
  575. /package/{cjs → dist/cjs}/lua/llama.wasm +0 -0
  576. /package/{cjs → dist/cjs}/lua/process.wasm +0 -0
  577. /package/{cjs → dist/cjs}/lua/sqlite.js +0 -0
  578. /package/{cjs → dist/cjs}/lua/sqlite.wasm +0 -0
  579. /package/{cjs → dist/cjs}/lua/weavedb_mock.lua +0 -0
  580. /package/{cjs → dist/cjs}/lua/weavedrive.lua +0 -0
  581. /package/{cjs → dist/cjs}/run.js +0 -0
  582. /package/{cjs → dist/cjs}/server.js +0 -0
  583. /package/{cjs → dist/cjs}/storage-multi.js +0 -0
  584. /package/{cjs → dist/cjs}/tao.js +0 -0
  585. /package/{cjs → dist/cjs}/tar.js +0 -0
  586. /package/{cjs → dist/cjs}/test.js +0 -0
  587. /package/{cjs → dist/cjs}/tgql-d1.js +0 -0
  588. /package/{cjs → dist/cjs}/tgql.js +0 -0
  589. /package/{cjs → dist/cjs}/toerl.js +0 -0
  590. /package/{cjs → dist/cjs}/utils.js +0 -0
  591. /package/{cjs → dist/cjs}/wao.js +0 -0
  592. /package/{cjs → dist/cjs}/waosm/waosm.js +0 -0
  593. /package/{cjs → dist/cjs}/waosm-node/waosm.js +0 -0
  594. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.js +0 -0
  595. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.wasm +0 -0
  596. /package/{cjs → dist/cjs}/waosm-node/waosm_bg.wasm.js +0 -0
  597. /package/{cjs → dist/cjs}/waosm-node.js +0 -0
  598. /package/{cjs → dist/cjs}/war.js +0 -0
  599. /package/{cjs → dist/cjs}/weavedrive.js +0 -0
  600. /package/{cjs → dist/cjs}/web.js +0 -0
  601. /package/{cjs → dist/cjs}/workspace/.mcp.json +0 -0
  602. /package/{cjs → dist/cjs}/workspace/CLAUDE.md +0 -0
  603. /package/{cjs → dist/cjs}/workspace/README.md +0 -0
  604. /package/{cjs → dist/cjs}/workspace/dashboard/index.html +0 -0
  605. /package/{cjs → dist/cjs}/workspace/dashboard/package.json +0 -0
  606. /package/{esm → dist/cjs}/workspace/dashboard/public/favicon.ico +0 -0
  607. /package/{cjs → dist/cjs}/workspace/dashboard/public/favicon.png +0 -0
  608. /package/{cjs → dist/cjs}/workspace/dashboard/server.js +0 -0
  609. /package/{cjs → dist/cjs}/workspace/dashboard/src/App.jsx +0 -0
  610. /package/{cjs → dist/cjs}/workspace/dashboard/src/main.jsx +0 -0
  611. /package/{cjs → dist/cjs}/workspace/dashboard/vite.config.js +0 -0
  612. /package/{cjs → dist/cjs}/workspace/package.json +0 -0
  613. /package/{esm → dist/cjs}/workspace/src/counter.lua +0 -0
  614. /package/{esm → dist/esm}/accounts-web.js +0 -0
  615. /package/{esm → dist/esm}/accounts.js +0 -0
  616. /package/{esm → dist/esm}/adaptor-base.js +0 -0
  617. /package/{esm → dist/esm}/adaptor-cf.js +0 -0
  618. /package/{esm → dist/esm}/adaptor-web.js +0 -0
  619. /package/{esm → dist/esm}/adaptor.js +0 -0
  620. /package/{esm → dist/esm}/ao-loader.js +0 -0
  621. /package/{esm → dist/esm}/ao.js +0 -0
  622. /package/{esm → dist/esm}/aoconnect-base.js +0 -0
  623. /package/{esm → dist/esm}/aoconnect-cf.js +0 -0
  624. /package/{esm → dist/esm}/aoconnect-web.js +0 -0
  625. /package/{esm → dist/esm}/aoconnect.js +0 -0
  626. /package/{esm → dist/esm}/aos_wamr.js +0 -0
  627. /package/{esm → dist/esm}/ar-remote.js +0 -0
  628. /package/{esm → dist/esm}/ar.js +0 -0
  629. /package/{esm → dist/esm}/armem-base.js +0 -0
  630. /package/{esm → dist/esm}/armem-cf.js +0 -0
  631. /package/{esm → dist/esm}/armem-web.js +0 -0
  632. /package/{esm → dist/esm}/armem.js +0 -0
  633. /package/{esm → dist/esm}/bao.js +0 -0
  634. /package/{esm → dist/esm}/bar.js +0 -0
  635. /package/{esm → dist/esm}/build.js +0 -0
  636. /package/{esm → dist/esm}/bundler.js +0 -0
  637. /package/{esm → dist/esm}/car.js +0 -0
  638. /package/{esm → dist/esm}/cf-env.js +0 -0
  639. /package/{esm → dist/esm}/cf.js +0 -0
  640. /package/{esm → dist/esm}/cli.js +0 -0
  641. /package/{esm → dist/esm}/compress.js +0 -0
  642. /package/{esm → dist/esm}/create.js +0 -0
  643. /package/{esm → dist/esm}/devs.js +0 -0
  644. /package/{esm → dist/esm}/dirname.js +0 -0
  645. /package/{esm → dist/esm}/dodb.js +0 -0
  646. /package/{esm → dist/esm}/erl_json.js +0 -0
  647. /package/{esm → dist/esm}/erl_str.js +0 -0
  648. /package/{esm → dist/esm}/gql.js +0 -0
  649. /package/{esm → dist/esm}/hb.js +0 -0
  650. /package/{esm → dist/esm}/helpers.js +0 -0
  651. /package/{esm → dist/esm}/http.js +0 -0
  652. /package/{esm → dist/esm}/hub/bundler.js +0 -0
  653. /package/{esm → dist/esm}/hub/cu.js +0 -0
  654. /package/{esm → dist/esm}/hub/fs.js +0 -0
  655. /package/{esm → dist/esm}/hub/index.js +0 -0
  656. /package/{esm → dist/esm}/hub/utils.js +0 -0
  657. /package/{esm → dist/esm}/hub/ws-proxy.js +0 -0
  658. /package/{esm → dist/esm}/hyper-aos.js +0 -0
  659. /package/{esm → dist/esm}/hyperbeam-server.js +0 -0
  660. /package/{esm → dist/esm}/hyperbeam.js +0 -0
  661. /package/{esm → dist/esm}/index.js +0 -0
  662. /package/{esm → dist/esm}/keygen.js +0 -0
  663. /package/{esm → dist/esm}/lfdb.js +0 -0
  664. /package/{esm → dist/esm}/lua/aos.wasm +0 -0
  665. /package/{esm → dist/esm}/lua/aos2_0_1.js +0 -0
  666. /package/{esm → dist/esm}/lua/aos2_0_1.wasm +0 -0
  667. /package/{esm → dist/esm}/lua/aos2_0_3.js +0 -0
  668. /package/{esm → dist/esm}/lua/aos2_0_3.wasm +0 -0
  669. /package/{esm → dist/esm}/lua/aos2_0_4_32.js +0 -0
  670. /package/{esm → dist/esm}/lua/aos2_0_4_32.wasm +0 -0
  671. /package/{esm → dist/esm}/lua/aos2_0_6.wasm +0 -0
  672. /package/{esm → dist/esm}/lua/apm.lua +0 -0
  673. /package/{esm → dist/esm}/lua/llama.wasm +0 -0
  674. /package/{esm → dist/esm}/lua/process.wasm +0 -0
  675. /package/{esm → dist/esm}/lua/sqlite.js +0 -0
  676. /package/{esm → dist/esm}/lua/sqlite.wasm +0 -0
  677. /package/{esm → dist/esm}/lua/weavedb_mock.lua +0 -0
  678. /package/{esm → dist/esm}/lua/weavedrive.lua +0 -0
  679. /package/{esm → dist/esm}/package.json +0 -0
  680. /package/{esm → dist/esm}/run.js +0 -0
  681. /package/{esm → dist/esm}/server.js +0 -0
  682. /package/{esm → dist/esm}/storage-multi.js +0 -0
  683. /package/{esm → dist/esm}/tao.js +0 -0
  684. /package/{esm → dist/esm}/tar.js +0 -0
  685. /package/{esm → dist/esm}/test.js +0 -0
  686. /package/{esm → dist/esm}/tgql-d1.js +0 -0
  687. /package/{esm → dist/esm}/tgql.js +0 -0
  688. /package/{esm → dist/esm}/toerl.js +0 -0
  689. /package/{esm → dist/esm}/utils.js +0 -0
  690. /package/{esm → dist/esm}/wao.js +0 -0
  691. /package/{esm → dist/esm}/waosm/README.md +0 -0
  692. /package/{esm → dist/esm}/waosm/waosm.d.ts +0 -0
  693. /package/{esm → dist/esm}/waosm/waosm.js +0 -0
  694. /package/{esm → dist/esm}/waosm/waosm_bg.wasm +0 -0
  695. /package/{esm → dist/esm}/waosm/waosm_bg.wasm.d.ts +0 -0
  696. /package/{esm → dist/esm}/waosm-node/README.md +0 -0
  697. /package/{esm → dist/esm}/waosm-node/waosm.d.ts +0 -0
  698. /package/{esm → dist/esm}/waosm-node/waosm.js +0 -0
  699. /package/{esm → dist/esm}/waosm-node/waosm_bg.js +0 -0
  700. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm +0 -0
  701. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm.d.ts +0 -0
  702. /package/{esm → dist/esm}/waosm-node/waosm_bg.wasm.js +0 -0
  703. /package/{esm → dist/esm}/waosm-node.js +0 -0
  704. /package/{esm → dist/esm}/war.js +0 -0
  705. /package/{esm → dist/esm}/weavedrive.js +0 -0
  706. /package/{esm → dist/esm}/web.js +0 -0
  707. /package/{esm → dist/esm}/workspace/.mcp.json +0 -0
  708. /package/{esm → dist/esm}/workspace/CLAUDE.md +0 -0
  709. /package/{esm → dist/esm}/workspace/README.md +0 -0
  710. /package/{esm → dist/esm}/workspace/dashboard/index.html +0 -0
  711. /package/{esm → dist/esm}/workspace/dashboard/package.json +0 -0
  712. /package/{esm/workspace/dashboard/public/favicon.png → dist/esm/workspace/dashboard/public/favicon.ico} +0 -0
  713. /package/{esm → dist/esm}/workspace/dashboard/server.js +0 -0
  714. /package/{esm → dist/esm}/workspace/dashboard/src/App.jsx +0 -0
  715. /package/{cjs/workspace/frontend → dist/esm/workspace/dashboard}/src/main.jsx +0 -0
  716. /package/{esm → dist/esm}/workspace/dashboard/vite.config.js +0 -0
  717. /package/{esm → dist/esm}/workspace/package.json +0 -0
  718. /package/{postinstall.cjs → dist/postinstall.cjs} +0 -0
  719. /package/{esm → src}/workspace/dashboard/src/main.jsx +0 -0
@@ -0,0 +1,128 @@
1
+ import * as WarpArBundles from "warp-arbundles"
2
+ const pkg = WarpArBundles.default ?? WarpArBundles
3
+ const { createData, ArweaveSigner } = pkg
4
+ import { toAddr } from "./utils.js"
5
+
6
+ function createDataItemSigner(wallet) {
7
+ const signer = async ({ data, tags, target, anchor }) => {
8
+ const signer = new ArweaveSigner(wallet)
9
+ const dataItem = createData(data, signer, { tags, target, anchor })
10
+ const sig = dataItem.sign(signer).then(async () => {
11
+ return {
12
+ id: await dataItem.id,
13
+ raw: await dataItem.getRaw(),
14
+ }
15
+ })
16
+ return sig
17
+ }
18
+ return signer
19
+ }
20
+
21
+ const acc = [
22
+ {
23
+ jwk: {
24
+ kty: "RSA",
25
+ n: "uZbloE0aCITj9JxuK8IhhMf1aCJzDKG9oK72Y6-D1p6VrSQ39irWxa5b2conpLnlI_8eiiwuUbDB1a_Zq98icah9I50Ky6E4iAc038yKILE3QVuJO0M_ykbDEeMaBufUFl78kQYFS9wRTUy9pDOdNp04TvN8cyB94w6ArubxAzavq95U2b2XEaMXWPCX5K8ahZmMc0OzAvNVoLBIXrrnkvB8hvIxbZAgVHmLl10A47O-7EADqa2_ErZA6He2PTnQexMUEWhyfqhRPLwrnzR5CfwnRKr8HDMsUETXz-tuCpGcDDsmPjLPutCjS4Cc46bxEfOdW2pfjAYX-epoeL-eiu7-dEf5fbEWoE_c_IKADgzl5D7t3GgojoHGBZof--Xse-R0vqgpw_w-ovDQnxzWlwtRBqwkWxqAY2v4KsNPMKVxS8eiiRatIMca8Q38wprJCOMs0hjlt-k5WFCez6ndvc0Ir2Zwo5ojk9RfpFv8pEgzqZEvaWwzkGNB5BP5_HOCS0s8zGTzo9xn8niPhyDYZi4__7jR1JVDKRK0Cc0dLO-yF6jDppAEXpUMRyJ-chb9_zJ-vcvztDrKfRK_pcHb7KyluiJHUPq4QBB5RAni9MXLBItEZzhFLMogU_sgWzkgdRFxHo7Ne2z_C-os0QAAXOE4WInq9j5Zs5TNuFTV5Rk",
26
+ e: "AQAB",
27
+ d: "BTKkOMKgDYgHSGUPMtuLi8f76BA676oiAPuVfAJA64RihchjZtoZTM0O1oEybgskz0bIaK9HFtOgAiecLZOgx9UjuBkgYcagqjKlePUmEzdTaFmzdLzz7urfcMNPCc15Y60CXt9vy4mc1HDnSM-HQi3SE2f_XswUqoTP9tYR_viLoAEomDaWohBSyZNndaiv0fkUdW_6dgUxqz_0ru6GKNfibPcgikSEm0kSL0mUCkyQ9tXuJFTw6om_NKORr5JMc_37TGeD-Wcma1CL2jgigbSVtvcg-3s1bQQYlUKvQM2GNNN9RTWwGrfYMvelrTySOOH9UL-gcHAFQOMfTO509rviDOwHBGzAa8mp4GIBPYiWHFwEmyNe7VPe_71AzxSjVzZo5Wn63xzpNRZCK8ujm2CHFehEMvlq63cM1kuh7YCLRytOsGWVjoMPe3vhO5RDwrQrhwFE5nYwzWHxH4dbsh8IsT8im-yfUqv8Er5aJsMFmhFMT1OUqlIQOQ6cRI9zJdjB_rwHWVLWqrw2RZLMXL_Wk8LSDtRqaBTqjRKaXLOHAsz7O-R2ZFKuHuAAuNNGysCIdAIVb7q9t01WEKQS2DKLmOaDRHeuMBQne-KWUSnWWkOo36gBiWajQa3lYyIBdeszaTi4Tvvk-yDtMHonqAuGVweuZgHMKIpL6y4Q0n8",
28
+ p: "9X70tZFhQYI6F3h9DX44G5jY4sP-GuiIkEBn27a_L8XmyG_WF9VYYIV0m5y7ZBhM6v3hC-m4iJKxDpAs3hj0UQn3KQDJOM3flxAEcWtFFSF2IE6vX79uB1B59JbSHcoDJA441JwdWpCCyQiIg-ryh0X1f3DMTPoWdcI-KD4NeFvuMkQFqgj9-Y_J4mhW88WzMHexwVEFGPYbJ0ZZ2Awny6co0__t9U2Cst721Bs8Hon7JH4pqEFO4dzY8YJ3scGVn01YPumDkKcUrOTxLgQxlsNZjzQqdRg3YEby3G_460aVMt2XT_MS6GpJ3QtOIpUZRWNVc4qZarUw1ko6G17zUw",
29
+ q: "wYfBHNc08gHPKSrR5rqhUPVTB8nALdwiSMka4mNVMji8DouF56s6eZPxP8IA5c5lcaRUFy70ofuFUduQw1vfy1VyzadMw7pIAWPmoi_L1fFbrfwHIuHYervPH3_wpg6kLFEbB9fdCX6ppypgVb9j54Ls6v0UYqj_Xr5S44ebndB6QqBIXZk3m5Njh7eAXMgBaoZSGHGWTk_p9fCnFFE0TC5QHRNggCzP4P_WmZ5wwgr9Ymx0Q9pPkKee0ph3nWO758lKyk7P3MLAFnFhbHlU6PF6Tq5aoEfjvvl7vNcnLuAXbSPSiriyjIktvHjVdCtJ3BMjlNE9EdLoWwGl-d2EYw",
30
+ dp: "k44mSYfDPBupDPhnuZd24-d_3PTOo5_GjWWYxy_VREKgDzNhLFwYTZOJXgrbezM78DZ-cKmfN79r2oP_49J97sOdojCNwa3ESUjgUseV8zh0hsCkmlk2KgFN_Bw22J7WOnKt5-SZpBid83VEkH3EHliHUX0b3tymaUtCDvAVKpWe2umVufjDpp-tSX9LXCQlKumWlso61SD_eyDG2Zucw8SKPrpibYGUICzxkNV50iU_JVULds0iO5GBd8_iX54qb2COvOmgIW67d5v39p-gqqxqBS_moRDYH-8lBCftJoT7ImKcEvrYD4frM4gbA6A4W0N0VgklY0TawMJGoLL2bw",
31
+ dq: "cUhft9wZN9frRXO1LlPsfZE8qwBjp_SFdQmS3RW8FwuyuOje1v8Z2XTJ8MJE-D_ajazdNDzeIbszDPlzQYeT9lfsPYlCnAd8gqPRqvpDXNZNDgjKvJZqu10YHp4rZWiInRBUvECVOCuWby2U-lxvxGKU__BocF_wK6tIpbsJUlVoW3urIG7BaCXcSuMVFjpU6d_6SiijDPAmSTo28uOds0IgzwQ6poyUmmXnXkCqTEtWirhlThqKHGihxTBORCjPIxxm1QlRDy5Idlqj5nUXSMuhBlF05wFtxKoQzjc6zmuKCu6_HUiD61OZHAu3FqsILvRdDY11K-vC6xKJ7zrFdQ",
32
+ qi: "D5o0OJycgyWor3HWRMXmjDJtgciMjXG0YIlKxHeb2q3xQ6SJttqW-ZKstPvUQEBOIe6CuEkGbj4K-PgtOTISmHD0PInTsqm6Jbe_MdRWxmN2cUAZd-aH466bsgq881TrIuxQsmnVROowDSSrXX0OpbO8he8vv_DRImKImkvnL8-YN_oTtO2b-f32VmSI7v9Ffu9x0MgTJU0PfAlo42czDfkkaXshqZPHO6t0Jq-vaPTnSfkQWS2nNvFunzs1HX8zjURzLiRufzT_0Er3fv0It9uYLD_lpPUON6EvZyUm46lPAivxgNQ04mtu0GVgFm0QlImH6xqLm5NU2f_Q0wUb6g",
33
+ },
34
+ addr: "Rix7e0HB-8OAaimcoYkxTZB-dStgTOHWUik1DvKD5vM",
35
+ },
36
+ {
37
+ jwk: {
38
+ kty: "RSA",
39
+ n: "mbXYDG_yPtr5tqM51zYRNNfa7bYfgwz116HYiERYeLCxMgQnybW3Gh-32j2pzDLsKEL1o8WOu09AugiG2NF60Zx_Y4Wr1dME0OgipYddJ2VesaK5vb48lv5K1J8Rd7w6OjMpk8392Bpnq2e9cruf2-ZtJhVzRsuBGAa2PvSo7IBJC11uCjlwcoAEyKMCOPriE8_ZdagFbFcfiH9m5ApByNmIH6wYB1at5GVbkYACqzyc1qV9XfZLuzJ6CO_2OMtbpjPeZ10GOXALqFY4JzBtGdyYgYD4RNb9Sah-SLI1bedxCRLjQjrxz_nXVmE-2hZmFCada5HKChhwqTdvtEd9DjGh8QHNJvE9K1_YqBy_twY-qdC09LKn3v-XzwiGdTWHxKRF5xbs59VL8HY3QP2ZPyE_nXehKuoQlw8_1-KnL1MYyYqYBnu0QEXC6NtUbidRHxAdNFepQRIbRPNDXbDa9G34I98AW4I-VhHc5kHSMW24wB1mBbUXXiNYhJ25JugQGZc6B-dY88wr4oy_eTexZ-9uCL4_tCSCTC7-VQcV2rpEI31sei8pQ_LU4SdwjMw3jocFFEBRmywo50YI2geGT7pO3iGuoLQ2QkLBsSQcJkSeVOSuOb1BCZjBjc6_3Et-wofBFtgX2jSOP0JJTy61Pg3DWYe34OF2IVr0fcF4U30",
40
+ e: "AQAB",
41
+ d: "IbB1deRjV9tut9T2rHCxPL_CwC8WoQaKK4TRjKxOJ8WyUKAQiGlHhHZHOZIiURsoH3rtk8ONEQjBywRracIgBSkj0pBNpUPm3lLCpT0R8byKEKz1wNydMwrxI8DpdzDOIktsZXTUmjTPXAYUw7zTwMK0UZCJ_45C8R0nfIzrKUrEt7T2lU8Zkj70zXTM2-hA_M6lfuAgsCo4QxaJWpnU6UykRSzW52TcIB8G_tDrxNQ4G-ORorKEzra1gJf3g2Mu5zKfIFCHOLeSFocvL4exoeVzl47I222zfh1r8Er-4uPDJpX5MV7x-P9tbwVJXUtjfC8qeZUujx_kMXJxDTZN9iM28kZRiyHlKu0QwceevRwAAsoLwVQq0nvEHxPM5iuGJL4bomtJzULS3nphoO3MvpI8XDG7L_9wIjfr_joOolPTQoiVjYDpcy8lxQ2ZFUYHc0LaIzfp3KUR7N0cfHtfXSXJAWnV4bBY_joVSkR3xw8I-MLJALSteTP_yjTnNs1ncUqel8ZBurKVWkWFC0ymxCszGOXyVJ3AFVjRdsi7x_PX9vJnbYy0A5fuFLbtEp2ha0j5mDSjPcE5DhZ71ATJtMr7nsa294_JMyMD_0rDbZNkFEB_dyIal_T3kqQqQbx5AKJsY1PQpEmJnSIOk97WLX23xXppFAzKKWdMBqUrNQE",
42
+ p: "1uBrjk44EnkgHMyA65ySgCnrUbLZI1w680TdCwpIs95Da2-z53twsaezS6Is6hLoZL4eNa0C259rhOMsKVaQGWQzulZxXgXy20i7v1S4md_zTgg85tws-HEj9hCugkoVU5BbWmUILMlu3sq_zNS9hN4IqgexxI6ws2TKea3xjGZKHkcnW8ut4WE1YzHmYF26x1bQyqIHnRwPYgpMXs5sx5cJrNLgVG2FluTpta0cMykqce5_oKKMEkwFxfedqQHyjdQLt4GucjpW_Hk2b5qK590iAirZv7J4seejg7O2su0tmRfRgKxPCxgi04za49FV-ErnsOUeVuxiLKidMi66LQ",
43
+ q: "tyCqf8LGUQmJVTteAbh7F2uGWtG2nYz3RJidlcJuFcu4Cf4vEdqtvFdLZuQmjOaSozeZGS_v-eiM2XQocZUfyZw7xyEuDxXQFCD9W1ZGSSJNS1w4EEGOKqgrahqho7Jwg04P5jbjJ-0fUhciXLcZQC7ptsbY3T83SN4ojj1UgB-aif0r4f-_LLvC_zgnhTxr5E7ATzyIPb65QXYSmUM2EFWB_2UPw8AWQodNZsDGT45pB6uN4f4lw0R5_xIeM-0z0EuY17dZgcZB4yKVY6_eHDVV4KopthgeIj5ebZtVT6mD54OZURNtm_1MoUkS4te106XezTmWKnjP6GhJefBgkQ",
44
+ dp: "C0QA35kiP3WyRVBDghbXZ3jLKaFi2QPA43g8zpNfdG62wi89E2nZYrcUI2cBS9Rp8r40_0Nu3uzgyjrO2ev76hjizWYy02ckcHLDxSg_9XFUZEbySnhIs03bQM9nFtWjgJoU8AxT_WUiNvQSUj7lIM4zThbRLyj8AqvKIc8I1v-V6zh3y8xF9YcPMYAwP-UqIcFfeQA9vfL2q4E2t9HCykQU8caslECZvGuMBUZqMBR8cTS75EQha-QoeVSeI3pCqUTwyFI4Pyzn2pzQSdGkbrudSNfOSsqkoU8vt3v4nDDrLxecmE5wZniBeu3rm_4hr77dntykVpJWI1lDxJnGkQ",
45
+ dq: "Pxd3BmthjfveH8pDWg5oAiqecF2-L8uoSS7XZAhHiyTTtEWpi9oubywYI0vJaFPsA2WdToswf4Y6OJUHdhJtkDVOdw2cY8AdH0I6Z6RytLGntaYA_sDHLTUhN_4S4GYS03oqiiMw4cmVN-AWi6DdhzpidQFPJ_Kmpmk7yb2hhj7dLFtYKhXFlLDfvrRnEUU-2rqzENmHCtbR1pbKU5lPYBNFpWr5InTkdmlNJnCWIkSrNORLDqhT9FF8Qn_IfhVj-4iAERnvMYHPo2R_2Yd223sYqj2V_1GR2DRqrhKNMtPxSOsTAFbUNaDwLMUTR6oPz-pet4_2h411-9kqL2O8sQ",
46
+ qi: "G8-51_DkhkqorPChF7jmBrlu94qW5mqRMZWB0OS2PsV8OG5-LsdmIMT5Pz_r-3EtxJ0VexxmjPk0RWjQydESd1u8mqGpScPBuAV0Th7QonHad4OtEnwiiQi7U3kmhDAH4C-BTxGxfy2zH-DLPHEVMwQsoGs0b-eEtlxn4q3iziSZMVQvuZUKqHFy3Uj5iRwzkozqUhK3jHEumTFWpyjre4oWQy-EtHRPQ_vlrYVoINkbOZSSXIVgPM8bhsuFEI9oAWtwxZPsfbezueHlNAb7wOLLoGwuR3_ILkvoVgSb2ZOVOa2keNyepWHC8LWQsV8tPHR6r2bQ5YWzCCYBZvf3vQ",
47
+ },
48
+ addr: "I7rrECHrYnAC_BIEbfHqs84UtK2ZJVNJfHaXEezVccQ",
49
+ },
50
+ {
51
+ jwk: {
52
+ kty: "RSA",
53
+ n: "xOm9h9pK0xtofkLwiTzp-H4QXXsj5nVEVYotY6YGWXItVQkRkSZfTYLvQpUmEMy4XxrOQvRl6l7KXdm71kDlSBvQT2mS-G0dL5mZd1kw3SZ90qs70Q-yemXNApgSgjPWckesSUOP6933x3BM75lVL--RTbNmGc8Cs5YqbL3drsrDoyI_PDXuxCDVpLqbM9hdtjM7PvCCz-e3Xl4Xi0SSYhSrvRQZ0sZgK6vIL-K7bihqfQlSuFEBZBm01PH4mxL_jX09ptaVDt8ApI91d6NMfwchZMOcodvKOxfFPfa17EZse4uI7N2-xYH4DTVyhTowmLoKH-rsNHnSP7QOoWeW3rVqm5OIlTy8WNoeIoIpC65pMnjmwebCv1AKqz50BhA0xEMaF5QWv-cZ-JsR1VWl3HnYX7YThVhEKx6gBboE8oftnxjBDWNmM5EcplHpHdnIKzOn4GlxJxjsQnG8lGP7o2kZiUvPjN4mV1dTUBGXv0wIGDWhCEV7HVhAwGnM0QLVHOEjtCgTDEdtO9RsltG3iOlFvoUEeJvK_qe7cyaV1GJOEhWkLHA5FDb-WrwdgW9gRMF1gyUdIjSLYP5sE0_ocugQIztEeyWuTm3phaL_4LRDyQOSGb-W0YwuVXdF6FrmEWZ-IntMqFUl4Wu3oKf93mDSO2Ow_D-rHwqM11NXc1k",
54
+ e: "AQAB",
55
+ d: "BGkKaFaX2okW95owg-THOVw6qee8mtuLBrhwzxyayhn5naZozCqC5wjhxEj0M8GfqoYLUx2t6UheU3V-OvlnbHLh1EZOA9e1ZOMvK2iZV9N8hqfa3KvNLueE5mpsb00E01JU76u-XdIyC8RxfX24PJN3mp9dqZvRmJ8D8ooN6Xpb1EiyB_taqCFmvGKik10LLxRc-H12DJaI-Wl1l2_kFtbI-7pNk5ADLoJrM8L20p8mNwhq37tB78SrBtVbLYv8IpmvJ3a2AXTpfh-pcGvKDMYZ3FImRrJi-4Mku40BFgDqZDNj0A-HLfcwGVZv99k6plBAzEy2DCNwKLwAoBXvUtUQ8nRk-Ec4NohFh0NMTlWhBIrRG40EVaMr7CEQYqar8WG7EQi03rqc85hMdWVaumsJzjXNfQrI3MXWOXd_nDN0BcFkxaVlptJAuHHnh97AkqPhehZ_KnpGpcO8V3eUzYZLxVauMwGDgAVfsfTc06Tct6Vb_R2Bt7rI2EnJ6kpN_-PZec6reKRuEm1Mn5gAGIcvlqyZdINxFMBoqjQD6mliMpHa3bYKox-t05LYA0ECs2I0RJAJWptZvQ7IiQZgzWmObcdktZSWZVhqJ2mVw-Vl2krIsaMmy1AZzJUSeiRQCxtaJme1S_24M7-Qm2lDgWqunpBaSJr2DfvW6yWVr2U",
56
+ p: "7g2Z7nevoE7Lzm1rqdoC2tyYIzsra6cdlPyl0KgAPix6ReRzJ84b2CZtvBS6r4D3g9MJm7PpbfSOesv_p4lA-KGeDHjn-1gL6ADFechmPw8wBAE1kOHRF_ibxP3fIJ6TGuGRaLhh0yHUORg5y6P487g8JsslMFZ3drW0mKj5-MCr2KhgcuybuEdxCi6ERKJrHIU0iBNBeE5P5SgHx7YJrC-K2SQZ8zjSIU21nkXlIaNtPkwK2x58NQIL8fTloT3wD2gavwLO6J4jWJi6QIDUiW8UGh48Nfmct0ycZMtFAK7PhsUcIPFwCwzuO3ML5j6KZDqVvSYVgkYxYmSq5YXZ5Q",
57
+ q: "08Ij3U6ojcVPo_PWLBJwyqm1EtaguQ8eEkyNzF_GmzEd19f3iBMOui9wvIjP3Krk8w1Fo0XQw72XGBHHoZzJd-M_Enxfl-Ch0Bk4EYUZrNXzfogFbXmH9p9jmgWB1f2nkSWxgXysj_3RVZ5y5fQ-mVY3Ge4o7rdOq2dVM1r9jZ4gU9baeI6VV0ZKkF2-3hhmIyqwTo79Bwrm9HzU96h9-29P3MWheQHnUlkTbskt0G-OLtq_1nvLMHC7IfiKrmiNi2WJAlLSRJ531kJ61nzwxlbOPx0qQk2fex9Kb1AkVdCQfNWFcvA2xyoOUq1Qt8kz6nKuxKC6CDZPk9Io1e7MZQ",
58
+ dp: "6GAykQwYTp5caId7f3QnMUoA4PNTcWTShasSmdpFUmvMeAmHN6YEnDz3BZAepE96Th5l1K4NAZ6mrswQJZTf7VSmmXo0ya-q_7AxFK5A0PGcZ2xew60LlSDDvcosUwU4iBcFAHpsU9ND_O_fCyBnVlHTtfK7vLHLMAAz6Imaae56UaYbcFPztjFW8R9zUiRR9qc5HlPdpvibGRC4d4UFcCWAnnKVOk2PIZ9f2L5V6z5C13sXZcoeaQg0bN4ogfuaKQ_we-Db5UrpKgT8WxbnYbkioFQ_ZljhWDTavbGHDCGYxvAGg0nrm33l1_Z3-Su3oBtoLBnPCTpH3spx4FeG2Q",
59
+ dq: "UUkTxU79arZT9OaTzwUhINp2NI4I0iDYdUPHpq0ZKtd20jUHwsc1_whY6TZHPDipfBcbJSqWkZzEVCv3CrWJrKihvHHbrAxBcQVNPYRvL6ZNOsPx-W0OYQAcFrKIfWFKInBqq_70qq1O3uPczSKtqOSscBq4wbHB1A_tZ7JE5EjPtf8ii-aHsyG7W6FwtAZ_pn4rgWxn-n0X3L_SbGLUQWEgMen3KuEtL7IbwIofOQSpepjjzOxmOej8HHUwnvRpaRoHtsmeB1MhQzDvwEfjkO8faqDCaQMs9fEz_HiyCfLuk8zO1ikZjeg56Ui4VGQ6toNhTP85ig93CpJAtKZe9Q",
60
+ qi: "by63I_jq8AEvZRkQiViTP7pjil75oNNjmYL9BXnIVF7ENiu6P935UxS1ceWVm3vtcW6xX2SuvhZ6ypHAti_JbYa0YQZwxqzDMB_Cvo-T5Qpfzg4EwIOnJ4x_Y6jaxf56KAmWEkSrE041ClD2xLWrlytqlwipGBronkuWTrx3S4-RDH-pqz_Tb3hPMUfBsumqtFejKqplRe_XAOVvrURTliVjNCXv_-TU4jyC--X_f79eBRxxCONPKHfEgKteAErWB0QOKSs46dWQjVEdOamwZZv5c6dQusbbgtzSHyfDhw3nDK5GVm7RF-hLLZRkBrzybH46a491ZQwp5mXFlnMq8Q",
61
+ },
62
+ addr: "aL1ZfFd2g90vy4TuF08OAVPhocB8obLG7sIyMv7_lHk",
63
+ },
64
+ ]
65
+
66
+ let su = {
67
+ jwk: {
68
+ kty: "RSA",
69
+ n: "qrpDNYXNDf9wDbQSwnCc9eKTr71TIWF0FN5bEf7c2cByYlde99c4H_W4HPn0RjCusfHN8svSon7yGXbJA2SXMndbtbOO7MtXV3EhOOBjSheAiS_LmwUarTSb6pbRsQHremPD4KZR310Ur6A_kwdouEyW02guI7SBi1cLRT2x6lWrcJ3aeYYPQ1AUjV6L3emNJEL5MbKqF8CMnEzX6xBiEpK9b72osT31nJyUvqv4lRMwV1xxJeOagxaIwb6sPwErdTl5G-5Torrd2_GI9_f9GGDI6rGmNrfHoihr4sRwOROQLDGn-OkpoXsLXJswBl0KXsTgz5ctM5R6_LtDsZJCl9-JYenJPWgIBnsBvEWCKaq-nhy0KKPXLnhLqT5uQY35OtW8-Mud-VuV8KT8422SEobk6nobH6L-BQhdjM1h6bvqqo9cUqfrj-DK1mG8MZZcbHEhiyO5607cJPnIkSRKnccf0D0uZ90z_3jQEh1xojc-ouasPYyRfUNNEUmVV6Jeotmmaeip3t4GZE6ECmwNs12DFUS2RSVdOmmbY70i0YF6fcYEsne8B10GDUEMK5UDEu-zrmOmQTWRuYSUvBEHkHtV78BSHAExXw-bcvwyShlz3HI1H33I6x9GA67ES4Yx542fnLb1IwRm7ZcJVSQiqgoZn8DOc-sqBpY__UFlAec",
70
+ e: "AQAB",
71
+ d: "DL4_ZjJsMxqSwHflTvcWq1gnCHiIrz0Pa_LweEAX0V1tP3Lgp0rv3DU8JO_xPP-R1b1dnAnjpg_0pFSHiqww7uoWAdKuHQ8zOaPuxC7xELNlYcs1ltOpzi2j_HDkCokncuiy0t6HNBvF_5l_juSZx-ilLCo8CDU6cCFmOXWL68vkmOpnYSe4Lu2LKZKNI3PoMY5mldnzzgPbJ8JClL_FAJ7l6rFZpihT4Cv9z3RiZxPAfKmgcAdBKrF9ZRZSBzF529OXR-LuAjKRfPYjCfzMIUww4vexZA2R2V3MA7UAei1ZvW3taQWHGNybmGUK9iA7gtLBXWCEb4B3MTMNfMBIHd-xHUBYoLPDA1I1GCnw4cWYrvO1JODdWrI8quv6-hXrHe3HRU61YRtJVKUj5AAYCHWFZNPEkH9DbDKQASqTfjNPhzQ28rD4pREUx5Gwu1yA5tadKPBZJ267KaKZ7vVa0BGzG3icRU3G1v3KQFoZu15h6Rtd6ljPEbmCfNphYupGK78WBdUbX86gHlzqi2WAI5cDVgnn71_kaI12AcwUqJ3CnP5D3eTBZ5w6qZKgs-WoXenzwLe6Ly2xXA-9IGF7dibEa1DZ1UjHFDh_E5VlVX_oywqjPSM5Jb4NzqHKzA-345SFH1fEzT1a7DukUA0AvBMk3i6G255phhxVam56kCE",
72
+ p: "1Tqxjwzusm8I2OhXRIY5NSCpWRpzWVm_W8kF78BhdG9GwbBauZVsC7-UFQ203anmrylPzx3HZmm8fEp8JH37UQBKBcN600wI8SpCwDJrwc1qUkpzlUscrexUmVRcQvYB15UduvWVQ7zkaexGsVbsXUZK9XuCupgK0Po3pg0t5Cha2jvnYJmWVNGQf0cU5-CWYIziJcapgTS8YdY51OaISUYWwcVSeXhBSanbzPGOwZDrB7Nbh8oxSfmj8DmwDRCEebSgz6EIsy3hFwAlpe_W_6hVheZ1FelupPx4NUJL55iP2NZutlYu-8Nca51NaunSPiYRzKSfn57HcoHCoH2jYQ",
73
+ q: "zPkcXiIT9dS9qNwhEVy1ZZ2iZDuzwH1s9Ker2dQ0zUXoKYbpRltv5EjkUnzUuijGNUgQm9rulY-YqlVoJDjCjoQ8qR1kp2UFfNd3eiWLzQ-oW26cTiLfRthGrxIuxgOPFPop_uYynQQ0LpNXDlF381kDvRir21YF-dc4Jk0GwT-EXIo7x7zLftUe0pZKr9IPAHt-6c7ukqHvaEfTuZUbTmyJraCOJ81Nh101VlJ84jYKtVgZXGq3yAVencVl7I8rFJzvJSyow3e9nCja29hirR1E9dPp01Xh2QIm8nmrYJ4kRF-OjZQ4HeC62uo3mkiAmCubjOA261I9DxibCvvyRw",
74
+ dp: "tCF1RmeiblKmorcEofrR8TO6XG-f6meK5LsZrMRUj8xBdfbJbeXw9KvPKUn-9RNGscqwhUOe48GHXWh_H0TePjuETQIqjL27ACC3ay4tIfeqTgJfSku92p-_iBhgKKEyRTDPgNVeV28HdwQHZGEOJG3xfRfuBDvVR11aDYksr4X32kyo1k5pVRYEf8FIw-pSnxXlJgyBvYkTa4NSL6zgjSYMq31Kgxs37Eb2TFf0RUlrg4HdXQVORjQCbjoNo7vEbhxNjZl4hAXKFWgmZdwLQMawGQHq_6vHsNEnq7Zp8ShMvN3JgXelEUKknLSyZhNJbP80IjEgN_QmgXFlPbdlgQ",
75
+ dq: "ZoQpZgNRTGCswynl-BMQPtSKhes-SgXxWqQJ1ZbHGeve4_Yv8hqFaf3zBDafBsSh7cAvXmQvc-owBvFUdtlUpYcJ9-NVlkt2ZSw2-4aP123_XEuELahPV9WP9Lv5XNwm0e0U2AI2SkXx-2GB5w1kGvfoYMlYGwl5T64OzUk1Ga40-zvADnQkqzjYg6bbj_hVvH4HydTPidMoNFXIVUd4Ms8iRQ7KSqnqHsvFg3kaMOGqlWyMsqZFaOsWmX5DLf-lIlgjW8psVecrlFDytYYSRFchSHpGtoZ7wNfMtvWXe2lc5j2MxM7fCkJ98kO2r5mXh4Q39kul7ChjlYtO8D12vQ",
76
+ qi: "yIOFjrcvdERR93nm88D4k8gvwYo5qpyJp5wyFbqXNF6hR7ybp2Y_ebyxsf5CSWmxPWuqU5fF4c461tH7zMuk45cW809HukWfHZuMQBHIBNkKy5hbnYqBgnCCpnbqA_azyrL7Z562IKmoYeSLa2S-SykZlAN4sOnMNGCvDJvHsxd_9LVpM6qlkq85KqtuOdRh24xPdvYdXPjKu_qSV_LY-8PC4CzlVEgUeRLDH7tRukY5xMXJbr_ATSy-J2SJCItNHTPNcuJ6vWekCM1EfbXcL3NhY4AVjVUGVkiHfLjCcrr9i20Yokxbjsg7Iloj4HifO3pV3f6Hb40PTJAbFtlNhw",
77
+ },
78
+ addr: "oepP6rUoOskYDLycGPR9fuk7eJdYUgCqp6_WiLMpO2I",
79
+ }
80
+
81
+ let cu = {
82
+ jwk: {
83
+ kty: "RSA",
84
+ n: "rRdhSHGUHJ3ntvZqLgclHNvemDl_VUJTBD8qGMZFV0ZSNh03dg1N1kJZkqCOzSg9WXKejOteEq8_gxmd9DYMTf171HGu6mKvc1Wtqc5gvMmHKfzs_vBUC_KTqKkGzOlIlNYQKWIRzrCTaLmdhlJVaaeNdONeAR0xD06nsoQMJlonUsbGbLqG3lMKVho0tTL6WksmHqeb6jJDGbmxF-N1LwEnv_nQK_eCKmk-ijmTweikCDjZBSwhxcNE8IwraVBNk4udQaPTFXfrExs6gTUWJaOqmSPzZIk7R2d5s63krrCoekjuUeBie-ZXykgdoyRvAi6wk-XzTyOIVcfDnlAWNykbw4UBN5T4E4J5t5GnoYkAMkPGg2cLU9CqAlBjiZFBIOIa4FbIZrqvlhD0KLSUCQ_j2qhC30CJjX1mSUY-ObfBhXerg2GqlKTkHkm43itFuow2G47Im9PAOkrbei2yU3OB27Kph8dEN5eq-87SQmt9_an4iyXssrtBqZ2ErWYh04WVh4_svA6MEF1591aS5RMpKFadHUZ14IOhBf39GozpRVqB0p-z3_Irw_p7JVzQcb_6yIZ9Byf_ELOPad8xpXocsjN67FpNGKngCmX9YI0W03yugEfNI2CDOmZFz1iYgBHloK6PSps1nlOxVrt8MNHZPWwX-3YhckGvSr5hhmk",
85
+ e: "AQAB",
86
+ d: "Vna65GbEH2VrpfRCxxpPmjJk57K1HkBi2ti4rSaB5d5dW-XNWh28N57uQrYMj4Qd3UxJ0kgSto-vUMxfoGnNTLomfNGLGE9SqHDwrsXGghfDeqB7PMCNo2g6BYLlwD96P8sMyLdSAOcow6QRAdOoEf6eRXj8cN8FrklSsPSQYyoewZVE8nRcwbtGiwtNMAS2lZs7gA2m717LMRMW2UGIvIG9uwLNz-C0N35aPM8VNcSCCA9prVFFz5XDHsxONS3liqIv3GW7IFrGZUVxPLDpjsTKh_Qy9ZItt_YDD9P6S584kdlTnzfQymaejQ_oKiIdh8AN-dtg5rPvuzXuTGtiJLjGI8Y0LiFmpf8nKg6BnRESL-MhHCLvLkKzTT7-j9m21VvcbhdGUe4TE0ofLzXUYyETAsk4M4CwJTNKSBdS7L3exvLodXHCQM_OjWAzeaiUiIGWMVzmrtKh67wAFWQAvogmOhOkxPgeES25R60iix-DjtGFgMgNp2H_HbKQMtEynPpzwcvOrOzFhfAtfGFanKXryuKe4CpFcnbvy97B7fRipVS1bBBogfI_2mhx5EoQEtuSBHsqRlEn-kLLPxceVm_KGJ8QLFwFhhcf_5WuIDSqvM9O86YVkrN2eIjzoFb-z_M9o-5v4iSXvYykymGCgYSRYK5BRqvU29vRZCaI-D8",
87
+ p: "74nngtXGwzoomqFmwlL9d8raOS56N2shhJXU1_4qRgsHafJSI4A0NDwBDLa8xq0yze5QTrj4t_zVAKFub49pX0Kxm7_dqDwNIRZnsnPF8sOUjS0YUz0_oQXZItpevhFNxPKzyZmTV61KevZsH9tA-NwsX7yVRJ49MrWUolsrtHQmbU0fmEyXWODBMVD9euNJVEnPEwlZFOKqq03pUp1c1IbLk-kBGaUv7EEOO5r5yGj1ph7nslmPiY0h0gJE2hL5pHR0E_LFuZrqIV2n831WNEXs1iJ6ViZl1oYVDxp_xSXstrhyVJ5lQ7Lf2m6ox4Pxy1bXr_LK97JOOZKvxc859w",
88
+ q: "uPx_UmWmBUGifv0CIj4OijWrM8baz3yncDqqv6e8atlFNDDIQbTP_y9XBxMmMUGw_Sfdnut1VcxU3ikY9kZPUCjNuRaIPPh6PoV6A1QkFjmYiRaCjLGa3Qd4ystC0tdkkWGvn6jFn6lO5my1wzVjy_O9JUaCycT65waYyTXP3YNCosjwGO8jEWJEWS3a56F4X2C2efY0E_DstCD3G1DQvUlxYOMTrCiffnbV0ewb9MW4twOTL0WrzgSuA407RbEzo8NJvvuOSAFIKFFJVChjsITplyfVJ_Q8bydoak6MY7HkjWr4uwJlWg-Vv8nOGgeKnV-N73WAx1l0e-2z26Yqnw",
89
+ dp: "pGNPrkpnjbNsCjKaAuJRcNSVzohG96Fd70-kMlcLS-ZlwB-8nwBs0ywazE7cXryeERVrp5rpldq9kyE2WPlipy1uFiUmST5tBDgMEjvBrUjrubco6ncuI6OP0ItsWaQmavLkz4XFyHX0l05mBbbCcAcprMoO5nhyJ0rWJlXLOJw9guVauXpWo3gbHW0niB5TRLUilz3jFKI53jYp2biE7JVVQLy3NJJYwRokWmOQ6Cif7NFo0M0F5LAmdal49u_uwx3oS4hgiW_3Hc7YZBGwB0-1qX8f1d-kJAUAjszwwqu0N_F9BPVvKXaoiY9H5SR328RNYUKOaE7FwF0ao_YDIQ",
90
+ dq: "Q-sA3EHR6NAmVzWRmPzr3bbCuunh4JhF6aDAnEl7lkdbb0QR4n3-eBTrgP944FDcKLaAWh7dH7k7162DKri52haBIdmx_6DDUT00hRBZh4dyB7MqD3oN_-UEZoCmcj7-_5m8H4SZunsxKszzF0786x78bTksP-SAsl3rrsSBIzVUO-xGqwDyASnxKkT5wF26klox5SmOCVxFrAUGdRMA8N6MMCRvTqBDnu0GqGJmCUKnBRrc6VhNMgDp2wf5oSbkbNYAt4wouystURA3OhzyLRc_pG3NhzPXFICFh7J7PQdNgNarqA3DJIPgWWBAubHXJNy2ghrEQ20GpZGqnZSuxQ",
91
+ qi: "wA1-0QVgEN44olq30xj7JwhMGxXOCVR86e-ArYvxdVBg4gKW-WkNVw-COO1xdRH0OBMkpg99ugPj0BtNEr2ftFN3h1vsk1GJHhlnIm5YCjKw75f8rMGPSNSNGuoGj2wscfl0KfX82mdS4IRyY6A5sIc-tcn5zteeEkimdZgn2Uv5nhZYXSVqjysAIPBlNsakzJFhpSEz10cTWodEkn08Mp2wF6ZTLRXQzkYry5rGyARjfunQat63epWD-T-nVHETsahUIBMLnCAb9mmJCF0vzkntLVaLns2J-y4hl666sGz-EVqvon1K_bVav4_lE4idbDNsD7Bd9VhzGOJfqIBf0A",
92
+ },
93
+ addr: "wPQsT8DLcE1b33x0qa279O_N-6XdFMC37VLEmgyZz2s",
94
+ }
95
+
96
+ let mu = {
97
+ jwk: {
98
+ kty: "RSA",
99
+ n: "qNP1LCo1OihKjVZ8aqZzO54Kmx5OluCDr6VuAPOws5_RReB92dP-SGan17Y0nYr5c3IzX5tkT9KKtbAC3dEqSbyqqTe_lkfIM5cXYCVHSUVOBt8J51xLoOCNXQUjxF_14hOeo_5Qvkmvjck-ZM6ezGnG1Dw8WzDKMBm1oL9GYBfjz0ymvUYsxjt_emyOoaFz6FZ8Q12hiIXBSnalJWYgAmp9_jxcwL5SDcWXJF6m_8b3WonvZn0QiRLJTwnQQ0E3PUIeS5QbIIMHalzdCSrMwMkfAzojRoZJZhLZDNUgRAYNPLDprF2aam7K9QROGepqO7jds85hTq23AXxOs_zXNkhmhwKcnTGcwu6sVgBG8qbP5fvrXrsulf75tncLjj3X33HTRpVCMJ3qvyl1fDpBHblh3nIa6lQc7ZrsHEN-BsHpK9c7Bsf4vPnBDTDgYNZ0z8abd8jXdFeyrvipJLH_PZFMLkZO1hXpGqNFu6YS2AwZY6mGG8GOdxNrDl6IeD69MVfTatvU9x_NlfiykeHsHjYeS2wCScEpUNYmJls3CxDhDhy4KnjnwJNSFSmojMQs0LoR5dLu3283D08z7TP0UetG0-FzetquqhTJ7TpEb7g7HujPEcr2u7Vyd3Q3-3IaOxr5B9zK0mMcjAsxMl--tZUKJj9ry4UR-C4onQZDa2c",
100
+ e: "AQAB",
101
+ d: "Ao7bmyS0k8IChyu1TORiwJd_b6RA6pZSSHoINal7lu0n_ZgOMBu_MZekmWcgWva9GtuzHZK8LV1yTphxIq1Fp8JdD51RoNRLm0SBzSojb1_Gc-IzQzcpyjE80xj91r7heeB0OeXjkU6Kg2p2MI7U5yH_Kj4TaApQNfRdxSbAyTnzcLOnnxyOFx7VqqQ0cQyCNhYBYf_sL6ZfLGKp0-w9NewpJo4BlcYMdjr1NE7e1udL3ipS30mr03feZv0uE6bMUHhM_zYqRw7VMO5hRv9IBO_HMYRS_oGQYSSN91zPVViGINJJaBwu98ff-WBsUoYzv93oNg49eTS2niYlByMgm6KmTQ2apZTG0Ho0PCaifhjS26KWbwXiJt-ojVSPk-BnH4f49lRd7qgw-I1gM7ug9S1eCZHflLJT0_J13T6aVovpKeesm6PUs2zGKfv3kb3VgjwSZpkT67T9yQfphOILl3qhfhV5_Nfmst_wuTYQ7hIMwprnaPwcUgoOhF2Ye89VSMR8ERCRzrhgKDajIkaBnf_Z0u8BfCp5FAD54DoZGb0BHddwK9VYQfccEjkaKdf4QOiIZJgm6PWiK9EiYjJu_no3mxhGqwHOPFyX82h0RFQryKIcgaXXsD7LiNcZ18algCAI0uTtZp6-OOHKVRAsgnlqZ7fb4iwlMZyvb14Fcgk",
102
+ p: "0imAhWkgoMWN14UM15lWaqMrsudyfasZfA3kGdnx8Fv9bZpFIEfnS0p1mzINcUozyNmYIQUgG_w5DMBCGwBVMrF0aEDmOtxwMn1qmgETfr2BlXY1bNgBsM9lFOsmJo7YPN8SuD5RCVrwenr1YE6K9nQcnSGatX3qhFidqO4DyZx26OKgAIOlT1-qsparDKAFmwTeEi6rJWmSkXBTiGvoLrAgn8e6i4axCLLspl68vdZu2VUK9c_gxbYjgh0gFpJ2Hth1R6p3nroaZtQZ251i2_RWzUNdfOLSRbXl0mZ0AKMy7KL6YIs-5-fDcewhkAh3lkdJLaD-6ZtYjc2PV5t0aw",
103
+ q: "zaaLSG2z4nZ3FWxJMUcSvmCvmbDAlu0_t-tPHMQwSZ3uG9BCVr8-NI8UncuGi_HOyUpq8rCVZJe9gRJn1I3lkmLRQXig0yVB1ACrECfSAg90-IXDZWckC04DlkJNB5QYclbAjtHKbVmhW67kfWqMxHsWJvFLSh3qj3G4F5ujrtoQV4XrbxKZLclJrvIo7IcAxGTC_GS4JFKRp3r94i1m6rxwkU1vR1RZLc16MTTxw0h-CJ6otYwEc5a351VcwlP1yEjoTIFFHC7ILsgxnzAAHXjYoldum5ccnWy-U4cOJh1f9FfgLQa3y2yQ6OBNQ9WG-R7dhFwxZsbdA9srNk9D9Q",
104
+ dp: "VU53Vq_niJroCnV9Uv5w73QwRrxf4tbSz2IsFro61J_ibNzT9lh5cDxXJJnajwPZpUt9ztlvwSxOU_iuXJtz-dHCOJcvXPEhsbzqynxpV2bA9NQ4t2euuABXPXh90eTlrT-3L4ZMCooZVv4WH_OBwKw8-SMs00K7MOFvjaSfcPTL55gl7k-BiIiCl19FKyjBXb1KDwNWgScrUVHQ9m0mn9zqQTEnbX9M2QUXvihyYHRsJle4zTKGQHrASw5beg4VWEvwvxhY2dsc4GRz4osuF65Elakkh47iX12IXjEsIR4di6RUEWA0NpoC4XlB3l8xe5SQBa92CYj_FwA7kQoO5Q",
105
+ dq: "Hx2f3Wmb2hwKkJc9y9LxJxUB_MMdoLhs96sG4Vdd5wWaTWMJZo6xHsq3V9i_ltUTcKlt3SKSuBGtfqYGR8bggXGqL7nMu6Xbe_RN7bfYsq8cB65VjjY44ez_5fBKL2dc-4_cur9LXZg-Ld0cfU1t1xy4kVPZDHHSV7nhHNFTxtT_u_5rTPcHbkISgAHr5z3WA-ErD309z2Ee4LRfTaWI-ONiNNn-iFBe3etFHcTg_6csSqmW5UE2OzcGxF3KFy0U9yTw4QJ-LnF1oH5x46AjpFHwlT-dYLVQgxE9Cu5YWbQAHLxfEvD9Ri47DsFBb44TSgY9hhVc9CwKrNawhxsfMQ",
106
+ qi: "0Fg91oiiD94elAhcMshiMnzy8Q5tq-WoAQOpPBnYR7HyE4DsjWAWjP9EdopOpsKMM6QbC-bxJKUy0OTvluWUi8m7iR7SPHbgnglyjS8KyIZkckmQdnvOZNZuRrbXDBEzhQrTfdxi24d9QodVYAa-48Gm_PBV-mzBM8doxO5UXKP3cNfxNnJpo2dxbynTNgGQolxvd30jeMzgktpsShGGsiDeCkHJdfIJiI2SX90AnlJhRZlaCZpwUoiSODRqdIpdbgogJUh8-8w_CpfUmoe5MAcgOQxh3pdKSqJpoMAC32NeCFJ8iix31BsbtvxaZMo3OSTYeOgjStb9wX9NDQgJeg",
107
+ },
108
+ addr: "eNaLJLsMiWCSWvQKNbk_YT-9ydeWl9lrWwXxLVp9kcg",
109
+ }
110
+
111
+ if (globalThis.__WAO_WALLETS__) {
112
+ const w = globalThis.__WAO_WALLETS__
113
+ for (let i = 0; i < 3; i++) {
114
+ if (w[`acc${i}`]) {
115
+ const jwk = w[`acc${i}`]
116
+ acc[i] = { jwk, addr: toAddr(jwk.n) }
117
+ }
118
+ }
119
+ if (w.su) su = { jwk: w.su, addr: toAddr(w.su.n) }
120
+ if (w.cu) cu = { jwk: w.cu, addr: toAddr(w.cu.n) }
121
+ if (w.mu) mu = { jwk: w.mu, addr: toAddr(w.mu.n) }
122
+ }
123
+
124
+ for (const v of acc) v.signer = createDataItemSigner(v.jwk)
125
+ mu.signer = createDataItemSigner(mu.jwk)
126
+ su.signer = createDataItemSigner(su.jwk)
127
+ cu.signer = createDataItemSigner(cu.jwk)
128
+ export { acc, mu, su, cu }
@@ -0,0 +1,124 @@
1
+ import { createDataItemSigner } from "@permaweb/aoconnect-69"
2
+ import { ArweaveSigner } from "arbundles"
3
+ import { readFileSync } from "fs"
4
+ import { fileURLToPath } from "url"
5
+ import { dirname as pathDirname, resolve } from "path"
6
+ import { toAddr } from "./utils.js"
7
+ const acc = [
8
+ {
9
+ jwk: {
10
+ kty: "RSA",
11
+ n: "uZbloE0aCITj9JxuK8IhhMf1aCJzDKG9oK72Y6-D1p6VrSQ39irWxa5b2conpLnlI_8eiiwuUbDB1a_Zq98icah9I50Ky6E4iAc038yKILE3QVuJO0M_ykbDEeMaBufUFl78kQYFS9wRTUy9pDOdNp04TvN8cyB94w6ArubxAzavq95U2b2XEaMXWPCX5K8ahZmMc0OzAvNVoLBIXrrnkvB8hvIxbZAgVHmLl10A47O-7EADqa2_ErZA6He2PTnQexMUEWhyfqhRPLwrnzR5CfwnRKr8HDMsUETXz-tuCpGcDDsmPjLPutCjS4Cc46bxEfOdW2pfjAYX-epoeL-eiu7-dEf5fbEWoE_c_IKADgzl5D7t3GgojoHGBZof--Xse-R0vqgpw_w-ovDQnxzWlwtRBqwkWxqAY2v4KsNPMKVxS8eiiRatIMca8Q38wprJCOMs0hjlt-k5WFCez6ndvc0Ir2Zwo5ojk9RfpFv8pEgzqZEvaWwzkGNB5BP5_HOCS0s8zGTzo9xn8niPhyDYZi4__7jR1JVDKRK0Cc0dLO-yF6jDppAEXpUMRyJ-chb9_zJ-vcvztDrKfRK_pcHb7KyluiJHUPq4QBB5RAni9MXLBItEZzhFLMogU_sgWzkgdRFxHo7Ne2z_C-os0QAAXOE4WInq9j5Zs5TNuFTV5Rk",
12
+ e: "AQAB",
13
+ d: "BTKkOMKgDYgHSGUPMtuLi8f76BA676oiAPuVfAJA64RihchjZtoZTM0O1oEybgskz0bIaK9HFtOgAiecLZOgx9UjuBkgYcagqjKlePUmEzdTaFmzdLzz7urfcMNPCc15Y60CXt9vy4mc1HDnSM-HQi3SE2f_XswUqoTP9tYR_viLoAEomDaWohBSyZNndaiv0fkUdW_6dgUxqz_0ru6GKNfibPcgikSEm0kSL0mUCkyQ9tXuJFTw6om_NKORr5JMc_37TGeD-Wcma1CL2jgigbSVtvcg-3s1bQQYlUKvQM2GNNN9RTWwGrfYMvelrTySOOH9UL-gcHAFQOMfTO509rviDOwHBGzAa8mp4GIBPYiWHFwEmyNe7VPe_71AzxSjVzZo5Wn63xzpNRZCK8ujm2CHFehEMvlq63cM1kuh7YCLRytOsGWVjoMPe3vhO5RDwrQrhwFE5nYwzWHxH4dbsh8IsT8im-yfUqv8Er5aJsMFmhFMT1OUqlIQOQ6cRI9zJdjB_rwHWVLWqrw2RZLMXL_Wk8LSDtRqaBTqjRKaXLOHAsz7O-R2ZFKuHuAAuNNGysCIdAIVb7q9t01WEKQS2DKLmOaDRHeuMBQne-KWUSnWWkOo36gBiWajQa3lYyIBdeszaTi4Tvvk-yDtMHonqAuGVweuZgHMKIpL6y4Q0n8",
14
+ p: "9X70tZFhQYI6F3h9DX44G5jY4sP-GuiIkEBn27a_L8XmyG_WF9VYYIV0m5y7ZBhM6v3hC-m4iJKxDpAs3hj0UQn3KQDJOM3flxAEcWtFFSF2IE6vX79uB1B59JbSHcoDJA441JwdWpCCyQiIg-ryh0X1f3DMTPoWdcI-KD4NeFvuMkQFqgj9-Y_J4mhW88WzMHexwVEFGPYbJ0ZZ2Awny6co0__t9U2Cst721Bs8Hon7JH4pqEFO4dzY8YJ3scGVn01YPumDkKcUrOTxLgQxlsNZjzQqdRg3YEby3G_460aVMt2XT_MS6GpJ3QtOIpUZRWNVc4qZarUw1ko6G17zUw",
15
+ q: "wYfBHNc08gHPKSrR5rqhUPVTB8nALdwiSMka4mNVMji8DouF56s6eZPxP8IA5c5lcaRUFy70ofuFUduQw1vfy1VyzadMw7pIAWPmoi_L1fFbrfwHIuHYervPH3_wpg6kLFEbB9fdCX6ppypgVb9j54Ls6v0UYqj_Xr5S44ebndB6QqBIXZk3m5Njh7eAXMgBaoZSGHGWTk_p9fCnFFE0TC5QHRNggCzP4P_WmZ5wwgr9Ymx0Q9pPkKee0ph3nWO758lKyk7P3MLAFnFhbHlU6PF6Tq5aoEfjvvl7vNcnLuAXbSPSiriyjIktvHjVdCtJ3BMjlNE9EdLoWwGl-d2EYw",
16
+ dp: "k44mSYfDPBupDPhnuZd24-d_3PTOo5_GjWWYxy_VREKgDzNhLFwYTZOJXgrbezM78DZ-cKmfN79r2oP_49J97sOdojCNwa3ESUjgUseV8zh0hsCkmlk2KgFN_Bw22J7WOnKt5-SZpBid83VEkH3EHliHUX0b3tymaUtCDvAVKpWe2umVufjDpp-tSX9LXCQlKumWlso61SD_eyDG2Zucw8SKPrpibYGUICzxkNV50iU_JVULds0iO5GBd8_iX54qb2COvOmgIW67d5v39p-gqqxqBS_moRDYH-8lBCftJoT7ImKcEvrYD4frM4gbA6A4W0N0VgklY0TawMJGoLL2bw",
17
+ dq: "cUhft9wZN9frRXO1LlPsfZE8qwBjp_SFdQmS3RW8FwuyuOje1v8Z2XTJ8MJE-D_ajazdNDzeIbszDPlzQYeT9lfsPYlCnAd8gqPRqvpDXNZNDgjKvJZqu10YHp4rZWiInRBUvECVOCuWby2U-lxvxGKU__BocF_wK6tIpbsJUlVoW3urIG7BaCXcSuMVFjpU6d_6SiijDPAmSTo28uOds0IgzwQ6poyUmmXnXkCqTEtWirhlThqKHGihxTBORCjPIxxm1QlRDy5Idlqj5nUXSMuhBlF05wFtxKoQzjc6zmuKCu6_HUiD61OZHAu3FqsILvRdDY11K-vC6xKJ7zrFdQ",
18
+ qi: "D5o0OJycgyWor3HWRMXmjDJtgciMjXG0YIlKxHeb2q3xQ6SJttqW-ZKstPvUQEBOIe6CuEkGbj4K-PgtOTISmHD0PInTsqm6Jbe_MdRWxmN2cUAZd-aH466bsgq881TrIuxQsmnVROowDSSrXX0OpbO8he8vv_DRImKImkvnL8-YN_oTtO2b-f32VmSI7v9Ffu9x0MgTJU0PfAlo42czDfkkaXshqZPHO6t0Jq-vaPTnSfkQWS2nNvFunzs1HX8zjURzLiRufzT_0Er3fv0It9uYLD_lpPUON6EvZyUm46lPAivxgNQ04mtu0GVgFm0QlImH6xqLm5NU2f_Q0wUb6g",
19
+ },
20
+ addr: "Rix7e0HB-8OAaimcoYkxTZB-dStgTOHWUik1DvKD5vM",
21
+ },
22
+ {
23
+ jwk: {
24
+ kty: "RSA",
25
+ n: "mbXYDG_yPtr5tqM51zYRNNfa7bYfgwz116HYiERYeLCxMgQnybW3Gh-32j2pzDLsKEL1o8WOu09AugiG2NF60Zx_Y4Wr1dME0OgipYddJ2VesaK5vb48lv5K1J8Rd7w6OjMpk8392Bpnq2e9cruf2-ZtJhVzRsuBGAa2PvSo7IBJC11uCjlwcoAEyKMCOPriE8_ZdagFbFcfiH9m5ApByNmIH6wYB1at5GVbkYACqzyc1qV9XfZLuzJ6CO_2OMtbpjPeZ10GOXALqFY4JzBtGdyYgYD4RNb9Sah-SLI1bedxCRLjQjrxz_nXVmE-2hZmFCada5HKChhwqTdvtEd9DjGh8QHNJvE9K1_YqBy_twY-qdC09LKn3v-XzwiGdTWHxKRF5xbs59VL8HY3QP2ZPyE_nXehKuoQlw8_1-KnL1MYyYqYBnu0QEXC6NtUbidRHxAdNFepQRIbRPNDXbDa9G34I98AW4I-VhHc5kHSMW24wB1mBbUXXiNYhJ25JugQGZc6B-dY88wr4oy_eTexZ-9uCL4_tCSCTC7-VQcV2rpEI31sei8pQ_LU4SdwjMw3jocFFEBRmywo50YI2geGT7pO3iGuoLQ2QkLBsSQcJkSeVOSuOb1BCZjBjc6_3Et-wofBFtgX2jSOP0JJTy61Pg3DWYe34OF2IVr0fcF4U30",
26
+ e: "AQAB",
27
+ d: "IbB1deRjV9tut9T2rHCxPL_CwC8WoQaKK4TRjKxOJ8WyUKAQiGlHhHZHOZIiURsoH3rtk8ONEQjBywRracIgBSkj0pBNpUPm3lLCpT0R8byKEKz1wNydMwrxI8DpdzDOIktsZXTUmjTPXAYUw7zTwMK0UZCJ_45C8R0nfIzrKUrEt7T2lU8Zkj70zXTM2-hA_M6lfuAgsCo4QxaJWpnU6UykRSzW52TcIB8G_tDrxNQ4G-ORorKEzra1gJf3g2Mu5zKfIFCHOLeSFocvL4exoeVzl47I222zfh1r8Er-4uPDJpX5MV7x-P9tbwVJXUtjfC8qeZUujx_kMXJxDTZN9iM28kZRiyHlKu0QwceevRwAAsoLwVQq0nvEHxPM5iuGJL4bomtJzULS3nphoO3MvpI8XDG7L_9wIjfr_joOolPTQoiVjYDpcy8lxQ2ZFUYHc0LaIzfp3KUR7N0cfHtfXSXJAWnV4bBY_joVSkR3xw8I-MLJALSteTP_yjTnNs1ncUqel8ZBurKVWkWFC0ymxCszGOXyVJ3AFVjRdsi7x_PX9vJnbYy0A5fuFLbtEp2ha0j5mDSjPcE5DhZ71ATJtMr7nsa294_JMyMD_0rDbZNkFEB_dyIal_T3kqQqQbx5AKJsY1PQpEmJnSIOk97WLX23xXppFAzKKWdMBqUrNQE",
28
+ p: "1uBrjk44EnkgHMyA65ySgCnrUbLZI1w680TdCwpIs95Da2-z53twsaezS6Is6hLoZL4eNa0C259rhOMsKVaQGWQzulZxXgXy20i7v1S4md_zTgg85tws-HEj9hCugkoVU5BbWmUILMlu3sq_zNS9hN4IqgexxI6ws2TKea3xjGZKHkcnW8ut4WE1YzHmYF26x1bQyqIHnRwPYgpMXs5sx5cJrNLgVG2FluTpta0cMykqce5_oKKMEkwFxfedqQHyjdQLt4GucjpW_Hk2b5qK590iAirZv7J4seejg7O2su0tmRfRgKxPCxgi04za49FV-ErnsOUeVuxiLKidMi66LQ",
29
+ q: "tyCqf8LGUQmJVTteAbh7F2uGWtG2nYz3RJidlcJuFcu4Cf4vEdqtvFdLZuQmjOaSozeZGS_v-eiM2XQocZUfyZw7xyEuDxXQFCD9W1ZGSSJNS1w4EEGOKqgrahqho7Jwg04P5jbjJ-0fUhciXLcZQC7ptsbY3T83SN4ojj1UgB-aif0r4f-_LLvC_zgnhTxr5E7ATzyIPb65QXYSmUM2EFWB_2UPw8AWQodNZsDGT45pB6uN4f4lw0R5_xIeM-0z0EuY17dZgcZB4yKVY6_eHDVV4KopthgeIj5ebZtVT6mD54OZURNtm_1MoUkS4te106XezTmWKnjP6GhJefBgkQ",
30
+ dp: "C0QA35kiP3WyRVBDghbXZ3jLKaFi2QPA43g8zpNfdG62wi89E2nZYrcUI2cBS9Rp8r40_0Nu3uzgyjrO2ev76hjizWYy02ckcHLDxSg_9XFUZEbySnhIs03bQM9nFtWjgJoU8AxT_WUiNvQSUj7lIM4zThbRLyj8AqvKIc8I1v-V6zh3y8xF9YcPMYAwP-UqIcFfeQA9vfL2q4E2t9HCykQU8caslECZvGuMBUZqMBR8cTS75EQha-QoeVSeI3pCqUTwyFI4Pyzn2pzQSdGkbrudSNfOSsqkoU8vt3v4nDDrLxecmE5wZniBeu3rm_4hr77dntykVpJWI1lDxJnGkQ",
31
+ dq: "Pxd3BmthjfveH8pDWg5oAiqecF2-L8uoSS7XZAhHiyTTtEWpi9oubywYI0vJaFPsA2WdToswf4Y6OJUHdhJtkDVOdw2cY8AdH0I6Z6RytLGntaYA_sDHLTUhN_4S4GYS03oqiiMw4cmVN-AWi6DdhzpidQFPJ_Kmpmk7yb2hhj7dLFtYKhXFlLDfvrRnEUU-2rqzENmHCtbR1pbKU5lPYBNFpWr5InTkdmlNJnCWIkSrNORLDqhT9FF8Qn_IfhVj-4iAERnvMYHPo2R_2Yd223sYqj2V_1GR2DRqrhKNMtPxSOsTAFbUNaDwLMUTR6oPz-pet4_2h411-9kqL2O8sQ",
32
+ qi: "G8-51_DkhkqorPChF7jmBrlu94qW5mqRMZWB0OS2PsV8OG5-LsdmIMT5Pz_r-3EtxJ0VexxmjPk0RWjQydESd1u8mqGpScPBuAV0Th7QonHad4OtEnwiiQi7U3kmhDAH4C-BTxGxfy2zH-DLPHEVMwQsoGs0b-eEtlxn4q3iziSZMVQvuZUKqHFy3Uj5iRwzkozqUhK3jHEumTFWpyjre4oWQy-EtHRPQ_vlrYVoINkbOZSSXIVgPM8bhsuFEI9oAWtwxZPsfbezueHlNAb7wOLLoGwuR3_ILkvoVgSb2ZOVOa2keNyepWHC8LWQsV8tPHR6r2bQ5YWzCCYBZvf3vQ",
33
+ },
34
+ addr: "I7rrECHrYnAC_BIEbfHqs84UtK2ZJVNJfHaXEezVccQ",
35
+ },
36
+ {
37
+ jwk: {
38
+ kty: "RSA",
39
+ n: "xOm9h9pK0xtofkLwiTzp-H4QXXsj5nVEVYotY6YGWXItVQkRkSZfTYLvQpUmEMy4XxrOQvRl6l7KXdm71kDlSBvQT2mS-G0dL5mZd1kw3SZ90qs70Q-yemXNApgSgjPWckesSUOP6933x3BM75lVL--RTbNmGc8Cs5YqbL3drsrDoyI_PDXuxCDVpLqbM9hdtjM7PvCCz-e3Xl4Xi0SSYhSrvRQZ0sZgK6vIL-K7bihqfQlSuFEBZBm01PH4mxL_jX09ptaVDt8ApI91d6NMfwchZMOcodvKOxfFPfa17EZse4uI7N2-xYH4DTVyhTowmLoKH-rsNHnSP7QOoWeW3rVqm5OIlTy8WNoeIoIpC65pMnjmwebCv1AKqz50BhA0xEMaF5QWv-cZ-JsR1VWl3HnYX7YThVhEKx6gBboE8oftnxjBDWNmM5EcplHpHdnIKzOn4GlxJxjsQnG8lGP7o2kZiUvPjN4mV1dTUBGXv0wIGDWhCEV7HVhAwGnM0QLVHOEjtCgTDEdtO9RsltG3iOlFvoUEeJvK_qe7cyaV1GJOEhWkLHA5FDb-WrwdgW9gRMF1gyUdIjSLYP5sE0_ocugQIztEeyWuTm3phaL_4LRDyQOSGb-W0YwuVXdF6FrmEWZ-IntMqFUl4Wu3oKf93mDSO2Ow_D-rHwqM11NXc1k",
40
+ e: "AQAB",
41
+ d: "BGkKaFaX2okW95owg-THOVw6qee8mtuLBrhwzxyayhn5naZozCqC5wjhxEj0M8GfqoYLUx2t6UheU3V-OvlnbHLh1EZOA9e1ZOMvK2iZV9N8hqfa3KvNLueE5mpsb00E01JU76u-XdIyC8RxfX24PJN3mp9dqZvRmJ8D8ooN6Xpb1EiyB_taqCFmvGKik10LLxRc-H12DJaI-Wl1l2_kFtbI-7pNk5ADLoJrM8L20p8mNwhq37tB78SrBtVbLYv8IpmvJ3a2AXTpfh-pcGvKDMYZ3FImRrJi-4Mku40BFgDqZDNj0A-HLfcwGVZv99k6plBAzEy2DCNwKLwAoBXvUtUQ8nRk-Ec4NohFh0NMTlWhBIrRG40EVaMr7CEQYqar8WG7EQi03rqc85hMdWVaumsJzjXNfQrI3MXWOXd_nDN0BcFkxaVlptJAuHHnh97AkqPhehZ_KnpGpcO8V3eUzYZLxVauMwGDgAVfsfTc06Tct6Vb_R2Bt7rI2EnJ6kpN_-PZec6reKRuEm1Mn5gAGIcvlqyZdINxFMBoqjQD6mliMpHa3bYKox-t05LYA0ECs2I0RJAJWptZvQ7IiQZgzWmObcdktZSWZVhqJ2mVw-Vl2krIsaMmy1AZzJUSeiRQCxtaJme1S_24M7-Qm2lDgWqunpBaSJr2DfvW6yWVr2U",
42
+ p: "7g2Z7nevoE7Lzm1rqdoC2tyYIzsra6cdlPyl0KgAPix6ReRzJ84b2CZtvBS6r4D3g9MJm7PpbfSOesv_p4lA-KGeDHjn-1gL6ADFechmPw8wBAE1kOHRF_ibxP3fIJ6TGuGRaLhh0yHUORg5y6P487g8JsslMFZ3drW0mKj5-MCr2KhgcuybuEdxCi6ERKJrHIU0iBNBeE5P5SgHx7YJrC-K2SQZ8zjSIU21nkXlIaNtPkwK2x58NQIL8fTloT3wD2gavwLO6J4jWJi6QIDUiW8UGh48Nfmct0ycZMtFAK7PhsUcIPFwCwzuO3ML5j6KZDqVvSYVgkYxYmSq5YXZ5Q",
43
+ q: "08Ij3U6ojcVPo_PWLBJwyqm1EtaguQ8eEkyNzF_GmzEd19f3iBMOui9wvIjP3Krk8w1Fo0XQw72XGBHHoZzJd-M_Enxfl-Ch0Bk4EYUZrNXzfogFbXmH9p9jmgWB1f2nkSWxgXysj_3RVZ5y5fQ-mVY3Ge4o7rdOq2dVM1r9jZ4gU9baeI6VV0ZKkF2-3hhmIyqwTo79Bwrm9HzU96h9-29P3MWheQHnUlkTbskt0G-OLtq_1nvLMHC7IfiKrmiNi2WJAlLSRJ531kJ61nzwxlbOPx0qQk2fex9Kb1AkVdCQfNWFcvA2xyoOUq1Qt8kz6nKuxKC6CDZPk9Io1e7MZQ",
44
+ dp: "6GAykQwYTp5caId7f3QnMUoA4PNTcWTShasSmdpFUmvMeAmHN6YEnDz3BZAepE96Th5l1K4NAZ6mrswQJZTf7VSmmXo0ya-q_7AxFK5A0PGcZ2xew60LlSDDvcosUwU4iBcFAHpsU9ND_O_fCyBnVlHTtfK7vLHLMAAz6Imaae56UaYbcFPztjFW8R9zUiRR9qc5HlPdpvibGRC4d4UFcCWAnnKVOk2PIZ9f2L5V6z5C13sXZcoeaQg0bN4ogfuaKQ_we-Db5UrpKgT8WxbnYbkioFQ_ZljhWDTavbGHDCGYxvAGg0nrm33l1_Z3-Su3oBtoLBnPCTpH3spx4FeG2Q",
45
+ dq: "UUkTxU79arZT9OaTzwUhINp2NI4I0iDYdUPHpq0ZKtd20jUHwsc1_whY6TZHPDipfBcbJSqWkZzEVCv3CrWJrKihvHHbrAxBcQVNPYRvL6ZNOsPx-W0OYQAcFrKIfWFKInBqq_70qq1O3uPczSKtqOSscBq4wbHB1A_tZ7JE5EjPtf8ii-aHsyG7W6FwtAZ_pn4rgWxn-n0X3L_SbGLUQWEgMen3KuEtL7IbwIofOQSpepjjzOxmOej8HHUwnvRpaRoHtsmeB1MhQzDvwEfjkO8faqDCaQMs9fEz_HiyCfLuk8zO1ikZjeg56Ui4VGQ6toNhTP85ig93CpJAtKZe9Q",
46
+ qi: "by63I_jq8AEvZRkQiViTP7pjil75oNNjmYL9BXnIVF7ENiu6P935UxS1ceWVm3vtcW6xX2SuvhZ6ypHAti_JbYa0YQZwxqzDMB_Cvo-T5Qpfzg4EwIOnJ4x_Y6jaxf56KAmWEkSrE041ClD2xLWrlytqlwipGBronkuWTrx3S4-RDH-pqz_Tb3hPMUfBsumqtFejKqplRe_XAOVvrURTliVjNCXv_-TU4jyC--X_f79eBRxxCONPKHfEgKteAErWB0QOKSs46dWQjVEdOamwZZv5c6dQusbbgtzSHyfDhw3nDK5GVm7RF-hLLZRkBrzybH46a491ZQwp5mXFlnMq8Q",
47
+ },
48
+ addr: "aL1ZfFd2g90vy4TuF08OAVPhocB8obLG7sIyMv7_lHk",
49
+ },
50
+ ]
51
+
52
+ let su = {
53
+ jwk: {
54
+ kty: "RSA",
55
+ n: "qrpDNYXNDf9wDbQSwnCc9eKTr71TIWF0FN5bEf7c2cByYlde99c4H_W4HPn0RjCusfHN8svSon7yGXbJA2SXMndbtbOO7MtXV3EhOOBjSheAiS_LmwUarTSb6pbRsQHremPD4KZR310Ur6A_kwdouEyW02guI7SBi1cLRT2x6lWrcJ3aeYYPQ1AUjV6L3emNJEL5MbKqF8CMnEzX6xBiEpK9b72osT31nJyUvqv4lRMwV1xxJeOagxaIwb6sPwErdTl5G-5Torrd2_GI9_f9GGDI6rGmNrfHoihr4sRwOROQLDGn-OkpoXsLXJswBl0KXsTgz5ctM5R6_LtDsZJCl9-JYenJPWgIBnsBvEWCKaq-nhy0KKPXLnhLqT5uQY35OtW8-Mud-VuV8KT8422SEobk6nobH6L-BQhdjM1h6bvqqo9cUqfrj-DK1mG8MZZcbHEhiyO5607cJPnIkSRKnccf0D0uZ90z_3jQEh1xojc-ouasPYyRfUNNEUmVV6Jeotmmaeip3t4GZE6ECmwNs12DFUS2RSVdOmmbY70i0YF6fcYEsne8B10GDUEMK5UDEu-zrmOmQTWRuYSUvBEHkHtV78BSHAExXw-bcvwyShlz3HI1H33I6x9GA67ES4Yx542fnLb1IwRm7ZcJVSQiqgoZn8DOc-sqBpY__UFlAec",
56
+ e: "AQAB",
57
+ d: "DL4_ZjJsMxqSwHflTvcWq1gnCHiIrz0Pa_LweEAX0V1tP3Lgp0rv3DU8JO_xPP-R1b1dnAnjpg_0pFSHiqww7uoWAdKuHQ8zOaPuxC7xELNlYcs1ltOpzi2j_HDkCokncuiy0t6HNBvF_5l_juSZx-ilLCo8CDU6cCFmOXWL68vkmOpnYSe4Lu2LKZKNI3PoMY5mldnzzgPbJ8JClL_FAJ7l6rFZpihT4Cv9z3RiZxPAfKmgcAdBKrF9ZRZSBzF529OXR-LuAjKRfPYjCfzMIUww4vexZA2R2V3MA7UAei1ZvW3taQWHGNybmGUK9iA7gtLBXWCEb4B3MTMNfMBIHd-xHUBYoLPDA1I1GCnw4cWYrvO1JODdWrI8quv6-hXrHe3HRU61YRtJVKUj5AAYCHWFZNPEkH9DbDKQASqTfjNPhzQ28rD4pREUx5Gwu1yA5tadKPBZJ267KaKZ7vVa0BGzG3icRU3G1v3KQFoZu15h6Rtd6ljPEbmCfNphYupGK78WBdUbX86gHlzqi2WAI5cDVgnn71_kaI12AcwUqJ3CnP5D3eTBZ5w6qZKgs-WoXenzwLe6Ly2xXA-9IGF7dibEa1DZ1UjHFDh_E5VlVX_oywqjPSM5Jb4NzqHKzA-345SFH1fEzT1a7DukUA0AvBMk3i6G255phhxVam56kCE",
58
+ p: "1Tqxjwzusm8I2OhXRIY5NSCpWRpzWVm_W8kF78BhdG9GwbBauZVsC7-UFQ203anmrylPzx3HZmm8fEp8JH37UQBKBcN600wI8SpCwDJrwc1qUkpzlUscrexUmVRcQvYB15UduvWVQ7zkaexGsVbsXUZK9XuCupgK0Po3pg0t5Cha2jvnYJmWVNGQf0cU5-CWYIziJcapgTS8YdY51OaISUYWwcVSeXhBSanbzPGOwZDrB7Nbh8oxSfmj8DmwDRCEebSgz6EIsy3hFwAlpe_W_6hVheZ1FelupPx4NUJL55iP2NZutlYu-8Nca51NaunSPiYRzKSfn57HcoHCoH2jYQ",
59
+ q: "zPkcXiIT9dS9qNwhEVy1ZZ2iZDuzwH1s9Ker2dQ0zUXoKYbpRltv5EjkUnzUuijGNUgQm9rulY-YqlVoJDjCjoQ8qR1kp2UFfNd3eiWLzQ-oW26cTiLfRthGrxIuxgOPFPop_uYynQQ0LpNXDlF381kDvRir21YF-dc4Jk0GwT-EXIo7x7zLftUe0pZKr9IPAHt-6c7ukqHvaEfTuZUbTmyJraCOJ81Nh101VlJ84jYKtVgZXGq3yAVencVl7I8rFJzvJSyow3e9nCja29hirR1E9dPp01Xh2QIm8nmrYJ4kRF-OjZQ4HeC62uo3mkiAmCubjOA261I9DxibCvvyRw",
60
+ dp: "tCF1RmeiblKmorcEofrR8TO6XG-f6meK5LsZrMRUj8xBdfbJbeXw9KvPKUn-9RNGscqwhUOe48GHXWh_H0TePjuETQIqjL27ACC3ay4tIfeqTgJfSku92p-_iBhgKKEyRTDPgNVeV28HdwQHZGEOJG3xfRfuBDvVR11aDYksr4X32kyo1k5pVRYEf8FIw-pSnxXlJgyBvYkTa4NSL6zgjSYMq31Kgxs37Eb2TFf0RUlrg4HdXQVORjQCbjoNo7vEbhxNjZl4hAXKFWgmZdwLQMawGQHq_6vHsNEnq7Zp8ShMvN3JgXelEUKknLSyZhNJbP80IjEgN_QmgXFlPbdlgQ",
61
+ dq: "ZoQpZgNRTGCswynl-BMQPtSKhes-SgXxWqQJ1ZbHGeve4_Yv8hqFaf3zBDafBsSh7cAvXmQvc-owBvFUdtlUpYcJ9-NVlkt2ZSw2-4aP123_XEuELahPV9WP9Lv5XNwm0e0U2AI2SkXx-2GB5w1kGvfoYMlYGwl5T64OzUk1Ga40-zvADnQkqzjYg6bbj_hVvH4HydTPidMoNFXIVUd4Ms8iRQ7KSqnqHsvFg3kaMOGqlWyMsqZFaOsWmX5DLf-lIlgjW8psVecrlFDytYYSRFchSHpGtoZ7wNfMtvWXe2lc5j2MxM7fCkJ98kO2r5mXh4Q39kul7ChjlYtO8D12vQ",
62
+ qi: "yIOFjrcvdERR93nm88D4k8gvwYo5qpyJp5wyFbqXNF6hR7ybp2Y_ebyxsf5CSWmxPWuqU5fF4c461tH7zMuk45cW809HukWfHZuMQBHIBNkKy5hbnYqBgnCCpnbqA_azyrL7Z562IKmoYeSLa2S-SykZlAN4sOnMNGCvDJvHsxd_9LVpM6qlkq85KqtuOdRh24xPdvYdXPjKu_qSV_LY-8PC4CzlVEgUeRLDH7tRukY5xMXJbr_ATSy-J2SJCItNHTPNcuJ6vWekCM1EfbXcL3NhY4AVjVUGVkiHfLjCcrr9i20Yokxbjsg7Iloj4HifO3pV3f6Hb40PTJAbFtlNhw",
63
+ },
64
+ addr: "oepP6rUoOskYDLycGPR9fuk7eJdYUgCqp6_WiLMpO2I",
65
+ }
66
+
67
+ let cu = {
68
+ jwk: {
69
+ kty: "RSA",
70
+ n: "rRdhSHGUHJ3ntvZqLgclHNvemDl_VUJTBD8qGMZFV0ZSNh03dg1N1kJZkqCOzSg9WXKejOteEq8_gxmd9DYMTf171HGu6mKvc1Wtqc5gvMmHKfzs_vBUC_KTqKkGzOlIlNYQKWIRzrCTaLmdhlJVaaeNdONeAR0xD06nsoQMJlonUsbGbLqG3lMKVho0tTL6WksmHqeb6jJDGbmxF-N1LwEnv_nQK_eCKmk-ijmTweikCDjZBSwhxcNE8IwraVBNk4udQaPTFXfrExs6gTUWJaOqmSPzZIk7R2d5s63krrCoekjuUeBie-ZXykgdoyRvAi6wk-XzTyOIVcfDnlAWNykbw4UBN5T4E4J5t5GnoYkAMkPGg2cLU9CqAlBjiZFBIOIa4FbIZrqvlhD0KLSUCQ_j2qhC30CJjX1mSUY-ObfBhXerg2GqlKTkHkm43itFuow2G47Im9PAOkrbei2yU3OB27Kph8dEN5eq-87SQmt9_an4iyXssrtBqZ2ErWYh04WVh4_svA6MEF1591aS5RMpKFadHUZ14IOhBf39GozpRVqB0p-z3_Irw_p7JVzQcb_6yIZ9Byf_ELOPad8xpXocsjN67FpNGKngCmX9YI0W03yugEfNI2CDOmZFz1iYgBHloK6PSps1nlOxVrt8MNHZPWwX-3YhckGvSr5hhmk",
71
+ e: "AQAB",
72
+ d: "Vna65GbEH2VrpfRCxxpPmjJk57K1HkBi2ti4rSaB5d5dW-XNWh28N57uQrYMj4Qd3UxJ0kgSto-vUMxfoGnNTLomfNGLGE9SqHDwrsXGghfDeqB7PMCNo2g6BYLlwD96P8sMyLdSAOcow6QRAdOoEf6eRXj8cN8FrklSsPSQYyoewZVE8nRcwbtGiwtNMAS2lZs7gA2m717LMRMW2UGIvIG9uwLNz-C0N35aPM8VNcSCCA9prVFFz5XDHsxONS3liqIv3GW7IFrGZUVxPLDpjsTKh_Qy9ZItt_YDD9P6S584kdlTnzfQymaejQ_oKiIdh8AN-dtg5rPvuzXuTGtiJLjGI8Y0LiFmpf8nKg6BnRESL-MhHCLvLkKzTT7-j9m21VvcbhdGUe4TE0ofLzXUYyETAsk4M4CwJTNKSBdS7L3exvLodXHCQM_OjWAzeaiUiIGWMVzmrtKh67wAFWQAvogmOhOkxPgeES25R60iix-DjtGFgMgNp2H_HbKQMtEynPpzwcvOrOzFhfAtfGFanKXryuKe4CpFcnbvy97B7fRipVS1bBBogfI_2mhx5EoQEtuSBHsqRlEn-kLLPxceVm_KGJ8QLFwFhhcf_5WuIDSqvM9O86YVkrN2eIjzoFb-z_M9o-5v4iSXvYykymGCgYSRYK5BRqvU29vRZCaI-D8",
73
+ p: "74nngtXGwzoomqFmwlL9d8raOS56N2shhJXU1_4qRgsHafJSI4A0NDwBDLa8xq0yze5QTrj4t_zVAKFub49pX0Kxm7_dqDwNIRZnsnPF8sOUjS0YUz0_oQXZItpevhFNxPKzyZmTV61KevZsH9tA-NwsX7yVRJ49MrWUolsrtHQmbU0fmEyXWODBMVD9euNJVEnPEwlZFOKqq03pUp1c1IbLk-kBGaUv7EEOO5r5yGj1ph7nslmPiY0h0gJE2hL5pHR0E_LFuZrqIV2n831WNEXs1iJ6ViZl1oYVDxp_xSXstrhyVJ5lQ7Lf2m6ox4Pxy1bXr_LK97JOOZKvxc859w",
74
+ q: "uPx_UmWmBUGifv0CIj4OijWrM8baz3yncDqqv6e8atlFNDDIQbTP_y9XBxMmMUGw_Sfdnut1VcxU3ikY9kZPUCjNuRaIPPh6PoV6A1QkFjmYiRaCjLGa3Qd4ystC0tdkkWGvn6jFn6lO5my1wzVjy_O9JUaCycT65waYyTXP3YNCosjwGO8jEWJEWS3a56F4X2C2efY0E_DstCD3G1DQvUlxYOMTrCiffnbV0ewb9MW4twOTL0WrzgSuA407RbEzo8NJvvuOSAFIKFFJVChjsITplyfVJ_Q8bydoak6MY7HkjWr4uwJlWg-Vv8nOGgeKnV-N73WAx1l0e-2z26Yqnw",
75
+ dp: "pGNPrkpnjbNsCjKaAuJRcNSVzohG96Fd70-kMlcLS-ZlwB-8nwBs0ywazE7cXryeERVrp5rpldq9kyE2WPlipy1uFiUmST5tBDgMEjvBrUjrubco6ncuI6OP0ItsWaQmavLkz4XFyHX0l05mBbbCcAcprMoO5nhyJ0rWJlXLOJw9guVauXpWo3gbHW0niB5TRLUilz3jFKI53jYp2biE7JVVQLy3NJJYwRokWmOQ6Cif7NFo0M0F5LAmdal49u_uwx3oS4hgiW_3Hc7YZBGwB0-1qX8f1d-kJAUAjszwwqu0N_F9BPVvKXaoiY9H5SR328RNYUKOaE7FwF0ao_YDIQ",
76
+ dq: "Q-sA3EHR6NAmVzWRmPzr3bbCuunh4JhF6aDAnEl7lkdbb0QR4n3-eBTrgP944FDcKLaAWh7dH7k7162DKri52haBIdmx_6DDUT00hRBZh4dyB7MqD3oN_-UEZoCmcj7-_5m8H4SZunsxKszzF0786x78bTksP-SAsl3rrsSBIzVUO-xGqwDyASnxKkT5wF26klox5SmOCVxFrAUGdRMA8N6MMCRvTqBDnu0GqGJmCUKnBRrc6VhNMgDp2wf5oSbkbNYAt4wouystURA3OhzyLRc_pG3NhzPXFICFh7J7PQdNgNarqA3DJIPgWWBAubHXJNy2ghrEQ20GpZGqnZSuxQ",
77
+ qi: "wA1-0QVgEN44olq30xj7JwhMGxXOCVR86e-ArYvxdVBg4gKW-WkNVw-COO1xdRH0OBMkpg99ugPj0BtNEr2ftFN3h1vsk1GJHhlnIm5YCjKw75f8rMGPSNSNGuoGj2wscfl0KfX82mdS4IRyY6A5sIc-tcn5zteeEkimdZgn2Uv5nhZYXSVqjysAIPBlNsakzJFhpSEz10cTWodEkn08Mp2wF6ZTLRXQzkYry5rGyARjfunQat63epWD-T-nVHETsahUIBMLnCAb9mmJCF0vzkntLVaLns2J-y4hl666sGz-EVqvon1K_bVav4_lE4idbDNsD7Bd9VhzGOJfqIBf0A",
78
+ },
79
+ addr: "wPQsT8DLcE1b33x0qa279O_N-6XdFMC37VLEmgyZz2s",
80
+ }
81
+
82
+ let mu = {
83
+ jwk: {
84
+ kty: "RSA",
85
+ n: "qNP1LCo1OihKjVZ8aqZzO54Kmx5OluCDr6VuAPOws5_RReB92dP-SGan17Y0nYr5c3IzX5tkT9KKtbAC3dEqSbyqqTe_lkfIM5cXYCVHSUVOBt8J51xLoOCNXQUjxF_14hOeo_5Qvkmvjck-ZM6ezGnG1Dw8WzDKMBm1oL9GYBfjz0ymvUYsxjt_emyOoaFz6FZ8Q12hiIXBSnalJWYgAmp9_jxcwL5SDcWXJF6m_8b3WonvZn0QiRLJTwnQQ0E3PUIeS5QbIIMHalzdCSrMwMkfAzojRoZJZhLZDNUgRAYNPLDprF2aam7K9QROGepqO7jds85hTq23AXxOs_zXNkhmhwKcnTGcwu6sVgBG8qbP5fvrXrsulf75tncLjj3X33HTRpVCMJ3qvyl1fDpBHblh3nIa6lQc7ZrsHEN-BsHpK9c7Bsf4vPnBDTDgYNZ0z8abd8jXdFeyrvipJLH_PZFMLkZO1hXpGqNFu6YS2AwZY6mGG8GOdxNrDl6IeD69MVfTatvU9x_NlfiykeHsHjYeS2wCScEpUNYmJls3CxDhDhy4KnjnwJNSFSmojMQs0LoR5dLu3283D08z7TP0UetG0-FzetquqhTJ7TpEb7g7HujPEcr2u7Vyd3Q3-3IaOxr5B9zK0mMcjAsxMl--tZUKJj9ry4UR-C4onQZDa2c",
86
+ e: "AQAB",
87
+ d: "Ao7bmyS0k8IChyu1TORiwJd_b6RA6pZSSHoINal7lu0n_ZgOMBu_MZekmWcgWva9GtuzHZK8LV1yTphxIq1Fp8JdD51RoNRLm0SBzSojb1_Gc-IzQzcpyjE80xj91r7heeB0OeXjkU6Kg2p2MI7U5yH_Kj4TaApQNfRdxSbAyTnzcLOnnxyOFx7VqqQ0cQyCNhYBYf_sL6ZfLGKp0-w9NewpJo4BlcYMdjr1NE7e1udL3ipS30mr03feZv0uE6bMUHhM_zYqRw7VMO5hRv9IBO_HMYRS_oGQYSSN91zPVViGINJJaBwu98ff-WBsUoYzv93oNg49eTS2niYlByMgm6KmTQ2apZTG0Ho0PCaifhjS26KWbwXiJt-ojVSPk-BnH4f49lRd7qgw-I1gM7ug9S1eCZHflLJT0_J13T6aVovpKeesm6PUs2zGKfv3kb3VgjwSZpkT67T9yQfphOILl3qhfhV5_Nfmst_wuTYQ7hIMwprnaPwcUgoOhF2Ye89VSMR8ERCRzrhgKDajIkaBnf_Z0u8BfCp5FAD54DoZGb0BHddwK9VYQfccEjkaKdf4QOiIZJgm6PWiK9EiYjJu_no3mxhGqwHOPFyX82h0RFQryKIcgaXXsD7LiNcZ18algCAI0uTtZp6-OOHKVRAsgnlqZ7fb4iwlMZyvb14Fcgk",
88
+ p: "0imAhWkgoMWN14UM15lWaqMrsudyfasZfA3kGdnx8Fv9bZpFIEfnS0p1mzINcUozyNmYIQUgG_w5DMBCGwBVMrF0aEDmOtxwMn1qmgETfr2BlXY1bNgBsM9lFOsmJo7YPN8SuD5RCVrwenr1YE6K9nQcnSGatX3qhFidqO4DyZx26OKgAIOlT1-qsparDKAFmwTeEi6rJWmSkXBTiGvoLrAgn8e6i4axCLLspl68vdZu2VUK9c_gxbYjgh0gFpJ2Hth1R6p3nroaZtQZ251i2_RWzUNdfOLSRbXl0mZ0AKMy7KL6YIs-5-fDcewhkAh3lkdJLaD-6ZtYjc2PV5t0aw",
89
+ q: "zaaLSG2z4nZ3FWxJMUcSvmCvmbDAlu0_t-tPHMQwSZ3uG9BCVr8-NI8UncuGi_HOyUpq8rCVZJe9gRJn1I3lkmLRQXig0yVB1ACrECfSAg90-IXDZWckC04DlkJNB5QYclbAjtHKbVmhW67kfWqMxHsWJvFLSh3qj3G4F5ujrtoQV4XrbxKZLclJrvIo7IcAxGTC_GS4JFKRp3r94i1m6rxwkU1vR1RZLc16MTTxw0h-CJ6otYwEc5a351VcwlP1yEjoTIFFHC7ILsgxnzAAHXjYoldum5ccnWy-U4cOJh1f9FfgLQa3y2yQ6OBNQ9WG-R7dhFwxZsbdA9srNk9D9Q",
90
+ dp: "VU53Vq_niJroCnV9Uv5w73QwRrxf4tbSz2IsFro61J_ibNzT9lh5cDxXJJnajwPZpUt9ztlvwSxOU_iuXJtz-dHCOJcvXPEhsbzqynxpV2bA9NQ4t2euuABXPXh90eTlrT-3L4ZMCooZVv4WH_OBwKw8-SMs00K7MOFvjaSfcPTL55gl7k-BiIiCl19FKyjBXb1KDwNWgScrUVHQ9m0mn9zqQTEnbX9M2QUXvihyYHRsJle4zTKGQHrASw5beg4VWEvwvxhY2dsc4GRz4osuF65Elakkh47iX12IXjEsIR4di6RUEWA0NpoC4XlB3l8xe5SQBa92CYj_FwA7kQoO5Q",
91
+ dq: "Hx2f3Wmb2hwKkJc9y9LxJxUB_MMdoLhs96sG4Vdd5wWaTWMJZo6xHsq3V9i_ltUTcKlt3SKSuBGtfqYGR8bggXGqL7nMu6Xbe_RN7bfYsq8cB65VjjY44ez_5fBKL2dc-4_cur9LXZg-Ld0cfU1t1xy4kVPZDHHSV7nhHNFTxtT_u_5rTPcHbkISgAHr5z3WA-ErD309z2Ee4LRfTaWI-ONiNNn-iFBe3etFHcTg_6csSqmW5UE2OzcGxF3KFy0U9yTw4QJ-LnF1oH5x46AjpFHwlT-dYLVQgxE9Cu5YWbQAHLxfEvD9Ri47DsFBb44TSgY9hhVc9CwKrNawhxsfMQ",
92
+ qi: "0Fg91oiiD94elAhcMshiMnzy8Q5tq-WoAQOpPBnYR7HyE4DsjWAWjP9EdopOpsKMM6QbC-bxJKUy0OTvluWUi8m7iR7SPHbgnglyjS8KyIZkckmQdnvOZNZuRrbXDBEzhQrTfdxi24d9QodVYAa-48Gm_PBV-mzBM8doxO5UXKP3cNfxNnJpo2dxbynTNgGQolxvd30jeMzgktpsShGGsiDeCkHJdfIJiI2SX90AnlJhRZlaCZpwUoiSODRqdIpdbgogJUh8-8w_CpfUmoe5MAcgOQxh3pdKSqJpoMAC32NeCFJ8iix31BsbtvxaZMo3OSTYeOgjStb9wX9NDQgJeg",
93
+ },
94
+ addr: "eNaLJLsMiWCSWvQKNbk_YT-9ydeWl9lrWwXxLVp9kcg",
95
+ }
96
+
97
+ try {
98
+ const __fn = fileURLToPath(import.meta.url)
99
+ const __dir = pathDirname(__fn)
100
+ const walletsDir = resolve(__dir, "../devnet/.wallets")
101
+ const tryLoadJWK = name => {
102
+ try {
103
+ return JSON.parse(readFileSync(resolve(walletsDir, `${name}.json`), "utf-8"))
104
+ } catch {
105
+ return null
106
+ }
107
+ }
108
+ for (let i = 0; i < 3; i++) {
109
+ const jwk = tryLoadJWK(`acc${i}`)
110
+ if (jwk) acc[i] = { jwk, addr: toAddr(jwk.n) }
111
+ }
112
+ const suJwk = tryLoadJWK("su")
113
+ if (suJwk) su = { jwk: suJwk, addr: toAddr(suJwk.n) }
114
+ const cuJwk = tryLoadJWK("cu")
115
+ if (cuJwk) cu = { jwk: cuJwk, addr: toAddr(cuJwk.n) }
116
+ const muJwk = tryLoadJWK("mu")
117
+ if (muJwk) mu = { jwk: muJwk, addr: toAddr(muJwk.n) }
118
+ } catch {}
119
+
120
+ for (const v of acc) v.signer = createDataItemSigner(v.jwk)
121
+ mu.signer = createDataItemSigner(mu.jwk)
122
+ su.signer = createDataItemSigner(su.jwk)
123
+ cu.signer = createDataItemSigner(cu.jwk)
124
+ export { acc, mu, su, cu }