@maci-protocol/website 0.0.0-ci.26f28d6

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 (406) hide show
  1. package/.eslintrc.js +157 -0
  2. package/CHANGELOG.md +566 -0
  3. package/LICENSE +22 -0
  4. package/README.md +58 -0
  5. package/babel.config.js +3 -0
  6. package/blog/2021-10-12-maci-v1.md +100 -0
  7. package/blog/2022-09-22-maci-v1-technical-introduction.md +180 -0
  8. package/blog/2023-01-18-maci-v1.1.1.md +121 -0
  9. package/blog/2024-01-18-roadmap.md +106 -0
  10. package/blog/2024-02-28-maci-v1.2.0.md +121 -0
  11. package/blog/2024-04-10-roadmap-q2.md +96 -0
  12. package/blog/2024-05-08-ethdam.md +169 -0
  13. package/blog/2024-05-22-the-origins-of-maci.md +38 -0
  14. package/blog/2024-05-28-upcoming-grants.md +85 -0
  15. package/blog/2024-06-17-understanding-maci.md +63 -0
  16. package/blog/2024-06-21-deciphering-maci.md +48 -0
  17. package/blog/2024-06-28-revolusioning-public-goods-funding.md +32 -0
  18. package/blog/2024-07-23-q2-review.md +72 -0
  19. package/blog/2024-07-30-roadmap-q3.md +61 -0
  20. package/blog/2024-08-10-maci-v2.md +102 -0
  21. package/blog/2024-08-29-anonymous-poll-joining.md +47 -0
  22. package/blog/2024-10-29-q3-review.md +63 -0
  23. package/blog/2024-11-20-maci-platform.md +93 -0
  24. package/blog/2024-12-01-maci-getting-started.md +294 -0
  25. package/blog/2025-03-21-roadmap-2025.md +112 -0
  26. package/blog/assets/MACI_Bob_SignUp_1.png +0 -0
  27. package/blog/assets/MACI_Bob_SignUp_2.png +0 -0
  28. package/blog/assets/MACI_Complex_Message.png +0 -0
  29. package/blog/assets/MACI_Contracts.png +0 -0
  30. package/blog/assets/MACI_Sign_Up.png +0 -0
  31. package/blog/assets/MACI_Simple_Message.png +0 -0
  32. package/blog/assets/MACI_Verifier_1.png +0 -0
  33. package/blog/authors.yml +5 -0
  34. package/docusaurus.config.ts +213 -0
  35. package/package.json +65 -0
  36. package/src/components/ActionCard/index.tsx +30 -0
  37. package/src/components/ActionCard/styles.module.css +96 -0
  38. package/src/components/HomepageFeatures/index.tsx +91 -0
  39. package/src/components/HomepageFeatures/styles.module.css +17 -0
  40. package/src/components/ProjectCard/index.tsx +74 -0
  41. package/src/components/ProjectCard/styles.module.css +77 -0
  42. package/src/components/ProjectList/index.tsx +218 -0
  43. package/src/components/ProjectList/styles.module.css +180 -0
  44. package/src/content/projects.json +294 -0
  45. package/src/css/card.module.css +130 -0
  46. package/src/css/custom.css +91 -0
  47. package/src/icons/IconDiscord.tsx +16 -0
  48. package/src/icons/IconGithub.tsx +16 -0
  49. package/src/icons/IconWebsite.tsx +16 -0
  50. package/src/pages/blogs.tsx +58 -0
  51. package/src/pages/index.module.css +152 -0
  52. package/src/pages/index.tsx +66 -0
  53. package/src/pages/projects.tsx +44 -0
  54. package/src/pages/roadmap.md +150 -0
  55. package/src/pages/typedoc.tsx +11 -0
  56. package/src/plugins/blog-plugin/index.ts +86 -0
  57. package/src/react-app-env.d.ts +1 -0
  58. package/src/scripts/setupSolidityDocs.ts +67 -0
  59. package/src/scripts/setupTypedoc.ts +112 -0
  60. package/src/scripts/utils.ts +115 -0
  61. package/src/utils/getProjectsByFilter.ts +40 -0
  62. package/static/.nojekyll +0 -0
  63. package/static/audit_reports/20210922_Hashcloak_audit_report.pdf +0 -0
  64. package/static/audit_reports/202220930_Hashcloak_audit_report.pdf +0 -0
  65. package/static/audit_reports/20240223_PSE_Audit_audit_report.pdf +0 -0
  66. package/static/audit_reports/20240731_PSE_Audit_audit_report.pdf +0 -0
  67. package/static/fonts/DM_Sans.woff2 +0 -0
  68. package/static/fonts/Share_Tech_Mono.woff2 +0 -0
  69. package/static/img/box.png +0 -0
  70. package/static/img/box_dark.png +0 -0
  71. package/static/img/chain.png +0 -0
  72. package/static/img/chain_dark.png +0 -0
  73. package/static/img/chart.png +0 -0
  74. package/static/img/chart_dark.png +0 -0
  75. package/static/img/circuits/MACI-Circuits.excalidraw +39652 -0
  76. package/static/img/circuits/calculateTotal.svg +21 -0
  77. package/static/img/circuits/ecdh.svg +21 -0
  78. package/static/img/circuits/messageToCommand.svg +21 -0
  79. package/static/img/circuits/messageValidator.svg +21 -0
  80. package/static/img/circuits/poseidonHasher13.svg +21 -0
  81. package/static/img/circuits/privToPubkey.svg +21 -0
  82. package/static/img/circuits/processMessages.svg +21 -0
  83. package/static/img/circuits/processMessagesInputHasher.svg +21 -0
  84. package/static/img/circuits/processMessages_2_0.svg +21 -0
  85. package/static/img/circuits/processOne.svg +21 -0
  86. package/static/img/circuits/processTopup.svg +21 -0
  87. package/static/img/circuits/processingAfterPollEnds.svg +21 -0
  88. package/static/img/circuits/quinBatchLeavesExists.svg +21 -0
  89. package/static/img/circuits/quinCheckRoot.svg +21 -0
  90. package/static/img/circuits/quinGeneratePathIndices.svg +21 -0
  91. package/static/img/circuits/quinSelector.svg +21 -0
  92. package/static/img/circuits/resultsCommitmentVerifier.svg +21 -0
  93. package/static/img/circuits/splicer.svg +21 -0
  94. package/static/img/circuits/tallyInputHasher.svg +21 -0
  95. package/static/img/circuits/tallyVotes.svg +21 -0
  96. package/static/img/circuits/unpackElement.svg +21 -0
  97. package/static/img/circuits/verifySignature.svg +21 -0
  98. package/static/img/completingAPoll.svg +4 -0
  99. package/static/img/contracts.svg +16 -0
  100. package/static/img/coordinatorComponents.svg +21 -0
  101. package/static/img/favicon.ico +0 -0
  102. package/static/img/generateProofs.svg +4 -0
  103. package/static/img/hero.svg +9 -0
  104. package/static/img/maci-card.png +0 -0
  105. package/static/img/maci-rpgf-design.jpg +0 -0
  106. package/static/img/messageProcessingLocal.svg +21 -0
  107. package/static/img/offlineProcessing.svg +21 -0
  108. package/static/img/pse-logo-round.png +0 -0
  109. package/static/img/tallyCommitments.svg +4 -0
  110. package/static/img/voteTallyingLocal.svg +21 -0
  111. package/tsconfig.json +34 -0
  112. package/versioned_docs/version-v0.x/circuits.md +22 -0
  113. package/versioned_docs/version-v0.x/contract.md +186 -0
  114. package/versioned_docs/version-v0.x/faq.md +67 -0
  115. package/versioned_docs/version-v0.x/introduction.md +119 -0
  116. package/versioned_docs/version-v0.x/quadratic-vote-tallying-circuit.md +138 -0
  117. package/versioned_docs/version-v0.x/state-root-transition-circuit.md +230 -0
  118. package/versioned_docs/version-v1.2/audit.md +160 -0
  119. package/versioned_docs/version-v1.2/ci-pipeline.md +38 -0
  120. package/versioned_docs/version-v1.2/circuits.md +508 -0
  121. package/versioned_docs/version-v1.2/cli.md +689 -0
  122. package/versioned_docs/version-v1.2/contracts.md +445 -0
  123. package/versioned_docs/version-v1.2/contributing/code-of-conduct.md +91 -0
  124. package/versioned_docs/version-v1.2/contributing/contributing.md +129 -0
  125. package/versioned_docs/version-v1.2/coordinator-processing.md +46 -0
  126. package/versioned_docs/version-v1.2/deployment.md +122 -0
  127. package/versioned_docs/version-v1.2/installation.md +175 -0
  128. package/versioned_docs/version-v1.2/integrating.md +200 -0
  129. package/versioned_docs/version-v1.2/introduction.md +94 -0
  130. package/versioned_docs/version-v1.2/key-change.md +182 -0
  131. package/versioned_docs/version-v1.2/overview.md +47 -0
  132. package/versioned_docs/version-v1.2/poll-types.md +68 -0
  133. package/versioned_docs/version-v1.2/primitives.md +216 -0
  134. package/versioned_docs/version-v1.2/project-ideas.md +14 -0
  135. package/versioned_docs/version-v1.2/purpose.md +62 -0
  136. package/versioned_docs/version-v1.2/solidity-docs/MACI.md +345 -0
  137. package/versioned_docs/version-v1.2/solidity-docs/MessageProcessor.md +266 -0
  138. package/versioned_docs/version-v1.2/solidity-docs/MessageProcessorFactory.md +26 -0
  139. package/versioned_docs/version-v1.2/solidity-docs/Poll.md +381 -0
  140. package/versioned_docs/version-v1.2/solidity-docs/PollFactory.md +50 -0
  141. package/versioned_docs/version-v1.2/solidity-docs/SignUpToken.md +27 -0
  142. package/versioned_docs/version-v1.2/solidity-docs/Subsidy.md +218 -0
  143. package/versioned_docs/version-v1.2/solidity-docs/SubsidyFactory.md +27 -0
  144. package/versioned_docs/version-v1.2/solidity-docs/Tally.md +311 -0
  145. package/versioned_docs/version-v1.2/solidity-docs/TallyFactory.md +27 -0
  146. package/versioned_docs/version-v1.2/solidity-docs/TallyNonQv.md +296 -0
  147. package/versioned_docs/version-v1.2/solidity-docs/TallyNonQvFactory.md +27 -0
  148. package/versioned_docs/version-v1.2/solidity-docs/TopupCredit.md +61 -0
  149. package/versioned_docs/version-v1.2/solidity-docs/VkRegistry.md +457 -0
  150. package/versioned_docs/version-v1.2/solidity-docs/benchmarks/HasherBenchmarks.md +44 -0
  151. package/versioned_docs/version-v1.2/solidity-docs/crypto/Hasher.md +125 -0
  152. package/versioned_docs/version-v1.2/solidity-docs/crypto/IVerifier.md +11 -0
  153. package/versioned_docs/version-v1.2/solidity-docs/crypto/MockVerifier.md +17 -0
  154. package/versioned_docs/version-v1.2/solidity-docs/crypto/Pairing.md +85 -0
  155. package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT3.md +9 -0
  156. package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT4.md +9 -0
  157. package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT5.md +9 -0
  158. package/versioned_docs/version-v1.2/solidity-docs/crypto/PoseidonT6.md +9 -0
  159. package/versioned_docs/version-v1.2/solidity-docs/crypto/SnarkCommon.md +16 -0
  160. package/versioned_docs/version-v1.2/solidity-docs/crypto/SnarkConstants.md +40 -0
  161. package/versioned_docs/version-v1.2/solidity-docs/crypto/Verifier.md +61 -0
  162. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/EASGatekeeper.md +121 -0
  163. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/FreeForAllSignUpGatekeeper.md +40 -0
  164. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/SignUpGatekeeper.md +26 -0
  165. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/SignUpTokenGatekeeper.md +93 -0
  166. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/hatsGatekeepers/HatsGatekeeperBase.md +79 -0
  167. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/hatsGatekeepers/HatsGatekeeperMultiple.md +48 -0
  168. package/versioned_docs/version-v1.2/solidity-docs/gatekeepers/hatsGatekeepers/HatsGatekeeperSingle.md +42 -0
  169. package/versioned_docs/version-v1.2/solidity-docs/index.md +4 -0
  170. package/versioned_docs/version-v1.2/solidity-docs/initialVoiceCreditProxy/ConstantInitialVoiceCreditProxy.md +40 -0
  171. package/versioned_docs/version-v1.2/solidity-docs/initialVoiceCreditProxy/InitialVoiceCreditProxy.md +26 -0
  172. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IEAS.md +40 -0
  173. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IHats.md +103 -0
  174. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IMPFactory.md +26 -0
  175. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IMessageProcessor.md +31 -0
  176. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IPoll.md +217 -0
  177. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IPollFactory.md +29 -0
  178. package/versioned_docs/version-v1.2/solidity-docs/interfaces/ITallyFactory.md +28 -0
  179. package/versioned_docs/version-v1.2/solidity-docs/interfaces/ITallySubsidyFactory.md +27 -0
  180. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IVerifier.md +25 -0
  181. package/versioned_docs/version-v1.2/solidity-docs/interfaces/IVkRegistry.md +70 -0
  182. package/versioned_docs/version-v1.2/solidity-docs/mocks/MockHatsProtocol.md +133 -0
  183. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueue.md +464 -0
  184. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueBinary.md +60 -0
  185. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueBinary0.md +40 -0
  186. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueBinaryMaci.md +34 -0
  187. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinary.md +75 -0
  188. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinary0.md +40 -0
  189. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinaryBlankSl.md +40 -0
  190. package/versioned_docs/version-v1.2/solidity-docs/trees/AccQueueQuinaryMaci.md +40 -0
  191. package/versioned_docs/version-v1.2/solidity-docs/trees/EmptyBallotRoots.md +13 -0
  192. package/versioned_docs/version-v1.2/solidity-docs/utilities/CommonUtilities.md +25 -0
  193. package/versioned_docs/version-v1.2/solidity-docs/utilities/DomainObjs.md +40 -0
  194. package/versioned_docs/version-v1.2/solidity-docs/utilities/Params.md +36 -0
  195. package/versioned_docs/version-v1.2/solidity-docs/utilities/Utilities.md +79 -0
  196. package/versioned_docs/version-v1.2/spec.md +944 -0
  197. package/versioned_docs/version-v1.2/testing-in-detail.md +209 -0
  198. package/versioned_docs/version-v1.2/testing.md +472 -0
  199. package/versioned_docs/version-v1.2/topup.md +43 -0
  200. package/versioned_docs/version-v1.2/troubleshooting.md +51 -0
  201. package/versioned_docs/version-v1.2/trusted-setup.md +76 -0
  202. package/versioned_docs/version-v1.2/typedoc/cli/.nojekyll +1 -0
  203. package/versioned_docs/version-v1.2/typedoc/cli/index.md +15 -0
  204. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/AirdropArgs.md +89 -0
  205. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/DeployArgs.md +154 -0
  206. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/DeployPollArgs.md +154 -0
  207. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/DeployedContracts.md +130 -0
  208. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/GenLocalStateArgs.md +168 -0
  209. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/GenProofsArgs.md +388 -0
  210. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/IGenKeypairArgs.md +37 -0
  211. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/IRegisteredUserArgs.md +63 -0
  212. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/MergeMessagesArgs.md +76 -0
  213. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/MergeSignupsArgs.md +76 -0
  214. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/PollContracts.md +53 -0
  215. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/ProveOnChainArgs.md +128 -0
  216. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/PublishArgs.md +154 -0
  217. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/SignupArgs.md +89 -0
  218. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/SubsidyData.md +73 -0
  219. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/TallyData.md +166 -0
  220. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/TopupArgs.md +89 -0
  221. package/versioned_docs/version-v1.2/typedoc/cli/interfaces/VerifyArgs.md +128 -0
  222. package/versioned_docs/version-v1.2/typedoc/cli/modules.md +556 -0
  223. package/versioned_docs/version-v1.2/typedoc/core/.nojekyll +1 -0
  224. package/versioned_docs/version-v1.2/typedoc/core/classes/MaciState.md +295 -0
  225. package/versioned_docs/version-v1.2/typedoc/core/classes/Poll.md +1098 -0
  226. package/versioned_docs/version-v1.2/typedoc/core/index.md +110 -0
  227. package/versioned_docs/version-v1.2/typedoc/core/interfaces/BatchSizes.md +50 -0
  228. package/versioned_docs/version-v1.2/typedoc/core/interfaces/IJsonMaciState.md +77 -0
  229. package/versioned_docs/version-v1.2/typedoc/core/interfaces/IProcessMessagesCircuitInputs.md +242 -0
  230. package/versioned_docs/version-v1.2/typedoc/core/interfaces/ISubsidyCircuitInputs.md +198 -0
  231. package/versioned_docs/version-v1.2/typedoc/core/interfaces/ITallyCircuitInputs.md +231 -0
  232. package/versioned_docs/version-v1.2/typedoc/core/interfaces/MaxValues.md +37 -0
  233. package/versioned_docs/version-v1.2/typedoc/core/interfaces/TreeDepths.md +63 -0
  234. package/versioned_docs/version-v1.2/typedoc/core/modules.md +289 -0
  235. package/versioned_docs/version-v1.2/typedoc/crypto/.nojekyll +1 -0
  236. package/versioned_docs/version-v1.2/typedoc/crypto/classes/AccQueue.md +770 -0
  237. package/versioned_docs/version-v1.2/typedoc/crypto/classes/G1Point.md +115 -0
  238. package/versioned_docs/version-v1.2/typedoc/crypto/classes/G2Point.md +140 -0
  239. package/versioned_docs/version-v1.2/typedoc/crypto/classes/IncrementalQuinTree.md +470 -0
  240. package/versioned_docs/version-v1.2/typedoc/crypto/index.md +44 -0
  241. package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/Keypair.md +33 -0
  242. package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/PoseidonFuncs.md +115 -0
  243. package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/Queue.md +33 -0
  244. package/versioned_docs/version-v1.2/typedoc/crypto/interfaces/Signature.md +37 -0
  245. package/versioned_docs/version-v1.2/typedoc/crypto/modules.md +913 -0
  246. package/versioned_docs/version-v1.2/typedoc/domainobjs/.nojekyll +1 -0
  247. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/Ballot.md +274 -0
  248. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/Keypair.md +181 -0
  249. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/Message.md +244 -0
  250. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/PCommand.md +409 -0
  251. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/PrivKey.md +206 -0
  252. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/PubKey.md +289 -0
  253. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/StateLeaf.md +340 -0
  254. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/TCommand.md +200 -0
  255. package/versioned_docs/version-v1.2/typedoc/domainobjs/classes/VerifyingKey.md +240 -0
  256. package/versioned_docs/version-v1.2/typedoc/domainobjs/index.md +81 -0
  257. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/ICommand.md +104 -0
  258. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IG1ContractParams.md +31 -0
  259. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IG2ContractParams.md +31 -0
  260. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonBallot.md +42 -0
  261. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonCommand.md +32 -0
  262. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonKeyPair.md +31 -0
  263. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonPCommand.md +111 -0
  264. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonStateLeaf.md +42 -0
  265. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IJsonTCommand.md +67 -0
  266. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IMessageContractParams.md +31 -0
  267. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IStateLeaf.md +39 -0
  268. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IStateLeafContractParams.md +42 -0
  269. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IVkContractParams.md +64 -0
  270. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/IVkObjectParams.md +108 -0
  271. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/Proof.md +46 -0
  272. package/versioned_docs/version-v1.2/typedoc/domainobjs/interfaces/VoteOptionTreeLeaf.md +24 -0
  273. package/versioned_docs/version-v1.2/typedoc/domainobjs/modules.md +110 -0
  274. package/versioned_docs/version-v1.2/typedoc/index.md +4 -0
  275. package/versioned_docs/version-v1.2/versioning.md +94 -0
  276. package/versioned_docs/version-v1.2/workflow.md +142 -0
  277. package/versioned_docs/version-v2.x/case-studies.md +35 -0
  278. package/versioned_docs/version-v2.x/contributing/_category_.json +4 -0
  279. package/versioned_docs/version-v2.x/contributing/code-of-conduct.md +92 -0
  280. package/versioned_docs/version-v2.x/contributing/contributing.md +149 -0
  281. package/versioned_docs/version-v2.x/contributing/project-ideas.md +78 -0
  282. package/versioned_docs/version-v2.x/core-concepts/_category_.json +4 -0
  283. package/versioned_docs/version-v2.x/core-concepts/ballot.md +19 -0
  284. package/versioned_docs/version-v2.x/core-concepts/coordinator-processing.md +46 -0
  285. package/versioned_docs/version-v2.x/core-concepts/hashing-and-encryption.md +45 -0
  286. package/versioned_docs/version-v2.x/core-concepts/key-change.md +179 -0
  287. package/versioned_docs/version-v2.x/core-concepts/maci-keys.md +84 -0
  288. package/versioned_docs/version-v2.x/core-concepts/maci-messages.md +44 -0
  289. package/versioned_docs/version-v2.x/core-concepts/merkle-trees.md +23 -0
  290. package/versioned_docs/version-v2.x/core-concepts/poll-types.md +106 -0
  291. package/versioned_docs/version-v2.x/core-concepts/spec.md +883 -0
  292. package/versioned_docs/version-v2.x/core-concepts/state-leaf.md +42 -0
  293. package/versioned_docs/version-v2.x/core-concepts/workflow.md +142 -0
  294. package/versioned_docs/version-v2.x/getting-started.md +313 -0
  295. package/versioned_docs/version-v2.x/guides/_category_.json +4 -0
  296. package/versioned_docs/version-v2.x/guides/compile-circuits.md +163 -0
  297. package/versioned_docs/version-v2.x/guides/frontend.md +99 -0
  298. package/versioned_docs/version-v2.x/guides/integrating.md +73 -0
  299. package/versioned_docs/version-v2.x/guides/maciWrapper.md +173 -0
  300. package/versioned_docs/version-v2.x/guides/subgraph.md +79 -0
  301. package/versioned_docs/version-v2.x/guides/testing/_category_.json +4 -0
  302. package/versioned_docs/version-v2.x/guides/testing/testing-in-detail.md +203 -0
  303. package/versioned_docs/version-v2.x/guides/testing/testing.md +163 -0
  304. package/versioned_docs/version-v2.x/guides/troubleshooting.md +161 -0
  305. package/versioned_docs/version-v2.x/introduction.md +146 -0
  306. package/versioned_docs/version-v2.x/processes/_category_.json +4 -0
  307. package/versioned_docs/version-v2.x/processes/ci-pipeline.md +38 -0
  308. package/versioned_docs/version-v2.x/processes/versioning.md +94 -0
  309. package/versioned_docs/version-v2.x/resources.md +33 -0
  310. package/versioned_docs/version-v2.x/security/_category_.json +4 -0
  311. package/versioned_docs/version-v2.x/security/audit.md +167 -0
  312. package/versioned_docs/version-v2.x/security/trusted-setup.md +166 -0
  313. package/versioned_docs/version-v2.x/supported-networks/_category_.json +4 -0
  314. package/versioned_docs/version-v2.x/supported-networks/deployed-contracts.md +1108 -0
  315. package/versioned_docs/version-v2.x/supported-networks/supported-networks.md +47 -0
  316. package/versioned_docs/version-v2.x/technical-references/_category_.json +4 -0
  317. package/versioned_docs/version-v2.x/technical-references/smart-contracts/AccQueue.md +21 -0
  318. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Gatekeepers.md +40 -0
  319. package/versioned_docs/version-v2.x/technical-references/smart-contracts/MACI.md +152 -0
  320. package/versioned_docs/version-v2.x/technical-references/smart-contracts/MessageProcessor.md +13 -0
  321. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Params.md +32 -0
  322. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Poll.md +104 -0
  323. package/versioned_docs/version-v2.x/technical-references/smart-contracts/PollFactory.md +43 -0
  324. package/versioned_docs/version-v2.x/technical-references/smart-contracts/Tally.md +45 -0
  325. package/versioned_docs/version-v2.x/technical-references/smart-contracts/VkRegistry.md +57 -0
  326. package/versioned_docs/version-v2.x/technical-references/smart-contracts/VoiceCreditProxy.md +18 -0
  327. package/versioned_docs/version-v2.x/technical-references/smart-contracts/_category_.json +8 -0
  328. package/versioned_docs/version-v2.x/technical-references/technical-references.md +47 -0
  329. package/versioned_docs/version-v2.x/technical-references/typescript-code/_category_.json +4 -0
  330. package/versioned_docs/version-v2.x/technical-references/typescript-code/cli.md +699 -0
  331. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/_category_.json +4 -0
  332. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/processMessages.md +107 -0
  333. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/setup.md +101 -0
  334. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/tallyVotes.md +79 -0
  335. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/utilities.md +131 -0
  336. package/versioned_docs/version-v2.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +37 -0
  337. package/versioned_docs/version-v2.x/use-cases/_category_.json +4 -0
  338. package/versioned_docs/version-v2.x/use-cases/governance.md +18 -0
  339. package/versioned_docs/version-v2.x/use-cases/polling.md +10 -0
  340. package/versioned_docs/version-v2.x/use-cases/public-goods.md +65 -0
  341. package/versioned_docs/version-v3.x/case-studies.md +35 -0
  342. package/versioned_docs/version-v3.x/contributing/_category_.json +4 -0
  343. package/versioned_docs/version-v3.x/contributing/code-of-conduct.md +92 -0
  344. package/versioned_docs/version-v3.x/contributing/contributing.md +149 -0
  345. package/versioned_docs/version-v3.x/contributing/project-ideas.md +78 -0
  346. package/versioned_docs/version-v3.x/core-concepts/_category_.json +4 -0
  347. package/versioned_docs/version-v3.x/core-concepts/ballot.md +19 -0
  348. package/versioned_docs/version-v3.x/core-concepts/coordinator-processing.md +46 -0
  349. package/versioned_docs/version-v3.x/core-concepts/hashing-and-encryption.md +45 -0
  350. package/versioned_docs/version-v3.x/core-concepts/key-change.md +179 -0
  351. package/versioned_docs/version-v3.x/core-concepts/maci-keys.md +84 -0
  352. package/versioned_docs/version-v3.x/core-concepts/maci-messages.md +44 -0
  353. package/versioned_docs/version-v3.x/core-concepts/merkle-trees.md +16 -0
  354. package/versioned_docs/version-v3.x/core-concepts/poll-types.md +58 -0
  355. package/versioned_docs/version-v3.x/core-concepts/polls.md +81 -0
  356. package/versioned_docs/version-v3.x/core-concepts/spec.md +883 -0
  357. package/versioned_docs/version-v3.x/core-concepts/state-leaf.md +42 -0
  358. package/versioned_docs/version-v3.x/core-concepts/workflow.md +143 -0
  359. package/versioned_docs/version-v3.x/guides/_category_.json +4 -0
  360. package/versioned_docs/version-v3.x/guides/compile-circuits.md +175 -0
  361. package/versioned_docs/version-v3.x/guides/integrating.md +137 -0
  362. package/versioned_docs/version-v3.x/guides/subgraph.md +79 -0
  363. package/versioned_docs/version-v3.x/guides/testing/_category_.json +4 -0
  364. package/versioned_docs/version-v3.x/guides/testing/testing-in-detail.md +191 -0
  365. package/versioned_docs/version-v3.x/guides/testing/testing-introduction.md +158 -0
  366. package/versioned_docs/version-v3.x/guides/troubleshooting.md +161 -0
  367. package/versioned_docs/version-v3.x/introduction.md +153 -0
  368. package/versioned_docs/version-v3.x/processes/_category_.json +4 -0
  369. package/versioned_docs/version-v3.x/processes/ci-pipeline.md +38 -0
  370. package/versioned_docs/version-v3.x/processes/versioning.md +94 -0
  371. package/versioned_docs/version-v3.x/quick-start.md +318 -0
  372. package/versioned_docs/version-v3.x/resources.md +33 -0
  373. package/versioned_docs/version-v3.x/security/_category_.json +4 -0
  374. package/versioned_docs/version-v3.x/security/audit.md +167 -0
  375. package/versioned_docs/version-v3.x/security/trusted-setup.md +172 -0
  376. package/versioned_docs/version-v3.x/supported-networks/_category_.json +4 -0
  377. package/versioned_docs/version-v3.x/supported-networks/deployed-contracts.md +112 -0
  378. package/versioned_docs/version-v3.x/supported-networks/supported-networks.md +53 -0
  379. package/versioned_docs/version-v3.x/technical-references/_category_.json +4 -0
  380. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MACI.md +160 -0
  381. package/versioned_docs/version-v3.x/technical-references/smart-contracts/MessageProcessor.md +13 -0
  382. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Params.md +33 -0
  383. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Policies.md +39 -0
  384. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Poll.md +170 -0
  385. package/versioned_docs/version-v3.x/technical-references/smart-contracts/PollFactory.md +33 -0
  386. package/versioned_docs/version-v3.x/technical-references/smart-contracts/Tally.md +43 -0
  387. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VkRegistry.md +62 -0
  388. package/versioned_docs/version-v3.x/technical-references/smart-contracts/VoiceCreditProxy.md +18 -0
  389. package/versioned_docs/version-v3.x/technical-references/smart-contracts/_category_.json +8 -0
  390. package/versioned_docs/version-v3.x/technical-references/technical-references.md +48 -0
  391. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/_category_.json +4 -0
  392. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/joinPoll.md +53 -0
  393. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/processMessages.md +106 -0
  394. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/setup.md +96 -0
  395. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/tallyVotes.md +79 -0
  396. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/utilities.md +131 -0
  397. package/versioned_docs/version-v3.x/technical-references/zk-snark-circuits/zk-snark-circuits.md +42 -0
  398. package/versioned_docs/version-v3.x/use-cases/_category_.json +4 -0
  399. package/versioned_docs/version-v3.x/use-cases/governance.md +18 -0
  400. package/versioned_docs/version-v3.x/use-cases/polling.md +10 -0
  401. package/versioned_docs/version-v3.x/use-cases/public-goods.md +65 -0
  402. package/versioned_sidebars/version-v0.x-sidebars.json +8 -0
  403. package/versioned_sidebars/version-v1.2-sidebars.json +8 -0
  404. package/versioned_sidebars/version-v2.x-sidebars.json +8 -0
  405. package/versioned_sidebars/version-v3.x-sidebars.json +8 -0
  406. package/versions.json +1 -0
