@@ -10,3 +10,548 @@ index 002276834b..52ebb7817d 100644
1010
1111 # elif defined(U3_OS_osx)
1212 # include <ctype.h>
13+diff --git a/pkg/noun/jets.c b/pkg/noun/jets.c
14+index 45e7e8144a..0003896370 100644
15+--- a/pkg/noun/jets.c
16++++ b/pkg/noun/jets.c
17+@@ -14,7 +14,7 @@
18+ #include "retrieve.h"
19+ #include "serial.h"
20+ #include "trace.h"
21+-#include "urcrypt.h"
22++#include "sha256.h"
23+ #include "vortex.h"
24+ #include "xtract.h"
25+
26+@@ -128,7 +128,7 @@ _cj_bash(u3_noun bat)
27+ //
28+ c3_y* fat_y = sab_u.buf_y;
29+ c3_y dig_y[32];
30+- urcrypt_shay(fat_y, met_w, dig_y);
31++ sha256_easy_hash(fat_y, met_w, dig_y);
32+
33+ pro = u3i_bytes(32, dig_y);
34+ u3h_put(u3R->jed.bas_p, bat, u3k(pro));
35+diff --git a/pkg/noun/jets/tree.c b/pkg/noun/jets/tree.c
36+index 9e920becda..e6e17261f3 100644
37+--- a/pkg/noun/jets/tree.c
38++++ b/pkg/noun/jets/tree.c
39+@@ -53,7 +53,6 @@ static c3_c* _140_hex_mimes_ha[] = {
40+ 0
41+ };
42+
43+- static u3j_harm _140_hex_aes_ecba_en_a[] = {{".2", u3wea_ecba_en}, {}};
44+ static c3_c* _140_hex_aes_ecba_en_ha[] = {
45+ "d7674ad72666a787580c52785c5d4d37ca462ba05e904efbeded5d1bd8b02b4b",
46+ 0
47+@@ -64,16 +63,12 @@ static c3_c* _140_hex_mimes_ha[] = {
48+ 0
49+ };
50+ static u3j_core _140_hex_aes_ecba_d[] =
51+- { { "en", 7, _140_hex_aes_ecba_en_a, 0, _140_hex_aes_ecba_en_ha },
52+- { "de", 7, _140_hex_aes_ecba_de_a, 0, _140_hex_aes_ecba_de_ha },
53+- {}
54++ {
55+ };
56+ static c3_c* _140_hex_aes_ecba_ha[] = {
57+ "693409d27b777f73ce92cebd38e9ebceebe1e9c27ad8c9de9afc091e31bd7d9f",
58+ 0
59+ };
60+-
61+- static u3j_harm _140_hex_aes_ecbb_en_a[] = {{".2", u3wea_ecbb_en}, {}};
62+ static c3_c* _140_hex_aes_ecbb_en_ha[] = {
63+ "2c0e3c8f4d741b37324563ecd0ab8fbf87721d1e017f1eeeaf8b6a60515c483b",
64+ 0
65+@@ -84,149 +79,119 @@ static c3_c* _140_hex_mimes_ha[] = {
66+ 0
67+ };
68+ static u3j_core _140_hex_aes_ecbb_d[] =
69+- { { "en", 7, _140_hex_aes_ecbb_en_a, 0, _140_hex_aes_ecbb_en_ha },
70+- { "de", 7, _140_hex_aes_ecbb_de_a, 0, _140_hex_aes_ecbb_de_ha },
71+- {}
72++ {
73+ };
74+ static c3_c* _140_hex_aes_ecbb_ha[] = {
75+ "7255c39f10e068007d0d64dd40e4f6e83492ed2e3222919440be0d28fd42a5e3",
76+ 0
77+ };
78+
79+- static u3j_harm _140_hex_aes_ecbc_en_a[] = {{".2", u3wea_ecbc_en}, {}};
80+ static c3_c* _140_hex_aes_ecbc_en_ha[] = {
81+ "f56450f2662082e27ba1aecd2fe04c66aa8641d6eb155f8d3707e242a1e1cf1c",
82+ 0
83+ };
84+- static u3j_harm _140_hex_aes_ecbc_de_a[] = {{".2", u3wea_ecbc_de}, {}};
85+ static c3_c* _140_hex_aes_ecbc_de_ha[] = {
86+ "28c8c44002799fbe94d4aa07922f2b74dbbf234c84684cd8c3187622b4be6a5f",
87+ 0
88+ };
89+ static u3j_core _140_hex_aes_ecbc_d[] =
90+- { { "en", 7, _140_hex_aes_ecbc_en_a, 0, _140_hex_aes_ecbc_en_ha },
91+- { "de", 7, _140_hex_aes_ecbc_de_a, 0, _140_hex_aes_ecbc_de_ha },
92+- {}
93++ {
94+ };
95+ static c3_c* _140_hex_aes_ecbc_ha[] = {
96+ "65da73b8de06a6660ca2d36be881b708362e1f8bc12c01290aed90fdb2977667",
97+ 0
98+ };
99+
100+- static u3j_harm _140_hex_aes_cbca_en_a[] = {{".2", u3wea_cbca_en}, {}};
101+ static c3_c* _140_hex_aes_cbca_en_ha[] = {
102+ "f85366d520b3179c5dabfb58ee1fa0554f5044f676340439db875841cd4058de",
103+ 0
104+ };
105+- static u3j_harm _140_hex_aes_cbca_de_a[] = {{".2", u3wea_cbca_de}, {}};
106+ static c3_c* _140_hex_aes_cbca_de_ha[] = {
107+ "8b876fbdb1849d8fbabba5e143aea0532a0e5dfff1c784d7ad15fd497ea376b1",
108+ 0
109+ };
110+ static u3j_core _140_hex_aes_cbca_d[] =
111+- { { "en", 7, _140_hex_aes_cbca_en_a, 0, _140_hex_aes_cbca_en_ha },
112+- { "de", 7, _140_hex_aes_cbca_de_a, 0, _140_hex_aes_cbca_de_ha },
113+- {}
114++ {
115+ };
116+ static c3_c* _140_hex_aes_cbca_ha[] = {
117+ "420d04c03b7816b656fe4e8d9fce04f7e6d51d3d274c6511e89cfdb43ebf107e",
118+ 0
119+ };
120+
121+- static u3j_harm _140_hex_aes_cbcb_en_a[] = {{".2", u3wea_cbcb_en}, {}};
122+ static c3_c* _140_hex_aes_cbcb_en_ha[] = {
123+ "6f961e0629c5efce47793e6a352220d355bb8fba6656c6941a68efb3ba10999d",
124+ 0
125+ };
126+- static u3j_harm _140_hex_aes_cbcb_de_a[] = {{".2", u3wea_cbcb_de}, {}};
127+ static c3_c* _140_hex_aes_cbcb_de_ha[] = {
128+ "7ee2f33f80612e91fda1fd84201266dea6cab596a4e23a535d1a14fb0763f1a3",
129+ 0
130+ };
131+ static u3j_core _140_hex_aes_cbcb_d[] =
132+- { { "en", 7, _140_hex_aes_cbcb_en_a, 0, _140_hex_aes_cbcb_en_ha },
133+- { "de", 7, _140_hex_aes_cbcb_de_a, 0, _140_hex_aes_cbcb_de_ha },
134+- {}
135++ {
136+ };
137+ static c3_c* _140_hex_aes_cbcb_ha[] = {
138+ "1b84daab497795f2afd7238a6a6090be68b78eb6051b0ffa076b2ed9fedeebe5",
139+ 0
140+ };
141+
142+- static u3j_harm _140_hex_aes_cbcc_en_a[] = {{".2", u3wea_cbcc_en}, {}};
143+ static c3_c* _140_hex_aes_cbcc_en_ha[] = {
144+ "b2578cf17a3095f48cc96cf7690dd7ab4f4e0b76b2578eadc1dce31a075f5b12",
145+ 0
146+ };
147+- static u3j_harm _140_hex_aes_cbcc_de_a[] = {{".2", u3wea_cbcc_de}, {}};
148+ static c3_c* _140_hex_aes_cbcc_de_ha[] = {
149+ "36586f89d702bedb8c2a01ea3614f61627e762488e373106cbb1b27c46e3493c",
150+ 0
151+ };
152+ static u3j_core _140_hex_aes_cbcc_d[] =
153+- { { "en", 7, _140_hex_aes_cbcc_en_a, 0, _140_hex_aes_cbcc_en_ha },
154+- { "de", 7, _140_hex_aes_cbcc_de_a, 0, _140_hex_aes_cbcc_de_ha },
155+- {}
156++ {
157+ };
158+ static c3_c* _140_hex_aes_cbcc_ha[] = {
159+ "3bab1a59c7673afeb659821d54754e8e5e281243e79624fdbe4d7f85cae192c5",
160+ 0
161+ };
162+
163+- static u3j_harm _140_hex_aes_siva_en_a[] = {{".2", u3wea_siva_en}, {}};
164+ static c3_c* _140_hex_aes_siva_en_ha[] = {
165+ "2a137039301788b8540ed81cbfafe450c9306348d02a6576f5c14f6d6f20ba81",
166+ 0
167+ };
168+- static u3j_harm _140_hex_aes_siva_de_a[] = {{".2", u3wea_siva_de}, {}};
169+ static c3_c* _140_hex_aes_siva_de_ha[] = {
170+ "d0130e9229e71c589429dd87843dc104bc4ee5b426400a547081d8c91a548eaa",
171+ 0
172+ };
173+ static u3j_core _140_hex_aes_siva_d[] =
174+- { { "en", 7, _140_hex_aes_siva_en_a, 0, _140_hex_aes_siva_en_ha },
175+- { "de", 7, _140_hex_aes_siva_de_a, 0, _140_hex_aes_siva_de_ha },
176+- {}
177++ {
178+ };
179+ static c3_c* _140_hex_aes_siva_ha[] = {
180+ "435c5c769d2522d71ab60332bb57440d69c6803d5ca9a5faae88c825cb55d72e",
181+ 0
182+ };
183+
184+- static u3j_harm _140_hex_aes_sivb_en_a[] = {{".2", u3wea_sivb_en}, {}};
185+ static c3_c* _140_hex_aes_sivb_en_ha[] = {
186+ "1638f56e8728f285e4175c7b514c5a4e1a24205acf33e105f0513cad7ae843cf",
187+ 0
188+ };
189+- static u3j_harm _140_hex_aes_sivb_de_a[] = {{".2", u3wea_sivb_de}, {}};
190+ static c3_c* _140_hex_aes_sivb_de_ha[] = {
191+ "64c9b199fffd6d31baf7457bf27d5a510121be45201b2ae5cc1d9565c0bdd0ff",
192+ 0
193+ };
194+ static u3j_core _140_hex_aes_sivb_d[] =
195+- { { "en", 7, _140_hex_aes_sivb_en_a, 0, _140_hex_aes_sivb_en_ha },
196+- { "de", 7, _140_hex_aes_sivb_de_a, 0, _140_hex_aes_sivb_de_ha },
197+- {}
198++ {
199+ };
200+ static c3_c* _140_hex_aes_sivb_ha[] = {
201+ "0683f3f9067c2a16f68805c778c404179dc5df9019bbbe0f8d680a99a69e61fc",
202+ 0
203+ };
204+
205+- static u3j_harm _140_hex_aes_sivc_en_a[] = {{".2", u3wea_sivc_en}, {}};
206+ static c3_c* _140_hex_aes_sivc_en_ha[] = {
207+ "d721486dea943efd52d9e6450f4f48dd191c89637a2f842d3ff6edfd3beecbb9",
208+ 0
209+ };
210+- static u3j_harm _140_hex_aes_sivc_de_a[] = {{".2", u3wea_sivc_de}, {}};
211+ static c3_c* _140_hex_aes_sivc_de_ha[] = {
212+ "3ded831b992ea100582229a4d1d9b5c80380128ae6b59b5bb36403ed13dc5d55",
213+ 0
214+ };
215+ static u3j_core _140_hex_aes_sivc_d[] =
216+- { { "en", 7, _140_hex_aes_sivc_en_a, 0, _140_hex_aes_sivc_en_ha },
217+- { "de", 7, _140_hex_aes_sivc_de_a, 0, _140_hex_aes_sivc_de_ha },
218+- {}
219++ {
220+ };
221+ static c3_c* _140_hex_aes_sivc_ha[] = {
222+ "23ef582f110d28aff82b0795305b02e5a718d667bcae97091c08bc26790e7176",
223+@@ -270,75 +235,37 @@ static c3_c* _140_hex_lune_ha[] = {
224+ 0
225+ };
226+
227+-static u3j_harm _140_hex_coed__ed_puck_a[] = {{".2", u3wee_puck}, {}};
228+-static c3_c* _140_hex_coed__ed_puck_ha[] = {
229+- "1bc694675842345c50b0e20a2193bb5bcbb42f163fc832431a3d1822a81e4c98",
230+- 0
231+-};
232+-static u3j_harm _140_hex_coed__ed_sign_a[] = {{".2", u3wee_sign}, {}};
233+-static c3_c* _140_hex_coed__ed_sign_ha[] = {
234+- "34ad749bf8443611cbf1f7de90a066318bd12be36f2f7f6f55281f6f7ed79754",
235+- 0
236+-};
237+-static u3j_harm _140_hex_coed__ed_veri_a[] = {{".2", u3wee_veri}, {}};
238+ static c3_c* _140_hex_coed__ed_veri_ha[] = {
239+ "047a7eeccb2e68aeeee631b6db86e11a5a3aa9e179660553eca6304327612dcf",
240+ 0
241+ };
242+-static u3j_harm _140_hex_coed__ed_shar_a[] = {{".2", u3wee_shar}, {}};
243+ static c3_c* _140_hex_coed__ed_shar_ha[] = {
244+ "52d3b0a2f51f2b0a9dd72bb33db38c73dc873029c365d871d0559a1472a80e72",
245+ 0
246+ };
247+
248+- static u3j_harm _140_hex_coed__ed_point_add_a[] =
249+- {{".2", u3wee_point_add}, {}};
250+-
251+- static u3j_harm _140_hex_coed__ed_scalarmult_a[] =
252+- {{".2", u3wee_scalarmult}, {}};
253+ static c3_c* _140_hex_coed__ed_scalarmult_ha[] = {
254+ "72e71cd3aa3af429cd65baa78632500c60edd1d4c82a39d3ba7f231ef97e6316",
255+ 0
256+ };
257+
258+- static u3j_harm _140_hex_coed__ed_scalarmult_base_a[] =
259+- {{".2", u3wee_scalarmult_base}, {}};
260+ static c3_c* _140_hex_coed__ed_scalarmult_base_ha[] = {
261+ "976fdb8251f9b767af689a0d2c41b88941921bf53777c1ceeb5297511021f9d8",
262+ 0
263+ };
264+
265+- static u3j_harm _140_hex_coed__ed_add_scalarmult_scalarmult_base_a[] =
266+- {{".2", u3wee_add_scalarmult_scalarmult_base}, {}};
267+ static c3_c* _140_hex_coed__ed_add_scalarmult_scalarmult_base_ha[] = {
268+ "11819071c24a2d7b36daea6e16c78b2e05f9ca3e857cf4815ffe652ce677a61a",
269+ 0
270+ };
271+
272+- static u3j_harm _140_hex_coed__ed_add_double_scalarmult_a[] =
273+- {{".2", u3wee_add_double_scalarmult}, {}};
274+ static c3_c* _140_hex_coed__ed_add_double_scalarmult_ha[] = {
275+ "0fab78a1e890e53cecade1c22b95813db77e066044e33417a0919695b6cde9ba",
276+ 0
277+ };
278+
279+ static u3j_core _140_hex_coed__ed_d[] =
280+- { { "sign", 7, _140_hex_coed__ed_sign_a, 0, _140_hex_coed__ed_sign_ha },
281+- { "puck", 7, _140_hex_coed__ed_puck_a, 0, _140_hex_coed__ed_puck_ha },
282+- { "veri", 7, _140_hex_coed__ed_veri_a, 0, _140_hex_coed__ed_veri_ha },
283+- { "shar", 7, _140_hex_coed__ed_shar_a, 0, _140_hex_coed__ed_shar_ha },
284+- { "point-add", 7, _140_hex_coed__ed_point_add_a, 0, 0 },
285+- { "scalarmult", 7, _140_hex_coed__ed_scalarmult_a, 0,
286+- _140_hex_coed__ed_scalarmult_ha },
287+- { "scalarmult-base", 7, _140_hex_coed__ed_scalarmult_base_a, 0,
288+- _140_hex_coed__ed_scalarmult_base_ha },
289+- { "add-scalarmult-scalarmult-base", 7,
290+- _140_hex_coed__ed_add_scalarmult_scalarmult_base_a, 0,
291+- _140_hex_coed__ed_add_scalarmult_scalarmult_base_ha },
292+- { "add-double-scalarmult", 7,
293+- _140_hex_coed__ed_add_double_scalarmult_a, 0,
294+- _140_hex_coed__ed_add_double_scalarmult_ha },
295+- {}
296++ {
297+ };
298+ static c3_c* _140_hex_coed__ed_ha[] = {
299+ "7a44a962aa72933588b5c99a8b68ebac21ce3c4710c081cb66b3599b45af9ced",
300+@@ -368,66 +295,30 @@ static c3_c* _140_hex_hmac_ha[] = {
301+ 0
302+ };
303+
304+- static u3j_harm _140_hex_argon2_a[] = {{".2", u3we_argon2}, {}};
305+ static c3_c* _140_hex_argon2_ha[] = {
306+ "4df7cec141ffa2cc76b058846474ca42cc9840666ee3e7e80e565803e83ea98b",
307+ 0
308+ };
309+ static u3j_core _140_hex_argon_d[] =
310+- { { "argon2", 511, _140_hex_argon2_a, 0, _140_hex_argon2_ha },
311+- {}
312++ {
313+ };
314+ static c3_c* _140_hex_argon_ha[] = {
315+ "dc704c786192ecd09d4c206a8f28db3202b6e0eb03e3ce63a95987510ac312d6",
316+ 0
317+ };
318+
319+- static u3j_harm _140_hex_scr_pbk_a[] = {{".2", u3wes_pbk, c3y}, {}};
320+- static c3_c* _140_hex_scr_pbk_ha[] = { 0 };
321+- static u3j_harm _140_hex_scr_pbl_a[] = {{".2", u3wes_pbl, c3y}, {}};
322+- static c3_c* _140_hex_scr_pbl_ha[] = { 0 };
323+- static u3j_harm _140_hex_scr_hsh_a[] = {{".2", u3wes_hsh, c3y}, {}};
324+- static c3_c* _140_hex_scr_hsh_ha[] = { 0 };
325+- static u3j_harm _140_hex_scr_hsl_a[] = {{".2", u3wes_hsl, c3y}, {}};
326+- static c3_c* _140_hex_scr_hsl_ha[] = { 0 };
327+ static u3j_core _140_hex_scr_d[] =
328+- { { "pbk", 7, _140_hex_scr_pbk_a, 0, _140_hex_scr_pbk_ha },
329+- { "pbl", 7, _140_hex_scr_pbl_a, 0, _140_hex_scr_pbl_ha },
330+- { "hsh", 7, _140_hex_scr_hsh_a, 0, _140_hex_scr_hsh_ha },
331+- { "hsl", 7, _140_hex_scr_hsl_a, 0, _140_hex_scr_hsl_ha },
332+- {}
333++ {
334+ };
335+ static c3_c* _140_hex_scr_ha[] = { 0 };
336+
337+- static u3j_harm _140_hex_secp_secp256k1_make_a[] = {{".2", u3we_make, c3y}, {}};
338+- static c3_c* _140_hex_secp_secp256k1_make_ha[] = { 0 };
339+- static u3j_harm _140_hex_secp_secp256k1_sign_a[] = {{".2", u3we_sign, c3y}, {}};
340+- static c3_c* _140_hex_secp_secp256k1_sign_ha[] = { 0 };
341+- static u3j_harm _140_hex_secp_secp256k1_reco_a[] = {{".2", u3we_reco, c3y}, {}};
342+- static c3_c* _140_hex_secp_secp256k1_reco_ha[] = { 0 };
343+-
344+- static u3j_harm _140_hex_secp_secp256k1_schnorr_sosi_a[] =
345+- {{".2", u3we_sosi}, {}};
346+- static c3_c* _140_hex_secp_secp256k1_schnorr_sosi_ha[] = { 0 };
347+- static u3j_harm _140_hex_secp_secp256k1_schnorr_sove_a[] =
348+- {{".2", u3we_sove}, {}};
349+- static c3_c* _140_hex_secp_secp256k1_schnorr_sove_ha[] = { 0 };
350+ static u3j_core _140_hex_secp_secp256k1_schnorr_d[] =
351+- { { "sosi", 7,
352+- _140_hex_secp_secp256k1_schnorr_sosi_a, 0,
353+- _140_hex_secp_secp256k1_schnorr_sosi_ha },
354+- { "sove", 7,
355+- _140_hex_secp_secp256k1_schnorr_sove_a, 0,
356+- _140_hex_secp_secp256k1_schnorr_sove_ha },
357+- {}
358++ {
359+ };
360+ static c3_c* _140_hex_secp_secp256k1_schnorr_ha[] = { 0 };
361+
362+ static u3j_core _140_hex_secp_secp256k1_d[] =
363+- { { "make", 7, _140_hex_secp_secp256k1_make_a, 0, _140_hex_secp_secp256k1_make_ha },
364+- { "sign", 7, _140_hex_secp_secp256k1_sign_a, 0, _140_hex_secp_secp256k1_sign_ha },
365+- { "reco", 7, _140_hex_secp_secp256k1_reco_a, 0, _140_hex_secp_secp256k1_reco_ha },
366+- { "schnorr", 7, 0,
367++ { { "schnorr", 7, 0,
368+ _140_hex_secp_secp256k1_schnorr_d,
369+ _140_hex_secp_secp256k1_schnorr_ha },
370+ {}
371+@@ -445,44 +336,28 @@ static c3_c* _140_hex_secp_ha[] = {
372+ 0
373+ };
374+
375+- static u3j_harm _140_hex_blake2b_a[] = {{".2", u3we_blake, c3y}, {}};
376+ static c3_c* _140_hex_blake2b_ha[] = {
377+ "c432216ca53b5ad2284259167952761bb1046e280268c4d3b9ca70a2024e1934",
378+ 0
379+ };
380+ static u3j_core _140_hex_blake_d[] =
381+- { { "blake2b", 7, _140_hex_blake2b_a, 0, _140_hex_blake2b_ha },
382+- {}
383++ {
384+ };
385+ static c3_c* _140_hex_blake_ha[] = {
386+ "ff30d99ffb3e13d8aa50b2b8461c8edfabf0e76de22312d16d1d6daaf3636b5f",
387+ 0
388+ };
389+
390+- static u3j_harm _140_hex_kecc_k224_a[] =
391+- {{".2", u3we_kecc224, c3y, c3y, c3y}, {}};
392+- static u3j_harm _140_hex_kecc_k256_a[] =
393+- {{".2", u3we_kecc256, c3y, c3y, c3y}, {}};
394+- static u3j_harm _140_hex_kecc_k384_a[] =
395+- {{".2", u3we_kecc384, c3y, c3y, c3y}, {}};
396+- static u3j_harm _140_hex_kecc_k512_a[] =
397+- {{".2", u3we_kecc512, c3y, c3y, c3y}, {}};
398+ static u3j_core _140_hex_kecc_d[] =
399+- { { "k224", 7, _140_hex_kecc_k224_a, 0, no_hashes },
400+- { "k256", 7, _140_hex_kecc_k256_a, 0, no_hashes },
401+- { "k384", 7, _140_hex_kecc_k384_a, 0, no_hashes },
402+- { "k512", 7, _140_hex_kecc_k512_a, 0, no_hashes },
403+- {}
404++ {
405+ };
406+
407+- static u3j_harm _140_hex_ripemd_160_a[] = {{".2", u3we_ripe, c3y}, {}};
408+ static c3_c* _140_hex_ripemd_160_ha[] = {
409+ "176684b29926a01f5c60fa584e4691b0cbdc9b93608dcbe7d0cf3585683fa42f",
410+ 0
411+ };
412+ static u3j_core _140_hex_ripe_d[] =
413+- { { "ripemd160", 7, _140_hex_ripemd_160_a, 0, _140_hex_ripemd_160_ha },
414+- {}
415++ {
416+ };
417+ static c3_c* _140_hex_ripe_ha[] = {
418+ "b0cb16bf206c0496bb480e5759ea1afa7dee1748b64e5243c23fddb09720ebd0",
419+@@ -1369,55 +1244,30 @@ static c3_c* _140_tri__rh_ha[] = {
420+ 0
421+ };
422+
423+- static u3j_harm _140_tri__og_raw_a[] = {{".2", u3weo_raw}, {}};
424+ static c3_c* _140_tri__og_raw_ha[] = {
425+ "bbcbefc237dbebf6c141ba14fd9e0464a836127fd123d10da5f121e82d49ebdb",
426+ 0
427+ };
428+ static u3j_core _140_tri__og_d[] =
429+- { { "raw", 7, _140_tri__og_raw_a, 0, _140_tri__og_raw_ha },
430+- {}
431++ {
432+ };
433+ static c3_c* _140_tri__og_ha[] = {
434+ "74b9ae67eeabbffcff969ac7fdc7f4f0f4f67af64931e969bcac50d084e15fc0",
435+ 0
436+ };
437+
438+- static u3j_harm _140_tri__sha_sha1_a[] = {{".2", u3we_sha1}, {}};
439+ static c3_c* _140_tri__sha_sha1_ha[] = {
440+ "75aababa0688619d9df36238269119302a64ad2e3c69c53bd0057fe6b1abaf0c",
441+ 0
442+ };
443+ static u3j_core _140_tri__sha_d[] =
444+- { { "sha1", 7, _140_tri__sha_sha1_a, 0, _140_tri__sha_sha1_ha },
445+- {}
446++ {
447+ };
448+ static c3_c* _140_tri__sha_ha[] = {
449+ "3c22d2f8719cb626e8dfe1a4206bcbc14b678c1422c48322054b40f84416d557",
450+ 0
451+ };
452+
453+-static u3j_harm _140_tri_shax_a[] = {{".2", u3we_shax}, {}};
454+-static c3_c* _140_tri_shax_ha[] = {
455+- "0fc53de3ddc8b8f84a46136f1728fa3ed66a5113888d14907589d16bf5927ad8",
456+- 0
457+-};
458+-static u3j_harm _140_tri_shay_a[] = {{".2", u3we_shay}, {}};
459+-static c3_c* _140_tri_shay_ha[] = {
460+- "b6dbc72e15c2204f83f902619b7a60328f29c9d302ddb35c435111dea28c5470",
461+- 0
462+-};
463+-static u3j_harm _140_tri_shas_a[] = {{".2", u3we_shas}, {}};
464+-static c3_c* _140_tri_shas_ha[] = {
465+- "5230583767b7625b3496248ed03b6b94c1d4ee9b26342f9390bf999ec9b6cfdb",
466+- 0
467+-};
468+-static u3j_harm _140_tri_shal_a[] = {{".2", u3we_shal}, {}};
469+-static c3_c* _140_tri_shal_ha[] = {
470+- "3242912e29e3e1ed8d1a395cc860a82d78961b4278ed79bbdeb37cb5615bbf20",
471+- 0
472+-};
473+-
474+ static u3j_harm _140_ob_fein_a[] = {{".2", u3we_fein_ob}, {}};
475+ static c3_c* _140_ob_fein_ha[] = {
476+ 0
477+@@ -1452,10 +1302,6 @@ static u3j_core _140_tri_d[] =
478+ { "og", 7, 0, _140_tri__og_d, _140_tri__og_ha },
479+
480+ { "sha", 7, 0, _140_tri__sha_d, _140_tri__sha_ha },
481+- { "shax", 7, _140_tri_shax_a, 0, _140_tri_shax_ha },
482+- { "shay", 7, _140_tri_shay_a, 0, _140_tri_shay_ha },
483+- { "shas", 7, _140_tri_shas_a, 0, _140_tri_shas_ha },
484+- { "shal", 7, _140_tri_shal_a, 0, _140_tri_shal_ha },
485+
486+ { "ob", 3, 0, _140_ob_d, _140_ob_ha, _140_ob_ho },
487+ {}
488+@@ -2210,10 +2056,6 @@ static u3j_core _139_tri_d[] =
489+ { "og", 7, 0, _140_tri__og_d, no_hashes },
490+
491+ { "sha", 7, 0, _140_tri__sha_d, no_hashes },
492+- { "shax", 7, _140_tri_shax_a, 0, no_hashes },
493+- { "shay", 7, _140_tri_shay_a, 0, no_hashes },
494+- { "shas", 7, _140_tri_shas_a, 0, no_hashes },
495+- { "shal", 7, _140_tri_shal_a, 0, no_hashes },
496+
497+ { "ob", 3, 0, _140_ob_d, no_hashes, _140_ob_ho },
498+ {}
499+@@ -2390,10 +2232,6 @@ static u3j_core _138_tri_d[] =
500+ { "og", 7, 0, _140_tri__og_d, no_hashes },
501+
502+ { "sha", 7, 0, _140_tri__sha_d, no_hashes },
503+- { "shax", 7, _140_tri_shax_a, 0, no_hashes },
504+- { "shay", 7, _140_tri_shay_a, 0, no_hashes },
505+- { "shas", 7, _140_tri_shas_a, 0, no_hashes },
506+- { "shal", 7, _140_tri_shal_a, 0, no_hashes },
507+
508+ { "ob", 3, 0, _140_ob_d, no_hashes, _140_ob_ho },
509+ {}
510+diff --git a/pkg/noun/manage.c b/pkg/noun/manage.c
511+index d880a42032..55c6b9d6c2 100644
512+--- a/pkg/noun/manage.c
513++++ b/pkg/noun/manage.c
514+@@ -17,12 +17,10 @@
515+ #include "jets/k.h"
516+ #include "log.h"
517+ #include "nock.h"
518+-#include "openssl/crypto.h"
519+ #include "options.h"
520+ #include "platform/rsignal.h"
521+ #include "retrieve.h"
522+ #include "trace.h"
523+-#include "urcrypt.h"
524+ #include "vortex.h"
525+ #include "xtract.h"
526+
527+@@ -1992,22 +1990,6 @@ _cm_free_ssl(void* tox_v
528+
529+ extern void u3je_secp_init(void);
530+
531+-/* _cm_crypto(): initialize openssl and crypto jets.
532+-*/
533+-static void
534+-_cm_crypto()
535+-{
536+- /* Initialize OpenSSL with loom allocation functions. */
537+- if ( 0 == CRYPTO_set_mem_functions(&_cm_malloc_ssl,
538+- &_cm_realloc_ssl,
539+- &_cm_free_ssl) ) {
540+- u3l_log("%s", "openssl initialization failed");
541+- abort();
542+- }
543+-
544+- u3je_secp_init();
545+-}
546+-
547+ /* _cm_realloc2(): gmp-shaped realloc.
548+ */
549+ static void*
550+@@ -2031,7 +2013,6 @@ u3m_init(size_t len_i)
551+ {
552+ _cm_limits();
553+ _cm_signals();
554+- _cm_crypto();
555+
556+ // make sure GMP uses our malloc.
557+ //