visaljs 0.0.2 → 0.0.4

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 (1243) hide show
  1. package/README.md +3 -1
  2. package/cli.js +545 -86
  3. package/node/include/js_node.h +30 -5
  4. package/node/include/js_uv.h +36 -0
  5. package/node/prelude/async_hooks.js +0 -0
  6. package/node/prelude/buffer.js +0 -0
  7. package/node/prelude/crypto.js +7 -10
  8. package/node/prelude/dns.js +99 -0
  9. package/node/prelude/dns_promises.js +10 -0
  10. package/node/prelude/events.js +0 -0
  11. package/node/prelude/fs.js +0 -0
  12. package/node/prelude/http.js +1039 -195
  13. package/node/prelude/http2.js +0 -0
  14. package/node/prelude/internal/crypto/asym.js +39 -12
  15. package/node/prelude/internal/crypto/cipher.js +0 -0
  16. package/node/prelude/internal/crypto/dh_groups.js +12 -0
  17. package/node/prelude/internal/crypto/diffiehellman.js +354 -0
  18. package/node/prelude/internal/crypto/hash.js +1 -1
  19. package/node/prelude/internal/crypto/kdf.js +0 -0
  20. package/node/prelude/internal/crypto/key_type.js +3 -0
  21. package/node/prelude/internal/crypto/keys.js +39 -9
  22. package/node/prelude/internal/crypto/random.js +0 -0
  23. package/node/prelude/internal/crypto/util.js +0 -0
  24. package/node/prelude/internal/errors.js +0 -0
  25. package/node/prelude/internal/http_agent.js +249 -0
  26. package/node/prelude/internal/net.js +33 -0
  27. package/node/prelude/internal/querystring.js +0 -0
  28. package/node/prelude/internal/socketaddress.js +249 -0
  29. package/node/prelude/internal/tls/common.js +306 -0
  30. package/node/prelude/internal/tls/wrap.js +1220 -0
  31. package/node/prelude/internal/tls/x509.js +394 -0
  32. package/node/prelude/module.js +0 -0
  33. package/node/prelude/net.js +1082 -50
  34. package/node/prelude/os.js +2 -2
  35. package/node/prelude/path.js +0 -0
  36. package/node/prelude/process.js +0 -0
  37. package/node/prelude/querystring.js +0 -0
  38. package/node/prelude/stream.js +6 -0
  39. package/node/prelude/stream_promises.js +0 -0
  40. package/node/prelude/stream_web.js +0 -0
  41. package/node/prelude/string_decoder.js +0 -0
  42. package/node/prelude/tls.js +141 -0
  43. package/node/prelude/tty.js +0 -0
  44. package/node/prelude/url.js +0 -0
  45. package/node/prelude/util.js +5 -2
  46. package/node/prelude/util_types.js +85 -0
  47. package/node/prelude/zlib.js +0 -0
  48. package/node/src/host_fs.c +10 -2
  49. package/node/src/host_http.c +268 -270
  50. package/node/src/host_loop.c +84 -0
  51. package/node/src/host_net.c +495 -0
  52. package/node/src/host_os.c +0 -0
  53. package/node/src/host_sys.c +54 -26
  54. package/node/third_party/libuv/LICENSE +0 -0
  55. package/node/third_party/libuv/include/uv/aix.h +0 -0
  56. package/node/third_party/libuv/include/uv/bsd.h +0 -0
  57. package/node/third_party/libuv/include/uv/darwin.h +0 -0
  58. package/node/third_party/libuv/include/uv/errno.h +0 -0
  59. package/node/third_party/libuv/include/uv/linux.h +0 -0
  60. package/node/third_party/libuv/include/uv/os390.h +0 -0
  61. package/node/third_party/libuv/include/uv/posix.h +0 -0
  62. package/node/third_party/libuv/include/uv/sunos.h +0 -0
  63. package/node/third_party/libuv/include/uv/threadpool.h +0 -0
  64. package/node/third_party/libuv/include/uv/tree.h +0 -0
  65. package/node/third_party/libuv/include/uv/unix.h +0 -0
  66. package/node/third_party/libuv/include/uv/version.h +0 -0
  67. package/node/third_party/libuv/include/uv/win.h +0 -0
  68. package/node/third_party/libuv/include/uv.h +0 -0
  69. package/node/third_party/libuv/src/fs-poll.c +0 -0
  70. package/node/third_party/libuv/src/heap-inl.h +0 -0
  71. package/node/third_party/libuv/src/idna.c +0 -0
  72. package/node/third_party/libuv/src/idna.h +0 -0
  73. package/node/third_party/libuv/src/inet.c +0 -0
  74. package/node/third_party/libuv/src/queue.h +0 -0
  75. package/node/third_party/libuv/src/random.c +0 -0
  76. package/node/third_party/libuv/src/strscpy.c +0 -0
  77. package/node/third_party/libuv/src/strscpy.h +0 -0
  78. package/node/third_party/libuv/src/strtok.c +0 -0
  79. package/node/third_party/libuv/src/strtok.h +0 -0
  80. package/node/third_party/libuv/src/thread-common.c +0 -0
  81. package/node/third_party/libuv/src/threadpool.c +0 -0
  82. package/node/third_party/libuv/src/timer.c +0 -0
  83. package/node/third_party/libuv/src/unix/async.c +0 -0
  84. package/node/third_party/libuv/src/unix/bsd-ifaddrs.c +0 -0
  85. package/node/third_party/libuv/src/unix/core.c +0 -0
  86. package/node/third_party/libuv/src/unix/darwin-proctitle.c +0 -0
  87. package/node/third_party/libuv/src/unix/darwin-stub.h +0 -0
  88. package/node/third_party/libuv/src/unix/darwin-syscalls.h +0 -0
  89. package/node/third_party/libuv/src/unix/darwin.c +0 -0
  90. package/node/third_party/libuv/src/unix/dl.c +0 -0
  91. package/node/third_party/libuv/src/unix/fs.c +0 -0
  92. package/node/third_party/libuv/src/unix/fsevents.c +0 -0
  93. package/node/third_party/libuv/src/unix/getaddrinfo.c +0 -0
  94. package/node/third_party/libuv/src/unix/getnameinfo.c +0 -0
  95. package/node/third_party/libuv/src/unix/internal.h +0 -0
  96. package/node/third_party/libuv/src/unix/kqueue.c +0 -0
  97. package/node/third_party/libuv/src/unix/linux.c +0 -0
  98. package/node/third_party/libuv/src/unix/loop-watcher.c +0 -0
  99. package/node/third_party/libuv/src/unix/loop.c +0 -0
  100. package/node/third_party/libuv/src/unix/pipe.c +0 -0
  101. package/node/third_party/libuv/src/unix/poll.c +0 -0
  102. package/node/third_party/libuv/src/unix/process.c +0 -0
  103. package/node/third_party/libuv/src/unix/procfs-exepath.c +0 -0
  104. package/node/third_party/libuv/src/unix/proctitle.c +0 -0
  105. package/node/third_party/libuv/src/unix/random-devurandom.c +0 -0
  106. package/node/third_party/libuv/src/unix/random-getentropy.c +0 -0
  107. package/node/third_party/libuv/src/unix/random-getrandom.c +0 -0
  108. package/node/third_party/libuv/src/unix/random-sysctl-linux.c +0 -0
  109. package/node/third_party/libuv/src/unix/signal.c +0 -0
  110. package/node/third_party/libuv/src/unix/stream.c +0 -0
  111. package/node/third_party/libuv/src/unix/tcp.c +0 -0
  112. package/node/third_party/libuv/src/unix/thread.c +0 -0
  113. package/node/third_party/libuv/src/unix/tty.c +0 -0
  114. package/node/third_party/libuv/src/unix/udp.c +0 -0
  115. package/node/third_party/libuv/src/uv-common.c +0 -0
  116. package/node/third_party/libuv/src/uv-common.h +0 -0
  117. package/node/third_party/libuv/src/uv-data-getter-setters.c +0 -0
  118. package/node/third_party/libuv/src/version.c +0 -0
  119. package/node/third_party/libuv/src/win/async.c +98 -0
  120. package/node/third_party/libuv/src/win/atomicops-inl.h +61 -0
  121. package/node/third_party/libuv/src/win/core.c +683 -0
  122. package/node/third_party/libuv/src/win/detect-wakeup.c +56 -0
  123. package/node/third_party/libuv/src/win/dl.c +135 -0
  124. package/node/third_party/libuv/src/win/error.c +183 -0
  125. package/node/third_party/libuv/src/win/fs-event.c +620 -0
  126. package/node/third_party/libuv/src/win/fs-fd-hash-inl.h +200 -0
  127. package/node/third_party/libuv/src/win/fs.c +3774 -0
  128. package/node/third_party/libuv/src/win/getaddrinfo.c +388 -0
  129. package/node/third_party/libuv/src/win/getnameinfo.c +146 -0
  130. package/node/third_party/libuv/src/win/handle-inl.h +180 -0
  131. package/node/third_party/libuv/src/win/handle.c +162 -0
  132. package/node/third_party/libuv/src/win/internal.h +335 -0
  133. package/node/third_party/libuv/src/win/loop-watcher.c +122 -0
  134. package/node/third_party/libuv/src/win/pipe.c +2725 -0
  135. package/node/third_party/libuv/src/win/poll.c +586 -0
  136. package/node/third_party/libuv/src/win/process-stdio.c +419 -0
  137. package/node/third_party/libuv/src/win/process.c +1407 -0
  138. package/node/third_party/libuv/src/win/req-inl.h +214 -0
  139. package/node/third_party/libuv/src/win/signal.c +282 -0
  140. package/node/third_party/libuv/src/win/snprintf.c +42 -0
  141. package/node/third_party/libuv/src/win/stream-inl.h +54 -0
  142. package/node/third_party/libuv/src/win/stream.c +252 -0
  143. package/node/third_party/libuv/src/win/tcp.c +1674 -0
  144. package/node/third_party/libuv/src/win/thread.c +568 -0
  145. package/node/third_party/libuv/src/win/tty.c +2460 -0
  146. package/node/third_party/libuv/src/win/udp.c +1162 -0
  147. package/node/third_party/libuv/src/win/util.c +1750 -0
  148. package/node/third_party/libuv/src/win/winapi.c +144 -0
  149. package/node/third_party/libuv/src/win/winapi.h +4831 -0
  150. package/node/third_party/libuv/src/win/winsock.c +575 -0
  151. package/node/third_party/libuv/src/win/winsock.h +160 -0
  152. package/node/third_party/llhttp/LICENSE +0 -0
  153. package/node/third_party/llhttp/api.c +0 -0
  154. package/node/third_party/llhttp/http.c +0 -0
  155. package/node/third_party/llhttp/llhttp.c +0 -0
  156. package/node/third_party/llhttp/llhttp.h +0 -0
  157. package/package.json +1 -1
  158. package/runtime/include/js_atoms.gen.h +0 -0
  159. package/runtime/include/js_atoms.h +0 -0
  160. package/runtime/include/js_bigint.h +0 -0
  161. package/runtime/include/js_buffer.h +0 -0
  162. package/runtime/include/js_builtins.h +16 -0
  163. package/runtime/include/js_console.h +2 -0
  164. package/runtime/include/js_convert.h +0 -0
  165. package/runtime/include/js_core.def +23 -0
  166. package/runtime/include/js_crypto.h +23 -0
  167. package/runtime/include/js_error.h +0 -0
  168. package/runtime/include/js_exception.h +0 -0
  169. package/runtime/include/js_function.h +0 -0
  170. package/runtime/include/js_gc.h +0 -0
  171. package/runtime/include/js_generator.h +2 -3
  172. package/runtime/include/js_host.h +0 -0
  173. package/runtime/include/js_jobs.h +0 -0
  174. package/runtime/include/js_module.h +0 -0
  175. package/runtime/include/js_object.h +0 -0
  176. package/runtime/include/js_ops.h +0 -0
  177. package/runtime/include/js_promise.h +0 -2
  178. package/runtime/include/js_regexp.h +0 -0
  179. package/runtime/include/js_runtime.h +0 -0
  180. package/runtime/include/js_symbol.h +0 -0
  181. package/runtime/include/js_web.h +0 -0
  182. package/runtime/include/jscell.h +0 -0
  183. package/runtime/include/jscontext.h +0 -0
  184. package/runtime/include/jsnum.h +0 -0
  185. package/runtime/include/jsstring.h +0 -0
  186. package/runtime/include/jsvalue.h +0 -0
  187. package/runtime/src/arguments.c +0 -0
  188. package/runtime/src/array.c +0 -0
  189. package/runtime/src/arraybuffer.c +0 -0
  190. package/runtime/src/async_iter.c +4 -1
  191. package/runtime/src/atoms.c +0 -0
  192. package/runtime/src/base64.c +0 -0
  193. package/runtime/src/bigint.c +0 -0
  194. package/runtime/src/blob.c +0 -0
  195. package/runtime/src/boringssl_support.cc +37 -0
  196. package/runtime/src/buffer.c +0 -0
  197. package/runtime/src/builtin_table.c +8 -0
  198. package/runtime/src/builtins.c +0 -0
  199. package/runtime/src/builtins_util.h +0 -0
  200. package/runtime/src/collections.c +0 -0
  201. package/runtime/src/components.c +10 -0
  202. package/runtime/src/console.c +6 -18
  203. package/runtime/src/convert.c +0 -0
  204. package/runtime/src/core_all.c +1 -0
  205. package/runtime/src/crypto.c +0 -0
  206. package/runtime/src/crypto_asym.c +450 -241
  207. package/runtime/src/crypto_bn.c +91 -0
  208. package/runtime/src/crypto_cipher.c +153 -75
  209. package/runtime/src/crypto_hash.c +68 -53
  210. package/runtime/src/crypto_host.c +0 -0
  211. package/runtime/src/crypto_internal.h +55 -26
  212. package/runtime/src/crypto_kdf.c +0 -0
  213. package/runtime/src/crypto_key.c +0 -0
  214. package/runtime/src/crypto_pkey.c +198 -61
  215. package/runtime/src/crypto_subtle.c +42 -16
  216. package/runtime/src/crypto_tls.c +678 -0
  217. package/runtime/src/date.c +0 -0
  218. package/runtime/src/domexception.c +0 -0
  219. package/runtime/src/elements.c +0 -0
  220. package/runtime/src/elements.h +0 -0
  221. package/runtime/src/encoding.c +0 -0
  222. package/runtime/src/error.c +0 -0
  223. package/runtime/src/events.c +0 -0
  224. package/runtime/src/exception.c +0 -0
  225. package/runtime/src/fetch.c +0 -0
  226. package/runtime/src/function.c +0 -0
  227. package/runtime/src/gc.c +0 -0
  228. package/runtime/src/generator.c +8 -1
  229. package/runtime/src/global.c +2 -4
  230. package/runtime/src/headers.c +0 -0
  231. package/runtime/src/inspect.c +0 -0
  232. package/runtime/src/internal.h +0 -1
  233. package/runtime/src/iterate.c +0 -0
  234. package/runtime/src/iterator.c +0 -0
  235. package/runtime/src/jobs.c +2 -1
  236. package/runtime/src/jsnum.c +0 -0
  237. package/runtime/src/json.c +0 -0
  238. package/runtime/src/math.c +0 -0
  239. package/runtime/src/module.c +0 -0
  240. package/runtime/src/number.c +0 -0
  241. package/runtime/src/object.c +0 -0
  242. package/runtime/src/ops.c +0 -0
  243. package/runtime/src/os.c +0 -0
  244. package/runtime/src/os.h +0 -0
  245. package/runtime/src/process.c +7 -0
  246. package/runtime/src/promise.c +4 -1
  247. package/runtime/src/proxy.c +0 -0
  248. package/runtime/src/reflect.c +0 -0
  249. package/runtime/src/regexp.c +0 -0
  250. package/runtime/src/regexp_anchor.h +0 -0
  251. package/runtime/src/regexp_message.h +0 -0
  252. package/runtime/src/shape.c +0 -0
  253. package/runtime/src/shape.h +0 -0
  254. package/runtime/src/streams.c +0 -0
  255. package/runtime/src/streams.h +0 -0
  256. package/runtime/src/string.c +0 -0
  257. package/runtime/src/string_builtins.c +0 -0
  258. package/runtime/src/symbol.c +0 -0
  259. package/runtime/src/test_host.c +0 -0
  260. package/runtime/src/tls_roots.gen.h +3215 -0
  261. package/runtime/src/typedarray.c +0 -0
  262. package/runtime/src/tznames.gen.h +0 -0
  263. package/runtime/src/uri.c +0 -0
  264. package/runtime/src/url.c +0 -0
  265. package/runtime/src/util_types.c +52 -0
  266. package/runtime/src/weak.c +2 -1
  267. package/runtime/src/web.c +0 -0
  268. package/runtime/src/wrapper.c +0 -0
  269. package/runtime/src/writable.c +0 -0
  270. package/runtime/third_party/ada-idna/LICENSE-MIT +0 -0
  271. package/runtime/third_party/ada-idna/README.md +0 -0
  272. package/runtime/third_party/ada-idna/convert.mjs +0 -0
  273. package/runtime/third_party/ada-idna/idna.c +0 -0
  274. package/runtime/third_party/ada-idna/idna.h +0 -0
  275. package/runtime/third_party/ada-idna/idna_tables.h +0 -0
  276. package/runtime/third_party/boringssl/LICENSE +238 -0
  277. package/runtime/third_party/boringssl/README.md +46 -0
  278. package/runtime/third_party/boringssl/VERSION +1 -0
  279. package/runtime/third_party/boringssl/crypto/aes/aes.cc +44 -0
  280. package/runtime/third_party/boringssl/crypto/armv8_feature_parsing.h +67 -0
  281. package/runtime/third_party/boringssl/crypto/asn1/a_bitstr.cc +297 -0
  282. package/runtime/third_party/boringssl/crypto/asn1/a_bool.cc +50 -0
  283. package/runtime/third_party/boringssl/crypto/asn1/a_d2i_fp.cc +47 -0
  284. package/runtime/third_party/boringssl/crypto/asn1/a_dup.cc +42 -0
  285. package/runtime/third_party/boringssl/crypto/asn1/a_gentm.cc +130 -0
  286. package/runtime/third_party/boringssl/crypto/asn1/a_i2d_fp.cc +44 -0
  287. package/runtime/third_party/boringssl/crypto/asn1/a_int.cc +467 -0
  288. package/runtime/third_party/boringssl/crypto/asn1/a_mbstr.cc +242 -0
  289. package/runtime/third_party/boringssl/crypto/asn1/a_object.cc +191 -0
  290. package/runtime/third_party/boringssl/crypto/asn1/a_octet.cc +32 -0
  291. package/runtime/third_party/boringssl/crypto/asn1/a_strex.cc +411 -0
  292. package/runtime/third_party/boringssl/crypto/asn1/a_strnid.cc +208 -0
  293. package/runtime/third_party/boringssl/crypto/asn1/a_time.cc +248 -0
  294. package/runtime/third_party/boringssl/crypto/asn1/a_type.cc +467 -0
  295. package/runtime/third_party/boringssl/crypto/asn1/a_utctm.cc +128 -0
  296. package/runtime/third_party/boringssl/crypto/asn1/asn1_lib.cc +453 -0
  297. package/runtime/third_party/boringssl/crypto/asn1/asn1_par.cc +61 -0
  298. package/runtime/third_party/boringssl/crypto/asn1/asn_pack.cc +56 -0
  299. package/runtime/third_party/boringssl/crypto/asn1/f_int.cc +63 -0
  300. package/runtime/third_party/boringssl/crypto/asn1/f_string.cc +52 -0
  301. package/runtime/third_party/boringssl/crypto/asn1/internal.h +430 -0
  302. package/runtime/third_party/boringssl/crypto/asn1/posix_time.cc +244 -0
  303. package/runtime/third_party/boringssl/crypto/asn1/tasn_dec.cc +611 -0
  304. package/runtime/third_party/boringssl/crypto/asn1/tasn_enc.cc +348 -0
  305. package/runtime/third_party/boringssl/crypto/asn1/tasn_fre.cc +163 -0
  306. package/runtime/third_party/boringssl/crypto/asn1/tasn_new.cc +274 -0
  307. package/runtime/third_party/boringssl/crypto/asn1/tasn_typ.cc +92 -0
  308. package/runtime/third_party/boringssl/crypto/asn1/tasn_utl.cc +218 -0
  309. package/runtime/third_party/boringssl/crypto/base64/base64.cc +433 -0
  310. package/runtime/third_party/boringssl/crypto/bcm_support.h +62 -0
  311. package/runtime/third_party/boringssl/crypto/bio/bio.cc +715 -0
  312. package/runtime/third_party/boringssl/crypto/bio/bio_mem.cc +260 -0
  313. package/runtime/third_party/boringssl/crypto/bio/connect.cc +463 -0
  314. package/runtime/third_party/boringssl/crypto/bio/errno.cc +52 -0
  315. package/runtime/third_party/boringssl/crypto/bio/fd.cc +193 -0
  316. package/runtime/third_party/boringssl/crypto/bio/file.cc +283 -0
  317. package/runtime/third_party/boringssl/crypto/bio/hexdump.cc +154 -0
  318. package/runtime/third_party/boringssl/crypto/bio/internal.h +128 -0
  319. package/runtime/third_party/boringssl/crypto/bio/pair.cc +426 -0
  320. package/runtime/third_party/boringssl/crypto/bio/printf.cc +59 -0
  321. package/runtime/third_party/boringssl/crypto/bio/socket.cc +210 -0
  322. package/runtime/third_party/boringssl/crypto/bio/socket_helper.cc +179 -0
  323. package/runtime/third_party/boringssl/crypto/blake2/blake2.cc +173 -0
  324. package/runtime/third_party/boringssl/crypto/bn/bn_asn1.cc +57 -0
  325. package/runtime/third_party/boringssl/crypto/bn/convert.cc +409 -0
  326. package/runtime/third_party/boringssl/crypto/bn/div.cc +102 -0
  327. package/runtime/third_party/boringssl/crypto/bn/exponentiation.cc +168 -0
  328. package/runtime/third_party/boringssl/crypto/bn/sqrt.cc +93 -0
  329. package/runtime/third_party/boringssl/crypto/buf/buf.cc +119 -0
  330. package/runtime/third_party/boringssl/crypto/bytestring/asn1_compat.cc +54 -0
  331. package/runtime/third_party/boringssl/crypto/bytestring/ber.cc +268 -0
  332. package/runtime/third_party/boringssl/crypto/bytestring/cbb.cc +787 -0
  333. package/runtime/third_party/boringssl/crypto/bytestring/cbs.cc +977 -0
  334. package/runtime/third_party/boringssl/crypto/bytestring/internal.h +134 -0
  335. package/runtime/third_party/boringssl/crypto/bytestring/unicode.cc +156 -0
  336. package/runtime/third_party/boringssl/crypto/chacha/chacha.cc +226 -0
  337. package/runtime/third_party/boringssl/crypto/chacha/internal.h +103 -0
  338. package/runtime/third_party/boringssl/crypto/cipher/derive_key.cc +106 -0
  339. package/runtime/third_party/boringssl/crypto/cipher/e_aesctrhmac.cc +294 -0
  340. package/runtime/third_party/boringssl/crypto/cipher/e_aeseax.cc +351 -0
  341. package/runtime/third_party/boringssl/crypto/cipher/e_aesgcmsiv.cc +918 -0
  342. package/runtime/third_party/boringssl/crypto/cipher/e_chacha20poly1305.cc +404 -0
  343. package/runtime/third_party/boringssl/crypto/cipher/e_des.cc +214 -0
  344. package/runtime/third_party/boringssl/crypto/cipher/e_null.cc +55 -0
  345. package/runtime/third_party/boringssl/crypto/cipher/e_rc2.cc +432 -0
  346. package/runtime/third_party/boringssl/crypto/cipher/e_rc4.cc +56 -0
  347. package/runtime/third_party/boringssl/crypto/cipher/e_tls.cc +615 -0
  348. package/runtime/third_party/boringssl/crypto/cipher/get_cipher.cc +85 -0
  349. package/runtime/third_party/boringssl/crypto/cipher/internal.h +399 -0
  350. package/runtime/third_party/boringssl/crypto/cipher/tls_cbc.cc +476 -0
  351. package/runtime/third_party/boringssl/crypto/cms/cms.cc +178 -0
  352. package/runtime/third_party/boringssl/crypto/conf/conf.cc +637 -0
  353. package/runtime/third_party/boringssl/crypto/conf/internal.h +54 -0
  354. package/runtime/third_party/boringssl/crypto/cpu_aarch64_apple.cc +76 -0
  355. package/runtime/third_party/boringssl/crypto/cpu_aarch64_fuchsia.cc +58 -0
  356. package/runtime/third_party/boringssl/crypto/cpu_aarch64_linux.cc +66 -0
  357. package/runtime/third_party/boringssl/crypto/cpu_aarch64_openbsd.cc +45 -0
  358. package/runtime/third_party/boringssl/crypto/cpu_aarch64_sysreg.cc +66 -0
  359. package/runtime/third_party/boringssl/crypto/cpu_aarch64_win.cc +52 -0
  360. package/runtime/third_party/boringssl/crypto/cpu_arm_freebsd.cc +55 -0
  361. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.cc +173 -0
  362. package/runtime/third_party/boringssl/crypto/cpu_arm_linux.h +141 -0
  363. package/runtime/third_party/boringssl/crypto/cpu_intel.cc +287 -0
  364. package/runtime/third_party/boringssl/crypto/crypto.cc +152 -0
  365. package/runtime/third_party/boringssl/crypto/curve25519/asm/x25519-asm-arm.S +2124 -0
  366. package/runtime/third_party/boringssl/crypto/curve25519/cpace.cc +227 -0
  367. package/runtime/third_party/boringssl/crypto/curve25519/curve25519.cc +2436 -0
  368. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_64_adx.cc +18 -0
  369. package/runtime/third_party/boringssl/crypto/curve25519/curve25519_tables.h +3264 -0
  370. package/runtime/third_party/boringssl/crypto/curve25519/internal.h +202 -0
  371. package/runtime/third_party/boringssl/crypto/curve25519/spake25519.cc +532 -0
  372. package/runtime/third_party/boringssl/crypto/des/des.cc +837 -0
  373. package/runtime/third_party/boringssl/crypto/des/internal.h +144 -0
  374. package/runtime/third_party/boringssl/crypto/dh/dh_asn1.cc +109 -0
  375. package/runtime/third_party/boringssl/crypto/dh/params.cc +411 -0
  376. package/runtime/third_party/boringssl/crypto/digest/digest_extra.cc +361 -0
  377. package/runtime/third_party/boringssl/crypto/dsa/dsa.cc +922 -0
  378. package/runtime/third_party/boringssl/crypto/dsa/dsa_asn1.cc +306 -0
  379. package/runtime/third_party/boringssl/crypto/dsa/internal.h +56 -0
  380. package/runtime/third_party/boringssl/crypto/ec/ec_asn1.cc +542 -0
  381. package/runtime/third_party/boringssl/crypto/ec/ec_derive.cc +94 -0
  382. package/runtime/third_party/boringssl/crypto/ec/hash_to_curve.cc +773 -0
  383. package/runtime/third_party/boringssl/crypto/ec/internal.h +114 -0
  384. package/runtime/third_party/boringssl/crypto/ecdh/ecdh.cc +75 -0
  385. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_asn1.cc +337 -0
  386. package/runtime/third_party/boringssl/crypto/ecdsa/ecdsa_p1363.cc +54 -0
  387. package/runtime/third_party/boringssl/crypto/engine/engine.cc +95 -0
  388. package/runtime/third_party/boringssl/crypto/err/err.cc +820 -0
  389. package/runtime/third_party/boringssl/crypto/err/internal.h +45 -0
  390. package/runtime/third_party/boringssl/crypto/evp/evp.cc +454 -0
  391. package/runtime/third_party/boringssl/crypto/evp/evp_asn1.cc +439 -0
  392. package/runtime/third_party/boringssl/crypto/evp/evp_ctx.cc +541 -0
  393. package/runtime/third_party/boringssl/crypto/evp/evp_kem.cc +101 -0
  394. package/runtime/third_party/boringssl/crypto/evp/internal.h +427 -0
  395. package/runtime/third_party/boringssl/crypto/evp/p_dh.cc +326 -0
  396. package/runtime/third_party/boringssl/crypto/evp/p_dsa.cc +333 -0
  397. package/runtime/third_party/boringssl/crypto/evp/p_ec.cc +736 -0
  398. package/runtime/third_party/boringssl/crypto/evp/p_ed25519.cc +359 -0
  399. package/runtime/third_party/boringssl/crypto/evp/p_hkdf.cc +204 -0
  400. package/runtime/third_party/boringssl/crypto/evp/p_mldsa.cc +549 -0
  401. package/runtime/third_party/boringssl/crypto/evp/p_mlkem.cc +510 -0
  402. package/runtime/third_party/boringssl/crypto/evp/p_rsa.cc +1185 -0
  403. package/runtime/third_party/boringssl/crypto/evp/p_x25519.cc +371 -0
  404. package/runtime/third_party/boringssl/crypto/evp/p_xwing.cc +300 -0
  405. package/runtime/third_party/boringssl/crypto/evp/pbkdf.cc +105 -0
  406. package/runtime/third_party/boringssl/crypto/evp/print.cc +287 -0
  407. package/runtime/third_party/boringssl/crypto/evp/scrypt.cc +218 -0
  408. package/runtime/third_party/boringssl/crypto/evp/sign.cc +95 -0
  409. package/runtime/third_party/boringssl/crypto/ex_data.cc +140 -0
  410. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes.cc.inc +208 -0
  411. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/aes_nohw.cc.inc +1279 -0
  412. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cbc.cc.inc +132 -0
  413. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/cfb.cc.inc +168 -0
  414. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ctr.cc.inc +102 -0
  415. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm.cc.inc +614 -0
  416. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/gcm_nohw.cc.inc +304 -0
  417. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/internal.h +590 -0
  418. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/key_wrap.cc.inc +211 -0
  419. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/mode_wrappers.cc.inc +97 -0
  420. package/runtime/third_party/boringssl/crypto/fipsmodule/aes/ofb.cc.inc +55 -0
  421. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm.cc +288 -0
  422. package/runtime/third_party/boringssl/crypto/fipsmodule/bcm_interface.h +953 -0
  423. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/add.cc.inc +276 -0
  424. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/asm/x86_64-gcc.cc.inc +573 -0
  425. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bn.cc.inc +377 -0
  426. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/bytes.cc.inc +230 -0
  427. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/cmp.cc.inc +161 -0
  428. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/ctx.cc.inc +127 -0
  429. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div.cc.inc +738 -0
  430. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/div_extra.cc.inc +90 -0
  431. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/exponentiation.cc.inc +743 -0
  432. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd.cc.inc +281 -0
  433. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/gcd_extra.cc.inc +327 -0
  434. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/generic.cc.inc +579 -0
  435. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/internal.h +810 -0
  436. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/jacobi.cc.inc +101 -0
  437. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery.cc.inc +408 -0
  438. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/montgomery_inv.cc.inc +179 -0
  439. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/mul.cc.inc +347 -0
  440. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/prime.cc.inc +931 -0
  441. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/random.cc.inc +261 -0
  442. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.cc.inc +144 -0
  443. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/rsaz_exp.h +109 -0
  444. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/shift.cc.inc +317 -0
  445. package/runtime/third_party/boringssl/crypto/fipsmodule/bn/sqrt.cc.inc +370 -0
  446. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/aead.cc.inc +619 -0
  447. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/cipher.cc.inc +837 -0
  448. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aes.cc.inc +1240 -0
  449. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/e_aesccm.cc.inc +440 -0
  450. package/runtime/third_party/boringssl/crypto/fipsmodule/cipher/internal.h +461 -0
  451. package/runtime/third_party/boringssl/crypto/fipsmodule/cmac/cmac.cc.inc +293 -0
  452. package/runtime/third_party/boringssl/crypto/fipsmodule/delocate.h +95 -0
  453. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/check.cc.inc +198 -0
  454. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/dh.cc.inc +401 -0
  455. package/runtime/third_party/boringssl/crypto/fipsmodule/dh/internal.h +63 -0
  456. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digest.cc.inc +221 -0
  457. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/digests.cc.inc +184 -0
  458. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/internal.h +72 -0
  459. package/runtime/third_party/boringssl/crypto/fipsmodule/digest/md32_common.h +166 -0
  460. package/runtime/third_party/boringssl/crypto/fipsmodule/digestsign/digestsign.cc.inc +230 -0
  461. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/builtin_curves.h +277 -0
  462. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec.cc.inc +1024 -0
  463. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_key.cc.inc +536 -0
  464. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/ec_montgomery.cc.inc +379 -0
  465. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/felem.cc.inc +250 -0
  466. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/internal.h +752 -0
  467. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/oct.cc.inc +174 -0
  468. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz-table.h +9502 -0
  469. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.cc.inc +740 -0
  470. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256-nistz.h +207 -0
  471. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256.cc.inc +578 -0
  472. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/p256_table.h +297 -0
  473. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/scalar.cc.inc +184 -0
  474. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple.cc.inc +246 -0
  475. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/simple_mul.cc.inc +274 -0
  476. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/util.cc.inc +258 -0
  477. package/runtime/third_party/boringssl/crypto/fipsmodule/ec/wnaf.cc.inc +224 -0
  478. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdh/ecdh.cc.inc +91 -0
  479. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/ecdsa.cc.inc +288 -0
  480. package/runtime/third_party/boringssl/crypto/fipsmodule/ecdsa/internal.h +57 -0
  481. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/internal.h +38 -0
  482. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/jitter.cc.inc +487 -0
  483. package/runtime/third_party/boringssl/crypto/fipsmodule/entropy/sha512.cc.inc +329 -0
  484. package/runtime/third_party/boringssl/crypto/fipsmodule/fips_shared_support.cc +28 -0
  485. package/runtime/third_party/boringssl/crypto/fipsmodule/hkdf/hkdf.cc.inc +114 -0
  486. package/runtime/third_party/boringssl/crypto/fipsmodule/hmac/hmac.cc.inc +218 -0
  487. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/internal.h +165 -0
  488. package/runtime/third_party/boringssl/crypto/fipsmodule/keccak/keccak.cc.inc +647 -0
  489. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/fips_known_values.inc +1345 -0
  490. package/runtime/third_party/boringssl/crypto/fipsmodule/mldsa/mldsa.cc.inc +3323 -0
  491. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/fips_known_values.inc +411 -0
  492. package/runtime/third_party/boringssl/crypto/fipsmodule/mlkem/mlkem.cc.inc +1856 -0
  493. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/android_entropy_client.cc.inc +82 -0
  494. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/ctrdrbg.cc.inc +401 -0
  495. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/internal.h +99 -0
  496. package/runtime/third_party/boringssl/crypto/fipsmodule/rand/rand.cc.inc +486 -0
  497. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/internal.h +167 -0
  498. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/padding.cc.inc +371 -0
  499. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa.cc.inc +996 -0
  500. package/runtime/third_party/boringssl/crypto/fipsmodule/rsa/rsa_impl.cc.inc +1000 -0
  501. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/fips.cc.inc +129 -0
  502. package/runtime/third_party/boringssl/crypto/fipsmodule/self_check/self_check.cc.inc +1093 -0
  503. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/internal.h +112 -0
  504. package/runtime/third_party/boringssl/crypto/fipsmodule/service_indicator/service_indicator.cc.inc +330 -0
  505. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/internal.h +205 -0
  506. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha1.cc.inc +404 -0
  507. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha256.cc.inc +315 -0
  508. package/runtime/third_party/boringssl/crypto/fipsmodule/sha/sha512.cc.inc +473 -0
  509. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/address.h +144 -0
  510. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fips_known_values.inc +674 -0
  511. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.cc.inc +179 -0
  512. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/fors.h +48 -0
  513. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.cc.inc +164 -0
  514. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/merkle.h +58 -0
  515. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/params.h +178 -0
  516. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/slhdsa.cc.inc +690 -0
  517. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.cc.inc +326 -0
  518. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/thash.h +71 -0
  519. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.cc.inc +172 -0
  520. package/runtime/third_party/boringssl/crypto/fipsmodule/slhdsa/wots.h +40 -0
  521. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/internal.h +33 -0
  522. package/runtime/third_party/boringssl/crypto/fipsmodule/tls/kdf.cc.inc +180 -0
  523. package/runtime/third_party/boringssl/crypto/fuzzer_mode.cc +30 -0
  524. package/runtime/third_party/boringssl/crypto/hpke/hpke.cc +1514 -0
  525. package/runtime/third_party/boringssl/crypto/hrss/asm/poly_rq_mul.S +8489 -0
  526. package/runtime/third_party/boringssl/crypto/hrss/hrss.cc +2189 -0
  527. package/runtime/third_party/boringssl/crypto/hrss/internal.h +64 -0
  528. package/runtime/third_party/boringssl/crypto/internal.h +1767 -0
  529. package/runtime/third_party/boringssl/crypto/lhash/internal.h +222 -0
  530. package/runtime/third_party/boringssl/crypto/lhash/lhash.cc +312 -0
  531. package/runtime/third_party/boringssl/crypto/md4/md4.cc +207 -0
  532. package/runtime/third_party/boringssl/crypto/md5/internal.h +34 -0
  533. package/runtime/third_party/boringssl/crypto/md5/md5.cc +255 -0
  534. package/runtime/third_party/boringssl/crypto/mem.cc +577 -0
  535. package/runtime/third_party/boringssl/crypto/mem_internal.h +706 -0
  536. package/runtime/third_party/boringssl/crypto/mldsa/mldsa.cc +296 -0
  537. package/runtime/third_party/boringssl/crypto/mlkem/mlkem.cc +108 -0
  538. package/runtime/third_party/boringssl/crypto/obj/obj.cc +494 -0
  539. package/runtime/third_party/boringssl/crypto/obj/obj_dat.h +11722 -0
  540. package/runtime/third_party/boringssl/crypto/obj/obj_xref.cc +83 -0
  541. package/runtime/third_party/boringssl/crypto/params_internal.h +30 -0
  542. package/runtime/third_party/boringssl/crypto/pem/internal.h +135 -0
  543. package/runtime/third_party/boringssl/crypto/pem/pem_all.cc +153 -0
  544. package/runtime/third_party/boringssl/crypto/pem/pem_info.cc +250 -0
  545. package/runtime/third_party/boringssl/crypto/pem/pem_lib.cc +707 -0
  546. package/runtime/third_party/boringssl/crypto/pem/pem_oth.cc +45 -0
  547. package/runtime/third_party/boringssl/crypto/pem/pem_pk8.cc +211 -0
  548. package/runtime/third_party/boringssl/crypto/pem/pem_pkey.cc +147 -0
  549. package/runtime/third_party/boringssl/crypto/pem/pem_x509.cc +25 -0
  550. package/runtime/third_party/boringssl/crypto/pem/pem_xaux.cc +25 -0
  551. package/runtime/third_party/boringssl/crypto/pkcs7/internal.h +67 -0
  552. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7.cc +198 -0
  553. package/runtime/third_party/boringssl/crypto/pkcs7/pkcs7_x509.cc +527 -0
  554. package/runtime/third_party/boringssl/crypto/pkcs8/internal.h +98 -0
  555. package/runtime/third_party/boringssl/crypto/pkcs8/p5_pbev2.cc +286 -0
  556. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8.cc +473 -0
  557. package/runtime/third_party/boringssl/crypto/pkcs8/pkcs8_x509.cc +1328 -0
  558. package/runtime/third_party/boringssl/crypto/poly1305/internal.h +54 -0
  559. package/runtime/third_party/boringssl/crypto/poly1305/poly1305.cc +315 -0
  560. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm.cc +294 -0
  561. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_arm_asm.S +2017 -0
  562. package/runtime/third_party/boringssl/crypto/poly1305/poly1305_vec.cc +853 -0
  563. package/runtime/third_party/boringssl/crypto/pool/internal.h +95 -0
  564. package/runtime/third_party/boringssl/crypto/pool/pool.cc +282 -0
  565. package/runtime/third_party/boringssl/crypto/rand/deterministic.cc +58 -0
  566. package/runtime/third_party/boringssl/crypto/rand/fork_detect.cc +222 -0
  567. package/runtime/third_party/boringssl/crypto/rand/forkunsafe.cc +44 -0
  568. package/runtime/third_party/boringssl/crypto/rand/getentropy.cc +53 -0
  569. package/runtime/third_party/boringssl/crypto/rand/internal.h +67 -0
  570. package/runtime/third_party/boringssl/crypto/rand/ios.cc +35 -0
  571. package/runtime/third_party/boringssl/crypto/rand/rand.cc +79 -0
  572. package/runtime/third_party/boringssl/crypto/rand/trusty.cc +39 -0
  573. package/runtime/third_party/boringssl/crypto/rand/urandom.cc +149 -0
  574. package/runtime/third_party/boringssl/crypto/rand/windows.cc +91 -0
  575. package/runtime/third_party/boringssl/crypto/rc4/rc4.cc +56 -0
  576. package/runtime/third_party/boringssl/crypto/refcount.cc +49 -0
  577. package/runtime/third_party/boringssl/crypto/rsa/internal.h +51 -0
  578. package/runtime/third_party/boringssl/crypto/rsa/rsa_asn1.cc +404 -0
  579. package/runtime/third_party/boringssl/crypto/rsa/rsa_crypt.cc +530 -0
  580. package/runtime/third_party/boringssl/crypto/rsa/rsa_extra.cc +30 -0
  581. package/runtime/third_party/boringssl/crypto/rsa/rsa_print.cc +25 -0
  582. package/runtime/third_party/boringssl/crypto/sha/sha1.cc +55 -0
  583. package/runtime/third_party/boringssl/crypto/sha/sha256.cc +89 -0
  584. package/runtime/third_party/boringssl/crypto/sha/sha512.cc +106 -0
  585. package/runtime/third_party/boringssl/crypto/siphash/siphash.cc +81 -0
  586. package/runtime/third_party/boringssl/crypto/slhdsa/slhdsa.cc +167 -0
  587. package/runtime/third_party/boringssl/crypto/spake2plus/internal.h +204 -0
  588. package/runtime/third_party/boringssl/crypto/spake2plus/spake2plus.cc +501 -0
  589. package/runtime/third_party/boringssl/crypto/stack/stack.cc +462 -0
  590. package/runtime/third_party/boringssl/crypto/thread.cc +68 -0
  591. package/runtime/third_party/boringssl/crypto/thread_none.cc +48 -0
  592. package/runtime/third_party/boringssl/crypto/thread_pthread.cc +138 -0
  593. package/runtime/third_party/boringssl/crypto/thread_win.cc +227 -0
  594. package/runtime/third_party/boringssl/crypto/trust_token/internal.h +405 -0
  595. package/runtime/third_party/boringssl/crypto/trust_token/pmbtoken.cc +1672 -0
  596. package/runtime/third_party/boringssl/crypto/trust_token/trust_token.cc +701 -0
  597. package/runtime/third_party/boringssl/crypto/trust_token/voprf.cc +1266 -0
  598. package/runtime/third_party/boringssl/crypto/x509/a_digest.cc +52 -0
  599. package/runtime/third_party/boringssl/crypto/x509/a_sign.cc +100 -0
  600. package/runtime/third_party/boringssl/crypto/x509/a_verify.cc +77 -0
  601. package/runtime/third_party/boringssl/crypto/x509/algorithm.cc +167 -0
  602. package/runtime/third_party/boringssl/crypto/x509/asn1_gen.cc +540 -0
  603. package/runtime/third_party/boringssl/crypto/x509/by_dir.cc +301 -0
  604. package/runtime/third_party/boringssl/crypto/x509/by_file.cc +226 -0
  605. package/runtime/third_party/boringssl/crypto/x509/i2d_pr.cc +37 -0
  606. package/runtime/third_party/boringssl/crypto/x509/internal.h +697 -0
  607. package/runtime/third_party/boringssl/crypto/x509/name_print.cc +187 -0
  608. package/runtime/third_party/boringssl/crypto/x509/policy.cc +686 -0
  609. package/runtime/third_party/boringssl/crypto/x509/rsa_pss.cc +187 -0
  610. package/runtime/third_party/boringssl/crypto/x509/t_crl.cc +106 -0
  611. package/runtime/third_party/boringssl/crypto/x509/t_req.cc +206 -0
  612. package/runtime/third_party/boringssl/crypto/x509/t_x509.cc +292 -0
  613. package/runtime/third_party/boringssl/crypto/x509/t_x509a.cc +81 -0
  614. package/runtime/third_party/boringssl/crypto/x509/v3_akey.cc +174 -0
  615. package/runtime/third_party/boringssl/crypto/x509/v3_akeya.cc +31 -0
  616. package/runtime/third_party/boringssl/crypto/x509/v3_alt.cc +636 -0
  617. package/runtime/third_party/boringssl/crypto/x509/v3_bcons.cc +96 -0
  618. package/runtime/third_party/boringssl/crypto/x509/v3_bitst.cc +100 -0
  619. package/runtime/third_party/boringssl/crypto/x509/v3_conf.cc +369 -0
  620. package/runtime/third_party/boringssl/crypto/x509/v3_cpols.cc +417 -0
  621. package/runtime/third_party/boringssl/crypto/x509/v3_crld.cc +471 -0
  622. package/runtime/third_party/boringssl/crypto/x509/v3_enum.cc +74 -0
  623. package/runtime/third_party/boringssl/crypto/x509/v3_extku.cc +97 -0
  624. package/runtime/third_party/boringssl/crypto/x509/v3_genn.cc +238 -0
  625. package/runtime/third_party/boringssl/crypto/x509/v3_ia5.cc +83 -0
  626. package/runtime/third_party/boringssl/crypto/x509/v3_info.cc +162 -0
  627. package/runtime/third_party/boringssl/crypto/x509/v3_int.cc +83 -0
  628. package/runtime/third_party/boringssl/crypto/x509/v3_lib.cc +349 -0
  629. package/runtime/third_party/boringssl/crypto/x509/v3_ncons.cc +798 -0
  630. package/runtime/third_party/boringssl/crypto/x509/v3_ocsp.cc +92 -0
  631. package/runtime/third_party/boringssl/crypto/x509/v3_pcons.cc +102 -0
  632. package/runtime/third_party/boringssl/crypto/x509/v3_pmaps.cc +110 -0
  633. package/runtime/third_party/boringssl/crypto/x509/v3_prn.cc +183 -0
  634. package/runtime/third_party/boringssl/crypto/x509/v3_purp.cc +580 -0
  635. package/runtime/third_party/boringssl/crypto/x509/v3_skey.cc +128 -0
  636. package/runtime/third_party/boringssl/crypto/x509/v3_utl.cc +1311 -0
  637. package/runtime/third_party/boringssl/crypto/x509/x509.cc +47 -0
  638. package/runtime/third_party/boringssl/crypto/x509/x509_att.cc +188 -0
  639. package/runtime/third_party/boringssl/crypto/x509/x509_cmp.cc +243 -0
  640. package/runtime/third_party/boringssl/crypto/x509/x509_d2.cc +66 -0
  641. package/runtime/third_party/boringssl/crypto/x509/x509_def.cc +42 -0
  642. package/runtime/third_party/boringssl/crypto/x509/x509_ext.cc +161 -0
  643. package/runtime/third_party/boringssl/crypto/x509/x509_lu.cc +570 -0
  644. package/runtime/third_party/boringssl/crypto/x509/x509_mtc.cc +598 -0
  645. package/runtime/third_party/boringssl/crypto/x509/x509_obj.cc +169 -0
  646. package/runtime/third_party/boringssl/crypto/x509/x509_req.cc +248 -0
  647. package/runtime/third_party/boringssl/crypto/x509/x509_set.cc +166 -0
  648. package/runtime/third_party/boringssl/crypto/x509/x509_trs.cc +123 -0
  649. package/runtime/third_party/boringssl/crypto/x509/x509_txt.cc +147 -0
  650. package/runtime/third_party/boringssl/crypto/x509/x509_v3.cc +249 -0
  651. package/runtime/third_party/boringssl/crypto/x509/x509_vfy.cc +1531 -0
  652. package/runtime/third_party/boringssl/crypto/x509/x509_vpm.cc +449 -0
  653. package/runtime/third_party/boringssl/crypto/x509/x509cset.cc +222 -0
  654. package/runtime/third_party/boringssl/crypto/x509/x509name.cc +377 -0
  655. package/runtime/third_party/boringssl/crypto/x509/x509rset.cc +55 -0
  656. package/runtime/third_party/boringssl/crypto/x509/x509spki.cc +91 -0
  657. package/runtime/third_party/boringssl/crypto/x509/x_algor.cc +223 -0
  658. package/runtime/third_party/boringssl/crypto/x509/x_all.cc +352 -0
  659. package/runtime/third_party/boringssl/crypto/x509/x_attrib.cc +61 -0
  660. package/runtime/third_party/boringssl/crypto/x509/x_crl.cc +325 -0
  661. package/runtime/third_party/boringssl/crypto/x509/x_exten.cc +42 -0
  662. package/runtime/third_party/boringssl/crypto/x509/x_name.cc +407 -0
  663. package/runtime/third_party/boringssl/crypto/x509/x_pubkey.cc +199 -0
  664. package/runtime/third_party/boringssl/crypto/x509/x_req.cc +80 -0
  665. package/runtime/third_party/boringssl/crypto/x509/x_sig.cc +51 -0
  666. package/runtime/third_party/boringssl/crypto/x509/x_spki.cc +44 -0
  667. package/runtime/third_party/boringssl/crypto/x509/x_x509.cc +495 -0
  668. package/runtime/third_party/boringssl/crypto/x509/x_x509a.cc +169 -0
  669. package/runtime/third_party/boringssl/crypto/xwing/xwing.cc +257 -0
  670. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-apple.S +1326 -0
  671. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx2-x86_64-linux.S +1327 -0
  672. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-apple.S +1252 -0
  673. package/runtime/third_party/boringssl/gen/bcm/aes-gcm-avx512-x86_64-linux.S +1253 -0
  674. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-apple.S +873 -0
  675. package/runtime/third_party/boringssl/gen/bcm/aesni-gcm-x86_64-linux.S +885 -0
  676. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-apple.S +2490 -0
  677. package/runtime/third_party/boringssl/gen/bcm/aesni-x86-linux.S +2530 -0
  678. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-apple.S +2413 -0
  679. package/runtime/third_party/boringssl/gen/bcm/aesni-x86_64-linux.S +2397 -0
  680. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv7-linux.S +784 -0
  681. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-apple.S +792 -0
  682. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-linux.S +786 -0
  683. package/runtime/third_party/boringssl/gen/bcm/aesv8-armv8-win.S +798 -0
  684. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-apple.S +2912 -0
  685. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-linux.S +2907 -0
  686. package/runtime/third_party/boringssl/gen/bcm/aesv8-gcm-armv8-win.S +2915 -0
  687. package/runtime/third_party/boringssl/gen/bcm/armv4-mont-linux.S +932 -0
  688. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-apple.S +1440 -0
  689. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-linux.S +1440 -0
  690. package/runtime/third_party/boringssl/gen/bcm/armv8-mont-win.S +1446 -0
  691. package/runtime/third_party/boringssl/gen/bcm/bn-586-apple.S +530 -0
  692. package/runtime/third_party/boringssl/gen/bcm/bn-586-linux.S +540 -0
  693. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-apple.S +88 -0
  694. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-linux.S +87 -0
  695. package/runtime/third_party/boringssl/gen/bcm/bn-armv8-win.S +87 -0
  696. package/runtime/third_party/boringssl/gen/bcm/bsaes-armv7-linux.S +1520 -0
  697. package/runtime/third_party/boringssl/gen/bcm/co-586-apple.S +1256 -0
  698. package/runtime/third_party/boringssl/gen/bcm/co-586-linux.S +1264 -0
  699. package/runtime/third_party/boringssl/gen/bcm/ghash-armv4-linux.S +242 -0
  700. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-apple.S +337 -0
  701. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-linux.S +335 -0
  702. package/runtime/third_party/boringssl/gen/bcm/ghash-neon-armv8-win.S +341 -0
  703. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-apple.S +288 -0
  704. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86-linux.S +292 -0
  705. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-apple.S +426 -0
  706. package/runtime/third_party/boringssl/gen/bcm/ghash-ssse3-x86_64-linux.S +425 -0
  707. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-apple.S +322 -0
  708. package/runtime/third_party/boringssl/gen/bcm/ghash-x86-linux.S +328 -0
  709. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-apple.S +1134 -0
  710. package/runtime/third_party/boringssl/gen/bcm/ghash-x86_64-linux.S +1129 -0
  711. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv7-linux.S +244 -0
  712. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-apple.S +567 -0
  713. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-linux.S +563 -0
  714. package/runtime/third_party/boringssl/gen/bcm/ghashv8-armv8-win.S +571 -0
  715. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-apple.S +1744 -0
  716. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-linux.S +1725 -0
  717. package/runtime/third_party/boringssl/gen/bcm/p256-armv8-asm-win.S +1765 -0
  718. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-apple.S +4544 -0
  719. package/runtime/third_party/boringssl/gen/bcm/p256-x86_64-asm-linux.S +4600 -0
  720. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-apple.S +310 -0
  721. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-linux.S +310 -0
  722. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-armv8-asm-win.S +310 -0
  723. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-apple.S +321 -0
  724. package/runtime/third_party/boringssl/gen/bcm/p256_beeu-x86_64-asm-linux.S +335 -0
  725. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-apple.S +58 -0
  726. package/runtime/third_party/boringssl/gen/bcm/rdrand-x86_64-linux.S +57 -0
  727. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-apple.S +1756 -0
  728. package/runtime/third_party/boringssl/gen/bcm/rsaz-avx2-linux.S +1751 -0
  729. package/runtime/third_party/boringssl/gen/bcm/sha1-586-apple.S +3782 -0
  730. package/runtime/third_party/boringssl/gen/bcm/sha1-586-linux.S +3788 -0
  731. package/runtime/third_party/boringssl/gen/bcm/sha1-armv4-large-linux.S +1479 -0
  732. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-apple.S +1219 -0
  733. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-linux.S +1218 -0
  734. package/runtime/third_party/boringssl/gen/bcm/sha1-armv8-win.S +1222 -0
  735. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-apple.S +5454 -0
  736. package/runtime/third_party/boringssl/gen/bcm/sha1-x86_64-linux.S +5450 -0
  737. package/runtime/third_party/boringssl/gen/bcm/sha256-586-apple.S +5593 -0
  738. package/runtime/third_party/boringssl/gen/bcm/sha256-586-linux.S +5599 -0
  739. package/runtime/third_party/boringssl/gen/bcm/sha256-armv4-linux.S +2840 -0
  740. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-apple.S +1195 -0
  741. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-linux.S +1194 -0
  742. package/runtime/third_party/boringssl/gen/bcm/sha256-armv8-win.S +1198 -0
  743. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-apple.S +4173 -0
  744. package/runtime/third_party/boringssl/gen/bcm/sha256-x86_64-linux.S +4170 -0
  745. package/runtime/third_party/boringssl/gen/bcm/sha512-586-apple.S +2406 -0
  746. package/runtime/third_party/boringssl/gen/bcm/sha512-586-linux.S +2410 -0
  747. package/runtime/third_party/boringssl/gen/bcm/sha512-armv4-linux.S +1857 -0
  748. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-apple.S +1598 -0
  749. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-linux.S +1597 -0
  750. package/runtime/third_party/boringssl/gen/bcm/sha512-armv8-win.S +1601 -0
  751. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-apple.S +2979 -0
  752. package/runtime/third_party/boringssl/gen/bcm/sha512-x86_64-linux.S +2978 -0
  753. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv7-linux.S +1225 -0
  754. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-apple.S +1238 -0
  755. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-linux.S +1220 -0
  756. package/runtime/third_party/boringssl/gen/bcm/vpaes-armv8-win.S +1256 -0
  757. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-apple.S +680 -0
  758. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86-linux.S +706 -0
  759. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-apple.S +1146 -0
  760. package/runtime/third_party/boringssl/gen/bcm/vpaes-x86_64-linux.S +1133 -0
  761. package/runtime/third_party/boringssl/gen/bcm/x86-mont-apple.S +216 -0
  762. package/runtime/third_party/boringssl/gen/bcm/x86-mont-linux.S +218 -0
  763. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-apple.S +1238 -0
  764. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont-linux.S +1237 -0
  765. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-apple.S +3644 -0
  766. package/runtime/third_party/boringssl/gen/bcm/x86_64-mont5-linux.S +3628 -0
  767. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_64_win_asm.inc +325 -0
  768. package/runtime/third_party/boringssl/gen/boringssl_prefix_symbols_internal_x86_win_asm.inc +325 -0
  769. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-apple.S +3113 -0
  770. package/runtime/third_party/boringssl/gen/crypto/aes128gcmsiv-x86_64-linux.S +3091 -0
  771. package/runtime/third_party/boringssl/gen/crypto/chacha-armv4-linux.S +1450 -0
  772. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-apple.S +1969 -0
  773. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-linux.S +1967 -0
  774. package/runtime/third_party/boringssl/gen/crypto/chacha-armv8-win.S +1973 -0
  775. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-apple.S +957 -0
  776. package/runtime/third_party/boringssl/gen/crypto/chacha-x86-linux.S +961 -0
  777. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-apple.S +1608 -0
  778. package/runtime/third_party/boringssl/gen/crypto/chacha-x86_64-linux.S +1611 -0
  779. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-apple.S +3010 -0
  780. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-linux.S +3008 -0
  781. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_armv8-win.S +3014 -0
  782. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-apple.S +8903 -0
  783. package/runtime/third_party/boringssl/gen/crypto/chacha20_poly1305_x86_64-linux.S +8940 -0
  784. package/runtime/third_party/boringssl/gen/crypto/err_data.cc +1578 -0
  785. package/runtime/third_party/boringssl/gen/crypto/md5-586-apple.S +684 -0
  786. package/runtime/third_party/boringssl/gen/crypto/md5-586-linux.S +686 -0
  787. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-apple.S +690 -0
  788. package/runtime/third_party/boringssl/gen/crypto/md5-x86_64-linux.S +695 -0
  789. package/runtime/third_party/boringssl/include/openssl/aead.h +650 -0
  790. package/runtime/third_party/boringssl/include/openssl/aes.h +173 -0
  791. package/runtime/third_party/boringssl/include/openssl/arm_arch.h +24 -0
  792. package/runtime/third_party/boringssl/include/openssl/asm_base.h +219 -0
  793. package/runtime/third_party/boringssl/include/openssl/asn1.h +2002 -0
  794. package/runtime/third_party/boringssl/include/openssl/asn1_mac.h +18 -0
  795. package/runtime/third_party/boringssl/include/openssl/asn1t.h +584 -0
  796. package/runtime/third_party/boringssl/include/openssl/base.h +548 -0
  797. package/runtime/third_party/boringssl/include/openssl/base64.h +156 -0
  798. package/runtime/third_party/boringssl/include/openssl/bio.h +1061 -0
  799. package/runtime/third_party/boringssl/include/openssl/blake2.h +63 -0
  800. package/runtime/third_party/boringssl/include/openssl/blowfish.h +58 -0
  801. package/runtime/third_party/boringssl/include/openssl/bn.h +986 -0
  802. package/runtime/third_party/boringssl/include/openssl/buf.h +95 -0
  803. package/runtime/third_party/boringssl/include/openssl/buffer.h +18 -0
  804. package/runtime/third_party/boringssl/include/openssl/bytestring.h +798 -0
  805. package/runtime/third_party/boringssl/include/openssl/cast.h +91 -0
  806. package/runtime/third_party/boringssl/include/openssl/chacha.h +47 -0
  807. package/runtime/third_party/boringssl/include/openssl/cipher.h +819 -0
  808. package/runtime/third_party/boringssl/include/openssl/cmac.h +91 -0
  809. package/runtime/third_party/boringssl/include/openssl/cms.h +147 -0
  810. package/runtime/third_party/boringssl/include/openssl/conf.h +136 -0
  811. package/runtime/third_party/boringssl/include/openssl/configuration.h +18 -0
  812. package/runtime/third_party/boringssl/include/openssl/cpu.h +18 -0
  813. package/runtime/third_party/boringssl/include/openssl/crypto.h +235 -0
  814. package/runtime/third_party/boringssl/include/openssl/ctrdrbg.h +116 -0
  815. package/runtime/third_party/boringssl/include/openssl/curve25519.h +309 -0
  816. package/runtime/third_party/boringssl/include/openssl/des.h +134 -0
  817. package/runtime/third_party/boringssl/include/openssl/dh.h +336 -0
  818. package/runtime/third_party/boringssl/include/openssl/digest.h +399 -0
  819. package/runtime/third_party/boringssl/include/openssl/dsa.h +392 -0
  820. package/runtime/third_party/boringssl/include/openssl/dtls1.h +16 -0
  821. package/runtime/third_party/boringssl/include/openssl/e_os2.h +18 -0
  822. package/runtime/third_party/boringssl/include/openssl/ec.h +530 -0
  823. package/runtime/third_party/boringssl/include/openssl/ec_key.h +358 -0
  824. package/runtime/third_party/boringssl/include/openssl/ecdh.h +67 -0
  825. package/runtime/third_party/boringssl/include/openssl/ecdsa.h +242 -0
  826. package/runtime/third_party/boringssl/include/openssl/engine.h +109 -0
  827. package/runtime/third_party/boringssl/include/openssl/err.h +416 -0
  828. package/runtime/third_party/boringssl/include/openssl/evp.h +1645 -0
  829. package/runtime/third_party/boringssl/include/openssl/evp_errors.h +66 -0
  830. package/runtime/third_party/boringssl/include/openssl/ex_data.h +117 -0
  831. package/runtime/third_party/boringssl/include/openssl/hkdf.h +68 -0
  832. package/runtime/third_party/boringssl/include/openssl/hmac.h +151 -0
  833. package/runtime/third_party/boringssl/include/openssl/hpke.h +456 -0
  834. package/runtime/third_party/boringssl/include/openssl/hrss.h +108 -0
  835. package/runtime/third_party/boringssl/include/openssl/is_boringssl.h +16 -0
  836. package/runtime/third_party/boringssl/include/openssl/kdf.h +92 -0
  837. package/runtime/third_party/boringssl/include/openssl/lhash.h +18 -0
  838. package/runtime/third_party/boringssl/include/openssl/md4.h +73 -0
  839. package/runtime/third_party/boringssl/include/openssl/md5.h +67 -0
  840. package/runtime/third_party/boringssl/include/openssl/mem.h +215 -0
  841. package/runtime/third_party/boringssl/include/openssl/mldsa.h +486 -0
  842. package/runtime/third_party/boringssl/include/openssl/mlkem.h +222 -0
  843. package/runtime/third_party/boringssl/include/openssl/nid.h +5561 -0
  844. package/runtime/third_party/boringssl/include/openssl/obj.h +225 -0
  845. package/runtime/third_party/boringssl/include/openssl/obj_mac.h +18 -0
  846. package/runtime/third_party/boringssl/include/openssl/objects.h +18 -0
  847. package/runtime/third_party/boringssl/include/openssl/opensslconf.h +108 -0
  848. package/runtime/third_party/boringssl/include/openssl/opensslv.h +18 -0
  849. package/runtime/third_party/boringssl/include/openssl/ossl_typ.h +18 -0
  850. package/runtime/third_party/boringssl/include/openssl/params.h +42 -0
  851. package/runtime/third_party/boringssl/include/openssl/pem.h +769 -0
  852. package/runtime/third_party/boringssl/include/openssl/pkcs12.h +18 -0
  853. package/runtime/third_party/boringssl/include/openssl/pkcs7.h +239 -0
  854. package/runtime/third_party/boringssl/include/openssl/pkcs8.h +267 -0
  855. package/runtime/third_party/boringssl/include/openssl/poly1305.h +52 -0
  856. package/runtime/third_party/boringssl/include/openssl/pool.h +137 -0
  857. package/runtime/third_party/boringssl/include/openssl/posix_time.h +51 -0
  858. package/runtime/third_party/boringssl/include/openssl/prefix_symbols.h +8000 -0
  859. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_S.h +633 -0
  860. package/runtime/third_party/boringssl/include/openssl/prefix_symbols_internal_c.h +329 -0
  861. package/runtime/third_party/boringssl/include/openssl/rand.h +138 -0
  862. package/runtime/third_party/boringssl/include/openssl/rc4.h +54 -0
  863. package/runtime/third_party/boringssl/include/openssl/ripemd.h +71 -0
  864. package/runtime/third_party/boringssl/include/openssl/rsa.h +893 -0
  865. package/runtime/third_party/boringssl/include/openssl/safestack.h +16 -0
  866. package/runtime/third_party/boringssl/include/openssl/service_indicator.h +19 -0
  867. package/runtime/third_party/boringssl/include/openssl/sha.h +108 -0
  868. package/runtime/third_party/boringssl/include/openssl/sha2.h +201 -0
  869. package/runtime/third_party/boringssl/include/openssl/siphash.h +37 -0
  870. package/runtime/third_party/boringssl/include/openssl/slhdsa.h +250 -0
  871. package/runtime/third_party/boringssl/include/openssl/span.h +376 -0
  872. package/runtime/third_party/boringssl/include/openssl/srtp.h +18 -0
  873. package/runtime/third_party/boringssl/include/openssl/ssl.h +7211 -0
  874. package/runtime/third_party/boringssl/include/openssl/ssl3.h +171 -0
  875. package/runtime/third_party/boringssl/include/openssl/stack.h +688 -0
  876. package/runtime/third_party/boringssl/include/openssl/target.h +246 -0
  877. package/runtime/third_party/boringssl/include/openssl/thread.h +114 -0
  878. package/runtime/third_party/boringssl/include/openssl/time.h +22 -0
  879. package/runtime/third_party/boringssl/include/openssl/tls1.h +263 -0
  880. package/runtime/third_party/boringssl/include/openssl/tls_prf.h +47 -0
  881. package/runtime/third_party/boringssl/include/openssl/trust_token.h +349 -0
  882. package/runtime/third_party/boringssl/include/openssl/type_check.h +37 -0
  883. package/runtime/third_party/boringssl/include/openssl/types.h +18 -0
  884. package/runtime/third_party/boringssl/include/openssl/x509.h +5404 -0
  885. package/runtime/third_party/boringssl/include/openssl/x509_vfy.h +18 -0
  886. package/runtime/third_party/boringssl/include/openssl/x509v3.h +63 -0
  887. package/runtime/third_party/boringssl/include/openssl/x509v3_errors.h +84 -0
  888. package/runtime/third_party/boringssl/include/openssl/xwing.h +115 -0
  889. package/runtime/third_party/boringssl/sources.json +696 -0
  890. package/runtime/third_party/boringssl/ssl/bio_ssl.cc +196 -0
  891. package/runtime/third_party/boringssl/ssl/d1_both.cc +1137 -0
  892. package/runtime/third_party/boringssl/ssl/d1_lib.cc +245 -0
  893. package/runtime/third_party/boringssl/ssl/d1_pkt.cc +322 -0
  894. package/runtime/third_party/boringssl/ssl/d1_srtp.cc +128 -0
  895. package/runtime/third_party/boringssl/ssl/dtls_method.cc +216 -0
  896. package/runtime/third_party/boringssl/ssl/dtls_record.cc +586 -0
  897. package/runtime/third_party/boringssl/ssl/encrypted_client_hello.cc +1110 -0
  898. package/runtime/third_party/boringssl/ssl/extensions.cc +5368 -0
  899. package/runtime/third_party/boringssl/ssl/handoff.cc +625 -0
  900. package/runtime/third_party/boringssl/ssl/handshake.cc +694 -0
  901. package/runtime/third_party/boringssl/ssl/handshake_client.cc +1958 -0
  902. package/runtime/third_party/boringssl/ssl/handshake_server.cc +1875 -0
  903. package/runtime/third_party/boringssl/ssl/internal.h +4506 -0
  904. package/runtime/third_party/boringssl/ssl/s3_both.cc +555 -0
  905. package/runtime/third_party/boringssl/ssl/s3_lib.cc +88 -0
  906. package/runtime/third_party/boringssl/ssl/s3_pkt.cc +396 -0
  907. package/runtime/third_party/boringssl/ssl/ssl_aead_ctx.cc +416 -0
  908. package/runtime/third_party/boringssl/ssl/ssl_asn1.cc +851 -0
  909. package/runtime/third_party/boringssl/ssl/ssl_buffer.cc +304 -0
  910. package/runtime/third_party/boringssl/ssl/ssl_cert.cc +723 -0
  911. package/runtime/third_party/boringssl/ssl/ssl_cipher.cc +1762 -0
  912. package/runtime/third_party/boringssl/ssl/ssl_credential.cc +913 -0
  913. package/runtime/third_party/boringssl/ssl/ssl_file.cc +375 -0
  914. package/runtime/third_party/boringssl/ssl/ssl_key_share.cc +445 -0
  915. package/runtime/third_party/boringssl/ssl/ssl_lib.cc +4132 -0
  916. package/runtime/third_party/boringssl/ssl/ssl_privkey.cc +973 -0
  917. package/runtime/third_party/boringssl/ssl/ssl_session.cc +1273 -0
  918. package/runtime/third_party/boringssl/ssl/ssl_stat.cc +162 -0
  919. package/runtime/third_party/boringssl/ssl/ssl_transcript.cc +224 -0
  920. package/runtime/third_party/boringssl/ssl/ssl_versions.cc +436 -0
  921. package/runtime/third_party/boringssl/ssl/ssl_x509.cc +1229 -0
  922. package/runtime/third_party/boringssl/ssl/t1_enc.cc +266 -0
  923. package/runtime/third_party/boringssl/ssl/tls13_both.cc +764 -0
  924. package/runtime/third_party/boringssl/ssl/tls13_client.cc +1325 -0
  925. package/runtime/third_party/boringssl/ssl/tls13_enc.cc +746 -0
  926. package/runtime/third_party/boringssl/ssl/tls13_server.cc +1623 -0
  927. package/runtime/third_party/boringssl/ssl/tls_method.cc +266 -0
  928. package/runtime/third_party/boringssl/ssl/tls_record.cc +524 -0
  929. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_mul.S +178 -0
  930. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_curve25519_adx_square.S +146 -0
  931. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_mul.S +177 -0
  932. package/runtime/third_party/boringssl/third_party/fiat/asm/fiat_p256_adx_sqr.S +166 -0
  933. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_bareminimum.c.inc +47 -0
  934. package/runtime/third_party/boringssl/third_party/fiat/bedrock_unverified_platform.c.inc +137 -0
  935. package/runtime/third_party/boringssl/third_party/fiat/curve25519_32.h +1571 -0
  936. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64.h +978 -0
  937. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_adx.h +700 -0
  938. package/runtime/third_party/boringssl/third_party/fiat/curve25519_64_msvc.h +1281 -0
  939. package/runtime/third_party/boringssl/third_party/fiat/p256_32.h +4760 -0
  940. package/runtime/third_party/boringssl/third_party/fiat/p256_64.h +1984 -0
  941. package/runtime/third_party/boringssl/third_party/fiat/p256_64_msvc.h +1939 -0
  942. package/runtime/third_party/boringssl/third_party/fiat/p256_field.c.inc +26 -0
  943. package/runtime/third_party/boringssl/third_party/fiat/p256_field_32.br.c.inc +71 -0
  944. package/runtime/third_party/boringssl/third_party/fiat/p256_field_64.br.c.inc +84 -0
  945. package/runtime/third_party/boringssl/third_party/fiat/p256_point.br.c.inc +112 -0
  946. package/runtime/third_party/quickjs-dtoa/LICENSE +0 -0
  947. package/runtime/third_party/quickjs-dtoa/README.md +0 -0
  948. package/runtime/third_party/quickjs-dtoa/dtoa.c +0 -0
  949. package/runtime/third_party/quickjs-dtoa/dtoa.h +0 -0
  950. package/runtime/third_party/quickjs-dtoa/dtoa_compat.h +0 -0
  951. package/runtime/third_party/quickjs-regexp/LICENSE +0 -0
  952. package/runtime/third_party/quickjs-regexp/README.md +0 -0
  953. package/runtime/third_party/quickjs-regexp/cutils.c +0 -0
  954. package/runtime/third_party/quickjs-regexp/cutils.h +0 -0
  955. package/runtime/third_party/quickjs-regexp/libregexp-opcode.h +0 -0
  956. package/runtime/third_party/quickjs-regexp/libregexp.c +0 -0
  957. package/runtime/third_party/quickjs-regexp/libregexp.h +0 -0
  958. package/runtime/third_party/quickjs-regexp/libunicode-table.h +0 -0
  959. package/runtime/third_party/quickjs-regexp/libunicode.c +0 -0
  960. package/runtime/third_party/quickjs-regexp/libunicode.h +0 -0
  961. package/runtime/third_party/v8-ieee754/LICENSE +0 -0
  962. package/runtime/third_party/v8-ieee754/README.md +2 -1
  963. package/runtime/third_party/v8-ieee754/convert.py +4 -0
  964. package/runtime/third_party/v8-ieee754/ieee754.c +1 -1
  965. package/runtime/third_party/v8-ieee754/ieee754.h +0 -0
  966. package/runtime/tools/regexp_compile.c +0 -0
  967. package/runtime/third_party/bearssl/LICENSE.txt +0 -21
  968. package/runtime/third_party/bearssl/README.txt +0 -136
  969. package/runtime/third_party/bearssl/VERSION +0 -1
  970. package/runtime/third_party/bearssl/inc/bearssl.h +0 -183
  971. package/runtime/third_party/bearssl/inc/bearssl_aead.h +0 -1059
  972. package/runtime/third_party/bearssl/inc/bearssl_block.h +0 -2618
  973. package/runtime/third_party/bearssl/inc/bearssl_ec.h +0 -967
  974. package/runtime/third_party/bearssl/inc/bearssl_hash.h +0 -1346
  975. package/runtime/third_party/bearssl/inc/bearssl_hmac.h +0 -241
  976. package/runtime/third_party/bearssl/inc/bearssl_kdf.h +0 -284
  977. package/runtime/third_party/bearssl/inc/bearssl_pem.h +0 -294
  978. package/runtime/third_party/bearssl/inc/bearssl_prf.h +0 -150
  979. package/runtime/third_party/bearssl/inc/bearssl_rand.h +0 -397
  980. package/runtime/third_party/bearssl/inc/bearssl_rsa.h +0 -1655
  981. package/runtime/third_party/bearssl/inc/bearssl_ssl.h +0 -4296
  982. package/runtime/third_party/bearssl/inc/bearssl_x509.h +0 -1474
  983. package/runtime/third_party/bearssl/src/aead/ccm.c +0 -346
  984. package/runtime/third_party/bearssl/src/aead/eax.c +0 -525
  985. package/runtime/third_party/bearssl/src/aead/gcm.c +0 -318
  986. package/runtime/third_party/bearssl/src/codec/ccopy.c +0 -44
  987. package/runtime/third_party/bearssl/src/codec/dec16be.c +0 -38
  988. package/runtime/third_party/bearssl/src/codec/dec16le.c +0 -38
  989. package/runtime/third_party/bearssl/src/codec/dec32be.c +0 -38
  990. package/runtime/third_party/bearssl/src/codec/dec32le.c +0 -38
  991. package/runtime/third_party/bearssl/src/codec/dec64be.c +0 -38
  992. package/runtime/third_party/bearssl/src/codec/dec64le.c +0 -38
  993. package/runtime/third_party/bearssl/src/codec/enc16be.c +0 -38
  994. package/runtime/third_party/bearssl/src/codec/enc16le.c +0 -38
  995. package/runtime/third_party/bearssl/src/codec/enc32be.c +0 -38
  996. package/runtime/third_party/bearssl/src/codec/enc32le.c +0 -38
  997. package/runtime/third_party/bearssl/src/codec/enc64be.c +0 -38
  998. package/runtime/third_party/bearssl/src/codec/enc64le.c +0 -38
  999. package/runtime/third_party/bearssl/src/codec/pemdec.c +0 -526
  1000. package/runtime/third_party/bearssl/src/codec/pemdec.t0 +0 -314
  1001. package/runtime/third_party/bearssl/src/codec/pemenc.c +0 -173
  1002. package/runtime/third_party/bearssl/src/config.h +0 -247
  1003. package/runtime/third_party/bearssl/src/ec/ec_all_m15.c +0 -121
  1004. package/runtime/third_party/bearssl/src/ec/ec_all_m31.c +0 -171
  1005. package/runtime/third_party/bearssl/src/ec/ec_c25519_i15.c +0 -398
  1006. package/runtime/third_party/bearssl/src/ec/ec_c25519_i31.c +0 -390
  1007. package/runtime/third_party/bearssl/src/ec/ec_c25519_m15.c +0 -1478
  1008. package/runtime/third_party/bearssl/src/ec/ec_c25519_m31.c +0 -800
  1009. package/runtime/third_party/bearssl/src/ec/ec_c25519_m62.c +0 -605
  1010. package/runtime/third_party/bearssl/src/ec/ec_c25519_m64.c +0 -831
  1011. package/runtime/third_party/bearssl/src/ec/ec_curve25519.c +0 -46
  1012. package/runtime/third_party/bearssl/src/ec/ec_default.c +0 -36
  1013. package/runtime/third_party/bearssl/src/ec/ec_keygen.c +0 -86
  1014. package/runtime/third_party/bearssl/src/ec/ec_p256_m15.c +0 -2124
  1015. package/runtime/third_party/bearssl/src/ec/ec_p256_m31.c +0 -1469
  1016. package/runtime/third_party/bearssl/src/ec/ec_p256_m62.c +0 -1765
  1017. package/runtime/third_party/bearssl/src/ec/ec_p256_m64.c +0 -1781
  1018. package/runtime/third_party/bearssl/src/ec/ec_prime_i15.c +0 -824
  1019. package/runtime/third_party/bearssl/src/ec/ec_prime_i31.c +0 -826
  1020. package/runtime/third_party/bearssl/src/ec/ec_pubkey.c +0 -85
  1021. package/runtime/third_party/bearssl/src/ec/ec_secp256r1.c +0 -51
  1022. package/runtime/third_party/bearssl/src/ec/ec_secp384r1.c +0 -57
  1023. package/runtime/third_party/bearssl/src/ec/ec_secp521r1.c +0 -64
  1024. package/runtime/third_party/bearssl/src/ec/ecdsa_atr.c +0 -134
  1025. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_asn1.c +0 -36
  1026. package/runtime/third_party/bearssl/src/ec/ecdsa_default_sign_raw.c +0 -36
  1027. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_asn1.c +0 -36
  1028. package/runtime/third_party/bearssl/src/ec/ecdsa_default_vrfy_raw.c +0 -36
  1029. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_bits.c +0 -47
  1030. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_asn1.c +0 -45
  1031. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_sign_raw.c +0 -174
  1032. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_asn1.c +0 -48
  1033. package/runtime/third_party/bearssl/src/ec/ecdsa_i15_vrfy_raw.c +0 -166
  1034. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_bits.c +0 -47
  1035. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_asn1.c +0 -45
  1036. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_sign_raw.c +0 -173
  1037. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_asn1.c +0 -48
  1038. package/runtime/third_party/bearssl/src/ec/ecdsa_i31_vrfy_raw.c +0 -165
  1039. package/runtime/third_party/bearssl/src/ec/ecdsa_rta.c +0 -121
  1040. package/runtime/third_party/bearssl/src/hash/dig_oid.c +0 -84
  1041. package/runtime/third_party/bearssl/src/hash/dig_size.c +0 -50
  1042. package/runtime/third_party/bearssl/src/hash/ghash_ctmul.c +0 -345
  1043. package/runtime/third_party/bearssl/src/hash/ghash_ctmul32.c +0 -251
  1044. package/runtime/third_party/bearssl/src/hash/ghash_ctmul64.c +0 -154
  1045. package/runtime/third_party/bearssl/src/hash/ghash_pclmul.c +0 -389
  1046. package/runtime/third_party/bearssl/src/hash/ghash_pwr8.c +0 -411
  1047. package/runtime/third_party/bearssl/src/hash/md5.c +0 -208
  1048. package/runtime/third_party/bearssl/src/hash/md5sha1.c +0 -141
  1049. package/runtime/third_party/bearssl/src/hash/mgf1.c +0 -56
  1050. package/runtime/third_party/bearssl/src/hash/multihash.c +0 -166
  1051. package/runtime/third_party/bearssl/src/hash/sha1.c +0 -191
  1052. package/runtime/third_party/bearssl/src/hash/sha2big.c +0 -285
  1053. package/runtime/third_party/bearssl/src/hash/sha2small.c +0 -341
  1054. package/runtime/third_party/bearssl/src/inner.h +0 -2577
  1055. package/runtime/third_party/bearssl/src/int/i15_add.c +0 -46
  1056. package/runtime/third_party/bearssl/src/int/i15_bitlen.c +0 -44
  1057. package/runtime/third_party/bearssl/src/int/i15_decmod.c +0 -124
  1058. package/runtime/third_party/bearssl/src/int/i15_decode.c +0 -56
  1059. package/runtime/third_party/bearssl/src/int/i15_decred.c +0 -100
  1060. package/runtime/third_party/bearssl/src/int/i15_encode.c +0 -56
  1061. package/runtime/third_party/bearssl/src/int/i15_fmont.c +0 -59
  1062. package/runtime/third_party/bearssl/src/int/i15_iszero.c +0 -39
  1063. package/runtime/third_party/bearssl/src/int/i15_moddiv.c +0 -465
  1064. package/runtime/third_party/bearssl/src/int/i15_modpow.c +0 -50
  1065. package/runtime/third_party/bearssl/src/int/i15_modpow2.c +0 -160
  1066. package/runtime/third_party/bearssl/src/int/i15_montmul.c +0 -184
  1067. package/runtime/third_party/bearssl/src/int/i15_mulacc.c +0 -61
  1068. package/runtime/third_party/bearssl/src/int/i15_muladd.c +0 -173
  1069. package/runtime/third_party/bearssl/src/int/i15_ninv15.c +0 -38
  1070. package/runtime/third_party/bearssl/src/int/i15_reduce.c +0 -66
  1071. package/runtime/third_party/bearssl/src/int/i15_rshift.c +0 -47
  1072. package/runtime/third_party/bearssl/src/int/i15_sub.c +0 -46
  1073. package/runtime/third_party/bearssl/src/int/i15_tmont.c +0 -36
  1074. package/runtime/third_party/bearssl/src/int/i31_add.c +0 -46
  1075. package/runtime/third_party/bearssl/src/int/i31_bitlen.c +0 -44
  1076. package/runtime/third_party/bearssl/src/int/i31_decmod.c +0 -124
  1077. package/runtime/third_party/bearssl/src/int/i31_decode.c +0 -57
  1078. package/runtime/third_party/bearssl/src/int/i31_decred.c +0 -103
  1079. package/runtime/third_party/bearssl/src/int/i31_encode.c +0 -79
  1080. package/runtime/third_party/bearssl/src/int/i31_fmont.c +0 -60
  1081. package/runtime/third_party/bearssl/src/int/i31_iszero.c +0 -39
  1082. package/runtime/third_party/bearssl/src/int/i31_moddiv.c +0 -488
  1083. package/runtime/third_party/bearssl/src/int/i31_modpow.c +0 -65
  1084. package/runtime/third_party/bearssl/src/int/i31_modpow2.c +0 -160
  1085. package/runtime/third_party/bearssl/src/int/i31_montmul.c +0 -127
  1086. package/runtime/third_party/bearssl/src/int/i31_mulacc.c +0 -74
  1087. package/runtime/third_party/bearssl/src/int/i31_muladd.c +0 -157
  1088. package/runtime/third_party/bearssl/src/int/i31_ninv31.c +0 -39
  1089. package/runtime/third_party/bearssl/src/int/i31_reduce.c +0 -66
  1090. package/runtime/third_party/bearssl/src/int/i31_rshift.c +0 -47
  1091. package/runtime/third_party/bearssl/src/int/i31_sub.c +0 -46
  1092. package/runtime/third_party/bearssl/src/int/i31_tmont.c +0 -36
  1093. package/runtime/third_party/bearssl/src/int/i32_add.c +0 -51
  1094. package/runtime/third_party/bearssl/src/int/i32_bitlen.c +0 -44
  1095. package/runtime/third_party/bearssl/src/int/i32_decmod.c +0 -77
  1096. package/runtime/third_party/bearssl/src/int/i32_decode.c +0 -63
  1097. package/runtime/third_party/bearssl/src/int/i32_decred.c +0 -107
  1098. package/runtime/third_party/bearssl/src/int/i32_div32.c +0 -56
  1099. package/runtime/third_party/bearssl/src/int/i32_encode.c +0 -72
  1100. package/runtime/third_party/bearssl/src/int/i32_fmont.c +0 -60
  1101. package/runtime/third_party/bearssl/src/int/i32_iszero.c +0 -39
  1102. package/runtime/third_party/bearssl/src/int/i32_modpow.c +0 -65
  1103. package/runtime/third_party/bearssl/src/int/i32_montmul.c +0 -69
  1104. package/runtime/third_party/bearssl/src/int/i32_mulacc.c +0 -56
  1105. package/runtime/third_party/bearssl/src/int/i32_muladd.c +0 -138
  1106. package/runtime/third_party/bearssl/src/int/i32_ninv32.c +0 -39
  1107. package/runtime/third_party/bearssl/src/int/i32_reduce.c +0 -66
  1108. package/runtime/third_party/bearssl/src/int/i32_sub.c +0 -51
  1109. package/runtime/third_party/bearssl/src/int/i32_tmont.c +0 -36
  1110. package/runtime/third_party/bearssl/src/int/i62_modpow2.c +0 -493
  1111. package/runtime/third_party/bearssl/src/kdf/hkdf.c +0 -107
  1112. package/runtime/third_party/bearssl/src/kdf/shake.c +0 -590
  1113. package/runtime/third_party/bearssl/src/mac/hmac.c +0 -122
  1114. package/runtime/third_party/bearssl/src/mac/hmac_ct.c +0 -193
  1115. package/runtime/third_party/bearssl/src/rand/aesctr_drbg.c +0 -206
  1116. package/runtime/third_party/bearssl/src/rand/hmac_drbg.c +0 -157
  1117. package/runtime/third_party/bearssl/src/rand/sysrng.c +0 -252
  1118. package/runtime/third_party/bearssl/src/rsa/rsa_default_keygen.c +0 -38
  1119. package/runtime/third_party/bearssl/src/rsa/rsa_default_modulus.c +0 -36
  1120. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_decrypt.c +0 -38
  1121. package/runtime/third_party/bearssl/src/rsa/rsa_default_oaep_encrypt.c +0 -38
  1122. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_sign.c +0 -38
  1123. package/runtime/third_party/bearssl/src/rsa/rsa_default_pkcs1_vrfy.c +0 -38
  1124. package/runtime/third_party/bearssl/src/rsa/rsa_default_priv.c +0 -38
  1125. package/runtime/third_party/bearssl/src/rsa/rsa_default_privexp.c +0 -36
  1126. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_sign.c +0 -38
  1127. package/runtime/third_party/bearssl/src/rsa/rsa_default_pss_vrfy.c +0 -38
  1128. package/runtime/third_party/bearssl/src/rsa/rsa_default_pub.c +0 -38
  1129. package/runtime/third_party/bearssl/src/rsa/rsa_default_pubexp.c +0 -36
  1130. package/runtime/third_party/bearssl/src/rsa/rsa_i15_keygen.c +0 -583
  1131. package/runtime/third_party/bearssl/src/rsa/rsa_i15_modulus.c +0 -99
  1132. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_decrypt.c +0 -41
  1133. package/runtime/third_party/bearssl/src/rsa/rsa_i15_oaep_encrypt.c +0 -44
  1134. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_sign.c +0 -37
  1135. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pkcs1_vrfy.c +0 -43
  1136. package/runtime/third_party/bearssl/src/rsa/rsa_i15_priv.c +0 -209
  1137. package/runtime/third_party/bearssl/src/rsa/rsa_i15_privexp.c +0 -320
  1138. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_sign.c +0 -40
  1139. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pss_vrfy.c +0 -44
  1140. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pub.c +0 -113
  1141. package/runtime/third_party/bearssl/src/rsa/rsa_i15_pubexp.c +0 -152
  1142. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen.c +0 -37
  1143. package/runtime/third_party/bearssl/src/rsa/rsa_i31_keygen_inner.c +0 -608
  1144. package/runtime/third_party/bearssl/src/rsa/rsa_i31_modulus.c +0 -99
  1145. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_decrypt.c +0 -41
  1146. package/runtime/third_party/bearssl/src/rsa/rsa_i31_oaep_encrypt.c +0 -44
  1147. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_sign.c +0 -37
  1148. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pkcs1_vrfy.c +0 -43
  1149. package/runtime/third_party/bearssl/src/rsa/rsa_i31_priv.c +0 -203
  1150. package/runtime/third_party/bearssl/src/rsa/rsa_i31_privexp.c +0 -318
  1151. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_sign.c +0 -40
  1152. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pss_vrfy.c +0 -44
  1153. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pub.c +0 -106
  1154. package/runtime/third_party/bearssl/src/rsa/rsa_i31_pubexp.c +0 -152
  1155. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_decrypt.c +0 -41
  1156. package/runtime/third_party/bearssl/src/rsa/rsa_i32_oaep_encrypt.c +0 -44
  1157. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_sign.c +0 -37
  1158. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pkcs1_vrfy.c +0 -43
  1159. package/runtime/third_party/bearssl/src/rsa/rsa_i32_priv.c +0 -160
  1160. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_sign.c +0 -40
  1161. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pss_vrfy.c +0 -44
  1162. package/runtime/third_party/bearssl/src/rsa/rsa_i32_pub.c +0 -77
  1163. package/runtime/third_party/bearssl/src/rsa/rsa_i62_keygen.c +0 -57
  1164. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_decrypt.c +0 -61
  1165. package/runtime/third_party/bearssl/src/rsa/rsa_i62_oaep_encrypt.c +0 -64
  1166. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_sign.c +0 -57
  1167. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pkcs1_vrfy.c +0 -63
  1168. package/runtime/third_party/bearssl/src/rsa/rsa_i62_priv.c +0 -223
  1169. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_sign.c +0 -60
  1170. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pss_vrfy.c +0 -64
  1171. package/runtime/third_party/bearssl/src/rsa/rsa_i62_pub.c +0 -125
  1172. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_pad.c +0 -112
  1173. package/runtime/third_party/bearssl/src/rsa/rsa_oaep_unpad.c +0 -145
  1174. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_pad.c +0 -100
  1175. package/runtime/third_party/bearssl/src/rsa/rsa_pkcs1_sig_unpad.c +0 -121
  1176. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_pad.c +0 -106
  1177. package/runtime/third_party/bearssl/src/rsa/rsa_pss_sig_unpad.c +0 -121
  1178. package/runtime/third_party/bearssl/src/rsa/rsa_ssl_decrypt.c +0 -52
  1179. package/runtime/third_party/bearssl/src/settings.c +0 -306
  1180. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcdec.c +0 -69
  1181. package/runtime/third_party/bearssl/src/symcipher/aes_big_cbcenc.c +0 -67
  1182. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctr.c +0 -84
  1183. package/runtime/third_party/bearssl/src/symcipher/aes_big_ctrcbc.c +0 -142
  1184. package/runtime/third_party/bearssl/src/symcipher/aes_big_dec.c +0 -254
  1185. package/runtime/third_party/bearssl/src/symcipher/aes_big_enc.c +0 -157
  1186. package/runtime/third_party/bearssl/src/symcipher/aes_common.c +0 -112
  1187. package/runtime/third_party/bearssl/src/symcipher/aes_ct.c +0 -328
  1188. package/runtime/third_party/bearssl/src/symcipher/aes_ct64.c +0 -398
  1189. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcdec.c +0 -104
  1190. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_cbcenc.c +0 -81
  1191. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctr.c +0 -114
  1192. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_ctrcbc.c +0 -433
  1193. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_dec.c +0 -159
  1194. package/runtime/third_party/bearssl/src/symcipher/aes_ct64_enc.c +0 -115
  1195. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcdec.c +0 -111
  1196. package/runtime/third_party/bearssl/src/symcipher/aes_ct_cbcenc.c +0 -91
  1197. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctr.c +0 -116
  1198. package/runtime/third_party/bearssl/src/symcipher/aes_ct_ctrcbc.c +0 -422
  1199. package/runtime/third_party/bearssl/src/symcipher/aes_ct_dec.c +0 -170
  1200. package/runtime/third_party/bearssl/src/symcipher/aes_ct_enc.c +0 -112
  1201. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8.c +0 -445
  1202. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcdec.c +0 -670
  1203. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_cbcenc.c +0 -417
  1204. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctr.c +0 -717
  1205. package/runtime/third_party/bearssl/src/symcipher/aes_pwr8_ctrcbc.c +0 -946
  1206. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcdec.c +0 -69
  1207. package/runtime/third_party/bearssl/src/symcipher/aes_small_cbcenc.c +0 -67
  1208. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctr.c +0 -84
  1209. package/runtime/third_party/bearssl/src/symcipher/aes_small_ctrcbc.c +0 -142
  1210. package/runtime/third_party/bearssl/src/symcipher/aes_small_dec.c +0 -176
  1211. package/runtime/third_party/bearssl/src/symcipher/aes_small_enc.c +0 -129
  1212. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni.c +0 -240
  1213. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcdec.c +0 -223
  1214. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_cbcenc.c +0 -122
  1215. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctr.c +0 -211
  1216. package/runtime/third_party/bearssl/src/symcipher/aes_x86ni_ctrcbc.c +0 -596
  1217. package/runtime/third_party/bearssl/src/symcipher/chacha20_ct.c +0 -106
  1218. package/runtime/third_party/bearssl/src/symcipher/chacha20_sse2.c +0 -237
  1219. package/runtime/third_party/bearssl/src/symcipher/des_ct.c +0 -411
  1220. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcdec.c +0 -87
  1221. package/runtime/third_party/bearssl/src/symcipher/des_ct_cbcenc.c +0 -69
  1222. package/runtime/third_party/bearssl/src/symcipher/des_support.c +0 -166
  1223. package/runtime/third_party/bearssl/src/symcipher/des_tab.c +0 -310
  1224. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcdec.c +0 -85
  1225. package/runtime/third_party/bearssl/src/symcipher/des_tab_cbcenc.c +0 -67
  1226. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul.c +0 -260
  1227. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmul32.c +0 -297
  1228. package/runtime/third_party/bearssl/src/symcipher/poly1305_ctmulq.c +0 -475
  1229. package/runtime/third_party/bearssl/src/symcipher/poly1305_i15.c +0 -221
  1230. package/runtime/third_party/bearssl/src/x509/asn1.t0 +0 -757
  1231. package/runtime/third_party/bearssl/src/x509/asn1enc.c +0 -93
  1232. package/runtime/third_party/bearssl/src/x509/encode_ec_pk8der.c +0 -110
  1233. package/runtime/third_party/bearssl/src/x509/encode_ec_rawder.c +0 -161
  1234. package/runtime/third_party/bearssl/src/x509/encode_rsa_pk8der.c +0 -97
  1235. package/runtime/third_party/bearssl/src/x509/encode_rsa_rawder.c +0 -96
  1236. package/runtime/third_party/bearssl/src/x509/skey_decoder.c +0 -653
  1237. package/runtime/third_party/bearssl/src/x509/skey_decoder.t0 +0 -376
  1238. package/runtime/third_party/bearssl/src/x509/x509_decoder.c +0 -776
  1239. package/runtime/third_party/bearssl/src/x509/x509_decoder.t0 +0 -324
  1240. package/runtime/third_party/bearssl/src/x509/x509_knownkey.c +0 -105
  1241. package/runtime/third_party/bearssl/src/x509/x509_minimal.c +0 -1722
  1242. package/runtime/third_party/bearssl/src/x509/x509_minimal.t0 +0 -1526
  1243. package/runtime/third_party/bearssl/src/x509/x509_minimal_full.c +0 -59