@@ -0,0 +1,21 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1046.4527372003845 505.5084278328601" width="3139.3582116011535" height="1516.5252834985804">
2
+ <!-- svg-source:excalidraw -->
3
+
4
+ <defs>
5
+ <style class="style-fonts">
6
+ @font-face {
7
+ font-family: "Virgil";
8
+ src: url("https://excalidraw.com/Virgil.woff2");
9
+ }
10
+ @font-face {
11
+ font-family: "Cascadia";
12
+ src: url("https://excalidraw.com/Cascadia.woff2");
13
+ }
14
+ @font-face {
15
+ font-family: "Assistant";
16
+ src: url("https://excalidraw.com/Assistant-Regular.woff2");
17
+ }
18
+ </style>
19
+
20
+ </defs>
21
+ <rect x="0" y="0" width="1046.4527372003845" height="505.5084278328601" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(317.50900623810526 152.4211258690167) rotate(0 114.33810379333897 33.80052213620306)"><path d="M16.9 0 C96.42 0.87, 172.41 2.95, 211.78 0 M16.9 0 C77.76 0.71, 137.9 1.21, 211.78 0 M211.78 0 C222.33 -1.63, 230.54 6.17, 228.68 16.9 M211.78 0 C223.84 -0.2, 226.67 6.79, 228.68 16.9 M228.68 16.9 C226.82 28.77, 228.67 41.18, 228.68 50.7 M228.68 16.9 C229.36 28.13, 227.99 41.19, 228.68 50.7 M228.68 50.7 C227.5 60.36, 224.84 65.93, 211.78 67.6 M228.68 50.7 C230.75 60.4, 224.65 68.12, 211.78 67.6 M211.78 67.6 C145.53 68.9, 77.85 67.4, 16.9 67.6 M211.78 67.6 C136.38 67.76, 61.71 67.47, 16.9 67.6 M16.9 67.6 C4.17 69.3, 0.93 60.22, 0 50.7 M16.9 67.6 C6.48 67.97, 1.34 64.03, 0 50.7 M0 50.7 C0.12 41.21, -0.35 34.75, 0 16.9 M0 50.7 C-1.21 44.36, -0.92 37.63, 0 16.9 M0 16.9 C-1.09 4.01, 5.99 0.97, 16.9 0 M0 16.9 C-0.67 4.34, 3.87 1.37, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(351.45717167695216 173.72164800521966) rotate(0 80.38993835449219 12.5)"><text x="80.38993835449219" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Calculate Total</text></g><g stroke-linecap="round" transform="translate(315.8000954285076 11.33186172321075) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C81.89 -0.83, 150.25 2.03, 204.03 0 M16.09 0 C75.11 0.45, 133.1 1.21, 204.03 0 M204.03 0 C213.08 -1.36, 220.55 7.17, 220.12 16.09 M204.03 0 C215.36 0.57, 220.56 4.17, 220.12 16.09 M220.12 16.09 C222.08 27.94, 218.57 36.04, 220.12 48.27 M220.12 16.09 C219.42 27.55, 219.99 37.66, 220.12 48.27 M220.12 48.27 C221.48 58.56, 215.59 64.92, 204.03 64.35 M220.12 48.27 C221.09 59.96, 213.31 66.07, 204.03 64.35 M204.03 64.35 C145.67 65.73, 89.41 65.72, 16.09 64.35 M204.03 64.35 C163.4 66.16, 123.25 65.65, 16.09 64.35 M16.09 64.35 C7.28 66.12, 1.7 59.29, 0 48.27 M16.09 64.35 C3.85 65.77, -1.9 57.73, 0 48.27 M0 48.27 C-1.11 40.08, 0.37 35.63, 0 16.09 M0 48.27 C0.68 41.2, -1.02 31.41, 0 16.09 M0 16.09 C1.12 4.32, 5.65 1.76, 16.09 0 M0 16.09 C-0.47 5.64, 4.48 0.54, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(332.7177434943742 18.509278274086682) rotate(0 93.13992309570312 25)"><text x="93.13992309570312" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">numbers (array of </text><text x="93.13992309570312" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">len n)</text></g><g stroke-linecap="round"><g transform="translate(419.0921960177825 102.75151967346221) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M0.11 -0.01 C-0.14 6.52, -1.18 32.97, -1.33 39.64 M-0.5 -0.48 C-0.59 6.38, -0.22 33.77, -0.32 40.39" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(419.0921960177825 102.75151967346221) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M-7.11 21.8 C-4.83 27.04, -2.47 34.05, -0.32 40.39 M-7.11 21.8 C-4.05 28.96, -1.42 35.76, -0.32 40.39" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(419.0921960177825 102.75151967346221) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M6.42 21.78 C4.31 27.04, 2.27 34.06, -0.32 40.39 M6.42 21.78 C4.27 28.88, 1.68 35.69, -0.32 40.39" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(10 155.81738121194633) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C74.5 1.54, 134.65 -0.52, 204.03 0 M16.09 0 C80.64 -0.04, 143.36 -0.94, 204.03 0 M204.03 0 C214 -1.74, 218.63 6.12, 220.12 16.09 M204.03 0 C214.37 0.63, 219.56 7.27, 220.12 16.09 M220.12 16.09 C218.33 25.25, 219.73 31.23, 220.12 48.27 M220.12 16.09 C219.49 22.38, 220.68 29.42, 220.12 48.27 M220.12 48.27 C219.44 60.49, 215.42 63.16, 204.03 64.35 M220.12 48.27 C218.76 59.51, 216.15 66.64, 204.03 64.35 M204.03 64.35 C144 66.51, 79.62 63.36, 16.09 64.35 M204.03 64.35 C157.59 65.96, 109.47 65.49, 16.09 64.35 M16.09 64.35 C5.05 63.75, -1.81 57.54, 0 48.27 M16.09 64.35 C4.29 64.93, 0.87 57.72, 0 48.27 M0 48.27 C0.92 39.43, 0.15 33.39, 0 16.09 M0 48.27 C-0.03 39.31, 0.19 30.56, 0 16.09 M0 16.09 C-1.82 5.57, 5.09 0.78, 16.09 0 M0 16.09 C-1.58 5.64, 3.97 -1.33, 16.09 0" stroke="#f08c00" stroke-width="1" fill="none"></path></g><g transform="translate(58.17761968451896 175.49479776282226) rotate(0 61.87995147705078 12.5)"><text x="61.87995147705078" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#f08c00" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">parameter: n</text></g><g transform="translate(464.4939109809743 105.29837467230652) rotate(0 26.379974365234375 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Input</text></g><g transform="translate(475.7801470929769 253.8652823788026) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(414.7992799743495 252.59492860871353) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M0.54 -0.09 C0.68 6.76, 0.76 33.84, 0.82 40.67 M0.16 -0.62 C0.26 6.33, 0.47 34.19, 0.58 41.2" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(414.7992799743495 252.59492860871353) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-6.65 22 C-4.74 28.37, -3.04 34.28, 0.58 41.2 M-6.65 22 C-5.13 27.07, -2.34 32.6, 0.58 41.2" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(414.7992799743495 252.59492860871353) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M7.38 21.84 C5.11 28.33, 2.62 34.29, 0.58 41.2 M7.38 21.84 C4.99 26.95, 3.86 32.53, 0.58 41.2" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(318.2396275262663 319.4930609756058) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C81.5 1.8, 142.62 1.47, 204.03 0 M16.09 0 C81.52 -0.57, 147.71 -0.65, 204.03 0 M204.03 0 C214.21 -0.18, 219.41 3.83, 220.12 16.09 M204.03 0 C214.54 1.23, 220.91 7.39, 220.12 16.09 M220.12 16.09 C221.17 24.39, 221.76 32.61, 220.12 48.27 M220.12 16.09 C220.42 27.12, 218.9 36.85, 220.12 48.27 M220.12 48.27 C220.25 60.97, 213.52 64.82, 204.03 64.35 M220.12 48.27 C217.97 60.31, 215.77 63.54, 204.03 64.35 M204.03 64.35 C147.29 67.33, 88.11 63.73, 16.09 64.35 M204.03 64.35 C149.91 66.13, 96.81 64.38, 16.09 64.35 M16.09 64.35 C5.52 62.44, 1.54 58.98, 0 48.27 M16.09 64.35 C3.6 63.94, 1.1 58.99, 0 48.27 M0 48.27 C0.33 35.34, -0.78 27.54, 0 16.09 M0 48.27 C-0.24 37.35, 0.52 25.93, 0 16.09 M0 16.09 C1.83 7.09, 3.46 -0.17, 16.09 0 M0 16.09 C-2.01 3.88, 3.23 1.83, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(410.8572191346134 339.1704775264817) rotate(0 17.439979553222656 12.5)"><text x="17.439979553222656" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">sum</text></g><g stroke-linecap="round"><g transform="translate(245.41484743370188 189.27854477196468) rotate(0 24.285934174555905 -0.22909311577939206)"><path d="M-0.54 -0.13 C7.57 -0.15, 40.65 -0.63, 48.83 -0.6 M0.19 -0.67 C8.23 -0.56, 40.54 0.04, 48.53 0.03" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.41484743370188 189.27854477196468) rotate(0 24.285934174555905 -0.22909311577939206)"><path d="M25.62 8.1 C33.1 5.97, 40.75 2.7, 48.53 0.03 M25.62 8.1 C34.6 5.3, 43.76 2.03, 48.53 0.03" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(245.41484743370188 189.27854477196468) rotate(0 24.285934174555905 -0.22909311577939206)"><path d="M25.79 -8.51 C33.13 -5.07, 40.73 -2.78, 48.53 0.03 M25.79 -8.51 C34.76 -4.76, 43.85 -1.48, 48.53 0.03" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(760.6122423903735 10) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C59.3 0.38, 102.66 -2.36, 204.03 0 M16.09 0 C78.15 1.92, 139.22 0.44, 204.03 0 M204.03 0 C212.91 1.65, 220.94 3.48, 220.12 16.09 M204.03 0 C212.64 -0.23, 221.2 5.63, 220.12 16.09 M220.12 16.09 C218.38 21.34, 218.04 30.76, 220.12 48.27 M220.12 16.09 C220.68 22.14, 219.98 30.3, 220.12 48.27 M220.12 48.27 C221.4 58.59, 216.3 64.52, 204.03 64.35 M220.12 48.27 C220.82 56.95, 212.61 64.13, 204.03 64.35 M204.03 64.35 C147.97 65.14, 94.01 62.95, 16.09 64.35 M204.03 64.35 C162.35 64.21, 119.28 63.41, 16.09 64.35 M16.09 64.35 C5.48 64.61, 0.53 58.04, 0 48.27 M16.09 64.35 C3.55 66.09, 1.05 59.74, 0 48.27 M0 48.27 C-0.87 40.51, -1.59 34.15, 0 16.09 M0 48.27 C0.42 39.13, 0.97 27.78, 0 16.09 M0 16.09 C1.57 4.26, 4.99 -0.74, 16.09 0 M0 16.09 C-1.64 5.6, 7.13 -2.13, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(778.289884963076 17.177416550875932) rotate(0 92.37992858886719 25)"><text x="92.37992858886719" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. create tmp sum </text><text x="92.37992858886719" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">signal</text></g><g stroke-linecap="round" transform="translate(761.3635026979741 94.3103944106914) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C65.97 0.94, 116.16 0.9, 204.03 0 M16.09 0 C68.37 0.74, 118.36 0.32, 204.03 0 M204.03 0 C215.2 -1.15, 219.82 5.81, 220.12 16.09 M204.03 0 C213.39 -0.65, 217.97 5.54, 220.12 16.09 M220.12 16.09 C220.77 28.75, 221.84 40.02, 220.12 48.27 M220.12 16.09 C220.57 27.82, 220.54 37.44, 220.12 48.27 M220.12 48.27 C221.47 57.73, 215.46 65.91, 204.03 64.35 M220.12 48.27 C218.1 58.94, 215.87 65.55, 204.03 64.35 M204.03 64.35 C153.94 64.83, 105.02 65.06, 16.09 64.35 M204.03 64.35 C164.55 63.58, 123.32 63.6, 16.09 64.35 M16.09 64.35 C4.42 63.31, 1.48 57.07, 0 48.27 M16.09 64.35 C3.29 66.27, 1.64 61.29, 0 48.27 M0 48.27 C1.89 37.91, 1.84 29.39, 0 16.09 M0 48.27 C-0.26 36.04, -0.95 25.62, 0 16.09 M0 16.09 C-0.39 4.13, 4.09 -1.23, 16.09 0 M0 16.09 C0.29 4.88, 3.24 -0.99, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(769.8411635812236 101.48781096156733) rotate(0 101.57991027832031 25)"><text x="101.57991027832031" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. sum[0] is the </text><text x="101.57991027832031" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">first number (num[0]</text></g><g stroke-linecap="round" transform="translate(765.7926362697085 178.13370796260904) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C90.74 -1.14, 163.23 -1.24, 204.03 0 M16.09 0 C59.42 2.22, 100.96 1.78, 204.03 0 M204.03 0 C213.1 -1.57, 220.62 5.12, 220.12 16.09 M204.03 0 C212.67 -0.04, 220.47 6.63, 220.12 16.09 M220.12 16.09 C221.25 27.34, 220.44 39.16, 220.12 48.27 M220.12 16.09 C219.46 27.29, 220.16 38.63, 220.12 48.27 M220.12 48.27 C220.04 60.06, 214.23 66.1, 204.03 64.35 M220.12 48.27 C220.82 58.16, 213.91 66.42, 204.03 64.35 M204.03 64.35 C147.12 63.07, 90.66 62.78, 16.09 64.35 M204.03 64.35 C164.46 63.8, 125.7 64.52, 16.09 64.35 M16.09 64.35 C7.07 64.14, -1.96 60.89, 0 48.27 M16.09 64.35 C4.71 64.88, -0.82 56.92, 0 48.27 M0 48.27 C-0.17 35.4, 0.38 27.74, 0 16.09 M0 48.27 C0.29 36.74, -0.11 24.73, 0 16.09 M0 16.09 C1.39 4.12, 6.97 -0.98, 16.09 0 M0 16.09 C0.69 6.62, 7.29 1.06, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(783.0602751803017 197.81112451348497) rotate(0 92.78993225097656 12.5)"><text x="92.78993225097656" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. loop from 1 to n</text></g><g stroke-linecap="round" transform="translate(719.0411294351684 256.9706344179232) rotate(0 158.70580388260805 62.98936442506215)"><path d="M31.49 0 C92.47 1.06, 154.42 1.35, 285.92 0 M31.49 0 C130.03 1.6, 230.55 2.29, 285.92 0 M285.92 0 C305.44 0.88, 316.59 9.32, 317.41 31.49 M285.92 0 C305.82 1.3, 317.97 9.74, 317.41 31.49 M317.41 31.49 C318.21 42.69, 316.31 58.36, 317.41 94.48 M317.41 31.49 C316.78 50.67, 318.5 69.39, 317.41 94.48 M317.41 94.48 C318.46 114.33, 305.82 127.92, 285.92 125.98 M317.41 94.48 C315.64 113.75, 306.44 128.21, 285.92 125.98 M285.92 125.98 C234.81 123.83, 181.66 124.82, 31.49 125.98 M285.92 125.98 C192.28 126.28, 97.95 126.53, 31.49 125.98 M31.49 125.98 C10.12 125.63, 1.52 114.27, 0 94.48 M31.49 125.98 C11.69 127.75, -2.2 117.37, 0 94.48 M0 94.48 C-0.13 80.03, -0.1 68.1, 0 31.49 M0 94.48 C-0.19 78.43, 1.16 61.4, 0 31.49 M0 31.49 C-1.58 9.5, 12.26 0.67, 31.49 0 M0 31.49 C-2.03 12.75, 10.96 1.59, 31.49 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(730.7770541673858 282.4599988429853) rotate(0 146.96987915039062 37.5)"><text x="146.96987915039062" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">4. sum[loopIndex] = previous </text><text x="146.96987915039062" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">sum + current number </text><text x="146.96987915039062" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">(num[loopIndex])</text></g><g transform="translate(602.5904103336547 130.8209952164906) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(585.4137980735957 191.455316353483) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M-0.63 0.3 C17.51 0.22, 89.87 -0.36, 108.03 -0.72 M1.24 -0.58 C19.28 -0.97, 89.31 -2.33, 107.04 -2.33" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(585.4137980735957 191.455316353483) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M78.97 8.24 C86.05 5.8, 93.74 3.8, 107.04 -2.33 M78.97 8.24 C86.93 5.32, 94.58 2.67, 107.04 -2.33" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(585.4137980735957 191.455316353483) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M78.74 -12.28 C85.84 -9.92, 93.58 -7.13, 107.04 -2.33 M78.74 -12.28 C86.94 -9.25, 94.66 -5.97, 107.04 -2.33" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(778.2895625403751 401.09088750974445) rotate(0 102.19823255897688 47.20877016155782)"><path d="M23.6 0 C61.31 1.52, 101.4 1.05, 180.79 0 M23.6 0 C62.28 0.2, 100.66 0.18, 180.79 0 M180.79 0 C197.71 1.56, 203.04 6.98, 204.4 23.6 M180.79 0 C198.44 2.2, 202.38 9.16, 204.4 23.6 M204.4 23.6 C203.91 37.47, 206.63 47.6, 204.4 70.81 M204.4 23.6 C204.32 34.15, 204.86 46.18, 204.4 70.81 M204.4 70.81 C205.48 86.45, 197.95 92.83, 180.79 94.42 M204.4 70.81 C203.09 84.99, 197.75 96.18, 180.79 94.42 M180.79 94.42 C148.58 93.97, 115.94 94.53, 23.6 94.42 M180.79 94.42 C121.11 93.61, 61.75 92.24, 23.6 94.42 M23.6 94.42 C8.2 94.61, -1.08 87.4, 0 70.81 M23.6 94.42 C6.66 93.7, -2 87.6, 0 70.81 M0 70.81 C-1.74 58.92, 1.23 49.24, 0 23.6 M0 70.81 C0.68 59.02, 0 45.95, 0 23.6 M0 23.6 C-1.54 7.59, 6.2 0.19, 23.6 0 M0 23.6 C-1.19 6.9, 8.99 -1.82, 23.6 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(783.44787047777 410.79965767130227) rotate(0 97.03992462158203 37.5)"><text x="97.03992462158203" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5. the last item in </text><text x="97.03992462158203" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the tmp sum array </text><text x="97.03992462158203" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">is the sum</text></g></svg>
@@ -0,0 +1,21 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1083.2937218075292 395.3140739373331" width="3249.8811654225874" height="1185.9422218119994">
2
+ <!-- svg-source:excalidraw -->
3
+
4
+ <defs>
5
+ <style class="style-fonts">
6
+ @font-face {
7
+ font-family: "Virgil";
8
+ src: url("https://excalidraw.com/Virgil.woff2");
9
+ }
10
+ @font-face {
11
+ font-family: "Cascadia";
12
+ src: url("https://excalidraw.com/Cascadia.woff2");
13
+ }
14
+ @font-face {
15
+ font-family: "Assistant";
16
+ src: url("https://excalidraw.com/Assistant-Regular.woff2");
17
+ }
18
+ </style>
19
+
20
+ </defs>
21
+ <rect x="0" y="0" width="1083.2937218075292" height="395.3140739373331" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(141.5840218900487 153.8873057289922) rotate(0 114.33810379333897 33.80052213620306)"><path d="M16.9 0 C73.02 -2.42, 131.1 -1.65, 211.78 0 M16.9 0 C75.65 0.84, 135.27 0.54, 211.78 0 M211.78 0 C222.39 0.92, 229.73 5.59, 228.68 16.9 M211.78 0 C222.28 1.03, 228.23 5.62, 228.68 16.9 M228.68 16.9 C229.1 28.61, 229.5 41.98, 228.68 50.7 M228.68 16.9 C229.51 26.62, 229.06 36.14, 228.68 50.7 M228.68 50.7 C226.69 63.93, 223.2 65.9, 211.78 67.6 M228.68 50.7 C227.39 62.02, 223.33 67.86, 211.78 67.6 M211.78 67.6 C157.72 67.99, 100.44 67.37, 16.9 67.6 M211.78 67.6 C151.87 67.95, 92.8 69.76, 16.9 67.6 M16.9 67.6 C5.49 66.04, 1.94 61.58, 0 50.7 M16.9 67.6 C6.12 65.73, 0.64 60.75, 0 50.7 M0 50.7 C0.22 44.18, -0.78 34.23, 0 16.9 M0 50.7 C-1.14 43.1, 0.54 35.65, 0 16.9 M0 16.9 C-0.91 6.07, 6.95 1.44, 16.9 0 M0 16.9 C2 7.59, 7.2 1.25, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(229.4321430784072 175.18782786519523) rotate(0 26.48998260498047 12.5)"><text x="26.48998260498047" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">ECDH</text></g><g stroke-linecap="round" transform="translate(270.60606759988264 10) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C65.42 -0.18, 113.18 -0.2, 204.03 0 M16.09 0 C60.44 2.18, 105.98 1.7, 204.03 0 M204.03 0 C214.09 0.9, 219.73 5.35, 220.12 16.09 M204.03 0 C215.87 0.07, 219.21 5.84, 220.12 16.09 M220.12 16.09 C219.65 25.89, 220.87 36.7, 220.12 48.27 M220.12 16.09 C219.23 28.61, 220.3 38.32, 220.12 48.27 M220.12 48.27 C219 59.04, 215.01 64.58, 204.03 64.35 M220.12 48.27 C219.75 60.98, 213.57 65.83, 204.03 64.35 M204.03 64.35 C134.6 65.56, 66.28 63.67, 16.09 64.35 M204.03 64.35 C164.09 65.34, 125.27 65.92, 16.09 64.35 M16.09 64.35 C5.78 62.72, 0.56 57.93, 0 48.27 M16.09 64.35 C3.8 65.22, 1.21 59.39, 0 48.27 M0 48.27 C-1.54 38.24, 1.05 23.02, 0 16.09 M0 48.27 C-0.73 39.59, 0.39 31.21, 0 16.09 M0 16.09 C1.74 7.06, 6.73 1.08, 16.09 0 M0 16.09 C-0.07 7.63, 6.48 1.37, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(282.6637226847922 17.177416550875876) rotate(0 97.99991607666016 25)"><text x="97.99991607666016" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">publicKey (array of </text><text x="97.99991607666016" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">two elements)</text></g><g stroke-linecap="round"><g transform="translate(243.16721166972593 104.21769953343772) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M-0.05 -0.34 C-0.13 6.24, -0.35 32.37, -0.52 39.06 M-0.74 0.67 C-0.86 7.34, -0.63 33.13, -0.75 39.5" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(243.16721166972593 104.21769953343772) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M-7.45 20.88 C-6.18 27, -4.52 31.44, -0.75 39.5 M-7.45 20.88 C-5.25 27.55, -2.86 33.77, -0.75 39.5" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(243.16721166972593 104.21769953343772) rotate(0 -0.44580281989499326 19.782500132839004)"><path d="M6.08 20.93 C3.4 27.03, 1.11 31.45, -0.75 39.5 M6.08 20.93 C3.6 27.58, 1.3 33.79, -0.75 39.5" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(288.56892663291774 106.76455453228203) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g transform="translate(299.85516274492034 255.3314622387781) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(238.8742956262929 254.06110846868904) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-0.11 0 C0.04 6.8, 0.66 34.18, 0.71 41.04 M-0.82 -0.48 C-0.71 6.39, 0.32 34.7, 0.42 41.75" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(238.8742956262929 254.06110846868904) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-7.1 22.66 C-5.06 28.25, -3.02 32.46, 0.42 41.75 M-7.1 22.66 C-4.32 28.62, -2.21 35.04, 0.42 41.75" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(238.8742956262929 254.06110846868904) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M6.92 22.29 C5.23 27.96, 3.52 32.28, 0.42 41.75 M6.92 22.29 C5.21 28.39, 2.82 34.94, 0.42 41.75" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(142.31464317820974 320.9592408355813) rotate(0 110.05757116156975 32.177416550875904)"><path d="M16.09 0 C68.92 -1.7, 122.04 -1, 204.03 0 M16.09 0 C80.29 0.87, 144.99 1.15, 204.03 0 M204.03 0 C215.43 1.95, 218.13 7.33, 220.12 16.09 M204.03 0 C214.93 -1.95, 218.83 5.42, 220.12 16.09 M220.12 16.09 C221.88 25.12, 221.43 37.61, 220.12 48.27 M220.12 16.09 C220.48 25.32, 219.54 32.41, 220.12 48.27 M220.12 48.27 C218.99 60.86, 214.61 62.8, 204.03 64.35 M220.12 48.27 C222.35 58.55, 215.24 62.48, 204.03 64.35 M204.03 64.35 C143.16 64.12, 81.14 64.4, 16.09 64.35 M204.03 64.35 C154.66 63.28, 102.7 62.58, 16.09 64.35 M16.09 64.35 C7.04 63.71, -0.91 59.43, 0 48.27 M16.09 64.35 C6.88 66.01, 2 60.95, 0 48.27 M0 48.27 C1.8 37.39, 1.02 23.4, 0 16.09 M0 48.27 C0.55 38.86, -0.04 28.98, 0 16.09 M0 16.09 C0.59 5.15, 5.12 -1.08, 16.09 0 M0 16.09 C1.24 6.73, 6 0.76, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(203.58225920061932 340.63665738645716) rotate(0 48.78995513916015 12.5)"><text x="48.789955139160156" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">sharedKey</text></g><g stroke-linecap="round" transform="translate(551.7094295497407 22.989525621383052) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C73.2 -1.04, 126.96 0.24, 198.87 0 M21.25 0 C83.96 -0.75, 148.73 -2.58, 198.87 0 M198.87 0 C211.91 0.05, 220.37 7.31, 220.12 21.25 M198.87 0 C212.66 1.99, 218.93 8.56, 220.12 21.25 M220.12 21.25 C220.05 37.45, 221.24 51.28, 220.12 63.75 M220.12 21.25 C219.8 29.49, 220.85 39.09, 220.12 63.75 M220.12 63.75 C220.54 76.29, 213.59 83.94, 198.87 85 M220.12 63.75 C218.55 78.78, 214.24 85.4, 198.87 85 M198.87 85 C132.2 86.05, 69.77 82.61, 21.25 85 M198.87 85 C149.34 84.65, 101.39 85.15, 21.25 85 M21.25 85 C8.82 86.7, 1.36 79, 0 63.75 M21.25 85 C7.01 87.27, 1.12 79.29, 0 63.75 M0 63.75 C-0.27 54.51, 0.3 43.07, 0 21.25 M0 63.75 C-0.25 51.27, 0.42 40.46, 0 21.25 M0 21.25 C0.55 7.74, 8.6 -0.69, 21.25 0 M0 21.25 C-0.32 5.82, 5.22 -1.18, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(560.0371041659002 27.989525621383052) rotate(0 101.72989654541016 37.5)"><text x="101.72989654541016" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Convert the </text><text x="101.72989654541016" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">privateKey to its </text><text x="101.72989654541016" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">bytes representation</text></g><g stroke-linecap="round" transform="translate(550.1254502962602 136.86405287536127) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C76.34 -0.8, 136.19 -3.46, 204.03 0 M16.09 0 C90.36 1.62, 165.88 1.71, 204.03 0 M204.03 0 C214.43 1.73, 219.08 6.64, 220.12 16.09 M204.03 0 C216.36 -0.75, 221 5.45, 220.12 16.09 M220.12 16.09 C218.56 25.39, 222.19 36.81, 220.12 48.27 M220.12 16.09 C220.64 22.42, 220.71 29.85, 220.12 48.27 M220.12 48.27 C218.75 59.74, 215.8 64.7, 204.03 64.35 M220.12 48.27 C221.63 58.24, 213.85 62.47, 204.03 64.35 M204.03 64.35 C130.72 64.45, 57.72 61.86, 16.09 64.35 M204.03 64.35 C144.44 66.56, 83.8 66.25, 16.09 64.35 M16.09 64.35 C5.3 66.33, 0.97 60.18, 0 48.27 M16.09 64.35 C4.01 64.28, -0.27 58.66, 0 48.27 M0 48.27 C-0.43 37.56, -0.26 25.45, 0 16.09 M0 48.27 C0.1 40.68, 0.58 32.08, 0 16.09 M0 16.09 C-0.28 4.26, 3.74 -1.02, 16.09 0 M0 16.09 C1.42 6.22, 4.93 1.22, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(567.1930922586112 144.04146942623714) rotate(0 92.98992919921875 25)"><text x="92.98992919921875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Perform scalar </text><text x="92.98992919921875" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">multiplication</text></g><g stroke-linecap="round" transform="translate(554.5545838679946 220.6873664272789) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C84.61 1.79, 136.09 0.52, 192.62 0 M27.5 0 C77.26 0.68, 126.83 0.46, 192.62 0 M192.62 0 C212.34 -0.66, 220.88 9.24, 220.12 27.5 M192.62 0 C211.51 1.45, 218.5 7.15, 220.12 27.5 M220.12 27.5 C219.07 42.83, 220.24 54.71, 220.12 82.5 M220.12 27.5 C219.59 39.89, 220.79 51.71, 220.12 82.5 M220.12 82.5 C221.44 100.18, 210.16 108.36, 192.62 110 M220.12 82.5 C222.13 101.92, 209.01 109.45, 192.62 110 M192.62 110 C129.67 110.56, 67.31 110.98, 27.5 110 M192.62 110 C129.01 111.88, 65.95 111.49, 27.5 110 M27.5 110 C7.99 109.93, -0.23 100.54, 0 82.5 M27.5 110 C10.34 110.33, -0.18 100.4, 0 82.5 M0 82.5 C-1.02 65.47, 1.25 46.83, 0 27.5 M0 82.5 C-0.56 63.63, -1.23 45.36, 0 27.5 M0 27.5 C1.23 9.92, 8.79 1.06, 27.5 0 M0 27.5 C1.76 9.55, 7.64 0.54, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(561.9422331545643 225.6873664272789) rotate(0 102.669921875 50)"><text x="102.669921875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Shared Key is the</text><text x="102.669921875" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">two output elements</text><text x="102.669921875" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">([0] and [1]) of the</text><text x="102.669921875" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">scalar multiplciation</text></g><g transform="translate(426.6654259855982 132.2871750764661) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(409.4888137255391 192.9214962134585) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M-0.62 0.77 C17.57 0.25, 90.74 -1.69, 108.94 -2.09 M1.26 0.13 C19.38 0.29, 90.63 -0.69, 108.43 -0.76" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(409.4888137255391 192.9214962134585) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M80.33 9.76 C89.5 8.32, 95.54 4.7, 108.43 -0.76 M80.33 9.76 C88.14 5.51, 96.81 4.13, 108.43 -0.76" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(409.4888137255391 192.9214962134585) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M80.14 -10.76 C89.54 -6.38, 95.64 -4.16, 108.43 -0.76 M80.14 -10.76 C88.06 -8.78, 96.79 -3.92, 108.43 -0.76" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(10 10.18696194196309) rotate(0 110.05757116156975 32.177416550875904)"><path d="M16.09 0 C90.84 2.6, 160.34 1.58, 204.03 0 M16.09 0 C74.22 2.66, 130.74 1.2, 204.03 0 M204.03 0 C214.98 1.36, 220.66 7.29, 220.12 16.09 M204.03 0 C212.74 -1.44, 218.46 5.7, 220.12 16.09 M220.12 16.09 C219.26 27.12, 219.4 35.44, 220.12 48.27 M220.12 16.09 C220.75 24.26, 220.72 32.98, 220.12 48.27 M220.12 48.27 C221.99 60.05, 213.33 65.67, 204.03 64.35 M220.12 48.27 C220.16 59.75, 216.2 62.19, 204.03 64.35 M204.03 64.35 C146.1 66.61, 87 65.08, 16.09 64.35 M204.03 64.35 C159.86 64.34, 114.42 64.35, 16.09 64.35 M16.09 64.35 C7.16 64.43, -1.57 60.74, 0 48.27 M16.09 64.35 C3.11 64.28, -2.29 59.8, 0 48.27 M0 48.27 C1.5 42.64, -1.67 34.87, 0 16.09 M0 48.27 C-0.06 35.34, 0.59 24.06, 0 16.09 M0 16.09 C0.97 6.51, 6.83 0.74, 16.09 0 M0 16.09 C-2.09 5.03, 7.04 1.8, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(69.32762121039787 29.864378492838966) rotate(0 50.729949951171875 12.5)"><text x="50.729949951171875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">privateKey</text></g><g stroke-linecap="round" transform="translate(853.1785794843897 135.00339353669267) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C77.06 -3.77, 135.77 -3.55, 204.03 0 M16.09 0 C68.34 0.66, 118.92 -0.64, 204.03 0 M204.03 0 C216.21 1.54, 218.98 4.24, 220.12 16.09 M204.03 0 C215.69 -0.48, 218.55 6.74, 220.12 16.09 M220.12 16.09 C219.77 23.6, 221.41 34.51, 220.12 48.27 M220.12 16.09 C218.99 28.53, 220.27 40.67, 220.12 48.27 M220.12 48.27 C220.59 60.82, 213.59 63.68, 204.03 64.35 M220.12 48.27 C220.34 58.71, 212.98 64.53, 204.03 64.35 M204.03 64.35 C139.45 65.33, 76.5 65.74, 16.09 64.35 M204.03 64.35 C153.36 64.66, 103.01 62.9, 16.09 64.35 M16.09 64.35 C5.44 63.59, 0.99 60.43, 0 48.27 M16.09 64.35 C7.61 66.12, -0.1 57.42, 0 48.27 M0 48.27 C1.75 38.04, -1.57 26.6, 0 16.09 M0 48.27 C-0.28 35.55, -0.33 23.33, 0 16.09 M0 16.09 C1.6 3.86, 6.82 -1.51, 16.09 0 M0 16.09 C-0.19 6.45, 4.38 -0.43, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(865.3662394521118 154.6808100875686) rotate(0 97.86991119384766 12.5)"><text x="97.86991119384766" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">pubKey * privateKey</text></g><g stroke-linecap="round"><g transform="translate(785.6942556521292 169.49482019809443) rotate(0 18.9027027744238 -0.6071622858810883)"><path d="M0.23 -0.47 C6.59 -0.64, 31.7 -1.17, 37.96 -1.32 M-0.32 0.48 C6 0.42, 31.32 -0.45, 37.61 -0.68" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(785.6942556521292 169.49482019809443) rotate(0 18.9027027744238 -0.6071622858810883)"><path d="M20.08 6.41 C23.97 4.75, 29.27 2.55, 37.61 -0.68 M20.08 6.41 C24.5 4.41, 29.66 2.77, 37.61 -0.68" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(785.6942556521292 169.49482019809443) rotate(0 18.9027027744238 -0.6071622858810883)"><path d="M19.62 -6.52 C23.6 -4.73, 29.02 -3.48, 37.61 -0.68 M19.62 -6.52 C24.18 -5.12, 29.46 -3.36, 37.61 -0.68" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask></svg>
@@ -0,0 +1,21 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1538.6657771052182 633.5018016317143" width="4615.997331315655" height="1900.5054048951429">
2
+ <!-- svg-source:excalidraw -->
3
+
4
+ <defs>
5
+ <style class="style-fonts">
6
+ @font-face {
7
+ font-family: "Virgil";
8
+ src: url("https://excalidraw.com/Virgil.woff2");
9
+ }
10
+ @font-face {
11
+ font-family: "Cascadia";
12
+ src: url("https://excalidraw.com/Cascadia.woff2");
13
+ }
14
+ @font-face {
15
+ font-family: "Assistant";
16
+ src: url("https://excalidraw.com/Assistant-Regular.woff2");
17
+ }
18
+ </style>
19
+
20
+ </defs>
21
+ <rect x="0" y="0" width="1538.6657771052182" height="633.5018016317143" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(371.71429967973427 147.9496847561644) rotate(0 114.33810379333886 33.80052213620306)"><path d="M16.9 0 C64.24 0.93, 109.59 1.39, 211.78 0 M16.9 0 C79.75 1.92, 144.09 0.62, 211.78 0 M211.78 0 C223.74 -1.1, 229.7 6.28, 228.68 16.9 M211.78 0 C221.1 0.7, 228.62 3.72, 228.68 16.9 M228.68 16.9 C228.71 23.35, 227.97 31.85, 228.68 50.7 M228.68 16.9 C228.16 26.09, 229.34 32.55, 228.68 50.7 M228.68 50.7 C229.57 62.75, 222.8 68.59, 211.78 67.6 M228.68 50.7 C229.98 64.14, 222.41 68.86, 211.78 67.6 M211.78 67.6 C134.32 66.77, 60.32 68.82, 16.9 67.6 M211.78 67.6 C158.56 67.94, 103.96 66.66, 16.9 67.6 M16.9 67.6 C3.97 68.05, 1.63 60.67, 0 50.7 M16.9 67.6 C3.79 69.6, 0.64 64.02, 0 50.7 M0 50.7 C-0.03 38.29, 1.3 23.39, 0 16.9 M0 50.7 C0.48 43.42, 0.46 36.31, 0 16.9 M0 16.9 C-1.76 4.2, 5.18 1.08, 16.9 0 M0 16.9 C-0.5 3.61, 5.72 -0.59, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(389.66248800676476 169.2502068923675) rotate(0 96.3899154663086 12.5)"><text x="96.3899154663086" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">MessageToCommand</text></g><g stroke-linecap="round"><g transform="translate(455.48358148558555 82.3282042460105) rotate(0 1.2190670056115778 27.226474553228996)"><path d="M1.2 0.33 C1.28 9.35, 1.36 44.53, 1.38 53.68 M0.37 -0.55 C0.73 8.66, 2.99 45.83, 3.53 54.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(455.48358148558555 82.3282042460105) rotate(0 1.2190670056115778 27.226474553228996)"><path d="M-7.31 29.81 C-2.78 37.36, -0.53 46.68, 3.53 54.81 M-7.31 29.81 C-3.08 38.5, 1.07 48.55, 3.53 54.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(455.48358148558555 82.3282042460105) rotate(0 1.2190670056115778 27.226474553228996)"><path d="M11.3 28.69 C8.81 36.84, 4.06 46.59, 3.53 54.81 M11.3 28.69 C8.7 37.67, 6.02 48.13, 3.53 54.81" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(518.6992044226031 100.82693355945446) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g transform="translate(529.9854405346059 249.3938412659503) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(469.28086667984144 234.70897316761432) rotate(0 0.2229014099473261 20.511057519056408)"><path d="M-0.2 -0.35 C-0.01 6.37, 0.48 33.79, 0.64 40.72 M0.7 0.66 C0.88 7.42, 0.33 34.67, 0.3 41.26" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(469.28086667984144 234.70897316761432) rotate(0 0.2229014099473261 20.511057519056408)"><path d="M-6.47 21.9 C-5.64 26.27, -4.15 30.45, 0.3 41.26 M-6.47 21.9 C-4.31 27.9, -2.38 34.58, 0.3 41.26" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(469.28086667984144 234.70897316761432) rotate(0 0.2229014099473261 20.511057519056408)"><path d="M7.56 22.08 C5.48 26.39, 4.06 30.53, 0.3 41.26 M7.56 22.08 C5.06 28.04, 2.33 34.66, 0.3 41.26" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(372.4449209678951 300.6353154340226) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C64.48 0.38, 115.71 -2.35, 204.03 0 M16.09 0 C77.51 1.23, 139.5 1.64, 204.03 0 M204.03 0 C213.29 -0.6, 219.25 4.25, 220.12 16.09 M204.03 0 C216.64 -1.59, 218.3 7.49, 220.12 16.09 M220.12 16.09 C220.61 26.75, 220.82 39.02, 220.12 48.27 M220.12 16.09 C220.91 28.72, 219.89 40.59, 220.12 48.27 M220.12 48.27 C219.55 58.88, 216.24 63.85, 204.03 64.35 M220.12 48.27 C218.77 58.48, 215.56 66.13, 204.03 64.35 M204.03 64.35 C160.85 64.42, 115.49 61.2, 16.09 64.35 M204.03 64.35 C132.3 65.25, 58.76 65.88, 16.09 64.35 M16.09 64.35 C6.35 65.39, -0.52 57.43, 0 48.27 M16.09 64.35 C6.15 63.76, 1.37 59.47, 0 48.27 M0 48.27 C-1.63 36.31, 0.89 24.82, 0 16.09 M0 48.27 C0.05 41.09, -0.04 34.74, 0 16.09 M0 16.09 C-1.08 3.41, 4.81 0.65, 16.09 0 M0 16.09 C1.1 6.82, 5.17 1.68, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(426.7325412627656 320.3127319848985) rotate(0 55.76995086669922 12.5)"><text x="55.76995086669922" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">stateIndex</text></g><g stroke-linecap="round" transform="translate(924.3800221482911 75.60378386474531) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C84.27 1.45, 144.41 0.18, 198.87 0 M21.25 0 C67.88 -0.43, 115.55 -0.68, 198.87 0 M198.87 0 C214.67 -1.39, 218.53 8.94, 220.12 21.25 M198.87 0 C213.92 -2.03, 221.14 7.98, 220.12 21.25 M220.12 21.25 C222.22 32.94, 221.42 47.49, 220.12 63.75 M220.12 21.25 C219.77 33.68, 220.8 45.97, 220.12 63.75 M220.12 63.75 C218.94 77.47, 213.74 86.55, 198.87 85 M220.12 63.75 C218.55 76.74, 211.12 85.51, 198.87 85 M198.87 85 C132.86 84.13, 65.17 85.51, 21.25 85 M198.87 85 C159.95 85.25, 119.78 83.95, 21.25 85 M21.25 85 C7.77 84.48, 1.19 78.34, 0 63.75 M21.25 85 C8.41 86.38, -2.03 76.26, 0 63.75 M0 63.75 C-1.99 52.03, -0.74 40.29, 0 21.25 M0 63.75 C-0.53 51.51, -0.27 41.56, 0 21.25 M0 21.25 C0.96 8.35, 6.91 1.46, 21.25 0 M0 21.25 C-0.8 7.32, 8.73 1.07, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(952.3376482415015 93.10378386474531) rotate(0 82.09994506835938 25)"><text x="82.09994506835938" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Generate the </text><text x="82.09994506835938" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">shared key</text></g><g transform="translate(706.9132752497453 131.4276138530763) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(661.1031904551542 192.01567736077197) rotate(0 109.03693600044221 -0.06959360580904672)"><path d="M-0.95 1.11 C35.31 1.05, 181.95 -1.07, 218.54 -1.2 M0.75 0.65 C36.81 0.77, 181.61 0.18, 217.83 -0.22" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(661.1031904551542 192.01567736077197) rotate(0 109.03693600044221 -0.06959360580904672)"><path d="M189.72 10.24 C202.38 7.24, 209.5 3.36, 217.83 -0.22 M189.72 10.24 C199.82 7.5, 208.51 3.56, 217.83 -0.22" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(661.1031904551542 192.01567736077197) rotate(0 109.03693600044221 -0.06959360580904672)"><path d="M189.57 -10.29 C202.15 -5.44, 209.33 -1.48, 217.83 -0.22 M189.57 -10.29 C199.71 -6.07, 208.44 -3.05, 217.83 -0.22" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(260.0561922263171 10) rotate(0 110.05757116156985 32.177416550875904)"><path d="M16.09 0 C55.84 0.16, 99.91 -0.97, 204.03 0 M16.09 0 C81.5 -1.23, 148.35 -1.84, 204.03 0 M204.03 0 C214.47 -1.78, 219.55 5.25, 220.12 16.09 M204.03 0 C216.47 -0.58, 218.77 4.85, 220.12 16.09 M220.12 16.09 C219.34 25.22, 220.81 39.29, 220.12 48.27 M220.12 16.09 C220.14 24.55, 220.82 30.45, 220.12 48.27 M220.12 48.27 C220.34 58.69, 215.74 65.39, 204.03 64.35 M220.12 48.27 C219.52 57.19, 215.54 63.76, 204.03 64.35 M204.03 64.35 C137.68 63.68, 67.5 64.99, 16.09 64.35 M204.03 64.35 C137.5 62.45, 70.97 62.35, 16.09 64.35 M16.09 64.35 C5.32 64.6, -1.08 57.04, 0 48.27 M16.09 64.35 C4.72 65.1, 1.1 60.45, 0 48.27 M0 48.27 C-0.03 40.32, 0.7 30.55, 0 16.09 M0 48.27 C0.38 37.96, 0.11 27.09, 0 16.09 M0 16.09 C1.18 6.28, 5.6 1.61, 16.09 0 M0 16.09 C2.2 3.79, 5.98 1.61, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(310.8738113004845 29.677416550875932) rotate(0 59.23995208740246 12.5)"><text x="59.239952087402344" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">message[13]</text></g><g transform="translate(10 154.95864255311096) rotate(0 169.63987731933594 25)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Convert a Message to a Command</text><text x="0" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">and decrypt it</text></g><g stroke-linecap="round" transform="translate(28.833320294445457 12.14022262568983) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C74.87 -1.01, 130.26 -0.29, 204.03 0 M16.09 0 C69.69 0.56, 124.53 0.56, 204.03 0 M204.03 0 C214.63 -1.98, 219.17 3.62, 220.12 16.09 M204.03 0 C215.35 -0.42, 220.61 6.36, 220.12 16.09 M220.12 16.09 C219.59 26.73, 219.73 41.18, 220.12 48.27 M220.12 16.09 C220.97 25.05, 220.4 32.84, 220.12 48.27 M220.12 48.27 C222.12 60.78, 216.57 65.37, 204.03 64.35 M220.12 48.27 C220.52 58.46, 216.2 64.33, 204.03 64.35 M204.03 64.35 C165.79 65.05, 126.36 63.46, 16.09 64.35 M204.03 64.35 C153.04 61.81, 101.79 61.82, 16.09 64.35 M16.09 64.35 C3.93 65.44, 1.18 58.88, 0 48.27 M16.09 64.35 C3.47 63.43, -0.2 58.94, 0 48.27 M0 48.27 C-1.63 38.88, -1.56 33.95, 0 16.09 M0 48.27 C-0.58 40.11, 0 32.96, 0 16.09 M0 16.09 C0.2 5.55, 5.68 0.74, 16.09 0 M0 16.09 C0.52 4.07, 6.48 -1.97, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(39.35098972261676 31.817639176565763) rotate(0 99.53990173339844 12.5)"><text x="99.53990173339844" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">encryptionPrivateKey</text></g><g stroke-linecap="round" transform="translate(500.4915278113094 10.485227444192901) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C75.54 0.87, 132.08 -1.22, 204.03 0 M16.09 0 C85.47 -0.9, 154.86 0.49, 204.03 0 M204.03 0 C214.96 0.7, 218.6 7.34, 220.12 16.09 M204.03 0 C212.69 -0.18, 221.93 5.38, 220.12 16.09 M220.12 16.09 C219.5 26.84, 219.36 33.32, 220.12 48.27 M220.12 16.09 C220.11 27.08, 220.7 36.79, 220.12 48.27 M220.12 48.27 C219.03 58.37, 213.68 63.86, 204.03 64.35 M220.12 48.27 C221.65 58.46, 214.13 63.76, 204.03 64.35 M204.03 64.35 C151.63 64.13, 101.46 67.19, 16.09 64.35 M204.03 64.35 C162.42 66.12, 119.47 65.79, 16.09 64.35 M16.09 64.35 C3.81 64.81, -0.64 58.55, 0 48.27 M16.09 64.35 C4.1 63.29, 0.1 58.67, 0 48.27 M0 48.27 C-0.65 35.95, 0.26 28.09, 0 16.09 M0 48.27 C-0.27 39.23, -0.38 29.31, 0 16.09 M0 16.09 C1.59 5.56, 7.11 -0.61, 16.09 0 M0 16.09 C-2.02 7.08, 5.78 0.42, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(519.9191932721956 30.162643995068834) rotate(0 90.6299057006836 12.5)"><text x="90.6299057006836" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">encryptionPublicKey</text></g><g stroke-linecap="round" transform="translate(127.20273886174391 296.994703833528) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C81.37 1.76, 145 2.31, 204.03 0 M16.09 0 C61.76 0.44, 108.94 0.23, 204.03 0 M204.03 0 C216.19 1.09, 222.02 4.2, 220.12 16.09 M204.03 0 C214.56 -1.54, 218.22 6.42, 220.12 16.09 M220.12 16.09 C220.37 23.85, 219.66 35.72, 220.12 48.27 M220.12 16.09 C220.92 25.25, 220.34 35.26, 220.12 48.27 M220.12 48.27 C219 60.26, 213.1 63.54, 204.03 64.35 M220.12 48.27 C222.07 56.94, 214.54 62.48, 204.03 64.35 M204.03 64.35 C161.87 63.96, 123.46 64.41, 16.09 64.35 M204.03 64.35 C162.01 63.33, 119.76 64.53, 16.09 64.35 M16.09 64.35 C4.92 65.58, -0.16 58.84, 0 48.27 M16.09 64.35 C6.05 63.12, -1.11 59.62, 0 48.27 M0 48.27 C1.01 36.43, 0.62 24.9, 0 16.09 M0 48.27 C-0.8 41.83, -0.72 33.93, 0 16.09 M0 16.09 C1.62 6.89, 4.71 0.75, 16.09 0 M0 16.09 C-1.73 6.38, 4.39 -1.7, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(187.3703564100324 316.6721203844039) rotate(0 49.88995361328125 12.5)"><text x="49.88995361328125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">newPubKey</text></g><g stroke-linecap="round" transform="translate(615.8220771206579 300.86492548466845) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C90.93 0.16, 166.05 -1.24, 204.03 0 M16.09 0 C80.61 -1.11, 144.03 -0.88, 204.03 0 M204.03 0 C214.41 -0.21, 218.73 6.53, 220.12 16.09 M204.03 0 C216.56 -0.65, 218.7 4.19, 220.12 16.09 M220.12 16.09 C221.26 24.29, 220.73 34.46, 220.12 48.27 M220.12 16.09 C219.13 27.56, 219.21 38.14, 220.12 48.27 M220.12 48.27 C220.42 59.58, 215.36 63.48, 204.03 64.35 M220.12 48.27 C222.35 57.47, 212.89 64.62, 204.03 64.35 M204.03 64.35 C138.78 65.9, 72.02 63.58, 16.09 64.35 M204.03 64.35 C140.33 65.1, 78.5 65.84, 16.09 64.35 M16.09 64.35 C5.83 63.31, -1.79 59.79, 0 48.27 M16.09 64.35 C4.08 64.82, 1.1 58.74, 0 48.27 M0 48.27 C-1.02 40.86, 1.61 32.08, 0 16.09 M0 48.27 C0.59 38.41, 0.76 30.69, 0 16.09 M0 16.09 C1.3 5.78, 4.33 0.51, 16.09 0 M0 16.09 C-1.7 3.69, 6.91 -0.03, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(646.8497257968761 320.5423420355444) rotate(0 79.02992248535156 12.5)"><text x="79.02992248535156" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">voteOptionIndex</text></g><g stroke-linecap="round" transform="translate(138.34568778561265 385.6397407753848) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C85.59 -1.67, 154.01 -0.24, 204.03 0 M16.09 0 C82.43 1.57, 148.16 1.45, 204.03 0 M204.03 0 C216.28 1.21, 221.49 7.23, 220.12 16.09 M204.03 0 C216.49 1.29, 218.74 4.49, 220.12 16.09 M220.12 16.09 C218.81 25.97, 218.58 38.94, 220.12 48.27 M220.12 16.09 C220.93 25.77, 220.66 33.59, 220.12 48.27 M220.12 48.27 C221.97 60.03, 213.41 63.63, 204.03 64.35 M220.12 48.27 C221.17 60.08, 216.07 64.48, 204.03 64.35 M204.03 64.35 C163.72 61.42, 126.39 61.66, 16.09 64.35 M204.03 64.35 C145.65 64.49, 87.64 64.95, 16.09 64.35 M16.09 64.35 C7.09 62.54, 0.73 58.3, 0 48.27 M16.09 64.35 C4.37 64.8, -0.35 58.63, 0 48.27 M0 48.27 C-1.38 35.08, -0.25 26.52, 0 16.09 M0 48.27 C-0.75 39.56, -0.6 29.55, 0 16.09 M0 16.09 C1.28 4.69, 4.76 1.12, 16.09 0 M0 16.09 C2.15 5.22, 3.28 -1.72, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(179.62332120304177 405.3171573262607) rotate(0 68.77993774414062 12.5)"><text x="68.77993774414062" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">newVoteWeight</text></g><g stroke-linecap="round" transform="translate(380.17029427452917 384.77626502851683) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C55.62 -1.89, 97.96 -0.2, 204.03 0 M16.09 0 C66.32 -2.59, 116.81 -1.31, 204.03 0 M204.03 0 C216.02 -1.6, 219.54 7.23, 220.12 16.09 M204.03 0 C213.87 -1.53, 219.76 3.37, 220.12 16.09 M220.12 16.09 C221.53 22.17, 219.2 29.34, 220.12 48.27 M220.12 16.09 C220.31 25.16, 220.23 33.92, 220.12 48.27 M220.12 48.27 C219.12 58.69, 212.81 64.22, 204.03 64.35 M220.12 48.27 C218.79 61.1, 212.91 62.17, 204.03 64.35 M204.03 64.35 C153.48 64.47, 101.13 61, 16.09 64.35 M204.03 64.35 C148.84 66.77, 93.61 66.71, 16.09 64.35 M16.09 64.35 C3.52 65.16, 0.83 60.94, 0 48.27 M16.09 64.35 C5.08 66.55, 0.47 59.98, 0 48.27 M0 48.27 C0.93 41.27, 0.52 31.21, 0 16.09 M0 48.27 C-0.63 38.18, 0.16 29.98, 0 16.09 M0 16.09 C0.2 4, 5.31 0.59, 16.09 0 M0 16.09 C1.94 4.47, 5.14 1.01, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(464.8578855777005 404.45368157939276) rotate(0 25.369979858398438 12.5)"><text x="25.369979858398438" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">nonce</text></g><g stroke-linecap="round" transform="translate(625.7777468925829 382.02136621708087) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C83.38 3.06, 150.82 1.37, 204.03 0 M16.09 0 C76.6 -1.42, 137.18 -1.1, 204.03 0 M204.03 0 C216.46 0.49, 219.13 5.51, 220.12 16.09 M204.03 0 C214.55 -1.6, 218.55 4.9, 220.12 16.09 M220.12 16.09 C219.4 26.82, 218.23 38.8, 220.12 48.27 M220.12 16.09 C219.99 24.96, 219.59 34.09, 220.12 48.27 M220.12 48.27 C220.42 60.12, 215.86 64.03, 204.03 64.35 M220.12 48.27 C219.35 57.72, 215.9 64.43, 204.03 64.35 M204.03 64.35 C163.47 65.84, 125.27 67.02, 16.09 64.35 M204.03 64.35 C149.76 63.89, 95.89 62.77, 16.09 64.35 M16.09 64.35 C6.32 64.56, -1.41 58.02, 0 48.27 M16.09 64.35 C3.62 64.92, 0.71 59, 0 48.27 M0 48.27 C1.37 39.37, 1.33 25.76, 0 16.09 M0 48.27 C0.05 39.76, -0.89 29.45, 0 16.09 M0 16.09 C1.34 5.04, 6.72 -1.73, 16.09 0 M0 16.09 C0.25 7.4, 5.7 -1.97, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(708.9653458251487 401.6987827679568) rotate(0 26.869972229003906 12.5)"><text x="26.869972229003906" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">pollId</text></g><g stroke-linecap="round" transform="translate(141.1108660702248 473.57035433144017) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C56.2 0.83, 98.36 0.01, 204.03 0 M16.09 0 C74.74 -0.12, 134.58 0.78, 204.03 0 M204.03 0 C215.58 1.36, 219.4 6.02, 220.12 16.09 M204.03 0 C213.04 -1.6, 218.77 5.06, 220.12 16.09 M220.12 16.09 C220.1 26.04, 218.1 35.76, 220.12 48.27 M220.12 16.09 C219.68 27.43, 220.47 38.42, 220.12 48.27 M220.12 48.27 C220.6 57.66, 216.06 63.59, 204.03 64.35 M220.12 48.27 C220.52 57.83, 215.34 62.06, 204.03 64.35 M204.03 64.35 C166.96 62.99, 129.06 64.17, 16.09 64.35 M204.03 64.35 C141.76 64.98, 80.51 64, 16.09 64.35 M16.09 64.35 C6.56 64.49, -1.02 60.48, 0 48.27 M16.09 64.35 C4.25 62.07, -0.81 58.8, 0 48.27 M0 48.27 C1.01 41.02, 1.25 34.12, 0 16.09 M0 48.27 C0.42 37.09, 0.79 28.07, 0 16.09 M0 16.09 C-0.69 4.86, 4.79 1.73, 16.09 0 M0 16.09 C-0.8 6.18, 3.44 1.37, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(230.78845523716564 493.2477708823161) rotate(0 20.379981994628906 12.5)"><text x="20.379981994628906" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">salt</text></g><g stroke-linecap="round" transform="translate(378.1709367416031 473.62175169732507) rotate(0 110.05757116156985 32.177416550875904)"><path d="M16.09 0 C69.35 -1.44, 125.22 -1.45, 204.03 0 M16.09 0 C87.05 1.14, 160.19 1.54, 204.03 0 M204.03 0 C213.77 0.53, 219.51 4.65, 220.12 16.09 M204.03 0 C213.4 0.09, 221.56 6.65, 220.12 16.09 M220.12 16.09 C220.74 25.1, 219.18 34.78, 220.12 48.27 M220.12 16.09 C220.5 24.26, 220.12 33.58, 220.12 48.27 M220.12 48.27 C219.34 59.3, 216.32 63.4, 204.03 64.35 M220.12 48.27 C219.9 58.95, 214.26 65.58, 204.03 64.35 M204.03 64.35 C157.31 66.39, 112.54 66.89, 16.09 64.35 M204.03 64.35 C142.94 66.02, 82.63 65.99, 16.09 64.35 M16.09 64.35 C4.26 64.32, -1 57.41, 0 48.27 M16.09 64.35 C3.83 65.37, -0.35 58.51, 0 48.27 M0 48.27 C1.51 35.21, -0.34 21.41, 0 16.09 M0 48.27 C-0.1 35.35, 0.43 23.54, 0 16.09 M0 16.09 C0.36 4.33, 5.07 -0.64, 16.09 0 M0 16.09 C-0.85 5.47, 7.16 0.02, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(436.37855520541916 493.299168248201) rotate(0 51.849952697753906 12.5)"><text x="51.849952697753906" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">signatureR</text></g><g stroke-linecap="round" transform="translate(621.964062343915 473.8581795803959) rotate(0 110.05757116156974 32.177416550875904)"><path d="M16.09 0 C73.63 -0.37, 127.99 2.16, 204.03 0 M16.09 0 C75.07 -0.4, 133.78 0.39, 204.03 0 M204.03 0 C213.33 0.88, 219.12 3.41, 220.12 16.09 M204.03 0 C214.53 0.01, 221.86 6.45, 220.12 16.09 M220.12 16.09 C221.08 21.46, 222.04 28.59, 220.12 48.27 M220.12 16.09 C220.84 27.7, 220.48 40.27, 220.12 48.27 M220.12 48.27 C220.83 59.66, 215.72 63.7, 204.03 64.35 M220.12 48.27 C218.8 57.65, 214.11 66.53, 204.03 64.35 M204.03 64.35 C139.9 61.18, 74.37 64.58, 16.09 64.35 M204.03 64.35 C132.49 64.23, 60.65 64.26, 16.09 64.35 M16.09 64.35 C6.84 65.67, -1.33 58.6, 0 48.27 M16.09 64.35 C6.16 64.17, -0.52 61.16, 0 48.27 M0 48.27 C-1.78 35.29, 0.83 23.03, 0 16.09 M0 48.27 C0.69 34.67, -0.38 22.07, 0 16.09 M0 16.09 C1.13 5.03, 6.97 0.8, 16.09 0 M0 16.09 C0.96 3.38, 3.3 -0.35, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(680.8716853853675 493.53559613127186) rotate(0 51.14994812011719 12.5)"><text x="51.14994812011719" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">signatureS</text></g><g stroke-linecap="round" transform="translate(379.2091635324789 559.1469685299625) rotate(0 110.05757116156985 32.177416550875904)"><path d="M16.09 0 C79.62 0.18, 148.36 -0.6, 204.03 0 M16.09 0 C78.3 0.89, 141.24 0.16, 204.03 0 M204.03 0 C216.65 0.91, 218.72 7.18, 220.12 16.09 M204.03 0 C215.4 -0.84, 221.98 3.09, 220.12 16.09 M220.12 16.09 C219.36 25.41, 218 32.58, 220.12 48.27 M220.12 16.09 C219.63 28.46, 219.36 41.77, 220.12 48.27 M220.12 48.27 C221.42 60.6, 213.29 63.73, 204.03 64.35 M220.12 48.27 C220.56 56.95, 217.01 62.89, 204.03 64.35 M204.03 64.35 C129.86 66.12, 60.38 64.21, 16.09 64.35 M204.03 64.35 C159.2 65.74, 113.04 64.79, 16.09 64.35 M16.09 64.35 C3.73 65.34, 1.61 57.2, 0 48.27 M16.09 64.35 C4.22 66.56, 1.58 60.22, 0 48.27 M0 48.27 C1.36 36.64, -2.17 27.85, 0 16.09 M0 48.27 C0.35 37.35, -0.71 28.05, 0 16.09 M0 16.09 C-0.85 5.07, 7.22 1.38, 16.09 0 M0 16.09 C-0.87 5.33, 3.38 -0.7, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(414.9467960343809 578.8243850808384) rotate(0 74.31993865966797 12.5)"><text x="74.31993865966797" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">packedCommand</text></g><g stroke-linecap="round" transform="translate(1230.3032849587566 76.83755565584613) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C74.41 1.61, 130.93 0.72, 198.87 0 M21.25 0 C72.15 -0.47, 120.83 -1.51, 198.87 0 M198.87 0 C212.42 1.62, 218.29 5.92, 220.12 21.25 M198.87 0 C214.49 -1.16, 220.17 8.46, 220.12 21.25 M220.12 21.25 C221.08 34.4, 220.76 49.79, 220.12 63.75 M220.12 21.25 C220.99 30.74, 220.1 41.97, 220.12 63.75 M220.12 63.75 C218.67 76.52, 212.64 85.63, 198.87 85 M220.12 63.75 C219.07 77.15, 214.43 83.96, 198.87 85 M198.87 85 C161.53 85.51, 124.45 86.6, 21.25 85 M198.87 85 C135.61 84.88, 71.72 83.82, 21.25 85 M21.25 85 C5.39 86.19, -0.55 78.87, 0 63.75 M21.25 85 C7.66 87.07, -1.19 77.86, 0 63.75 M0 63.75 C0.41 53.48, -2 38.85, 0 21.25 M0 63.75 C-0.46 51.69, 0.23 41.41, 0 21.25 M0 21.25 C-0.26 8.33, 8.9 -0.03, 21.25 0 M0 21.25 C-0.59 8.3, 9.29 1.27, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1244.4909372970842 106.83755565584613) rotate(0 95.86991882324219 12.5)"><text x="95.86991882324219" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">use ECDH template</text></g><g stroke-linecap="round"><g transform="translate(1168.5394619667768 127.34012552414043) rotate(0 26.477353035656733 -1.5878260443664374)"><path d="M-0.81 -0.16 C8.23 -0.61, 44.38 -3.33, 53.5 -3.68 M0.96 -1.29 C9.96 -1.49, 44.06 -1.94, 52.84 -2.41" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1168.5394619667768 127.34012552414043) rotate(0 26.477353035656733 -1.5878260443664374)"><path d="M28.21 7.43 C33.88 6.17, 39.16 4.52, 52.84 -2.41 M28.21 7.43 C36.76 3.1, 47.36 -0.75, 52.84 -2.41" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1168.5394619667768 127.34012552414043) rotate(0 26.477353035656733 -1.5878260443664374)"><path d="M27.65 -10.71 C33.31 -7.65, 38.71 -4.98, 52.84 -2.41 M27.65 -10.71 C36.56 -8.25, 47.37 -5.31, 52.84 -2.41" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(933.9512130024445 180.2079379237549) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C84.69 0.56, 146.63 -0.27, 198.87 0 M21.25 0 C71.27 -0.99, 118.54 -0.96, 198.87 0 M198.87 0 C211.12 -0.7, 219.3 6.55, 220.12 21.25 M198.87 0 C212.96 0.49, 221.87 8.21, 220.12 21.25 M220.12 21.25 C220.47 30.7, 222.43 41.28, 220.12 63.75 M220.12 21.25 C220.4 34.86, 220.45 48.41, 220.12 63.75 M220.12 63.75 C218.46 78.17, 214.93 83.05, 198.87 85 M220.12 63.75 C221.22 76.11, 211.49 85.7, 198.87 85 M198.87 85 C133.15 87.13, 67.58 86.17, 21.25 85 M198.87 85 C129.03 83.28, 60.52 83.58, 21.25 85 M21.25 85 C6.63 86.1, 1.44 79.66, 0 63.75 M21.25 85 C5.85 87.25, 1.88 80.07, 0 63.75 M0 63.75 C0.59 53.26, 0.65 47.65, 0 21.25 M0 63.75 C-0.05 48.59, 0.07 35.57, 0 21.25 M0 21.25 C1.98 8.31, 8.67 -0.42, 21.25 0 M0 21.25 C1.48 7.71, 6.83 -0.46, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(952.6088818202643 197.7079379237549) rotate(0 91.39990234375 25)"><text x="91.39990234375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Decrypt using </text><text x="91.39990234375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">PoseidonDecryption</text></g><g stroke-linecap="round" transform="translate(1243.132067483653 181.27330894849) rotate(0 139.13306104271328 67.5)"><path d="M32 0 C83.11 -0.14, 131.75 -1.82, 246.27 0 M32 0 C83.23 0.57, 134.42 1.36, 246.27 0 M246.27 0 C266.54 1.37, 277.32 9.03, 278.27 32 M246.27 0 C269.27 -1.05, 278.72 12.57, 278.27 32 M278.27 32 C279.36 58.82, 277.23 84.25, 278.27 103 M278.27 32 C277.22 47.31, 278.79 61.15, 278.27 103 M278.27 103 C276.97 123.83, 267.18 133.22, 246.27 135 M278.27 103 C279.65 125.82, 267.98 134.69, 246.27 135 M246.27 135 C176.23 132.52, 103.45 132.56, 32 135 M246.27 135 C194.55 137.5, 141.51 137.32, 32 135 M32 135 C11.66 135.03, 0.14 123.55, 0 103 M32 135 C9.41 136.65, -1.01 125.51, 0 103 M0 103 C1.49 85.28, -1.4 65.93, 0 32 M0 103 C-0.82 83.67, 0.49 63.58, 0 32 M0 32 C0.21 10.62, 9.34 0.94, 32 0 M0 32 C-2.02 8.94, 8.81 -1.47, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1250.7552103134753 186.27330894849) rotate(0 131.50991821289062 62.5)"><text x="131.50991821289062" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">we pass all parts of the </text><text x="131.50991821289062" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">message but not the first</text><text x="131.50991821289062" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">item which is the message </text><text x="131.50991821289062" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">type + the nonce and the </text><text x="131.50991821289062" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">shared key</text></g><g stroke-linecap="round"><g transform="translate(1164.8336907311464 223.3455833495584) rotate(0 31.108255701895132 -1.3475780830112285)"><path d="M0.82 -0.49 C11.05 -0.56, 51.12 -1.32, 61.25 -1.5 M-0.2 -1.79 C10.41 -2.07, 53.33 -2.74, 63.45 -2.99" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1164.8336907311464 223.3455833495584) rotate(0 31.108255701895132 -1.3475780830112285)"><path d="M35.47 7.82 C42.81 2.9, 53.67 0.38, 63.45 -2.99 M35.47 7.82 C47.03 2.9, 56.45 -1.81, 63.45 -2.99" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1164.8336907311464 223.3455833495584) rotate(0 31.108255701895132 -1.3475780830112285)"><path d="M35.06 -12.69 C42.33 -11.71, 53.31 -8.33, 63.45 -2.99 M35.06 -12.69 C46.89 -9.56, 56.47 -6.22, 63.45 -2.99" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(931.3710652350173 292.1939642649051) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C65.72 -2.02, 107.85 0.18, 198.87 0 M21.25 0 C62.63 -0.81, 105.04 -0.49, 198.87 0 M198.87 0 C214.28 1.34, 218.9 8.31, 220.12 21.25 M198.87 0 C214.84 0.38, 218.77 9.15, 220.12 21.25 M220.12 21.25 C219.67 31.04, 219.9 44.65, 220.12 63.75 M220.12 21.25 C219.48 32.88, 221.2 45.59, 220.12 63.75 M220.12 63.75 C220.55 78.65, 212.73 85.91, 198.87 85 M220.12 63.75 C221.94 77.16, 213.77 83.03, 198.87 85 M198.87 85 C136.85 83.66, 77.92 83.05, 21.25 85 M198.87 85 C135.71 85.12, 71.02 86.05, 21.25 85 M21.25 85 C8.1 86.3, 0.24 79.47, 0 63.75 M21.25 85 C8 84.12, -0.98 78.05, 0 63.75 M0 63.75 C1.08 47.38, 1.1 36.62, 0 21.25 M0 63.75 C-0.69 54.91, -0.23 46.06, 0 21.25 M0 21.25 C-1.12 6.2, 7.23 -1.47, 21.25 0 M0 21.25 C-1.12 8.78, 7.54 -0.39, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(968.9786852247121 309.6939642649051) rotate(0 72.449951171875 25)"><text x="72.449951171875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. unpack the </text><text x="72.449951171875" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">output </text></g><g stroke-linecap="round" transform="translate(937.8317141267621 405.95689391476054) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C66.74 -1.21, 114.46 -1.82, 198.87 0 M21.25 0 C80.21 -0.67, 139.49 -0.77, 198.87 0 M198.87 0 C212.68 -1.69, 219.02 8.49, 220.12 21.25 M198.87 0 C211.84 0.61, 217.88 7.21, 220.12 21.25 M220.12 21.25 C219.54 29.07, 220.48 38.41, 220.12 63.75 M220.12 21.25 C220.37 29.95, 220.33 40.4, 220.12 63.75 M220.12 63.75 C221.92 77.44, 211.68 84.55, 198.87 85 M220.12 63.75 C219.25 76.96, 213.57 86.81, 198.87 85 M198.87 85 C157.64 82.39, 119.98 81.63, 21.25 85 M198.87 85 C147.63 84.54, 96.31 85.39, 21.25 85 M21.25 85 C6.51 86.48, -0.31 78.56, 0 63.75 M21.25 85 C7.6 86.89, -0.25 78.94, 0 63.75 M0 63.75 C-0.32 51.06, -0.23 33.51, 0 21.25 M0 63.75 C0.87 49.29, 0.72 33.68, 0 21.25 M0 21.25 C-1.82 8.88, 5.46 -0.2, 21.25 0 M0 21.25 C-0.23 8.64, 5.1 0.61, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(946.8893768410662 423.45689391476054) rotate(0 100.99990844726562 25)"><text x="100.99990844726562" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">4. wire everything to</text><text x="100.99990844726562" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the output signals</text></g><g stroke-linecap="round" transform="translate(1250.3996550197917 338.759817139945) rotate(0 139.13306104271328 55)"><path d="M27.5 0 C88.41 0.71, 148.09 -2.28, 250.77 0 M27.5 0 C75.03 -0.67, 121.12 -1.14, 250.77 0 M250.77 0 C269.31 1.74, 278.5 7.76, 278.27 27.5 M250.77 0 C269.91 -1.91, 277.95 9.48, 278.27 27.5 M278.27 27.5 C276.85 39.04, 278.86 52.37, 278.27 82.5 M278.27 27.5 C277.39 45.87, 277.73 63.12, 278.27 82.5 M278.27 82.5 C279.91 101.72, 270.05 111.44, 250.77 110 M278.27 82.5 C279.01 102.86, 270.54 112.14, 250.77 110 M250.77 110 C159.86 111.04, 70.61 110.39, 27.5 110 M250.77 110 C163.73 111.28, 77.44 111.59, 27.5 110 M27.5 110 C10.27 111.45, 1.53 101.09, 0 82.5 M27.5 110 C10.16 107.93, 0.49 101.47, 0 82.5 M0 82.5 C0.7 61.95, -0.73 41.13, 0 27.5 M0 82.5 C0.35 66.29, 0.33 49.98, 0 27.5 M0 27.5 C1.27 10.1, 9.94 0.79, 27.5 0 M0 27.5 C1.2 11.27, 9.95 1.32, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1268.9228070048875 368.759817139945) rotate(0 120.60990905761719 25)"><text x="120.60990905761719" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Also we pass the nonce </text><text x="120.60990905761719" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">and the shared key</text></g><g stroke-linecap="round"><g transform="translate(1171.4485528758678 344.0757943149472) rotate(0 33.212977834885805 28.31014262848322)"><path d="M0.9 -0.74 C12.12 8.92, 56.07 47.88, 67.03 57.56 M-0.09 1.48 C11.06 10.86, 55.38 46.95, 66.41 55.94" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1171.4485528758678 344.0757943149472) rotate(0 33.212977834885805 28.31014262848322)"><path d="M38.07 46.08 C44.56 49.58, 55.14 51.72, 66.41 55.94 M38.07 46.08 C49.28 50.25, 58.09 52.56, 66.41 55.94" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1171.4485528758678 344.0757943149472) rotate(0 33.212977834885805 28.31014262848322)"><path d="M51.04 30.17 C53.92 38.13, 60.94 44.63, 66.41 55.94 M51.04 30.17 C57.53 40.19, 61.63 48.28, 66.41 55.94" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask></svg>
@@ -0,0 +1,21 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1922.5493337803928 1144.4129777365727" width="5767.648001341178" height="3433.238933209718">
2
+ <!-- svg-source:excalidraw -->
3
+
4
+ <defs>
5
+ <style class="style-fonts">
6
+ @font-face {
7
+ font-family: "Virgil";
8
+ src: url("https://excalidraw.com/Virgil.woff2");
9
+ }
10
+ @font-face {
11
+ font-family: "Cascadia";
12
+ src: url("https://excalidraw.com/Cascadia.woff2");
13
+ }
14
+ @font-face {
15
+ font-family: "Assistant";
16
+ src: url("https://excalidraw.com/Assistant-Regular.woff2");
17
+ }
18
+ </style>
19
+
20
+ </defs>
21
+ <rect x="0" y="0" width="1922.5493337803928" height="1144.4129777365727" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(435.22724706102053 437.03655664367534) rotate(0 114.33810379333909 33.800522136203085)"><path d="M16.9 0 C60.88 1.89, 100.57 0.59, 211.78 0 M16.9 0 C75.43 1.5, 132.21 1.84, 211.78 0 M211.78 0 C222.37 0.44, 228.68 5.37, 228.68 16.9 M211.78 0 C222.19 -0.07, 229.51 6.1, 228.68 16.9 M228.68 16.9 C230.23 27.1, 229.48 34.77, 228.68 50.7 M228.68 16.9 C228.83 26.34, 227.71 35.66, 228.68 50.7 M228.68 50.7 C226.68 60.55, 224.41 69.24, 211.78 67.6 M228.68 50.7 C228.65 61.45, 224.64 65.46, 211.78 67.6 M211.78 67.6 C167.44 69.69, 124.45 69.53, 16.9 67.6 M211.78 67.6 C165.3 65.57, 120.13 65.95, 16.9 67.6 M16.9 67.6 C4.43 67.84, -0.34 62.29, 0 50.7 M16.9 67.6 C4.1 65.82, -0.14 61.19, 0 50.7 M0 50.7 C1.34 40.41, -1.13 27.77, 0 16.9 M0 50.7 C0.63 38.16, -0.42 23.44, 0 16.9 M0 16.9 C0.28 5.12, 4.59 1.52, 16.9 0 M0 16.9 C1.25 6.59, 7.72 -0.62, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(463.915425622426 458.3370787798783) rotate(0 85.6499252319336 12.5)"><text x="85.6499252319336" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">MessageValidator</text></g><g stroke-linecap="round"><g transform="translate(516.450471793428 364.7795262069899) rotate(0 2.176047493926717 33.47421452865149)"><path d="M0.18 -0.02 C0.76 11.13, 3.68 54.8, 4.46 65.94 M-1.19 -1.08 C-0.84 10.27, 2.64 55.43, 3.56 66.95" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(516.450471793428 364.7795262069899) rotate(0 2.176047493926717 33.47421452865149)"><path d="M-8.85 39.63 C-4.39 50.16, -1.33 61.19, 3.56 66.95 M-8.85 39.63 C-5.89 47.65, -1.99 55.12, 3.56 66.95" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(516.450471793428 364.7795262069899) rotate(0 2.176047493926717 33.47421452865149)"><path d="M11.61 38.05 C8.29 49.2, 3.58 60.83, 3.56 66.95 M11.61 38.05 C8.7 46.56, 6.73 54.49, 3.56 66.95" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(582.2121518038894 389.9138054469654) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g transform="translate(593.4983879158926 538.4807131534612) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(532.7938140611277 523.795845055125) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-0.51 0.11 C-0.51 6.98, 0.1 34.34, 0.26 41.14 M0.23 -0.31 C0.13 6.4, -0.25 33.27, -0.27 40.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(532.7938140611277 523.795845055125) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-7.11 20.9 C-4.58 27.2, -2.23 34.14, -0.27 40.24 M-7.11 20.9 C-5 26.55, -3.32 32.02, -0.27 40.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(532.7938140611277 523.795845055125) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M6.93 21.03 C4.66 27.22, 2.22 34.12, -0.27 40.24 M6.93 21.03 C5.01 26.64, 2.66 32.07, -0.27 40.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(435.9578683491818 589.7221873215335) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C55.44 0.64, 93.64 -0.1, 204.03 0 M16.09 0 C71.71 -0.33, 127.61 0.39, 204.03 0 M204.03 0 C215.5 0.79, 219.08 4.68, 220.12 16.09 M204.03 0 C213.15 2.26, 221 6.42, 220.12 16.09 M220.12 16.09 C218.95 24.75, 222.01 30.66, 220.12 48.27 M220.12 16.09 C219.57 25.09, 220.53 33.53, 220.12 48.27 M220.12 48.27 C221.84 58.62, 216.31 63.11, 204.03 64.35 M220.12 48.27 C220.66 57.15, 214.34 63.28, 204.03 64.35 M204.03 64.35 C130.05 62.88, 55.92 61.88, 16.09 64.35 M204.03 64.35 C162.41 63.67, 120.01 64.38, 16.09 64.35 M16.09 64.35 C5.81 63.21, -1.45 60.81, 0 48.27 M16.09 64.35 C6.5 63.85, 1.83 60.55, 0 48.27 M0 48.27 C-0.25 38.38, 1.78 31.66, 0 16.09 M0 48.27 C-0.82 37.78, -0.29 26.58, 0 16.09 M0 16.09 C-0.72 6.06, 6.28 1.29, 16.09 0 M0 16.09 C-0.06 4.88, 6.97 0.06, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(516.0454688076265 609.3996038724094) rotate(0 29.969970703125 12.5)"><text x="29.969970703125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">isValid</text></g><g stroke-linecap="round" transform="translate(1022.7661530547443 224.19093407171704) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C74.48 1.38, 128.24 0.25, 198.87 0 M21.25 0 C75.71 -0.97, 128.91 -1.71, 198.87 0 M198.87 0 C211.64 1.97, 220.89 8, 220.12 21.25 M198.87 0 C211.35 1.82, 217.82 5.45, 220.12 21.25 M220.12 21.25 C220.02 38.29, 218.6 51.02, 220.12 63.75 M220.12 21.25 C221.06 34.09, 220.97 46.67, 220.12 63.75 M220.12 63.75 C220.59 76.31, 212.67 84.07, 198.87 85 M220.12 63.75 C222.3 77.71, 211.65 85.27, 198.87 85 M198.87 85 C147.06 83.69, 97.68 84.17, 21.25 85 M198.87 85 C146.65 85.6, 93.25 87.09, 21.25 85 M21.25 85 C8.07 84.56, 1.59 79.27, 0 63.75 M21.25 85 C6.51 83.09, 0.32 77.33, 0 63.75 M0 63.75 C0.51 55.04, -0.86 41.64, 0 21.25 M0 63.75 C-0.36 49.2, 0.45 34.59, 0 21.25 M0 21.25 C-0.05 6.66, 8.48 0.05, 21.25 0 M0 21.25 C1.49 5.22, 9.14 -0.73, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1036.1538099707086 229.19093407171704) rotate(0 96.66991424560547 37.5)"><text x="96.66991424560547" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Check that the </text><text x="96.66991424560547" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">stateTreeIndex is </text><text x="96.66991424560547" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">valid</text></g><g transform="translate(770.426222631032 420.51448574058713) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(724.6161378364404 481.1025492482827) rotate(0 109.03693600044221 -0.0695936058090183)"><path d="M-0.16 0.92 C36.31 0.97, 182.25 0.58, 218.52 0.33 M-1.7 0.36 C34.67 0.04, 181.46 -1.57, 217.81 -1.54" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(724.6161378364404 481.1025492482827) rotate(0 109.03693600044221 -0.0695936058090183)"><path d="M189.68 8.89 C199.08 6.75, 206.2 2.06, 217.81 -1.54 M189.68 8.89 C197.61 6.3, 203.97 3.86, 217.81 -1.54" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(724.6161378364404 481.1025492482827) rotate(0 109.03693600044221 -0.0695936058090183)"><path d="M189.56 -11.63 C199 -8.03, 206.15 -6.98, 217.81 -1.54 M189.56 -11.63 C197.38 -8.77, 203.77 -5.75, 217.81 -1.54" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(245.59108113639468 295.6407472359065) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C70.83 -1.73, 123.31 -2.09, 204.03 0 M16.09 0 C90.24 -0.07, 164.85 -1.57, 204.03 0 M204.03 0 C216.12 1.63, 220.09 4.92, 220.12 16.09 M204.03 0 C216.35 -2.14, 218.35 5.51, 220.12 16.09 M220.12 16.09 C219.6 27.9, 218.73 37.08, 220.12 48.27 M220.12 16.09 C221.01 23.07, 219.45 30.36, 220.12 48.27 M220.12 48.27 C219.77 59.31, 213.41 62.8, 204.03 64.35 M220.12 48.27 C219.98 58.22, 215.16 64.25, 204.03 64.35 M204.03 64.35 C154.44 63.32, 108.97 65.76, 16.09 64.35 M204.03 64.35 C151.51 64.79, 99.64 65.37, 16.09 64.35 M16.09 64.35 C4.32 65.87, 1.09 59.82, 0 48.27 M16.09 64.35 C7.45 63.74, -1.21 60.16, 0 48.27 M0 48.27 C0.6 39.51, 1.19 28.89, 0 16.09 M0 48.27 C0.42 38.48, 0.67 30, 0 16.09 M0 16.09 C0.14 6.23, 5.24 -0.25, 16.09 0 M0 16.09 C-0.27 5.16, 6.44 2.03, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(304.9787075347808 315.3181637867824) rotate(0 50.669944763183594 12.5)"><text x="50.669944763183594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">numSignups</text></g><g transform="translate(73.51294738128672 444.0455144406219) rotate(0 143.47988891601562 25)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Validate whether a message </text><text x="0" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">is valid or not</text></g><g stroke-linecap="round" transform="translate(14.368209204522827 297.78096986159653) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C60.3 -2.19, 104.25 -2.72, 204.03 0 M16.09 0 C59.11 -1.76, 102.85 -2.47, 204.03 0 M204.03 0 C213.21 0.13, 220.49 4.51, 220.12 16.09 M204.03 0 C216.73 -0.43, 221.91 3.93, 220.12 16.09 M220.12 16.09 C218.92 28.4, 219.68 35.71, 220.12 48.27 M220.12 16.09 C219.39 25.35, 220 35.82, 220.12 48.27 M220.12 48.27 C220.47 58.9, 213.91 65.68, 204.03 64.35 M220.12 48.27 C220.63 57.67, 213.08 66.45, 204.03 64.35 M204.03 64.35 C139.7 65.34, 71 66.13, 16.09 64.35 M204.03 64.35 C153.01 66.19, 101.81 65.51, 16.09 64.35 M16.09 64.35 C4.32 65.37, 0.01 59.57, 0 48.27 M16.09 64.35 C4.54 65.16, 1.05 60.47, 0 48.27 M0 48.27 C0.12 39.99, -1.55 30.91, 0 16.09 M0 48.27 C-0.08 39.51, -0.14 30.91, 0 16.09 M0 16.09 C0.94 7.13, 5.28 -0.93, 16.09 0 M0 16.09 C-0.34 5.34, 4.01 -0.63, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(45.37585360828007 317.45838641247246) rotate(0 79.0499267578125 12.5)"><text x="79.0499267578125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">stateTreeIndex</text></g><g stroke-linecap="round" transform="translate(486.02641672138725 296.12597468009926) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C57.3 3.24, 103 1.85, 204.03 0 M16.09 0 C67.5 1.81, 120.64 1.32, 204.03 0 M204.03 0 C216.47 -0.37, 221.67 4.11, 220.12 16.09 M204.03 0 C215.29 -1.84, 219.7 4.29, 220.12 16.09 M220.12 16.09 C220.32 28.45, 220.4 40.16, 220.12 48.27 M220.12 16.09 C220.27 23.2, 219.67 31.06, 220.12 48.27 M220.12 48.27 C220.56 57.84, 213.3 66.17, 204.03 64.35 M220.12 48.27 C221.25 58.49, 216.58 65.91, 204.03 64.35 M204.03 64.35 C151.85 63.57, 102.22 65.7, 16.09 64.35 M204.03 64.35 C139.32 64.36, 75.66 64.14, 16.09 64.35 M16.09 64.35 C4.64 65.05, 0.91 60.28, 0 48.27 M16.09 64.35 C5.3 63.87, 1.61 59.05, 0 48.27 M0 48.27 C-0.37 36.67, 1.13 24.66, 0 16.09 M0 48.27 C0.51 39.89, 0 29.29, 0 16.09 M0 16.09 C-0.29 5.35, 4.18 -0.55, 16.09 0 M0 16.09 C-1.86 6.55, 4.39 0.99, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(517.0540653976054 315.8033912309752) rotate(0 79.02992248535156 12.5)"><text x="79.02992248535156" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">voteOptionIndex</text></g><g stroke-linecap="round" transform="translate(240.3666542612582 198.8914355648917) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C72.95 -1.24, 128.21 -1.19, 204.03 0 M16.09 0 C66.37 -2.14, 117.96 -1, 204.03 0 M204.03 0 C216.15 -0.04, 220.05 4.12, 220.12 16.09 M204.03 0 C213.99 0.65, 222.07 4.85, 220.12 16.09 M220.12 16.09 C218.85 27.5, 221.71 36.44, 220.12 48.27 M220.12 16.09 C220.54 23.54, 220.39 31.5, 220.12 48.27 M220.12 48.27 C219.01 58.9, 212.92 65.31, 204.03 64.35 M220.12 48.27 C220.05 58.81, 214.1 65.18, 204.03 64.35 M204.03 64.35 C158.49 63.16, 110.27 65.03, 16.09 64.35 M204.03 64.35 C150.92 65.55, 96.93 65.38, 16.09 64.35 M16.09 64.35 C5.15 63.76, -0.78 58.56, 0 48.27 M16.09 64.35 C4.84 65.12, -0.46 60.52, 0 48.27 M0 48.27 C-0.03 41.67, 0.16 32.93, 0 16.09 M0 48.27 C-0.21 37.48, -0.37 26.11, 0 16.09 M0 16.09 C-0.38 7.07, 4.81 1.37, 16.09 0 M0 16.09 C0.23 7.05, 6.19 1.96, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(274.24430141159746 218.56885211576764) rotate(0 76.17992401123047 12.5)"><text x="76.17992401123047" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">maxvoteOptions</text></g><g stroke-linecap="round" transform="translate(490.7455154447334 200.89694356638165) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C61.17 2.01, 103.25 1.99, 204.03 0 M16.09 0 C60.96 0.04, 104.42 0.99, 204.03 0 M204.03 0 C214.53 0.93, 220.77 4, 220.12 16.09 M204.03 0 C212.83 2.06, 219.98 7.48, 220.12 16.09 M220.12 16.09 C220.77 24.69, 220.15 34.08, 220.12 48.27 M220.12 16.09 C220.86 27.75, 220.96 39.85, 220.12 48.27 M220.12 48.27 C219.74 59.76, 215.97 63.59, 204.03 64.35 M220.12 48.27 C218.75 57.27, 217 63.98, 204.03 64.35 M204.03 64.35 C135.78 65.9, 68.85 66.62, 16.09 64.35 M204.03 64.35 C133.13 64.46, 63.09 64.3, 16.09 64.35 M16.09 64.35 C3.67 64.7, -0.36 57.86, 0 48.27 M16.09 64.35 C6.98 64.76, 0.06 56.79, 0 48.27 M0 48.27 C0.77 37.34, 0.6 30, 0 16.09 M0 48.27 C-0.32 40.55, -0.98 33.03, 0 16.09 M0 16.09 C1.15 5.83, 6.26 0.04, 16.09 0 M0 16.09 C1.79 7.32, 6.42 -0.57, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(540.4631436741743 220.57436011725758) rotate(0 60.339942932128906 12.5)"><text x="60.339942932128906" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">originalNonce</text></g><g stroke-linecap="round" transform="translate(10 198.09113783508292) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C85.79 0.1, 157.44 0.82, 204.03 0 M16.09 0 C81.2 0.69, 147.42 1.72, 204.03 0 M204.03 0 C213.71 -1.4, 220.99 3.98, 220.12 16.09 M204.03 0 C214.86 1.22, 218.68 6.02, 220.12 16.09 M220.12 16.09 C219.31 26.87, 219.18 39.62, 220.12 48.27 M220.12 16.09 C220.16 28.54, 220.23 40.86, 220.12 48.27 M220.12 48.27 C220.94 58.51, 215.76 62.56, 204.03 64.35 M220.12 48.27 C221.79 57.07, 212.97 63.75, 204.03 64.35 M204.03 64.35 C163.89 64.31, 125.96 65.24, 16.09 64.35 M204.03 64.35 C162.42 65.06, 121.57 66.26, 16.09 64.35 M16.09 64.35 C7.1 64.69, 1.36 60.29, 0 48.27 M16.09 64.35 C5.39 64.27, -1.66 60.53, 0 48.27 M0 48.27 C2.03 38.09, 1.38 24.54, 0 16.09 M0 48.27 C0.42 38.47, 0.48 28.26, 0 16.09 M0 16.09 C1.8 6.58, 5.27 -1.45, 16.09 0 M0 16.09 C0.48 4.45, 6.74 0.42, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(94.6875913031713 217.76855438595885) rotate(0 25.369979858398438 12.5)"><text x="25.369979858398438" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">nonce</text></g><g stroke-linecap="round" transform="translate(740.8126454835424 201.59696961089776) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C90.22 -0.83, 160.67 -0.68, 204.03 0 M16.09 0 C63.72 0.26, 110.49 0.03, 204.03 0 M204.03 0 C212.98 0.73, 218.65 4.29, 220.12 16.09 M204.03 0 C216.37 1.53, 221.69 4.16, 220.12 16.09 M220.12 16.09 C220.68 22.63, 221.99 31.26, 220.12 48.27 M220.12 16.09 C219.71 27.11, 219.35 39.93, 220.12 48.27 M220.12 48.27 C220.35 60.74, 214.52 65.4, 204.03 64.35 M220.12 48.27 C221.13 60.24, 213.1 64.98, 204.03 64.35 M204.03 64.35 C160.6 63.17, 116.45 64.87, 16.09 64.35 M204.03 64.35 C147.81 65.02, 92.55 65.18, 16.09 64.35 M16.09 64.35 C5.7 65.88, -1.95 59.28, 0 48.27 M16.09 64.35 C4.9 65.66, 0.97 60.06, 0 48.27 M0 48.27 C-0.09 39.84, -0.71 29.34, 0 16.09 M0 48.27 C-0.24 41.3, 0.44 35.14, 0 16.09 M0 16.09 C1.17 5.95, 7.04 0.84, 16.09 0 M0 16.09 C-1.95 4.81, 3.38 0.26, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(833.8302309883738 221.2743861617737) rotate(0 17.03998565673828 12.5)"><text x="17.03998565673828" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">cmd</text></g><g stroke-linecap="round" transform="translate(727.6707633117976 295.3518058322461) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C69.32 1.88, 121.38 2.68, 204.03 0 M16.09 0 C57.91 -0.54, 99.18 0.96, 204.03 0 M204.03 0 C214.12 -1.81, 221.73 3.74, 220.12 16.09 M204.03 0 C216.46 -0.01, 221.2 3.24, 220.12 16.09 M220.12 16.09 C221.61 26.88, 221.41 41.56, 220.12 48.27 M220.12 16.09 C220.42 23.36, 219.48 31.87, 220.12 48.27 M220.12 48.27 C221.55 59.81, 213.94 63.03, 204.03 64.35 M220.12 48.27 C218.45 57.49, 213.13 65.55, 204.03 64.35 M204.03 64.35 C154.21 62.44, 107.91 65.07, 16.09 64.35 M204.03 64.35 C153.23 65.96, 104.46 65.95, 16.09 64.35 M16.09 64.35 C7.02 63.02, -0.98 57.44, 0 48.27 M16.09 64.35 C5.48 65.59, 1.71 57, 0 48.27 M0 48.27 C-1.22 39.54, 0.88 28.04, 0 16.09 M0 48.27 C0.48 40.98, -0.3 32.23, 0 16.09 M0 16.09 C1.56 6.42, 5.3 1.09, 16.09 0 M0 16.09 C1.22 3.92, 7.04 2.16, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(795.9083805549103 315.02922238312203) rotate(0 41.81995391845703 12.5)"><text x="41.81995391845703" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">publicKey</text></g><g stroke-linecap="round" transform="translate(278.2423947042653 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C55.01 -1.74, 93.04 -0.78, 204.03 0 M16.09 0 C81.37 1.76, 145.57 1.2, 204.03 0 M204.03 0 C216.67 1.79, 220.51 3.73, 220.12 16.09 M204.03 0 C216.63 -1.53, 218.05 3.6, 220.12 16.09 M220.12 16.09 C218.43 24.19, 221.83 32.54, 220.12 48.27 M220.12 16.09 C219.18 23.85, 220.81 34.57, 220.12 48.27 M220.12 48.27 C220.04 57.62, 215.16 62.83, 204.03 64.35 M220.12 48.27 C220.8 59.28, 214.56 62.13, 204.03 64.35 M204.03 64.35 C134.41 65.41, 65.37 62.79, 16.09 64.35 M204.03 64.35 C147.27 64.81, 91.06 65.05, 16.09 64.35 M16.09 64.35 C3.55 65.53, -1.98 57.78, 0 48.27 M16.09 64.35 C6.72 65.4, 0.23 59.59, 0 48.27 M0 48.27 C1.84 38.68, 0.01 24.5, 0 16.09 M0 48.27 C0.03 37.95, 0.73 26.34, 0 16.09 M0 16.09 C0.72 6.76, 4.08 0.15, 16.09 0 M0 16.09 C-0.98 3.67, 5.58 -1.2, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(336.4500131680811 29.677416550875932) rotate(0 51.849952697753906 12.5)"><text x="51.849952697753906" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">signatureR</text></g><g stroke-linecap="round" transform="translate(519.437383042718 12.083601737957906) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C76.9 1.14, 132.25 -0.8, 204.03 0 M16.09 0 C73.24 -1.06, 131.23 -1.24, 204.03 0 M204.03 0 C215.27 -1.43, 219.9 5.31, 220.12 16.09 M204.03 0 C214.4 -0.98, 218.51 3.84, 220.12 16.09 M220.12 16.09 C220.52 23.07, 220.41 28.9, 220.12 48.27 M220.12 16.09 C219.63 26.03, 220.18 36.69, 220.12 48.27 M220.12 48.27 C218.75 57.47, 216.33 65.14, 204.03 64.35 M220.12 48.27 C218.62 59.03, 214.9 64.41, 204.03 64.35 M204.03 64.35 C158.11 63.3, 113.02 63.71, 16.09 64.35 M204.03 64.35 C153.45 63.32, 103.07 63.27, 16.09 64.35 M16.09 64.35 C6.38 63.54, -1.49 58.88, 0 48.27 M16.09 64.35 C6.97 62.08, 2.3 58.15, 0 48.27 M0 48.27 C0.69 39.12, -0.29 27.71, 0 16.09 M0 48.27 C0 38.1, 0.91 28.67, 0 16.09 M0 16.09 C1.53 5.69, 4.28 0.77, 16.09 0 M0 16.09 C-0.69 6.12, 7.59 -2.15, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(578.3450060841706 31.76101828883384) rotate(0 51.14994812011719 12.5)"><text x="51.14994812011719" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">signatureS</text></g><g stroke-linecap="round" transform="translate(16.84064011909163 107.30810843426389) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C90.99 -1.87, 163.7 -0.08, 204.03 0 M16.09 0 C62.62 0.06, 107.77 0.16, 204.03 0 M204.03 0 C213.76 -1.05, 219.22 4.81, 220.12 16.09 M204.03 0 C214.69 -2.02, 218.02 7.26, 220.12 16.09 M220.12 16.09 C219.02 27.43, 220.38 38.72, 220.12 48.27 M220.12 16.09 C219.83 25.48, 220.04 32.75, 220.12 48.27 M220.12 48.27 C221.5 60.01, 214.32 64.7, 204.03 64.35 M220.12 48.27 C220.41 60.71, 216.15 63.26, 204.03 64.35 M204.03 64.35 C156.08 61.07, 108.31 61.53, 16.09 64.35 M204.03 64.35 C161.32 66, 119.35 66.04, 16.09 64.35 M16.09 64.35 C4.49 66.07, 1.5 59.07, 0 48.27 M16.09 64.35 C7 63.16, 0.4 58.58, 0 48.27 M0 48.27 C1.73 36.3, 0.07 28.32, 0 16.09 M0 48.27 C-0.16 38.06, -0.5 30.35, 0 16.09 M0 16.09 C1.32 5.38, 4.52 0.6, 16.09 0 M0 16.09 C1.24 5.79, 6.27 -0.27, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(23.99830893691137 126.98552498513982) rotate(0 102.89990234375 12.5)"><text x="102.89990234375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">stateLeafTimestamp</text></g><g stroke-linecap="round" transform="translate(249.29854856717498 105.51220221915355) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C71.74 -0.16, 128.9 -1.69, 204.03 0 M16.09 0 C84.15 0.71, 151.91 0.01, 204.03 0 M204.03 0 C213.84 -1.96, 220.75 4.86, 220.12 16.09 M204.03 0 C215.15 1.44, 217.87 3.84, 220.12 16.09 M220.12 16.09 C220.49 29.35, 221.41 40.53, 220.12 48.27 M220.12 16.09 C219.97 23.38, 221.14 33.13, 220.12 48.27 M220.12 48.27 C221.09 59.27, 212.76 65, 204.03 64.35 M220.12 48.27 C222.01 57.05, 212.93 62.07, 204.03 64.35 M204.03 64.35 C144.08 64.04, 80.11 65.49, 16.09 64.35 M204.03 64.35 C166 64.01, 126 65.21, 16.09 64.35 M16.09 64.35 C6.98 62.83, 0.56 60.26, 0 48.27 M16.09 64.35 C3.67 62.5, 1.4 57.31, 0 48.27 M0 48.27 C0.18 38.7, -0.35 31.58, 0 16.09 M0 48.27 C0.46 41.73, -0.11 33.84, 0 16.09 M0 16.09 C-0.87 5.89, 5.68 0.68, 16.09 0 M0 16.09 C-0.27 3.57, 6.21 -1.15, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(280.9561944968111 125.18961877002948) rotate(0 78.3999252319336 12.5)"><text x="78.3999252319336" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">pollEndTimstamp</text></g><g stroke-linecap="round" transform="translate(492.82247860066946 111.71450962518247) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C63.83 -0.18, 107.93 0.61, 204.03 0 M16.09 0 C90.24 0.02, 163.74 0.12, 204.03 0 M204.03 0 C216.56 1, 220.09 3.78, 220.12 16.09 M204.03 0 C215.3 -1.78, 218.97 3.8, 220.12 16.09 M220.12 16.09 C218.94 27.22, 220.74 33.76, 220.12 48.27 M220.12 16.09 C220.98 23.39, 221.15 28.62, 220.12 48.27 M220.12 48.27 C221.93 60.98, 216.75 66.33, 204.03 64.35 M220.12 48.27 C221.84 59.44, 216.52 62.43, 204.03 64.35 M204.03 64.35 C154.07 65.23, 101.07 65, 16.09 64.35 M204.03 64.35 C156.8 65.4, 109.54 65.53, 16.09 64.35 M16.09 64.35 C3.49 62.91, 1.36 60.81, 0 48.27 M16.09 64.35 C7.45 65.98, 0.75 57.35, 0 48.27 M0 48.27 C-0.94 36.18, 2.06 27.61, 0 16.09 M0 48.27 C-0.88 42.04, -0.3 34.69, 0 16.09 M0 16.09 C-1.01 4.46, 5.88 -1.55, 16.09 0 M0 16.09 C-1.26 3.45, 5.03 -1.51, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(501.9601507754228 118.8919261760584) rotate(0 100.9198989868164 25)"><text x="100.9198989868164" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentVoiceCreditsB</text><text x="100.9198989868164" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">alance</text></g><g stroke-linecap="round" transform="translate(744.2459365878021 98.78547656568526) rotate(0 119.95887372948937 32.17741655087593)"><path d="M16.09 0 C61.68 -1.32, 109.14 -2.2, 223.83 0 M16.09 0 C74.89 0.9, 136.03 1.54, 223.83 0 M223.83 0 C233.9 -0.58, 238 3.56, 239.92 16.09 M223.83 0 C235.48 1.79, 239.49 7.15, 239.92 16.09 M239.92 16.09 C240.4 25.19, 238.31 33.48, 239.92 48.27 M239.92 16.09 C240.78 26.87, 239.95 36.67, 239.92 48.27 M239.92 48.27 C239.85 59.28, 233.01 65.34, 223.83 64.35 M239.92 48.27 C241.42 58.56, 233.85 66.47, 223.83 64.35 M223.83 64.35 C146.41 65.11, 65.92 65.36, 16.09 64.35 M223.83 64.35 C174.33 63.38, 124.41 63.18, 16.09 64.35 M16.09 64.35 C3.91 63.61, -1.93 59.45, 0 48.27 M16.09 64.35 C5.48 64.99, -1.23 58.08, 0 48.27 M0 48.27 C-1.38 40.65, 0.85 34.35, 0 16.09 M0 48.27 C0.06 40.92, 0.37 34.05, 0 16.09 M0 16.09 C-0.6 4.71, 3.86 1.39, 16.09 0 M0 16.09 C0.37 7.34, 6.65 0.52, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(756.0349189598696 118.46289311656119) rotate(0 108.16989135742188 12.5)"><text x="108.16989135742188" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentVotesForOption</text></g><g stroke-linecap="round" transform="translate(29.445016079028846 10.01073416339068) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C71.74 -0.84, 129.6 -1.09, 204.03 0 M16.09 0 C90.97 1.63, 165.78 0.06, 204.03 0 M204.03 0 C215.06 -0.9, 220.38 3.93, 220.12 16.09 M204.03 0 C215.52 -1.39, 217.93 7.22, 220.12 16.09 M220.12 16.09 C220.86 29.23, 218.77 41.65, 220.12 48.27 M220.12 16.09 C219.9 26.11, 220.08 37.17, 220.12 48.27 M220.12 48.27 C221.01 60.41, 213.55 64.27, 204.03 64.35 M220.12 48.27 C221.89 57.31, 216.91 64.79, 204.03 64.35 M204.03 64.35 C143.18 64.65, 84.94 63.42, 16.09 64.35 M204.03 64.35 C139.22 63.02, 74.61 64.54, 16.09 64.35 M16.09 64.35 C5.69 65.26, 0.5 58.9, 0 48.27 M16.09 64.35 C5.6 65.02, -1.26 60.96, 0 48.27 M0 48.27 C-1.79 34.63, 0.2 23.97, 0 16.09 M0 48.27 C0.24 34.82, -0.76 22.56, 0 16.09 M0 16.09 C-0.88 4.97, 3.41 0.58, 16.09 0 M0 16.09 C-0.34 5.06, 3.96 0.03, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(86.89264003600874 29.688150714266612) rotate(0 52.609947204589844 12.5)"><text x="52.609947204589844" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">voteWeight</text></g><g stroke-linecap="round" transform="translate(1312.5201996491733 238.58553672350854) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C71.31 -0.16, 127.35 -3.3, 204.03 0 M16.09 0 C75.4 -1.84, 134 -1.4, 204.03 0 M204.03 0 C213.28 -0.69, 220.05 5.34, 220.12 16.09 M204.03 0 C216.58 -0.5, 222.05 7.11, 220.12 16.09 M220.12 16.09 C218.66 26.27, 222.19 35.35, 220.12 48.27 M220.12 16.09 C219.82 24.65, 219.14 32.51, 220.12 48.27 M220.12 48.27 C221.78 60.24, 216.5 64.18, 204.03 64.35 M220.12 48.27 C220.61 60.32, 216.73 63.49, 204.03 64.35 M204.03 64.35 C141.01 67.39, 81.04 67.3, 16.09 64.35 M204.03 64.35 C139.14 65.79, 72.69 65.41, 16.09 64.35 M16.09 64.35 C6.53 66.27, 0.47 58.12, 0 48.27 M16.09 64.35 C4.88 66.1, 1.03 56.85, 0 48.27 M0 48.27 C1.62 37.68, -0.73 23.68, 0 16.09 M0 48.27 C0.75 40.17, 0.52 31.77, 0 16.09 M0 16.09 C1.02 6.4, 5.82 0.4, 16.09 0 M0 16.09 C-0.05 6.26, 4.06 0.82, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1321.307850461622 245.76295327438447) rotate(0 101.2699203491211 25)"><text x="101.2699203491211" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">stateTreeIndex &lt;= </text><text x="101.2699203491211" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">numSignups</text></g><g stroke-linecap="round"><g transform="translate(1258.4427171400816 266.2869549172583) rotate(0 22.92647733774993 0.13700871610603826)"><path d="M-0.17 0.43 C7.41 0.49, 38.31 0.01, 45.91 -0.08 M0.75 0.18 C8.22 0.34, 37.88 0.43, 45.5 0.44" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1258.4427171400816 266.2869549172583) rotate(0 22.92647733774993 0.13700871610603826)"><path d="M23.93 8.22 C32.89 5.41, 39.61 1.54, 45.5 0.44 M23.93 8.22 C28.68 6.72, 33.64 4.26, 45.5 0.44" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1258.4427171400816 266.2869549172583) rotate(0 22.92647733774993 0.13700871610603826)"><path d="M23.98 -7.46 C32.86 -4.35, 39.56 -2.3, 45.5 0.44 M23.98 -7.46 C28.74 -5.37, 33.69 -4.24, 45.5 0.44" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1025.2076399309026 322.33439731450426) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C76.58 1.68, 137.01 1.25, 198.87 0 M21.25 0 C88.73 0.03, 154.74 -0.71, 198.87 0 M198.87 0 C213.82 -0.09, 220.3 9.03, 220.12 21.25 M198.87 0 C213.73 -0.93, 219.42 7.54, 220.12 21.25 M220.12 21.25 C219.5 32.74, 218.88 39.14, 220.12 63.75 M220.12 21.25 C218.91 37.13, 219.3 54.99, 220.12 63.75 M220.12 63.75 C221.91 76.14, 212.65 86.98, 198.87 85 M220.12 63.75 C221.36 77.23, 214.14 87.16, 198.87 85 M198.87 85 C147.02 85.4, 92.53 82.51, 21.25 85 M198.87 85 C153.8 85.64, 110.09 87.09, 21.25 85 M21.25 85 C5.83 83.04, 0.48 77.77, 0 63.75 M21.25 85 C5.59 84.53, -2.21 80, 0 63.75 M0 63.75 C0.2 48.1, 0.93 37, 0 21.25 M0 63.75 C0.99 47.58, 0.72 31.88, 0 21.25 M0 21.25 C-0.87 7.63, 8 -0.57, 21.25 0 M0 21.25 C1.25 7.62, 7.81 2.27, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1038.6153011193278 327.33439731450426) rotate(0 96.64990997314453 37.5)"><text x="96.64990997314453" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Check that the </text><text x="96.64990997314453" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">voteOptionIndex is </text><text x="96.64990997314453" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">valid</text></g><g stroke-linecap="round" transform="translate(1315.4656605410587 330.42281626790873) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C87.27 2.37, 155.97 2.3, 204.03 0 M16.09 0 C89.19 -0.33, 163.09 0.21, 204.03 0 M204.03 0 C214.67 -0.51, 221.94 4.74, 220.12 16.09 M204.03 0 C212.99 1.63, 220.92 7.3, 220.12 16.09 M220.12 16.09 C219.46 24.08, 220.95 33.21, 220.12 48.27 M220.12 16.09 C219.38 23.73, 220.04 30.76, 220.12 48.27 M220.12 48.27 C220.65 58.45, 216.27 66.21, 204.03 64.35 M220.12 48.27 C221.99 59.68, 214.42 62.32, 204.03 64.35 M204.03 64.35 C148.17 64.32, 96.01 61.91, 16.09 64.35 M204.03 64.35 C143.84 64.75, 86.62 64.94, 16.09 64.35 M16.09 64.35 C7.1 63.22, 1.84 58.78, 0 48.27 M16.09 64.35 C5.06 64.9, -1.44 57.15, 0 48.27 M0 48.27 C1.03 38.54, -0.48 30.22, 0 16.09 M0 48.27 C-0.65 37.64, 0.85 26.85, 0 16.09 M0 16.09 C-0.17 3.39, 6 1.14, 16.09 0 M0 16.09 C0.34 4.8, 6.74 -0.09, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1324.2733156259683 337.60023281878466) rotate(0 101.24991607666016 25)"><text x="101.24991607666016" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">voteOptionIndex &lt;= </text><text x="101.24991607666016" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">maxVoteOptions</text></g><g stroke-linecap="round"><g transform="translate(1268.6220035671627 363.9708983296855) rotate(0 19.30956457015236 -0.6378326318099425)"><path d="M0.12 0.51 C6.6 0.34, 32.68 -1.06, 39.02 -1.44 M-0.48 0.3 C5.96 0.24, 32.17 -0.54, 38.8 -0.82" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1268.6220035671627 363.9708983296855) rotate(0 19.30956457015236 -0.6378326318099425)"><path d="M20.89 6.42 C27.65 4.75, 32.3 0.91, 38.8 -0.82 M20.89 6.42 C24.7 4.79, 28.96 3.22, 38.8 -0.82" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1268.6220035671627 363.9708983296855) rotate(0 19.30956457015236 -0.6378326318099425)"><path d="M20.42 -6.79 C27.29 -4.16, 32.09 -3.69, 38.8 -0.82 M20.42 -6.79 C24.28 -5.62, 28.65 -4.37, 38.8 -0.82" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1027.15122013187 440.45929496988197) rotate(0 110.05757116156974 30)"><path d="M15 0 C61.09 -2.89, 106.84 -2.48, 205.12 0 M15 0 C58.15 -2.21, 99.67 -1.21, 205.12 0 M205.12 0 C214.22 -0.41, 219.18 4.51, 220.12 15 M205.12 0 C214.95 0.08, 218.84 4.24, 220.12 15 M220.12 15 C221.4 22.91, 221.11 33.91, 220.12 45 M220.12 15 C219.82 22.08, 220.56 30.38, 220.12 45 M220.12 45 C222 55.24, 213.44 59.46, 205.12 60 M220.12 45 C221.1 52.9, 214.91 59.89, 205.12 60 M205.12 60 C128.49 60.32, 56.71 60.05, 15 60 M205.12 60 C166.7 60.97, 129.12 61.22, 15 60 M15 60 C5.17 60.13, 1.43 53.88, 0 45 M15 60 C4.17 57.94, 1.8 54.49, 0 45 M0 45 C-0.11 37.33, -2.03 26.05, 0 15 M0 45 C-0.88 32.73, -0.66 21.12, 0 15 M0 15 C-1.62 5.99, 4.31 -1.85, 15 0 M0 15 C0.84 2.76, 3.36 -1.8, 15 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1041.9488578217602 445.45929496988197) rotate(0 95.25993347167969 25)"><text x="95.25993347167969" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Check that the </text><text x="95.25993347167969" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">nonce is valid</text></g><g stroke-linecap="round" transform="translate(1325.4907809804004 434.0235673926579) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C84.82 -3.02, 146.93 -1.42, 198.87 0 M21.25 0 C65.78 0.23, 108.13 0.15, 198.87 0 M198.87 0 C212.41 -1.81, 221.18 8.75, 220.12 21.25 M198.87 0 C214.38 0.72, 218.7 5.28, 220.12 21.25 M220.12 21.25 C221.52 38, 220.08 52.29, 220.12 63.75 M220.12 21.25 C220.33 30.97, 219.39 38.59, 220.12 63.75 M220.12 63.75 C218.28 76.39, 213.47 83.61, 198.87 85 M220.12 63.75 C218.91 79.67, 212.72 82.74, 198.87 85 M198.87 85 C154.63 82.35, 106.95 84.04, 21.25 85 M198.87 85 C133.01 86.05, 69.16 85.11, 21.25 85 M21.25 85 C5.66 84.03, 1.98 76.79, 0 63.75 M21.25 85 C5.54 86.17, -2.11 78.13, 0 63.75 M0 63.75 C1.08 49.94, 1.93 38.69, 0 21.25 M0 63.75 C-0.94 50.21, -0.14 36.92, 0 21.25 M0 21.25 C1.09 5.62, 5.73 1.78, 21.25 0 M0 21.25 C2.24 9.28, 5.5 -0.02, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1356.2484101253685 451.5235673926579) rotate(0 79.29994201660156 25)"><text x="79.29994201660156" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">nonce == </text><text x="79.29994201660156" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">originalNonce + 1</text></g><g stroke-linecap="round"><g transform="translate(1264.3084563474035 468.89065842979676) rotate(0 23.942240416821505 0.7131409605465251)"><path d="M0.31 -0.49 C8.19 -0.25, 39.57 0.65, 47.49 1.04 M-0.19 0.45 C7.84 0.78, 40.59 1.44, 48.52 1.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1264.3084563474035 468.89065842979676) rotate(0 23.942240416821505 0.7131409605465251)"><path d="M25.87 9.34 C32.65 5.93, 40.49 3.87, 48.52 1.55 M25.87 9.34 C34.18 6.29, 43.68 3.74, 48.52 1.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1264.3084563474035 468.89065842979676) rotate(0 23.942240416821505 0.7131409605465251)"><path d="M26.16 -7.04 C32.79 -4.92, 40.53 -1.45, 48.52 1.55 M26.16 -7.04 C34.34 -3.8, 43.73 -0.05, 48.52 1.55" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1034.6968844415087 541.4474602099267) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C89.4 -0.18, 159.39 -1.44, 198.87 0 M21.25 0 C76.04 -1.36, 130.93 -0.78, 198.87 0 M198.87 0 C212.99 1.53, 222.03 7.16, 220.12 21.25 M198.87 0 C213.92 0.59, 220.62 9.33, 220.12 21.25 M220.12 21.25 C220.77 33.35, 218.29 42.5, 220.12 63.75 M220.12 21.25 C220.66 35.71, 219.74 51.68, 220.12 63.75 M220.12 63.75 C218.76 79.14, 214.12 86.58, 198.87 85 M220.12 63.75 C219.33 77.52, 215.19 86.17, 198.87 85 M198.87 85 C155.2 87.38, 114.46 85.69, 21.25 85 M198.87 85 C139.64 83.3, 81.78 83.31, 21.25 85 M21.25 85 C8.08 85.31, 1.75 79.59, 0 63.75 M21.25 85 C7.63 83.08, 0.91 76.59, 0 63.75 M0 63.75 C1.19 47.91, 0.85 32.98, 0 21.25 M0 63.75 C1.08 51.31, -0.27 36.98, 0 21.25 M0 21.25 C-1.3 5.23, 7.02 -0.27, 21.25 0 M0 21.25 C1.65 7.18, 5.17 1.56, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1041.7645492920433 558.9474602099267) rotate(0 102.98990631103516 25)"><text x="102.98990631103516" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">4. Verify that the </text><text x="102.98990631103516" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">signature is correct </text></g><g stroke-linecap="round" transform="translate(1330.9309000723233 537.212551389681) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C71.19 -1.15, 110.74 -1.52, 192.62 0 M27.5 0 C71.05 -1.59, 112.79 -0.68, 192.62 0 M192.62 0 C212.11 -1.52, 220.39 9.88, 220.12 27.5 M192.62 0 C209.14 1.27, 217.82 10.2, 220.12 27.5 M220.12 27.5 C222.01 43.91, 218.53 58.26, 220.12 82.5 M220.12 27.5 C221.12 47.02, 220.34 68.13, 220.12 82.5 M220.12 82.5 C220.2 100.95, 210.66 110.39, 192.62 110 M220.12 82.5 C219.94 102.68, 212.05 111.16, 192.62 110 M192.62 110 C150.59 112.33, 106.22 111.29, 27.5 110 M192.62 110 C149.22 110.67, 107.21 110.05, 27.5 110 M27.5 110 C7.29 109.81, 1.54 102.56, 0 82.5 M27.5 110 C9.21 110.34, 0.69 100.06, 0 82.5 M0 82.5 C-1.03 63.37, -0.81 43.47, 0 27.5 M0 82.5 C0.77 68.31, 1.45 53.86, 0 27.5 M0 27.5 C0.53 7.83, 10.45 -1.11, 27.5 0 M0 27.5 C-0.44 7.52, 8.55 0.78, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1338.9085838437563 542.212551389681) rotate(0 102.07988739013672 50)"><text x="102.07988739013672" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">use </text><text x="102.07988739013672" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">VerifySignature(public</text><text x="102.07988739013672" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Key, signR, sigS, </text><text x="102.07988739013672" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">cmdData)</text></g><g stroke-linecap="round"><g transform="translate(1274.3132934276273 589.473269007193) rotate(0 23.942240416821505 0.7131409605465251)"><path d="M-0.2 0.09 C7.87 0.24, 40.38 0.97, 48.4 1.19 M0.69 -0.33 C8.75 -0.14, 40.43 1.37, 48.23 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1274.3132934276273 589.473269007193) rotate(0 23.942240416821505 0.7131409605465251)"><path d="M25.35 8.86 C32.09 7.8, 38.09 4.84, 48.23 1.77 M25.35 8.86 C32.58 6.23, 38.98 4.48, 48.23 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1274.3132934276273 589.473269007193) rotate(0 23.942240416821505 0.7131409605465251)"><path d="M26.15 -7.51 C32.71 -3.85, 38.47 -2.1, 48.23 1.77 M26.15 -7.51 C33.09 -5.16, 39.25 -1.94, 48.23 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1039.6351553908994 679.3321706274257) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C75.69 -1.21, 126.9 -1.34, 192.62 0 M27.5 0 C81.9 -0.75, 136.1 -0.97, 192.62 0 M192.62 0 C210.1 -1.62, 221.51 9.41, 220.12 27.5 M192.62 0 C212.02 1.87, 220.13 7.99, 220.12 27.5 M220.12 27.5 C220.55 45.48, 221.75 62.06, 220.12 82.5 M220.12 27.5 C219.88 40.92, 219.58 55.74, 220.12 82.5 M220.12 82.5 C221.75 99.35, 209.91 109.81, 192.62 110 M220.12 82.5 C220.74 101.05, 210.08 108.7, 192.62 110 M192.62 110 C148.21 112.43, 105.82 111.16, 27.5 110 M192.62 110 C132.95 109.01, 74.61 108.24, 27.5 110 M27.5 110 C9.25 108.89, -1.67 102.66, 0 82.5 M27.5 110 C10.98 107.8, -0.13 100.94, 0 82.5 M0 82.5 C-1.48 66.76, -0.12 47.07, 0 27.5 M0 82.5 C0.49 69.78, -0.42 58.89, 0 27.5 M0 27.5 C0.17 10.3, 9.02 1.4, 27.5 0 M0 27.5 C1.44 10, 9.41 1.34, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1055.1228031515902 684.3321706274257) rotate(0 94.5699234008789 50)"><text x="94.5699234008789" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">5. Verify that the </text><text x="94.5699234008789" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">user registered </text><text x="94.5699234008789" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">before the poll </text><text x="94.5699234008789" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">finished</text></g><g stroke-linecap="round" transform="translate(1338.586293055247 677.4697171979817) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C67.75 1.35, 108.06 0.56, 192.62 0 M27.5 0 C82.06 -1, 138.17 -0.07, 192.62 0 M192.62 0 C211.88 1.63, 220.13 8.14, 220.12 27.5 M192.62 0 C211.54 1.48, 219.04 9.25, 220.12 27.5 M220.12 27.5 C219.69 42.31, 221.01 61.33, 220.12 82.5 M220.12 27.5 C220.92 38.09, 219.58 50.07, 220.12 82.5 M220.12 82.5 C220.66 101.02, 210.2 108.87, 192.62 110 M220.12 82.5 C219.3 99.6, 212.44 109.18, 192.62 110 M192.62 110 C133.06 111.76, 70.17 109.11, 27.5 110 M192.62 110 C146.02 107.89, 98.5 109.36, 27.5 110 M27.5 110 C10.74 108.09, -0.11 100.93, 0 82.5 M27.5 110 C9.6 111.68, -2.05 99.6, 0 82.5 M0 82.5 C-1.75 62.69, -1.26 41.56, 0 27.5 M0 82.5 C0.07 71.05, -0.09 59.16, 0 27.5 M0 27.5 C1.25 9.89, 9.38 1.17, 27.5 0 M0 27.5 C1.48 10.66, 7.78 0.15, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1345.7439618730668 707.4697171979817) rotate(0 102.89990234375 25)"><text x="102.89990234375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">stateLeafTimestamp</text><text x="102.89990234375" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">&lt;= pollEndTimestamp</text></g><g stroke-linecap="round"><g transform="translate(1279.251564377017 735.6642586492871) rotate(0 25.30080143358805 -0.15950893211709172)"><path d="M-0.32 0.4 C7.94 0.23, 41.33 0.1, 49.73 -0.18 M1.71 -0.44 C10.34 -0.46, 44.09 1.43, 51.98 1.42" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1279.251564377017 735.6642586492871) rotate(0 25.30080143358805 -0.15950893211709172)"><path d="M27.94 9.32 C36.07 5.46, 43.16 3.59, 51.98 1.42 M27.94 9.32 C33.62 8.38, 38.42 5.32, 51.98 1.42" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1279.251564377017 735.6642586492871) rotate(0 25.30080143358805 -0.15950893211709172)"><path d="M28.49 -7.98 C36.56 -6.43, 43.48 -2.88, 51.98 1.42 M28.49 -7.98 C34.17 -5.13, 38.85 -4.4, 51.98 1.42" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1053.6027710875924 832.2665957275881) rotate(0 110.05757116156974 67.5)"><path d="M32 0 C73.9 1.07, 114.58 2.19, 188.12 0 M32 0 C67.51 1.18, 100.78 0.95, 188.12 0 M188.12 0 C209.26 -0.3, 220.21 11.55, 220.12 32 M188.12 0 C207.25 0.08, 220.36 11.89, 220.12 32 M220.12 32 C221.38 46.76, 221.26 62.01, 220.12 103 M220.12 32 C219.6 47.77, 220.36 61.98, 220.12 103 M220.12 103 C221.63 122.59, 210.73 135.18, 188.12 135 M220.12 103 C218.89 123.92, 209.63 135.67, 188.12 135 M188.12 135 C140.93 135.29, 97.89 136.03, 32 135 M188.12 135 C148.92 133.61, 108.28 134.81, 32 135 M32 135 C8.96 135.09, -0.72 124.47, 0 103 M32 135 C9.52 133.89, 1.12 123.55, 0 103 M0 103 C-1.58 82.54, -1.05 64.73, 0 32 M0 103 C0.94 74.23, -0.07 48.2, 0 32 M0 32 C0.95 12.06, 9.87 0.78, 32 0 M0 32 C-0.11 9.45, 11.76 1.67, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1059.3304319708418 837.2665957275881) rotate(0 104.32991027832031 62.5)"><text x="104.32991027832031" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">6. Ensure we have </text><text x="104.32991027832031" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">enough voice credits </text><text x="104.32991027832031" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">and that the </text><text x="104.32991027832031" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">voteWeight is a safe</text><text x="104.32991027832031" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">value</text></g><g stroke-linecap="round" transform="translate(1354.219797525142 827.6927647086563) rotate(0 110.05757116156974 80)"><path d="M32 0 C76.71 -1.36, 124.28 1.06, 188.12 0 M32 0 C93.79 -1.29, 155.81 -0.7, 188.12 0 M188.12 0 C207.53 0.07, 220.33 11.73, 220.12 32 M188.12 0 C207.64 0.43, 221.61 11.97, 220.12 32 M220.12 32 C218.83 56.7, 220 78.89, 220.12 128 M220.12 32 C220.92 67.27, 220.8 104.38, 220.12 128 M220.12 128 C219.05 148.97, 209.61 160.58, 188.12 160 M220.12 128 C219.97 148.14, 208.61 158.48, 188.12 160 M188.12 160 C133.6 161.13, 79.61 161.88, 32 160 M188.12 160 C145.74 161.39, 104.7 161.42, 32 160 M32 160 C9.67 159.03, 0.98 148.65, 0 128 M32 160 C10.24 160.97, -0.77 147.87, 0 128 M0 128 C2.21 100.02, -0.63 75.9, 0 32 M0 128 C1.06 108.42, 0.19 87.84, 0 32 M0 32 C-0.1 9.61, 11.61 1.45, 32 0 M0 32 C-1.34 8.93, 12.63 0.94, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1363.2674733620047 832.6927647086563) rotate(0 101.00989532470703 75)"><text x="101.00989532470703" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">ensure that the </text><text x="101.00989532470703" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">voteWeight is &lt;= </text><text x="101.00989532470703" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">squareRoot of the </text><text x="101.00989532470703" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">field size (to ensure</text><text x="101.00989532470703" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">that it does not </text><text x="101.00989532470703" y="125" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">overflow when ** 2)</text></g><g stroke-linecap="round"><g transform="translate(1293.21918007371 898.0036702535067) rotate(0 26.133745820189006 1.9959954988926256)"><path d="M1.13 1.16 C9.82 2, 43.32 4.43, 51.82 4.87 M0.26 0.72 C8.78 1.24, 42.13 2.49, 50.64 3.21" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1293.21918007371 898.0036702535067) rotate(0 26.133745820189006 1.9959954988926256)"><path d="M25.53 10.73 C34.32 7.7, 40.7 6.2, 50.64 3.21 M25.53 10.73 C31.73 8.51, 39.94 6.86, 50.64 3.21" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1293.21918007371 898.0036702535067) rotate(0 26.133745820189006 1.9959954988926256)"><path d="M26.57 -7.17 C35.05 -5.31, 41.15 -1.93, 50.64 3.21 M26.57 -7.17 C32.48 -4.28, 40.4 -0.83, 50.64 3.21" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1651.8628716799271 823.1903560840492) rotate(0 110.05757116156974 80)"><path d="M32 0 C87.1 -1, 144.35 -1.66, 188.12 0 M32 0 C66.75 -0.74, 101.97 -0.15, 188.12 0 M188.12 0 C209.58 -1.78, 218.86 11.19, 220.12 32 M188.12 0 C208.83 1.16, 219.04 11.08, 220.12 32 M220.12 32 C221.57 63.4, 221.62 99.28, 220.12 128 M220.12 32 C220.83 54.55, 219.36 79.65, 220.12 128 M220.12 128 C218.94 148.39, 210.95 162, 188.12 160 M220.12 128 C220.89 148.02, 207.21 159.75, 188.12 160 M188.12 160 C142.04 160.32, 99 159.29, 32 160 M188.12 160 C128.09 160.19, 70.14 160.44, 32 160 M32 160 C9.05 158.08, 1.85 148.86, 0 128 M32 160 C12.31 160.98, 0.39 147.16, 0 128 M0 128 C-1.52 91.92, -2.02 54.4, 0 32 M0 128 C-0.37 100.58, -0.46 72.6, 0 32 M0 32 C-0.65 9.56, 9.5 -0.64, 32 0 M0 32 C-0.63 9.2, 11.25 1.57, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1657.8405173043875 853.1903560840492) rotate(0 104.07992553710938 50)"><text x="104.07992553710938" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">weight &lt;= </text><text x="104.07992553710938" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">147946756881789319</text><text x="104.07992553710938" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">0057306921709962</text><text x="104.07992553710938" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">59609</text></g><g stroke-linecap="round" transform="translate(1351.5660262648807 999.4129777365727) rotate(0 280.491653757756 67.5)"><path d="M32 0 C215.83 0.65, 398.49 0.5, 528.98 0 M32 0 C181.55 0.47, 330.61 0.18, 528.98 0 M528.98 0 C548.64 -1.77, 561.92 8.95, 560.98 32 M528.98 0 C552.23 0.08, 561.79 8.74, 560.98 32 M560.98 32 C560.08 50.24, 559.64 66.94, 560.98 103 M560.98 32 C560.41 54.9, 561.38 79.64, 560.98 103 M560.98 103 C562.83 126.23, 552.05 135.53, 528.98 135 M560.98 103 C560.57 123.96, 550.27 137.27, 528.98 135 M528.98 135 C348.41 133.9, 168.92 133.37, 32 135 M528.98 135 C381.5 136.09, 234.42 136.04, 32 135 M32 135 C11.99 136.15, 1.4 123.46, 0 103 M32 135 C10.53 134.95, 2.06 125.17, 0 103 M0 103 C1.6 74.38, 1.76 50.22, 0 32 M0 103 C0.1 87.83, 0.71 71.34, 0 32 M0 32 C-0.3 8.96, 8.96 -1.67, 32 0 M0 32 C-1.18 12.14, 12.79 -0.86, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1357.6179217218555 1004.4129777365727) rotate(0 274.43975830078125 62.5)"><text x="274.43975830078125" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">check if the sum of the square of </text><text x="274.43975830078125" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">currentVotesForOption and currentVoiceCreditBalance is</text><text x="274.43975830078125" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">greater than or equal to the square of voteWeight. </text><text x="274.43975830078125" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">This is to ensure that there are enough voice credits </text><text x="274.43975830078125" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">to cover the vote weight.</text></g><g stroke-linecap="round"><g transform="translate(1598.7554134688708 897.88343261676) rotate(0 25.786729672132424 -0.25732119194151437)"><path d="M-0.62 -0.44 C7.95 -0.45, 42.32 -1.25, 50.91 -1.13 M1.26 -1.72 C10.27 -1.49, 45.18 0.08, 53.27 0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1598.7554134688708 897.88343261676) rotate(0 25.786729672132424 -0.25732119194151437)"><path d="M28.81 8.26 C34.42 5.18, 40.39 3.08, 53.27 0.08 M28.81 8.26 C38.26 5.38, 47.3 2.95, 53.27 0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1598.7554134688708 897.88343261676) rotate(0 25.786729672132424 -0.25732119194151437)"><path d="M29.28 -9.38 C34.61 -7.94, 40.46 -5.52, 53.27 0.08 M29.28 -9.38 C38.68 -5.87, 47.56 -1.9, 53.27 0.08" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(1056.7213945278882 1004.7235139164668) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C61.34 -0.35, 97.62 -0.3, 192.62 0 M27.5 0 C67.1 -0.42, 105.54 -0.01, 192.62 0 M192.62 0 C212.64 -1.21, 220.53 8.24, 220.12 27.5 M192.62 0 C211.86 -1.08, 220.36 11, 220.12 27.5 M220.12 27.5 C221.74 39.03, 220.96 54.95, 220.12 82.5 M220.12 27.5 C220.11 39.53, 219.88 53, 220.12 82.5 M220.12 82.5 C221.09 100.34, 212.02 110.48, 192.62 110 M220.12 82.5 C220.55 102.43, 210.7 108.46, 192.62 110 M192.62 110 C158.86 111.86, 123.02 110.17, 27.5 110 M192.62 110 C132.39 108.44, 71.95 109.53, 27.5 110 M27.5 110 C7.61 111.1, 1.13 99.1, 0 82.5 M27.5 110 C8.58 109.69, 0.43 100.86, 0 82.5 M0 82.5 C1.71 71.18, -0.47 61.3, 0 27.5 M0 82.5 C-0.03 63.44, -0.34 41.43, 0 27.5 M0 27.5 C-1.61 10.05, 10.27 -0.12, 27.5 0 M0 27.5 C-0.35 8.94, 8.48 -0.12, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1064.5890471713915 1009.7235139164668) rotate(0 102.1899185180664 50)"><text x="102.1899185180664" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">7. isValid is checked </text><text x="102.1899185180664" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">to be == 7 (the </text><text x="102.1899185180664" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">number of checks </text><text x="102.1899185180664" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">performed)</text></g></svg>
@@ -0,0 +1,21 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1311.6468445088794 527.5025282307936" width="3934.9405335266383" height="1582.5075846923808">
2
+ <!-- svg-source:excalidraw -->
3
+
4
+ <defs>
5
+ <style class="style-fonts">
6
+ @font-face {
7
+ font-family: "Virgil";
8
+ src: url("https://excalidraw.com/Virgil.woff2");
9
+ }
10
+ @font-face {
11
+ font-family: "Cascadia";
12
+ src: url("https://excalidraw.com/Cascadia.woff2");
13
+ }
14
+ @font-face {
15
+ font-family: "Assistant";
16
+ src: url("https://excalidraw.com/Assistant-Regular.woff2");
17
+ }
18
+ </style>
19
+
20
+ </defs>
21
+ <rect x="0" y="0" width="1311.6468445088794" height="527.5025282307936" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(371.71429967973404 141.97217110373924) rotate(0 114.33810379333897 33.80052213620303)"><path d="M16.9 0 C94.3 0.3, 169.45 1.45, 211.78 0 M16.9 0 C95.09 -0.8, 172.26 -1.7, 211.78 0 M211.78 0 C222.46 1.34, 229.44 4.19, 228.68 16.9 M211.78 0 C222.29 -1.9, 227.3 5.01, 228.68 16.9 M228.68 16.9 C229.87 23.96, 228.48 29.52, 228.68 50.7 M228.68 16.9 C228.9 30.59, 229.14 42.4, 228.68 50.7 M228.68 50.7 C226.87 59.98, 223.5 66.34, 211.78 67.6 M228.68 50.7 C230.45 63.74, 222.57 65.38, 211.78 67.6 M211.78 67.6 C154.19 68.41, 102.29 66.96, 16.9 67.6 M211.78 67.6 C137.37 67.95, 63.08 67.79, 16.9 67.6 M16.9 67.6 C6.7 66.46, 0.11 63.42, 0 50.7 M16.9 67.6 C5.63 67.24, -0.1 62.57, 0 50.7 M0 50.7 C1.89 39.19, -0.32 32.7, 0 16.9 M0 50.7 C-0.17 39.21, -0.72 28.73, 0 16.9 M0 16.9 C0.52 6.35, 5.43 -1.84, 16.9 0 M0 16.9 C0.59 5.22, 5.06 -0.12, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(403.07248403947926 163.27269323994233) rotate(0 82.97991943359375 12.5)"><text x="82.97991943359375" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">PoseidonHasher13</text></g><g stroke-linecap="round"><g transform="translate(472.1136882907242 89.15377443553837) rotate(0 -0.155753916169715 21.356895369162203)"><path d="M0.54 0.22 C0.6 7.23, 0.38 35.29, 0.21 42.43 M0.16 -0.15 C0.2 6.91, 0.23 35.93, 0.05 42.99" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(472.1136882907242 89.15377443553837) rotate(0 -0.155753916169715 21.356895369162203)"><path d="M-7.06 22.85 C-4.67 29.25, -3.64 33.48, 0.05 42.99 M-7.06 22.85 C-4.57 29.86, -2.1 37.53, 0.05 42.99" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(472.1136882907242 89.15377443553837) rotate(0 -0.155753916169715 21.356895369162203)"><path d="M7.55 22.99 C5.97 29.42, 3.02 33.62, 0.05 42.99 M7.55 22.99 C4.67 29.89, 1.78 37.51, 0.05 42.99" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(518.6992044226031 94.84941990702907) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g transform="translate(529.9854405346057 243.41632761352514) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(469.2808666798412 228.73145951518904) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M0.21 -0.4 C0.28 6.3, 0.28 33.69, 0.27 40.57 M-0.35 0.59 C-0.35 7.31, -0.53 34.23, -0.26 41.03" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(469.2808666798412 228.73145951518904) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-7.53 21.85 C-6.22 26.71, -4.35 31.63, -0.26 41.03 M-7.53 21.85 C-6.06 27.41, -3.59 32.3, -0.26 41.03" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(469.2808666798412 228.73145951518904) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M6.5 21.67 C4.01 26.6, 2.08 31.57, -0.26 41.03 M6.5 21.67 C4.14 27.26, 2.78 32.2, -0.26 41.03" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(372.4449209678951 294.6578017815974) rotate(0 110.05757116156974 32.177416550875876)"><path d="M16.09 0 C77.95 -0.58, 142.59 -1.35, 204.03 0 M16.09 0 C68.65 -1.25, 120.45 -0.42, 204.03 0 M204.03 0 C215.93 -0.93, 220.17 7.27, 220.12 16.09 M204.03 0 C215.36 0.06, 218.04 3.08, 220.12 16.09 M220.12 16.09 C221.46 26.07, 217.98 36.58, 220.12 48.27 M220.12 16.09 C220.84 23.72, 220.11 30.42, 220.12 48.27 M220.12 48.27 C218.38 58.91, 214.24 65.22, 204.03 64.35 M220.12 48.27 C219.21 59.62, 215.97 63.04, 204.03 64.35 M204.03 64.35 C146.25 64.26, 89.62 64.07, 16.09 64.35 M204.03 64.35 C160.92 65.6, 120.32 66.25, 16.09 64.35 M16.09 64.35 C7.04 66.05, 0.24 58.75, 0 48.27 M16.09 64.35 C4.35 66.1, 0.6 59.82, 0 48.27 M0 48.27 C-0.07 38.43, 0.19 31.56, 0 16.09 M0 48.27 C0.3 38.5, -0.04 27.65, 0 16.09 M0 16.09 C1.64 6.17, 6.93 0.08, 16.09 0 M0 16.09 C-1.43 3.52, 3.68 -0.3, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(460.5225116607148 314.33521833247335) rotate(0 21.97998046875 12.5)"><text x="21.97998046875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hash</text></g><g stroke-linecap="round" transform="translate(781.839707339426 11.074390996129978) rotate(0 110.0575711615698 42.5)"><path d="M21.25 0 C63.47 0.04, 107.8 1.98, 198.87 0 M21.25 0 C73.97 -1.83, 125.55 -0.41, 198.87 0 M198.87 0 C213.56 0.05, 218.31 5.1, 220.12 21.25 M198.87 0 C213.56 -1.45, 221.89 8.86, 220.12 21.25 M220.12 21.25 C217.91 32.16, 217.73 46.78, 220.12 63.75 M220.12 21.25 C219.31 37.65, 219.93 54.57, 220.12 63.75 M220.12 63.75 C219.33 78.46, 214.09 83.86, 198.87 85 M220.12 63.75 C220.25 79.59, 213.02 84.64, 198.87 85 M198.87 85 C144.88 83.78, 95.55 82.92, 21.25 85 M198.87 85 C151.5 86.49, 102.58 85.52, 21.25 85 M21.25 85 C6.2 86.52, 0.52 78.64, 0 63.75 M21.25 85 C6.85 82.88, 0.59 77.5, 0 63.75 M0 63.75 C0.58 50.53, -1.92 40.47, 0 21.25 M0 63.75 C0.94 48.05, 0.91 31.58, 0 21.25 M0 21.25 C-1.24 5.48, 5.62 -0.26, 21.25 0 M0 21.25 C-1.05 5.38, 7.63 -0.67, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(807.2573630346872 16.074390996129978) rotate(0 84.63991546630854 37.5)"><text x="84.6399154663086" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Create three </text><text x="84.6399154663086" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">PoseidonHasher5 </text><text x="84.6399154663086" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">(T6)</text></g><g stroke-linecap="round" transform="translate(780.2557280859455 124.94891825010825) rotate(0 110.0575711615698 55)"><path d="M27.5 0 C62.85 -1.22, 99.99 0.98, 192.62 0 M27.5 0 C69.6 -1.55, 110.27 -2.57, 192.62 0 M192.62 0 C211.41 -1.26, 221.66 10.71, 220.12 27.5 M192.62 0 C210.48 -2.22, 219.78 7.1, 220.12 27.5 M220.12 27.5 C221.31 41.62, 221.18 53.38, 220.12 82.5 M220.12 27.5 C219.58 44.04, 220.51 59.46, 220.12 82.5 M220.12 82.5 C220.23 102.29, 210.94 109.69, 192.62 110 M220.12 82.5 C220.01 101.43, 210.63 108.26, 192.62 110 M192.62 110 C150.59 109.82, 110.43 110.16, 27.5 110 M192.62 110 C128.64 110.56, 65.81 110.16, 27.5 110 M27.5 110 C8.97 108.16, 0.51 100.47, 0 82.5 M27.5 110 C8.59 109.88, 2.25 101.48, 0 82.5 M0 82.5 C2.11 69.64, 1.53 59.56, 0 27.5 M0 82.5 C-1.05 62.98, -1.16 44.93, 0 27.5 M0 27.5 C-0.91 7.68, 9.64 -0.58, 27.5 0 M0 27.5 C-0.3 8.46, 9.12 -0.49, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(793.6933804242731 129.94891825010825) rotate(0 96.61991882324224 50)"><text x="96.61991882324219" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Pass input[1 to </text><text x="96.61991882324219" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">6]</text><text x="96.61991882324219" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Pass in input[6 to </text><text x="96.61991882324219" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">11]</text></g><g stroke-linecap="round" transform="translate(785.75668897439 270.0092991633953) rotate(0 110.0575711615698 55)"><path d="M27.5 0 C67.69 -0.91, 111.65 -0.44, 192.62 0 M27.5 0 C77.69 1.01, 128.19 2.41, 192.62 0 M192.62 0 C210.54 -1.93, 219.82 7.37, 220.12 27.5 M192.62 0 C209.82 -2.27, 222.14 11.16, 220.12 27.5 M220.12 27.5 C220.47 44.35, 221.42 61.43, 220.12 82.5 M220.12 27.5 C220.46 46.22, 220.4 63.33, 220.12 82.5 M220.12 82.5 C220.02 101.35, 210.67 108.49, 192.62 110 M220.12 82.5 C218.99 102.71, 208.83 109.34, 192.62 110 M192.62 110 C133.68 111.62, 71.12 110.5, 27.5 110 M192.62 110 C130.43 109.67, 68.7 110.41, 27.5 110 M27.5 110 C8.67 109.9, 1.96 101.39, 0 82.5 M27.5 110 C7.41 107.77, 0.11 102.65, 0 82.5 M0 82.5 C0.53 69.13, -0.19 51.39, 0 27.5 M0 82.5 C-0.06 69.68, 0.64 58.04, 0 27.5 M0 27.5 C-0.26 8.56, 9.12 -0.42, 27.5 0 M0 27.5 C1.49 8.3, 6.94 -0.3, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(804.3643394816629 287.5092991633953) rotate(0 91.44992065429682 37.5)"><text x="91.44992065429688" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. To the third </text><text x="91.44992065429688" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">hasher5 pass the </text><text x="91.44992065429688" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">rest</text></g><g transform="translate(656.7957037752835 120.37204045121314) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(639.6190915152245 181.00636158820555) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M-1.08 -1.19 C16.93 -1.61, 90.02 -2.52, 108.37 -2.45 M0.55 0.8 C18.4 0.52, 89.54 -0.74, 107.57 -1.31" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(639.6190915152245 181.00636158820555) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M79.63 9.61 C86.76 6.76, 96.61 4.28, 107.57 -1.31 M79.63 9.61 C90.05 4.86, 100.24 0.65, 107.57 -1.31" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(639.6190915152245 181.00636158820555) rotate(0 54.0494641083767 -0.8482636989667753)"><path d="M79.15 -10.91 C86.44 -7.06, 96.44 -2.84, 107.57 -1.31 M79.15 -10.91 C89.7 -7.91, 100.08 -4.38, 107.57 -1.31" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(376.60485910713965 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C54.28 1.11, 96.54 -0.84, 204.03 0 M16.09 0 C53.85 0.7, 93.47 2.56, 204.03 0 M204.03 0 C215.06 1.61, 218.38 5.28, 220.12 16.09 M204.03 0 C214.17 0.99, 219.21 5.99, 220.12 16.09 M220.12 16.09 C221.39 27.44, 219.62 38.72, 220.12 48.27 M220.12 16.09 C219.58 27.39, 219.15 36.78, 220.12 48.27 M220.12 48.27 C221.46 59.72, 216.43 66.05, 204.03 64.35 M220.12 48.27 C220.39 58.71, 213.74 66.1, 204.03 64.35 M204.03 64.35 C140.87 64.68, 81.04 63.67, 16.09 64.35 M204.03 64.35 C147.84 63.91, 93.23 65.67, 16.09 64.35 M16.09 64.35 C4.79 65.35, 1.64 59.8, 0 48.27 M16.09 64.35 C7.17 64.45, -1.43 57.14, 0 48.27 M0 48.27 C-1.44 41.43, -0.54 33.4, 0 16.09 M0 48.27 C0.65 39.22, -0.96 30.79, 0 16.09 M0 16.09 C1.8 3.74, 3.68 0.43, 16.09 0 M0 16.09 C-1.42 6.59, 6.18 1.42, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(384.4625096144125 17.177416550875932) rotate(0 102.19992065429688 25)"><text x="102.19992065429688" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">input[13] (array with</text><text x="102.19992065429688" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">len 13) </text></g><g stroke-linecap="round" transform="translate(1064.4161144381987 123.66466382398164) rotate(0 110.05757116156974 32.177416550875876)"><path d="M16.09 0 C85.06 0.09, 156.1 -0.6, 204.03 0 M16.09 0 C54.07 -0.83, 90.87 -1.67, 204.03 0 M204.03 0 C214.24 0.86, 219.33 5.91, 220.12 16.09 M204.03 0 C215.97 -1.32, 220.25 7.04, 220.12 16.09 M220.12 16.09 C220.58 25.46, 218.55 34.4, 220.12 48.27 M220.12 16.09 C220.49 28.73, 220.66 41.5, 220.12 48.27 M220.12 48.27 C220.35 58.75, 213.87 65.88, 204.03 64.35 M220.12 48.27 C220.72 59.82, 214.52 62.24, 204.03 64.35 M204.03 64.35 C142.75 65.84, 82.24 62.36, 16.09 64.35 M204.03 64.35 C165.59 66.34, 128.55 66.24, 16.09 64.35 M16.09 64.35 C6.93 64.44, -1.24 57.39, 0 48.27 M16.09 64.35 C3.68 64.06, -1.05 57.29, 0 48.27 M0 48.27 C-0.52 37.81, -0.33 28.73, 0 16.09 M0 48.27 C1.21 39.01, -0.53 31.59, 0 16.09 M0 16.09 C-1.23 6.43, 6.08 1.23, 16.09 0 M0 16.09 C-0.94 7.27, 5.06 -1.45, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1076.3837426676396 130.84208037485757) rotate(0 98.0899429321289 25)"><text x="98.0899429321289" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">note that 6 and 11 </text><text x="98.0899429321289" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">are not inclusive</text></g><g stroke-linecap="round"><g transform="translate(1015.8245334418147 157.5796855728414) rotate(0 18.9027027744238 -0.6071622858810883)"><path d="M-0.27 -0.54 C6.13 -0.58, 31.93 -0.7, 38.29 -0.74 M0.59 0.37 C6.97 0.23, 31.94 -1.13, 38.11 -1.46" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1015.8245334418147 157.5796855728414) rotate(0 18.9027027744238 -0.6071622858810883)"><path d="M20.71 5.95 C24.77 4.71, 31.49 1.91, 38.11 -1.46 M20.71 5.95 C27.24 3.34, 33.8 0.44, 38.11 -1.46" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1015.8245334418147 157.5796855728414) rotate(0 18.9027027744238 -0.6071622858810883)"><path d="M20.02 -6.97 C24.22 -4.52, 31.14 -3.63, 38.11 -1.46 M20.02 -6.97 C26.76 -4.66, 33.58 -2.64, 38.11 -1.46" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(10 148.9811289006857) rotate(0 160.13986206054688 25)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">This is used to hash a message</text><text x="0" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">and its encryption public key</text></g><g stroke-linecap="round" transform="translate(791.3740626307638 407.5025282307936) rotate(0 110.0575711615698 55)"><path d="M27.5 0 C89.5 0.51, 152.94 -0.4, 192.62 0 M27.5 0 C82.1 -0.3, 135.67 -0.05, 192.62 0 M192.62 0 C210.69 -2, 219.64 10.65, 220.12 27.5 M192.62 0 C211.67 -1.05, 218.28 10.8, 220.12 27.5 M220.12 27.5 C219.44 43.35, 218.58 55.91, 220.12 82.5 M220.12 27.5 C220.32 46.79, 219.79 68.64, 220.12 82.5 M220.12 82.5 C220.37 99.84, 212.23 108.33, 192.62 110 M220.12 82.5 C218.39 103.07, 211.27 110.59, 192.62 110 M192.62 110 C130.14 111.93, 68.46 111.33, 27.5 110 M192.62 110 C157.75 108.2, 123.9 109.76, 27.5 110 M27.5 110 C7.18 111.83, -1.4 99.99, 0 82.5 M27.5 110 C11.09 108.31, -1.07 99.99, 0 82.5 M0 82.5 C2.38 70.2, -0.2 58.52, 0 27.5 M0 82.5 C-0.12 62.69, -0.1 41.33, 0 27.5 M0 27.5 C1.01 10.51, 10.38 -0.56, 27.5 0 M0 27.5 C-1.81 10.48, 9.61 1.1, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(806.7017067293452 450.0025282307936) rotate(0 94.72992706298822 12.5)"><text x="94.72992706298828" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">4. Return the hash</text></g><g stroke-linecap="round" transform="translate(1081.53170218574 263.0390677647706) rotate(0 110.05757116156974 67.5)"><path d="M32 0 C76.85 2.27, 123.15 0.54, 188.12 0 M32 0 C91.36 -1.46, 151.29 0.03, 188.12 0 M188.12 0 C210.54 -1.42, 221.76 11.05, 220.12 32 M188.12 0 C209.55 0.71, 220.06 11.32, 220.12 32 M220.12 32 C219.33 48.1, 221.63 66.43, 220.12 103 M220.12 32 C221.5 54.16, 220.41 75.16, 220.12 103 M220.12 103 C218.91 122.58, 211.16 135.24, 188.12 135 M220.12 103 C217.98 124.64, 209.85 136.52, 188.12 135 M188.12 135 C142.49 136.1, 91.68 136.34, 32 135 M188.12 135 C136.23 134.79, 84.77 133.9, 32 135 M32 135 C9.14 136.11, 0.55 125.78, 0 103 M32 135 C8.68 135.45, 1.32 123.3, 0 103 M0 103 C-1.93 75.32, 0.63 46.12, 0 32 M0 103 C1.65 76.91, 0.2 52.12, 0 32 M0 32 C-1.64 11.86, 11.33 -1.07, 32 0 M0 32 C-0.69 10.28, 10.54 1.29, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(1099.1893633741652 268.0390677647706) rotate(0 92.39990997314453 62.5)"><text x="92.39990997314453" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">input[0]</text><text x="92.39990997314453" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">output of hasher1</text><text x="92.39990997314453" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">output of hasher2</text><text x="92.39990997314453" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">input[11]</text><text x="92.39990997314453" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">input[12]</text></g><g stroke-linecap="round"><g transform="translate(1027.1998904487527 328.85387959890636) rotate(0 12.71230456080275 -0.43083682756491726)"><path d="M-0.09 0.44 C4.11 0.28, 21.31 -0.34, 25.58 -0.63 M-0.79 0.19 C3.31 -0.17, 20.89 -1.29, 25.22 -1.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1027.1998904487527 328.85387959890636) rotate(0 12.71230456080275 -0.43083682756491726)"><path d="M13.53 3.53 C18.35 1.86, 22.44 -0.09, 25.22 -1.48 M13.53 3.53 C16.24 2.17, 18.88 1.36, 25.22 -1.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(1027.1998904487527 328.85387959890636) rotate(0 12.71230456080275 -0.43083682756491726)"><path d="M13.05 -5.16 C18.07 -3.61, 22.34 -2.34, 25.22 -1.48 M13.05 -5.16 C15.9 -4.62, 18.65 -3.53, 25.22 -1.48" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask></svg>
@@ -0,0 +1,21 @@
1
+ <svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 962.581525322702 409.41444389171056" width="2887.744575968106" height="1228.2433316751317">
2
+ <!-- svg-source:excalidraw -->
3
+
4
+ <defs>
5
+ <style class="style-fonts">
6
+ @font-face {
7
+ font-family: "Virgil";
8
+ src: url("https://excalidraw.com/Virgil.woff2");
9
+ }
10
+ @font-face {
11
+ font-family: "Cascadia";
12
+ src: url("https://excalidraw.com/Cascadia.woff2");
13
+ }
14
+ @font-face {
15
+ font-family: "Assistant";
16
+ src: url("https://excalidraw.com/Assistant-Regular.woff2");
17
+ }
18
+ </style>
19
+
20
+ </defs>
21
+ <rect x="0" y="0" width="962.581525322702" height="409.41444389171056" fill="#ffffff"></rect><g stroke-linecap="round" transform="translate(321.0041776352655 169.08716412264084) rotate(0 114.33810379333897 33.800522136203085)"><path d="M16.9 0 C82.86 0.39, 146.7 -1.28, 211.78 0 M16.9 0 C66.45 -0.25, 116.15 0.32, 211.78 0 M211.78 0 C221.98 -0.36, 227.29 6.53, 228.68 16.9 M211.78 0 C222.51 -2.12, 230.51 7.34, 228.68 16.9 M228.68 16.9 C229.05 28.15, 230.29 35.27, 228.68 50.7 M228.68 16.9 C229.33 26.76, 229.32 36.76, 228.68 50.7 M228.68 50.7 C227.67 62.04, 222.28 68.68, 211.78 67.6 M228.68 50.7 C227.76 61.18, 224.14 66.14, 211.78 67.6 M211.78 67.6 C164.76 66.77, 119.2 69.29, 16.9 67.6 M211.78 67.6 C138.6 67.23, 64.98 67.09, 16.9 67.6 M16.9 67.6 C3.82 68.66, 0.1 61.37, 0 50.7 M16.9 67.6 C4.12 69.61, -1.56 62.53, 0 50.7 M0 50.7 C1.88 40.4, 1.27 27.71, 0 16.9 M0 50.7 C0.95 42.17, 1.02 33.91, 0 16.9 M0 16.9 C1.53 5.48, 5.26 1.05, 16.9 0 M0 16.9 C0.73 6.51, 3.73 0.43, 16.9 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(369.7723503983311 190.38768625884381) rotate(0 65.56993103027344 12.5)"><text x="65.56993103027344" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#e03131" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">PrivToPubKey</text></g><g stroke-linecap="round"><g transform="translate(420.34275347662606 86.66141639417106) rotate(0 -2.312345687166726 39.34347104050323)"><path d="M-0.21 -0.57 C-0.99 12.38, -3.21 65.53, -3.88 78.7 M-1.78 1.75 C-2.72 14.82, -3.93 67.27, -4.43 80.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.34275347662606 86.66141639417106) rotate(0 -2.312345687166726 39.34347104050323)"><path d="M-13.83 51.75 C-11.1 63.43, -6.7 73.26, -4.43 80.24 M-13.83 51.75 C-11.53 59.42, -9.1 67.92, -4.43 80.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(420.34275347662606 86.66141639417106) rotate(0 -2.312345687166726 39.34347104050323)"><path d="M6.68 52.38 C1.9 63.8, -1.2 73.39, -4.43 80.24 M6.68 52.38 C3.3 59.94, 0.06 68.27, -4.43 80.24" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(467.98908237813475 121.9644129259309) rotate(0 31.809967041015625 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Inputs</text></g><g transform="translate(479.2753184901371 270.53132063242674) rotate(0 34.84996032714844 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Output</text></g><g stroke-linecap="round"><g transform="translate(418.5707446353731 255.84645253409008) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M0.44 0.18 C0.43 7.02, 0.22 34.08, 0.15 40.92 M0 -0.2 C0.16 6.74, 1.04 34.82, 1.24 41.57" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(418.5707446353731 255.84645253409008) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M-6.36 22.52 C-3.52 28.29, -1.51 34.46, 1.24 41.57 M-6.36 22.52 C-3.36 29.49, -1.26 35.28, 1.24 41.57" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(418.5707446353731 255.84645253409008) rotate(0 0.2229014099474398 20.511057519056408)"><path d="M7.67 22.09 C5.84 28.06, 3.19 34.38, 1.24 41.57 M7.67 22.09 C5.82 29.15, 3.09 35.08, 1.24 41.57" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g stroke-linecap="round" transform="translate(321.73479892342675 321.772794800499) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C87.08 -0.39, 159.69 0.54, 204.03 0 M16.09 0 C54.91 -2.22, 93.64 -1.07, 204.03 0 M204.03 0 C216.69 1.9, 219.86 5.48, 220.12 16.09 M204.03 0 C216.97 -1.12, 220.87 4.26, 220.12 16.09 M220.12 16.09 C219.93 26, 220.93 36.64, 220.12 48.27 M220.12 16.09 C219.65 24.82, 220.78 32.89, 220.12 48.27 M220.12 48.27 C218.29 59.22, 215.45 65.93, 204.03 64.35 M220.12 48.27 C218.95 58.37, 216.26 64.71, 204.03 64.35 M204.03 64.35 C132.13 62.75, 57.52 61.33, 16.09 64.35 M204.03 64.35 C131.33 64.21, 57.94 65.65, 16.09 64.35 M16.09 64.35 C5.55 65.42, -2 57.83, 0 48.27 M16.09 64.35 C3.17 64.26, 1.43 58.18, 0 48.27 M0 48.27 C-0.01 36, 1.19 25.11, 0 16.09 M0 48.27 C-0.04 37.27, 0.83 25.68, 0 16.09 M0 16.09 C-0.35 3.43, 4.98 0.62, 16.09 0 M0 16.09 C-1.97 3.46, 4.7 -0.7, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(399.81240487503555 341.45021135137495) rotate(0 31.979965209960938 12.5)"><text x="31.979965209960938" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#2f9e44" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">pubKey</text></g><g transform="translate(604.304562327331 160.36322829268988) rotate(0 49.669944763183594 12.5)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Processing</text></g><g stroke-linecap="round"><g transform="translate(610.3930684106849 210.9033280264407) rotate(0 49.41329770489415 0.8767946582686363)"><path d="M0.96 0.89 C17.42 1.2, 82.34 0.55, 98.53 0.76 M0 0.31 C16.31 0.83, 81.26 1.82, 97.43 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(610.3930684106849 210.9033280264407) rotate(0 49.41329770489415 0.8767946582686363)"><path d="M69.16 11.81 C78.57 8.31, 83.25 4.88, 97.43 1.77 M69.16 11.81 C78.34 8.26, 88.84 4.37, 97.43 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g><g transform="translate(610.3930684106849 210.9033280264407) rotate(0 49.41329770489415 0.8767946582686363)"><path d="M69.32 -8.71 C78.49 -6.52, 83.14 -4.27, 97.43 1.77 M69.32 -8.71 C78.65 -5.43, 89.09 -2.49, 97.43 1.77" stroke="#1e1e1e" stroke-width="1" fill="none"></path></g></g><mask></mask><g transform="translate(10 168.86997719411306) rotate(0 138.84988403320312 25)"><text x="0" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Generate a public key from </text><text x="0" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1e1e1e" text-anchor="start" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">a privateKey</text></g><g stroke-linecap="round" transform="translate(310.6766454753915 10) rotate(0 110.05757116156974 32.17741655087593)"><path d="M16.09 0 C89.6 0.02, 163.41 -1.62, 204.03 0 M16.09 0 C72.75 -1.36, 130.68 -1.65, 204.03 0 M204.03 0 C213.51 0.35, 221.13 4.75, 220.12 16.09 M204.03 0 C212.66 0.26, 220.92 7.18, 220.12 16.09 M220.12 16.09 C220.34 25.88, 220.06 30.32, 220.12 48.27 M220.12 16.09 C219.47 28.32, 219.45 39.04, 220.12 48.27 M220.12 48.27 C220.33 57.78, 213.8 66.03, 204.03 64.35 M220.12 48.27 C220.34 60.22, 212.46 63.02, 204.03 64.35 M204.03 64.35 C164.9 66.92, 126.33 67.05, 16.09 64.35 M204.03 64.35 C149.38 65.72, 93.28 65.53, 16.09 64.35 M16.09 64.35 C4.76 64.12, 1.14 57.33, 0 48.27 M16.09 64.35 C4.96 62.14, -0.44 59.7, 0 48.27 M0 48.27 C-0.35 42.59, -1 32.72, 0 16.09 M0 48.27 C-0.32 39.47, 0.17 32.2, 0 16.09 M0 16.09 C-0.18 4.55, 5.77 0.01, 16.09 0 M0 16.09 C0.08 6.32, 3.39 1.87, 16.09 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(387.79425234252767 29.677416550875932) rotate(0 32.939964294433594 12.5)"><text x="32.939964294433594" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">privKey</text></g><g stroke-linecap="round" transform="translate(732.4663829995625 55.109525900509425) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C67.11 1.66, 113.07 -0.53, 198.87 0 M21.25 0 C76.75 0.66, 134.43 1.34, 198.87 0 M198.87 0 C212.02 -0.54, 221.43 7.4, 220.12 21.25 M198.87 0 C215.06 0.04, 218.03 8.3, 220.12 21.25 M220.12 21.25 C221.74 32.87, 220.48 47.41, 220.12 63.75 M220.12 21.25 C220.01 31.97, 218.91 41.04, 220.12 63.75 M220.12 63.75 C218.2 77.83, 214.28 84.3, 198.87 85 M220.12 63.75 C221.72 76.94, 214.79 84.83, 198.87 85 M198.87 85 C149.64 83.91, 99.26 84.96, 21.25 85 M198.87 85 C147.48 82.56, 96.26 83.83, 21.25 85 M21.25 85 C5.37 83.35, -0.57 77.31, 0 63.75 M21.25 85 C8.49 83.54, -2.01 77.07, 0 63.75 M0 63.75 C-0.41 48.82, 2 32.12, 0 21.25 M0 63.75 C-0.05 53.14, -0.95 42.51, 0 21.25 M0 21.25 C-1.63 5.86, 6.57 0.1, 21.25 0 M0 21.25 C-1.67 9.36, 4.94 0.43, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(748.5140435776361 72.60952590050942) rotate(0 94.0099105834961 25)"><text x="94.0099105834961" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">1. Convert the </text><text x="94.0099105834961" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">private key to bits</text></g><g stroke-linecap="round" transform="translate(730.1645237312086 163.6504075083801) rotate(0 110.05757116156974 55)"><path d="M27.5 0 C85.27 2.04, 141.72 -0.8, 192.62 0 M27.5 0 C78.42 -1.57, 131 -1.15, 192.62 0 M192.62 0 C212.71 0.03, 218.3 10.22, 220.12 27.5 M192.62 0 C211.07 -0.69, 218.6 11.18, 220.12 27.5 M220.12 27.5 C219.04 39.32, 221.93 53.23, 220.12 82.5 M220.12 27.5 C218.61 46.89, 220.19 66.02, 220.12 82.5 M220.12 82.5 C221.51 99.98, 212.47 109.85, 192.62 110 M220.12 82.5 C219.69 102.04, 211.68 110.87, 192.62 110 M192.62 110 C156.48 110.64, 119.15 109.15, 27.5 110 M192.62 110 C158.16 109.68, 125.12 110.21, 27.5 110 M27.5 110 C10.39 108.73, -1.75 100.1, 0 82.5 M27.5 110 C10.77 108.67, -0.23 100.08, 0 82.5 M0 82.5 C-1.29 64.23, -0.47 45.23, 0 27.5 M0 82.5 C-0.34 63.1, 0.22 44.97, 0 27.5 M0 27.5 C-1.45 11.15, 7.3 0.37, 27.5 0 M0 27.5 C0.54 9.04, 8.41 1, 27.5 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(747.2321656935596 168.6504075083801) rotate(0 92.98992919921875 50)"><text x="92.98992919921875" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">2. Perform scalar </text><text x="92.98992919921875" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">multiplication with </text><text x="92.98992919921875" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">baby jubjub </text><text x="92.98992919921875" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">basepoint</text></g><g stroke-linecap="round" transform="translate(731.0369673181135 314.41444389171056) rotate(0 110.05757116156974 42.5)"><path d="M21.25 0 C83.8 2.32, 147.47 0.61, 198.87 0 M21.25 0 C70.63 -0.26, 117.34 0.25, 198.87 0 M198.87 0 C213.14 -0.6, 218.8 8.83, 220.12 21.25 M198.87 0 C211.47 0.56, 220.36 5.7, 220.12 21.25 M220.12 21.25 C221.54 29.98, 219.31 40.78, 220.12 63.75 M220.12 21.25 C221.08 33.39, 221.14 46.31, 220.12 63.75 M220.12 63.75 C219.74 78.97, 213.67 85.76, 198.87 85 M220.12 63.75 C218.22 78.35, 212.33 84.73, 198.87 85 M198.87 85 C133.54 84.3, 72.7 82.98, 21.25 85 M198.87 85 C160.88 83.82, 120.81 84.09, 21.25 85 M21.25 85 C8.48 83.84, -0.2 77.26, 0 63.75 M21.25 85 C7.99 87.01, -0.21 76.98, 0 63.75 M0 63.75 C0.83 48.42, 1.63 34.9, 0 21.25 M0 63.75 C-0.62 54.6, -0.83 43.66, 0 21.25 M0 21.25 C0.47 6.97, 6.42 0.87, 21.25 0 M0 21.25 C-2.26 7.56, 8.55 -0.6, 21.25 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(737.4046199616168 331.91444389171056) rotate(0 103.6899185180664 25)"><text x="103.6899185180664" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">3. Return the public </text><text x="103.6899185180664" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">key </text></g><g stroke-linecap="round" transform="translate(11.165819158557497 236.84458773187225) rotate(0 121.92637087557455 75.12971569299202)"><path d="M32 0 C80.33 -0.63, 127.72 0.44, 211.85 0 M32 0 C94.26 0.5, 155.49 0.36, 211.85 0 M211.85 0 C232.61 -0.85, 244.96 10.41, 243.85 32 M211.85 0 C233.19 2.3, 244.73 12.3, 243.85 32 M243.85 32 C243.76 65.71, 244.42 102.56, 243.85 118.26 M243.85 32 C244.06 50.29, 243.51 67.95, 243.85 118.26 M243.85 118.26 C242.27 140.17, 233.56 148.32, 211.85 150.26 M243.85 118.26 C245.01 138.24, 231.88 149.78, 211.85 150.26 M211.85 150.26 C142.36 150.6, 73.32 150.88, 32 150.26 M211.85 150.26 C168.91 148.74, 125.46 149.01, 32 150.26 M32 150.26 C9.8 149.72, 0.37 139.56, 0 118.26 M32 150.26 C9.29 151.84, 1.51 137.44, 0 118.26 M0 118.26 C-0.44 84.77, -0.41 53.06, 0 32 M0 118.26 C-0.73 86.59, 0.83 57.05, 0 32 M0 32 C-1.37 9.83, 12.44 1.58, 32 0 M0 32 C-1.74 9.14, 11.15 1.39, 32 0" stroke="#1971c2" stroke-width="1" fill="none"></path></g><g transform="translate(17.372295624952358 249.47430342486427) rotate(0 115.71989440917969 62.5)"><text x="115.71989440917969" y="0" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">Base point = point on </text><text x="115.71989440917969" y="25" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">an elliptic curve which </text><text x="115.71989440917969" y="50" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">multiplied by any number</text><text x="115.71989440917969" y="75" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">results in a point on </text><text x="115.71989440917969" y="100" font-family="Virgil, Segoe UI Emoji" font-size="20px" fill="#1971c2" text-anchor="middle" style="white-space: pre;" direction="ltr" dominant-baseline="text-before-edge">the curve.</text></g></svg>