@@ -0,0 +1,1765 @@
1
+ // This file is generated from a similarly-named Perl script in the BoringSSL
2
+ // source tree. Do not edit by hand.
3
+
4
+ #include <openssl/asm_base.h>
5
+
6
+ #if !defined(OPENSSL_NO_ASM) && defined(OPENSSL_AARCH64) && defined(_WIN32)
7
+ .section .rodata
8
+ .align 5
9
+ p256_constants:
10
+ Lpoly:
11
+ .quad 0xffffffffffffffff,0x00000000ffffffff,0x0000000000000000,0xffffffff00000001
12
+ LRR: // 2^512 mod P precomputed for NIST P256 polynomial
13
+ .quad 0x0000000000000003,0xfffffffbffffffff,0xfffffffffffffffe,0x00000004fffffffd
14
+ Lone_mont:
15
+ .quad 0x0000000000000001,0xffffffff00000000,0xffffffffffffffff,0x00000000fffffffe
16
+ Lone:
17
+ .quad 1,0,0,0
18
+ Lord:
19
+ .quad 0xf3b9cac2fc632551,0xbce6faada7179e84,0xffffffffffffffff,0xffffffff00000000
20
+ LordK:
21
+ .quad 0xccd1c8aaee00bc4f
22
+ .byte 69,67,80,95,78,73,83,84,90,50,53,54,32,102,111,114,32,65,82,77,118,56,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0
23
+ .align 2
24
+ .text
25
+
26
+ // void ecp_nistz256_mul_mont(BN_ULONG x0[4],const BN_ULONG x1[4],
27
+ // const BN_ULONG x2[4]);
28
+ .globl ecp_nistz256_mul_mont
29
+
30
+ .def ecp_nistz256_mul_mont
31
+ .type 32
32
+ .endef
33
+ .align 4
34
+ ecp_nistz256_mul_mont:
35
+ AARCH64_SIGN_LINK_REGISTER
36
+ stp x29,x30,[sp,#-32]!
37
+ add x29,sp,#0
38
+ stp x19,x20,[sp,#16]
39
+
40
+ ldr x3,[x2] // bp[0]
41
+ ldp x4,x5,[x1]
42
+ ldp x6,x7,[x1,#16]
43
+ adrp x13,Lpoly
44
+ add x13,x13,:lo12:Lpoly
45
+ ldr x12,[x13,#8]
46
+ ldr x13,[x13,#24]
47
+
48
+ bl __ecp_nistz256_mul_mont
49
+
50
+ ldp x19,x20,[sp,#16]
51
+ ldp x29,x30,[sp],#32
52
+ AARCH64_VALIDATE_LINK_REGISTER
53
+ ret
54
+
55
+
56
+ // void ecp_nistz256_sqr_mont(BN_ULONG x0[4],const BN_ULONG x1[4]);
57
+ .globl ecp_nistz256_sqr_mont
58
+
59
+ .def ecp_nistz256_sqr_mont
60
+ .type 32
61
+ .endef
62
+ .align 4
63
+ ecp_nistz256_sqr_mont:
64
+ AARCH64_SIGN_LINK_REGISTER
65
+ stp x29,x30,[sp,#-32]!
66
+ add x29,sp,#0
67
+ stp x19,x20,[sp,#16]
68
+
69
+ ldp x4,x5,[x1]
70
+ ldp x6,x7,[x1,#16]
71
+ adrp x13,Lpoly
72
+ add x13,x13,:lo12:Lpoly
73
+ ldr x12,[x13,#8]
74
+ ldr x13,[x13,#24]
75
+
76
+ bl __ecp_nistz256_sqr_mont
77
+
78
+ ldp x19,x20,[sp,#16]
79
+ ldp x29,x30,[sp],#32
80
+ AARCH64_VALIDATE_LINK_REGISTER
81
+ ret
82
+
83
+
84
+ // void ecp_nistz256_div_by_2(BN_ULONG x0[4],const BN_ULONG x1[4]);
85
+ .globl ecp_nistz256_div_by_2
86
+
87
+ .def ecp_nistz256_div_by_2
88
+ .type 32
89
+ .endef
90
+ .align 4
91
+ ecp_nistz256_div_by_2:
92
+ AARCH64_SIGN_LINK_REGISTER
93
+ stp x29,x30,[sp,#-16]!
94
+ add x29,sp,#0
95
+
96
+ ldp x14,x15,[x1]
97
+ ldp x16,x17,[x1,#16]
98
+ adrp x13,Lpoly
99
+ add x13,x13,:lo12:Lpoly
100
+ ldr x12,[x13,#8]
101
+ ldr x13,[x13,#24]
102
+
103
+ bl __ecp_nistz256_div_by_2
104
+
105
+ ldp x29,x30,[sp],#16
106
+ AARCH64_VALIDATE_LINK_REGISTER
107
+ ret
108
+
109
+
110
+ // void ecp_nistz256_mul_by_2(BN_ULONG x0[4],const BN_ULONG x1[4]);
111
+ .globl ecp_nistz256_mul_by_2
112
+
113
+ .def ecp_nistz256_mul_by_2
114
+ .type 32
115
+ .endef
116
+ .align 4
117
+ ecp_nistz256_mul_by_2:
118
+ AARCH64_SIGN_LINK_REGISTER
119
+ stp x29,x30,[sp,#-16]!
120
+ add x29,sp,#0
121
+
122
+ ldp x14,x15,[x1]
123
+ ldp x16,x17,[x1,#16]
124
+ adrp x13,Lpoly
125
+ add x13,x13,:lo12:Lpoly
126
+ ldr x12,[x13,#8]
127
+ ldr x13,[x13,#24]
128
+ mov x8,x14
129
+ mov x9,x15
130
+ mov x10,x16
131
+ mov x11,x17
132
+
133
+ bl __ecp_nistz256_add_to // ret = a+a // 2*a
134
+
135
+ ldp x29,x30,[sp],#16
136
+ AARCH64_VALIDATE_LINK_REGISTER
137
+ ret
138
+
139
+
140
+ // void ecp_nistz256_mul_by_3(BN_ULONG x0[4],const BN_ULONG x1[4]);
141
+ .globl ecp_nistz256_mul_by_3
142
+
143
+ .def ecp_nistz256_mul_by_3
144
+ .type 32
145
+ .endef
146
+ .align 4
147
+ ecp_nistz256_mul_by_3:
148
+ AARCH64_SIGN_LINK_REGISTER
149
+ stp x29,x30,[sp,#-16]!
150
+ add x29,sp,#0
151
+
152
+ ldp x14,x15,[x1]
153
+ ldp x16,x17,[x1,#16]
154
+ adrp x13,Lpoly
155
+ add x13,x13,:lo12:Lpoly
156
+ ldr x12,[x13,#8]
157
+ ldr x13,[x13,#24]
158
+ mov x8,x14
159
+ mov x9,x15
160
+ mov x10,x16
161
+ mov x11,x17
162
+ mov x4,x14
163
+ mov x5,x15
164
+ mov x6,x16
165
+ mov x7,x17
166
+
167
+ bl __ecp_nistz256_add_to // ret = a+a // 2*a
168
+
169
+ mov x8,x4
170
+ mov x9,x5
171
+ mov x10,x6
172
+ mov x11,x7
173
+
174
+ bl __ecp_nistz256_add_to // ret += a // 2*a+a=3*a
175
+
176
+ ldp x29,x30,[sp],#16
177
+ AARCH64_VALIDATE_LINK_REGISTER
178
+ ret
179
+
180
+
181
+ // void ecp_nistz256_sub(BN_ULONG x0[4],const BN_ULONG x1[4],
182
+ // const BN_ULONG x2[4]);
183
+ .globl ecp_nistz256_sub
184
+
185
+ .def ecp_nistz256_sub
186
+ .type 32
187
+ .endef
188
+ .align 4
189
+ ecp_nistz256_sub:
190
+ AARCH64_SIGN_LINK_REGISTER
191
+ stp x29,x30,[sp,#-16]!
192
+ add x29,sp,#0
193
+
194
+ ldp x14,x15,[x1]
195
+ ldp x16,x17,[x1,#16]
196
+ adrp x13,Lpoly
197
+ add x13,x13,:lo12:Lpoly
198
+ ldr x12,[x13,#8]
199
+ ldr x13,[x13,#24]
200
+
201
+ bl __ecp_nistz256_sub_from
202
+
203
+ ldp x29,x30,[sp],#16
204
+ AARCH64_VALIDATE_LINK_REGISTER
205
+ ret
206
+
207
+
208
+ // void ecp_nistz256_neg(BN_ULONG x0[4],const BN_ULONG x1[4]);
209
+ .globl ecp_nistz256_neg
210
+
211
+ .def ecp_nistz256_neg
212
+ .type 32
213
+ .endef
214
+ .align 4
215
+ ecp_nistz256_neg:
216
+ AARCH64_SIGN_LINK_REGISTER
217
+ stp x29,x30,[sp,#-16]!
218
+ add x29,sp,#0
219
+
220
+ mov x2,x1
221
+ mov x14,xzr // a = 0
222
+ mov x15,xzr
223
+ mov x16,xzr
224
+ mov x17,xzr
225
+ adrp x13,Lpoly
226
+ add x13,x13,:lo12:Lpoly
227
+ ldr x12,[x13,#8]
228
+ ldr x13,[x13,#24]
229
+
230
+ bl __ecp_nistz256_sub_from
231
+
232
+ ldp x29,x30,[sp],#16
233
+ AARCH64_VALIDATE_LINK_REGISTER
234
+ ret
235
+
236
+
237
+ // note that __ecp_nistz256_mul_mont expects a[0-3] input pre-loaded
238
+ // to x4-x7 and b[0] - to x3
239
+ .def __ecp_nistz256_mul_mont
240
+ .type 32
241
+ .endef
242
+ .align 4
243
+ __ecp_nistz256_mul_mont:
244
+ mul x14,x4,x3 // a[0]*b[0]
245
+ umulh x8,x4,x3
246
+
247
+ mul x15,x5,x3 // a[1]*b[0]
248
+ umulh x9,x5,x3
249
+
250
+ mul x16,x6,x3 // a[2]*b[0]
251
+ umulh x10,x6,x3
252
+
253
+ mul x17,x7,x3 // a[3]*b[0]
254
+ umulh x11,x7,x3
255
+ ldr x3,[x2,#8] // b[1]
256
+
257
+ adds x15,x15,x8 // accumulate high parts of multiplication
258
+ lsl x8,x14,#32
259
+ adcs x16,x16,x9
260
+ lsr x9,x14,#32
261
+ adcs x17,x17,x10
262
+ adc x19,xzr,x11
263
+ mov x20,xzr
264
+ subs x10,x14,x8 // "*0xffff0001"
265
+ sbc x11,x14,x9
266
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
267
+ mul x8,x4,x3 // lo(a[0]*b[i])
268
+ adcs x15,x16,x9
269
+ mul x9,x5,x3 // lo(a[1]*b[i])
270
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
271
+ mul x10,x6,x3 // lo(a[2]*b[i])
272
+ adcs x17,x19,x11
273
+ mul x11,x7,x3 // lo(a[3]*b[i])
274
+ adc x19,x20,xzr
275
+
276
+ adds x14,x14,x8 // accumulate low parts of multiplication
277
+ umulh x8,x4,x3 // hi(a[0]*b[i])
278
+ adcs x15,x15,x9
279
+ umulh x9,x5,x3 // hi(a[1]*b[i])
280
+ adcs x16,x16,x10
281
+ umulh x10,x6,x3 // hi(a[2]*b[i])
282
+ adcs x17,x17,x11
283
+ umulh x11,x7,x3 // hi(a[3]*b[i])
284
+ adc x19,x19,xzr
285
+ ldr x3,[x2,#8*(1+1)] // b[1+1]
286
+ adds x15,x15,x8 // accumulate high parts of multiplication
287
+ lsl x8,x14,#32
288
+ adcs x16,x16,x9
289
+ lsr x9,x14,#32
290
+ adcs x17,x17,x10
291
+ adcs x19,x19,x11
292
+ adc x20,xzr,xzr
293
+ subs x10,x14,x8 // "*0xffff0001"
294
+ sbc x11,x14,x9
295
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
296
+ mul x8,x4,x3 // lo(a[0]*b[i])
297
+ adcs x15,x16,x9
298
+ mul x9,x5,x3 // lo(a[1]*b[i])
299
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
300
+ mul x10,x6,x3 // lo(a[2]*b[i])
301
+ adcs x17,x19,x11
302
+ mul x11,x7,x3 // lo(a[3]*b[i])
303
+ adc x19,x20,xzr
304
+
305
+ adds x14,x14,x8 // accumulate low parts of multiplication
306
+ umulh x8,x4,x3 // hi(a[0]*b[i])
307
+ adcs x15,x15,x9
308
+ umulh x9,x5,x3 // hi(a[1]*b[i])
309
+ adcs x16,x16,x10
310
+ umulh x10,x6,x3 // hi(a[2]*b[i])
311
+ adcs x17,x17,x11
312
+ umulh x11,x7,x3 // hi(a[3]*b[i])
313
+ adc x19,x19,xzr
314
+ ldr x3,[x2,#8*(2+1)] // b[2+1]
315
+ adds x15,x15,x8 // accumulate high parts of multiplication
316
+ lsl x8,x14,#32
317
+ adcs x16,x16,x9
318
+ lsr x9,x14,#32
319
+ adcs x17,x17,x10
320
+ adcs x19,x19,x11
321
+ adc x20,xzr,xzr
322
+ subs x10,x14,x8 // "*0xffff0001"
323
+ sbc x11,x14,x9
324
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
325
+ mul x8,x4,x3 // lo(a[0]*b[i])
326
+ adcs x15,x16,x9
327
+ mul x9,x5,x3 // lo(a[1]*b[i])
328
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
329
+ mul x10,x6,x3 // lo(a[2]*b[i])
330
+ adcs x17,x19,x11
331
+ mul x11,x7,x3 // lo(a[3]*b[i])
332
+ adc x19,x20,xzr
333
+
334
+ adds x14,x14,x8 // accumulate low parts of multiplication
335
+ umulh x8,x4,x3 // hi(a[0]*b[i])
336
+ adcs x15,x15,x9
337
+ umulh x9,x5,x3 // hi(a[1]*b[i])
338
+ adcs x16,x16,x10
339
+ umulh x10,x6,x3 // hi(a[2]*b[i])
340
+ adcs x17,x17,x11
341
+ umulh x11,x7,x3 // hi(a[3]*b[i])
342
+ adc x19,x19,xzr
343
+ adds x15,x15,x8 // accumulate high parts of multiplication
344
+ lsl x8,x14,#32
345
+ adcs x16,x16,x9
346
+ lsr x9,x14,#32
347
+ adcs x17,x17,x10
348
+ adcs x19,x19,x11
349
+ adc x20,xzr,xzr
350
+ // last reduction
351
+ subs x10,x14,x8 // "*0xffff0001"
352
+ sbc x11,x14,x9
353
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
354
+ adcs x15,x16,x9
355
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
356
+ adcs x17,x19,x11
357
+ adc x19,x20,xzr
358
+
359
+ adds x8,x14,#1 // subs x8,x14,#-1 // tmp = ret-modulus
360
+ sbcs x9,x15,x12
361
+ sbcs x10,x16,xzr
362
+ sbcs x11,x17,x13
363
+ sbcs xzr,x19,xzr // did it borrow?
364
+
365
+ csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
366
+ csel x15,x15,x9,lo
367
+ csel x16,x16,x10,lo
368
+ stp x14,x15,[x0]
369
+ csel x17,x17,x11,lo
370
+ stp x16,x17,[x0,#16]
371
+
372
+ ret
373
+
374
+
375
+ // note that __ecp_nistz256_sqr_mont expects a[0-3] input pre-loaded
376
+ // to x4-x7
377
+ .def __ecp_nistz256_sqr_mont
378
+ .type 32
379
+ .endef
380
+ .align 4
381
+ __ecp_nistz256_sqr_mont:
382
+ // | | | | | |a1*a0| |
383
+ // | | | | |a2*a0| | |
384
+ // | |a3*a2|a3*a0| | | |
385
+ // | | | |a2*a1| | | |
386
+ // | | |a3*a1| | | | |
387
+ // *| | | | | | | | 2|
388
+ // +|a3*a3|a2*a2|a1*a1|a0*a0|
389
+ // |--+--+--+--+--+--+--+--|
390
+ // |A7|A6|A5|A4|A3|A2|A1|A0|, where Ax is , i.e. follow
391
+ //
392
+ // "can't overflow" below mark carrying into high part of
393
+ // multiplication result, which can't overflow, because it
394
+ // can never be all ones.
395
+
396
+ mul x15,x5,x4 // a[1]*a[0]
397
+ umulh x9,x5,x4
398
+ mul x16,x6,x4 // a[2]*a[0]
399
+ umulh x10,x6,x4
400
+ mul x17,x7,x4 // a[3]*a[0]
401
+ umulh x19,x7,x4
402
+
403
+ adds x16,x16,x9 // accumulate high parts of multiplication
404
+ mul x8,x6,x5 // a[2]*a[1]
405
+ umulh x9,x6,x5
406
+ adcs x17,x17,x10
407
+ mul x10,x7,x5 // a[3]*a[1]
408
+ umulh x11,x7,x5
409
+ adc x19,x19,xzr // can't overflow
410
+
411
+ mul x20,x7,x6 // a[3]*a[2]
412
+ umulh x1,x7,x6
413
+
414
+ adds x9,x9,x10 // accumulate high parts of multiplication
415
+ mul x14,x4,x4 // a[0]*a[0]
416
+ adc x10,x11,xzr // can't overflow
417
+
418
+ adds x17,x17,x8 // accumulate low parts of multiplication
419
+ umulh x4,x4,x4
420
+ adcs x19,x19,x9
421
+ mul x9,x5,x5 // a[1]*a[1]
422
+ adcs x20,x20,x10
423
+ umulh x5,x5,x5
424
+ adc x1,x1,xzr // can't overflow
425
+
426
+ adds x15,x15,x15 // acc[1-6]*=2
427
+ mul x10,x6,x6 // a[2]*a[2]
428
+ adcs x16,x16,x16
429
+ umulh x6,x6,x6
430
+ adcs x17,x17,x17
431
+ mul x11,x7,x7 // a[3]*a[3]
432
+ adcs x19,x19,x19
433
+ umulh x7,x7,x7
434
+ adcs x20,x20,x20
435
+ adcs x1,x1,x1
436
+ adc x2,xzr,xzr
437
+
438
+ adds x15,x15,x4 // +a[i]*a[i]
439
+ adcs x16,x16,x9
440
+ adcs x17,x17,x5
441
+ adcs x19,x19,x10
442
+ adcs x20,x20,x6
443
+ lsl x8,x14,#32
444
+ adcs x1,x1,x11
445
+ lsr x9,x14,#32
446
+ adc x2,x2,x7
447
+ subs x10,x14,x8 // "*0xffff0001"
448
+ sbc x11,x14,x9
449
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
450
+ adcs x15,x16,x9
451
+ lsl x8,x14,#32
452
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
453
+ lsr x9,x14,#32
454
+ adc x17,x11,xzr // can't overflow
455
+ subs x10,x14,x8 // "*0xffff0001"
456
+ sbc x11,x14,x9
457
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
458
+ adcs x15,x16,x9
459
+ lsl x8,x14,#32
460
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
461
+ lsr x9,x14,#32
462
+ adc x17,x11,xzr // can't overflow
463
+ subs x10,x14,x8 // "*0xffff0001"
464
+ sbc x11,x14,x9
465
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
466
+ adcs x15,x16,x9
467
+ lsl x8,x14,#32
468
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
469
+ lsr x9,x14,#32
470
+ adc x17,x11,xzr // can't overflow
471
+ subs x10,x14,x8 // "*0xffff0001"
472
+ sbc x11,x14,x9
473
+ adds x14,x15,x8 // +=acc[0]<<96 and omit acc[0]
474
+ adcs x15,x16,x9
475
+ adcs x16,x17,x10 // +=acc[0]*0xffff0001
476
+ adc x17,x11,xzr // can't overflow
477
+
478
+ adds x14,x14,x19 // accumulate upper half
479
+ adcs x15,x15,x20
480
+ adcs x16,x16,x1
481
+ adcs x17,x17,x2
482
+ adc x19,xzr,xzr
483
+
484
+ adds x8,x14,#1 // subs x8,x14,#-1 // tmp = ret-modulus
485
+ sbcs x9,x15,x12
486
+ sbcs x10,x16,xzr
487
+ sbcs x11,x17,x13
488
+ sbcs xzr,x19,xzr // did it borrow?
489
+
490
+ csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
491
+ csel x15,x15,x9,lo
492
+ csel x16,x16,x10,lo
493
+ stp x14,x15,[x0]
494
+ csel x17,x17,x11,lo
495
+ stp x16,x17,[x0,#16]
496
+
497
+ ret
498
+
499
+
500
+ // Note that __ecp_nistz256_add_to expects both input vectors pre-loaded to
501
+ // x4-x7 and x8-x11. This is done because it's used in multiple
502
+ // contexts, e.g. in multiplication by 2 and 3...
503
+ .def __ecp_nistz256_add_to
504
+ .type 32
505
+ .endef
506
+ .align 4
507
+ __ecp_nistz256_add_to:
508
+ adds x14,x14,x8 // ret = a+b
509
+ adcs x15,x15,x9
510
+ adcs x16,x16,x10
511
+ adcs x17,x17,x11
512
+ adc x1,xzr,xzr // zap x1
513
+
514
+ adds x8,x14,#1 // subs x8,x4,#-1 // tmp = ret-modulus
515
+ sbcs x9,x15,x12
516
+ sbcs x10,x16,xzr
517
+ sbcs x11,x17,x13
518
+ sbcs xzr,x1,xzr // did subtraction borrow?
519
+
520
+ csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
521
+ csel x15,x15,x9,lo
522
+ csel x16,x16,x10,lo
523
+ stp x14,x15,[x0]
524
+ csel x17,x17,x11,lo
525
+ stp x16,x17,[x0,#16]
526
+
527
+ ret
528
+
529
+
530
+ .def __ecp_nistz256_sub_from
531
+ .type 32
532
+ .endef
533
+ .align 4
534
+ __ecp_nistz256_sub_from:
535
+ ldp x8,x9,[x2]
536
+ ldp x10,x11,[x2,#16]
537
+ subs x14,x14,x8 // ret = a-b
538
+ sbcs x15,x15,x9
539
+ sbcs x16,x16,x10
540
+ sbcs x17,x17,x11
541
+ sbc x1,xzr,xzr // zap x1
542
+
543
+ subs x8,x14,#1 // adds x8,x4,#-1 // tmp = ret+modulus
544
+ adcs x9,x15,x12
545
+ adcs x10,x16,xzr
546
+ adc x11,x17,x13
547
+ cmp x1,xzr // did subtraction borrow?
548
+
549
+ csel x14,x14,x8,eq // ret = borrow ? ret+modulus : ret
550
+ csel x15,x15,x9,eq
551
+ csel x16,x16,x10,eq
552
+ stp x14,x15,[x0]
553
+ csel x17,x17,x11,eq
554
+ stp x16,x17,[x0,#16]
555
+
556
+ ret
557
+
558
+
559
+ .def __ecp_nistz256_sub_morf
560
+ .type 32
561
+ .endef
562
+ .align 4
563
+ __ecp_nistz256_sub_morf:
564
+ ldp x8,x9,[x2]
565
+ ldp x10,x11,[x2,#16]
566
+ subs x14,x8,x14 // ret = b-a
567
+ sbcs x15,x9,x15
568
+ sbcs x16,x10,x16
569
+ sbcs x17,x11,x17
570
+ sbc x1,xzr,xzr // zap x1
571
+
572
+ subs x8,x14,#1 // adds x8,x4,#-1 // tmp = ret+modulus
573
+ adcs x9,x15,x12
574
+ adcs x10,x16,xzr
575
+ adc x11,x17,x13
576
+ cmp x1,xzr // did subtraction borrow?
577
+
578
+ csel x14,x14,x8,eq // ret = borrow ? ret+modulus : ret
579
+ csel x15,x15,x9,eq
580
+ csel x16,x16,x10,eq
581
+ stp x14,x15,[x0]
582
+ csel x17,x17,x11,eq
583
+ stp x16,x17,[x0,#16]
584
+
585
+ ret
586
+
587
+
588
+ .def __ecp_nistz256_div_by_2
589
+ .type 32
590
+ .endef
591
+ .align 4
592
+ __ecp_nistz256_div_by_2:
593
+ subs x8,x14,#1 // adds x8,x4,#-1 // tmp = a+modulus
594
+ adcs x9,x15,x12
595
+ adcs x10,x16,xzr
596
+ adcs x11,x17,x13
597
+ adc x1,xzr,xzr // zap x1
598
+ tst x14,#1 // is a even?
599
+
600
+ csel x14,x14,x8,eq // ret = even ? a : a+modulus
601
+ csel x15,x15,x9,eq
602
+ csel x16,x16,x10,eq
603
+ csel x17,x17,x11,eq
604
+ csel x1,xzr,x1,eq
605
+
606
+ lsr x14,x14,#1 // ret >>= 1
607
+ orr x14,x14,x15,lsl#63
608
+ lsr x15,x15,#1
609
+ orr x15,x15,x16,lsl#63
610
+ lsr x16,x16,#1
611
+ orr x16,x16,x17,lsl#63
612
+ lsr x17,x17,#1
613
+ stp x14,x15,[x0]
614
+ orr x17,x17,x1,lsl#63
615
+ stp x16,x17,[x0,#16]
616
+
617
+ ret
618
+
619
+ .globl ecp_nistz256_point_double
620
+
621
+ .def ecp_nistz256_point_double
622
+ .type 32
623
+ .endef
624
+ .align 5
625
+ ecp_nistz256_point_double:
626
+ AARCH64_SIGN_LINK_REGISTER
627
+ stp x29,x30,[sp,#-96]!
628
+ add x29,sp,#0
629
+ stp x19,x20,[sp,#16]
630
+ stp x21,x22,[sp,#32]
631
+ sub sp,sp,#32*4
632
+
633
+ Ldouble_shortcut:
634
+ ldp x14,x15,[x1,#32]
635
+ mov x21,x0
636
+ ldp x16,x17,[x1,#48]
637
+ mov x22,x1
638
+ adrp x13,Lpoly
639
+ add x13,x13,:lo12:Lpoly
640
+ ldr x12,[x13,#8]
641
+ mov x8,x14
642
+ ldr x13,[x13,#24]
643
+ mov x9,x15
644
+ ldp x4,x5,[x22,#64] // forward load for p256_sqr_mont
645
+ mov x10,x16
646
+ mov x11,x17
647
+ ldp x6,x7,[x22,#64+16]
648
+ add x0,sp,#0
649
+ bl __ecp_nistz256_add_to // p256_mul_by_2(S, in_y);
650
+
651
+ add x0,sp,#64
652
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Zsqr, in_z);
653
+
654
+ ldp x8,x9,[x22]
655
+ ldp x10,x11,[x22,#16]
656
+ mov x4,x14 // put Zsqr aside for p256_sub
657
+ mov x5,x15
658
+ mov x6,x16
659
+ mov x7,x17
660
+ add x0,sp,#32
661
+ bl __ecp_nistz256_add_to // p256_add(M, Zsqr, in_x);
662
+
663
+ add x2,x22,#0
664
+ mov x14,x4 // restore Zsqr
665
+ mov x15,x5
666
+ ldp x4,x5,[sp,#0] // forward load for p256_sqr_mont
667
+ mov x16,x6
668
+ mov x17,x7
669
+ ldp x6,x7,[sp,#0+16]
670
+ add x0,sp,#64
671
+ bl __ecp_nistz256_sub_morf // p256_sub(Zsqr, in_x, Zsqr);
672
+
673
+ add x0,sp,#0
674
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(S, S);
675
+
676
+ ldr x3,[x22,#32]
677
+ ldp x4,x5,[x22,#64]
678
+ ldp x6,x7,[x22,#64+16]
679
+ add x2,x22,#32
680
+ add x0,sp,#96
681
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(tmp0, in_z, in_y);
682
+
683
+ mov x8,x14
684
+ mov x9,x15
685
+ ldp x4,x5,[sp,#0] // forward load for p256_sqr_mont
686
+ mov x10,x16
687
+ mov x11,x17
688
+ ldp x6,x7,[sp,#0+16]
689
+ add x0,x21,#64
690
+ bl __ecp_nistz256_add_to // p256_mul_by_2(res_z, tmp0);
691
+
692
+ add x0,sp,#96
693
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(tmp0, S);
694
+
695
+ ldr x3,[sp,#64] // forward load for p256_mul_mont
696
+ ldp x4,x5,[sp,#32]
697
+ ldp x6,x7,[sp,#32+16]
698
+ add x0,x21,#32
699
+ bl __ecp_nistz256_div_by_2 // p256_div_by_2(res_y, tmp0);
700
+
701
+ add x2,sp,#64
702
+ add x0,sp,#32
703
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(M, M, Zsqr);
704
+
705
+ mov x8,x14 // duplicate M
706
+ mov x9,x15
707
+ mov x10,x16
708
+ mov x11,x17
709
+ mov x4,x14 // put M aside
710
+ mov x5,x15
711
+ mov x6,x16
712
+ mov x7,x17
713
+ add x0,sp,#32
714
+ bl __ecp_nistz256_add_to
715
+ mov x8,x4 // restore M
716
+ mov x9,x5
717
+ ldr x3,[x22] // forward load for p256_mul_mont
718
+ mov x10,x6
719
+ ldp x4,x5,[sp,#0]
720
+ mov x11,x7
721
+ ldp x6,x7,[sp,#0+16]
722
+ bl __ecp_nistz256_add_to // p256_mul_by_3(M, M);
723
+
724
+ add x2,x22,#0
725
+ add x0,sp,#0
726
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S, S, in_x);
727
+
728
+ mov x8,x14
729
+ mov x9,x15
730
+ ldp x4,x5,[sp,#32] // forward load for p256_sqr_mont
731
+ mov x10,x16
732
+ mov x11,x17
733
+ ldp x6,x7,[sp,#32+16]
734
+ add x0,sp,#96
735
+ bl __ecp_nistz256_add_to // p256_mul_by_2(tmp0, S);
736
+
737
+ add x0,x21,#0
738
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(res_x, M);
739
+
740
+ add x2,sp,#96
741
+ bl __ecp_nistz256_sub_from // p256_sub(res_x, res_x, tmp0);
742
+
743
+ add x2,sp,#0
744
+ add x0,sp,#0
745
+ bl __ecp_nistz256_sub_morf // p256_sub(S, S, res_x);
746
+
747
+ ldr x3,[sp,#32]
748
+ mov x4,x14 // copy S
749
+ mov x5,x15
750
+ mov x6,x16
751
+ mov x7,x17
752
+ add x2,sp,#32
753
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S, S, M);
754
+
755
+ add x2,x21,#32
756
+ add x0,x21,#32
757
+ bl __ecp_nistz256_sub_from // p256_sub(res_y, S, res_y);
758
+
759
+ add sp,x29,#0 // destroy frame
760
+ ldp x19,x20,[x29,#16]
761
+ ldp x21,x22,[x29,#32]
762
+ ldp x29,x30,[sp],#96
763
+ AARCH64_VALIDATE_LINK_REGISTER
764
+ ret
765
+
766
+ .globl ecp_nistz256_point_add
767
+
768
+ .def ecp_nistz256_point_add
769
+ .type 32
770
+ .endef
771
+ .align 5
772
+ ecp_nistz256_point_add:
773
+ AARCH64_SIGN_LINK_REGISTER
774
+ stp x29,x30,[sp,#-96]!
775
+ add x29,sp,#0
776
+ stp x19,x20,[sp,#16]
777
+ stp x21,x22,[sp,#32]
778
+ stp x23,x24,[sp,#48]
779
+ stp x25,x26,[sp,#64]
780
+ stp x27,x28,[sp,#80]
781
+ sub sp,sp,#32*12
782
+
783
+ ldp x4,x5,[x2,#64] // in2_z
784
+ ldp x6,x7,[x2,#64+16]
785
+ mov x21,x0
786
+ mov x22,x1
787
+ mov x23,x2
788
+ adrp x13,Lpoly
789
+ add x13,x13,:lo12:Lpoly
790
+ ldr x12,[x13,#8]
791
+ ldr x13,[x13,#24]
792
+ orr x8,x4,x5
793
+ orr x10,x6,x7
794
+ orr x25,x8,x10
795
+ cmp x25,#0
796
+ csetm x25,ne // ~in2infty
797
+ add x0,sp,#192
798
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z2sqr, in2_z);
799
+
800
+ ldp x4,x5,[x22,#64] // in1_z
801
+ ldp x6,x7,[x22,#64+16]
802
+ orr x8,x4,x5
803
+ orr x10,x6,x7
804
+ orr x24,x8,x10
805
+ cmp x24,#0
806
+ csetm x24,ne // ~in1infty
807
+ add x0,sp,#128
808
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z);
809
+
810
+ ldr x3,[x23,#64]
811
+ ldp x4,x5,[sp,#192]
812
+ ldp x6,x7,[sp,#192+16]
813
+ add x2,x23,#64
814
+ add x0,sp,#320
815
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S1, Z2sqr, in2_z);
816
+
817
+ ldr x3,[x22,#64]
818
+ ldp x4,x5,[sp,#128]
819
+ ldp x6,x7,[sp,#128+16]
820
+ add x2,x22,#64
821
+ add x0,sp,#352
822
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, Z1sqr, in1_z);
823
+
824
+ ldr x3,[x22,#32]
825
+ ldp x4,x5,[sp,#320]
826
+ ldp x6,x7,[sp,#320+16]
827
+ add x2,x22,#32
828
+ add x0,sp,#320
829
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S1, S1, in1_y);
830
+
831
+ ldr x3,[x23,#32]
832
+ ldp x4,x5,[sp,#352]
833
+ ldp x6,x7,[sp,#352+16]
834
+ add x2,x23,#32
835
+ add x0,sp,#352
836
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, S2, in2_y);
837
+
838
+ add x2,sp,#320
839
+ ldr x3,[sp,#192] // forward load for p256_mul_mont
840
+ ldp x4,x5,[x22]
841
+ ldp x6,x7,[x22,#16]
842
+ add x0,sp,#160
843
+ bl __ecp_nistz256_sub_from // p256_sub(R, S2, S1);
844
+
845
+ orr x14,x14,x15 // see if result is zero
846
+ orr x16,x16,x17
847
+ orr x26,x14,x16 // ~is_equal(S1,S2)
848
+
849
+ add x2,sp,#192
850
+ add x0,sp,#256
851
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(U1, in1_x, Z2sqr);
852
+
853
+ ldr x3,[sp,#128]
854
+ ldp x4,x5,[x23]
855
+ ldp x6,x7,[x23,#16]
856
+ add x2,sp,#128
857
+ add x0,sp,#288
858
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, in2_x, Z1sqr);
859
+
860
+ add x2,sp,#256
861
+ ldp x4,x5,[sp,#160] // forward load for p256_sqr_mont
862
+ ldp x6,x7,[sp,#160+16]
863
+ add x0,sp,#96
864
+ bl __ecp_nistz256_sub_from // p256_sub(H, U2, U1);
865
+
866
+ orr x14,x14,x15 // see if result is zero
867
+ orr x16,x16,x17
868
+ orr x14,x14,x16 // ~is_equal(U1,U2)
869
+
870
+ mvn x27,x24 // -1/0 -> 0/-1
871
+ mvn x28,x25 // -1/0 -> 0/-1
872
+ orr x14,x14,x27
873
+ orr x14,x14,x28
874
+ orr x14,x14,x26
875
+ cbnz x14,Ladd_proceed // if(~is_equal(U1,U2) | in1infty | in2infty | ~is_equal(S1,S2))
876
+
877
+ Ladd_double:
878
+ mov x1,x22
879
+ mov x0,x21
880
+ ldp x23,x24,[x29,#48]
881
+ ldp x25,x26,[x29,#64]
882
+ ldp x27,x28,[x29,#80]
883
+ add sp,sp,#256 // #256 is from #32*(12-4). difference in stack frames
884
+ b Ldouble_shortcut
885
+
886
+ .align 4
887
+ Ladd_proceed:
888
+ add x0,sp,#192
889
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Rsqr, R);
890
+
891
+ ldr x3,[x22,#64]
892
+ ldp x4,x5,[sp,#96]
893
+ ldp x6,x7,[sp,#96+16]
894
+ add x2,x22,#64
895
+ add x0,sp,#64
896
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(res_z, H, in1_z);
897
+
898
+ ldp x4,x5,[sp,#96]
899
+ ldp x6,x7,[sp,#96+16]
900
+ add x0,sp,#128
901
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Hsqr, H);
902
+
903
+ ldr x3,[x23,#64]
904
+ ldp x4,x5,[sp,#64]
905
+ ldp x6,x7,[sp,#64+16]
906
+ add x2,x23,#64
907
+ add x0,sp,#64
908
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(res_z, res_z, in2_z);
909
+
910
+ ldr x3,[sp,#96]
911
+ ldp x4,x5,[sp,#128]
912
+ ldp x6,x7,[sp,#128+16]
913
+ add x2,sp,#96
914
+ add x0,sp,#224
915
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(Hcub, Hsqr, H);
916
+
917
+ ldr x3,[sp,#128]
918
+ ldp x4,x5,[sp,#256]
919
+ ldp x6,x7,[sp,#256+16]
920
+ add x2,sp,#128
921
+ add x0,sp,#288
922
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, U1, Hsqr);
923
+
924
+ mov x8,x14
925
+ mov x9,x15
926
+ mov x10,x16
927
+ mov x11,x17
928
+ add x0,sp,#128
929
+ bl __ecp_nistz256_add_to // p256_mul_by_2(Hsqr, U2);
930
+
931
+ add x2,sp,#192
932
+ add x0,sp,#0
933
+ bl __ecp_nistz256_sub_morf // p256_sub(res_x, Rsqr, Hsqr);
934
+
935
+ add x2,sp,#224
936
+ bl __ecp_nistz256_sub_from // p256_sub(res_x, res_x, Hcub);
937
+
938
+ add x2,sp,#288
939
+ ldr x3,[sp,#224] // forward load for p256_mul_mont
940
+ ldp x4,x5,[sp,#320]
941
+ ldp x6,x7,[sp,#320+16]
942
+ add x0,sp,#32
943
+ bl __ecp_nistz256_sub_morf // p256_sub(res_y, U2, res_x);
944
+
945
+ add x2,sp,#224
946
+ add x0,sp,#352
947
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, S1, Hcub);
948
+
949
+ ldr x3,[sp,#160]
950
+ ldp x4,x5,[sp,#32]
951
+ ldp x6,x7,[sp,#32+16]
952
+ add x2,sp,#160
953
+ add x0,sp,#32
954
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(res_y, res_y, R);
955
+
956
+ add x2,sp,#352
957
+ bl __ecp_nistz256_sub_from // p256_sub(res_y, res_y, S2);
958
+
959
+ ldp x4,x5,[sp,#0] // res
960
+ ldp x6,x7,[sp,#0+16]
961
+ ldp x8,x9,[x23] // in2
962
+ ldp x10,x11,[x23,#16]
963
+ ldp x14,x15,[x22,#0] // in1
964
+ cmp x24,#0 // ~, remember?
965
+ ldp x16,x17,[x22,#0+16]
966
+ csel x8,x4,x8,ne
967
+ csel x9,x5,x9,ne
968
+ ldp x4,x5,[sp,#0+0+32] // res
969
+ csel x10,x6,x10,ne
970
+ csel x11,x7,x11,ne
971
+ cmp x25,#0 // ~, remember?
972
+ ldp x6,x7,[sp,#0+0+48]
973
+ csel x14,x8,x14,ne
974
+ csel x15,x9,x15,ne
975
+ ldp x8,x9,[x23,#0+32] // in2
976
+ csel x16,x10,x16,ne
977
+ csel x17,x11,x17,ne
978
+ ldp x10,x11,[x23,#0+48]
979
+ stp x14,x15,[x21,#0]
980
+ stp x16,x17,[x21,#0+16]
981
+ ldp x14,x15,[x22,#32] // in1
982
+ cmp x24,#0 // ~, remember?
983
+ ldp x16,x17,[x22,#32+16]
984
+ csel x8,x4,x8,ne
985
+ csel x9,x5,x9,ne
986
+ ldp x4,x5,[sp,#0+32+32] // res
987
+ csel x10,x6,x10,ne
988
+ csel x11,x7,x11,ne
989
+ cmp x25,#0 // ~, remember?
990
+ ldp x6,x7,[sp,#0+32+48]
991
+ csel x14,x8,x14,ne
992
+ csel x15,x9,x15,ne
993
+ ldp x8,x9,[x23,#32+32] // in2
994
+ csel x16,x10,x16,ne
995
+ csel x17,x11,x17,ne
996
+ ldp x10,x11,[x23,#32+48]
997
+ stp x14,x15,[x21,#32]
998
+ stp x16,x17,[x21,#32+16]
999
+ ldp x14,x15,[x22,#64] // in1
1000
+ cmp x24,#0 // ~, remember?
1001
+ ldp x16,x17,[x22,#64+16]
1002
+ csel x8,x4,x8,ne
1003
+ csel x9,x5,x9,ne
1004
+ csel x10,x6,x10,ne
1005
+ csel x11,x7,x11,ne
1006
+ cmp x25,#0 // ~, remember?
1007
+ csel x14,x8,x14,ne
1008
+ csel x15,x9,x15,ne
1009
+ csel x16,x10,x16,ne
1010
+ csel x17,x11,x17,ne
1011
+ stp x14,x15,[x21,#64]
1012
+ stp x16,x17,[x21,#64+16]
1013
+
1014
+ Ladd_done:
1015
+ add sp,x29,#0 // destroy frame
1016
+ ldp x19,x20,[x29,#16]
1017
+ ldp x21,x22,[x29,#32]
1018
+ ldp x23,x24,[x29,#48]
1019
+ ldp x25,x26,[x29,#64]
1020
+ ldp x27,x28,[x29,#80]
1021
+ ldp x29,x30,[sp],#96
1022
+ AARCH64_VALIDATE_LINK_REGISTER
1023
+ ret
1024
+
1025
+ .globl ecp_nistz256_point_add_affine
1026
+
1027
+ .def ecp_nistz256_point_add_affine
1028
+ .type 32
1029
+ .endef
1030
+ .align 5
1031
+ ecp_nistz256_point_add_affine:
1032
+ AARCH64_SIGN_LINK_REGISTER
1033
+ stp x29,x30,[sp,#-80]!
1034
+ add x29,sp,#0
1035
+ stp x19,x20,[sp,#16]
1036
+ stp x21,x22,[sp,#32]
1037
+ stp x23,x24,[sp,#48]
1038
+ stp x25,x26,[sp,#64]
1039
+ sub sp,sp,#32*10
1040
+
1041
+ mov x21,x0
1042
+ mov x22,x1
1043
+ mov x23,x2
1044
+ adrp x13,Lpoly
1045
+ add x13,x13,:lo12:Lpoly
1046
+ ldr x12,[x13,#8]
1047
+ ldr x13,[x13,#24]
1048
+
1049
+ ldp x4,x5,[x1,#64] // in1_z
1050
+ ldp x6,x7,[x1,#64+16]
1051
+ orr x8,x4,x5
1052
+ orr x10,x6,x7
1053
+ orr x24,x8,x10
1054
+ cmp x24,#0
1055
+ csetm x24,ne // ~in1infty
1056
+
1057
+ ldp x14,x15,[x2] // in2_x
1058
+ ldp x16,x17,[x2,#16]
1059
+ ldp x8,x9,[x2,#32] // in2_y
1060
+ ldp x10,x11,[x2,#48]
1061
+ orr x14,x14,x15
1062
+ orr x16,x16,x17
1063
+ orr x8,x8,x9
1064
+ orr x10,x10,x11
1065
+ orr x14,x14,x16
1066
+ orr x8,x8,x10
1067
+ orr x25,x14,x8
1068
+ cmp x25,#0
1069
+ csetm x25,ne // ~in2infty
1070
+
1071
+ add x0,sp,#128
1072
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Z1sqr, in1_z);
1073
+
1074
+ mov x4,x14
1075
+ mov x5,x15
1076
+ mov x6,x16
1077
+ mov x7,x17
1078
+ ldr x3,[x23]
1079
+ add x2,x23,#0
1080
+ add x0,sp,#96
1081
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, Z1sqr, in2_x);
1082
+
1083
+ add x2,x22,#0
1084
+ ldr x3,[x22,#64] // forward load for p256_mul_mont
1085
+ ldp x4,x5,[sp,#128]
1086
+ ldp x6,x7,[sp,#128+16]
1087
+ add x0,sp,#160
1088
+ bl __ecp_nistz256_sub_from // p256_sub(H, U2, in1_x);
1089
+
1090
+ add x2,x22,#64
1091
+ add x0,sp,#128
1092
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, Z1sqr, in1_z);
1093
+
1094
+ ldr x3,[x22,#64]
1095
+ ldp x4,x5,[sp,#160]
1096
+ ldp x6,x7,[sp,#160+16]
1097
+ add x2,x22,#64
1098
+ add x0,sp,#64
1099
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(res_z, H, in1_z);
1100
+
1101
+ ldr x3,[x23,#32]
1102
+ ldp x4,x5,[sp,#128]
1103
+ ldp x6,x7,[sp,#128+16]
1104
+ add x2,x23,#32
1105
+ add x0,sp,#128
1106
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, S2, in2_y);
1107
+
1108
+ add x2,x22,#32
1109
+ ldp x4,x5,[sp,#160] // forward load for p256_sqr_mont
1110
+ ldp x6,x7,[sp,#160+16]
1111
+ add x0,sp,#192
1112
+ bl __ecp_nistz256_sub_from // p256_sub(R, S2, in1_y);
1113
+
1114
+ add x0,sp,#224
1115
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Hsqr, H);
1116
+
1117
+ ldp x4,x5,[sp,#192]
1118
+ ldp x6,x7,[sp,#192+16]
1119
+ add x0,sp,#288
1120
+ bl __ecp_nistz256_sqr_mont // p256_sqr_mont(Rsqr, R);
1121
+
1122
+ ldr x3,[sp,#160]
1123
+ ldp x4,x5,[sp,#224]
1124
+ ldp x6,x7,[sp,#224+16]
1125
+ add x2,sp,#160
1126
+ add x0,sp,#256
1127
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(Hcub, Hsqr, H);
1128
+
1129
+ ldr x3,[x22]
1130
+ ldp x4,x5,[sp,#224]
1131
+ ldp x6,x7,[sp,#224+16]
1132
+ add x2,x22,#0
1133
+ add x0,sp,#96
1134
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(U2, in1_x, Hsqr);
1135
+
1136
+ mov x8,x14
1137
+ mov x9,x15
1138
+ mov x10,x16
1139
+ mov x11,x17
1140
+ add x0,sp,#224
1141
+ bl __ecp_nistz256_add_to // p256_mul_by_2(Hsqr, U2);
1142
+
1143
+ add x2,sp,#288
1144
+ add x0,sp,#0
1145
+ bl __ecp_nistz256_sub_morf // p256_sub(res_x, Rsqr, Hsqr);
1146
+
1147
+ add x2,sp,#256
1148
+ bl __ecp_nistz256_sub_from // p256_sub(res_x, res_x, Hcub);
1149
+
1150
+ add x2,sp,#96
1151
+ ldr x3,[x22,#32] // forward load for p256_mul_mont
1152
+ ldp x4,x5,[sp,#256]
1153
+ ldp x6,x7,[sp,#256+16]
1154
+ add x0,sp,#32
1155
+ bl __ecp_nistz256_sub_morf // p256_sub(res_y, U2, res_x);
1156
+
1157
+ add x2,x22,#32
1158
+ add x0,sp,#128
1159
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(S2, in1_y, Hcub);
1160
+
1161
+ ldr x3,[sp,#192]
1162
+ ldp x4,x5,[sp,#32]
1163
+ ldp x6,x7,[sp,#32+16]
1164
+ add x2,sp,#192
1165
+ add x0,sp,#32
1166
+ bl __ecp_nistz256_mul_mont // p256_mul_mont(res_y, res_y, R);
1167
+
1168
+ add x2,sp,#128
1169
+ bl __ecp_nistz256_sub_from // p256_sub(res_y, res_y, S2);
1170
+
1171
+ ldp x4,x5,[sp,#0] // res
1172
+ ldp x6,x7,[sp,#0+16]
1173
+ ldp x8,x9,[x23] // in2
1174
+ ldp x10,x11,[x23,#16]
1175
+ ldp x14,x15,[x22,#0] // in1
1176
+ cmp x24,#0 // ~, remember?
1177
+ ldp x16,x17,[x22,#0+16]
1178
+ csel x8,x4,x8,ne
1179
+ csel x9,x5,x9,ne
1180
+ ldp x4,x5,[sp,#0+0+32] // res
1181
+ csel x10,x6,x10,ne
1182
+ csel x11,x7,x11,ne
1183
+ cmp x25,#0 // ~, remember?
1184
+ ldp x6,x7,[sp,#0+0+48]
1185
+ csel x14,x8,x14,ne
1186
+ csel x15,x9,x15,ne
1187
+ ldp x8,x9,[x23,#0+32] // in2
1188
+ csel x16,x10,x16,ne
1189
+ csel x17,x11,x17,ne
1190
+ ldp x10,x11,[x23,#0+48]
1191
+ stp x14,x15,[x21,#0]
1192
+ stp x16,x17,[x21,#0+16]
1193
+ adrp x23,Lone_mont-64
1194
+ add x23,x23,:lo12:Lone_mont-64
1195
+ ldp x14,x15,[x22,#32] // in1
1196
+ cmp x24,#0 // ~, remember?
1197
+ ldp x16,x17,[x22,#32+16]
1198
+ csel x8,x4,x8,ne
1199
+ csel x9,x5,x9,ne
1200
+ ldp x4,x5,[sp,#0+32+32] // res
1201
+ csel x10,x6,x10,ne
1202
+ csel x11,x7,x11,ne
1203
+ cmp x25,#0 // ~, remember?
1204
+ ldp x6,x7,[sp,#0+32+48]
1205
+ csel x14,x8,x14,ne
1206
+ csel x15,x9,x15,ne
1207
+ ldp x8,x9,[x23,#32+32] // in2
1208
+ csel x16,x10,x16,ne
1209
+ csel x17,x11,x17,ne
1210
+ ldp x10,x11,[x23,#32+48]
1211
+ stp x14,x15,[x21,#32]
1212
+ stp x16,x17,[x21,#32+16]
1213
+ ldp x14,x15,[x22,#64] // in1
1214
+ cmp x24,#0 // ~, remember?
1215
+ ldp x16,x17,[x22,#64+16]
1216
+ csel x8,x4,x8,ne
1217
+ csel x9,x5,x9,ne
1218
+ csel x10,x6,x10,ne
1219
+ csel x11,x7,x11,ne
1220
+ cmp x25,#0 // ~, remember?
1221
+ csel x14,x8,x14,ne
1222
+ csel x15,x9,x15,ne
1223
+ csel x16,x10,x16,ne
1224
+ csel x17,x11,x17,ne
1225
+ stp x14,x15,[x21,#64]
1226
+ stp x16,x17,[x21,#64+16]
1227
+
1228
+ add sp,x29,#0 // destroy frame
1229
+ ldp x19,x20,[x29,#16]
1230
+ ldp x21,x22,[x29,#32]
1231
+ ldp x23,x24,[x29,#48]
1232
+ ldp x25,x26,[x29,#64]
1233
+ ldp x29,x30,[sp],#80
1234
+ AARCH64_VALIDATE_LINK_REGISTER
1235
+ ret
1236
+
1237
+ ////////////////////////////////////////////////////////////////////////
1238
+ // void ecp_nistz256_ord_mul_mont(uint64_t res[4], uint64_t a[4],
1239
+ // uint64_t b[4]);
1240
+ .globl ecp_nistz256_ord_mul_mont
1241
+
1242
+ .def ecp_nistz256_ord_mul_mont
1243
+ .type 32
1244
+ .endef
1245
+ .align 4
1246
+ ecp_nistz256_ord_mul_mont:
1247
+ AARCH64_VALID_CALL_TARGET
1248
+ // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
1249
+ stp x29,x30,[sp,#-64]!
1250
+ add x29,sp,#0
1251
+ stp x19,x20,[sp,#16]
1252
+ stp x21,x22,[sp,#32]
1253
+ stp x23,x24,[sp,#48]
1254
+
1255
+ adrp x23,Lord
1256
+ add x23,x23,:lo12:Lord
1257
+ ldr x3,[x2] // bp[0]
1258
+ ldp x4,x5,[x1]
1259
+ ldp x6,x7,[x1,#16]
1260
+
1261
+ ldp x12,x13,[x23,#0]
1262
+ ldp x21,x22,[x23,#16]
1263
+ ldr x23,[x23,#32]
1264
+
1265
+ mul x14,x4,x3 // a[0]*b[0]
1266
+ umulh x8,x4,x3
1267
+
1268
+ mul x15,x5,x3 // a[1]*b[0]
1269
+ umulh x9,x5,x3
1270
+
1271
+ mul x16,x6,x3 // a[2]*b[0]
1272
+ umulh x10,x6,x3
1273
+
1274
+ mul x17,x7,x3 // a[3]*b[0]
1275
+ umulh x19,x7,x3
1276
+
1277
+ mul x24,x14,x23
1278
+
1279
+ adds x15,x15,x8 // accumulate high parts of multiplication
1280
+ adcs x16,x16,x9
1281
+ adcs x17,x17,x10
1282
+ adc x19,x19,xzr
1283
+ mov x20,xzr
1284
+ ldr x3,[x2,#8*1] // b[i]
1285
+
1286
+ lsl x8,x24,#32
1287
+ subs x16,x16,x24
1288
+ lsr x9,x24,#32
1289
+ sbcs x17,x17,x8
1290
+ sbcs x19,x19,x9
1291
+ sbc x20,x20,xzr
1292
+
1293
+ subs xzr,x14,#1
1294
+ umulh x9,x12,x24
1295
+ mul x10,x13,x24
1296
+ umulh x11,x13,x24
1297
+
1298
+ adcs x10,x10,x9
1299
+ mul x8,x4,x3
1300
+ adc x11,x11,xzr
1301
+ mul x9,x5,x3
1302
+
1303
+ adds x14,x15,x10
1304
+ mul x10,x6,x3
1305
+ adcs x15,x16,x11
1306
+ mul x11,x7,x3
1307
+ adcs x16,x17,x24
1308
+ adcs x17,x19,x24
1309
+ adc x19,x20,xzr
1310
+
1311
+ adds x14,x14,x8 // accumulate low parts
1312
+ umulh x8,x4,x3
1313
+ adcs x15,x15,x9
1314
+ umulh x9,x5,x3
1315
+ adcs x16,x16,x10
1316
+ umulh x10,x6,x3
1317
+ adcs x17,x17,x11
1318
+ umulh x11,x7,x3
1319
+ adc x19,x19,xzr
1320
+ mul x24,x14,x23
1321
+ adds x15,x15,x8 // accumulate high parts
1322
+ adcs x16,x16,x9
1323
+ adcs x17,x17,x10
1324
+ adcs x19,x19,x11
1325
+ adc x20,xzr,xzr
1326
+ ldr x3,[x2,#8*2] // b[i]
1327
+
1328
+ lsl x8,x24,#32
1329
+ subs x16,x16,x24
1330
+ lsr x9,x24,#32
1331
+ sbcs x17,x17,x8
1332
+ sbcs x19,x19,x9
1333
+ sbc x20,x20,xzr
1334
+
1335
+ subs xzr,x14,#1
1336
+ umulh x9,x12,x24
1337
+ mul x10,x13,x24
1338
+ umulh x11,x13,x24
1339
+
1340
+ adcs x10,x10,x9
1341
+ mul x8,x4,x3
1342
+ adc x11,x11,xzr
1343
+ mul x9,x5,x3
1344
+
1345
+ adds x14,x15,x10
1346
+ mul x10,x6,x3
1347
+ adcs x15,x16,x11
1348
+ mul x11,x7,x3
1349
+ adcs x16,x17,x24
1350
+ adcs x17,x19,x24
1351
+ adc x19,x20,xzr
1352
+
1353
+ adds x14,x14,x8 // accumulate low parts
1354
+ umulh x8,x4,x3
1355
+ adcs x15,x15,x9
1356
+ umulh x9,x5,x3
1357
+ adcs x16,x16,x10
1358
+ umulh x10,x6,x3
1359
+ adcs x17,x17,x11
1360
+ umulh x11,x7,x3
1361
+ adc x19,x19,xzr
1362
+ mul x24,x14,x23
1363
+ adds x15,x15,x8 // accumulate high parts
1364
+ adcs x16,x16,x9
1365
+ adcs x17,x17,x10
1366
+ adcs x19,x19,x11
1367
+ adc x20,xzr,xzr
1368
+ ldr x3,[x2,#8*3] // b[i]
1369
+
1370
+ lsl x8,x24,#32
1371
+ subs x16,x16,x24
1372
+ lsr x9,x24,#32
1373
+ sbcs x17,x17,x8
1374
+ sbcs x19,x19,x9
1375
+ sbc x20,x20,xzr
1376
+
1377
+ subs xzr,x14,#1
1378
+ umulh x9,x12,x24
1379
+ mul x10,x13,x24
1380
+ umulh x11,x13,x24
1381
+
1382
+ adcs x10,x10,x9
1383
+ mul x8,x4,x3
1384
+ adc x11,x11,xzr
1385
+ mul x9,x5,x3
1386
+
1387
+ adds x14,x15,x10
1388
+ mul x10,x6,x3
1389
+ adcs x15,x16,x11
1390
+ mul x11,x7,x3
1391
+ adcs x16,x17,x24
1392
+ adcs x17,x19,x24
1393
+ adc x19,x20,xzr
1394
+
1395
+ adds x14,x14,x8 // accumulate low parts
1396
+ umulh x8,x4,x3
1397
+ adcs x15,x15,x9
1398
+ umulh x9,x5,x3
1399
+ adcs x16,x16,x10
1400
+ umulh x10,x6,x3
1401
+ adcs x17,x17,x11
1402
+ umulh x11,x7,x3
1403
+ adc x19,x19,xzr
1404
+ mul x24,x14,x23
1405
+ adds x15,x15,x8 // accumulate high parts
1406
+ adcs x16,x16,x9
1407
+ adcs x17,x17,x10
1408
+ adcs x19,x19,x11
1409
+ adc x20,xzr,xzr
1410
+ lsl x8,x24,#32 // last reduction
1411
+ subs x16,x16,x24
1412
+ lsr x9,x24,#32
1413
+ sbcs x17,x17,x8
1414
+ sbcs x19,x19,x9
1415
+ sbc x20,x20,xzr
1416
+
1417
+ subs xzr,x14,#1
1418
+ umulh x9,x12,x24
1419
+ mul x10,x13,x24
1420
+ umulh x11,x13,x24
1421
+
1422
+ adcs x10,x10,x9
1423
+ adc x11,x11,xzr
1424
+
1425
+ adds x14,x15,x10
1426
+ adcs x15,x16,x11
1427
+ adcs x16,x17,x24
1428
+ adcs x17,x19,x24
1429
+ adc x19,x20,xzr
1430
+
1431
+ subs x8,x14,x12 // ret -= modulus
1432
+ sbcs x9,x15,x13
1433
+ sbcs x10,x16,x21
1434
+ sbcs x11,x17,x22
1435
+ sbcs xzr,x19,xzr
1436
+
1437
+ csel x14,x14,x8,lo // ret = borrow ? ret : ret-modulus
1438
+ csel x15,x15,x9,lo
1439
+ csel x16,x16,x10,lo
1440
+ stp x14,x15,[x0]
1441
+ csel x17,x17,x11,lo
1442
+ stp x16,x17,[x0,#16]
1443
+
1444
+ ldp x19,x20,[sp,#16]
1445
+ ldp x21,x22,[sp,#32]
1446
+ ldp x23,x24,[sp,#48]
1447
+ ldr x29,[sp],#64
1448
+ ret
1449
+
1450
+
1451
+ ////////////////////////////////////////////////////////////////////////
1452
+ // void ecp_nistz256_ord_sqr_mont(uint64_t res[4], uint64_t a[4],
1453
+ // uint64_t rep);
1454
+ .globl ecp_nistz256_ord_sqr_mont
1455
+
1456
+ .def ecp_nistz256_ord_sqr_mont
1457
+ .type 32
1458
+ .endef
1459
+ .align 4
1460
+ ecp_nistz256_ord_sqr_mont:
1461
+ AARCH64_VALID_CALL_TARGET
1462
+ // Armv8.3-A PAuth: even though x30 is pushed to stack it is not popped later.
1463
+ stp x29,x30,[sp,#-64]!
1464
+ add x29,sp,#0
1465
+ stp x19,x20,[sp,#16]
1466
+ stp x21,x22,[sp,#32]
1467
+ stp x23,x24,[sp,#48]
1468
+
1469
+ adrp x23,Lord
1470
+ add x23,x23,:lo12:Lord
1471
+ ldp x4,x5,[x1]
1472
+ ldp x6,x7,[x1,#16]
1473
+
1474
+ ldp x12,x13,[x23,#0]
1475
+ ldp x21,x22,[x23,#16]
1476
+ ldr x23,[x23,#32]
1477
+ b Loop_ord_sqr
1478
+
1479
+ .align 4
1480
+ Loop_ord_sqr:
1481
+ sub x2,x2,#1
1482
+ ////////////////////////////////////////////////////////////////
1483
+ // | | | | | |a1*a0| |
1484
+ // | | | | |a2*a0| | |
1485
+ // | |a3*a2|a3*a0| | | |
1486
+ // | | | |a2*a1| | | |
1487
+ // | | |a3*a1| | | | |
1488
+ // *| | | | | | | | 2|
1489
+ // +|a3*a3|a2*a2|a1*a1|a0*a0|
1490
+ // |--+--+--+--+--+--+--+--|
1491
+ // |A7|A6|A5|A4|A3|A2|A1|A0|, where Ax is , i.e. follow
1492
+ //
1493
+ // "can't overflow" below mark carrying into high part of
1494
+ // multiplication result, which can't overflow, because it
1495
+ // can never be all ones.
1496
+
1497
+ mul x15,x5,x4 // a[1]*a[0]
1498
+ umulh x9,x5,x4
1499
+ mul x16,x6,x4 // a[2]*a[0]
1500
+ umulh x10,x6,x4
1501
+ mul x17,x7,x4 // a[3]*a[0]
1502
+ umulh x19,x7,x4
1503
+
1504
+ adds x16,x16,x9 // accumulate high parts of multiplication
1505
+ mul x8,x6,x5 // a[2]*a[1]
1506
+ umulh x9,x6,x5
1507
+ adcs x17,x17,x10
1508
+ mul x10,x7,x5 // a[3]*a[1]
1509
+ umulh x11,x7,x5
1510
+ adc x19,x19,xzr // can't overflow
1511
+
1512
+ mul x20,x7,x6 // a[3]*a[2]
1513
+ umulh x1,x7,x6
1514
+
1515
+ adds x9,x9,x10 // accumulate high parts of multiplication
1516
+ mul x14,x4,x4 // a[0]*a[0]
1517
+ adc x10,x11,xzr // can't overflow
1518
+
1519
+ adds x17,x17,x8 // accumulate low parts of multiplication
1520
+ umulh x4,x4,x4
1521
+ adcs x19,x19,x9
1522
+ mul x9,x5,x5 // a[1]*a[1]
1523
+ adcs x20,x20,x10
1524
+ umulh x5,x5,x5
1525
+ adc x1,x1,xzr // can't overflow
1526
+
1527
+ adds x15,x15,x15 // acc[1-6]*=2
1528
+ mul x10,x6,x6 // a[2]*a[2]
1529
+ adcs x16,x16,x16
1530
+ umulh x6,x6,x6
1531
+ adcs x17,x17,x17
1532
+ mul x11,x7,x7 // a[3]*a[3]
1533
+ adcs x19,x19,x19
1534
+ umulh x7,x7,x7
1535
+ adcs x20,x20,x20
1536
+ adcs x1,x1,x1
1537
+ adc x3,xzr,xzr
1538
+
1539
+ adds x15,x15,x4 // +a[i]*a[i]
1540
+ mul x24,x14,x23
1541
+ adcs x16,x16,x9
1542
+ adcs x17,x17,x5
1543
+ adcs x19,x19,x10
1544
+ adcs x20,x20,x6
1545
+ adcs x1,x1,x11
1546
+ adc x3,x3,x7
1547
+ subs xzr,x14,#1
1548
+ umulh x9,x12,x24
1549
+ mul x10,x13,x24
1550
+ umulh x11,x13,x24
1551
+
1552
+ adcs x10,x10,x9
1553
+ adc x11,x11,xzr
1554
+
1555
+ adds x14,x15,x10
1556
+ adcs x15,x16,x11
1557
+ adcs x16,x17,x24
1558
+ adc x17,xzr,x24 // can't overflow
1559
+ mul x11,x14,x23
1560
+ lsl x8,x24,#32
1561
+ subs x15,x15,x24
1562
+ lsr x9,x24,#32
1563
+ sbcs x16,x16,x8
1564
+ sbc x17,x17,x9 // can't borrow
1565
+ subs xzr,x14,#1
1566
+ umulh x9,x12,x11
1567
+ mul x10,x13,x11
1568
+ umulh x24,x13,x11
1569
+
1570
+ adcs x10,x10,x9
1571
+ adc x24,x24,xzr
1572
+
1573
+ adds x14,x15,x10
1574
+ adcs x15,x16,x24
1575
+ adcs x16,x17,x11
1576
+ adc x17,xzr,x11 // can't overflow
1577
+ mul x24,x14,x23
1578
+ lsl x8,x11,#32
1579
+ subs x15,x15,x11
1580
+ lsr x9,x11,#32
1581
+ sbcs x16,x16,x8
1582
+ sbc x17,x17,x9 // can't borrow
1583
+ subs xzr,x14,#1
1584
+ umulh x9,x12,x24
1585
+ mul x10,x13,x24
1586
+ umulh x11,x13,x24
1587
+
1588
+ adcs x10,x10,x9
1589
+ adc x11,x11,xzr
1590
+
1591
+ adds x14,x15,x10
1592
+ adcs x15,x16,x11
1593
+ adcs x16,x17,x24
1594
+ adc x17,xzr,x24 // can't overflow
1595
+ mul x11,x14,x23
1596
+ lsl x8,x24,#32
1597
+ subs x15,x15,x24
1598
+ lsr x9,x24,#32
1599
+ sbcs x16,x16,x8
1600
+ sbc x17,x17,x9 // can't borrow
1601
+ subs xzr,x14,#1
1602
+ umulh x9,x12,x11
1603
+ mul x10,x13,x11
1604
+ umulh x24,x13,x11
1605
+
1606
+ adcs x10,x10,x9
1607
+ adc x24,x24,xzr
1608
+
1609
+ adds x14,x15,x10
1610
+ adcs x15,x16,x24
1611
+ adcs x16,x17,x11
1612
+ adc x17,xzr,x11 // can't overflow
1613
+ lsl x8,x11,#32
1614
+ subs x15,x15,x11
1615
+ lsr x9,x11,#32
1616
+ sbcs x16,x16,x8
1617
+ sbc x17,x17,x9 // can't borrow
1618
+ adds x14,x14,x19 // accumulate upper half
1619
+ adcs x15,x15,x20
1620
+ adcs x16,x16,x1
1621
+ adcs x17,x17,x3
1622
+ adc x19,xzr,xzr
1623
+
1624
+ subs x8,x14,x12 // ret -= modulus
1625
+ sbcs x9,x15,x13
1626
+ sbcs x10,x16,x21
1627
+ sbcs x11,x17,x22
1628
+ sbcs xzr,x19,xzr
1629
+
1630
+ csel x4,x14,x8,lo // ret = borrow ? ret : ret-modulus
1631
+ csel x5,x15,x9,lo
1632
+ csel x6,x16,x10,lo
1633
+ csel x7,x17,x11,lo
1634
+
1635
+ cbnz x2,Loop_ord_sqr
1636
+
1637
+ stp x4,x5,[x0]
1638
+ stp x6,x7,[x0,#16]
1639
+
1640
+ ldp x19,x20,[sp,#16]
1641
+ ldp x21,x22,[sp,#32]
1642
+ ldp x23,x24,[sp,#48]
1643
+ ldr x29,[sp],#64
1644
+ ret
1645
+
1646
+ ////////////////////////////////////////////////////////////////////////
1647
+ // void ecp_nistz256_select_w5(uint64_t *val, uint64_t *in_t, int index);
1648
+ .globl ecp_nistz256_select_w5
1649
+
1650
+ .def ecp_nistz256_select_w5
1651
+ .type 32
1652
+ .endef
1653
+ .align 4
1654
+ ecp_nistz256_select_w5:
1655
+ AARCH64_VALID_CALL_TARGET
1656
+
1657
+ // x10 := x0
1658
+ // w9 := 0; loop counter and incremented internal index
1659
+ mov x10, x0
1660
+ mov w9, #0
1661
+
1662
+ // [v16-v21] := 0
1663
+ movi v16.16b, #0
1664
+ movi v17.16b, #0
1665
+ movi v18.16b, #0
1666
+ movi v19.16b, #0
1667
+ movi v20.16b, #0
1668
+ movi v21.16b, #0
1669
+
1670
+ Lselect_w5_loop:
1671
+ // Loop 16 times.
1672
+
1673
+ // Increment index (loop counter); tested at the end of the loop
1674
+ add w9, w9, #1
1675
+
1676
+ // [v22-v27] := Load a (3*256-bit = 6*128-bit) table entry starting at x1
1677
+ // and advance x1 to point to the next entry
1678
+ ld1 {v22.2d, v23.2d, v24.2d, v25.2d}, [x1],#64
1679
+
1680
+ // x11 := (w9 == w2)? All 1s : All 0s
1681
+ cmp w9, w2
1682
+ csetm x11, eq
1683
+
1684
+ // continue loading ...
1685
+ ld1 {v26.2d, v27.2d}, [x1],#32
1686
+
1687
+ // duplicate mask_64 into Mask (all 0s or all 1s)
1688
+ dup v3.2d, x11
1689
+
1690
+ // [v16-v19] := (Mask == all 1s)? [v22-v25] : [v16-v19]
1691
+ // i.e., values in output registers will remain the same if w9 != w2
1692
+ bit v16.16b, v22.16b, v3.16b
1693
+ bit v17.16b, v23.16b, v3.16b
1694
+
1695
+ bit v18.16b, v24.16b, v3.16b
1696
+ bit v19.16b, v25.16b, v3.16b
1697
+
1698
+ bit v20.16b, v26.16b, v3.16b
1699
+ bit v21.16b, v27.16b, v3.16b
1700
+
1701
+ // If bit #4 is not 0 (i.e. idx_ctr < 16) loop back
1702
+ tbz w9, #4, Lselect_w5_loop
1703
+
1704
+ // Write [v16-v21] to memory at the output pointer
1705
+ st1 {v16.2d, v17.2d, v18.2d, v19.2d}, [x10],#64
1706
+ st1 {v20.2d, v21.2d}, [x10]
1707
+
1708
+ ret
1709
+
1710
+
1711
+
1712
+ ////////////////////////////////////////////////////////////////////////
1713
+ // void ecp_nistz256_select_w7(uint64_t *val, uint64_t *in_t, int index);
1714
+ .globl ecp_nistz256_select_w7
1715
+
1716
+ .def ecp_nistz256_select_w7
1717
+ .type 32
1718
+ .endef
1719
+ .align 4
1720
+ ecp_nistz256_select_w7:
1721
+ AARCH64_VALID_CALL_TARGET
1722
+
1723
+ // w9 := 0; loop counter and incremented internal index
1724
+ mov w9, #0
1725
+
1726
+ // [v16-v21] := 0
1727
+ movi v16.16b, #0
1728
+ movi v17.16b, #0
1729
+ movi v18.16b, #0
1730
+ movi v19.16b, #0
1731
+
1732
+ Lselect_w7_loop:
1733
+ // Loop 64 times.
1734
+
1735
+ // Increment index (loop counter); tested at the end of the loop
1736
+ add w9, w9, #1
1737
+
1738
+ // [v22-v25] := Load a (2*256-bit = 4*128-bit) table entry starting at x1
1739
+ // and advance x1 to point to the next entry
1740
+ ld1 {v22.2d, v23.2d, v24.2d, v25.2d}, [x1],#64
1741
+
1742
+ // x11 := (w9 == w2)? All 1s : All 0s
1743
+ cmp w9, w2
1744
+ csetm x11, eq
1745
+
1746
+ // duplicate mask_64 into Mask (all 0s or all 1s)
1747
+ dup v3.2d, x11
1748
+
1749
+ // [v16-v19] := (Mask == all 1s)? [v22-v25] : [v16-v19]
1750
+ // i.e., values in output registers will remain the same if w9 != w2
1751
+ bit v16.16b, v22.16b, v3.16b
1752
+ bit v17.16b, v23.16b, v3.16b
1753
+
1754
+ bit v18.16b, v24.16b, v3.16b
1755
+ bit v19.16b, v25.16b, v3.16b
1756
+
1757
+ // If bit #6 is not 0 (i.e. idx_ctr < 64) loop back
1758
+ tbz w9, #6, Lselect_w7_loop
1759
+
1760
+ // Write [v16-v19] to memory at the output pointer
1761
+ st1 {v16.2d, v17.2d, v18.2d, v19.2d}, [x0]
1762
+
1763
+ ret
1764
+
1765
+ #endif // !OPENSSL_NO_ASM && defined(OPENSSL_AARCH64) && defined(_WIN32)