xref: /freebsd/crypto/krb5/src/plugins/preauth/spake/edwards25519_tables.h (revision 7f2fe78b9dd5f51c821d771b63d2e096f6fd49e9)
1 /* -*- mode: c; c-basic-offset: 2; indent-tabs-mode: nil -*- */
2 /*
3  * The MIT License (MIT)
4  *
5  * Copyright (c) 2015-2016 the fiat-crypto authors (see the AUTHORS file).
6  *
7  * Permission is hereby granted, free of charge, to any person obtaining a copy
8  * of this software and associated documentation files (the "Software"), to deal
9  * in the Software without restriction, including without limitation the rights
10  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
11  * copies of the Software, and to permit persons to whom the Software is
12  * furnished to do so, subject to the following conditions:
13  *
14  * The above copyright notice and this permission notice shall be included in
15  * all copies or substantial portions of the Software.
16  *
17  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
18  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
19  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
20  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
21  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
22  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
23  * SOFTWARE.
24  */
25 
26 /* From BoringSSL third-party/fiat/curve25519_tables.h */
27 
28 static const fe d = {{
29 #if defined(BORINGSSL_CURVE25519_64BIT)
30     929955233495203, 466365720129213, 1662059464998953, 2033849074728123,
31     1442794654840575
32 #else
33     56195235, 13857412, 51736253, 6949390, 114729, 24766616, 60832955, 30306712,
34     48412415, 21499315
35 #endif
36 }};
37 
38 static const fe sqrtm1 = {{
39 #if defined(BORINGSSL_CURVE25519_64BIT)
40     1718705420411056, 234908883556509, 2233514472574048, 2117202627021982,
41     765476049583133
42 #else
43     34513072, 25610706, 9377949, 3500415, 12389472, 33281959, 41962654,
44     31548777, 326685, 11406482
45 #endif
46 }};
47 
48 static const fe d2 = {{
49 #if defined(BORINGSSL_CURVE25519_64BIT)
50     1859910466990425, 932731440258426, 1072319116312658, 1815898335770999,
51     633789495995903
52 #else
53     45281625, 27714825, 36363642, 13898781, 229458, 15978800, 54557047,
54     27058993, 29715967, 9444199
55 #endif
56 }};
57 
58 #if defined(CONFIG_SMALL)
59 
60 // This block of code replaces the standard base-point table with a much smaller
61 // one. The standard table is 30,720 bytes while this one is just 960.
62 //
63 // This table contains 15 pairs of group elements, (x, y), where each field
64 // element is serialised with |fe_tobytes|. If |i| is the index of the group
65 // element then consider i+1 as a four-bit number: (i₀, i₁, i₂, i₃) (where i₀
66 // is the most significant bit). The value of the group element is then:
67 // (i₀×2^192 + i₁×2^128 + i₂×2^64 + i₃)G, where G is the generator.
68 static const uint8_t k25519SmallPrecomp[15 * 2 * 32] = {
69     0x1a, 0xd5, 0x25, 0x8f, 0x60, 0x2d, 0x56, 0xc9, 0xb2, 0xa7, 0x25, 0x95,
70     0x60, 0xc7, 0x2c, 0x69, 0x5c, 0xdc, 0xd6, 0xfd, 0x31, 0xe2, 0xa4, 0xc0,
71     0xfe, 0x53, 0x6e, 0xcd, 0xd3, 0x36, 0x69, 0x21, 0x58, 0x66, 0x66, 0x66,
72     0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
73     0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66,
74     0x66, 0x66, 0x66, 0x66, 0x02, 0xa2, 0xed, 0xf4, 0x8f, 0x6b, 0x0b, 0x3e,
75     0xeb, 0x35, 0x1a, 0xd5, 0x7e, 0xdb, 0x78, 0x00, 0x96, 0x8a, 0xa0, 0xb4,
76     0xcf, 0x60, 0x4b, 0xd4, 0xd5, 0xf9, 0x2d, 0xbf, 0x88, 0xbd, 0x22, 0x62,
77     0x13, 0x53, 0xe4, 0x82, 0x57, 0xfa, 0x1e, 0x8f, 0x06, 0x2b, 0x90, 0xba,
78     0x08, 0xb6, 0x10, 0x54, 0x4f, 0x7c, 0x1b, 0x26, 0xed, 0xda, 0x6b, 0xdd,
79     0x25, 0xd0, 0x4e, 0xea, 0x42, 0xbb, 0x25, 0x03, 0xa2, 0xfb, 0xcc, 0x61,
80     0x67, 0x06, 0x70, 0x1a, 0xc4, 0x78, 0x3a, 0xff, 0x32, 0x62, 0xdd, 0x2c,
81     0xab, 0x50, 0x19, 0x3b, 0xf2, 0x9b, 0x7d, 0xb8, 0xfd, 0x4f, 0x29, 0x9c,
82     0xa7, 0x91, 0xba, 0x0e, 0x46, 0x5e, 0x51, 0xfe, 0x1d, 0xbf, 0xe5, 0xe5,
83     0x9b, 0x95, 0x0d, 0x67, 0xf8, 0xd1, 0xb5, 0x5a, 0xa1, 0x93, 0x2c, 0xc3,
84     0xde, 0x0e, 0x97, 0x85, 0x2d, 0x7f, 0xea, 0xab, 0x3e, 0x47, 0x30, 0x18,
85     0x24, 0xe8, 0xb7, 0x60, 0xae, 0x47, 0x80, 0xfc, 0xe5, 0x23, 0xe7, 0xc2,
86     0xc9, 0x85, 0xe6, 0x98, 0xa0, 0x29, 0x4e, 0xe1, 0x84, 0x39, 0x2d, 0x95,
87     0x2c, 0xf3, 0x45, 0x3c, 0xff, 0xaf, 0x27, 0x4c, 0x6b, 0xa6, 0xf5, 0x4b,
88     0x11, 0xbd, 0xba, 0x5b, 0x9e, 0xc4, 0xa4, 0x51, 0x1e, 0xbe, 0xd0, 0x90,
89     0x3a, 0x9c, 0xc2, 0x26, 0xb6, 0x1e, 0xf1, 0x95, 0x7d, 0xc8, 0x6d, 0x52,
90     0xe6, 0x99, 0x2c, 0x5f, 0x9a, 0x96, 0x0c, 0x68, 0x29, 0xfd, 0xe2, 0xfb,
91     0xe6, 0xbc, 0xec, 0x31, 0x08, 0xec, 0xe6, 0xb0, 0x53, 0x60, 0xc3, 0x8c,
92     0xbe, 0xc1, 0xb3, 0x8a, 0x8f, 0xe4, 0x88, 0x2b, 0x55, 0xe5, 0x64, 0x6e,
93     0x9b, 0xd0, 0xaf, 0x7b, 0x64, 0x2a, 0x35, 0x25, 0x10, 0x52, 0xc5, 0x9e,
94     0x58, 0x11, 0x39, 0x36, 0x45, 0x51, 0xb8, 0x39, 0x93, 0xfc, 0x9d, 0x6a,
95     0xbe, 0x58, 0xcb, 0xa4, 0x0f, 0x51, 0x3c, 0x38, 0x05, 0xca, 0xab, 0x43,
96     0x63, 0x0e, 0xf3, 0x8b, 0x41, 0xa6, 0xf8, 0x9b, 0x53, 0x70, 0x80, 0x53,
97     0x86, 0x5e, 0x8f, 0xe3, 0xc3, 0x0d, 0x18, 0xc8, 0x4b, 0x34, 0x1f, 0xd8,
98     0x1d, 0xbc, 0xf2, 0x6d, 0x34, 0x3a, 0xbe, 0xdf, 0xd9, 0xf6, 0xf3, 0x89,
99     0xa1, 0xe1, 0x94, 0x9f, 0x5d, 0x4c, 0x5d, 0xe9, 0xa1, 0x49, 0x92, 0xef,
100     0x0e, 0x53, 0x81, 0x89, 0x58, 0x87, 0xa6, 0x37, 0xf1, 0xdd, 0x62, 0x60,
101     0x63, 0x5a, 0x9d, 0x1b, 0x8c, 0xc6, 0x7d, 0x52, 0xea, 0x70, 0x09, 0x6a,
102     0xe1, 0x32, 0xf3, 0x73, 0x21, 0x1f, 0x07, 0x7b, 0x7c, 0x9b, 0x49, 0xd8,
103     0xc0, 0xf3, 0x25, 0x72, 0x6f, 0x9d, 0xed, 0x31, 0x67, 0x36, 0x36, 0x54,
104     0x40, 0x92, 0x71, 0xe6, 0x11, 0x28, 0x11, 0xad, 0x93, 0x32, 0x85, 0x7b,
105     0x3e, 0xb7, 0x3b, 0x49, 0x13, 0x1c, 0x07, 0xb0, 0x2e, 0x93, 0xaa, 0xfd,
106     0xfd, 0x28, 0x47, 0x3d, 0x8d, 0xd2, 0xda, 0xc7, 0x44, 0xd6, 0x7a, 0xdb,
107     0x26, 0x7d, 0x1d, 0xb8, 0xe1, 0xde, 0x9d, 0x7a, 0x7d, 0x17, 0x7e, 0x1c,
108     0x37, 0x04, 0x8d, 0x2d, 0x7c, 0x5e, 0x18, 0x38, 0x1e, 0xaf, 0xc7, 0x1b,
109     0x33, 0x48, 0x31, 0x00, 0x59, 0xf6, 0xf2, 0xca, 0x0f, 0x27, 0x1b, 0x63,
110     0x12, 0x7e, 0x02, 0x1d, 0x49, 0xc0, 0x5d, 0x79, 0x87, 0xef, 0x5e, 0x7a,
111     0x2f, 0x1f, 0x66, 0x55, 0xd8, 0x09, 0xd9, 0x61, 0x38, 0x68, 0xb0, 0x07,
112     0xa3, 0xfc, 0xcc, 0x85, 0x10, 0x7f, 0x4c, 0x65, 0x65, 0xb3, 0xfa, 0xfa,
113     0xa5, 0x53, 0x6f, 0xdb, 0x74, 0x4c, 0x56, 0x46, 0x03, 0xe2, 0xd5, 0x7a,
114     0x29, 0x1c, 0xc6, 0x02, 0xbc, 0x59, 0xf2, 0x04, 0x75, 0x63, 0xc0, 0x84,
115     0x2f, 0x60, 0x1c, 0x67, 0x76, 0xfd, 0x63, 0x86, 0xf3, 0xfa, 0xbf, 0xdc,
116     0xd2, 0x2d, 0x90, 0x91, 0xbd, 0x33, 0xa9, 0xe5, 0x66, 0x0c, 0xda, 0x42,
117     0x27, 0xca, 0xf4, 0x66, 0xc2, 0xec, 0x92, 0x14, 0x57, 0x06, 0x63, 0xd0,
118     0x4d, 0x15, 0x06, 0xeb, 0x69, 0x58, 0x4f, 0x77, 0xc5, 0x8b, 0xc7, 0xf0,
119     0x8e, 0xed, 0x64, 0xa0, 0xb3, 0x3c, 0x66, 0x71, 0xc6, 0x2d, 0xda, 0x0a,
120     0x0d, 0xfe, 0x70, 0x27, 0x64, 0xf8, 0x27, 0xfa, 0xf6, 0x5f, 0x30, 0xa5,
121     0x0d, 0x6c, 0xda, 0xf2, 0x62, 0x5e, 0x78, 0x47, 0xd3, 0x66, 0x00, 0x1c,
122     0xfd, 0x56, 0x1f, 0x5d, 0x3f, 0x6f, 0xf4, 0x4c, 0xd8, 0xfd, 0x0e, 0x27,
123     0xc9, 0x5c, 0x2b, 0xbc, 0xc0, 0xa4, 0xe7, 0x23, 0x29, 0x02, 0x9f, 0x31,
124     0xd6, 0xe9, 0xd7, 0x96, 0xf4, 0xe0, 0x5e, 0x0b, 0x0e, 0x13, 0xee, 0x3c,
125     0x09, 0xed, 0xf2, 0x3d, 0x76, 0x91, 0xc3, 0xa4, 0x97, 0xae, 0xd4, 0x87,
126     0xd0, 0x5d, 0xf6, 0x18, 0x47, 0x1f, 0x1d, 0x67, 0xf2, 0xcf, 0x63, 0xa0,
127     0x91, 0x27, 0xf8, 0x93, 0x45, 0x75, 0x23, 0x3f, 0xd1, 0xf1, 0xad, 0x23,
128     0xdd, 0x64, 0x93, 0x96, 0x41, 0x70, 0x7f, 0xf7, 0xf5, 0xa9, 0x89, 0xa2,
129     0x34, 0xb0, 0x8d, 0x1b, 0xae, 0x19, 0x15, 0x49, 0x58, 0x23, 0x6d, 0x87,
130     0x15, 0x4f, 0x81, 0x76, 0xfb, 0x23, 0xb5, 0xea, 0xcf, 0xac, 0x54, 0x8d,
131     0x4e, 0x42, 0x2f, 0xeb, 0x0f, 0x63, 0xdb, 0x68, 0x37, 0xa8, 0xcf, 0x8b,
132     0xab, 0xf5, 0xa4, 0x6e, 0x96, 0x2a, 0xb2, 0xd6, 0xbe, 0x9e, 0xbd, 0x0d,
133     0xb4, 0x42, 0xa9, 0xcf, 0x01, 0x83, 0x8a, 0x17, 0x47, 0x76, 0xc4, 0xc6,
134     0x83, 0x04, 0x95, 0x0b, 0xfc, 0x11, 0xc9, 0x62, 0xb8, 0x0c, 0x76, 0x84,
135     0xd9, 0xb9, 0x37, 0xfa, 0xfc, 0x7c, 0xc2, 0x6d, 0x58, 0x3e, 0xb3, 0x04,
136     0xbb, 0x8c, 0x8f, 0x48, 0xbc, 0x91, 0x27, 0xcc, 0xf9, 0xb7, 0x22, 0x19,
137     0x83, 0x2e, 0x09, 0xb5, 0x72, 0xd9, 0x54, 0x1c, 0x4d, 0xa1, 0xea, 0x0b,
138     0xf1, 0xc6, 0x08, 0x72, 0x46, 0x87, 0x7a, 0x6e, 0x80, 0x56, 0x0a, 0x8a,
139     0xc0, 0xdd, 0x11, 0x6b, 0xd6, 0xdd, 0x47, 0xdf, 0x10, 0xd9, 0xd8, 0xea,
140     0x7c, 0xb0, 0x8f, 0x03, 0x00, 0x2e, 0xc1, 0x8f, 0x44, 0xa8, 0xd3, 0x30,
141     0x06, 0x89, 0xa2, 0xf9, 0x34, 0xad, 0xdc, 0x03, 0x85, 0xed, 0x51, 0xa7,
142     0x82, 0x9c, 0xe7, 0x5d, 0x52, 0x93, 0x0c, 0x32, 0x9a, 0x5b, 0xe1, 0xaa,
143     0xca, 0xb8, 0x02, 0x6d, 0x3a, 0xd4, 0xb1, 0x3a, 0xf0, 0x5f, 0xbe, 0xb5,
144     0x0d, 0x10, 0x6b, 0x38, 0x32, 0xac, 0x76, 0x80, 0xbd, 0xca, 0x94, 0x71,
145     0x7a, 0xf2, 0xc9, 0x35, 0x2a, 0xde, 0x9f, 0x42, 0x49, 0x18, 0x01, 0xab,
146     0xbc, 0xef, 0x7c, 0x64, 0x3f, 0x58, 0x3d, 0x92, 0x59, 0xdb, 0x13, 0xdb,
147     0x58, 0x6e, 0x0a, 0xe0, 0xb7, 0x91, 0x4a, 0x08, 0x20, 0xd6, 0x2e, 0x3c,
148     0x45, 0xc9, 0x8b, 0x17, 0x79, 0xe7, 0xc7, 0x90, 0x99, 0x3a, 0x18, 0x25,
149 };
150 
151 #else
152 
153 // k25519Precomp[i][j] = (j+1)*256^i*B
154 static const ge_precomp k25519Precomp[32][8] = {
155     {
156         {
157             {{
158 #if defined(BORINGSSL_CURVE25519_64BIT)
159                 1288382639258501, 245678601348599, 269427782077623,
160                 1462984067271730, 137412439391563
161 #else
162                 25967493, 19198397, 29566455, 3660896, 54414519, 4014786,
163                 27544626, 21800161, 61029707, 2047604
164 #endif
165             }},
166             {{
167 #if defined(BORINGSSL_CURVE25519_64BIT)
168                 62697248952638, 204681361388450, 631292143396476,
169                 338455783676468, 1213667448819585
170 #else
171                 54563134, 934261, 64385954, 3049989, 66381436, 9406985,
172                 12720692, 5043384, 19500929, 18085054
173 #endif
174             }},
175             {{
176 #if defined(BORINGSSL_CURVE25519_64BIT)
177                 301289933810280, 1259582250014073, 1422107436869536,
178                 796239922652654, 1953934009299142
179 #else
180                 58370664, 4489569, 9688441, 18769238, 10184608, 21191052,
181                 29287918, 11864899, 42594502, 29115885
182 #endif
183             }},
184         },
185         {
186             {{
187 #if defined(BORINGSSL_CURVE25519_64BIT)
188                 1380971894829527, 790832306631236, 2067202295274102,
189                 1995808275510000, 1566530869037010
190 #else
191                 54292951, 20578084, 45527620, 11784319, 41753206, 30803714,
192                 55390960, 29739860, 66750418, 23343128
193 #endif
194             }},
195             {{
196 #if defined(BORINGSSL_CURVE25519_64BIT)
197                 463307831301544, 432984605774163, 1610641361907204,
198                 750899048855000, 1894842303421586
199 #else
200                 45405608, 6903824, 27185491, 6451973, 37531140, 24000426,
201                 51492312, 11189267, 40279186, 28235350
202 #endif
203             }},
204             {{
205 #if defined(BORINGSSL_CURVE25519_64BIT)
206                 748439484463711, 1033211726465151, 1396005112841647,
207                 1611506220286469, 1972177495910992
208 #else
209                 26966623, 11152617, 32442495, 15396054, 14353839, 20802097,
210                 63980037, 24013313, 51636816, 29387734
211 #endif
212             }},
213         },
214         {
215             {{
216 #if defined(BORINGSSL_CURVE25519_64BIT)
217                 1601611775252272, 1720807796594148, 1132070835939856,
218                 1260455018889551, 2147779492816911
219 #else
220                 15636272, 23865875, 24204772, 25642034, 616976, 16869170,
221                 27787599, 18782243, 28944399, 32004408
222 #endif
223             }},
224             {{
225 #if defined(BORINGSSL_CURVE25519_64BIT)
226                 316559037616741, 2177824224946892, 1459442586438991,
227                 1461528397712656, 751590696113597
228 #else
229                 16568933, 4717097, 55552716, 32452109, 15682895, 21747389,
230                 16354576, 21778470, 7689661, 11199574
231 #endif
232             }},
233             {{
234 #if defined(BORINGSSL_CURVE25519_64BIT)
235                 1850748884277385, 1200145853858453, 1068094770532492,
236                 672251375690438, 1586055907191707
237 #else
238                 30464137, 27578307, 55329429, 17883566, 23220364, 15915852,
239                 7512774, 10017326, 49359771, 23634074
240 #endif
241             }},
242         },
243         {
244             {{
245 #if defined(BORINGSSL_CURVE25519_64BIT)
246                 934282339813791, 1846903124198670, 1172395437954843,
247                 1007037127761661, 1830588347719256
248 #else
249                 50071967, 13921891, 10945806, 27521001, 27105051, 17470053,
250                 38182653, 15006022, 3284568, 27277892
251 #endif
252             }},
253             {{
254 #if defined(BORINGSSL_CURVE25519_64BIT)
255                 1694390458783935, 1735906047636159, 705069562067493,
256                 648033061693059, 696214010414170
257 #else
258                 23599295, 25248385, 55915199, 25867015, 13236773, 10506355,
259                 7464579, 9656445, 13059162, 10374397
260 #endif
261             }},
262             {{
263 #if defined(BORINGSSL_CURVE25519_64BIT)
264                 1121406372216585, 192876649532226, 190294192191717,
265                 1994165897297032, 2245000007398739
266 #else
267                 7798537, 16710257, 3033922, 2874086, 28997861, 2835604,
268                 32406664, 29715387, 66467155, 33453106
269 #endif
270             }},
271         },
272         {
273             {{
274 #if defined(BORINGSSL_CURVE25519_64BIT)
275                 769950342298419, 132954430919746, 844085933195555,
276                 974092374476333, 726076285546016
277 #else
278                 10861363, 11473154, 27284546, 1981175, 37044515, 12577860,
279                 32867885, 14515107, 51670560, 10819379
280 #endif
281             }},
282             {{
283 #if defined(BORINGSSL_CURVE25519_64BIT)
284                 425251763115706, 608463272472562, 442562545713235,
285                 837766094556764, 374555092627893
286 #else
287                 4708026, 6336745, 20377586, 9066809, 55836755, 6594695,
288                 41455196, 12483687, 54440373, 5581305
289 #endif
290             }},
291             {{
292 #if defined(BORINGSSL_CURVE25519_64BIT)
293                 1086255230780037, 274979815921559, 1960002765731872,
294                 929474102396301, 1190409889297339
295 #else
296                 19563141, 16186464, 37722007, 4097518, 10237984, 29206317,
297                 28542349, 13850243, 43430843, 17738489
298 #endif
299             }},
300         },
301         {
302             {{
303 #if defined(BORINGSSL_CURVE25519_64BIT)
304                 1388594989461809, 316767091099457, 394298842192982,
305                 1230079486801005, 1440737038838979
306 #else
307                 51736881, 20691677, 32573249, 4720197, 40672342, 5875510,
308                 47920237, 18329612, 57289923, 21468654
309 #endif
310             }},
311             {{
312 #if defined(BORINGSSL_CURVE25519_64BIT)
313                 7380825640100, 146210432690483, 304903576448906,
314                 1198869323871120, 997689833219095
315 #else
316                 58559652, 109982, 15149363, 2178705, 22900618, 4543417, 3044240,
317                 17864545, 1762327, 14866737
318 #endif
319             }},
320             {{
321 #if defined(BORINGSSL_CURVE25519_64BIT)
322                 1181317918772081, 114573476638901, 262805072233344,
323                 265712217171332, 294181933805782
324 #else
325                 48909169, 17603008, 56635573, 1707277, 49922944, 3916100,
326                 38872452, 3959420, 27914454, 4383652
327 #endif
328             }},
329         },
330         {
331             {{
332 #if defined(BORINGSSL_CURVE25519_64BIT)
333                 665000864555967, 2065379846933859, 370231110385876,
334                 350988370788628, 1233371373142985
335 #else
336                 5153727, 9909285, 1723747, 30776558, 30523604, 5516873,
337                 19480852, 5230134, 43156425, 18378665
338 #endif
339             }},
340             {{
341 #if defined(BORINGSSL_CURVE25519_64BIT)
342                 2019367628972465, 676711900706637, 110710997811333,
343                 1108646842542025, 517791959672113
344 #else
345                 36839857, 30090922, 7665485, 10083793, 28475525, 1649722,
346                 20654025, 16520125, 30598449, 7715701
347 #endif
348             }},
349             {{
350 #if defined(BORINGSSL_CURVE25519_64BIT)
351                 965130719900578, 247011430587952, 526356006571389,
352                 91986625355052, 2157223321444601
353 #else
354                 28881826, 14381568, 9657904, 3680757, 46927229, 7843315,
355                 35708204, 1370707, 29794553, 32145132
356 #endif
357             }},
358         },
359         {
360             {{
361 #if defined(BORINGSSL_CURVE25519_64BIT)
362                 2068619540119183, 1966274918058806, 957728544705549,
363                 729906502578991, 159834893065166
364 #else
365                 14499471, 30824833, 33917750, 29299779, 28494861, 14271267,
366                 30290735, 10876454, 33954766, 2381725
367 #endif
368             }},
369             {{
370 #if defined(BORINGSSL_CURVE25519_64BIT)
371                 2073601412052185, 31021124762708, 264500969797082,
372                 248034690651703, 1030252227928288
373 #else
374                 59913433, 30899068, 52378708, 462250, 39384538, 3941371,
375                 60872247, 3696004, 34808032, 15351954
376 #endif
377             }},
378             {{
379 #if defined(BORINGSSL_CURVE25519_64BIT)
380                 551790716293402, 1989538725166328, 801169423371717,
381                 2052451893578887, 678432056995012
382 #else
383                 27431194, 8222322, 16448760, 29646437, 48401861, 11938354,
384                 34147463, 30583916, 29551812, 10109425
385 #endif
386             }},
387         },
388     },
389     {
390         {
391             {{
392 #if defined(BORINGSSL_CURVE25519_64BIT)
393                 1368953770187805, 790347636712921, 437508475667162,
394                 2142576377050580, 1932081720066286
395 #else
396                 53451805, 20399000, 35825113, 11777097, 21447386, 6519384,
397                 64730580, 31926875, 10092782, 28790261
398 #endif
399             }},
400             {{
401 #if defined(BORINGSSL_CURVE25519_64BIT)
402                 953638594433374, 1092333936795051, 1419774766716690,
403                 805677984380077, 859228993502513
404 #else
405                 27939166, 14210322, 4677035, 16277044, 44144402, 21156292,
406                 34600109, 12005537, 49298737, 12803509
407 #endif
408             }},
409             {{
410 #if defined(BORINGSSL_CURVE25519_64BIT)
411                 1200766035879111, 20142053207432, 1465634435977050,
412                 1645256912097844, 295121984874596
413 #else
414                 17228999, 17892808, 65875336, 300139, 65883994, 21839654,
415                 30364212, 24516238, 18016356, 4397660
416 #endif
417             }},
418         },
419         {
420             {{
421 #if defined(BORINGSSL_CURVE25519_64BIT)
422                 1735718747031557, 1248237894295956, 1204753118328107,
423                 976066523550493, 65943769534592
424 #else
425                 56150021, 25864224, 4776340, 18600194, 27850027, 17952220,
426                 40489757, 14544524, 49631360, 982638
427 #endif
428             }},
429             {{
430 #if defined(BORINGSSL_CURVE25519_64BIT)
431                 1060098822528990, 1586825862073490, 212301317240126,
432                 1975302711403555, 666724059764335
433 #else
434                 29253598, 15796703, 64244882, 23645547, 10057022, 3163536,
435                 7332899, 29434304, 46061167, 9934962
436 #endif
437             }},
438             {{
439 #if defined(BORINGSSL_CURVE25519_64BIT)
440                 1091990273418756, 1572899409348578, 80968014455247,
441                 306009358661350, 1520450739132526
442 #else
443                 5793284, 16271923, 42977250, 23438027, 29188559, 1206517,
444                 52360934, 4559894, 36984942, 22656481
445 #endif
446             }},
447         },
448         {
449             {{
450 #if defined(BORINGSSL_CURVE25519_64BIT)
451                 1480517209436112, 1511153322193952, 1244343858991172,
452                 304788150493241, 369136856496443
453 #else
454                 39464912, 22061425, 16282656, 22517939, 28414020, 18542168,
455                 24191033, 4541697, 53770555, 5500567
456 #endif
457             }},
458             {{
459 #if defined(BORINGSSL_CURVE25519_64BIT)
460                 2151330273626164, 762045184746182, 1688074332551515,
461                 823046109005759, 907602769079491
462 #else
463                 12650548, 32057319, 9052870, 11355358, 49428827, 25154267,
464                 49678271, 12264342, 10874051, 13524335
465 #endif
466             }},
467             {{
468 #if defined(BORINGSSL_CURVE25519_64BIT)
469                 2047386910586836, 168470092900250, 1552838872594810,
470                 340951180073789, 360819374702533
471 #else
472                 25556948, 30508442, 714650, 2510400, 23394682, 23139102,
473                 33119037, 5080568, 44580805, 5376627
474 #endif
475             }},
476         },
477         {
478             {{
479 #if defined(BORINGSSL_CURVE25519_64BIT)
480                 1982622644432056, 2014393600336956, 128909208804214,
481                 1617792623929191, 105294281913815
482 #else
483                 41020600, 29543379, 50095164, 30016803, 60382070, 1920896,
484                 44787559, 24106988, 4535767, 1569007
485 #endif
486             }},
487             {{
488 #if defined(BORINGSSL_CURVE25519_64BIT)
489                 980234343912898, 1712256739246056, 588935272190264,
490                 204298813091998, 841798321043288
491 #else
492                 64853442, 14606629, 45416424, 25514613, 28430648, 8775819,
493                 36614302, 3044289, 31848280, 12543772
494 #endif
495             }},
496             {{
497 #if defined(BORINGSSL_CURVE25519_64BIT)
498                 197561292938973, 454817274782871, 1963754960082318,
499                 2113372252160468, 971377527342673
500 #else
501                 45080285, 2943892, 35251351, 6777305, 13784462, 29262229,
502                 39731668, 31491700, 7718481, 14474653
503 #endif
504             }},
505         },
506         {
507             {{
508 #if defined(BORINGSSL_CURVE25519_64BIT)
509                 164699448829328, 3127451757672, 1199504971548753,
510                 1766155447043652, 1899238924683527
511 #else
512                 2385296, 2454213, 44477544, 46602, 62670929, 17874016, 656964,
513                 26317767, 24316167, 28300865
514 #endif
515             }},
516             {{
517 #if defined(BORINGSSL_CURVE25519_64BIT)
518                 732262946680281, 1674412764227063, 2182456405662809,
519                 1350894754474250, 558458873295247
520 #else
521                 13741529, 10911568, 33875447, 24950694, 46931033, 32521134,
522                 33040650, 20129900, 46379407, 8321685
523 #endif
524             }},
525             {{
526 #if defined(BORINGSSL_CURVE25519_64BIT)
527                 2103305098582922, 1960809151316468, 715134605001343,
528                 1454892949167181, 40827143824949
529 #else
530                 21060490, 31341688, 15712756, 29218333, 1639039, 10656336,
531                 23845965, 21679594, 57124405, 608371
532 #endif
533             }},
534         },
535         {
536             {{
537 #if defined(BORINGSSL_CURVE25519_64BIT)
538                 1239289043050212, 1744654158124578, 758702410031698,
539                 1796762995074688, 1603056663766
540 #else
541                 53436132, 18466845, 56219170, 25997372, 61071954, 11305546,
542                 1123968, 26773855, 27229398, 23887
543 #endif
544             }},
545             {{
546 #if defined(BORINGSSL_CURVE25519_64BIT)
547                 2232056027107988, 987343914584615, 2115594492994461,
548                 1819598072792159, 1119305654014850
549 #else
550                 43864724, 33260226, 55364135, 14712570, 37643165, 31524814,
551                 12797023, 27114124, 65475458, 16678953
552 #endif
553             }},
554             {{
555 #if defined(BORINGSSL_CURVE25519_64BIT)
556                 320153677847348, 939613871605645, 641883205761567,
557                 1930009789398224, 329165806634126
558 #else
559                 37608244, 4770661, 51054477, 14001337, 7830047, 9564805,
560                 65600720, 28759386, 49939598, 4904952
561 #endif
562             }},
563         },
564         {
565             {{
566 #if defined(BORINGSSL_CURVE25519_64BIT)
567                 980930490474130, 1242488692177893, 1251446316964684,
568                 1086618677993530, 1961430968465772
569 #else
570                 24059538, 14617003, 19037157, 18514524, 19766092, 18648003,
571                 5169210, 16191880, 2128236, 29227599
572 #endif
573             }},
574             {{
575 #if defined(BORINGSSL_CURVE25519_64BIT)
576                 276821765317453, 1536835591188030, 1305212741412361,
577                 61473904210175, 2051377036983058
578 #else
579                 50127693, 4124965, 58568254, 22900634, 30336521, 19449185,
580                 37302527, 916032, 60226322, 30567899
581 #endif
582             }},
583             {{
584 #if defined(BORINGSSL_CURVE25519_64BIT)
585                 833449923882501, 1750270368490475, 1123347002068295,
586                 185477424765687, 278090826653186
587 #else
588                 44477957, 12419371, 59974635, 26081060, 50629959, 16739174,
589                 285431, 2763829, 15736322, 4143876
590 #endif
591             }},
592         },
593         {
594             {{
595 #if defined(BORINGSSL_CURVE25519_64BIT)
596                 794524995833413, 1849907304548286, 53348672473145,
597                 1272368559505217, 1147304168324779
598 #else
599                 2379333, 11839345, 62998462, 27565766, 11274297, 794957, 212801,
600                 18959769, 23527083, 17096164
601 #endif
602             }},
603             {{
604 #if defined(BORINGSSL_CURVE25519_64BIT)
605                 1504846112759364, 1203096289004681, 562139421471418,
606                 274333017451844, 1284344053775441
607 #else
608                 33431108, 22423954, 49269897, 17927531, 8909498, 8376530,
609                 34483524, 4087880, 51919953, 19138217
610 #endif
611             }},
612             {{
613 #if defined(BORINGSSL_CURVE25519_64BIT)
614                 483048732424432, 2116063063343382, 30120189902313,
615                 292451576741007, 1156379271702225
616 #else
617                 1767664, 7197987, 53903638, 31531796, 54017513, 448825, 5799055,
618                 4357868, 62334673, 17231393
619 #endif
620             }},
621         },
622     },
623     {
624         {
625             {{
626 #if defined(BORINGSSL_CURVE25519_64BIT)
627                 928372153029038, 2147692869914564, 1455665844462196,
628                 1986737809425946, 185207050258089
629 #else
630                 6721966, 13833823, 43585476, 32003117, 26354292, 21691111,
631                 23365146, 29604700, 7390889, 2759800
632 #endif
633             }},
634             {{
635 #if defined(BORINGSSL_CURVE25519_64BIT)
636                 137732961814206, 706670923917341, 1387038086865771,
637                 1965643813686352, 1384777115696347
638 #else
639                 4409022, 2052381, 23373853, 10530217, 7676779, 20668478,
640                 21302352, 29290375, 1244379, 20634787
641 #endif
642             }},
643             {{
644 #if defined(BORINGSSL_CURVE25519_64BIT)
645                 481144981981577, 2053319313589856, 2065402289827512,
646                 617954271490316, 1106602634668125
647 #else
648                 62687625, 7169618, 4982368, 30596842, 30256824, 30776892,
649                 14086412, 9208236, 15886429, 16489664
650 #endif
651             }},
652         },
653         {
654             {{
655 #if defined(BORINGSSL_CURVE25519_64BIT)
656                 696298019648792, 893299659040895, 1148636718636009,
657                 26734077349617, 2203955659340681
658 #else
659                 1996056, 10375649, 14346367, 13311202, 60234729, 17116020,
660                 53415665, 398368, 36502409, 32841498
661 #endif
662             }},
663             {{
664 #if defined(BORINGSSL_CURVE25519_64BIT)
665                 657390353372855, 998499966885562, 991893336905797,
666                 810470207106761, 343139804608786
667 #else
668                 41801399, 9795879, 64331450, 14878808, 33577029, 14780362,
669                 13348553, 12076947, 36272402, 5113181
670 #endif
671             }},
672             {{
673 #if defined(BORINGSSL_CURVE25519_64BIT)
674                 791736669492960, 934767652997115, 824656780392914,
675                 1759463253018643, 361530362383518
676 #else
677                 49338080, 11797795, 31950843, 13929123, 41220562, 12288343,
678                 36767763, 26218045, 13847710, 5387222
679 #endif
680             }},
681         },
682         {
683             {{
684 #if defined(BORINGSSL_CURVE25519_64BIT)
685                 2022541353055597, 2094700262587466, 1551008075025686,
686                 242785517418164, 695985404963562
687 #else
688                 48526701, 30138214, 17824842, 31213466, 22744342, 23111821,
689                 8763060, 3617786, 47508202, 10370990
690 #endif
691             }},
692             {{
693 #if defined(BORINGSSL_CURVE25519_64BIT)
694                 1287487199965223, 2215311941380308, 1552928390931986,
695                 1664859529680196, 1125004975265243
696 #else
697                 20246567, 19185054, 22358228, 33010720, 18507282, 23140436,
698                 14554436, 24808340, 32232923, 16763880
699 #endif
700             }},
701             {{
702 #if defined(BORINGSSL_CURVE25519_64BIT)
703                 677434665154918, 989582503122485, 1817429540898386,
704                 1052904935475344, 1143826298169798
705 #else
706                 9648486, 10094563, 26416693, 14745928, 36734546, 27081810,
707                 11094160, 15689506, 3140038, 17044340
708 #endif
709             }},
710         },
711         {
712             {{
713 #if defined(BORINGSSL_CURVE25519_64BIT)
714                 367266328308408, 318431188922404, 695629353755355,
715                 634085657580832, 24581612564426
716 #else
717                 50948792, 5472694, 31895588, 4744994, 8823515, 10365685,
718                 39884064, 9448612, 38334410, 366294
719 #endif
720             }},
721             {{
722 #if defined(BORINGSSL_CURVE25519_64BIT)
723                 773360688841258, 1815381330538070, 363773437667376,
724                 539629987070205, 783280434248437
725 #else
726                 19153450, 11523972, 56012374, 27051289, 42461232, 5420646,
727                 28344573, 8041113, 719605, 11671788
728 #endif
729             }},
730             {{
731 #if defined(BORINGSSL_CURVE25519_64BIT)
732                 180820816194166, 168937968377394, 748416242794470,
733                 1227281252254508, 1567587861004268
734 #else
735                 8678006, 2694440, 60300850, 2517371, 4964326, 11152271,
736                 51675948, 18287915, 27000812, 23358879
737 #endif
738             }},
739         },
740         {
741             {{
742 #if defined(BORINGSSL_CURVE25519_64BIT)
743                 478775558583645, 2062896624554807, 699391259285399,
744                 358099408427873, 1277310261461761
745 #else
746                 51950941, 7134311, 8639287, 30739555, 59873175, 10421741,
747                 564065, 5336097, 6750977, 19033406
748 #endif
749             }},
750             {{
751 #if defined(BORINGSSL_CURVE25519_64BIT)
752                 1984740906540026, 1079164179400229, 1056021349262661,
753                 1659958556483663, 1088529069025527
754 #else
755                 11836410, 29574944, 26297893, 16080799, 23455045, 15735944,
756                 1695823, 24735310, 8169719, 16220347
757 #endif
758             }},
759             {{
760 #if defined(BORINGSSL_CURVE25519_64BIT)
761                 580736401511151, 1842931091388998, 1177201471228238,
762                 2075460256527244, 1301133425678027
763 #else
764                 48993007, 8653646, 17578566, 27461813, 59083086, 17541668,
765                 55964556, 30926767, 61118155, 19388398
766 #endif
767             }},
768         },
769         {
770             {{
771 #if defined(BORINGSSL_CURVE25519_64BIT)
772                 1515728832059182, 1575261009617579, 1510246567196186,
773                 191078022609704, 116661716289141
774 #else
775                 43800366, 22586119, 15213227, 23473218, 36255258, 22504427,
776                 27884328, 2847284, 2655861, 1738395
777 #endif
778             }},
779             {{
780 #if defined(BORINGSSL_CURVE25519_64BIT)
781                 1295295738269652, 1714742313707026, 545583042462581,
782                 2034411676262552, 1513248090013606
783 #else
784                 39571412, 19301410, 41772562, 25551651, 57738101, 8129820,
785                 21651608, 30315096, 48021414, 22549153
786 #endif
787             }},
788             {{
789 #if defined(BORINGSSL_CURVE25519_64BIT)
790                 230710545179830, 30821514358353, 760704303452229,
791                 390668103790604, 573437871383156
792 #else
793                 1533110, 3437855, 23735889, 459276, 29970501, 11335377,
794                 26030092, 5821408, 10478196, 8544890
795 #endif
796             }},
797         },
798         {
799             {{
800 #if defined(BORINGSSL_CURVE25519_64BIT)
801                 1169380107545646, 263167233745614, 2022901299054448,
802                 819900753251120, 2023898464874585
803 #else
804                 32173102, 17425121, 24896206, 3921497, 22579056, 30143578,
805                 19270448, 12217473, 17789017, 30158437
806 #endif
807             }},
808             {{
809 #if defined(BORINGSSL_CURVE25519_64BIT)
810                 2102254323485823, 1570832666216754, 34696906544624,
811                 1993213739807337, 70638552271463
812 #else
813                 36555903, 31326030, 51530034, 23407230, 13243888, 517024,
814                 15479401, 29701199, 30460519, 1052596
815 #endif
816             }},
817             {{
818 #if defined(BORINGSSL_CURVE25519_64BIT)
819                 894132856735058, 548675863558441, 845349339503395,
820                 1942269668326667, 1615682209874691
821 #else
822                 55493970, 13323617, 32618793, 8175907, 51878691, 12596686,
823                 27491595, 28942073, 3179267, 24075541
824 #endif
825             }},
826         },
827         {
828             {{
829 #if defined(BORINGSSL_CURVE25519_64BIT)
830                 1287670217537834, 1222355136884920, 1846481788678694,
831                 1150426571265110, 1613523400722047
832 #else
833                 31947050, 19187781, 62468280, 18214510, 51982886, 27514722,
834                 52352086, 17142691, 19072639, 24043372
835 #endif
836             }},
837             {{
838 #if defined(BORINGSSL_CURVE25519_64BIT)
839                 793388516527298, 1315457083650035, 1972286999342417,
840                 1901825953052455, 338269477222410
841 #else
842                 11685058, 11822410, 3158003, 19601838, 33402193, 29389366,
843                 5977895, 28339415, 473098, 5040608
844 #endif
845             }},
846             {{
847 #if defined(BORINGSSL_CURVE25519_64BIT)
848                 550201530671806, 778605267108140, 2063911101902983,
849                 115500557286349, 2041641272971022
850 #else
851                 46817982, 8198641, 39698732, 11602122, 1290375, 30754672,
852                 28326861, 1721092, 47550222, 30422825
853 #endif
854             }},
855         },
856     },
857     {
858         {
859             {{
860 #if defined(BORINGSSL_CURVE25519_64BIT)
861                 717255318455100, 519313764361315, 2080406977303708,
862                 541981206705521, 774328150311600
863 #else
864                 7881532, 10687937, 7578723, 7738378, 48157852, 31000479,
865                 21820785, 8076149, 39240368, 11538388
866 #endif
867             }},
868             {{
869 #if defined(BORINGSSL_CURVE25519_64BIT)
870                 261715221532238, 1795354330069993, 1496878026850283,
871                 499739720521052, 389031152673770
872 #else
873                 47173198, 3899860, 18283497, 26752864, 51380203, 22305220,
874                 8754524, 7446702, 61432810, 5797015
875 #endif
876             }},
877             {{
878 #if defined(BORINGSSL_CURVE25519_64BIT)
879                 1997217696294013, 1717306351628065, 1684313917746180,
880                 1644426076011410, 1857378133465451
881 #else
882                 55813245, 29760862, 51326753, 25589858, 12708868, 25098233,
883                 2014098, 24503858, 64739691, 27677090
884 #endif
885             }},
886         },
887         {
888             {{
889 #if defined(BORINGSSL_CURVE25519_64BIT)
890                 1475434724792648, 76931896285979, 1116729029771667,
891                 2002544139318042, 725547833803938
892 #else
893                 44636488, 21985690, 39426843, 1146374, 18956691, 16640559,
894                 1192730, 29840233, 15123618, 10811505
895 #endif
896             }},
897             {{
898 #if defined(BORINGSSL_CURVE25519_64BIT)
899                 2022306639183567, 726296063571875, 315345054448644,
900                 1058733329149221, 1448201136060677
901 #else
902                 14352079, 30134717, 48166819, 10822654, 32750596, 4699007,
903                 67038501, 15776355, 38222085, 21579878
904 #endif
905             }},
906             {{
907 #if defined(BORINGSSL_CURVE25519_64BIT)
908                 1710065158525665, 1895094923036397, 123988286168546,
909                 1145519900776355, 1607510767693874
910 #else
911                 38867681, 25481956, 62129901, 28239114, 29416930, 1847569,
912                 46454691, 17069576, 4714546, 23953777
913 #endif
914             }},
915         },
916         {
917             {{
918 #if defined(BORINGSSL_CURVE25519_64BIT)
919                 561605375422540, 1071733543815037, 131496498800990,
920                 1946868434569999, 828138133964203
921 #else
922                 15200332, 8368572, 19679101, 15970074, 35236190, 1959450,
923                 24611599, 29010600, 55362987, 12340219
924 #endif
925             }},
926             {{
927 #if defined(BORINGSSL_CURVE25519_64BIT)
928                 1548495173745801, 442310529226540, 998072547000384,
929                 553054358385281, 644824326376171
930 #else
931                 12876937, 23074376, 33134380, 6590940, 60801088, 14872439,
932                 9613953, 8241152, 15370987, 9608631
933 #endif
934             }},
935             {{
936 #if defined(BORINGSSL_CURVE25519_64BIT)
937                 1445526537029440, 2225519789662536, 914628859347385,
938                 1064754194555068, 1660295614401091
939 #else
940                 62965568, 21540023, 8446280, 33162829, 4407737, 13629032,
941                 59383996, 15866073, 38898243, 24740332
942 #endif
943             }},
944         },
945         {
946             {{
947 #if defined(BORINGSSL_CURVE25519_64BIT)
948                 1199690223111956, 24028135822341, 66638289244341,
949                 57626156285975, 565093967979607
950 #else
951                 26660628, 17876777, 8393733, 358047, 59707573, 992987, 43204631,
952                 858696, 20571223, 8420556
953 #endif
954             }},
955             {{
956 #if defined(BORINGSSL_CURVE25519_64BIT)
957                 876926774220824, 554618976488214, 1012056309841565,
958                 839961821554611, 1414499340307677
959 #else
960                 14620696, 13067227, 51661590, 8264466, 14106269, 15080814,
961                 33531827, 12516406, 45534429, 21077682
962 #endif
963             }},
964             {{
965 #if defined(BORINGSSL_CURVE25519_64BIT)
966                 703047626104145, 1266841406201770, 165556500219173,
967                 486991595001879, 1011325891650656
968 #else
969                 236881, 10476226, 57258, 18877408, 6472997, 2466984, 17258519,
970                 7256740, 8791136, 15069930
971 #endif
972             }},
973         },
974         {
975             {{
976 #if defined(BORINGSSL_CURVE25519_64BIT)
977                 1622861044480487, 1156394801573634, 1869132565415504,
978                 327103985777730, 2095342781472284
979 #else
980                 1276391, 24182514, 22949634, 17231625, 43615824, 27852245,
981                 14711874, 4874229, 36445724, 31223040
982 #endif
983             }},
984             {{
985 #if defined(BORINGSSL_CURVE25519_64BIT)
986                 334886927423922, 489511099221528, 129160865966726,
987                 1720809113143481, 619700195649254
988 #else
989                 5855666, 4990204, 53397016, 7294283, 59304582, 1924646,
990                 65685689, 25642053, 34039526, 9234252
991 #endif
992             }},
993             {{
994 #if defined(BORINGSSL_CURVE25519_64BIT)
995                 1646545795166119, 1758370782583567, 714746174550637,
996                 1472693650165135, 898994790308209
997 #else
998                 20590503, 24535444, 31529743, 26201766, 64402029, 10650547,
999                 31559055, 21944845, 18979185, 13396066
1000 #endif
1001             }},
1002         },
1003         {
1004             {{
1005 #if defined(BORINGSSL_CURVE25519_64BIT)
1006                 333403773039279, 295772542452938, 1693106465353610,
1007                 912330357530760, 471235657950362
1008 #else
1009                 24474287, 4968103, 22267082, 4407354, 24063882, 25229252,
1010                 48291976, 13594781, 33514650, 7021958
1011 #endif
1012             }},
1013             {{
1014 #if defined(BORINGSSL_CURVE25519_64BIT)
1015                 1811196219982022, 1068969825533602, 289602974833439,
1016                 1988956043611592, 863562343398367
1017 #else
1018                 55541958, 26988926, 45743778, 15928891, 40950559, 4315420,
1019                 41160136, 29637754, 45628383, 12868081
1020 #endif
1021             }},
1022             {{
1023 #if defined(BORINGSSL_CURVE25519_64BIT)
1024                 906282429780072, 2108672665779781, 432396390473936,
1025                 150625823801893, 1708930497638539
1026 #else
1027                 38473832, 13504660, 19988037, 31421671, 21078224, 6443208,
1028                 45662757, 2244499, 54653067, 25465048
1029 #endif
1030             }},
1031         },
1032         {
1033             {{
1034 #if defined(BORINGSSL_CURVE25519_64BIT)
1035                 925664675702328, 21416848568684, 1831436641861340,
1036                 601157008940113, 371818055044496
1037 #else
1038                 36513336, 13793478, 61256044, 319135, 41385692, 27290532,
1039                 33086545, 8957937, 51875216, 5540520
1040 #endif
1041             }},
1042             {{
1043 #if defined(BORINGSSL_CURVE25519_64BIT)
1044                 1479786007267725, 1738881859066675, 68646196476567,
1045                 2146507056100328, 1247662817535471
1046 #else
1047                 55478669, 22050529, 58989363, 25911358, 2620055, 1022908,
1048                 43398120, 31985447, 50980335, 18591624
1049 #endif
1050             }},
1051             {{
1052 #if defined(BORINGSSL_CURVE25519_64BIT)
1053                 52035296774456, 939969390708103, 312023458773250,
1054                 59873523517659, 1231345905848899
1055 #else
1056                 23152952, 775386, 27395463, 14006635, 57407746, 4649511,
1057                 1689819, 892185, 55595587, 18348483
1058 #endif
1059             }},
1060         },
1061         {
1062             {{
1063 #if defined(BORINGSSL_CURVE25519_64BIT)
1064                 643355106415761, 290186807495774, 2013561737429023,
1065                 319648069511546, 393736678496162
1066 #else
1067                 9770129, 9586738, 26496094, 4324120, 1556511, 30004408,
1068                 27453818, 4763127, 47929250, 5867133
1069 #endif
1070             }},
1071             {{
1072 #if defined(BORINGSSL_CURVE25519_64BIT)
1073                 129358342392716, 1932811617704777, 1176749390799681,
1074                 398040349861790, 1170779668090425
1075 #else
1076                 34343820, 1927589, 31726409, 28801137, 23962433, 17534932,
1077                 27846558, 5931263, 37359161, 17445976
1078 #endif
1079             }},
1080             {{
1081 #if defined(BORINGSSL_CURVE25519_64BIT)
1082                 2051980782668029, 121859921510665, 2048329875753063,
1083                 1235229850149665, 519062146124755
1084 #else
1085                 27461885, 30576896, 22380809, 1815854, 44075111, 30522493,
1086                 7283489, 18406359, 47582163, 7734628
1087 #endif
1088             }},
1089         },
1090     },
1091     {
1092         {
1093             {{
1094 #if defined(BORINGSSL_CURVE25519_64BIT)
1095                 1608170971973096, 415809060360428, 1350468408164766,
1096                 2038620059057678, 1026904485989112
1097 #else
1098                 59098600, 23963614, 55988460, 6196037, 29344158, 20123547,
1099                 7585294, 30377806, 18549496, 15302069
1100 #endif
1101             }},
1102             {{
1103 #if defined(BORINGSSL_CURVE25519_64BIT)
1104                 1837656083115103, 1510134048812070, 906263674192061,
1105                 1821064197805734, 565375124676301
1106 #else
1107                 34450527, 27383209, 59436070, 22502750, 6258877, 13504381,
1108                 10458790, 27135971, 58236621, 8424745
1109 #endif
1110             }},
1111             {{
1112 #if defined(BORINGSSL_CURVE25519_64BIT)
1113                 578027192365650, 2034800251375322, 2128954087207123,
1114                 478816193810521, 2196171989962750
1115 #else
1116                 24687186, 8613276, 36441818, 30320886, 1863891, 31723888,
1117                 19206233, 7134917, 55824382, 32725512
1118 #endif
1119             }},
1120         },
1121         {
1122             {{
1123 #if defined(BORINGSSL_CURVE25519_64BIT)
1124                 1633188840273139, 852787172373708, 1548762607215796,
1125                 1266275218902681, 1107218203325133
1126 #else
1127                 11334899, 24336410, 8025292, 12707519, 17523892, 23078361,
1128                 10243737, 18868971, 62042829, 16498836
1129 #endif
1130             }},
1131             {{
1132 #if defined(BORINGSSL_CURVE25519_64BIT)
1133                 462189358480054, 1784816734159228, 1611334301651368,
1134                 1303938263943540, 707589560319424
1135 #else
1136                 8911542, 6887158, 57524604, 26595841, 11145640, 24010752,
1137                 17303924, 19430194, 6536640, 10543906
1138 #endif
1139             }},
1140             {{
1141 #if defined(BORINGSSL_CURVE25519_64BIT)
1142                 1038829280972848, 38176604650029, 753193246598573,
1143                 1136076426528122, 595709990562434
1144 #else
1145                 38162480, 15479762, 49642029, 568875, 65611181, 11223453,
1146                 64439674, 16928857, 39873154, 8876770
1147 #endif
1148             }},
1149         },
1150         {
1151             {{
1152 #if defined(BORINGSSL_CURVE25519_64BIT)
1153                 1408451820859834, 2194984964010833, 2198361797561729,
1154                 1061962440055713, 1645147963442934
1155 #else
1156                 41365946, 20987567, 51458897, 32707824, 34082177, 32758143,
1157                 33627041, 15824473, 66504438, 24514614
1158 #endif
1159             }},
1160             {{
1161 #if defined(BORINGSSL_CURVE25519_64BIT)
1162                 4701053362120, 1647641066302348, 1047553002242085,
1163                 1923635013395977, 206970314902065
1164 #else
1165                 10330056, 70051, 7957388, 24551765, 9764901, 15609756, 27698697,
1166                 28664395, 1657393, 3084098
1167 #endif
1168             }},
1169             {{
1170 #if defined(BORINGSSL_CURVE25519_64BIT)
1171                 1750479161778571, 1362553355169293, 1891721260220598,
1172                 966109370862782, 1024913988299801
1173 #else
1174                 10477963, 26084172, 12119565, 20303627, 29016246, 28188843,
1175                 31280318, 14396151, 36875289, 15272408
1176 #endif
1177             }},
1178         },
1179         {
1180             {{
1181 #if defined(BORINGSSL_CURVE25519_64BIT)
1182                 212699049131723, 1117950018299775, 1873945661751056,
1183                 1403802921984058, 130896082652698
1184 #else
1185                 54820555, 3169462, 28813183, 16658753, 25116432, 27923966,
1186                 41934906, 20918293, 42094106, 1950503
1187 #endif
1188             }},
1189             {{
1190 #if defined(BORINGSSL_CURVE25519_64BIT)
1191                 636808533673210, 1262201711667560, 390951380330599,
1192                 1663420692697294, 561951321757406
1193 #else
1194                 40928506, 9489186, 11053416, 18808271, 36055143, 5825629,
1195                 58724558, 24786899, 15341278, 8373727
1196 #endif
1197             }},
1198             {{
1199 #if defined(BORINGSSL_CURVE25519_64BIT)
1200                 520731594438141, 1446301499955692, 273753264629267,
1201                 1565101517999256, 1019411827004672
1202 #else
1203                 28685821, 7759505, 52730348, 21551571, 35137043, 4079241,
1204                 298136, 23321830, 64230656, 15190419
1205 #endif
1206             }},
1207         },
1208         {
1209             {{
1210 #if defined(BORINGSSL_CURVE25519_64BIT)
1211                 926527492029409, 1191853477411379, 734233225181171,
1212                 184038887541270, 1790426146325343
1213 #else
1214                 34175969, 13806335, 52771379, 17760000, 43104243, 10940927,
1215                 8669718, 2742393, 41075551, 26679428
1216 #endif
1217             }},
1218             {{
1219 #if defined(BORINGSSL_CURVE25519_64BIT)
1220                 1464651961852572, 1483737295721717, 1519450561335517,
1221                 1161429831763785, 405914998179977
1222 #else
1223                 65528476, 21825014, 41129205, 22109408, 49696989, 22641577,
1224                 9291593, 17306653, 54954121, 6048604
1225 #endif
1226             }},
1227             {{
1228 #if defined(BORINGSSL_CURVE25519_64BIT)
1229                 996126634382301, 796204125879525, 127517800546509,
1230                 344155944689303, 615279846169038
1231 #else
1232                 36803549, 14843443, 1539301, 11864366, 20201677, 1900163,
1233                 13934231, 5128323, 11213262, 9168384
1234 #endif
1235             }},
1236         },
1237         {
1238             {{
1239 #if defined(BORINGSSL_CURVE25519_64BIT)
1240                 738724080975276, 2188666632415296, 1961313708559162,
1241                 1506545807547587, 1151301638969740
1242 #else
1243                 40828332, 11007846, 19408960, 32613674, 48515898, 29225851,
1244                 62020803, 22449281, 20470156, 17155731
1245 #endif
1246             }},
1247             {{
1248 #if defined(BORINGSSL_CURVE25519_64BIT)
1249                 622917337413835, 1218989177089035, 1284857712846592,
1250                 970502061709359, 351025208117090
1251 #else
1252                 43972811, 9282191, 14855179, 18164354, 59746048, 19145871,
1253                 44324911, 14461607, 14042978, 5230683
1254 #endif
1255             }},
1256             {{
1257 #if defined(BORINGSSL_CURVE25519_64BIT)
1258                 2067814584765580, 1677855129927492, 2086109782475197,
1259                 235286517313238, 1416314046739645
1260 #else
1261                 29969548, 30812838, 50396996, 25001989, 9175485, 31085458,
1262                 21556950, 3506042, 61174973, 21104723
1263 #endif
1264             }},
1265         },
1266         {
1267             {{
1268 #if defined(BORINGSSL_CURVE25519_64BIT)
1269                 586844262630358, 307444381952195, 458399356043426,
1270                 602068024507062, 1028548203415243
1271 #else
1272                 63964118, 8744660, 19704003, 4581278, 46678178, 6830682,
1273                 45824694, 8971512, 38569675, 15326562
1274 #endif
1275             }},
1276             {{
1277 #if defined(BORINGSSL_CURVE25519_64BIT)
1278                 678489922928203, 2016657584724032, 90977383049628,
1279                 1026831907234582, 615271492942522
1280 #else
1281                 47644235, 10110287, 49846336, 30050539, 43608476, 1355668,
1282                 51585814, 15300987, 46594746, 9168259
1283 #endif
1284             }},
1285             {{
1286 #if defined(BORINGSSL_CURVE25519_64BIT)
1287                 301225714012278, 1094837270268560, 1202288391010439,
1288                 644352775178361, 1647055902137983
1289 #else
1290                 61755510, 4488612, 43305616, 16314346, 7780487, 17915493,
1291                 38160505, 9601604, 33087103, 24543045
1292 #endif
1293             }},
1294         },
1295         {
1296             {{
1297 #if defined(BORINGSSL_CURVE25519_64BIT)
1298                 1210746697896478, 1416608304244708, 686487477217856,
1299                 1245131191434135, 1051238336855737
1300 #else
1301                 47665694, 18041531, 46311396, 21109108, 37284416, 10229460,
1302                 39664535, 18553900, 61111993, 15664671
1303 #endif
1304             }},
1305             {{
1306 #if defined(BORINGSSL_CURVE25519_64BIT)
1307                 1135604073198207, 1683322080485474, 769147804376683,
1308                 2086688130589414, 900445683120379
1309 #else
1310                 23294591, 16921819, 44458082, 25083453, 27844203, 11461195,
1311                 13099750, 31094076, 18151675, 13417686
1312 #endif
1313             }},
1314             {{
1315 #if defined(BORINGSSL_CURVE25519_64BIT)
1316                 1971518477615628, 401909519527336, 448627091057375,
1317                 1409486868273821, 1214789035034363
1318 #else
1319                 42385932, 29377914, 35958184, 5988918, 40250079, 6685064,
1320                 1661597, 21002991, 15271675, 18101767
1321 #endif
1322             }},
1323         },
1324     },
1325     {
1326         {
1327             {{
1328 #if defined(BORINGSSL_CURVE25519_64BIT)
1329                 1364039144731711, 1897497433586190, 2203097701135459,
1330                 145461396811251, 1349844460790699
1331 #else
1332                 11433023, 20325767, 8239630, 28274915, 65123427, 32828713,
1333                 48410099, 2167543, 60187563, 20114249
1334 #endif
1335             }},
1336             {{
1337 #if defined(BORINGSSL_CURVE25519_64BIT)
1338                 1045230323257973, 818206601145807, 630513189076103,
1339                 1672046528998132, 807204017562437
1340 #else
1341                 35672693, 15575145, 30436815, 12192228, 44645511, 9395378,
1342                 57191156, 24915434, 12215109, 12028277
1343 #endif
1344             }},
1345             {{
1346 #if defined(BORINGSSL_CURVE25519_64BIT)
1347                 439961968385997, 386362664488986, 1382706320807688,
1348                 309894000125359, 2207801346498567
1349 #else
1350                 14098381, 6555944, 23007258, 5757252, 51681032, 20603929,
1351                 30123439, 4617780, 50208775, 32898803
1352 #endif
1353             }},
1354         },
1355         {
1356             {{
1357 #if defined(BORINGSSL_CURVE25519_64BIT)
1358                 1229004686397588, 920643968530863, 123975893911178,
1359                 681423993215777, 1400559197080973
1360 #else
1361                 63082644, 18313596, 11893167, 13718664, 52299402, 1847384,
1362                 51288865, 10154008, 23973261, 20869958
1363 #endif
1364             }},
1365             {{
1366 #if defined(BORINGSSL_CURVE25519_64BIT)
1367                 2003766096898049, 170074059235165, 1141124258967971,
1368                 1485419893480973, 1573762821028725
1369 #else
1370                 40577025, 29858441, 65199965, 2534300, 35238307, 17004076,
1371                 18341389, 22134481, 32013173, 23450893
1372 #endif
1373             }},
1374             {{
1375 #if defined(BORINGSSL_CURVE25519_64BIT)
1376                 729905708611432, 1270323270673202, 123353058984288,
1377                 426460209632942, 2195574535456672
1378 #else
1379                 41629544, 10876442, 55337778, 18929291, 54739296, 1838103,
1380                 21911214, 6354752, 4425632, 32716610
1381 #endif
1382             }},
1383         },
1384         {
1385             {{
1386 #if defined(BORINGSSL_CURVE25519_64BIT)
1387                 1271140255321235, 2044363183174497, 52125387634689,
1388                 1445120246694705, 942541986339084
1389 #else
1390                 56675475, 18941465, 22229857, 30463385, 53917697, 776728,
1391                 49693489, 21533969, 4725004, 14044970
1392 #endif
1393             }},
1394             {{
1395 #if defined(BORINGSSL_CURVE25519_64BIT)
1396                 1761608437466135, 583360847526804, 1586706389685493,
1397                 2157056599579261, 1170692369685772
1398 #else
1399                 19268631, 26250011, 1555348, 8692754, 45634805, 23643767,
1400                 6347389, 32142648, 47586572, 17444675
1401 #endif
1402             }},
1403             {{
1404 #if defined(BORINGSSL_CURVE25519_64BIT)
1405                 871476219910823, 1878769545097794, 2241832391238412,
1406                 548957640601001, 690047440233174
1407 #else
1408                 42244775, 12986007, 56209986, 27995847, 55796492, 33405905,
1409                 19541417, 8180106, 9282262, 10282508
1410 #endif
1411             }},
1412         },
1413         {
1414             {{
1415 #if defined(BORINGSSL_CURVE25519_64BIT)
1416                 297194732135507, 1366347803776820, 1301185512245601,
1417                 561849853336294, 1533554921345731
1418 #else
1419                 40903763, 4428546, 58447668, 20360168, 4098401, 19389175,
1420                 15522534, 8372215, 5542595, 22851749
1421 #endif
1422             }},
1423             {{
1424 #if defined(BORINGSSL_CURVE25519_64BIT)
1425                 999628998628371, 1132836708493400, 2084741674517453,
1426                 469343353015612, 678782988708035
1427 #else
1428                 56546323, 14895632, 26814552, 16880582, 49628109, 31065071,
1429                 64326972, 6993760, 49014979, 10114654
1430 #endif
1431             }},
1432             {{
1433 #if defined(BORINGSSL_CURVE25519_64BIT)
1434                 2189427607417022, 699801937082607, 412764402319267,
1435                 1478091893643349, 2244675696854460
1436 #else
1437                 47001790, 32625013, 31422703, 10427861, 59998115, 6150668,
1438                 38017109, 22025285, 25953724, 33448274
1439 #endif
1440             }},
1441         },
1442         {
1443             {{
1444 #if defined(BORINGSSL_CURVE25519_64BIT)
1445                 1712292055966563, 204413590624874, 1405738637332841,
1446                 408981300829763, 861082219276721
1447 #else
1448                 62874467, 25515139, 57989738, 3045999, 2101609, 20947138,
1449                 19390019, 6094296, 63793585, 12831124
1450 #endif
1451             }},
1452             {{
1453 #if defined(BORINGSSL_CURVE25519_64BIT)
1454                 508561155940631, 966928475686665, 2236717801150132,
1455                 424543858577297, 2089272956986143
1456 #else
1457                 51110167, 7578151, 5310217, 14408357, 33560244, 33329692,
1458                 31575953, 6326196, 7381791, 31132593
1459 #endif
1460             }},
1461             {{
1462 #if defined(BORINGSSL_CURVE25519_64BIT)
1463                 221245220129925, 1156020201681217, 491145634799213,
1464                 542422431960839, 828100817819207
1465 #else
1466                 46206085, 3296810, 24736065, 17226043, 18374253, 7318640,
1467                 6295303, 8082724, 51746375, 12339663
1468 #endif
1469             }},
1470         },
1471         {
1472             {{
1473 #if defined(BORINGSSL_CURVE25519_64BIT)
1474                 153756971240384, 1299874139923977, 393099165260502,
1475                 1058234455773022, 996989038681183
1476 #else
1477                 27724736, 2291157, 6088201, 19369634, 1792726, 5857634,
1478                 13848414, 15768922, 25091167, 14856294
1479 #endif
1480             }},
1481             {{
1482 #if defined(BORINGSSL_CURVE25519_64BIT)
1483                 559086812798481, 573177704212711, 1629737083816402,
1484                 1399819713462595, 1646954378266038
1485 #else
1486                 48242193, 8331042, 24373479, 8541013, 66406866, 24284974,
1487                 12927299, 20858939, 44926390, 24541532
1488 #endif
1489             }},
1490             {{
1491 #if defined(BORINGSSL_CURVE25519_64BIT)
1492                 1887963056288059, 228507035730124, 1468368348640282,
1493                 930557653420194, 613513962454686
1494 #else
1495                 55685435, 28132841, 11632844, 3405020, 30536730, 21880393,
1496                 39848098, 13866389, 30146206, 9142070
1497 #endif
1498             }},
1499         },
1500         {
1501             {{
1502 #if defined(BORINGSSL_CURVE25519_64BIT)
1503                 1224529808187553, 1577022856702685, 2206946542980843,
1504                 625883007765001, 279930793512158
1505 #else
1506                 3924129, 18246916, 53291741, 23499471, 12291819, 32886066,
1507                 39406089, 9326383, 58871006, 4171293
1508 #endif
1509             }},
1510             {{
1511 #if defined(BORINGSSL_CURVE25519_64BIT)
1512                 1076287717051609, 1114455570543035, 187297059715481,
1513                 250446884292121, 1885187512550540
1514 #else
1515                 51186905, 16037936, 6713787, 16606682, 45496729, 2790943,
1516                 26396185, 3731949, 345228, 28091483
1517 #endif
1518             }},
1519             {{
1520 #if defined(BORINGSSL_CURVE25519_64BIT)
1521                 902497362940219, 76749815795675, 1657927525633846,
1522                 1420238379745202, 1340321636548352
1523 #else
1524                 45781307, 13448258, 25284571, 1143661, 20614966, 24705045,
1525                 2031538, 21163201, 50855680, 19972348
1526 #endif
1527             }},
1528         },
1529         {
1530             {{
1531 #if defined(BORINGSSL_CURVE25519_64BIT)
1532                 1129576631190784, 1281994010027327, 996844254743018,
1533                 257876363489249, 1150850742055018
1534 #else
1535                 31016192, 16832003, 26371391, 19103199, 62081514, 14854136,
1536                 17477601, 3842657, 28012650, 17149012
1537 #endif
1538             }},
1539             {{
1540 #if defined(BORINGSSL_CURVE25519_64BIT)
1541                 628740660038789, 1943038498527841, 467786347793886,
1542                 1093341428303375, 235413859513003
1543 #else
1544                 62033029, 9368965, 58546785, 28953529, 51858910, 6970559,
1545                 57918991, 16292056, 58241707, 3507939
1546 #endif
1547             }},
1548             {{
1549 #if defined(BORINGSSL_CURVE25519_64BIT)
1550                 237425418909360, 469614029179605, 1512389769174935,
1551                 1241726368345357, 441602891065214
1552 #else
1553                 29439664, 3537914, 23333589, 6997794, 49553303, 22536363,
1554                 51899661, 18503164, 57943934, 6580395
1555 #endif
1556             }},
1557         },
1558     },
1559     {
1560         {
1561             {{
1562 #if defined(BORINGSSL_CURVE25519_64BIT)
1563                 1736417953058555, 726531315520508, 1833335034432527,
1564                 1629442561574747, 624418919286085
1565 #else
1566                 54923003, 25874643, 16438268, 10826160, 58412047, 27318820,
1567                 17860443, 24280586, 65013061, 9304566
1568 #endif
1569             }},
1570             {{
1571 #if defined(BORINGSSL_CURVE25519_64BIT)
1572                 1960754663920689, 497040957888962, 1909832851283095,
1573                 1271432136996826, 2219780368020940
1574 #else
1575                 20714545, 29217521, 29088194, 7406487, 11426967, 28458727,
1576                 14792666, 18945815, 5289420, 33077305
1577 #endif
1578             }},
1579             {{
1580 #if defined(BORINGSSL_CURVE25519_64BIT)
1581                 1537037379417136, 1358865369268262, 2130838645654099,
1582                 828733687040705, 1999987652890901
1583 #else
1584                 50443312, 22903641, 60948518, 20248671, 9192019, 31751970,
1585                 17271489, 12349094, 26939669, 29802138
1586 #endif
1587             }},
1588         },
1589         {
1590             {{
1591 #if defined(BORINGSSL_CURVE25519_64BIT)
1592                 629042105241814, 1098854999137608, 887281544569320,
1593                 1423102019874777, 7911258951561
1594 #else
1595                 54218966, 9373457, 31595848, 16374215, 21471720, 13221525,
1596                 39825369, 21205872, 63410057, 117886
1597 #endif
1598             }},
1599             {{
1600 #if defined(BORINGSSL_CURVE25519_64BIT)
1601                 1811562332665373, 1501882019007673, 2213763501088999,
1602                 359573079719636, 36370565049116
1603 #else
1604                 22263325, 26994382, 3984569, 22379786, 51994855, 32987646,
1605                 28311252, 5358056, 43789084, 541963
1606 #endif
1607             }},
1608             {{
1609 #if defined(BORINGSSL_CURVE25519_64BIT)
1610                 218907117361280, 1209298913016966, 1944312619096112,
1611                 1130690631451061, 1342327389191701
1612 #else
1613                 16259200, 3261970, 2309254, 18019958, 50223152, 28972515,
1614                 24134069, 16848603, 53771797, 20002236
1615 #endif
1616             }},
1617         },
1618         {
1619             {{
1620 #if defined(BORINGSSL_CURVE25519_64BIT)
1621                 1369976867854704, 1396479602419169, 1765656654398856,
1622                 2203659200586299, 998327836117241
1623 #else
1624                 9378160, 20414246, 44262881, 20809167, 28198280, 26310334,
1625                 64709179, 32837080, 690425, 14876244
1626 #endif
1627             }},
1628             {{
1629 #if defined(BORINGSSL_CURVE25519_64BIT)
1630                 2230701885562825, 1348173180338974, 2172856128624598,
1631                 1426538746123771, 444193481326151
1632 #else
1633                 24977353, 33240048, 58884894, 20089345, 28432342, 32378079,
1634                 54040059, 21257083, 44727879, 6618998
1635 #endif
1636             }},
1637             {{
1638 #if defined(BORINGSSL_CURVE25519_64BIT)
1639                 784210426627951, 918204562375674, 1284546780452985,
1640                 1324534636134684, 1872449409642708
1641 #else
1642                 65570671, 11685645, 12944378, 13682314, 42719353, 19141238,
1643                 8044828, 19737104, 32239828, 27901670
1644 #endif
1645             }},
1646         },
1647         {
1648             {{
1649 #if defined(BORINGSSL_CURVE25519_64BIT)
1650                 319638829540294, 596282656808406, 2037902696412608,
1651                 1557219121643918, 341938082688094
1652 #else
1653                 48505798, 4762989, 66182614, 8885303, 38696384, 30367116,
1654                 9781646, 23204373, 32779358, 5095274
1655 #endif
1656             }},
1657             {{
1658 #if defined(BORINGSSL_CURVE25519_64BIT)
1659                 1901860206695915, 2004489122065736, 1625847061568236,
1660                 973529743399879, 2075287685312905
1661 #else
1662                 34100715, 28339925, 34843976, 29869215, 9460460, 24227009,
1663                 42507207, 14506723, 21639561, 30924196
1664 #endif
1665             }},
1666             {{
1667 #if defined(BORINGSSL_CURVE25519_64BIT)
1668                 1371853944110545, 1042332820512553, 1949855697918254,
1669                 1791195775521505, 37487364849293
1670 #else
1671                 50707921, 20442216, 25239337, 15531969, 3987758, 29055114,
1672                 65819361, 26690896, 17874573, 558605
1673 #endif
1674             }},
1675         },
1676         {
1677             {{
1678 #if defined(BORINGSSL_CURVE25519_64BIT)
1679                 687200189577855, 1082536651125675, 644224940871546,
1680                 340923196057951, 343581346747396
1681 #else
1682                 53508735, 10240080, 9171883, 16131053, 46239610, 9599699,
1683                 33499487, 5080151, 2085892, 5119761
1684 #endif
1685             }},
1686             {{
1687 #if defined(BORINGSSL_CURVE25519_64BIT)
1688                 2082717129583892, 27829425539422, 145655066671970,
1689                 1690527209845512, 1865260509673478
1690 #else
1691                 44903700, 31034903, 50727262, 414690, 42089314, 2170429,
1692                 30634760, 25190818, 35108870, 27794547
1693 #endif
1694             }},
1695             {{
1696 #if defined(BORINGSSL_CURVE25519_64BIT)
1697                 1059729620568824, 2163709103470266, 1440302280256872,
1698                 1769143160546397, 869830310425069
1699 #else
1700                 60263160, 15791201, 8550074, 32241778, 29928808, 21462176,
1701                 27534429, 26362287, 44757485, 12961481
1702 #endif
1703             }},
1704         },
1705         {
1706             {{
1707 #if defined(BORINGSSL_CURVE25519_64BIT)
1708                 1609516219779025, 777277757338817, 2101121130363987,
1709                 550762194946473, 1905542338659364
1710 #else
1711                 42616785, 23983660, 10368193, 11582341, 43711571, 31309144,
1712                 16533929, 8206996, 36914212, 28394793
1713 #endif
1714             }},
1715             {{
1716 #if defined(BORINGSSL_CURVE25519_64BIT)
1717                 2024821921041576, 426948675450149, 595133284085473,
1718                 471860860885970, 600321679413000
1719 #else
1720                 55987368, 30172197, 2307365, 6362031, 66973409, 8868176,
1721                 50273234, 7031274, 7589640, 8945490
1722 #endif
1723             }},
1724             {{
1725 #if defined(BORINGSSL_CURVE25519_64BIT)
1726                 598474602406721, 1468128276358244, 1191923149557635,
1727                 1501376424093216, 1281662691293476
1728 #else
1729                 34956097, 8917966, 6661220, 21876816, 65916803, 17761038,
1730                 7251488, 22372252, 24099108, 19098262
1731 #endif
1732             }},
1733         },
1734         {
1735             {{
1736 #if defined(BORINGSSL_CURVE25519_64BIT)
1737                 1721138489890707, 1264336102277790, 433064545421287,
1738                 1359988423149466, 1561871293409447
1739 #else
1740                 5019539, 25646962, 4244126, 18840076, 40175591, 6453164,
1741                 47990682, 20265406, 60876967, 23273695
1742 #endif
1743             }},
1744             {{
1745 #if defined(BORINGSSL_CURVE25519_64BIT)
1746                 719520245587143, 393380711632345, 132350400863381,
1747                 1543271270810729, 1819543295798660
1748 #else
1749                 10853575, 10721687, 26480089, 5861829, 44113045, 1972174,
1750                 65242217, 22996533, 63745412, 27113307
1751 #endif
1752             }},
1753             {{
1754 #if defined(BORINGSSL_CURVE25519_64BIT)
1755                 396397949784152, 1811354474471839, 1362679985304303,
1756                 2117033964846756, 498041172552279
1757 #else
1758                 50106456, 5906789, 221599, 26991285, 7828207, 20305514,
1759                 24362660, 31546264, 53242455, 7421391
1760 #endif
1761             }},
1762         },
1763         {
1764             {{
1765 #if defined(BORINGSSL_CURVE25519_64BIT)
1766                 1812471844975748, 1856491995543149, 126579494584102,
1767                 1036244859282620, 1975108050082550
1768 #else
1769                 8139908, 27007935, 32257645, 27663886, 30375718, 1886181,
1770                 45933756, 15441251, 28826358, 29431403
1771 #endif
1772             }},
1773             {{
1774 #if defined(BORINGSSL_CURVE25519_64BIT)
1775                 650623932407995, 1137551288410575, 2125223403615539,
1776                 1725658013221271, 2134892965117796
1777 #else
1778                 6267067, 9695052, 7709135, 16950835, 34239795, 31668296,
1779                 14795159, 25714308, 13746020, 31812384
1780 #endif
1781             }},
1782             {{
1783 #if defined(BORINGSSL_CURVE25519_64BIT)
1784                 522584000310195, 1241762481390450, 1743702789495384,
1785                 2227404127826575, 1686746002148897
1786 #else
1787                 28584883, 7787108, 60375922, 18503702, 22846040, 25983196,
1788                 63926927, 33190907, 4771361, 25134474
1789 #endif
1790             }},
1791         },
1792     },
1793     {
1794         {
1795             {{
1796 #if defined(BORINGSSL_CURVE25519_64BIT)
1797                 427904865186312, 1703211129693455, 1585368107547509,
1798                 1436984488744336, 761188534613978
1799 #else
1800                 24949256, 6376279, 39642383, 25379823, 48462709, 23623825,
1801                 33543568, 21412737, 3569626, 11342593
1802 #endif
1803             }},
1804             {{
1805 #if defined(BORINGSSL_CURVE25519_64BIT)
1806                 318101947455002, 248138407995851, 1481904195303927,
1807                 309278454311197, 1258516760217879
1808 #else
1809                 26514970, 4740088, 27912651, 3697550, 19331575, 22082093,
1810                 6809885, 4608608, 7325975, 18753361
1811 #endif
1812             }},
1813             {{
1814 #if defined(BORINGSSL_CURVE25519_64BIT)
1815                 1275068538599310, 513726919533379, 349926553492294,
1816                 688428871968420, 1702400196000666
1817 #else
1818                 55490446, 19000001, 42787651, 7655127, 65739590, 5214311,
1819                 39708324, 10258389, 49462170, 25367739
1820 #endif
1821             }},
1822         },
1823         {
1824             {{
1825 #if defined(BORINGSSL_CURVE25519_64BIT)
1826                 1061864036265233, 961611260325381, 321859632700838,
1827                 1045600629959517, 1985130202504038
1828 #else
1829                 11431185, 15823007, 26570245, 14329124, 18029990, 4796082,
1830                 35662685, 15580663, 9280358, 29580745
1831 #endif
1832             }},
1833             {{
1834 #if defined(BORINGSSL_CURVE25519_64BIT)
1835                 1558816436882417, 1962896332636523, 1337709822062152,
1836                 1501413830776938, 294436165831932
1837 #else
1838                 66948081, 23228174, 44253547, 29249434, 46247496, 19933429,
1839                 34297962, 22372809, 51563772, 4387440
1840 #endif
1841             }},
1842             {{
1843 #if defined(BORINGSSL_CURVE25519_64BIT)
1844                 818359826554971, 1862173000996177, 626821592884859,
1845                 573655738872376, 1749691246745455
1846 #else
1847                 46309467, 12194511, 3937617, 27748540, 39954043, 9340369,
1848                 42594872, 8548136, 20617071, 26072431
1849 #endif
1850             }},
1851         },
1852         {
1853             {{
1854 #if defined(BORINGSSL_CURVE25519_64BIT)
1855                 1988022651432119, 1082111498586040, 1834020786104821,
1856                 1454826876423687, 692929915223122
1857 #else
1858                 66170039, 29623845, 58394552, 16124717, 24603125, 27329039,
1859                 53333511, 21678609, 24345682, 10325460
1860 #endif
1861             }},
1862             {{
1863 #if defined(BORINGSSL_CURVE25519_64BIT)
1864                 2146513703733331, 584788900394667, 464965657279958,
1865                 2183973639356127, 238371159456790
1866 #else
1867                 47253587, 31985546, 44906155, 8714033, 14007766, 6928528,
1868                 16318175, 32543743, 4766742, 3552007
1869 #endif
1870             }},
1871             {{
1872 #if defined(BORINGSSL_CURVE25519_64BIT)
1873                 1129007025494441, 2197883144413266, 265142755578169,
1874                 971864464758890, 1983715884903702
1875 #else
1876                 45357481, 16823515, 1351762, 32751011, 63099193, 3950934,
1877                 3217514, 14481909, 10988822, 29559670
1878 #endif
1879             }},
1880         },
1881         {
1882             {{
1883 #if defined(BORINGSSL_CURVE25519_64BIT)
1884                 1291366624493075, 381456718189114, 1711482489312444,
1885                 1815233647702022, 892279782992467
1886 #else
1887                 15564307, 19242862, 3101242, 5684148, 30446780, 25503076,
1888                 12677126, 27049089, 58813011, 13296004
1889 #endif
1890             }},
1891             {{
1892 #if defined(BORINGSSL_CURVE25519_64BIT)
1893                 444548969917454, 1452286453853356, 2113731441506810,
1894                 645188273895859, 810317625309512
1895 #else
1896                 57666574, 6624295, 36809900, 21640754, 62437882, 31497052,
1897                 31521203, 9614054, 37108040, 12074673
1898 #endif
1899             }},
1900             {{
1901 #if defined(BORINGSSL_CURVE25519_64BIT)
1902                 2242724082797924, 1373354730327868, 1006520110883049,
1903                 2147330369940688, 1151816104883620
1904 #else
1905                 4771172, 33419193, 14290748, 20464580, 27992297, 14998318,
1906                 65694928, 31997715, 29832612, 17163397
1907 #endif
1908             }},
1909         },
1910         {
1911             {{
1912 #if defined(BORINGSSL_CURVE25519_64BIT)
1913                 1745720200383796, 1911723143175317, 2056329390702074,
1914                 355227174309849, 879232794371100
1915 #else
1916                 7064884, 26013258, 47946901, 28486894, 48217594, 30641695,
1917                 25825241, 5293297, 39986204, 13101589
1918 #endif
1919             }},
1920             {{
1921 #if defined(BORINGSSL_CURVE25519_64BIT)
1922                 163723479936298, 115424889803150, 1156016391581227,
1923                 1894942220753364, 1970549419986329
1924 #else
1925                 64810282, 2439669, 59642254, 1719964, 39841323, 17225986,
1926                 32512468, 28236839, 36752793, 29363474
1927 #endif
1928             }},
1929             {{
1930 #if defined(BORINGSSL_CURVE25519_64BIT)
1931                 681981452362484, 267208874112496, 1374683991933094,
1932                 638600984916117, 646178654558546
1933 #else
1934                 37102324, 10162315, 33928688, 3981722, 50626726, 20484387,
1935                 14413973, 9515896, 19568978, 9628812
1936 #endif
1937             }},
1938         },
1939         {
1940             {{
1941 #if defined(BORINGSSL_CURVE25519_64BIT)
1942                 13378654854251, 106237307029567, 1944412051589651,
1943                 1841976767925457, 230702819835573
1944 #else
1945                 33053803, 199357, 15894591, 1583059, 27380243, 28973997,
1946                 49269969, 27447592, 60817077, 3437739
1947 #endif
1948             }},
1949             {{
1950 #if defined(BORINGSSL_CURVE25519_64BIT)
1951                 260683893467075, 854060306077237, 913639551980112,
1952                 4704576840123, 280254810808712
1953 #else
1954                 48129987, 3884492, 19469877, 12726490, 15913552, 13614290,
1955                 44147131, 70103, 7463304, 4176122
1956 #endif
1957             }},
1958             {{
1959 #if defined(BORINGSSL_CURVE25519_64BIT)
1960                 715374893080287, 1173334812210491, 1806524662079626,
1961                 1894596008000979, 398905715033393
1962 #else
1963                 39984863, 10659916, 11482427, 17484051, 12771466, 26919315,
1964                 34389459, 28231680, 24216881, 5944158
1965 #endif
1966             }},
1967         },
1968         {
1969             {{
1970 #if defined(BORINGSSL_CURVE25519_64BIT)
1971                 500026409727661, 1596431288195371, 1420380351989370,
1972                 985211561521489, 392444930785633
1973 #else
1974                 8894125, 7450974, 64444715, 23788679, 39028346, 21165316,
1975                 19345745, 14680796, 11632993, 5847885
1976 #endif
1977             }},
1978             {{
1979 #if defined(BORINGSSL_CURVE25519_64BIT)
1980                 2096421546958141, 1922523000950363, 789831022876840,
1981                 427295144688779, 320923973161730
1982 #else
1983                 26942781, 31239115, 9129563, 28647825, 26024104, 11769399,
1984                 55590027, 6367193, 57381634, 4782139
1985 #endif
1986             }},
1987             {{
1988 #if defined(BORINGSSL_CURVE25519_64BIT)
1989                 1927770723575450, 1485792977512719, 1850996108474547,
1990                 551696031508956, 2126047405475647
1991 #else
1992                 19916442, 28726022, 44198159, 22140040, 25606323, 27581991,
1993                 33253852, 8220911, 6358847, 31680575
1994 #endif
1995             }},
1996         },
1997         {
1998             {{
1999 #if defined(BORINGSSL_CURVE25519_64BIT)
2000                 2112099158080148, 742570803909715, 6484558077432,
2001                 1951119898618916, 93090382703416
2002 #else
2003                 801428, 31472730, 16569427, 11065167, 29875704, 96627, 7908388,
2004                 29073952, 53570360, 1387154
2005 #endif
2006             }},
2007             {{
2008 #if defined(BORINGSSL_CURVE25519_64BIT)
2009                 383905201636970, 859946997631870, 855623867637644,
2010                 1017125780577795, 794250831877809
2011 #else
2012                 19646058, 5720633, 55692158, 12814208, 11607948, 12749789,
2013                 14147075, 15156355, 45242033, 11835259
2014 #endif
2015             }},
2016             {{
2017 #if defined(BORINGSSL_CURVE25519_64BIT)
2018                 77571826285752, 999304298101753, 487841111777762,
2019                 1038031143212339, 339066367948762
2020 #else
2021                 19299512, 1155910, 28703737, 14890794, 2925026, 7269399,
2022                 26121523, 15467869, 40548314, 5052482
2023 #endif
2024             }},
2025         },
2026     },
2027     {
2028         {
2029             {{
2030 #if defined(BORINGSSL_CURVE25519_64BIT)
2031                 674994775520533, 266035846330789, 826951213393478,
2032                 1405007746162285, 1781791018620876
2033 #else
2034                 64091413, 10058205, 1980837, 3964243, 22160966, 12322533,
2035                 60677741, 20936246, 12228556, 26550755
2036 #endif
2037             }},
2038             {{
2039 #if defined(BORINGSSL_CURVE25519_64BIT)
2040                 1001412661522686, 348196197067298, 1666614366723946,
2041                 888424995032760, 580747687801357
2042 #else
2043                 32944382, 14922211, 44263970, 5188527, 21913450, 24834489,
2044                 4001464, 13238564, 60994061, 8653814
2045 #endif
2046             }},
2047             {{
2048 #if defined(BORINGSSL_CURVE25519_64BIT)
2049                 1939560076207777, 1409892634407635, 552574736069277,
2050                 383854338280405, 190706709864139
2051 #else
2052                 22865569, 28901697, 27603667, 21009037, 14348957, 8234005,
2053                 24808405, 5719875, 28483275, 2841751
2054 #endif
2055             }},
2056         },
2057         {
2058             {{
2059 #if defined(BORINGSSL_CURVE25519_64BIT)
2060                 2177087163428741, 1439255351721944, 1208070840382793,
2061                 2230616362004769, 1396886392021913
2062 #else
2063                 50687877, 32441126, 66781144, 21446575, 21886281, 18001658,
2064                 65220897, 33238773, 19932057, 20815229
2065 #endif
2066             }},
2067             {{
2068 #if defined(BORINGSSL_CURVE25519_64BIT)
2069                 676962063230039, 1880275537148808, 2046721011602706,
2070                 888463247083003, 1318301552024067
2071 #else
2072                 55452759, 10087520, 58243976, 28018288, 47830290, 30498519,
2073                 3999227, 13239134, 62331395, 19644223
2074 #endif
2075             }},
2076             {{
2077 #if defined(BORINGSSL_CURVE25519_64BIT)
2078                 1466980508178206, 617045217998949, 652303580573628,
2079                 757303753529064, 207583137376902
2080 #else
2081                 1382174, 21859713, 17266789, 9194690, 53784508, 9720080,
2082                 20403944, 11284705, 53095046, 3093229
2083 #endif
2084             }},
2085         },
2086         {
2087             {{
2088 #if defined(BORINGSSL_CURVE25519_64BIT)
2089                 1511056752906902, 105403126891277, 493434892772846,
2090                 1091943425335976, 1802717338077427
2091 #else
2092                 16650902, 22516500, 66044685, 1570628, 58779118, 7352752,
2093                 66806440, 16271224, 43059443, 26862581
2094 #endif
2095             }},
2096             {{
2097 #if defined(BORINGSSL_CURVE25519_64BIT)
2098                 1853982405405128, 1878664056251147, 1528011020803992,
2099                 1019626468153565, 1128438412189035
2100 #else
2101                 45197768, 27626490, 62497547, 27994275, 35364760, 22769138,
2102                 24123613, 15193618, 45456747, 16815042
2103 #endif
2104             }},
2105             {{
2106 #if defined(BORINGSSL_CURVE25519_64BIT)
2107                 1963939888391106, 293456433791664, 697897559513649,
2108                 985882796904380, 796244541237972
2109 #else
2110                 57172930, 29264984, 41829040, 4372841, 2087473, 10399484,
2111                 31870908, 14690798, 17361620, 11864968
2112 #endif
2113             }},
2114         },
2115         {
2116             {{
2117 #if defined(BORINGSSL_CURVE25519_64BIT)
2118                 416770998629779, 389655552427054, 1314476859406756,
2119                 1749382513022778, 1161905598739491
2120 #else
2121                 55801235, 6210371, 13206574, 5806320, 38091172, 19587231,
2122                 54777658, 26067830, 41530403, 17313742
2123 #endif
2124             }},
2125             {{
2126 #if defined(BORINGSSL_CURVE25519_64BIT)
2127                 1428358296490651, 1027115282420478, 304840698058337,
2128                 441410174026628, 1819358356278573
2129 #else
2130                 14668443, 21284197, 26039038, 15305210, 25515617, 4542480,
2131                 10453892, 6577524, 9145645, 27110552
2132 #endif
2133             }},
2134             {{
2135 #if defined(BORINGSSL_CURVE25519_64BIT)
2136                 204943430200135, 1554861433819175, 216426658514651,
2137                 264149070665950, 2047097371738319
2138 #else
2139                 5974855, 3053895, 57675815, 23169240, 35243739, 3225008,
2140                 59136222, 3936127, 61456591, 30504127
2141 #endif
2142             }},
2143         },
2144         {
2145             {{
2146 #if defined(BORINGSSL_CURVE25519_64BIT)
2147                 1934415182909034, 1393285083565062, 516409331772960,
2148                 1157690734993892, 121039666594268
2149 #else
2150                 30625386, 28825032, 41552902, 20761565, 46624288, 7695098,
2151                 17097188, 17250936, 39109084, 1803631
2152 #endif
2153             }},
2154             {{
2155 #if defined(BORINGSSL_CURVE25519_64BIT)
2156                 662035583584445, 286736105093098, 1131773000510616,
2157                 818494214211439, 472943792054479
2158 #else
2159                 63555773, 9865098, 61880298, 4272700, 61435032, 16864731,
2160                 14911343, 12196514, 45703375, 7047411
2161 #endif
2162             }},
2163             {{
2164 #if defined(BORINGSSL_CURVE25519_64BIT)
2165                 665784778135882, 1893179629898606, 808313193813106,
2166                 276797254706413, 1563426179676396
2167 #else
2168                 20093258, 9920966, 55970670, 28210574, 13161586, 12044805,
2169                 34252013, 4124600, 34765036, 23296865
2170 #endif
2171             }},
2172         },
2173         {
2174             {{
2175 #if defined(BORINGSSL_CURVE25519_64BIT)
2176                 945205108984232, 526277562959295, 1324180513733566,
2177                 1666970227868664, 153547609289173
2178 #else
2179                 46320040, 14084653, 53577151, 7842146, 19119038, 19731827,
2180                 4752376, 24839792, 45429205, 2288037
2181 #endif
2182             }},
2183             {{
2184 #if defined(BORINGSSL_CURVE25519_64BIT)
2185                 2031433403516252, 203996615228162, 170487168837083,
2186                 981513604791390, 843573964916831
2187 #else
2188                 40289628, 30270716, 29965058, 3039786, 52635099, 2540456,
2189                 29457502, 14625692, 42289247, 12570231
2190 #endif
2191             }},
2192             {{
2193 #if defined(BORINGSSL_CURVE25519_64BIT)
2194                 1476570093962618, 838514669399805, 1857930577281364,
2195                 2017007352225784, 317085545220047
2196 #else
2197                 66045306, 22002608, 16920317, 12494842, 1278292, 27685323,
2198                 45948920, 30055751, 55134159, 4724942
2199 #endif
2200             }},
2201         },
2202         {
2203             {{
2204 #if defined(BORINGSSL_CURVE25519_64BIT)
2205                 1461557121912842, 1600674043318359, 2157134900399597,
2206                 1670641601940616, 127765583803283
2207 #else
2208                 17960970, 21778898, 62967895, 23851901, 58232301, 32143814,
2209                 54201480, 24894499, 37532563, 1903855
2210 #endif
2211             }},
2212             {{
2213 #if defined(BORINGSSL_CURVE25519_64BIT)
2214                 1293543509393474, 2143624609202546, 1058361566797508,
2215                 214097127393994, 946888515472729
2216 #else
2217                 23134274, 19275300, 56426866, 31942495, 20684484, 15770816,
2218                 54119114, 3190295, 26955097, 14109738
2219 #endif
2220             }},
2221             {{
2222 #if defined(BORINGSSL_CURVE25519_64BIT)
2223                 357067959932916, 1290876214345711, 521245575443703,
2224                 1494975468601005, 800942377643885
2225 #else
2226                 15308788, 5320727, 36995055, 19235554, 22902007, 7767164,
2227                 29425325, 22276870, 31960941, 11934971
2228 #endif
2229             }},
2230         },
2231         {
2232             {{
2233 #if defined(BORINGSSL_CURVE25519_64BIT)
2234                 566116659100033, 820247422481740, 994464017954148,
2235                 327157611686365, 92591318111744
2236 #else
2237                 39713153, 8435795, 4109644, 12222639, 42480996, 14818668,
2238                 20638173, 4875028, 10491392, 1379718
2239 #endif
2240             }},
2241             {{
2242 #if defined(BORINGSSL_CURVE25519_64BIT)
2243                 617256647603209, 1652107761099439, 1857213046645471,
2244                 1085597175214970, 817432759830522
2245 #else
2246                 53949449, 9197840, 3875503, 24618324, 65725151, 27674630,
2247                 33518458, 16176658, 21432314, 12180697
2248 #endif
2249             }},
2250             {{
2251 #if defined(BORINGSSL_CURVE25519_64BIT)
2252                 771808161440705, 1323510426395069, 680497615846440,
2253                 851580615547985, 1320806384849017
2254 #else
2255                 55321537, 11500837, 13787581, 19721842, 44678184, 10140204,
2256                 1465425, 12689540, 56807545, 19681548
2257 #endif
2258             }},
2259         },
2260     },
2261     {
2262         {
2263             {{
2264 #if defined(BORINGSSL_CURVE25519_64BIT)
2265                 1219260086131915, 647169006596815, 79601124759706,
2266                 2161724213426748, 404861897060198
2267 #else
2268                 5414091, 18168391, 46101199, 9643569, 12834970, 1186149,
2269                 64485948, 32212200, 26128230, 6032912
2270 #endif
2271             }},
2272             {{
2273 #if defined(BORINGSSL_CURVE25519_64BIT)
2274                 1327968293887866, 1335500852943256, 1401587164534264,
2275                 558137311952440, 1551360549268902
2276 #else
2277                 40771450, 19788269, 32496024, 19900513, 17847800, 20885276,
2278                 3604024, 8316894, 41233830, 23117073
2279 #endif
2280             }},
2281             {{
2282 #if defined(BORINGSSL_CURVE25519_64BIT)
2283                 417621685193956, 1429953819744454, 396157358457099,
2284                 1940470778873255, 214000046234152
2285 #else
2286                 3296484, 6223048, 24680646, 21307972, 44056843, 5903204,
2287                 58246567, 28915267, 12376616, 3188849
2288 #endif
2289             }},
2290         },
2291         {
2292             {{
2293 #if defined(BORINGSSL_CURVE25519_64BIT)
2294                 1268047918491973, 2172375426948536, 1533916099229249,
2295                 1761293575457130, 1590622667026765
2296 #else
2297                 29190469, 18895386, 27549112, 32370916, 3520065, 22857131,
2298                 32049514, 26245319, 50999629, 23702124
2299 #endif
2300             }},
2301             {{
2302 #if defined(BORINGSSL_CURVE25519_64BIT)
2303                 1627072914981959, 2211603081280073, 1912369601616504,
2304                 1191770436221309, 2187309757525860
2305 #else
2306                 52364359, 24245275, 735817, 32955454, 46701176, 28496527,
2307                 25246077, 17758763, 18640740, 32593455
2308 #endif
2309             }},
2310             {{
2311 #if defined(BORINGSSL_CURVE25519_64BIT)
2312                 1149147819689533, 378692712667677, 828475842424202,
2313                 2218619146419342, 70688125792186
2314 #else
2315                 60180029, 17123636, 10361373, 5642961, 4910474, 12345252,
2316                 35470478, 33060001, 10530746, 1053335
2317 #endif
2318             }},
2319         },
2320         {
2321             {{
2322 #if defined(BORINGSSL_CURVE25519_64BIT)
2323                 1299739417079761, 1438616663452759, 1536729078504412,
2324                 2053896748919838, 1008421032591246
2325 #else
2326                 37842897, 19367626, 53570647, 21437058, 47651804, 22899047,
2327                 35646494, 30605446, 24018830, 15026644
2328 #endif
2329             }},
2330             {{
2331 #if defined(BORINGSSL_CURVE25519_64BIT)
2332                 2040723824657366, 399555637875075, 632543375452995,
2333                 872649937008051, 1235394727030233
2334 #else
2335                 44516310, 30409154, 64819587, 5953842, 53668675, 9425630,
2336                 25310643, 13003497, 64794073, 18408815
2337 #endif
2338             }},
2339             {{
2340 #if defined(BORINGSSL_CURVE25519_64BIT)
2341                 2211311599327900, 2139787259888175, 938706616835350,
2342                 12609661139114, 2081897930719789
2343 #else
2344                 39688860, 32951110, 59064879, 31885314, 41016598, 13987818,
2345                 39811242, 187898, 43942445, 31022696
2346 #endif
2347             }},
2348         },
2349         {
2350             {{
2351 #if defined(BORINGSSL_CURVE25519_64BIT)
2352                 1324994503390450, 336982330582631, 1183998925654177,
2353                 1091654665913274, 48727673971319
2354 #else
2355                 45364466, 19743956, 1844839, 5021428, 56674465, 17642958,
2356                 9716666, 16266922, 62038647, 726098
2357 #endif
2358             }},
2359             {{
2360 #if defined(BORINGSSL_CURVE25519_64BIT)
2361                 1845522914617879, 1222198248335542, 150841072760134,
2362                 1927029069940982, 1189913404498011
2363 #else
2364                 29370903, 27500434, 7334070, 18212173, 9385286, 2247707,
2365                 53446902, 28714970, 30007387, 17731091
2366 #endif
2367             }},
2368             {{
2369 #if defined(BORINGSSL_CURVE25519_64BIT)
2370                 1079559557592645, 2215338383666441, 1903569501302605,
2371                 49033973033940, 305703433934152
2372 #else
2373                 66172485, 16086690, 23751945, 33011114, 65941325, 28365395,
2374                 9137108, 730663, 9835848, 4555336
2375 #endif
2376             }},
2377         },
2378         {
2379             {{
2380 #if defined(BORINGSSL_CURVE25519_64BIT)
2381                 94653405416909, 1386121349852999, 1062130477891762,
2382                 36553947479274, 833669648948846
2383 #else
2384                 43732429, 1410445, 44855111, 20654817, 30867634, 15826977,
2385                 17693930, 544696, 55123566, 12422645
2386 #endif
2387             }},
2388             {{
2389 #if defined(BORINGSSL_CURVE25519_64BIT)
2390                 1432015813136298, 440364795295369, 1395647062821501,
2391                 1976874522764578, 934452372723352
2392 #else
2393                 31117226, 21338698, 53606025, 6561946, 57231997, 20796761,
2394                 61990178, 29457725, 29120152, 13924425
2395 #endif
2396             }},
2397             {{
2398 #if defined(BORINGSSL_CURVE25519_64BIT)
2399                 1296625309219774, 2068273464883862, 1858621048097805,
2400                 1492281814208508, 2235868981918946
2401 #else
2402                 49707966, 19321222, 19675798, 30819676, 56101901, 27695611,
2403                 57724924, 22236731, 7240930, 33317044
2404 #endif
2405             }},
2406         },
2407         {
2408             {{
2409 #if defined(BORINGSSL_CURVE25519_64BIT)
2410                 1490330266465570, 1858795661361448, 1436241134969763,
2411                 294573218899647, 1208140011028933
2412 #else
2413                 35747106, 22207651, 52101416, 27698213, 44655523, 21401660,
2414                 1222335, 4389483, 3293637, 18002689
2415 #endif
2416             }},
2417             {{
2418 #if defined(BORINGSSL_CURVE25519_64BIT)
2419                 1282462923712748, 741885683986255, 2027754642827561,
2420                 518989529541027, 1826610009555945
2421 #else
2422                 50424044, 19110186, 11038543, 11054958, 53307689, 30215898,
2423                 42789283, 7733546, 12796905, 27218610
2424 #endif
2425             }},
2426             {{
2427 #if defined(BORINGSSL_CURVE25519_64BIT)
2428                 1525827120027511, 723686461809551, 1597702369236987,
2429                 244802101764964, 1502833890372311
2430 #else
2431                 58349431, 22736595, 41689999, 10783768, 36493307, 23807620,
2432                 38855524, 3647835, 3222231, 22393970
2433 #endif
2434             }},
2435         },
2436         {
2437             {{
2438 #if defined(BORINGSSL_CURVE25519_64BIT)
2439                 113622036244513, 1233740067745854, 674109952278496,
2440                 2114345180342965, 166764512856263
2441 #else
2442                 18606113, 1693100, 41660478, 18384159, 4112352, 10045021,
2443                 23603893, 31506198, 59558087, 2484984
2444 #endif
2445             }},
2446             {{
2447 #if defined(BORINGSSL_CURVE25519_64BIT)
2448                 2041668749310338, 2184405322203901, 1633400637611036,
2449                 2110682505536899, 2048144390084644
2450 #else
2451                 9255298, 30423235, 54952701, 32550175, 13098012, 24339566,
2452                 16377219, 31451620, 47306788, 30519729
2453 #endif
2454             }},
2455             {{
2456 #if defined(BORINGSSL_CURVE25519_64BIT)
2457                 503058759232932, 760293024620937, 2027152777219493,
2458                 666858468148475, 1539184379870952
2459 #else
2460                 44379556, 7496159, 61366665, 11329248, 19991973, 30206930,
2461                 35390715, 9936965, 37011176, 22935634
2462 #endif
2463             }},
2464         },
2465         {
2466             {{
2467 #if defined(BORINGSSL_CURVE25519_64BIT)
2468                 1916168475367211, 915626432541343, 883217071712575,
2469                 363427871374304, 1976029821251593
2470 #else
2471                 21878571, 28553135, 4338335, 13643897, 64071999, 13160959,
2472                 19708896, 5415497, 59748361, 29445138
2473 #endif
2474             }},
2475             {{
2476 #if defined(BORINGSSL_CURVE25519_64BIT)
2477                 678039535434506, 570587290189340, 1605302676614120,
2478                 2147762562875701, 1706063797091704
2479 #else
2480                 27736842, 10103576, 12500508, 8502413, 63695848, 23920873,
2481                 10436917, 32004156, 43449720, 25422331
2482 #endif
2483             }},
2484             {{
2485 #if defined(BORINGSSL_CURVE25519_64BIT)
2486                 1439489648586438, 2194580753290951, 832380563557396,
2487                 561521973970522, 584497280718389
2488 #else
2489                 19492550, 21450067, 37426887, 32701801, 63900692, 12403436,
2490                 30066266, 8367329, 13243957, 8709688
2491 #endif
2492             }},
2493         },
2494     },
2495     {
2496         {
2497             {{
2498 #if defined(BORINGSSL_CURVE25519_64BIT)
2499                 187989455492609, 681223515948275, 1933493571072456,
2500                 1872921007304880, 488162364135671
2501 #else
2502                 12015105, 2801261, 28198131, 10151021, 24818120, 28811299,
2503                 55914672, 27908697, 5150967, 7274186
2504 #endif
2505             }},
2506             {{
2507 #if defined(BORINGSSL_CURVE25519_64BIT)
2508                 1413466089534451, 410844090765630, 1397263346404072,
2509                 408227143123410, 1594561803147811
2510 #else
2511                 2831347, 21062286, 1478974, 6122054, 23825128, 20820846,
2512                 31097298, 6083058, 31021603, 23760822
2513 #endif
2514             }},
2515             {{
2516 #if defined(BORINGSSL_CURVE25519_64BIT)
2517                 2102170800973153, 719462588665004, 1479649438510153,
2518                 1097529543970028, 1302363283777685
2519 #else
2520                 64578913, 31324785, 445612, 10720828, 53259337, 22048494,
2521                 43601132, 16354464, 15067285, 19406725
2522 #endif
2523             }},
2524         },
2525         {
2526             {{
2527 #if defined(BORINGSSL_CURVE25519_64BIT)
2528                 942065717847195, 1069313679352961, 2007341951411051,
2529                 70973416446291, 1419433790163706
2530 #else
2531                 7840923, 14037873, 33744001, 15934015, 66380651, 29911725,
2532                 21403987, 1057586, 47729402, 21151211
2533 #endif
2534             }},
2535             {{
2536 #if defined(BORINGSSL_CURVE25519_64BIT)
2537                 1146565545556377, 1661971299445212, 406681704748893,
2538                 564452436406089, 1109109865829139
2539 #else
2540                 915865, 17085158, 15608284, 24765302, 42751837, 6060029,
2541                 49737545, 8410996, 59888403, 16527024
2542 #endif
2543             }},
2544             {{
2545 #if defined(BORINGSSL_CURVE25519_64BIT)
2546                 2214421081775077, 1165671861210569, 1890453018796184,
2547                 3556249878661, 442116172656317
2548 #else
2549                 32922597, 32997445, 20336073, 17369864, 10903704, 28169945,
2550                 16957573, 52992, 23834301, 6588044
2551 #endif
2552             }},
2553         },
2554         {
2555             {{
2556 #if defined(BORINGSSL_CURVE25519_64BIT)
2557                 753830546620811, 1666955059895019, 1530775289309243,
2558                 1119987029104146, 2164156153857580
2559 #else
2560                 32752011, 11232950, 3381995, 24839566, 22652987, 22810329,
2561                 17159698, 16689107, 46794284, 32248439
2562 #endif
2563             }},
2564             {{
2565 #if defined(BORINGSSL_CURVE25519_64BIT)
2566                 615171919212796, 1523849404854568, 854560460547503,
2567                 2067097370290715, 1765325848586042
2568 #else
2569                 62419196, 9166775, 41398568, 22707125, 11576751, 12733943,
2570                 7924251, 30802151, 1976122, 26305405
2571 #endif
2572             }},
2573             {{
2574 #if defined(BORINGSSL_CURVE25519_64BIT)
2575                 1094538949313667, 1796592198908825, 870221004284388,
2576                 2025558921863561, 1699010892802384
2577 #else
2578                 21251203, 16309901, 64125849, 26771309, 30810596, 12967303,
2579                 156041, 30183180, 12331344, 25317235
2580 #endif
2581             }},
2582         },
2583         {
2584             {{
2585 #if defined(BORINGSSL_CURVE25519_64BIT)
2586                 1951351290725195, 1916457206844795, 198025184438026,
2587                 1909076887557595, 1938542290318919
2588 #else
2589                 8651595, 29077400, 51023227, 28557437, 13002506, 2950805,
2590                 29054427, 28447462, 10008135, 28886531
2591 #endif
2592             }},
2593             {{
2594 #if defined(BORINGSSL_CURVE25519_64BIT)
2595                 1014323197538413, 869150639940606, 1756009942696599,
2596                 1334952557375672, 1544945379082874
2597 #else
2598                 31486061, 15114593, 52847614, 12951353, 14369431, 26166587,
2599                 16347320, 19892343, 8684154, 23021480
2600 #endif
2601             }},
2602             {{
2603 #if defined(BORINGSSL_CURVE25519_64BIT)
2604                 764055910920305, 1603590757375439, 146805246592357,
2605                 1843313433854297, 954279890114939
2606 #else
2607                 19443825, 11385320, 24468943, 23895364, 43189605, 2187568,
2608                 40845657, 27467510, 31316347, 14219878
2609 #endif
2610             }},
2611         },
2612         {
2613             {{
2614 #if defined(BORINGSSL_CURVE25519_64BIT)
2615                 80113526615750, 764536758732259, 1055139345100233,
2616                 469252651759390, 617897512431515
2617 #else
2618                 38514374, 1193784, 32245219, 11392485, 31092169, 15722801,
2619                 27146014, 6992409, 29126555, 9207390
2620 #endif
2621             }},
2622             {{
2623 #if defined(BORINGSSL_CURVE25519_64BIT)
2624                 74497112547268, 740094153192149, 1745254631717581,
2625                 727713886503130, 1283034364416928
2626 #else
2627                 32382916, 1110093, 18477781, 11028262, 39697101, 26006320,
2628                 62128346, 10843781, 59151264, 19118701
2629 #endif
2630             }},
2631             {{
2632 #if defined(BORINGSSL_CURVE25519_64BIT)
2633                 525892105991110, 1723776830270342, 1476444848991936,
2634                 573789489857760, 133864092632978
2635 #else
2636                 2814918, 7836403, 27519878, 25686276, 46214848, 22000742,
2637                 45614304, 8550129, 28346258, 1994730
2638 #endif
2639             }},
2640         },
2641         {
2642             {{
2643 #if defined(BORINGSSL_CURVE25519_64BIT)
2644                 542611720192581, 1986812262899321, 1162535242465837,
2645                 481498966143464, 544600533583622
2646 #else
2647                 47530565, 8085544, 53108345, 29605809, 2785837, 17323125,
2648                 47591912, 7174893, 22628102, 8115180
2649 #endif
2650             }},
2651             {{
2652 #if defined(BORINGSSL_CURVE25519_64BIT)
2653                 64123227344372, 1239927720647794, 1360722983445904,
2654                 222610813654661, 62429487187991
2655 #else
2656                 36703732, 955510, 55975026, 18476362, 34661776, 20276352,
2657                 41457285, 3317159, 57165847, 930271
2658 #endif
2659             }},
2660             {{
2661 #if defined(BORINGSSL_CURVE25519_64BIT)
2662                 1793193323953132, 91096687857833, 70945970938921,
2663                 2158587638946380, 1537042406482111
2664 #else
2665                 51805164, 26720662, 28856489, 1357446, 23421993, 1057177,
2666                 24091212, 32165462, 44343487, 22903716
2667 #endif
2668             }},
2669         },
2670         {
2671             {{
2672 #if defined(BORINGSSL_CURVE25519_64BIT)
2673                 1895854577604609, 1394895708949416, 1728548428495944,
2674                 1140864900240149, 563645333603061
2675 #else
2676                 44357633, 28250434, 54201256, 20785565, 51297352, 25757378,
2677                 52269845, 17000211, 65241845, 8398969
2678 #endif
2679             }},
2680             {{
2681 #if defined(BORINGSSL_CURVE25519_64BIT)
2682                 141358280486863, 91435889572504, 1087208572552643,
2683                 1829599652522921, 1193307020643647
2684 #else
2685                 35139535, 2106402, 62372504, 1362500, 12813763, 16200670,
2686                 22981545, 27263159, 18009407, 17781660
2687 #endif
2688             }},
2689             {{
2690 #if defined(BORINGSSL_CURVE25519_64BIT)
2691                 1611230858525381, 950720175540785, 499589887488610,
2692                 2001656988495019, 88977313255908
2693 #else
2694                 49887941, 24009210, 39324209, 14166834, 29815394, 7444469,
2695                 29551787, 29827013, 19288548, 1325865
2696 #endif
2697             }},
2698         },
2699         {
2700             {{
2701 #if defined(BORINGSSL_CURVE25519_64BIT)
2702                 1189080501479658, 2184348804772597, 1040818725742319,
2703                 2018318290311834, 1712060030915354
2704 #else
2705                 15100138, 17718680, 43184885, 32549333, 40658671, 15509407,
2706                 12376730, 30075286, 33166106, 25511682
2707 #endif
2708             }},
2709             {{
2710 #if defined(BORINGSSL_CURVE25519_64BIT)
2711                 873966876953756, 1090638350350440, 1708559325189137,
2712                 672344594801910, 1320437969700239
2713 #else
2714                 20909212, 13023121, 57899112, 16251777, 61330449, 25459517,
2715                 12412150, 10018715, 2213263, 19676059
2716 #endif
2717             }},
2718             {{
2719 #if defined(BORINGSSL_CURVE25519_64BIT)
2720                 1508590048271766, 1131769479776094, 101550868699323,
2721                 428297785557897, 561791648661744
2722 #else
2723                 32529814, 22479743, 30361438, 16864679, 57972923, 1513225,
2724                 22922121, 6382134, 61341936, 8371347
2725 #endif
2726             }},
2727         },
2728     },
2729     {
2730         {
2731             {{
2732 #if defined(BORINGSSL_CURVE25519_64BIT)
2733                 756417570499462, 237882279232602, 2136263418594016,
2734                 1701968045454886, 703713185137472
2735 #else
2736                 9923462, 11271500, 12616794, 3544722, 37110496, 31832805,
2737                 12891686, 25361300, 40665920, 10486143
2738 #endif
2739             }},
2740             {{
2741 #if defined(BORINGSSL_CURVE25519_64BIT)
2742                 1781187809325462, 1697624151492346, 1381393690939988,
2743                 175194132284669, 1483054666415238
2744 #else
2745                 44511638, 26541766, 8587002, 25296571, 4084308, 20584370,
2746                 361725, 2610596, 43187334, 22099236
2747 #endif
2748             }},
2749             {{
2750 #if defined(BORINGSSL_CURVE25519_64BIT)
2751                 2175517777364616, 708781536456029, 955668231122942,
2752                 1967557500069555, 2021208005604118
2753 #else
2754                 5408392, 32417741, 62139741, 10561667, 24145918, 14240566,
2755                 31319731, 29318891, 19985174, 30118346
2756 #endif
2757             }},
2758         },
2759         {
2760             {{
2761 #if defined(BORINGSSL_CURVE25519_64BIT)
2762                 1115135966606887, 224217372950782, 915967306279222,
2763                 593866251291540, 561747094208006
2764 #else
2765                 53114407, 16616820, 14549246, 3341099, 32155958, 13648976,
2766                 49531796, 8849296, 65030, 8370684
2767 #endif
2768             }},
2769             {{
2770 #if defined(BORINGSSL_CURVE25519_64BIT)
2771                 1443163092879439, 391875531646162, 2180847134654632,
2772                 464538543018753, 1594098196837178
2773 #else
2774                 58787919, 21504805, 31204562, 5839400, 46481576, 32497154,
2775                 47665921, 6922163, 12743482, 23753914
2776 #endif
2777             }},
2778             {{
2779 #if defined(BORINGSSL_CURVE25519_64BIT)
2780                 850858855888869, 319436476624586, 327807784938441,
2781                 740785849558761, 17128415486016
2782 #else
2783                 64747493, 12678784, 28815050, 4759974, 43215817, 4884716,
2784                 23783145, 11038569, 18800704, 255233
2785 #endif
2786             }},
2787         },
2788         {
2789             {{
2790 #if defined(BORINGSSL_CURVE25519_64BIT)
2791                 2132756334090067, 536247820155645, 48907151276867,
2792                 608473197600695, 1261689545022784
2793 #else
2794                 61839187, 31780545, 13957885, 7990715, 23132995, 728773,
2795                 13393847, 9066957, 19258688, 18800639
2796 #endif
2797             }},
2798             {{
2799 #if defined(BORINGSSL_CURVE25519_64BIT)
2800                 1525176236978354, 974205476721062, 293436255662638,
2801                 148269621098039, 137961998433963
2802 #else
2803                 64172210, 22726896, 56676774, 14516792, 63468078, 4372540,
2804                 35173943, 2209389, 65584811, 2055793
2805 #endif
2806             }},
2807             {{
2808 #if defined(BORINGSSL_CURVE25519_64BIT)
2809                 1121075518299410, 2071745529082111, 1265567917414828,
2810                 1648196578317805, 496232102750820
2811 #else
2812                 580882, 16705327, 5468415, 30871414, 36182444, 18858431,
2813                 59905517, 24560042, 37087844, 7394434
2814 #endif
2815             }},
2816         },
2817         {
2818             {{
2819 #if defined(BORINGSSL_CURVE25519_64BIT)
2820                 122321229299801, 1022922077493685, 2001275453369484,
2821                 2017441881607947, 993205880778002
2822 #else
2823                 23838809, 1822728, 51370421, 15242726, 8318092, 29821328,
2824                 45436683, 30062226, 62287122, 14799920
2825 #endif
2826             }},
2827             {{
2828 #if defined(BORINGSSL_CURVE25519_64BIT)
2829                 654925550560074, 1168810995576858, 575655959430926,
2830                 905758704861388, 496774564663534
2831 #else
2832                 13345610, 9759151, 3371034, 17416641, 16353038, 8577942,
2833                 31129804, 13496856, 58052846, 7402517
2834 #endif
2835             }},
2836             {{
2837 #if defined(BORINGSSL_CURVE25519_64BIT)
2838                 1954109525779738, 2117022646152485, 338102630417180,
2839                 1194140505732026, 107881734943492
2840 #else
2841                 2286874, 29118501, 47066405, 31546095, 53412636, 5038121,
2842                 11006906, 17794080, 8205060, 1607563
2843 #endif
2844             }},
2845         },
2846         {
2847             {{
2848 #if defined(BORINGSSL_CURVE25519_64BIT)
2849                 1714785840001267, 2036500018681589, 1876380234251966,
2850                 2056717182974196, 1645855254384642
2851 #else
2852                 14414067, 25552300, 3331829, 30346215, 22249150, 27960244,
2853                 18364660, 30647474, 30019586, 24525154
2854 #endif
2855             }},
2856             {{
2857 #if defined(BORINGSSL_CURVE25519_64BIT)
2858                 106431476499341, 62482972120563, 1513446655109411,
2859                 807258751769522, 538491469114
2860 #else
2861                 39420813, 1585952, 56333811, 931068, 37988643, 22552112,
2862                 52698034, 12029092, 9944378, 8024
2863 #endif
2864             }},
2865             {{
2866 #if defined(BORINGSSL_CURVE25519_64BIT)
2867                 2002850762893643, 1243624520538135, 1486040410574605,
2868                 2184752338181213, 378495998083531
2869 #else
2870                 4368715, 29844802, 29874199, 18531449, 46878477, 22143727,
2871                 50994269, 32555346, 58966475, 5640029
2872 #endif
2873             }},
2874         },
2875         {
2876             {{
2877 #if defined(BORINGSSL_CURVE25519_64BIT)
2878                 922510868424903, 1089502620807680, 402544072617374,
2879                 1131446598479839, 1290278588136533
2880 #else
2881                 10299591, 13746483, 11661824, 16234854, 7630238, 5998374,
2882                 9809887, 16859868, 15219797, 19226649
2883 #endif
2884             }},
2885             {{
2886 #if defined(BORINGSSL_CURVE25519_64BIT)
2887                 1867998812076769, 715425053580701, 39968586461416,
2888                 2173068014586163, 653822651801304
2889 #else
2890                 27425505, 27835351, 3055005, 10660664, 23458024, 595578,
2891                 51710259, 32381236, 48766680, 9742716
2892 #endif
2893             }},
2894             {{
2895 #if defined(BORINGSSL_CURVE25519_64BIT)
2896                 162892278589453, 182585796682149, 75093073137630,
2897                 497037941226502, 133871727117371
2898 #else
2899                 6744077, 2427284, 26042789, 2720740, 66260958, 1118973,
2900                 32324614, 7406442, 12420155, 1994844
2901 #endif
2902             }},
2903         },
2904         {
2905             {{
2906 #if defined(BORINGSSL_CURVE25519_64BIT)
2907                 1914596576579670, 1608999621851578, 1987629837704609,
2908                 1519655314857977, 1819193753409464
2909 #else
2910                 14012502, 28529712, 48724410, 23975962, 40623521, 29617992,
2911                 54075385, 22644628, 24319928, 27108099
2912 #endif
2913             }},
2914             {{
2915 #if defined(BORINGSSL_CURVE25519_64BIT)
2916                 1949315551096831, 1069003344994464, 1939165033499916,
2917                 1548227205730856, 1933767655861407
2918 #else
2919                 16412671, 29047065, 10772640, 15929391, 50040076, 28895810,
2920                 10555944, 23070383, 37006495, 28815383
2921 #endif
2922             }},
2923             {{
2924 #if defined(BORINGSSL_CURVE25519_64BIT)
2925                 1730519386931635, 1393284965610134, 1597143735726030,
2926                 416032382447158, 1429665248828629
2927 #else
2928                 22397363, 25786748, 57815702, 20761563, 17166286, 23799296,
2929                 39775798, 6199365, 21880021, 21303672
2930 #endif
2931             }},
2932         },
2933         {
2934             {{
2935 #if defined(BORINGSSL_CURVE25519_64BIT)
2936                 360275475604565, 547835731063078, 215360904187529,
2937                 596646739879007, 332709650425085
2938 #else
2939                 62825557, 5368522, 35991846, 8163388, 36785801, 3209127,
2940                 16557151, 8890729, 8840445, 4957760
2941 #endif
2942             }},
2943             {{
2944 #if defined(BORINGSSL_CURVE25519_64BIT)
2945                 47602113726801, 1522314509708010, 437706261372925,
2946                 814035330438027, 335930650933545
2947 #else
2948                 51661137, 709326, 60189418, 22684253, 37330941, 6522331,
2949                 45388683, 12130071, 52312361, 5005756
2950 #endif
2951             }},
2952             {{
2953 #if defined(BORINGSSL_CURVE25519_64BIT)
2954                 1291597595523886, 1058020588994081, 402837842324045,
2955                 1363323695882781, 2105763393033193
2956 #else
2957                 64994094, 19246303, 23019041, 15765735, 41839181, 6002751,
2958                 10183197, 20315106, 50713577, 31378319
2959 #endif
2960             }},
2961         },
2962     },
2963     {
2964         {
2965             {{
2966 #if defined(BORINGSSL_CURVE25519_64BIT)
2967                 109521982566564, 1715257748585139, 1112231216891516,
2968                 2046641005101484, 134249157157013
2969 #else
2970                 48083108, 1632004, 13466291, 25559332, 43468412, 16573536,
2971                 35094956, 30497327, 22208661, 2000468
2972 #endif
2973             }},
2974             {{
2975 #if defined(BORINGSSL_CURVE25519_64BIT)
2976                 2156991030936798, 2227544497153325, 1869050094431622,
2977                 754875860479115, 1754242344267058
2978 #else
2979                 3065054, 32141671, 41510189, 33192999, 49425798, 27851016,
2980                 58944651, 11248526, 63417650, 26140247
2981 #endif
2982             }},
2983             {{
2984 #if defined(BORINGSSL_CURVE25519_64BIT)
2985                 1846089562873800, 98894784984326, 1412430299204844,
2986                 171351226625762, 1100604760929008
2987 #else
2988                 10379208, 27508878, 8877318, 1473647, 37817580, 21046851,
2989                 16690914, 2553332, 63976176, 16400288
2990 #endif
2991             }},
2992         },
2993         {
2994             {{
2995 #if defined(BORINGSSL_CURVE25519_64BIT)
2996                 84172382130492, 499710970700046, 425749630620778,
2997                 1762872794206857, 612842602127960
2998 #else
2999                 15716668, 1254266, 48636174, 7446273, 58659946, 6344163,
3000                 45011593, 26268851, 26894936, 9132066
3001 #endif
3002             }},
3003             {{
3004 #if defined(BORINGSSL_CURVE25519_64BIT)
3005                 868309334532756, 1703010512741873, 1952690008738057,
3006                 4325269926064, 2071083554962116
3007 #else
3008                 24158868, 12938817, 11085297, 25376834, 39045385, 29097348,
3009                 36532400, 64451, 60291780, 30861549
3010 #endif
3011             }},
3012             {{
3013 #if defined(BORINGSSL_CURVE25519_64BIT)
3014                 523094549451158, 401938899487815, 1407690589076010,
3015                 2022387426254453, 158660516411257
3016 #else
3017                 13488534, 7794716, 22236231, 5989356, 25426474, 20976224,
3018                 2350709, 30135921, 62420857, 2364225
3019 #endif
3020             }},
3021         },
3022         {
3023             {{
3024 #if defined(BORINGSSL_CURVE25519_64BIT)
3025                 612867287630009, 448212612103814, 571629077419196,
3026                 1466796750919376, 1728478129663858
3027 #else
3028                 16335033, 9132434, 25640582, 6678888, 1725628, 8517937,
3029                 55301840, 21856974, 15445874, 25756331
3030 #endif
3031             }},
3032             {{
3033 #if defined(BORINGSSL_CURVE25519_64BIT)
3034                 1723848973783452, 2208822520534681, 1718748322776940,
3035                 1974268454121942, 1194212502258141
3036 #else
3037                 29004188, 25687351, 28661401, 32914020, 54314860, 25611345,
3038                 31863254, 29418892, 66830813, 17795152
3039 #endif
3040             }},
3041             {{
3042 #if defined(BORINGSSL_CURVE25519_64BIT)
3043                 1254114807944608, 977770684047110, 2010756238954993,
3044                 1783628927194099, 1525962994408256
3045 #else
3046                 60986784, 18687766, 38493958, 14569918, 56250865, 29962602,
3047                 10343411, 26578142, 37280576, 22738620
3048 #endif
3049             }},
3050         },
3051         {
3052             {{
3053 #if defined(BORINGSSL_CURVE25519_64BIT)
3054                 232464058235826, 1948628555342434, 1835348780427694,
3055                 1031609499437291, 64472106918373
3056 #else
3057                 27081650, 3463984, 14099042, 29036828, 1616302, 27348828,
3058                 29542635, 15372179, 17293797, 960709
3059 #endif
3060             }},
3061             {{
3062 #if defined(BORINGSSL_CURVE25519_64BIT)
3063                 767338676040683, 754089548318405, 1523192045639075,
3064                 435746025122062, 512692508440385
3065 #else
3066                 20263915, 11434237, 61343429, 11236809, 13505955, 22697330,
3067                 50997518, 6493121, 47724353, 7639713
3068 #endif
3069             }},
3070             {{
3071 #if defined(BORINGSSL_CURVE25519_64BIT)
3072                 1255955808701983, 1700487367990941, 1166401238800299,
3073                 1175121994891534, 1190934801395380
3074 #else
3075                 64278047, 18715199, 25403037, 25339236, 58791851, 17380732,
3076                 18006286, 17510682, 29994676, 17746311
3077 #endif
3078             }},
3079         },
3080         {
3081             {{
3082 #if defined(BORINGSSL_CURVE25519_64BIT)
3083                 349144008168292, 1337012557669162, 1475912332999108,
3084                 1321618454900458, 47611291904320
3085 #else
3086                 9769828, 5202651, 42951466, 19923039, 39057860, 21992807,
3087                 42495722, 19693649, 35924288, 709463
3088 #endif
3089             }},
3090             {{
3091 #if defined(BORINGSSL_CURVE25519_64BIT)
3092                 877519947135419, 2172838026132651, 272304391224129,
3093                 1655143327559984, 886229406429814
3094 #else
3095                 12286395, 13076066, 45333675, 32377809, 42105665, 4057651,
3096                 35090736, 24663557, 16102006, 13205847
3097 #endif
3098             }},
3099             {{
3100 #if defined(BORINGSSL_CURVE25519_64BIT)
3101                 375806028254706, 214463229793940, 572906353144089,
3102                 572168269875638, 697556386112979
3103 #else
3104                 13733362, 5599946, 10557076, 3195751, 61550873, 8536969,
3105                 41568694, 8525971, 10151379, 10394400
3106 #endif
3107             }},
3108         },
3109         {
3110             {{
3111 #if defined(BORINGSSL_CURVE25519_64BIT)
3112                 1168827102357844, 823864273033637, 2071538752104697,
3113                 788062026895924, 599578340743362
3114 #else
3115                 4024660, 17416881, 22436261, 12276534, 58009849, 30868332,
3116                 19698228, 11743039, 33806530, 8934413
3117 #endif
3118             }},
3119             {{
3120 #if defined(BORINGSSL_CURVE25519_64BIT)
3121                 1948116082078088, 2054898304487796, 2204939184983900,
3122                 210526805152138, 786593586607626
3123 #else
3124                 51229064, 29029191, 58528116, 30620370, 14634844, 32856154,
3125                 57659786, 3137093, 55571978, 11721157
3126 #endif
3127             }},
3128             {{
3129 #if defined(BORINGSSL_CURVE25519_64BIT)
3130                 1915320147894736, 156481169009469, 655050471180417,
3131                 592917090415421, 2165897438660879
3132 #else
3133                 17555920, 28540494, 8268605, 2331751, 44370049, 9761012,
3134                 9319229, 8835153, 57903375, 32274386
3135 #endif
3136             }},
3137         },
3138         {
3139             {{
3140 #if defined(BORINGSSL_CURVE25519_64BIT)
3141                 1726336468579724, 1119932070398949, 1929199510967666,
3142                 33918788322959, 1836837863503150
3143 #else
3144                 66647436, 25724417, 20614117, 16688288, 59594098, 28747312,
3145                 22300303, 505429, 6108462, 27371017
3146 #endif
3147             }},
3148             {{
3149 #if defined(BORINGSSL_CURVE25519_64BIT)
3150                 829996854845988, 217061778005138, 1686565909803640,
3151                 1346948817219846, 1723823550730181
3152 #else
3153                 62038564, 12367916, 36445330, 3234472, 32617080, 25131790,
3154                 29880582, 20071101, 40210373, 25686972
3155 #endif
3156             }},
3157             {{
3158 #if defined(BORINGSSL_CURVE25519_64BIT)
3159                 384301494966394, 687038900403062, 2211195391021739,
3160                 254684538421383, 1245698430589680
3161 #else
3162                 35133562, 5726538, 26934134, 10237677, 63935147, 32949378,
3163                 24199303, 3795095, 7592688, 18562353
3164 #endif
3165             }},
3166         },
3167         {
3168             {{
3169 #if defined(BORINGSSL_CURVE25519_64BIT)
3170                 1247567493562688, 1978182094455847, 183871474792955,
3171                 806570235643435, 288461518067916
3172 #else
3173                 21594432, 18590204, 17466407, 29477210, 32537083, 2739898,
3174                 6407723, 12018833, 38852812, 4298411
3175 #endif
3176             }},
3177             {{
3178 #if defined(BORINGSSL_CURVE25519_64BIT)
3179                 1449077384734201, 38285445457996, 2136537659177832,
3180                 2146493000841573, 725161151123125
3181 #else
3182                 46458361, 21592935, 39872588, 570497, 3767144, 31836892,
3183                 13891941, 31985238, 13717173, 10805743
3184 #endif
3185             }},
3186             {{
3187 #if defined(BORINGSSL_CURVE25519_64BIT)
3188                 1201928866368855, 800415690605445, 1703146756828343,
3189                 997278587541744, 1858284414104014
3190 #else
3191                 52432215, 17910135, 15287173, 11927123, 24177847, 25378864,
3192                 66312432, 14860608, 40169934, 27690595
3193 #endif
3194             }},
3195         },
3196     },
3197     {
3198         {
3199             {{
3200 #if defined(BORINGSSL_CURVE25519_64BIT)
3201                 356468809648877, 782373916933152, 1718002439402870,
3202                 1392222252219254, 663171266061951
3203 #else
3204                 12962541, 5311799, 57048096, 11658279, 18855286, 25600231,
3205                 13286262, 20745728, 62727807, 9882021
3206 #endif
3207             }},
3208             {{
3209 #if defined(BORINGSSL_CURVE25519_64BIT)
3210                 759628738230460, 1012693474275852, 353780233086498,
3211                 246080061387552, 2030378857679162
3212 #else
3213                 18512060, 11319350, 46985740, 15090308, 18818594, 5271736,
3214                 44380960, 3666878, 43141434, 30255002
3215 #endif
3216             }},
3217             {{
3218 #if defined(BORINGSSL_CURVE25519_64BIT)
3219                 2040672435071076, 888593182036908, 1298443657189359,
3220                 1804780278521327, 354070726137060
3221 #else
3222                 60319844, 30408388, 16192428, 13241070, 15898607, 19348318,
3223                 57023983, 26893321, 64705764, 5276064
3224 #endif
3225             }},
3226         },
3227         {
3228             {{
3229 #if defined(BORINGSSL_CURVE25519_64BIT)
3230                 1894938527423184, 1463213041477277, 474410505497651,
3231                 247294963033299, 877975941029128
3232 #else
3233                 30169808, 28236784, 26306205, 21803573, 27814963, 7069267,
3234                 7152851, 3684982, 1449224, 13082861
3235 #endif
3236             }},
3237             {{
3238 #if defined(BORINGSSL_CURVE25519_64BIT)
3239                 207937160991127, 12966911039119, 820997788283092,
3240                 1010440472205286, 1701372890140810
3241 #else
3242                 10342807, 3098505, 2119311, 193222, 25702612, 12233820,
3243                 23697382, 15056736, 46092426, 25352431
3244 #endif
3245             }},
3246             {{
3247 #if defined(BORINGSSL_CURVE25519_64BIT)
3248                 218882774543183, 533427444716285, 1233243976733245,
3249                 435054256891319, 1509568989549904
3250 #else
3251                 33958735, 3261607, 22745853, 7948688, 19370557, 18376767,
3252                 40936887, 6482813, 56808784, 22494330
3253 #endif
3254             }},
3255         },
3256         {
3257             {{
3258 #if defined(BORINGSSL_CURVE25519_64BIT)
3259                 1888838535711826, 1052177758340622, 1213553803324135,
3260                 169182009127332, 463374268115872
3261 #else
3262                 32869458, 28145887, 25609742, 15678670, 56421095, 18083360,
3263                 26112420, 2521008, 44444576, 6904814
3264 #endif
3265             }},
3266             {{
3267 #if defined(BORINGSSL_CURVE25519_64BIT)
3268                 299137589460312, 1594371588983567, 868058494039073,
3269                 257771590636681, 1805012993142921
3270 #else
3271                 29506904, 4457497, 3377935, 23757988, 36598817, 12935079,
3272                 1561737, 3841096, 38105225, 26896789
3273 #endif
3274             }},
3275             {{
3276 #if defined(BORINGSSL_CURVE25519_64BIT)
3277                 1806842755664364, 2098896946025095, 1356630998422878,
3278                 1458279806348064, 347755825962072
3279 #else
3280                 10340844, 26924055, 48452231, 31276001, 12621150, 20215377,
3281                 30878496, 21730062, 41524312, 5181965
3282 #endif
3283             }},
3284         },
3285         {
3286             {{
3287 #if defined(BORINGSSL_CURVE25519_64BIT)
3288                 1402334161391744, 1560083671046299, 1008585416617747,
3289                 1147797150908892, 1420416683642459
3290 #else
3291                 25940096, 20896407, 17324187, 23247058, 58437395, 15029093,
3292                 24396252, 17103510, 64786011, 21165857
3293 #endif
3294             }},
3295             {{
3296 #if defined(BORINGSSL_CURVE25519_64BIT)
3297                 665506704253369, 273770475169863, 799236974202630,
3298                 848328990077558, 1811448782807931
3299 #else
3300                 45343161, 9916822, 65808455, 4079497, 66080518, 11909558,
3301                 1782390, 12641087, 20603771, 26992690
3302 #endif
3303             }},
3304             {{
3305 #if defined(BORINGSSL_CURVE25519_64BIT)
3306                 1468412523962641, 771866649897997, 1931766110147832,
3307                 799561180078482, 524837559150077
3308 #else
3309                 48226577, 21881051, 24849421, 11501709, 13161720, 28785558,
3310                 1925522, 11914390, 4662781, 7820689
3311 #endif
3312             }},
3313         },
3314         {
3315             {{
3316 #if defined(BORINGSSL_CURVE25519_64BIT)
3317                 2223212657821850, 630416247363666, 2144451165500328,
3318                 816911130947791, 1024351058410032
3319 #else
3320                 12241050, 33128450, 8132690, 9393934, 32846760, 31954812,
3321                 29749455, 12172924, 16136752, 15264020
3322 #endif
3323             }},
3324             {{
3325 #if defined(BORINGSSL_CURVE25519_64BIT)
3326                 1266603897524861, 156378408858100, 1275649024228779,
3327                 447738405888420, 253186462063095
3328 #else
3329                 56758909, 18873868, 58896884, 2330219, 49446315, 19008651,
3330                 10658212, 6671822, 19012087, 3772772
3331 #endif
3332             }},
3333             {{
3334 #if defined(BORINGSSL_CURVE25519_64BIT)
3335                 2022215964509735, 136144366993649, 1800716593296582,
3336                 1193970603800203, 871675847064218
3337 #else
3338                 3753511, 30133366, 10617073, 2028709, 14841030, 26832768,
3339                 28718731, 17791548, 20527770, 12988982
3340 #endif
3341             }},
3342         },
3343         {
3344             {{
3345 #if defined(BORINGSSL_CURVE25519_64BIT)
3346                 1862751661970328, 851596246739884, 1519315554814041,
3347                 1542798466547449, 1417975335901520
3348 #else
3349                 52286360, 27757162, 63400876, 12689772, 66209881, 22639565,
3350                 42925817, 22989488, 3299664, 21129479
3351 #endif
3352             }},
3353             {{
3354 #if defined(BORINGSSL_CURVE25519_64BIT)
3355                 1228168094547481, 334133883362894, 587567568420081,
3356                 433612590281181, 603390400373205
3357 #else
3358                 50331161, 18301130, 57466446, 4978982, 3308785, 8755439,
3359                 6943197, 6461331, 41525717, 8991217
3360 #endif
3361             }},
3362             {{
3363 #if defined(BORINGSSL_CURVE25519_64BIT)
3364                 121893973206505, 1843345804916664, 1703118377384911,
3365                 497810164760654, 101150811654673
3366 #else
3367                 49882601, 1816361, 65435576, 27467992, 31783887, 25378441,
3368                 34160718, 7417949, 36866577, 1507264
3369 #endif
3370             }},
3371         },
3372         {
3373             {{
3374 #if defined(BORINGSSL_CURVE25519_64BIT)
3375                 458346255946468, 290909935619344, 1452768413850679,
3376                 550922875254215, 1537286854336538
3377 #else
3378                 29692644, 6829891, 56610064, 4334895, 20945975, 21647936,
3379                 38221255, 8209390, 14606362, 22907359
3380 #endif
3381             }},
3382             {{
3383 #if defined(BORINGSSL_CURVE25519_64BIT)
3384                 584322311184395, 380661238802118, 114839394528060,
3385                 655082270500073, 2111856026034852
3386 #else
3387                 63627275, 8707080, 32188102, 5672294, 22096700, 1711240,
3388                 34088169, 9761486, 4170404, 31469107
3389 #endif
3390             }},
3391             {{
3392 #if defined(BORINGSSL_CURVE25519_64BIT)
3393                 996965581008991, 2148998626477022, 1012273164934654,
3394                 1073876063914522, 1688031788934939
3395 #else
3396                 55521375, 14855944, 62981086, 32022574, 40459774, 15084045,
3397                 22186522, 16002000, 52832027, 25153633
3398 #endif
3399             }},
3400         },
3401         {
3402             {{
3403 #if defined(BORINGSSL_CURVE25519_64BIT)
3404                 923487018849600, 2085106799623355, 528082801620136,
3405                 1606206360876188, 735907091712524
3406 #else
3407                 62297408, 13761028, 35404987, 31070512, 63796392, 7869046,
3408                 59995292, 23934339, 13240844, 10965870
3409 #endif
3410             }},
3411             {{
3412 #if defined(BORINGSSL_CURVE25519_64BIT)
3413                 1697697887804317, 1335343703828273, 831288615207040,
3414                 949416685250051, 288760277392022
3415 #else
3416                 59366301, 25297669, 52340529, 19898171, 43876480, 12387165,
3417                 4498947, 14147411, 29514390, 4302863
3418 #endif
3419             }},
3420             {{
3421 #if defined(BORINGSSL_CURVE25519_64BIT)
3422                 1419122478109648, 1325574567803701, 602393874111094,
3423                 2107893372601700, 1314159682671307
3424 #else
3425                 53695440, 21146572, 20757301, 19752600, 14785142, 8976368,
3426                 62047588, 31410058, 17846987, 19582505
3427 #endif
3428             }},
3429         },
3430     },
3431     {
3432         {
3433             {{
3434 #if defined(BORINGSSL_CURVE25519_64BIT)
3435                 2201150872731804, 2180241023425241, 97663456423163,
3436                 1633405770247824, 848945042443986
3437 #else
3438                 64864412, 32799703, 62511833, 32488122, 60861691, 1455298,
3439                 45461136, 24339642, 61886162, 12650266
3440 #endif
3441             }},
3442             {{
3443 #if defined(BORINGSSL_CURVE25519_64BIT)
3444                 1173339555550611, 818605084277583, 47521504364289,
3445                 924108720564965, 735423405754506
3446 #else
3447                 57202067, 17484121, 21134159, 12198166, 40044289, 708125,
3448                 387813, 13770293, 47974538, 10958662
3449 #endif
3450             }},
3451             {{
3452 #if defined(BORINGSSL_CURVE25519_64BIT)
3453                 830104860549448, 1886653193241086, 1600929509383773,
3454                 1475051275443631, 286679780900937
3455 #else
3456                 22470984, 12369526, 23446014, 28113323, 45588061, 23855708,
3457                 55336367, 21979976, 42025033, 4271861
3458 #endif
3459             }},
3460         },
3461         {
3462             {{
3463 #if defined(BORINGSSL_CURVE25519_64BIT)
3464                 1577111294832995, 1030899169768747, 144900916293530,
3465                 1964672592979567, 568390100955250
3466 #else
3467                 41939299, 23500789, 47199531, 15361594, 61124506, 2159191,
3468                 75375, 29275903, 34582642, 8469672
3469 #endif
3470             }},
3471             {{
3472 #if defined(BORINGSSL_CURVE25519_64BIT)
3473                 278388655910247, 487143369099838, 927762205508727,
3474                 181017540174210, 1616886700741287
3475 #else
3476                 15854951, 4148314, 58214974, 7259001, 11666551, 13824734,
3477                 36577666, 2697371, 24154791, 24093489
3478 #endif
3479             }},
3480             {{
3481 #if defined(BORINGSSL_CURVE25519_64BIT)
3482                 1191033906638969, 940823957346562, 1606870843663445,
3483                 861684761499847, 658674867251089
3484 #else
3485                 15446137, 17747788, 29759746, 14019369, 30811221, 23944241,
3486                 35526855, 12840103, 24913809, 9815020
3487 #endif
3488             }},
3489         },
3490         {
3491             {{
3492 #if defined(BORINGSSL_CURVE25519_64BIT)
3493                 1875032594195546, 1427106132796197, 724736390962158,
3494                 901860512044740, 635268497268760
3495 #else
3496                 62399578, 27940162, 35267365, 21265538, 52665326, 10799413,
3497                 58005188, 13438768, 18735128, 9466238
3498 #endif
3499             }},
3500             {{
3501 #if defined(BORINGSSL_CURVE25519_64BIT)
3502                 622869792298357, 1903919278950367, 1922588621661629,
3503                 1520574711600434, 1087100760174640
3504 #else
3505                 11933045, 9281483, 5081055, 28370608, 64480701, 28648802,
3506                 59381042, 22658328, 44380208, 16199063
3507 #endif
3508             }},
3509             {{
3510 #if defined(BORINGSSL_CURVE25519_64BIT)
3511                 25465949416618, 1693639527318811, 1526153382657203,
3512                 125943137857169, 145276964043999
3513 #else
3514                 14576810, 379472, 40322331, 25237195, 37682355, 22741457,
3515                 67006097, 1876698, 30801119, 2164795
3516 #endif
3517             }},
3518         },
3519         {
3520             {{
3521 #if defined(BORINGSSL_CURVE25519_64BIT)
3522                 214739857969358, 920212862967915, 1939901550972269,
3523                 1211862791775221, 85097515720120
3524 #else
3525                 15995086, 3199873, 13672555, 13712240, 47730029, 28906785,
3526                 54027253, 18058162, 53616056, 1268051
3527 #endif
3528             }},
3529             {{
3530 #if defined(BORINGSSL_CURVE25519_64BIT)
3531                 2006245852772938, 734762734836159, 254642929763427,
3532                 1406213292755966, 239303749517686
3533 #else
3534                 56818250, 29895392, 63822271, 10948817, 23037027, 3794475,
3535                 63638526, 20954210, 50053494, 3565903
3536 #endif
3537             }},
3538             {{
3539 #if defined(BORINGSSL_CURVE25519_64BIT)
3540                 1619678837192149, 1919424032779215, 1357391272956794,
3541                 1525634040073113, 1310226789796241
3542 #else
3543                 29210069, 24135095, 61189071, 28601646, 10834810, 20226706,
3544                 50596761, 22733718, 39946641, 19523900
3545 #endif
3546             }},
3547         },
3548         {
3549             {{
3550 #if defined(BORINGSSL_CURVE25519_64BIT)
3551                 1040763709762123, 1704449869235352, 605263070456329,
3552                 1998838089036355, 1312142911487502
3553 #else
3554                 53946955, 15508587, 16663704, 25398282, 38758921, 9019122,
3555                 37925443, 29785008, 2244110, 19552453
3556 #endif
3557             }},
3558             {{
3559 #if defined(BORINGSSL_CURVE25519_64BIT)
3560                 1996723311435669, 1844342766567060, 985455700466044,
3561                 1165924681400960, 311508689870129
3562 #else
3563                 61955989, 29753495, 57802388, 27482848, 16243068, 14684434,
3564                 41435776, 17373631, 13491505, 4641841
3565 #endif
3566             }},
3567             {{
3568 #if defined(BORINGSSL_CURVE25519_64BIT)
3569                 43173156290518, 2202883069785309, 1137787467085917,
3570                 1733636061944606, 1394992037553852
3571 #else
3572                 10813398, 643330, 47920349, 32825515, 30292061, 16954354,
3573                 27548446, 25833190, 14476988, 20787001
3574 #endif
3575             }},
3576         },
3577         {
3578             {{
3579 #if defined(BORINGSSL_CURVE25519_64BIT)
3580                 670078326344559, 555655025059356, 471959386282438,
3581                 2141455487356409, 849015953823125
3582 #else
3583                 10292079, 9984945, 6481436, 8279905, 59857350, 7032742,
3584                 27282937, 31910173, 39196053, 12651323
3585 #endif
3586             }},
3587             {{
3588 #if defined(BORINGSSL_CURVE25519_64BIT)
3589                 2197214573372804, 794254097241315, 1030190060513737,
3590                 267632515541902, 2040478049202624
3591 #else
3592                 35923332, 32741048, 22271203, 11835308, 10201545, 15351028,
3593                 17099662, 3988035, 21721536, 30405492
3594 #endif
3595             }},
3596             {{
3597 #if defined(BORINGSSL_CURVE25519_64BIT)
3598                 1812516004670529, 1609256702920783, 1706897079364493,
3599                 258549904773295, 996051247540686
3600 #else
3601                 10202177, 27008593, 35735631, 23979793, 34958221, 25434748,
3602                 54202543, 3852693, 13216206, 14842320
3603 #endif
3604             }},
3605         },
3606         {
3607             {{
3608 #if defined(BORINGSSL_CURVE25519_64BIT)
3609                 1540374301420584, 1764656898914615, 1810104162020396,
3610                 923808779163088, 664390074196579
3611 #else
3612                 51293224, 22953365, 60569911, 26295436, 60124204, 26972653,
3613                 35608016, 13765823, 39674467, 9900183
3614 #endif
3615             }},
3616             {{
3617 #if defined(BORINGSSL_CURVE25519_64BIT)
3618                 1323460699404750, 1262690757880991, 871777133477900,
3619                 1060078894988977, 1712236889662886
3620 #else
3621                 14465486, 19721101, 34974879, 18815558, 39665676, 12990491,
3622                 33046193, 15796406, 60056998, 25514317
3623 #endif
3624             }},
3625             {{
3626 #if defined(BORINGSSL_CURVE25519_64BIT)
3627                 1696163952057966, 1391710137550823, 608793846867416,
3628                 1034391509472039, 1780770894075012
3629 #else
3630                 30924398, 25274812, 6359015, 20738097, 16508376, 9071735,
3631                 41620263, 15413634, 9524356, 26535554
3632 #endif
3633             }},
3634         },
3635         {
3636             {{
3637 #if defined(BORINGSSL_CURVE25519_64BIT)
3638                 1367603834210841, 2131988646583224, 890353773628144,
3639                 1908908219165595, 270836895252891
3640 #else
3641                 12274201, 20378885, 32627640, 31769106, 6736624, 13267305,
3642                 5237659, 28444949, 15663515, 4035784
3643 #endif
3644             }},
3645             {{
3646 #if defined(BORINGSSL_CURVE25519_64BIT)
3647                 597536315471731, 40375058742586, 1942256403956049,
3648                 1185484645495932, 312666282024145
3649 #else
3650                 64157555, 8903984, 17349946, 601635, 50676049, 28941875,
3651                 53376124, 17665097, 44850385, 4659090
3652 #endif
3653             }},
3654             {{
3655 #if defined(BORINGSSL_CURVE25519_64BIT)
3656                 1919411405316294, 1234508526402192, 1066863051997083,
3657                 1008444703737597, 1348810787701552
3658 #else
3659                 50192582, 28601458, 36715152, 18395610, 20774811, 15897498,
3660                 5736189, 15026997, 64930608, 20098846
3661 #endif
3662             }},
3663         },
3664     },
3665     {
3666         {
3667             {{
3668 #if defined(BORINGSSL_CURVE25519_64BIT)
3669                 2102881477513865, 1570274565945361, 1573617900503708,
3670                 18662635732583, 2232324307922098
3671 #else
3672                 58249865, 31335375, 28571665, 23398914, 66634396, 23448733,
3673                 63307367, 278094, 23440562, 33264224
3674 #endif
3675             }},
3676             {{
3677 #if defined(BORINGSSL_CURVE25519_64BIT)
3678                 1853931367696942, 8107973870707, 350214504129299,
3679                 775206934582587, 1752317649166792
3680 #else
3681                 10226222, 27625730, 15139955, 120818, 52241171, 5218602,
3682                 32937275, 11551483, 50536904, 26111567
3683 #endif
3684             }},
3685             {{
3686 #if defined(BORINGSSL_CURVE25519_64BIT)
3687                 1417148368003523, 721357181628282, 505725498207811,
3688                 373232277872983, 261634707184480
3689 #else
3690                 17932739, 21117156, 43069306, 10749059, 11316803, 7535897,
3691                 22503767, 5561594, 63462240, 3898660
3692 #endif
3693             }},
3694         },
3695         {
3696             {{
3697 #if defined(BORINGSSL_CURVE25519_64BIT)
3698                 2186733281493267, 2250694917008620, 1014829812957440,
3699                 479998161452389, 83566193876474
3700 #else
3701                 7749907, 32584865, 50769132, 33537967, 42090752, 15122142,
3702                 65535333, 7152529, 21831162, 1245233
3703 #endif
3704             }},
3705             {{
3706 #if defined(BORINGSSL_CURVE25519_64BIT)
3707                 1268116367301224, 560157088142809, 802626839600444,
3708                 2210189936605713, 1129993785579988
3709 #else
3710                 26958440, 18896406, 4314585, 8346991, 61431100, 11960071,
3711                 34519569, 32934396, 36706772, 16838219
3712 #endif
3713             }},
3714             {{
3715 #if defined(BORINGSSL_CURVE25519_64BIT)
3716                 615183387352312, 917611676109240, 878893615973325,
3717                 978940963313282, 938686890583575
3718 #else
3719                 54942968, 9166946, 33491384, 13673479, 29787085, 13096535,
3720                 6280834, 14587357, 44770839, 13987524
3721 #endif
3722             }},
3723         },
3724         {
3725             {{
3726 #if defined(BORINGSSL_CURVE25519_64BIT)
3727                 522024729211672, 1045059315315808, 1892245413707790,
3728                 1907891107684253, 2059998109500714
3729 #else
3730                 42758936, 7778774, 21116000, 15572597, 62275598, 28196653,
3731                 62807965, 28429792, 59639082, 30696363
3732 #endif
3733             }},
3734             {{
3735 #if defined(BORINGSSL_CURVE25519_64BIT)
3736                 1799679152208884, 912132775900387, 25967768040979,
3737                 432130448590461, 274568990261996
3738 #else
3739                 9681908, 26817309, 35157219, 13591837, 60225043, 386949,
3740                 31622781, 6439245, 52527852, 4091396
3741 #endif
3742             }},
3743             {{
3744 #if defined(BORINGSSL_CURVE25519_64BIT)
3745                 98698809797682, 2144627600856209, 1907959298569602,
3746                 811491302610148, 1262481774981493
3747 #else
3748                 58682418, 1470726, 38999185, 31957441, 3978626, 28430809,
3749                 47486180, 12092162, 29077877, 18812444
3750 #endif
3751             }},
3752         },
3753         {
3754             {{
3755 #if defined(BORINGSSL_CURVE25519_64BIT)
3756                 1791451399743152, 1713538728337276, 118349997257490,
3757                 1882306388849954, 158235232210248
3758 #else
3759                 5269168, 26694706, 53878652, 25533716, 25932562, 1763552,
3760                 61502754, 28048550, 47091016, 2357888
3761 #endif
3762             }},
3763             {{
3764 #if defined(BORINGSSL_CURVE25519_64BIT)
3765                 1217809823321928, 2173947284933160, 1986927836272325,
3766                 1388114931125539, 12686131160169
3767 #else
3768                 32264008, 18146780, 61721128, 32394338, 65017541, 29607531,
3769                 23104803, 20684524, 5727337, 189038
3770 #endif
3771             }},
3772             {{
3773 #if defined(BORINGSSL_CURVE25519_64BIT)
3774                 1650875518872272, 1136263858253897, 1732115601395988,
3775                 734312880662190, 1252904681142109
3776 #else
3777                 14609104, 24599962, 61108297, 16931650, 52531476, 25810533,
3778                 40363694, 10942114, 41219933, 18669734
3779 #endif
3780             }},
3781         },
3782         {
3783             {{
3784 #if defined(BORINGSSL_CURVE25519_64BIT)
3785                 372986456113865, 525430915458171, 2116279931702135,
3786                 501422713587815, 1907002872974925
3787 #else
3788                 20513481, 5557931, 51504251, 7829530, 26413943, 31535028,
3789                 45729895, 7471780, 13913677, 28416557
3790 #endif
3791             }},
3792             {{
3793 #if defined(BORINGSSL_CURVE25519_64BIT)
3794                 803147181835288, 868941437997146, 316299302989663,
3795                 943495589630550, 571224287904572
3796 #else
3797                 41534488, 11967825, 29233242, 12948236, 60354399, 4713226,
3798                 58167894, 14059179, 12878652, 8511905
3799 #endif
3800             }},
3801             {{
3802 #if defined(BORINGSSL_CURVE25519_64BIT)
3803                 227742695588364, 1776969298667369, 628602552821802,
3804                 457210915378118, 2041906378111140
3805 #else
3806                 41452044, 3393630, 64153449, 26478905, 64858154, 9366907,
3807                 36885446, 6812973, 5568676, 30426776
3808 #endif
3809             }},
3810         },
3811         {
3812             {{
3813 #if defined(BORINGSSL_CURVE25519_64BIT)
3814                 815000523470260, 913085688728307, 1052060118271173,
3815                 1345536665214223, 541623413135555
3816 #else
3817                 11630004, 12144454, 2116339, 13606037, 27378885, 15676917,
3818                 49700111, 20050058, 52713667, 8070817
3819 #endif
3820             }},
3821             {{
3822 #if defined(BORINGSSL_CURVE25519_64BIT)
3823                 1580216071604333, 1877997504342444, 857147161260913,
3824                 703522726778478, 2182763974211603
3825 #else
3826                 27117677, 23547054, 35826092, 27984343, 1127281, 12772488,
3827                 37262958, 10483305, 55556115, 32525717
3828 #endif
3829             }},
3830             {{
3831 #if defined(BORINGSSL_CURVE25519_64BIT)
3832                 1870080310923419, 71988220958492, 1783225432016732,
3833                 615915287105016, 1035570475990230
3834 #else
3835                 10637467, 27866368, 5674780, 1072708, 40765276, 26572129,
3836                 65424888, 9177852, 39615702, 15431202
3837 #endif
3838             }},
3839         },
3840         {
3841             {{
3842 #if defined(BORINGSSL_CURVE25519_64BIT)
3843                 730987750830150, 857613889540280, 1083813157271766,
3844                 1002817255970169, 1719228484436074
3845 #else
3846                 20525126, 10892566, 54366392, 12779442, 37615830, 16150074,
3847                 38868345, 14943141, 52052074, 25618500
3848 #endif
3849             }},
3850             {{
3851 #if defined(BORINGSSL_CURVE25519_64BIT)
3852                 377616581647602, 1581980403078513, 804044118130621,
3853                 2034382823044191, 643844048472185
3854 #else
3855                 37084402, 5626925, 66557297, 23573344, 753597, 11981191,
3856                 25244767, 30314666, 63752313, 9594023
3857 #endif
3858             }},
3859             {{
3860 #if defined(BORINGSSL_CURVE25519_64BIT)
3861                 176957326463017, 1573744060478586, 528642225008045,
3862                 1816109618372371, 1515140189765006
3863 #else
3864                 43356201, 2636869, 61944954, 23450613, 585133, 7877383,
3865                 11345683, 27062142, 13352334, 22577348
3866 #endif
3867             }},
3868         },
3869         {
3870             {{
3871 #if defined(BORINGSSL_CURVE25519_64BIT)
3872                 1888911448245718, 1387110895611080, 1924503794066429,
3873                 1731539523700949, 2230378382645454
3874 #else
3875                 65177046, 28146973, 3304648, 20669563, 17015805, 28677341,
3876                 37325013, 25801949, 53893326, 33235227
3877 #endif
3878             }},
3879             {{
3880 #if defined(BORINGSSL_CURVE25519_64BIT)
3881                 443392177002051, 233793396845137, 2199506622312416,
3882                 1011858706515937, 974676837063129
3883 #else
3884                 20239939, 6607058, 6203985, 3483793, 48721888, 32775202,
3885                 46385121, 15077869, 44358105, 14523816
3886 #endif
3887             }},
3888             {{
3889 #if defined(BORINGSSL_CURVE25519_64BIT)
3890                 1846351103143623, 1949984838808427, 671247021915253,
3891                 1946756846184401, 1929296930380217
3892 #else
3893                 27406023, 27512775, 27423595, 29057038, 4996213, 10002360,
3894                 38266833, 29008937, 36936121, 28748764
3895 #endif
3896             }},
3897         },
3898     },
3899     {
3900         {
3901             {{
3902 #if defined(BORINGSSL_CURVE25519_64BIT)
3903                 849646212452002, 1410198775302919, 73767886183695,
3904                 1641663456615812, 762256272452411
3905 #else
3906                 11374242, 12660715, 17861383, 21013599, 10935567, 1099227,
3907                 53222788, 24462691, 39381819, 11358503
3908 #endif
3909             }},
3910             {{
3911 #if defined(BORINGSSL_CURVE25519_64BIT)
3912                 692017667358279, 723305578826727, 1638042139863265,
3913                 748219305990306, 334589200523901
3914 #else
3915                 54378055, 10311866, 1510375, 10778093, 64989409, 24408729,
3916                 32676002, 11149336, 40985213, 4985767
3917 #endif
3918             }},
3919             {{
3920 #if defined(BORINGSSL_CURVE25519_64BIT)
3921                 22893968530686, 2235758574399251, 1661465835630252,
3922                 925707319443452, 1203475116966621
3923 #else
3924                 48012542, 341146, 60911379, 33315398, 15756972, 24757770,
3925                 66125820, 13794113, 47694557, 17933176
3926 #endif
3927             }},
3928         },
3929         {
3930             {{
3931 #if defined(BORINGSSL_CURVE25519_64BIT)
3932                 801299035785166, 1733292596726131, 1664508947088596,
3933                 467749120991922, 1647498584535623
3934 #else
3935                 6490062, 11940286, 25495923, 25828072, 8668372, 24803116,
3936                 3367602, 6970005, 65417799, 24549641
3937 #endif
3938             }},
3939             {{
3940 #if defined(BORINGSSL_CURVE25519_64BIT)
3941                 903105258014366, 427141894933047, 561187017169777,
3942                 1884330244401954, 1914145708422219
3943 #else
3944                 1656478, 13457317, 15370807, 6364910, 13605745, 8362338,
3945                 47934242, 28078708, 50312267, 28522993
3946 #endif
3947             }},
3948             {{
3949 #if defined(BORINGSSL_CURVE25519_64BIT)
3950                 1344191060517578, 1960935031767890, 1518838929955259,
3951                 1781502350597190, 1564784025565682
3952 #else
3953                 44835530, 20030007, 67044178, 29220208, 48503227, 22632463,
3954                 46537798, 26546453, 67009010, 23317098
3955 #endif
3956             }},
3957         },
3958         {
3959             {{
3960 #if defined(BORINGSSL_CURVE25519_64BIT)
3961                 673723351748086, 1979969272514923, 1175287312495508,
3962                 1187589090978666, 1881897672213940
3963 #else
3964                 17747446, 10039260, 19368299, 29503841, 46478228, 17513145,
3965                 31992682, 17696456, 37848500, 28042460
3966 #endif
3967             }},
3968             {{
3969 #if defined(BORINGSSL_CURVE25519_64BIT)
3970                 1917185587363432, 1098342571752737, 5935801044414,
3971                 2000527662351839, 1538640296181569
3972 #else
3973                 31932008, 28568291, 47496481, 16366579, 22023614, 88450,
3974                 11371999, 29810185, 4882241, 22927527
3975 #endif
3976             }},
3977             {{
3978 #if defined(BORINGSSL_CURVE25519_64BIT)
3979                 2495540013192, 678856913479236, 224998292422872,
3980                 219635787698590, 1972465269000940
3981 #else
3982                 29796488, 37186, 19818052, 10115756, 55279832, 3352735,
3983                 18551198, 3272828, 61917932, 29392022
3984 #endif
3985             }},
3986         },
3987         {
3988             {{
3989 #if defined(BORINGSSL_CURVE25519_64BIT)
3990                 271413961212179, 1353052061471651, 344711291283483,
3991                 2014925838520662, 2006221033113941
3992 #else
3993                 12501267, 4044383, 58495907, 20162046, 34678811, 5136598,
3994                 47878486, 30024734, 330069, 29895023
3995 #endif
3996             }},
3997             {{
3998 #if defined(BORINGSSL_CURVE25519_64BIT)
3999                 194583029968109, 514316781467765, 829677956235672,
4000                 1676415686873082, 810104584395840
4001 #else
4002                 6384877, 2899513, 17807477, 7663917, 64749976, 12363164,
4003                 25366522, 24980540, 66837568, 12071498
4004 #endif
4005             }},
4006             {{
4007 #if defined(BORINGSSL_CURVE25519_64BIT)
4008                 1980510813313589, 1948645276483975, 152063780665900,
4009                 129968026417582, 256984195613935
4010 #else
4011                 58743349, 29511910, 25133447, 29037077, 60897836, 2265926,
4012                 34339246, 1936674, 61949167, 3829362
4013 #endif
4014             }},
4015         },
4016         {
4017             {{
4018 #if defined(BORINGSSL_CURVE25519_64BIT)
4019                 1860190562533102, 1936576191345085, 461100292705964,
4020                 1811043097042830, 957486749306835
4021 #else
4022                 28425966, 27718999, 66531773, 28857233, 52891308, 6870929,
4023                 7921550, 26986645, 26333139, 14267664
4024 #endif
4025             }},
4026             {{
4027 #if defined(BORINGSSL_CURVE25519_64BIT)
4028                 796664815624365, 1543160838872951, 1500897791837765,
4029                 1667315977988401, 599303877030711
4030 #else
4031                 56041645, 11871230, 27385719, 22994888, 62522949, 22365119,
4032                 10004785, 24844944, 45347639, 8930323
4033 #endif
4034             }},
4035             {{
4036 #if defined(BORINGSSL_CURVE25519_64BIT)
4037                 1151480509533204, 2136010406720455, 738796060240027,
4038                 319298003765044, 1150614464349587
4039 #else
4040                 45911060, 17158396, 25654215, 31829035, 12282011, 11008919,
4041                 1541940, 4757911, 40617363, 17145491
4042 #endif
4043             }},
4044         },
4045         {
4046             {{
4047 #if defined(BORINGSSL_CURVE25519_64BIT)
4048                 1731069268103150, 735642447616087, 1364750481334268,
4049                 417232839982871, 927108269127661
4050 #else
4051                 13537262, 25794942, 46504023, 10961926, 61186044, 20336366,
4052                 53952279, 6217253, 51165165, 13814989
4053 #endif
4054             }},
4055             {{
4056 #if defined(BORINGSSL_CURVE25519_64BIT)
4057                 1017222050227968, 1987716148359, 2234319589635701,
4058                 621282683093392, 2132553131763026
4059 #else
4060                 49686272, 15157789, 18705543, 29619, 24409717, 33293956,
4061                 27361680, 9257833, 65152338, 31777517
4062 #endif
4063             }},
4064             {{
4065 #if defined(BORINGSSL_CURVE25519_64BIT)
4066                 1567828528453324, 1017807205202360, 565295260895298,
4067                 829541698429100, 307243822276582
4068 #else
4069                 42063564, 23362465, 15366584, 15166509, 54003778, 8423555,
4070                 37937324, 12361134, 48422886, 4578289
4071 #endif
4072             }},
4073         },
4074         {
4075             {{
4076 #if defined(BORINGSSL_CURVE25519_64BIT)
4077                 249079270936248, 1501514259790706, 947909724204848,
4078                 944551802437487, 552658763982480
4079 #else
4080                 24579768, 3711570, 1342322, 22374306, 40103728, 14124955,
4081                 44564335, 14074918, 21964432, 8235257
4082 #endif
4083             }},
4084             {{
4085 #if defined(BORINGSSL_CURVE25519_64BIT)
4086                 2089966982947227, 1854140343916181, 2151980759220007,
4087                 2139781292261749, 158070445864917
4088 #else
4089                 60580251, 31142934, 9442965, 27628844, 12025639, 32067012,
4090                 64127349, 31885225, 13006805, 2355433
4091 #endif
4092             }},
4093             {{
4094 #if defined(BORINGSSL_CURVE25519_64BIT)
4095                 1338766321464554, 1906702607371284, 1519569445519894,
4096                 115384726262267, 1393058953390992
4097 #else
4098                 50803946, 19949172, 60476436, 28412082, 16974358, 22643349,
4099                 27202043, 1719366, 1141648, 20758196
4100 #endif
4101             }},
4102         },
4103         {
4104             {{
4105 #if defined(BORINGSSL_CURVE25519_64BIT)
4106                 1364621558265400, 1512388234908357, 1926731583198686,
4107                 2041482526432505, 920401122333774
4108 #else
4109                 54244920, 20334445, 58790597, 22536340, 60298718, 28710537,
4110                 13475065, 30420460, 32674894, 13715045
4111 #endif
4112             }},
4113             {{
4114 #if defined(BORINGSSL_CURVE25519_64BIT)
4115                 1884844597333588, 601480070269079, 620203503079537,
4116                 1079527400117915, 1202076693132015
4117 #else
4118                 11423316, 28086373, 32344215, 8962751, 24989809, 9241752,
4119                 53843611, 16086211, 38367983, 17912338
4120 #endif
4121             }},
4122             {{
4123 #if defined(BORINGSSL_CURVE25519_64BIT)
4124                 840922919763324, 727955812569642, 1303406629750194,
4125                 522898432152867, 294161410441865
4126 #else
4127                 65699196, 12530727, 60740138, 10847386, 19531186, 19422272,
4128                 55399715, 7791793, 39862921, 4383346
4129 #endif
4130             }},
4131         },
4132     },
4133     {
4134         {
4135             {{
4136 #if defined(BORINGSSL_CURVE25519_64BIT)
4137                 353760790835310, 1598361541848743, 1122905698202299,
4138                 1922533590158905, 419107700666580
4139 #else
4140                 38137966, 5271446, 65842855, 23817442, 54653627, 16732598,
4141                 62246457, 28647982, 27193556, 6245191
4142 #endif
4143             }},
4144             {{
4145 #if defined(BORINGSSL_CURVE25519_64BIT)
4146                 359856369838236, 180914355488683, 861726472646627,
4147                 218807937262986, 575626773232501
4148 #else
4149                 51914908, 5362277, 65324971, 2695833, 4960227, 12840725,
4150                 23061898, 3260492, 22510453, 8577507
4151 #endif
4152             }},
4153             {{
4154 #if defined(BORINGSSL_CURVE25519_64BIT)
4155                 755467689082474, 909202735047934, 730078068932500,
4156                 936309075711518, 2007798262842972
4157 #else
4158                 54476394, 11257345, 34415870, 13548176, 66387860, 10879010,
4159                 31168030, 13952092, 37537372, 29918525
4160 #endif
4161             }},
4162         },
4163         {
4164             {{
4165 #if defined(BORINGSSL_CURVE25519_64BIT)
4166                 1609384177904073, 362745185608627, 1335318541768201,
4167                 800965770436248, 547877979267412
4168 #else
4169                 3877321, 23981693, 32416691, 5405324, 56104457, 19897796,
4170                 3759768, 11935320, 5611860, 8164018
4171 #endif
4172             }},
4173             {{
4174 #if defined(BORINGSSL_CURVE25519_64BIT)
4175                 984339177776787, 815727786505884, 1645154585713747,
4176                 1659074964378553, 1686601651984156
4177 #else
4178                 50833043, 14667796, 15906460, 12155291, 44997715, 24514713,
4179                 32003001, 24722143, 5773084, 25132323
4180 #endif
4181             }},
4182             {{
4183 #if defined(BORINGSSL_CURVE25519_64BIT)
4184                 1697863093781930, 599794399429786, 1104556219769607,
4185                 830560774794755, 12812858601017
4186 #else
4187                 43320746, 25300131, 1950874, 8937633, 18686727, 16459170,
4188                 66203139, 12376319, 31632953, 190926
4189 #endif
4190             }},
4191         },
4192         {
4193             {{
4194 #if defined(BORINGSSL_CURVE25519_64BIT)
4195                 1168737550514982, 897832437380552, 463140296333799,
4196                 302564600022547, 2008360505135501
4197 #else
4198                 42515238, 17415546, 58684872, 13378745, 14162407, 6901328,
4199                 58820115, 4508563, 41767309, 29926903
4200 #endif
4201             }},
4202             {{
4203 #if defined(BORINGSSL_CURVE25519_64BIT)
4204                 1856930662813910, 678090852002597, 1920179140755167,
4205                 1259527833759868, 55540971895511
4206 #else
4207                 8884438, 27670423, 6023973, 10104341, 60227295, 28612898,
4208                 18722940, 18768427, 65436375, 827624
4209 #endif
4210             }},
4211             {{
4212 #if defined(BORINGSSL_CURVE25519_64BIT)
4213                 1158643631044921, 476554103621892, 178447851439725,
4214                 1305025542653569, 103433927680625
4215 #else
4216                 34388281, 17265135, 34605316, 7101209, 13354605, 2659080,
4217                 65308289, 19446395, 42230385, 1541285
4218 #endif
4219             }},
4220         },
4221         {
4222             {{
4223 #if defined(BORINGSSL_CURVE25519_64BIT)
4224                 2176793111709008, 1576725716350391, 2009350167273523,
4225                 2012390194631546, 2125297410909580
4226 #else
4227                 2901328, 32436745, 3880375, 23495044, 49487923, 29941650,
4228                 45306746, 29986950, 20456844, 31669399
4229 #endif
4230             }},
4231             {{
4232 #if defined(BORINGSSL_CURVE25519_64BIT)
4233                 825403285195098, 2144208587560784, 1925552004644643,
4234                 1915177840006985, 1015952128947864
4235 #else
4236                 27019610, 12299467, 53450576, 31951197, 54247203, 28692960,
4237                 47568713, 28538373, 29439640, 15138866
4238 #endif
4239             }},
4240             {{
4241 #if defined(BORINGSSL_CURVE25519_64BIT)
4242                 1807108316634472, 1534392066433717, 347342975407218,
4243                 1153820745616376, 7375003497471
4244 #else
4245                 21536104, 26928012, 34661045, 22864223, 44700786, 5175813,
4246                 61688824, 17193268, 7779327, 109896
4247 #endif
4248             }},
4249         },
4250         {
4251             {{
4252 #if defined(BORINGSSL_CURVE25519_64BIT)
4253                 983061001799725, 431211889901241, 2201903782961093,
4254                 817393911064341, 2214616493042167
4255 #else
4256                 30279725, 14648750, 59063993, 6425557, 13639621, 32810923,
4257                 28698389, 12180118, 23177719, 33000357
4258 #endif
4259             }},
4260             {{
4261 #if defined(BORINGSSL_CURVE25519_64BIT)
4262                 228567918409756, 865093958780220, 358083886450556,
4263                 159617889659320, 1360637926292598
4264 #else
4265                 26572828, 3405927, 35407164, 12890904, 47843196, 5335865,
4266                 60615096, 2378491, 4439158, 20275085
4267 #endif
4268             }},
4269             {{
4270 #if defined(BORINGSSL_CURVE25519_64BIT)
4271                 234147501399755, 2229469128637390, 2175289352258889,
4272                 1397401514549353, 1885288963089922
4273 #else
4274                 44392139, 3489069, 57883598, 33221678, 18875721, 32414337,
4275                 14819433, 20822905, 49391106, 28092994
4276 #endif
4277             }},
4278         },
4279         {
4280             {{
4281 #if defined(BORINGSSL_CURVE25519_64BIT)
4282                 1111762412951562, 252849572507389, 1048714233823341,
4283                 146111095601446, 1237505378776770
4284 #else
4285                 62052362, 16566550, 15953661, 3767752, 56672365, 15627059,
4286                 66287910, 2177224, 8550082, 18440267
4287 #endif
4288             }},
4289             {{
4290 #if defined(BORINGSSL_CURVE25519_64BIT)
4291                 1113790697840279, 1051167139966244, 1045930658550944,
4292                 2011366241542643, 1686166824620755
4293 #else
4294                 48635543, 16596774, 66727204, 15663610, 22860960, 15585581,
4295                 39264755, 29971692, 43848403, 25125843
4296 #endif
4297             }},
4298             {{
4299 #if defined(BORINGSSL_CURVE25519_64BIT)
4300                 1054097349305049, 1872495070333352, 182121071220717,
4301                 1064378906787311, 100273572924182
4302 #else
4303                 34628313, 15707274, 58902952, 27902350, 29464557, 2713815,
4304                 44383727, 15860481, 45206294, 1494192
4305 #endif
4306             }},
4307         },
4308         {
4309             {{
4310 #if defined(BORINGSSL_CURVE25519_64BIT)
4311                 1306410853171605, 1627717417672447, 50983221088417,
4312                 1109249951172250, 870201789081392
4313 #else
4314                 47546773, 19467038, 41524991, 24254879, 13127841, 759709,
4315                 21923482, 16529112, 8742704, 12967017
4316 #endif
4317             }},
4318             {{
4319 #if defined(BORINGSSL_CURVE25519_64BIT)
4320                 104233794644221, 1548919791188248, 2224541913267306,
4321                 2054909377116478, 1043803389015153
4322 #else
4323                 38643965, 1553204, 32536856, 23080703, 42417258, 33148257,
4324                 58194238, 30620535, 37205105, 15553882
4325 #endif
4326             }},
4327             {{
4328 #if defined(BORINGSSL_CURVE25519_64BIT)
4329                 216762189468802, 707284285441622, 190678557969733,
4330                 973969342604308, 1403009538434867
4331 #else
4332                 21877890, 3230008, 9881174, 10539357, 62311749, 2841331,
4333                 11543572, 14513274, 19375923, 20906471
4334 #endif
4335             }},
4336         },
4337         {
4338             {{
4339 #if defined(BORINGSSL_CURVE25519_64BIT)
4340                 1279024291038477, 344776835218310, 273722096017199,
4341                 1834200436811442, 634517197663804
4342 #else
4343                 8832269, 19058947, 13253510, 5137575, 5037871, 4078777,
4344                 24880818, 27331716, 2862652, 9455043
4345 #endif
4346             }},
4347             {{
4348 #if defined(BORINGSSL_CURVE25519_64BIT)
4349                 343805853118335, 1302216857414201, 566872543223541,
4350                 2051138939539004, 321428858384280
4351 #else
4352                 29306751, 5123106, 20245049, 19404543, 9592565, 8447059,
4353                 65031740, 30564351, 15511448, 4789663
4354 #endif
4355             }},
4356             {{
4357 #if defined(BORINGSSL_CURVE25519_64BIT)
4358                 470067171324852, 1618629234173951, 2000092177515639,
4359                 7307679772789, 1117521120249968
4360 #else
4361                 46429108, 7004546, 8824831, 24119455, 63063159, 29803695,
4362                 61354101, 108892, 23513200, 16652362
4363 #endif
4364             }},
4365         },
4366     },
4367     {
4368         {
4369             {{
4370 #if defined(BORINGSSL_CURVE25519_64BIT)
4371                 278151578291475, 1810282338562947, 1771599529530998,
4372                 1383659409671631, 685373414471841
4373 #else
4374                 33852691, 4144781, 62632835, 26975308, 10770038, 26398890,
4375                 60458447, 20618131, 48789665, 10212859
4376 #endif
4377             }},
4378             {{
4379 #if defined(BORINGSSL_CURVE25519_64BIT)
4380                 577009397403102, 1791440261786291, 2177643735971638,
4381                 174546149911960, 1412505077782326
4382 #else
4383                 2756062, 8598110, 7383731, 26694540, 22312758, 32449420,
4384                 21179800, 2600940, 57120566, 21047965
4385 #endif
4386             }},
4387             {{
4388 #if defined(BORINGSSL_CURVE25519_64BIT)
4389                 893719721537457, 1201282458018197, 1522349501711173,
4390                 58011597740583, 1130406465887139
4391 #else
4392                 42463153, 13317461, 36659605, 17900503, 21365573, 22684775,
4393                 11344423, 864440, 64609187, 16844368
4394 #endif
4395             }},
4396         },
4397         {
4398             {{
4399 #if defined(BORINGSSL_CURVE25519_64BIT)
4400                 412607348255453, 1280455764199780, 2233277987330768,
4401                 14180080401665, 331584698417165
4402 #else
4403                 40676061, 6148328, 49924452, 19080277, 18782928, 33278435,
4404                 44547329, 211299, 2719757, 4940997
4405 #endif
4406             }},
4407             {{
4408 #if defined(BORINGSSL_CURVE25519_64BIT)
4409                 262483770854550, 990511055108216, 526885552771698,
4410                 571664396646158, 354086190278723
4411 #else
4412                 65784982, 3911312, 60160120, 14759764, 37081714, 7851206,
4413                 21690126, 8518463, 26699843, 5276295
4414 #endif
4415             }},
4416             {{
4417 #if defined(BORINGSSL_CURVE25519_64BIT)
4418                 1820352417585487, 24495617171480, 1547899057533253,
4419                 10041836186225, 480457105094042
4420 #else
4421                 53958991, 27125364, 9396248, 365013, 24703301, 23065493,
4422                 1321585, 149635, 51656090, 7159368
4423 #endif
4424             }},
4425         },
4426         {
4427             {{
4428 #if defined(BORINGSSL_CURVE25519_64BIT)
4429                 2023310314989233, 637905337525881, 2106474638900687,
4430                 557820711084072, 1687858215057826
4431 #else
4432                 9987761, 30149673, 17507961, 9505530, 9731535, 31388918,
4433                 22356008, 8312176, 22477218, 25151047
4434 #endif
4435             }},
4436             {{
4437 #if defined(BORINGSSL_CURVE25519_64BIT)
4438                 1144168702609745, 604444390410187, 1544541121756138,
4439                 1925315550126027, 626401428894002
4440 #else
4441                 18155857, 17049442, 19744715, 9006923, 15154154, 23015456,
4442                 24256459, 28689437, 44560690, 9334108
4443 #endif
4444             }},
4445             {{
4446 #if defined(BORINGSSL_CURVE25519_64BIT)
4447                 1922168257351784, 2018674099908659, 1776454117494445,
4448                 956539191509034, 36031129147635
4449 #else
4450                 2986088, 28642539, 10776627, 30080588, 10620589, 26471229,
4451                 45695018, 14253544, 44521715, 536905
4452 #endif
4453             }},
4454         },
4455         {
4456             {{
4457 #if defined(BORINGSSL_CURVE25519_64BIT)
4458                 544644538748041, 1039872944430374, 876750409130610,
4459                 710657711326551, 1216952687484972
4460 #else
4461                 4377737, 8115836, 24567078, 15495314, 11625074, 13064599,
4462                 7390551, 10589625, 10838060, 18134008
4463 #endif
4464             }},
4465             {{
4466 #if defined(BORINGSSL_CURVE25519_64BIT)
4467                 58242421545916, 2035812695641843, 2118491866122923,
4468                 1191684463816273, 46921517454099
4469 #else
4470                 47766460, 867879, 9277171, 30335973, 52677291, 31567988,
4471                 19295825, 17757482, 6378259, 699185
4472 #endif
4473             }},
4474             {{
4475 #if defined(BORINGSSL_CURVE25519_64BIT)
4476                 272268252444639, 1374166457774292, 2230115177009552,
4477                 1053149803909880, 1354288411641016
4478 #else
4479                 7895007, 4057113, 60027092, 20476675, 49222032, 33231305,
4480                 66392824, 15693154, 62063800, 20180469
4481 #endif
4482             }},
4483         },
4484         {
4485             {{
4486 #if defined(BORINGSSL_CURVE25519_64BIT)
4487                 1857910905368338, 1754729879288912, 885945464109877,
4488                 1516096106802166, 1602902393369811
4489 #else
4490                 59371282, 27685029, 52542544, 26147512, 11385653, 13201616,
4491                 31730678, 22591592, 63190227, 23885106
4492 #endif
4493             }},
4494             {{
4495 #if defined(BORINGSSL_CURVE25519_64BIT)
4496                 1193437069800958, 901107149704790, 999672920611411,
4497                 477584824802207, 364239578697845
4498 #else
4499                 10188286, 17783598, 59772502, 13427542, 22223443, 14896287,
4500                 30743455, 7116568, 45322357, 5427592
4501 #endif
4502             }},
4503             {{
4504 #if defined(BORINGSSL_CURVE25519_64BIT)
4505                 886299989548838, 1538292895758047, 1590564179491896,
4506                 1944527126709657, 837344427345298
4507 #else
4508                 696102, 13206899, 27047647, 22922350, 15285304, 23701253,
4509                 10798489, 28975712, 19236242, 12477404
4510 #endif
4511             }},
4512         },
4513         {
4514             {{
4515 #if defined(BORINGSSL_CURVE25519_64BIT)
4516                 754558365378305, 1712186480903618, 1703656826337531,
4517                 750310918489786, 518996040250900
4518 #else
4519                 55879425, 11243795, 50054594, 25513566, 66320635, 25386464,
4520                 63211194, 11180503, 43939348, 7733643
4521 #endif
4522             }},
4523             {{
4524 #if defined(BORINGSSL_CURVE25519_64BIT)
4525                 1309847803895382, 1462151862813074, 211370866671570,
4526                 1544595152703681, 1027691798954090
4527 #else
4528                 17800790, 19518253, 40108434, 21787760, 23887826, 3149671,
4529                 23466177, 23016261, 10322026, 15313801
4530 #endif
4531             }},
4532             {{
4533 #if defined(BORINGSSL_CURVE25519_64BIT)
4534                 803217563745370, 1884799722343599, 1357706345069218,
4535                 2244955901722095, 730869460037413
4536 #else
4537                 26246234, 11968874, 32263343, 28085704, 6830754, 20231401,
4538                 51314159, 33452449, 42659621, 10890803
4539 #endif
4540             }},
4541         },
4542         {
4543             {{
4544 #if defined(BORINGSSL_CURVE25519_64BIT)
4545                 689299471295966, 1831210565161071, 1375187341585438,
4546                 1106284977546171, 1893781834054269
4547 #else
4548                 35743198, 10271362, 54448239, 27287163, 16690206, 20491888,
4549                 52126651, 16484930, 25180797, 28219548
4550 #endif
4551             }},
4552             {{
4553 #if defined(BORINGSSL_CURVE25519_64BIT)
4554                 696351368613042, 1494385251239250, 738037133616932,
4555                 636385507851544, 927483222611406
4556 #else
4557                 66522290, 10376443, 34522450, 22268075, 19801892, 10997610,
4558                 2276632, 9482883, 316878, 13820577
4559 #endif
4560             }},
4561             {{
4562 #if defined(BORINGSSL_CURVE25519_64BIT)
4563                 1949114198209333, 1104419699537997, 783495707664463,
4564                 1747473107602770, 2002634765788641
4565 #else
4566                 57226037, 29044064, 64993357, 16457135, 56008783, 11674995,
4567                 30756178, 26039378, 30696929, 29841583
4568 #endif
4569             }},
4570         },
4571         {
4572             {{
4573 #if defined(BORINGSSL_CURVE25519_64BIT)
4574                 1607325776830197, 530883941415333, 1451089452727895,
4575                 1581691157083423, 496100432831154
4576 #else
4577                 32988917, 23951020, 12499365, 7910787, 56491607, 21622917,
4578                 59766047, 23569034, 34759346, 7392472
4579 #endif
4580             }},
4581             {{
4582 #if defined(BORINGSSL_CURVE25519_64BIT)
4583                 1068900648804224, 2006891997072550, 1134049269345549,
4584                 1638760646180091, 2055396084625778
4585 #else
4586                 58253184, 15927860, 9866406, 29905021, 64711949, 16898650,
4587                 36699387, 24419436, 25112946, 30627788
4588 #endif
4589             }},
4590             {{
4591 #if defined(BORINGSSL_CURVE25519_64BIT)
4592                 2222475519314561, 1870703901472013, 1884051508440561,
4593                 1344072275216753, 1318025677799069
4594 #else
4595                 64604801, 33117465, 25621773, 27875660, 15085041, 28074555,
4596                 42223985, 20028237, 5537437, 19640113
4597 #endif
4598             }},
4599         },
4600     },
4601     {
4602         {
4603             {{
4604 #if defined(BORINGSSL_CURVE25519_64BIT)
4605                 155711679280656, 681100400509288, 389811735211209,
4606                 2135723811340709, 408733211204125
4607 #else
4608                 55883280, 2320284, 57524584, 10149186, 33664201, 5808647,
4609                 52232613, 31824764, 31234589, 6090599
4610 #endif
4611             }},
4612             {{
4613 #if defined(BORINGSSL_CURVE25519_64BIT)
4614                 7813206966729, 194444201427550, 2071405409526507,
4615                 1065605076176312, 1645486789731291
4616 #else
4617                 57475529, 116425, 26083934, 2897444, 60744427, 30866345, 609720,
4618                 15878753, 60138459, 24519663
4619 #endif
4620             }},
4621             {{
4622 #if defined(BORINGSSL_CURVE25519_64BIT)
4623                 16625790644959, 1647648827778410, 1579910185572704,
4624                 436452271048548, 121070048451050
4625 #else
4626                 39351007, 247743, 51914090, 24551880, 23288160, 23542496,
4627                 43239268, 6503645, 20650474, 1804084
4628 #endif
4629             }},
4630         },
4631         {
4632             {{
4633 #if defined(BORINGSSL_CURVE25519_64BIT)
4634                 1037263028552531, 568385780377829, 297953104144430,
4635                 1558584511931211, 2238221839292471
4636 #else
4637                 39519059, 15456423, 8972517, 8469608, 15640622, 4439847,
4638                 3121995, 23224719, 27842615, 33352104
4639 #endif
4640             }},
4641             {{
4642 #if defined(BORINGSSL_CURVE25519_64BIT)
4643                 190565267697443, 672855706028058, 338796554369226,
4644                 337687268493904, 853246848691734
4645 #else
4646                 51801891, 2839643, 22530074, 10026331, 4602058, 5048462,
4647                 28248656, 5031932, 55733782, 12714368
4648 #endif
4649             }},
4650             {{
4651 #if defined(BORINGSSL_CURVE25519_64BIT)
4652                 1763863028400139, 766498079432444, 1321118624818005,
4653                 69494294452268, 858786744165651
4654 #else
4655                 20807691, 26283607, 29286140, 11421711, 39232341, 19686201,
4656                 45881388, 1035545, 47375635, 12796919
4657 #endif
4658             }},
4659         },
4660         {
4661             {{
4662 #if defined(BORINGSSL_CURVE25519_64BIT)
4663                 1292056768563024, 1456632109855638, 1100631247050184,
4664                 1386133165675321, 1232898350193752
4665 #else
4666                 12076880, 19253146, 58323862, 21705509, 42096072, 16400683,
4667                 49517369, 20654993, 3480664, 18371617
4668 #endif
4669             }},
4670             {{
4671 #if defined(BORINGSSL_CURVE25519_64BIT)
4672                 366253102478259, 525676242508811, 1449610995265438,
4673                 1183300845322183, 185960306491545
4674 #else
4675                 34747315, 5457596, 28548107, 7833186, 7303070, 21600887,
4676                 42745799, 17632556, 33734809, 2771024
4677 #endif
4678             }},
4679             {{
4680 #if defined(BORINGSSL_CURVE25519_64BIT)
4681                 28315355815982, 460422265558930, 1799675876678724,
4682                 1969256312504498, 1051823843138725
4683 #else
4684                 45719598, 421931, 26597266, 6860826, 22486084, 26817260,
4685                 49971378, 29344205, 42556581, 15673396
4686 #endif
4687             }},
4688         },
4689         {
4690             {{
4691 #if defined(BORINGSSL_CURVE25519_64BIT)
4692                 156914999361983, 1606148405719949, 1665208410108430,
4693                 317643278692271, 1383783705665320
4694 #else
4695                 46924223, 2338215, 19788685, 23933476, 63107598, 24813538,
4696                 46837679, 4733253, 3727144, 20619984
4697 #endif
4698             }},
4699             {{
4700 #if defined(BORINGSSL_CURVE25519_64BIT)
4701                 54684536365732, 2210010038536222, 1194984798155308,
4702                 535239027773705, 1516355079301361
4703 #else
4704                 6120100, 814863, 55314462, 32931715, 6812204, 17806661, 2019593,
4705                 7975683, 31123697, 22595451
4706 #endif
4707             }},
4708             {{
4709 #if defined(BORINGSSL_CURVE25519_64BIT)
4710                 1484387703771650, 198537510937949, 2186282186359116,
4711                 617687444857508, 647477376402122
4712 #else
4713                 30069250, 22119100, 30434653, 2958439, 18399564, 32578143,
4714                 12296868, 9204260, 50676426, 9648164
4715 #endif
4716             }},
4717         },
4718         {
4719             {{
4720 #if defined(BORINGSSL_CURVE25519_64BIT)
4721                 2147715541830533, 500032538445817, 646380016884826,
4722                 352227855331122, 1488268620408052
4723 #else
4724                 32705413, 32003455, 30705657, 7451065, 55303258, 9631812,
4725                 3305266, 5248604, 41100532, 22176930
4726 #endif
4727             }},
4728             {{
4729 #if defined(BORINGSSL_CURVE25519_64BIT)
4730                 159386186465542, 1877626593362941, 618737197060512,
4731                 1026674284330807, 1158121760792685
4732 #else
4733                 17219846, 2375039, 35537917, 27978816, 47649184, 9219902,
4734                 294711, 15298639, 2662509, 17257359
4735 #endif
4736             }},
4737             {{
4738 #if defined(BORINGSSL_CURVE25519_64BIT)
4739                 1744544377739822, 1964054180355661, 1685781755873170,
4740                 2169740670377448, 1286112621104591
4741 #else
4742                 65935918, 25995736, 62742093, 29266687, 45762450, 25120105,
4743                 32087528, 32331655, 32247247, 19164571
4744 #endif
4745             }},
4746         },
4747         {
4748             {{
4749 #if defined(BORINGSSL_CURVE25519_64BIT)
4750                 81977249784993, 1667943117713086, 1668983819634866,
4751                 1605016835177615, 1353960708075544
4752 #else
4753                 14312609, 1221556, 17395390, 24854289, 62163122, 24869796,
4754                 38911119, 23916614, 51081240, 20175586
4755 #endif
4756             }},
4757             {{
4758 #if defined(BORINGSSL_CURVE25519_64BIT)
4759                 1602253788689063, 439542044889886, 2220348297664483,
4760                 657877410752869, 157451572512238
4761 #else
4762                 65680039, 23875441, 57873182, 6549686, 59725795, 33085767,
4763                 23046501, 9803137, 17597934, 2346211
4764 #endif
4765             }},
4766             {{
4767 #if defined(BORINGSSL_CURVE25519_64BIT)
4768                 1029287186166717, 65860128430192, 525298368814832,
4769                 1491902500801986, 1461064796385400
4770 #else
4771                 18510781, 15337574, 26171504, 981392, 44867312, 7827555,
4772                 43617730, 22231079, 3059832, 21771562
4773 #endif
4774             }},
4775         },
4776         {
4777             {{
4778 #if defined(BORINGSSL_CURVE25519_64BIT)
4779                 408216988729246, 2121095722306989, 913562102267595,
4780                 1879708920318308, 241061448436731
4781 #else
4782                 10141598, 6082907, 17829293, 31606789, 9830091, 13613136,
4783                 41552228, 28009845, 33606651, 3592095
4784 #endif
4785             }},
4786             {{
4787 #if defined(BORINGSSL_CURVE25519_64BIT)
4788                 1185483484383269, 1356339572588553, 584932367316448,
4789                 102132779946470, 1792922621116791
4790 #else
4791                 33114149, 17665080, 40583177, 20211034, 33076704, 8716171,
4792                 1151462, 1521897, 66126199, 26716628
4793 #endif
4794             }},
4795             {{
4796 #if defined(BORINGSSL_CURVE25519_64BIT)
4797                 1966196870701923, 2230044620318636, 1425982460745905,
4798                 261167817826569, 46517743394330
4799 #else
4800                 34169699, 29298616, 23947180, 33230254, 34035889, 21248794,
4801                 50471177, 3891703, 26353178, 693168
4802 #endif
4803             }},
4804         },
4805         {
4806             {{
4807 #if defined(BORINGSSL_CURVE25519_64BIT)
4808                 107077591595359, 884959942172345, 27306869797400,
4809                 2224911448949390, 964352058245223
4810 #else
4811                 30374239, 1595580, 50224825, 13186930, 4600344, 406904, 9585294,
4812                 33153764, 31375463, 14369965
4813 #endif
4814             }},
4815             {{
4816 #if defined(BORINGSSL_CURVE25519_64BIT)
4817                 1730194207717538, 431790042319772, 1831515233279467,
4818                 1372080552768581, 1074513929381760
4819 #else
4820                 52738210, 25781902, 1510300, 6434173, 48324075, 27291703,
4821                 32732229, 20445593, 17901440, 16011505
4822 #endif
4823             }},
4824             {{
4825 #if defined(BORINGSSL_CURVE25519_64BIT)
4826                 1450880638731607, 1019861580989005, 1229729455116861,
4827                 1174945729836143, 826083146840706
4828 #else
4829                 18171223, 21619806, 54608461, 15197121, 56070717, 18324396,
4830                 47936623, 17508055, 8764034, 12309598
4831 #endif
4832             }},
4833         },
4834     },
4835     {
4836         {
4837             {{
4838 #if defined(BORINGSSL_CURVE25519_64BIT)
4839                 1899935429242705, 1602068751520477, 940583196550370,
4840                 82431069053859, 1540863155745696
4841 #else
4842                 5975889, 28311244, 47649501, 23872684, 55567586, 14015781,
4843                 43443107, 1228318, 17544096, 22960650
4844 #endif
4845             }},
4846             {{
4847 #if defined(BORINGSSL_CURVE25519_64BIT)
4848                 2136688454840028, 2099509000964294, 1690800495246475,
4849                 1217643678575476, 828720645084218
4850 #else
4851                 5811932, 31839139, 3442886, 31285122, 48741515, 25194890,
4852                 49064820, 18144304, 61543482, 12348899
4853 #endif
4854             }},
4855             {{
4856 #if defined(BORINGSSL_CURVE25519_64BIT)
4857                 765548025667841, 462473984016099, 998061409979798,
4858                 546353034089527, 2212508972466858
4859 #else
4860                 35709185, 11407554, 25755363, 6891399, 63851926, 14872273,
4861                 42259511, 8141294, 56476330, 32968952
4862 #endif
4863             }},
4864         },
4865         {
4866             {{
4867 #if defined(BORINGSSL_CURVE25519_64BIT)
4868                 46575283771160, 892570971573071, 1281983193144090,
4869                 1491520128287375, 75847005908304
4870 #else
4871                 54433560, 694025, 62032719, 13300343, 14015258, 19103038,
4872                 57410191, 22225381, 30944592, 1130208
4873 #endif
4874             }},
4875             {{
4876 #if defined(BORINGSSL_CURVE25519_64BIT)
4877                 1801436127943107, 1734436817907890, 1268728090345068,
4878                 167003097070711, 2233597765834956
4879 #else
4880                 8247747, 26843490, 40546482, 25845122, 52706924, 18905521,
4881                 4652151, 2488540, 23550156, 33283200
4882 #endif
4883             }},
4884             {{
4885 #if defined(BORINGSSL_CURVE25519_64BIT)
4886                 1997562060465113, 1048700225534011, 7615603985628,
4887                 1855310849546841, 2242557647635213
4888 #else
4889                 17294297, 29765994, 7026747, 15626851, 22990044, 113481,
4890                 2267737, 27646286, 66700045, 33416712
4891 #endif
4892             }},
4893         },
4894         {
4895             {{
4896 #if defined(BORINGSSL_CURVE25519_64BIT)
4897                 1161017320376250, 492624580169043, 2169815802355237,
4898                 976496781732542, 1770879511019629
4899 #else
4900                 16091066, 17300506, 18599251, 7340678, 2137637, 32332775,
4901                 63744702, 14550935, 3260525, 26388161
4902 #endif
4903             }},
4904             {{
4905 #if defined(BORINGSSL_CURVE25519_64BIT)
4906                 1357044908364776, 729130645262438, 1762469072918979,
4907                 1365633616878458, 181282906404941
4908 #else
4909                 62198760, 20221544, 18550886, 10864893, 50649539, 26262835,
4910                 44079994, 20349526, 54360141, 2701325
4911 #endif
4912             }},
4913             {{
4914 #if defined(BORINGSSL_CURVE25519_64BIT)
4915                 1080413443139865, 1155205815510486, 1848782073549786,
4916                 622566975152580, 124965574467971
4917 #else
4918                 58534169, 16099414, 4629974, 17213908, 46322650, 27548999,
4919                 57090500, 9276970, 11329923, 1862132
4920 #endif
4921             }},
4922         },
4923         {
4924             {{
4925 #if defined(BORINGSSL_CURVE25519_64BIT)
4926                 1184526762066993, 247622751762817, 692129017206356,
4927                 820018689412496, 2188697339828085
4928 #else
4929                 14763057, 17650824, 36190593, 3689866, 3511892, 10313526,
4930                 45157776, 12219230, 58070901, 32614131
4931 #endif
4932             }},
4933             {{
4934 #if defined(BORINGSSL_CURVE25519_64BIT)
4935                 2020536369003019, 202261491735136, 1053169669150884,
4936                 2056531979272544, 778165514694311
4937 #else
4938                 8894987, 30108338, 6150752, 3013931, 301220, 15693451, 35127648,
4939                 30644714, 51670695, 11595569
4940 #endif
4941             }},
4942             {{
4943 #if defined(BORINGSSL_CURVE25519_64BIT)
4944                 237404399610207, 1308324858405118, 1229680749538400,
4945                 720131409105291, 1958958863624906
4946 #else
4947                 15214943, 3537601, 40870142, 19495559, 4418656, 18323671,
4948                 13947275, 10730794, 53619402, 29190761
4949 #endif
4950             }},
4951         },
4952         {
4953             {{
4954 #if defined(BORINGSSL_CURVE25519_64BIT)
4955                 515583508038846, 17656978857189, 1717918437373989,
4956                 1568052070792483, 46975803123923
4957 #else
4958                 64570558, 7682792, 32759013, 263109, 37124133, 25598979,
4959                 44776739, 23365796, 977107, 699994
4960 #endif
4961             }},
4962             {{
4963 #if defined(BORINGSSL_CURVE25519_64BIT)
4964                 281527309158085, 36970532401524, 866906920877543,
4965                 2222282602952734, 1289598729589882
4966 #else
4967                 54642373, 4195083, 57897332, 550903, 51543527, 12917919,
4968                 19118110, 33114591, 36574330, 19216518
4969 #endif
4970             }},
4971             {{
4972 #if defined(BORINGSSL_CURVE25519_64BIT)
4973                 1278207464902042, 494742455008756, 1262082121427081,
4974                 1577236621659884, 1888786707293291
4975 #else
4976                 31788442, 19046775, 4799988, 7372237, 8808585, 18806489,
4977                 9408236, 23502657, 12493931, 28145115
4978 #endif
4979             }},
4980         },
4981         {
4982             {{
4983 #if defined(BORINGSSL_CURVE25519_64BIT)
4984                 353042527954210, 1830056151907359, 1111731275799225,
4985                 174960955838824, 404312815582675
4986 #else
4987                 41428258, 5260743, 47873055, 27269961, 63412921, 16566086,
4988                 27218280, 2607121, 29375955, 6024730
4989 #endif
4990             }},
4991             {{
4992 #if defined(BORINGSSL_CURVE25519_64BIT)
4993                 2064251142068628, 1666421603389706, 1419271365315441,
4994                 468767774902855, 191535130366583
4995 #else
4996                 842132, 30759739, 62345482, 24831616, 26332017, 21148791,
4997                 11831879, 6985184, 57168503, 2854095
4998 #endif
4999             }},
5000             {{
5001 #if defined(BORINGSSL_CURVE25519_64BIT)
5002                 1716987058588002, 1859366439773457, 1767194234188234,
5003                 64476199777924, 1117233614485261
5004 #else
5005                 62261602, 25585100, 2516241, 27706719, 9695690, 26333246,
5006                 16512644, 960770, 12121869, 16648078
5007 #endif
5008             }},
5009         },
5010         {
5011             {{
5012 #if defined(BORINGSSL_CURVE25519_64BIT)
5013                 984292135520292, 135138246951259, 2220652137473167,
5014                 1722843421165029, 190482558012909
5015 #else
5016                 51890212, 14667095, 53772635, 2013716, 30598287, 33090295,
5017                 35603941, 25672367, 20237805, 2838411
5018 #endif
5019             }},
5020             {{
5021 #if defined(BORINGSSL_CURVE25519_64BIT)
5022                 298845952651262, 1166086588952562, 1179896526238434,
5023                 1347812759398693, 1412945390096208
5024 #else
5025                 47820798, 4453151, 15298546, 17376044, 22115042, 17581828,
5026                 12544293, 20083975, 1068880, 21054527
5027 #endif
5028             }},
5029             {{
5030 #if defined(BORINGSSL_CURVE25519_64BIT)
5031                 1143239552672925, 906436640714209, 2177000572812152,
5032                 2075299936108548, 325186347798433
5033 #else
5034                 57549981, 17035596, 33238497, 13506958, 30505848, 32439836,
5035                 58621956, 30924378, 12521377, 4845654
5036 #endif
5037             }},
5038         },
5039         {
5040             {{
5041 #if defined(BORINGSSL_CURVE25519_64BIT)
5042                 721024854374772, 684487861263316, 1373438744094159,
5043                 2193186935276995, 1387043709851261
5044 #else
5045                 38910324, 10744107, 64150484, 10199663, 7759311, 20465832,
5046                 3409347, 32681032, 60626557, 20668561
5047 #endif
5048             }},
5049             {{
5050 #if defined(BORINGSSL_CURVE25519_64BIT)
5051                 418098668140962, 715065997721283, 1471916138376055,
5052                 2168570337288357, 937812682637044
5053 #else
5054                 43547042, 6230155, 46726851, 10655313, 43068279, 21933259,
5055                 10477733, 32314216, 63995636, 13974497
5056 #endif
5057             }},
5058             {{
5059 #if defined(BORINGSSL_CURVE25519_64BIT)
5060                 1043584187226485, 2143395746619356, 2209558562919611,
5061                 482427979307092, 847556718384018
5062 #else
5063                 12966261, 15550616, 35069916, 31939085, 21025979, 32924988,
5064                 5642324, 7188737, 18895762, 12629579
5065 #endif
5066             }},
5067         },
5068     },
5069     {
5070         {
5071             {{
5072 #if defined(BORINGSSL_CURVE25519_64BIT)
5073                 1248731221520759, 1465200936117687, 540803492710140,
5074                 52978634680892, 261434490176109
5075 #else
5076                 14741879, 18607545, 22177207, 21833195, 1279740, 8058600,
5077                 11758140, 789443, 32195181, 3895677
5078 #endif
5079             }},
5080             {{
5081 #if defined(BORINGSSL_CURVE25519_64BIT)
5082                 1057329623869501, 620334067429122, 461700859268034,
5083                 2012481616501857, 297268569108938
5084 #else
5085                 10758205, 15755439, 62598914, 9243697, 62229442, 6879878,
5086                 64904289, 29988312, 58126794, 4429646
5087 #endif
5088             }},
5089             {{
5090 #if defined(BORINGSSL_CURVE25519_64BIT)
5091                 1055352180870759, 1553151421852298, 1510903185371259,
5092                 1470458349428097, 1226259419062731
5093 #else
5094                 64654951, 15725972, 46672522, 23143759, 61304955, 22514211,
5095                 59972993, 21911536, 18047435, 18272689
5096 #endif
5097             }},
5098         },
5099         {
5100             {{
5101 #if defined(BORINGSSL_CURVE25519_64BIT)
5102                 1492988790301668, 790326625573331, 1190107028409745,
5103                 1389394752159193, 1620408196604194
5104 #else
5105                 41935844, 22247266, 29759955, 11776784, 44846481, 17733976,
5106                 10993113, 20703595, 49488162, 24145963
5107 #endif
5108             }},
5109             {{
5110 #if defined(BORINGSSL_CURVE25519_64BIT)
5111                 47000654413729, 1004754424173864, 1868044813557703,
5112                 173236934059409, 588771199737015
5113 #else
5114                 21987233, 700364, 42603816, 14972007, 59334599, 27836036,
5115                 32155025, 2581431, 37149879, 8773374
5116 #endif
5117             }},
5118             {{
5119 #if defined(BORINGSSL_CURVE25519_64BIT)
5120                 30498470091663, 1082245510489825, 576771653181956,
5121                 806509986132686, 1317634017056939
5122 #else
5123                 41540495, 454462, 53896929, 16126714, 25240068, 8594567,
5124                 20656846, 12017935, 59234475, 19634276
5125 #endif
5126             }},
5127         },
5128         {
5129             {{
5130 #if defined(BORINGSSL_CURVE25519_64BIT)
5131                 420308055751555, 1493354863316002, 165206721528088,
5132                 1884845694919786, 2065456951573059
5133 #else
5134                 6028163, 6263078, 36097058, 22252721, 66289944, 2461771,
5135                 35267690, 28086389, 65387075, 30777706
5136 #endif
5137             }},
5138             {{
5139 #if defined(BORINGSSL_CURVE25519_64BIT)
5140                 1115636332012334, 1854340990964155, 83792697369514,
5141                 1972177451994021, 457455116057587
5142 #else
5143                 54829870, 16624276, 987579, 27631834, 32908202, 1248608,
5144                 7719845, 29387734, 28408819, 6816612
5145 #endif
5146             }},
5147             {{
5148 #if defined(BORINGSSL_CURVE25519_64BIT)
5149                 1698968457310898, 1435137169051090, 1083661677032510,
5150                 938363267483709, 340103887207182
5151 #else
5152                 56750770, 25316602, 19549650, 21385210, 22082622, 16147817,
5153                 20613181, 13982702, 56769294, 5067942
5154 #endif
5155             }},
5156         },
5157         {
5158             {{
5159 #if defined(BORINGSSL_CURVE25519_64BIT)
5160                 1995325341336574, 911500251774648, 164010755403692,
5161                 855378419194762, 1573601397528842
5162 #else
5163                 36602878, 29732664, 12074680, 13582412, 47230892, 2443950,
5164                 47389578, 12746131, 5331210, 23448488
5165 #endif
5166             }},
5167             {{
5168 #if defined(BORINGSSL_CURVE25519_64BIT)
5169                 241719380661528, 310028521317150, 1215881323380194,
5170                 1408214976493624, 2141142156467363
5171 #else
5172                 30528792, 3601899, 65151774, 4619784, 39747042, 18118043,
5173                 24180792, 20984038, 27679907, 31905504
5174 #endif
5175             }},
5176             {{
5177 #if defined(BORINGSSL_CURVE25519_64BIT)
5178                 1315157046163473, 727368447885818, 1363466668108618,
5179                 1668921439990361, 1398483384337907
5180 #else
5181                 9402385, 19597367, 32834042, 10838634, 40528714, 20317236,
5182                 26653273, 24868867, 22611443, 20839026
5183 #endif
5184             }},
5185         },
5186         {
5187             {{
5188 #if defined(BORINGSSL_CURVE25519_64BIT)
5189                 75029678299646, 1015388206460473, 1849729037055212,
5190                 1939814616452984, 444404230394954
5191 #else
5192                 22190590, 1118029, 22736441, 15130463, 36648172, 27563110,
5193                 19189624, 28905490, 4854858, 6622139
5194 #endif
5195             }},
5196             {{
5197 #if defined(BORINGSSL_CURVE25519_64BIT)
5198                 2053597130993710, 2024431685856332, 2233550957004860,
5199                 2012407275509545, 872546993104440
5200 #else
5201                 58798126, 30600981, 58846284, 30166382, 56707132, 33282502,
5202                 13424425, 29987205, 26404408, 13001963
5203 #endif
5204             }},
5205             {{
5206 #if defined(BORINGSSL_CURVE25519_64BIT)
5207                 1217269667678610, 599909351968693, 1390077048548598,
5208                 1471879360694802, 739586172317596
5209 #else
5210                 35867026, 18138731, 64114613, 8939345, 11562230, 20713762,
5211                 41044498, 21932711, 51703708, 11020692
5212 #endif
5213             }},
5214         },
5215         {
5216             {{
5217 #if defined(BORINGSSL_CURVE25519_64BIT)
5218                 1718318639380794, 1560510726633958, 904462881159922,
5219                 1418028351780052, 94404349451937
5220 #else
5221                 1866042, 25604943, 59210214, 23253421, 12483314, 13477547,
5222                 3175636, 21130269, 28761761, 1406734
5223 #endif
5224             }},
5225             {{
5226 #if defined(BORINGSSL_CURVE25519_64BIT)
5227                 2132502667405250, 214379346175414, 1502748313768060,
5228                 1960071701057800, 1353971822643138
5229 #else
5230                 66660290, 31776765, 13018550, 3194501, 57528444, 22392694,
5231                 24760584, 29207344, 25577410, 20175752
5232 #endif
5233             }},
5234             {{
5235 #if defined(BORINGSSL_CURVE25519_64BIT)
5236                 319394212043702, 2127459436033571, 717646691535162,
5237                 663366796076914, 318459064945314
5238 #else
5239                 42818486, 4759344, 66418211, 31701615, 2066746, 10693769,
5240                 37513074, 9884935, 57739938, 4745409
5241 #endif
5242             }},
5243         },
5244         {
5245             {{
5246 #if defined(BORINGSSL_CURVE25519_64BIT)
5247                 405989424923593, 1960452633787083, 667349034401665,
5248                 1492674260767112, 1451061489880787
5249 #else
5250                 57967561, 6049713, 47577803, 29213020, 35848065, 9944275,
5251                 51646856, 22242579, 10931923, 21622501
5252 #endif
5253             }},
5254             {{
5255 #if defined(BORINGSSL_CURVE25519_64BIT)
5256                 947085906234007, 323284730494107, 1485778563977200,
5257                 728576821512394, 901584347702286
5258 #else
5259                 50547351, 14112679, 59096219, 4817317, 59068400, 22139825,
5260                 44255434, 10856640, 46638094, 13434653
5261 #endif
5262             }},
5263             {{
5264 #if defined(BORINGSSL_CURVE25519_64BIT)
5265                 1575783124125742, 2126210792434375, 1569430791264065,
5266                 1402582372904727, 1891780248341114
5267 #else
5268                 22759470, 23480998, 50342599, 31683009, 13637441, 23386341,
5269                 1765143, 20900106, 28445306, 28189722
5270 #endif
5271             }},
5272         },
5273         {
5274             {{
5275 #if defined(BORINGSSL_CURVE25519_64BIT)
5276                 838432205560695, 1997703511451664, 1018791879907867,
5277                 1662001808174331, 78328132957753
5278 #else
5279                 29875063, 12493613, 2795536, 29768102, 1710619, 15181182,
5280                 56913147, 24765756, 9074233, 1167180
5281 #endif
5282             }},
5283             {{
5284 #if defined(BORINGSSL_CURVE25519_64BIT)
5285                 739152638255629, 2074935399403557, 505483666745895,
5286                 1611883356514088, 628654635394878
5287 #else
5288                 40903181, 11014232, 57266213, 30918946, 40200743, 7532293,
5289                 48391976, 24018933, 3843902, 9367684
5290 #endif
5291             }},
5292             {{
5293 #if defined(BORINGSSL_CURVE25519_64BIT)
5294                 1822054032121349, 643057948186973, 7306757352712,
5295                 577249257962099, 284735863382083
5296 #else
5297                 56139269, 27150720, 9591133, 9582310, 11349256, 108879,
5298                 16235123, 8601684, 66969667, 4242894
5299 #endif
5300             }},
5301         },
5302     },
5303     {
5304         {
5305             {{
5306 #if defined(BORINGSSL_CURVE25519_64BIT)
5307                 1366558556363930, 1448606567552086, 1478881020944768,
5308                 165803179355898, 1115718458123498
5309 #else
5310                 22092954, 20363309, 65066070, 21585919, 32186752, 22037044,
5311                 60534522, 2470659, 39691498, 16625500
5312 #endif
5313             }},
5314             {{
5315 #if defined(BORINGSSL_CURVE25519_64BIT)
5316                 204146226972102, 1630511199034723, 2215235214174763,
5317                 174665910283542, 956127674017216
5318 #else
5319                 56051142, 3042015, 13770083, 24296510, 584235, 33009577,
5320                 59338006, 2602724, 39757248, 14247412
5321 #endif
5322             }},
5323             {{
5324 #if defined(BORINGSSL_CURVE25519_64BIT)
5325                 1562934578796716, 1070893489712745, 11324610642270,
5326                 958989751581897, 2172552325473805
5327 #else
5328                 6314156, 23289540, 34336361, 15957556, 56951134, 168749,
5329                 58490057, 14290060, 27108877, 32373552
5330 #endif
5331             }},
5332         },
5333         {
5334             {{
5335 #if defined(BORINGSSL_CURVE25519_64BIT)
5336                 1770564423056027, 735523631664565, 1326060113795289,
5337                 1509650369341127, 65892421582684
5338 #else
5339                 58522267, 26383465, 13241781, 10960156, 34117849, 19759835,
5340                 33547975, 22495543, 39960412, 981873
5341 #endif
5342             }},
5343             {{
5344 #if defined(BORINGSSL_CURVE25519_64BIT)
5345                 623682558650637, 1337866509471512, 990313350206649,
5346                 1314236615762469, 1164772974270275
5347 #else
5348                 22833421, 9293594, 34459416, 19935764, 57971897, 14756818,
5349                 44180005, 19583651, 56629059, 17356469
5350 #endif
5351             }},
5352             {{
5353 #if defined(BORINGSSL_CURVE25519_64BIT)
5354                 223256821462517, 723690150104139, 1000261663630601,
5355                 933280913953265, 254872671543046
5356 #else
5357                 59340277, 3326785, 38997067, 10783823, 19178761, 14905060,
5358                 22680049, 13906969, 51175174, 3797898
5359 #endif
5360             }},
5361         },
5362         {
5363             {{
5364 #if defined(BORINGSSL_CURVE25519_64BIT)
5365                 1969087237026041, 624795725447124, 1335555107635969,
5366                 2069986355593023, 1712100149341902
5367 #else
5368                 21721337, 29341686, 54902740, 9310181, 63226625, 19901321,
5369                 23740223, 30845200, 20491982, 25512280
5370 #endif
5371             }},
5372             {{
5373 #if defined(BORINGSSL_CURVE25519_64BIT)
5374                 1236103475266979, 1837885883267218, 1026072585230455,
5375                 1025865513954973, 1801964901432134
5376 #else
5377                 9209251, 18419377, 53852306, 27386633, 66377847, 15289672,
5378                 25947805, 15286587, 30997318, 26851369
5379 #endif
5380             }},
5381             {{
5382 #if defined(BORINGSSL_CURVE25519_64BIT)
5383                 1115241013365517, 1712251818829143, 2148864332502771,
5384                 2096001471438138, 2235017246626125
5385 #else
5386                 7392013, 16618386, 23946583, 25514540, 53843699, 32020573,
5387                 52911418, 31232855, 17649997, 33304352
5388 #endif
5389             }},
5390         },
5391         {
5392             {{
5393 #if defined(BORINGSSL_CURVE25519_64BIT)
5394                 1299268198601632, 2047148477845621, 2165648650132450,
5395                 1612539282026145, 514197911628890
5396 #else
5397                 57807776, 19360604, 30609525, 30504889, 41933794, 32270679,
5398                 51867297, 24028707, 64875610, 7662145
5399 #endif
5400             }},
5401             {{
5402 #if defined(BORINGSSL_CURVE25519_64BIT)
5403                 118352772338543, 1067608711804704, 1434796676193498,
5404                 1683240170548391, 230866769907437
5405 #else
5406                 49550191, 1763593, 33994528, 15908609, 37067994, 21380136,
5407                 7335079, 25082233, 63934189, 3440182
5408 #endif
5409             }},
5410             {{
5411 #if defined(BORINGSSL_CURVE25519_64BIT)
5412                 1850689576796636, 1601590730430274, 1139674615958142,
5413                 1954384401440257, 76039205311
5414 #else
5415                 47219164, 27577423, 42997570, 23865561, 10799742, 16982475,
5416                 40449, 29122597, 4862399, 1133
5417 #endif
5418             }},
5419         },
5420         {
5421             {{
5422 #if defined(BORINGSSL_CURVE25519_64BIT)
5423                 1723387471374172, 997301467038410, 533927635123657,
5424                 20928644693965, 1756575222802513
5425 #else
5426                 34252636, 25680474, 61686474, 14860949, 50789833, 7956141,
5427                 7258061, 311861, 36513873, 26175010
5428 #endif
5429             }},
5430             {{
5431 #if defined(BORINGSSL_CURVE25519_64BIT)
5432                 2146711623855116, 503278928021499, 625853062251406,
5433                 1109121378393107, 1033853809911861
5434 #else
5435                 63335436, 31988495, 28985339, 7499440, 24445838, 9325937,
5436                 29727763, 16527196, 18278453, 15405622
5437 #endif
5438             }},
5439             {{
5440 #if defined(BORINGSSL_CURVE25519_64BIT)
5441                 571005965509422, 2005213373292546, 1016697270349626,
5442                 56607856974274, 914438579435146
5443 #else
5444                 62726958, 8508651, 47210498, 29880007, 61124410, 15149969,
5445                 53795266, 843522, 45233802, 13626196
5446 #endif
5447             }},
5448         },
5449         {
5450             {{
5451 #if defined(BORINGSSL_CURVE25519_64BIT)
5452                 1346698876211176, 2076651707527589, 1084761571110205,
5453                 265334478828406, 1068954492309671
5454 #else
5455                 2281448, 20067377, 56193445, 30944521, 1879357, 16164207,
5456                 56324982, 3953791, 13340839, 15928663
5457 #endif
5458             }},
5459             {{
5460 #if defined(BORINGSSL_CURVE25519_64BIT)
5461                 1769967932677654, 1695893319756416, 1151863389675920,
5462                 1781042784397689, 400287774418285
5463 #else
5464                 31727126, 26374577, 48671360, 25270779, 2875792, 17164102,
5465                 41838969, 26539605, 43656557, 5964752
5466 #endif
5467             }},
5468             {{
5469 #if defined(BORINGSSL_CURVE25519_64BIT)
5470                 1851867764003121, 403841933237558, 820549523771987,
5471                 761292590207581, 1743735048551143
5472 #else
5473                 4100401, 27594980, 49929526, 6017713, 48403027, 12227140,
5474                 40424029, 11344143, 2538215, 25983677
5475 #endif
5476             }},
5477         },
5478         {
5479             {{
5480 #if defined(BORINGSSL_CURVE25519_64BIT)
5481                 410915148140008, 2107072311871739, 1004367461876503,
5482                 99684895396761, 1180818713503224
5483 #else
5484                 57675240, 6123112, 11159803, 31397824, 30016279, 14966241,
5485                 46633881, 1485420, 66479608, 17595569
5486 #endif
5487             }},
5488             {{
5489 #if defined(BORINGSSL_CURVE25519_64BIT)
5490                 285945406881439, 648174397347453, 1098403762631981,
5491                 1366547441102991, 1505876883139217
5492 #else
5493                 40304287, 4260918, 11851389, 9658551, 35091757, 16367491,
5494                 46903439, 20363143, 11659921, 22439314
5495 #endif
5496             }},
5497             {{
5498 #if defined(BORINGSSL_CURVE25519_64BIT)
5499                 672095903120153, 1675918957959872, 636236529315028,
5500                 1569297300327696, 2164144194785875
5501 #else
5502                 26180377, 10015009, 36264640, 24973138, 5418196, 9480663,
5503                 2231568, 23384352, 33100371, 32248261
5504 #endif
5505             }},
5506         },
5507         {
5508             {{
5509 #if defined(BORINGSSL_CURVE25519_64BIT)
5510                 1902708175321798, 1035343530915438, 1178560808893263,
5511                 301095684058146, 1280977479761118
5512 #else
5513                 15121094, 28352561, 56718958, 15427820, 39598927, 17561924,
5514                 21670946, 4486675, 61177054, 19088051
5515 #endif
5516             }},
5517             {{
5518 #if defined(BORINGSSL_CURVE25519_64BIT)
5519                 1615357281742403, 404257611616381, 2160201349780978,
5520                 1160947379188955, 1578038619549541
5521 #else
5522                 16166467, 24070699, 56004733, 6023907, 35182066, 32189508,
5523                 2340059, 17299464, 56373093, 23514607
5524 #endif
5525             }},
5526             {{
5527 #if defined(BORINGSSL_CURVE25519_64BIT)
5528                 2013087639791217, 822734930507457, 1785668418619014,
5529                 1668650702946164, 389450875221715
5530 #else
5531                 28042865, 29997343, 54982337, 12259705, 63391366, 26608532,
5532                 6766452, 24864833, 18036435, 5803270
5533 #endif
5534             }},
5535         },
5536     },
5537     {
5538         {
5539             {{
5540 #if defined(BORINGSSL_CURVE25519_64BIT)
5541                 453918449698368, 106406819929001, 2072540975937135,
5542                 308588860670238, 1304394580755385
5543 #else
5544                 66291264, 6763911, 11803561, 1585585, 10958447, 30883267,
5545                 23855390, 4598332, 60949433, 19436993
5546 #endif
5547             }},
5548             {{
5549 #if defined(BORINGSSL_CURVE25519_64BIT)
5550                 1295082798350326, 2091844511495996, 1851348972587817,
5551                 3375039684596, 789440738712837
5552 #else
5553                 36077558, 19298237, 17332028, 31170912, 31312681, 27587249,
5554                 696308, 50292, 47013125, 11763583
5555 #endif
5556             }},
5557             {{
5558 #if defined(BORINGSSL_CURVE25519_64BIT)
5559                 2083069137186154, 848523102004566, 993982213589257,
5560                 1405313299916317, 1532824818698468
5561 #else
5562                 66514282, 31040148, 34874710, 12643979, 12650761, 14811489,
5563                 665117, 20940800, 47335652, 22840869
5564 #endif
5565             }},
5566         },
5567         {
5568             {{
5569 #if defined(BORINGSSL_CURVE25519_64BIT)
5570                 1495961298852430, 1397203457344779, 1774950217066942,
5571                 139302743555696, 66603584342787
5572 #else
5573                 30464590, 22291560, 62981387, 20819953, 19835326, 26448819,
5574                 42712688, 2075772, 50088707, 992470
5575 #endif
5576             }},
5577             {{
5578 #if defined(BORINGSSL_CURVE25519_64BIT)
5579                 1782411379088302, 1096724939964781, 27593390721418,
5580                 542241850291353, 1540337798439873
5581 #else
5582                 18357166, 26559999, 7766381, 16342475, 37783946, 411173,
5583                 14578841, 8080033, 55534529, 22952821
5584 #endif
5585             }},
5586             {{
5587 #if defined(BORINGSSL_CURVE25519_64BIT)
5588                 693543956581437, 171507720360750, 1557908942697227,
5589                 1074697073443438, 1104093109037196
5590 #else
5591                 19598397, 10334610, 12555054, 2555664, 18821899, 23214652,
5592                 21873262, 16014234, 26224780, 16452269
5593 #endif
5594             }},
5595         },
5596         {
5597             {{
5598 #if defined(BORINGSSL_CURVE25519_64BIT)
5599                 345288228393419, 1099643569747172, 134881908403743,
5600                 1740551994106740, 248212179299770
5601 #else
5602                 36884939, 5145195, 5944548, 16385966, 3976735, 2009897,
5603                 55731060, 25936245, 46575034, 3698649
5604 #endif
5605             }},
5606             {{
5607 #if defined(BORINGSSL_CURVE25519_64BIT)
5608                 231429562203065, 1526290236421172, 2021375064026423,
5609                 1520954495658041, 806337791525116
5610 #else
5611                 14187449, 3448569, 56472628, 22743496, 44444983, 30120835,
5612                 7268409, 22663988, 27394300, 12015369
5613 #endif
5614             }},
5615             {{
5616 #if defined(BORINGSSL_CURVE25519_64BIT)
5617                 1079623667189886, 872403650198613, 766894200588288,
5618                 2163700860774109, 2023464507911816
5619 #else
5620                 19695742, 16087646, 28032085, 12999827, 6817792, 11427614,
5621                 20244189, 32241655, 53849736, 30151970
5622 #endif
5623             }},
5624         },
5625         {
5626             {{
5627 #if defined(BORINGSSL_CURVE25519_64BIT)
5628                 854645372543796, 1936406001954827, 151460662541253,
5629                 825325739271555, 1554306377287556
5630 #else
5631                 30860084, 12735208, 65220619, 28854697, 50133957, 2256939,
5632                 58942851, 12298311, 58558340, 23160969
5633 #endif
5634             }},
5635             {{
5636 #if defined(BORINGSSL_CURVE25519_64BIT)
5637                 1497138821904622, 1044820250515590, 1742593886423484,
5638                 1237204112746837, 849047450816987
5639 #else
5640                 61389038, 22309106, 65198214, 15569034, 26642876, 25966672,
5641                 61319509, 18435777, 62132699, 12651792
5642 #endif
5643             }},
5644             {{
5645 #if defined(BORINGSSL_CURVE25519_64BIT)
5646                 667962773375330, 1897271816877105, 1399712621683474,
5647                 1143302161683099, 2081798441209593
5648 #else
5649                 64260450, 9953420, 11531313, 28271553, 26895122, 20857343,
5650                 53990043, 17036529, 9768697, 31021214
5651 #endif
5652             }},
5653         },
5654         {
5655             {{
5656 #if defined(BORINGSSL_CURVE25519_64BIT)
5657                 127147851567005, 1936114012888110, 1704424366552046,
5658                 856674880716312, 716603621335359
5659 #else
5660                 42389405, 1894650, 66821166, 28850346, 15348718, 25397902,
5661                 32767512, 12765450, 4940095, 10678226
5662 #endif
5663             }},
5664             {{
5665 #if defined(BORINGSSL_CURVE25519_64BIT)
5666                 1072409664800960, 2146937497077528, 1508780108920651,
5667                 935767602384853, 1112800433544068
5668 #else
5669                 18860224, 15980149, 48121624, 31991861, 40875851, 22482575,
5670                 59264981, 13944023, 42736516, 16582018
5671 #endif
5672             }},
5673             {{
5674 #if defined(BORINGSSL_CURVE25519_64BIT)
5675                 333549023751292, 280219272863308, 2104176666454852,
5676                 1036466864875785, 536135186520207
5677 #else
5678                 51604604, 4970267, 37215820, 4175592, 46115652, 31354675,
5679                 55404809, 15444559, 56105103, 7989036
5680 #endif
5681             }},
5682         },
5683         {
5684             {{
5685 #if defined(BORINGSSL_CURVE25519_64BIT)
5686                 373666279883137, 146457241530109, 304116267127857,
5687                 416088749147715, 1258577131183391
5688 #else
5689                 31490433, 5568061, 64696061, 2182382, 34772017, 4531685,
5690                 35030595, 6200205, 47422751, 18754260
5691 #endif
5692             }},
5693             {{
5694 #if defined(BORINGSSL_CURVE25519_64BIT)
5695                 1186115062588401, 2251609796968486, 1098944457878953,
5696                 1153112761201374, 1791625503417267
5697 #else
5698                 49800177, 17674491, 35586086, 33551600, 34221481, 16375548,
5699                 8680158, 17182719, 28550067, 26697300
5700 #endif
5701             }},
5702             {{
5703 #if defined(BORINGSSL_CURVE25519_64BIT)
5704                 1870078460219737, 2129630962183380, 852283639691142,
5705                 292865602592851, 401904317342226
5706 #else
5707                 38981977, 27866340, 16837844, 31733974, 60258182, 12700015,
5708                 37068883, 4364037, 1155602, 5988841
5709 #endif
5710             }},
5711         },
5712         {
5713             {{
5714 #if defined(BORINGSSL_CURVE25519_64BIT)
5715                 1361070124828035, 815664541425524, 1026798897364671,
5716                 1951790935390647, 555874891834790
5717 #else
5718                 21890435, 20281525, 54484852, 12154348, 59276991, 15300495,
5719                 23148983, 29083951, 24618406, 8283181
5720 #endif
5721             }},
5722             {{
5723 #if defined(BORINGSSL_CURVE25519_64BIT)
5724                 1546301003424277, 459094500062839, 1097668518375311,
5725                 1780297770129643, 720763293687608
5726 #else
5727                 33972757, 23041680, 9975415, 6841041, 35549071, 16356535,
5728                 3070187, 26528504, 1466168, 10740210
5729 #endif
5730             }},
5731             {{
5732 #if defined(BORINGSSL_CURVE25519_64BIT)
5733                 1212405311403990, 1536693382542438, 61028431067459,
5734                 1863929423417129, 1223219538638038
5735 #else
5736                 65599446, 18066246, 53605478, 22898515, 32799043, 909394,
5737                 53169961, 27774712, 34944214, 18227391
5738 #endif
5739             }},
5740         },
5741         {
5742             {{
5743 #if defined(BORINGSSL_CURVE25519_64BIT)
5744                 1294303766540260, 1183557465955093, 882271357233093,
5745                 63854569425375, 2213283684565087
5746 #else
5747                 3960804, 19286629, 39082773, 17636380, 47704005, 13146867,
5748                 15567327, 951507, 63848543, 32980496
5749 #endif
5750             }},
5751             {{
5752 #if defined(BORINGSSL_CURVE25519_64BIT)
5753                 339050984211414, 601386726509773, 413735232134068,
5754                 966191255137228, 1839475899458159
5755 #else
5756                 24740822, 5052253, 37014733, 8961360, 25877428, 6165135,
5757                 42740684, 14397371, 59728495, 27410326
5758 #endif
5759             }},
5760             {{
5761 #if defined(BORINGSSL_CURVE25519_64BIT)
5762                 235605972169408, 2174055643032978, 1538335001838863,
5763                 1281866796917192, 1815940222628465
5764 #else
5765                 38220480, 3510802, 39005586, 32395953, 55870735, 22922977,
5766                 51667400, 19101303, 65483377, 27059617
5767 #endif
5768             }},
5769         },
5770     },
5771     {
5772         {
5773             {{
5774 #if defined(BORINGSSL_CURVE25519_64BIT)
5775                 1632352921721536, 1833328609514701, 2092779091951987,
5776                 1923956201873226, 2210068022482919
5777 #else
5778                 793280, 24323954, 8836301, 27318725, 39747955, 31184838,
5779                 33152842, 28669181, 57202663, 32932579
5780 #endif
5781             }},
5782             {{
5783 #if defined(BORINGSSL_CURVE25519_64BIT)
5784                 35271216625062, 1712350667021807, 983664255668860,
5785                 98571260373038, 1232645608559836
5786 #else
5787                 5666214, 525582, 20782575, 25516013, 42570364, 14657739,
5788                 16099374, 1468826, 60937436, 18367850
5789 #endif
5790             }},
5791             {{
5792 #if defined(BORINGSSL_CURVE25519_64BIT)
5793                 1998172393429622, 1798947921427073, 784387737563581,
5794                 1589352214827263, 1589861734168180
5795 #else
5796                 62249590, 29775088, 64191105, 26806412, 7778749, 11688288,
5797                 36704511, 23683193, 65549940, 23690785
5798 #endif
5799             }},
5800         },
5801         {
5802             {{
5803 #if defined(BORINGSSL_CURVE25519_64BIT)
5804                 1733739258725305, 31715717059538, 201969945218860,
5805                 992093044556990, 1194308773174556
5806 #else
5807                 10896313, 25834728, 824274, 472601, 47648556, 3009586, 25248958,
5808                 14783338, 36527388, 17796587
5809 #endif
5810             }},
5811             {{
5812 #if defined(BORINGSSL_CURVE25519_64BIT)
5813                 846415389605137, 746163495539180, 829658752826080,
5814                 592067705956946, 957242537821393
5815 #else
5816                 10566929, 12612572, 35164652, 11118702, 54475488, 12362878,
5817                 21752402, 8822496, 24003793, 14264025
5818 #endif
5819             }},
5820             {{
5821 #if defined(BORINGSSL_CURVE25519_64BIT)
5822                 1758148849754419, 619249044817679, 168089007997045,
5823                 1371497636330523, 1867101418880350
5824 #else
5825                 27713843, 26198459, 56100623, 9227529, 27050101, 2504721,
5826                 23886875, 20436907, 13958494, 27821979
5827 #endif
5828             }},
5829         },
5830         {
5831             {{
5832 #if defined(BORINGSSL_CURVE25519_64BIT)
5833                 326633984209635, 261759506071016, 1700682323676193,
5834                 1577907266349064, 1217647663383016
5835 #else
5836                 43627235, 4867225, 39861736, 3900520, 29838369, 25342141,
5837                 35219464, 23512650, 7340520, 18144364
5838 #endif
5839             }},
5840             {{
5841 #if defined(BORINGSSL_CURVE25519_64BIT)
5842                 1714182387328607, 1477856482074168, 574895689942184,
5843                 2159118410227270, 1555532449716575
5844 #else
5845                 4646495, 25543308, 44342840, 22021777, 23184552, 8566613,
5846                 31366726, 32173371, 52042079, 23179239
5847 #endif
5848             }},
5849             {{
5850 #if defined(BORINGSSL_CURVE25519_64BIT)
5851                 853828206885131, 998498946036955, 1835887550391235,
5852                 207627336608048, 258363815956050
5853 #else
5854                 49838347, 12723031, 50115803, 14878793, 21619651, 27356856,
5855                 27584816, 3093888, 58265170, 3849920
5856 #endif
5857             }},
5858         },
5859         {
5860             {{
5861 #if defined(BORINGSSL_CURVE25519_64BIT)
5862                 141141474651677, 1236728744905256, 643101419899887,
5863                 1646615130509173, 1208239602291765
5864 #else
5865                 58043933, 2103171, 25561640, 18428694, 61869039, 9582957,
5866                 32477045, 24536477, 5002293, 18004173
5867 #endif
5868             }},
5869             {{
5870 #if defined(BORINGSSL_CURVE25519_64BIT)
5871                 1501663228068911, 1354879465566912, 1444432675498247,
5872                 897812463852601, 855062598754348
5873 #else
5874                 55051311, 22376525, 21115584, 20189277, 8808711, 21523724,
5875                 16489529, 13378448, 41263148, 12741425
5876 #endif
5877             }},
5878             {{
5879 #if defined(BORINGSSL_CURVE25519_64BIT)
5880                 714380763546606, 1032824444965790, 1774073483745338,
5881                 1063840874947367, 1738680636537158
5882 #else
5883                 61162478, 10645102, 36197278, 15390283, 63821882, 26435754,
5884                 24306471, 15852464, 28834118, 25908360
5885 #endif
5886             }},
5887         },
5888         {
5889             {{
5890 #if defined(BORINGSSL_CURVE25519_64BIT)
5891                 1640635546696252, 633168953192112, 2212651044092396,
5892                 30590958583852, 368515260889378
5893 #else
5894                 49773116, 24447374, 42577584, 9434952, 58636780, 32971069,
5895                 54018092, 455840, 20461858, 5491305
5896 #endif
5897             }},
5898             {{
5899 #if defined(BORINGSSL_CURVE25519_64BIT)
5900                 1171650314802029, 1567085444565577, 1453660792008405,
5901                 757914533009261, 1619511342778196
5902 #else
5903                 13669229, 17458950, 54626889, 23351392, 52539093, 21661233,
5904                 42112877, 11293806, 38520660, 24132599
5905 #endif
5906             }},
5907             {{
5908 #if defined(BORINGSSL_CURVE25519_64BIT)
5909                 420958967093237, 971103481109486, 2169549185607107,
5910                 1301191633558497, 1661514101014240
5911 #else
5912                 28497909, 6272777, 34085870, 14470569, 8906179, 32328802,
5913                 18504673, 19389266, 29867744, 24758489
5914 #endif
5915             }},
5916         },
5917         {
5918             {{
5919 #if defined(BORINGSSL_CURVE25519_64BIT)
5920                 907123651818302, 1332556122804146, 1824055253424487,
5921                 1367614217442959, 1982558335973172
5922 #else
5923                 50901822, 13517195, 39309234, 19856633, 24009063, 27180541,
5924                 60741263, 20379039, 22853428, 29542421
5925 #endif
5926             }},
5927             {{
5928 #if defined(BORINGSSL_CURVE25519_64BIT)
5929                 1121533090144639, 1021251337022187, 110469995947421,
5930                 1511059774758394, 2110035908131662
5931 #else
5932                 24191359, 16712145, 53177067, 15217830, 14542237, 1646131,
5933                 18603514, 22516545, 12876622, 31441985
5934 #endif
5935             }},
5936             {{
5937 #if defined(BORINGSSL_CURVE25519_64BIT)
5938                 303213233384524, 2061932261128138, 352862124777736,
5939                 40828818670255, 249879468482660
5940 #else
5941                 17902668, 4518229, 66697162, 30725184, 26878216, 5258055,
5942                 54248111, 608396, 16031844, 3723494
5943 #endif
5944             }},
5945         },
5946         {
5947             {{
5948 #if defined(BORINGSSL_CURVE25519_64BIT)
5949                 856559257852200, 508517664949010, 1378193767894916,
5950                 1723459126947129, 1962275756614521
5951 #else
5952                 38476072, 12763727, 46662418, 7577503, 33001348, 20536687,
5953                 17558841, 25681542, 23896953, 29240187
5954 #endif
5955             }},
5956             {{
5957 #if defined(BORINGSSL_CURVE25519_64BIT)
5958                 1445691340537320, 40614383122127, 402104303144865,
5959                 485134269878232, 1659439323587426
5960 #else
5961                 47103464, 21542479, 31520463, 605201, 2543521, 5991821,
5962                 64163800, 7229063, 57189218, 24727572
5963 #endif
5964             }},
5965             {{
5966 #if defined(BORINGSSL_CURVE25519_64BIT)
5967                 20057458979482, 1183363722525800, 2140003847237215,
5968                 2053873950687614, 2112017736174909
5969 #else
5970                 28816026, 298879, 38943848, 17633493, 19000927, 31888542,
5971                 54428030, 30605106, 49057085, 31471516
5972 #endif
5973             }},
5974         },
5975         {
5976             {{
5977 #if defined(BORINGSSL_CURVE25519_64BIT)
5978                 2228654250927986, 1483591363415267, 1368661293910956,
5979                 1076511285177291, 526650682059608
5980 #else
5981                 16000882, 33209536, 3493091, 22107234, 37604268, 20394642,
5982                 12577739, 16041268, 47393624, 7847706
5983 #endif
5984             }},
5985             {{
5986 #if defined(BORINGSSL_CURVE25519_64BIT)
5987                 709481497028540, 531682216165724, 316963769431931,
5988                 1814315888453765, 258560242424104
5989 #else
5990                 10151868, 10572098, 27312476, 7922682, 14825339, 4723128,
5991                 34252933, 27035413, 57088296, 3852847
5992 #endif
5993             }},
5994             {{
5995 #if defined(BORINGSSL_CURVE25519_64BIT)
5996                 1053447823660455, 1955135194248683, 1010900954918985,
5997                 1182614026976701, 1240051576966610
5998 #else
5999                 55678375, 15697595, 45987307, 29133784, 5386313, 15063598,
6000                 16514493, 17622322, 29330898, 18478208
6001 #endif
6002             }},
6003         },
6004     },
6005     {
6006         {
6007             {{
6008 #if defined(BORINGSSL_CURVE25519_64BIT)
6009                 1957943897155497, 1788667368028035, 137692910029106,
6010                 1039519607062, 826404763313028
6011 #else
6012                 41609129, 29175637, 51885955, 26653220, 16615730, 2051784,
6013                 3303702, 15490, 39560068, 12314390
6014 #endif
6015             }},
6016             {{
6017 #if defined(BORINGSSL_CURVE25519_64BIT)
6018                 1848942433095597, 1582009882530495, 1849292741020143,
6019                 1068498323302788, 2001402229799484
6020 #else
6021                 15683501, 27551389, 18109119, 23573784, 15337967, 27556609,
6022                 50391428, 15921865, 16103996, 29823217
6023 #endif
6024             }},
6025             {{
6026 #if defined(BORINGSSL_CURVE25519_64BIT)
6027                 1528282417624269, 2142492439828191, 2179662545816034,
6028                 362568973150328, 1591374675250271
6029 #else
6030                 43939021, 22773182, 13588191, 31925625, 63310306, 32479502,
6031                 47835256, 5402698, 37293151, 23713330
6032 #endif
6033             }},
6034         },
6035         {
6036             {{
6037 #if defined(BORINGSSL_CURVE25519_64BIT)
6038                 160026679434388, 232341189218716, 2149181472355545,
6039                 598041771119831, 183859001910173
6040 #else
6041                 23190676, 2384583, 34394524, 3462153, 37205209, 32025299,
6042                 55842007, 8911516, 41903005, 2739712
6043 #endif
6044             }},
6045             {{
6046 #if defined(BORINGSSL_CURVE25519_64BIT)
6047                 2013278155187349, 662660471354454, 793981225706267,
6048                 411706605985744, 804490933124791
6049 #else
6050                 21374101, 30000182, 33584214, 9874410, 15377179, 11831242,
6051                 33578960, 6134906, 4931255, 11987849
6052 #endif
6053             }},
6054             {{
6055 #if defined(BORINGSSL_CURVE25519_64BIT)
6056                 2051892037280204, 488391251096321, 2230187337030708,
6057                 930221970662692, 679002758255210
6058 #else
6059                 67101132, 30575573, 50885377, 7277596, 105524, 33232381,
6060                 35628324, 13861387, 37032554, 10117929
6061 #endif
6062             }},
6063         },
6064         {
6065             {{
6066 #if defined(BORINGSSL_CURVE25519_64BIT)
6067                 1530723630438670, 875873929577927, 341560134269988,
6068                 449903119530753, 1055551308214179
6069 #else
6070                 37607694, 22809559, 40945095, 13051538, 41483300, 5089642,
6071                 60783361, 6704078, 12890019, 15728940
6072 #endif
6073             }},
6074             {{
6075 #if defined(BORINGSSL_CURVE25519_64BIT)
6076                 1461835919309432, 1955256480136428, 180866187813063,
6077                 1551979252664528, 557743861963950
6078 #else
6079                 45136504, 21783052, 66157804, 29135591, 14704839, 2695116,
6080                 903376, 23126293, 12885166, 8311031
6081 #endif
6082             }},
6083             {{
6084 #if defined(BORINGSSL_CURVE25519_64BIT)
6085                 359179641731115, 1324915145732949, 902828372691474,
6086                 294254275669987, 1887036027752957
6087 #else
6088                 49592363, 5352193, 10384213, 19742774, 7506450, 13453191,
6089                 26423267, 4384730, 1888765, 28119028
6090 #endif
6091             }},
6092         },
6093         {
6094             {{
6095 #if defined(BORINGSSL_CURVE25519_64BIT)
6096                 2043271609454323, 2038225437857464, 1317528426475850,
6097                 1398989128982787, 2027639881006861
6098 #else
6099                 41291507, 30447119, 53614264, 30371925, 30896458, 19632703,
6100                 34857219, 20846562, 47644429, 30214188
6101 #endif
6102             }},
6103             {{
6104 #if defined(BORINGSSL_CURVE25519_64BIT)
6105                 2072902725256516, 312132452743412, 309930885642209,
6106                 996244312618453, 1590501300352303
6107 #else
6108                 43500868, 30888657, 66582772, 4651135, 5765089, 4618330,
6109                 6092245, 14845197, 17151279, 23700316
6110 #endif
6111             }},
6112             {{
6113 #if defined(BORINGSSL_CURVE25519_64BIT)
6114                 1397254305160710, 695734355138021, 2233992044438756,
6115                 1776180593969996, 1085588199351115
6116 #else
6117                 42278406, 20820711, 51942885, 10367249, 37577956, 33289075,
6118                 22825804, 26467153, 50242379, 16176524
6119 #endif
6120             }},
6121         },
6122         {
6123             {{
6124 #if defined(BORINGSSL_CURVE25519_64BIT)
6125                 440567051331029, 254894786356681, 493869224930222,
6126                 1556322069683366, 1567456540319218
6127 #else
6128                 43525589, 6564960, 20063689, 3798228, 62368686, 7359224,
6129                 2006182, 23191006, 38362610, 23356922
6130 #endif
6131             }},
6132             {{
6133 #if defined(BORINGSSL_CURVE25519_64BIT)
6134                 1950722461391320, 1907845598854797, 1822757481635527,
6135                 2121567704750244, 73811931471221
6136 #else
6137                 56482264, 29068029, 53788301, 28429114, 3432135, 27161203,
6138                 23632036, 31613822, 32808309, 1099883
6139 #endif
6140             }},
6141             {{
6142 #if defined(BORINGSSL_CURVE25519_64BIT)
6143                 387139307395758, 2058036430315676, 1220915649965325,
6144                 1794832055328951, 1230009312169328
6145 #else
6146                 15030958, 5768825, 39657628, 30667132, 60681485, 18193060,
6147                 51830967, 26745081, 2051440, 18328567
6148 #endif
6149             }},
6150         },
6151         {
6152             {{
6153 #if defined(BORINGSSL_CURVE25519_64BIT)
6154                 1765973779329517, 659344059446977, 19821901606666,
6155                 1301928341311214, 1116266004075885
6156 #else
6157                 63746541, 26315059, 7517889, 9824992, 23555850, 295369, 5148398,
6158                 19400244, 44422509, 16633659
6159 #endif
6160             }},
6161             {{
6162 #if defined(BORINGSSL_CURVE25519_64BIT)
6163                 1127572801181483, 1224743760571696, 1276219889847274,
6164                 1529738721702581, 1589819666871853
6165 #else
6166                 4577067, 16802144, 13249840, 18250104, 19958762, 19017158,
6167                 18559669, 22794883, 8402477, 23690159
6168 #endif
6169             }},
6170             {{
6171 #if defined(BORINGSSL_CURVE25519_64BIT)
6172                 2181229378964934, 2190885205260020, 1511536077659137,
6173                 1246504208580490, 668883326494241
6174 #else
6175                 38702534, 32502850, 40318708, 32646733, 49896449, 22523642,
6176                 9453450, 18574360, 17983009, 9967138
6177 #endif
6178             }},
6179         },
6180         {
6181             {{
6182 #if defined(BORINGSSL_CURVE25519_64BIT)
6183                 437866655573314, 669026411194768, 81896997980338,
6184                 523874406393178, 245052060935236
6185 #else
6186                 41346370, 6524721, 26585488, 9969270, 24709298, 1220360,
6187                 65430874, 7806336, 17507396, 3651560
6188 #endif
6189             }},
6190             {{
6191 #if defined(BORINGSSL_CURVE25519_64BIT)
6192                 1975438052228868, 1071801519999806, 594652299224319,
6193                 1877697652668809, 1489635366987285
6194 #else
6195                 56688388, 29436320, 14584638, 15971087, 51340543, 8861009,
6196                 26556809, 27979875, 48555541, 22197296
6197 #endif
6198             }},
6199             {{
6200 #if defined(BORINGSSL_CURVE25519_64BIT)
6201                 958592545673770, 233048016518599, 851568750216589,
6202                 567703851596087, 1740300006094761
6203 #else
6204                 2839082, 14284142, 4029895, 3472686, 14402957, 12689363,
6205                 40466743, 8459446, 61503401, 25932490
6206 #endif
6207             }},
6208         },
6209         {
6210             {{
6211 #if defined(BORINGSSL_CURVE25519_64BIT)
6212                 2014540178270324, 192672779514432, 213877182641530,
6213                 2194819933853411, 1716422829364835
6214 #else
6215                 62269556, 30018987, 9744960, 2871048, 25113978, 3187018,
6216                 41998051, 32705365, 17258083, 25576693
6217 #endif
6218             }},
6219             {{
6220 #if defined(BORINGSSL_CURVE25519_64BIT)
6221                 1540769606609725, 2148289943846077, 1597804156127445,
6222                 1230603716683868, 815423458809453
6223 #else
6224                 18164541, 22959256, 49953981, 32012014, 19237077, 23809137,
6225                 23357532, 18337424, 26908269, 12150756
6226 #endif
6227             }},
6228             {{
6229 #if defined(BORINGSSL_CURVE25519_64BIT)
6230                 1738560251245018, 1779576754536888, 1783765347671392,
6231                 1880170990446751, 1088225159617541
6232 #else
6233                 36843994, 25906566, 5112248, 26517760, 65609056, 26580174,
6234                 43167, 28016731, 34806789, 16215818
6235 #endif
6236             }},
6237         },
6238     },
6239     {
6240         {
6241             {{
6242 #if defined(BORINGSSL_CURVE25519_64BIT)
6243                 659303913929492, 1956447718227573, 1830568515922666,
6244                 841069049744408, 1669607124206368
6245 #else
6246                 60209940, 9824393, 54804085, 29153342, 35711722, 27277596,
6247                 32574488, 12532905, 59605792, 24879084
6248 #endif
6249             }},
6250             {{
6251 #if defined(BORINGSSL_CURVE25519_64BIT)
6252                 1143465490433355, 1532194726196059, 1093276745494697,
6253                 481041706116088, 2121405433561163
6254 #else
6255                 39765323, 17038963, 39957339, 22831480, 946345, 16291093,
6256                 254968, 7168080, 21676107, 31611404
6257 #endif
6258             }},
6259             {{
6260 #if defined(BORINGSSL_CURVE25519_64BIT)
6261                 1686424298744462, 1451806974487153, 266296068846582,
6262                 1834686947542675, 1720762336132256
6263 #else
6264                 21260942, 25129680, 50276977, 21633609, 43430902, 3968120,
6265                 63456915, 27338965, 63552672, 25641356
6266 #endif
6267             }},
6268         },
6269         {
6270             {{
6271 #if defined(BORINGSSL_CURVE25519_64BIT)
6272                 889217026388959, 1043290623284660, 856125087551909,
6273                 1669272323124636, 1603340330827879
6274 #else
6275                 16544735, 13250366, 50304436, 15546241, 62525861, 12757257,
6276                 64646556, 24874095, 48201831, 23891632
6277 #endif
6278             }},
6279             {{
6280 #if defined(BORINGSSL_CURVE25519_64BIT)
6281                 1206396181488998, 333158148435054, 1402633492821422,
6282                 1120091191722026, 1945474114550509
6283 #else
6284                 64693606, 17976703, 18312302, 4964443, 51836334, 20900867,
6285                 26820650, 16690659, 25459437, 28989823
6286 #endif
6287             }},
6288             {{
6289 #if defined(BORINGSSL_CURVE25519_64BIT)
6290                 766720088232571, 1512222781191002, 1189719893490790,
6291                 2091302129467914, 2141418006894941
6292 #else
6293                 41964155, 11425019, 28423002, 22533875, 60963942, 17728207,
6294                 9142794, 31162830, 60676445, 31909614
6295 #endif
6296             }},
6297         },
6298         {
6299             {{
6300 #if defined(BORINGSSL_CURVE25519_64BIT)
6301                 419663647306612, 1998875112167987, 1426599870253707,
6302                 1154928355379510, 486538532138187
6303 #else
6304                 44004212, 6253475, 16964147, 29785560, 41994891, 21257994,
6305                 39651638, 17209773, 6335691, 7249989
6306 #endif
6307             }},
6308             {{
6309 #if defined(BORINGSSL_CURVE25519_64BIT)
6310                 938160078005954, 1421776319053174, 1941643234741774,
6311                 180002183320818, 1414380336750546
6312 #else
6313                 36775618, 13979674, 7503222, 21186118, 55152142, 28932738,
6314                 36836594, 2682241, 25993170, 21075909
6315 #endif
6316             }},
6317             {{
6318 #if defined(BORINGSSL_CURVE25519_64BIT)
6319                 398001940109652, 1577721237663248, 1012748649830402,
6320                 1540516006905144, 1011684812884559
6321 #else
6322                 4364628, 5930691, 32304656, 23509878, 59054082, 15091130,
6323                 22857016, 22955477, 31820367, 15075278
6324 #endif
6325             }},
6326         },
6327         {
6328             {{
6329 #if defined(BORINGSSL_CURVE25519_64BIT)
6330                 1653276489969630, 6081825167624, 1921777941170836,
6331                 1604139841794531, 861211053640641
6332 #else
6333                 31879134, 24635739, 17258760, 90626, 59067028, 28636722,
6334                 24162787, 23903546, 49138625, 12833044
6335 #endif
6336             }},
6337             {{
6338 #if defined(BORINGSSL_CURVE25519_64BIT)
6339                 996661541407379, 1455877387952927, 744312806857277,
6340                 139213896196746, 1000282908547789
6341 #else
6342                 19073683, 14851414, 42705695, 21694263, 7625277, 11091125,
6343                 47489674, 2074448, 57694925, 14905376
6344 #endif
6345             }},
6346             {{
6347 #if defined(BORINGSSL_CURVE25519_64BIT)
6348                 1450817495603008, 1476865707053229, 1030490562252053,
6349                 620966950353376, 1744760161539058
6350 #else
6351                 24483648, 21618865, 64589997, 22007013, 65555733, 15355505,
6352                 41826784, 9253128, 27628530, 25998952
6353 #endif
6354             }},
6355         },
6356         {
6357             {{
6358 #if defined(BORINGSSL_CURVE25519_64BIT)
6359                 559728410002599, 37056661641185, 2038622963352006,
6360                 1637244893271723, 1026565352238948
6361 #else
6362                 17597607, 8340603, 19355617, 552187, 26198470, 30377849,
6363                 4593323, 24396850, 52997988, 15297015
6364 #endif
6365             }},
6366             {{
6367 #if defined(BORINGSSL_CURVE25519_64BIT)
6368                 962165956135846, 1116599660248791, 182090178006815,
6369                 1455605467021751, 196053588803284
6370 #else
6371                 510886, 14337390, 35323607, 16638631, 6328095, 2713355,
6372                 46891447, 21690211, 8683220, 2921426
6373 #endif
6374             }},
6375             {{
6376 #if defined(BORINGSSL_CURVE25519_64BIT)
6377                 796863823080135, 1897365583584155, 420466939481601,
6378                 2165972651724672, 932177357788289
6379 #else
6380                 18606791, 11874196, 27155355, 28272950, 43077121, 6265445,
6381                 41930624, 32275507, 4674689, 13890525
6382 #endif
6383             }},
6384         },
6385         {
6386             {{
6387 #if defined(BORINGSSL_CURVE25519_64BIT)
6388                 877047233620632, 1375632631944375, 643773611882121,
6389                 660022738847877, 19353932331831
6390 #else
6391                 13609624, 13069022, 39736503, 20498523, 24360585, 9592974,
6392                 14977157, 9835105, 4389687, 288396
6393 #endif
6394             }},
6395             {{
6396 #if defined(BORINGSSL_CURVE25519_64BIT)
6397                 2216943882299338, 394841323190322, 2222656898319671,
6398                 558186553950529, 1077236877025190
6399 #else
6400                 9922506, 33035038, 13613106, 5883594, 48350519, 33120168,
6401                 54804801, 8317627, 23388070, 16052080
6402 #endif
6403             }},
6404             {{
6405 #if defined(BORINGSSL_CURVE25519_64BIT)
6406                 801118384953213, 1914330175515892, 574541023311511,
6407                 1471123787903705, 1526158900256288
6408 #else
6409                 12719997, 11937594, 35138804, 28525742, 26900119, 8561328,
6410                 46953177, 21921452, 52354592, 22741539
6411 #endif
6412             }},
6413         },
6414         {
6415             {{
6416 #if defined(BORINGSSL_CURVE25519_64BIT)
6417                 949617889087234, 2207116611267331, 912920039141287,
6418                 501158539198789, 62362560771472
6419 #else
6420                 15961858, 14150409, 26716931, 32888600, 44314535, 13603568,
6421                 11829573, 7467844, 38286736, 929274
6422 #endif
6423             }},
6424             {{
6425 #if defined(BORINGSSL_CURVE25519_64BIT)
6426                 1474518386765335, 1760793622169197, 1157399790472736,
6427                 1622864308058898, 165428294422792
6428 #else
6429                 11038231, 21972036, 39798381, 26237869, 56610336, 17246600,
6430                 43629330, 24182562, 45715720, 2465073
6431 #endif
6432             }},
6433             {{
6434 #if defined(BORINGSSL_CURVE25519_64BIT)
6435                 1961673048027128, 102619413083113, 1051982726768458,
6436                 1603657989805485, 1941613251499678
6437 #else
6438                 20017144, 29231206, 27915241, 1529148, 12396362, 15675764,
6439                 13817261, 23896366, 2463390, 28932292
6440 #endif
6441             }},
6442         },
6443         {
6444             {{
6445 #if defined(BORINGSSL_CURVE25519_64BIT)
6446                 1401939116319266, 335306339903072, 72046196085786,
6447                 862423201496006, 850518754531384
6448 #else
6449                 50749986, 20890520, 55043680, 4996453, 65852442, 1073571,
6450                 9583558, 12851107, 4003896, 12673717
6451 #endif
6452             }},
6453             {{
6454 #if defined(BORINGSSL_CURVE25519_64BIT)
6455                 1234706593321979, 1083343891215917, 898273974314935,
6456                 1640859118399498, 157578398571149
6457 #else
6458                 65377275, 18398561, 63845933, 16143081, 19294135, 13385325,
6459                 14741514, 24450706, 7903885, 2348101
6460 #endif
6461             }},
6462             {{
6463 #if defined(BORINGSSL_CURVE25519_64BIT)
6464                 1143483057726416, 1992614991758919, 674268662140796,
6465                 1773370048077526, 674318359920189
6466 #else
6467                 24536016, 17039225, 12715591, 29692277, 1511292, 10047386,
6468                 63266518, 26425272, 38731325, 10048126
6469 #endif
6470             }},
6471         },
6472     },
6473     {
6474         {
6475             {{
6476 #if defined(BORINGSSL_CURVE25519_64BIT)
6477                 1835401379538542, 173900035308392, 818247630716732,
6478                 1762100412152786, 1021506399448291
6479 #else
6480                 54486638, 27349611, 30718824, 2591312, 56491836, 12192839,
6481                 18873298, 26257342, 34811107, 15221631
6482 #endif
6483             }},
6484             {{
6485 #if defined(BORINGSSL_CURVE25519_64BIT)
6486                 1506632088156630, 2127481795522179, 513812919490255,
6487                 140643715928370, 442476620300318
6488 #else
6489                 40630742, 22450567, 11546243, 31701949, 9180879, 7656409,
6490                 45764914, 2095754, 29769758, 6593415
6491 #endif
6492             }},
6493             {{
6494 #if defined(BORINGSSL_CURVE25519_64BIT)
6495                 2056683376856736, 219094741662735, 2193541883188309,
6496                 1841182310235800, 556477468664293
6497 #else
6498                 35114656, 30646970, 4176911, 3264766, 12538965, 32686321,
6499                 26312344, 27435754, 30958053, 8292160
6500 #endif
6501             }},
6502         },
6503         {
6504             {{
6505 #if defined(BORINGSSL_CURVE25519_64BIT)
6506                 1315019427910827, 1049075855992603, 2066573052986543,
6507                 266904467185534, 2040482348591520
6508 #else
6509                 31429803, 19595316, 29173531, 15632448, 12174511, 30794338,
6510                 32808830, 3977186, 26143136, 30405556
6511 #endif
6512             }},
6513             {{
6514 #if defined(BORINGSSL_CURVE25519_64BIT)
6515                 94096246544434, 922482381166992, 24517828745563,
6516                 2139430508542503, 2097139044231004
6517 #else
6518                 22648882, 1402143, 44308880, 13746058, 7936347, 365344,
6519                 58440231, 31879998, 63350620, 31249806
6520 #endif
6521             }},
6522             {{
6523 #if defined(BORINGSSL_CURVE25519_64BIT)
6524                 537697207950515, 1399352016347350, 1563663552106345,
6525                 2148749520888918, 549922092988516
6526 #else
6527                 51616947, 8012312, 64594134, 20851969, 43143017, 23300402,
6528                 65496150, 32018862, 50444388, 8194477
6529 #endif
6530             }},
6531         },
6532         {
6533             {{
6534 #if defined(BORINGSSL_CURVE25519_64BIT)
6535                 1747985413252434, 680511052635695, 1809559829982725,
6536                 594274250930054, 201673170745982
6537 #else
6538                 27338066, 26047012, 59694639, 10140404, 48082437, 26964542,
6539                 27277190, 8855376, 28572286, 3005164
6540 #endif
6541             }},
6542             {{
6543 #if defined(BORINGSSL_CURVE25519_64BIT)
6544                 323583936109569, 1973572998577657, 1192219029966558,
6545                 79354804385273, 1374043025560347
6546 #else
6547                 26287105, 4821776, 25476601, 29408529, 63344350, 17765447,
6548                 49100281, 1182478, 41014043, 20474836
6549 #endif
6550             }},
6551             {{
6552 #if defined(BORINGSSL_CURVE25519_64BIT)
6553                 213277331329947, 416202017849623, 1950535221091783,
6554                 1313441578103244, 2171386783823658
6555 #else
6556                 59937691, 3178079, 23970071, 6201893, 49913287, 29065239,
6557                 45232588, 19571804, 32208682, 32356184
6558 #endif
6559             }},
6560         },
6561         {
6562             {{
6563 #if defined(BORINGSSL_CURVE25519_64BIT)
6564                 189088804229831, 993969372859110, 895870121536987,
6565                 1547301535298256, 1477373024911350
6566 #else
6567                 50451143, 2817642, 56822502, 14811297, 6024667, 13349505,
6568                 39793360, 23056589, 39436278, 22014573
6569 #endif
6570             }},
6571             {{
6572 #if defined(BORINGSSL_CURVE25519_64BIT)
6573                 1620578418245010, 541035331188469, 2235785724453865,
6574                 2154865809088198, 1974627268751826
6575 #else
6576                 15941010, 24148500, 45741813, 8062054, 31876073, 33315803,
6577                 51830470, 32110002, 15397330, 29424239
6578 #endif
6579             }},
6580             {{
6581 #if defined(BORINGSSL_CURVE25519_64BIT)
6582                 1346805451740245, 1350981335690626, 942744349501813,
6583                 2155094562545502, 1012483751693409
6584 #else
6585                 8934485, 20068965, 43822466, 20131190, 34662773, 14047985,
6586                 31170398, 32113411, 39603297, 15087183
6587 #endif
6588             }},
6589         },
6590         {
6591             {{
6592 #if defined(BORINGSSL_CURVE25519_64BIT)
6593                 2107080134091762, 1132567062788208, 1824935377687210,
6594                 769194804343737, 1857941799971888
6595 #else
6596                 48751602, 31397940, 24524912, 16876564, 15520426, 27193656,
6597                 51606457, 11461895, 16788528, 27685490
6598 #endif
6599             }},
6600             {{
6601 #if defined(BORINGSSL_CURVE25519_64BIT)
6602                 1074666112436467, 249279386739593, 1174337926625354,
6603                 1559013532006480, 1472287775519121
6604 #else
6605                 65161459, 16013772, 21750665, 3714552, 49707082, 17498998,
6606                 63338576, 23231111, 31322513, 21938797
6607 #endif
6608             }},
6609             {{
6610 #if defined(BORINGSSL_CURVE25519_64BIT)
6611                 1872620123779532, 1892932666768992, 1921559078394978,
6612                 1270573311796160, 1438913646755037
6613 #else
6614                 21426636, 27904214, 53460576, 28206894, 38296674, 28633461,
6615                 48833472, 18933017, 13040861, 21441484
6616 #endif
6617             }},
6618         },
6619         {
6620             {{
6621 #if defined(BORINGSSL_CURVE25519_64BIT)
6622                 837390187648199, 1012253300223599, 989780015893987,
6623                 1351393287739814, 328627746545550
6624 #else
6625                 11293895, 12478086, 39972463, 15083749, 37801443, 14748871,
6626                 14555558, 20137329, 1613710, 4896935
6627 #endif
6628             }},
6629             {{
6630 #if defined(BORINGSSL_CURVE25519_64BIT)
6631                 1028328827183114, 1711043289969857, 1350832470374933,
6632                 1923164689604327, 1495656368846911
6633 #else
6634                 41213962, 15323293, 58619073, 25496531, 25967125, 20128972,
6635                 2825959, 28657387, 43137087, 22287016
6636 #endif
6637             }},
6638             {{
6639 #if defined(BORINGSSL_CURVE25519_64BIT)
6640                 1900828492104143, 430212361082163, 687437570852799,
6641                 832514536673512, 1685641495940794
6642 #else
6643                 51184079, 28324551, 49665331, 6410663, 3622847, 10243618,
6644                 20615400, 12405433, 43355834, 25118015
6645 #endif
6646             }},
6647         },
6648         {
6649             {{
6650 #if defined(BORINGSSL_CURVE25519_64BIT)
6651                 842632847936398, 605670026766216, 290836444839585,
6652                 163210774892356, 2213815011799645
6653 #else
6654                 60017550, 12556207, 46917512, 9025186, 50036385, 4333800,
6655                 4378436, 2432030, 23097949, 32988414
6656 #endif
6657             }},
6658             {{
6659 #if defined(BORINGSSL_CURVE25519_64BIT)
6660                 1176336383453996, 1725477294339771, 12700622672454,
6661                 678015708818208, 162724078519879
6662 #else
6663                 4565804, 17528778, 20084411, 25711615, 1724998, 189254,
6664                 24767264, 10103221, 48596551, 2424777
6665 #endif
6666             }},
6667             {{
6668 #if defined(BORINGSSL_CURVE25519_64BIT)
6669                 1448049969043497, 1789411762943521, 385587766217753,
6670                 90201620913498, 832999441066823
6671 #else
6672                 366633, 21577626, 8173089, 26664313, 30788633, 5745705,
6673                 59940186, 1344108, 63466311, 12412658
6674 #endif
6675             }},
6676         },
6677         {
6678             {{
6679 #if defined(BORINGSSL_CURVE25519_64BIT)
6680                 516086333293313, 2240508292484616, 1351669528166508,
6681                 1223255565316488, 750235824427138
6682 #else
6683                 43107073, 7690285, 14929416, 33386175, 34898028, 20141445,
6684                 24162696, 18227928, 63967362, 11179384
6685 #endif
6686             }},
6687             {{
6688 #if defined(BORINGSSL_CURVE25519_64BIT)
6689                 1263624896582495, 1102602401673328, 526302183714372,
6690                 2152015839128799, 1483839308490010
6691 #else
6692                 18289503, 18829478, 8056944, 16430056, 45379140, 7842513,
6693                 61107423, 32067534, 48424218, 22110928
6694 #endif
6695             }},
6696             {{
6697 #if defined(BORINGSSL_CURVE25519_64BIT)
6698                 442991718646863, 1599275157036458, 1925389027579192,
6699                 899514691371390, 350263251085160
6700 #else
6701                 476239, 6601091, 60956074, 23831056, 17503544, 28690532,
6702                 27672958, 13403813, 11052904, 5219329
6703 #endif
6704             }},
6705         },
6706     },
6707     {
6708         {
6709             {{
6710 #if defined(BORINGSSL_CURVE25519_64BIT)
6711                 1689713572022143, 593854559254373, 978095044791970,
6712                 1985127338729499, 1676069120347625
6713 #else
6714                 20678527, 25178694, 34436965, 8849122, 62099106, 14574751,
6715                 31186971, 29580702, 9014761, 24975376
6716 #endif
6717             }},
6718             {{
6719 #if defined(BORINGSSL_CURVE25519_64BIT)
6720                 1557207018622683, 340631692799603, 1477725909476187,
6721                 614735951619419, 2033237123746766
6722 #else
6723                 53464795, 23204192, 51146355, 5075807, 65594203, 22019831,
6724                 34006363, 9160279, 8473550, 30297594
6725 #endif
6726             }},
6727             {{
6728 #if defined(BORINGSSL_CURVE25519_64BIT)
6729                 968764929340557, 1225534776710944, 662967304013036,
6730                 1155521416178595, 791142883466590
6731 #else
6732                 24900749, 14435722, 17209120, 18261891, 44516588, 9878982,
6733                 59419555, 17218610, 42540382, 11788947
6734 #endif
6735             }},
6736         },
6737         {
6738             {{
6739 #if defined(BORINGSSL_CURVE25519_64BIT)
6740                 1487081286167458, 993039441814934, 1792378982844640,
6741                 698652444999874, 2153908693179754
6742 #else
6743                 63990690, 22159237, 53306774, 14797440, 9652448, 26708528,
6744                 47071426, 10410732, 42540394, 32095740
6745 #endif
6746             }},
6747             {{
6748 #if defined(BORINGSSL_CURVE25519_64BIT)
6749                 1123181311102823, 685575944875442, 507605465509927,
6750                 1412590462117473, 568017325228626
6751 #else
6752                 51449703, 16736705, 44641714, 10215877, 58011687, 7563910,
6753                 11871841, 21049238, 48595538, 8464117
6754 #endif
6755             }},
6756             {{
6757 #if defined(BORINGSSL_CURVE25519_64BIT)
6758                 560258797465417, 2193971151466401, 1824086900849026,
6759                 579056363542056, 1690063960036441
6760 #else
6761                 43708233, 8348506, 52522913, 32692717, 63158658, 27181012,
6762                 14325288, 8628612, 33313881, 25183915
6763 #endif
6764             }},
6765         },
6766         {
6767             {{
6768 #if defined(BORINGSSL_CURVE25519_64BIT)
6769                 1918407319222416, 353767553059963, 1930426334528099,
6770                 1564816146005724, 1861342381708096
6771 #else
6772                 46921872, 28586496, 22367355, 5271547, 66011747, 28765593,
6773                 42303196, 23317577, 58168128, 27736162
6774 #endif
6775             }},
6776             {{
6777 #if defined(BORINGSSL_CURVE25519_64BIT)
6778                 2131325168777276, 1176636658428908, 1756922641512981,
6779                 1390243617176012, 1966325177038383
6780 #else
6781                 60160060, 31759219, 34483180, 17533252, 32635413, 26180187,
6782                 15989196, 20716244, 28358191, 29300528
6783 #endif
6784             }},
6785             {{
6786 #if defined(BORINGSSL_CURVE25519_64BIT)
6787                 2063958120364491, 2140267332393533, 699896251574968,
6788                 273268351312140, 375580724713232
6789 #else
6790                 43547083, 30755372, 34757181, 31892468, 57961144, 10429266,
6791                 50471180, 4072015, 61757200, 5596588
6792 #endif
6793             }},
6794         },
6795         {
6796             {{
6797 #if defined(BORINGSSL_CURVE25519_64BIT)
6798                 2024297515263178, 416959329722687, 1079014235017302,
6799                 171612225573183, 1031677520051053
6800 #else
6801                 38872266, 30164383, 12312895, 6213178, 3117142, 16078565,
6802                 29266239, 2557221, 1768301, 15373193
6803 #endif
6804             }},
6805             {{
6806 #if defined(BORINGSSL_CURVE25519_64BIT)
6807                 2033900009388450, 1744902869870788, 2190580087917640,
6808                 1949474984254121, 231049754293748
6809 #else
6810                 59865506, 30307471, 62515396, 26001078, 66980936, 32642186,
6811                 66017961, 29049440, 42448372, 3442909
6812 #endif
6813             }},
6814             {{
6815 #if defined(BORINGSSL_CURVE25519_64BIT)
6816                 343868674606581, 550155864008088, 1450580864229630,
6817                 481603765195050, 896972360018042
6818 #else
6819                 36898293, 5124042, 14181784, 8197961, 18964734, 21615339,
6820                 22597930, 7176455, 48523386, 13365929
6821 #endif
6822             }},
6823         },
6824         {
6825             {{
6826 #if defined(BORINGSSL_CURVE25519_64BIT)
6827                 2151139328380127, 314745882084928, 59756825775204,
6828                 1676664391494651, 2048348075599360
6829 #else
6830                 59231455, 32054473, 8324672, 4690079, 6261860, 890446, 24538107,
6831                 24984246, 57419264, 30522764
6832 #endif
6833             }},
6834             {{
6835 #if defined(BORINGSSL_CURVE25519_64BIT)
6836                 1528930066340597, 1605003907059576, 1055061081337675,
6837                 1458319101947665, 1234195845213142
6838 #else
6839                 25008885, 22782833, 62803832, 23916421, 16265035, 15721635,
6840                 683793, 21730648, 15723478, 18390951
6841 #endif
6842             }},
6843             {{
6844 #if defined(BORINGSSL_CURVE25519_64BIT)
6845                 830430507734812, 1780282976102377, 1425386760709037,
6846                 362399353095425, 2168861579799910
6847 #else
6848                 57448220, 12374378, 40101865, 26528283, 59384749, 21239917,
6849                 11879681, 5400171, 519526, 32318556
6850 #endif
6851             }},
6852         },
6853         {
6854             {{
6855 #if defined(BORINGSSL_CURVE25519_64BIT)
6856                 1155762232730333, 980662895504006, 2053766700883521,
6857                 490966214077606, 510405877041357
6858 #else
6859                 22258397, 17222199, 59239046, 14613015, 44588609, 30603508,
6860                 46754982, 7315966, 16648397, 7605640
6861 #endif
6862             }},
6863             {{
6864 #if defined(BORINGSSL_CURVE25519_64BIT)
6865                 1683750316716132, 652278688286128, 1221798761193539,
6866                 1897360681476669, 319658166027343
6867 #else
6868                 59027556, 25089834, 58885552, 9719709, 19259459, 18206220,
6869                 23994941, 28272877, 57640015, 4763277
6870 #endif
6871             }},
6872             {{
6873 #if defined(BORINGSSL_CURVE25519_64BIT)
6874                 618808732869972, 72755186759744, 2060379135624181,
6875                 1730731526741822, 48862757828238
6876 #else
6877                 45409620, 9220968, 51378240, 1084136, 41632757, 30702041,
6878                 31088446, 25789909, 55752334, 728111
6879 #endif
6880             }},
6881         },
6882         {
6883             {{
6884 #if defined(BORINGSSL_CURVE25519_64BIT)
6885                 1463171970593505, 1143040711767452, 614590986558883,
6886                 1409210575145591, 1882816996436803
6887 #else
6888                 26047201, 21802961, 60208540, 17032633, 24092067, 9158119,
6889                 62835319, 20998873, 37743427, 28056159
6890 #endif
6891             }},
6892             {{
6893 #if defined(BORINGSSL_CURVE25519_64BIT)
6894                 2230133264691131, 563950955091024, 2042915975426398,
6895                 827314356293472, 672028980152815
6896 #else
6897                 17510331, 33231575, 5854288, 8403524, 17133918, 30441820,
6898                 38997856, 12327944, 10750447, 10014012
6899 #endif
6900             }},
6901             {{
6902 #if defined(BORINGSSL_CURVE25519_64BIT)
6903                 264204366029760, 1654686424479449, 2185050199932931,
6904                 2207056159091748, 506015669043634
6905 #else
6906                 56796096, 3936951, 9156313, 24656749, 16498691, 32559785,
6907                 39627812, 32887699, 3424690, 7540221
6908 #endif
6909             }},
6910         },
6911         {
6912             {{
6913 #if defined(BORINGSSL_CURVE25519_64BIT)
6914                 1784446333136569, 1973746527984364, 334856327359575,
6915                 1156769775884610, 1023950124675478
6916 #else
6917                 30322361, 26590322, 11361004, 29411115, 7433303, 4989748,
6918                 60037442, 17237212, 57864598, 15258045
6919 #endif
6920             }},
6921             {{
6922 #if defined(BORINGSSL_CURVE25519_64BIT)
6923                 2065270940578383, 31477096270353, 306421879113491,
6924                 181958643936686, 1907105536686083
6925 #else
6926                 13054543, 30774935, 19155473, 469045, 54626067, 4566041,
6927                 5631406, 2711395, 1062915, 28418087
6928 #endif
6929             }},
6930             {{
6931 #if defined(BORINGSSL_CURVE25519_64BIT)
6932                 1496516440779464, 1748485652986458, 872778352227340,
6933                 818358834654919, 97932669284220
6934 #else
6935                 47868616, 22299832, 37599834, 26054466, 61273100, 13005410,
6936                 61042375, 12194496, 32960380, 1459310
6937 #endif
6938             }},
6939         },
6940     },
6941     {
6942         {
6943             {{
6944 #if defined(BORINGSSL_CURVE25519_64BIT)
6945                 471636015770351, 672455402793577, 1804995246884103,
6946                 1842309243470804, 1501862504981682
6947 #else
6948                 19852015, 7027924, 23669353, 10020366, 8586503, 26896525,
6949                 394196, 27452547, 18638002, 22379495
6950 #endif
6951             }},
6952             {{
6953 #if defined(BORINGSSL_CURVE25519_64BIT)
6954                 1013216974933691, 538921919682598, 1915776722521558,
6955                 1742822441583877, 1886550687916656
6956 #else
6957                 31395515, 15098109, 26581030, 8030562, 50580950, 28547297,
6958                 9012485, 25970078, 60465776, 28111795
6959 #endif
6960             }},
6961             {{
6962 #if defined(BORINGSSL_CURVE25519_64BIT)
6963                 2094270000643336, 303971879192276, 40801275554748,
6964                 649448917027930, 1818544418535447
6965 #else
6966                 57916680, 31207054, 65111764, 4529533, 25766844, 607986,
6967                 67095642, 9677542, 34813975, 27098423
6968 #endif
6969             }},
6970         },
6971         {
6972             {{
6973 #if defined(BORINGSSL_CURVE25519_64BIT)
6974                 2241737709499165, 549397817447461, 838180519319392,
6975                 1725686958520781, 1705639080897747
6976 #else
6977                 64664349, 33404494, 29348901, 8186665, 1873760, 12489863,
6978                 36174285, 25714739, 59256019, 25416002
6979 #endif
6980             }},
6981             {{
6982 #if defined(BORINGSSL_CURVE25519_64BIT)
6983                 1216074541925116, 50120933933509, 1565829004133810,
6984                 721728156134580, 349206064666188
6985 #else
6986                 51872508, 18120922, 7766469, 746860, 26346930, 23332670,
6987                 39775412, 10754587, 57677388, 5203575
6988 #endif
6989             }},
6990             {{
6991 #if defined(BORINGSSL_CURVE25519_64BIT)
6992                 948617110470858, 346222547451945, 1126511960599975,
6993                 1759386906004538, 493053284802266
6994 #else
6995                 31834314, 14135496, 66338857, 5159117, 20917671, 16786336,
6996                 59640890, 26216907, 31809242, 7347066
6997 #endif
6998             }},
6999         },
7000         {
7001             {{
7002 #if defined(BORINGSSL_CURVE25519_64BIT)
7003                 1454933046815146, 874696014266362, 1467170975468588,
7004                 1432316382418897, 2111710746366763
7005 #else
7006                 57502122, 21680191, 20414458, 13033986, 13716524, 21862551,
7007                 19797969, 21343177, 15192875, 31466942
7008 #endif
7009             }},
7010             {{
7011 #if defined(BORINGSSL_CURVE25519_64BIT)
7012                 2105387117364450, 1996463405126433, 1303008614294500,
7013                 851908115948209, 1353742049788635
7014 #else
7015                 54445282, 31372712, 1168161, 29749623, 26747876, 19416341,
7016                 10609329, 12694420, 33473243, 20172328
7017 #endif
7018             }},
7019             {{
7020 #if defined(BORINGSSL_CURVE25519_64BIT)
7021                 750300956351719, 1487736556065813, 15158817002104,
7022                 1511998221598392, 971739901354129
7023 #else
7024                 33184999, 11180355, 15832085, 22169002, 65475192, 225883,
7025                 15089336, 22530529, 60973201, 14480052
7026 #endif
7027             }},
7028         },
7029         {
7030             {{
7031 #if defined(BORINGSSL_CURVE25519_64BIT)
7032                 1874648163531693, 2124487685930551, 1810030029384882,
7033                 918400043048335, 586348627300650
7034 #else
7035                 31308717, 27934434, 31030839, 31657333, 15674546, 26971549,
7036                 5496207, 13685227, 27595050, 8737275
7037 #endif
7038             }},
7039             {{
7040 #if defined(BORINGSSL_CURVE25519_64BIT)
7041                 1235084464747900, 1166111146432082, 1745394857881591,
7042                 1405516473883040, 4463504151617
7043 #else
7044                 46790012, 18404192, 10933842, 17376410, 8335351, 26008410,
7045                 36100512, 20943827, 26498113, 66511
7046 #endif
7047             }},
7048             {{
7049 #if defined(BORINGSSL_CURVE25519_64BIT)
7050                 1663810156463827, 327797390285791, 1341846161759410,
7051                 1964121122800605, 1747470312055380
7052 #else
7053                 22644435, 24792703, 50437087, 4884561, 64003250, 19995065,
7054                 30540765, 29267685, 53781076, 26039336
7055 #endif
7056             }},
7057         },
7058         {
7059             {{
7060 #if defined(BORINGSSL_CURVE25519_64BIT)
7061                 660005247548233, 2071860029952887, 1358748199950107,
7062                 911703252219107, 1014379923023831
7063 #else
7064                 39091017, 9834844, 18617207, 30873120, 63706907, 20246925,
7065                 8205539, 13585437, 49981399, 15115438
7066 #endif
7067             }},
7068             {{
7069 #if defined(BORINGSSL_CURVE25519_64BIT)
7070                 2206641276178231, 1690587809721504, 1600173622825126,
7071                 2156096097634421, 1106822408548216
7072 #else
7073                 23711543, 32881517, 31206560, 25191721, 6164646, 23844445,
7074                 33572981, 32128335, 8236920, 16492939
7075 #endif
7076             }},
7077             {{
7078 #if defined(BORINGSSL_CURVE25519_64BIT)
7079                 1344788193552206, 1949552134239140, 1735915881729557,
7080                 675891104100469, 1834220014427292
7081 #else
7082                 43198286, 20038905, 40809380, 29050590, 25005589, 25867162,
7083                 19574901, 10071562, 6708380, 27332008
7084 #endif
7085             }},
7086         },
7087         {
7088             {{
7089 #if defined(BORINGSSL_CURVE25519_64BIT)
7090                 1920949492387964, 158885288387530, 70308263664033,
7091                 626038464897817, 1468081726101009
7092 #else
7093                 2101372, 28624378, 19702730, 2367575, 51681697, 1047674,
7094                 5301017, 9328700, 29955601, 21876122
7095 #endif
7096             }},
7097             {{
7098 #if defined(BORINGSSL_CURVE25519_64BIT)
7099                 622221042073383, 1210146474039168, 1742246422343683,
7100                 1403839361379025, 417189490895736
7101 #else
7102                 3096359, 9271816, 45488000, 18032587, 52260867, 25961494,
7103                 41216721, 20918836, 57191288, 6216607
7104 #endif
7105             }},
7106             {{
7107 #if defined(BORINGSSL_CURVE25519_64BIT)
7108                 22727256592983, 168471543384997, 1324340989803650,
7109                 1839310709638189, 504999476432775
7110 #else
7111                 34493015, 338662, 41913253, 2510421, 37895298, 19734218,
7112                 24822829, 27407865, 40341383, 7525078
7113 #endif
7114             }},
7115         },
7116         {
7117             {{
7118 #if defined(BORINGSSL_CURVE25519_64BIT)
7119                 1313240518756327, 1721896294296942, 52263574587266,
7120                 2065069734239232, 804910473424630
7121 #else
7122                 44042215, 19568808, 16133486, 25658254, 63719298, 778787,
7123                 66198528, 30771936, 47722230, 11994100
7124 #endif
7125             }},
7126             {{
7127 #if defined(BORINGSSL_CURVE25519_64BIT)
7128                 1337466662091884, 1287645354669772, 2018019646776184,
7129                 652181229374245, 898011753211715
7130 #else
7131                 21691500, 19929806, 66467532, 19187410, 3285880, 30070836,
7132                 42044197, 9718257, 59631427, 13381417
7133 #endif
7134             }},
7135             {{
7136 #if defined(BORINGSSL_CURVE25519_64BIT)
7137                 1969792547910734, 779969968247557, 2011350094423418,
7138                 1823964252907487, 1058949448296945
7139 #else
7140                 18445390, 29352196, 14979845, 11622458, 65381754, 29971451,
7141                 23111647, 27179185, 28535281, 15779576
7142 #endif
7143             }},
7144         },
7145         {
7146             {{
7147 #if defined(BORINGSSL_CURVE25519_64BIT)
7148                 207343737062002, 1118176942430253, 758894594548164,
7149                 806764629546266, 1157700123092949
7150 #else
7151                 30098034, 3089662, 57874477, 16662134, 45801924, 11308410,
7152                 53040410, 12021729, 9955285, 17251076
7153 #endif
7154             }},
7155             {{
7156 #if defined(BORINGSSL_CURVE25519_64BIT)
7157                 1273565321399022, 1638509681964574, 759235866488935,
7158                 666015124346707, 897983460943405
7159 #else
7160                 9734894, 18977602, 59635230, 24415696, 2060391, 11313496,
7161                 48682835, 9924398, 20194861, 13380996
7162 #endif
7163             }},
7164             {{
7165 #if defined(BORINGSSL_CURVE25519_64BIT)
7166                 1717263794012298, 1059601762860786, 1837819172257618,
7167                 1054130665797229, 680893204263559
7168 #else
7169                 40730762, 25589224, 44941042, 15789296, 49053522, 27385639,
7170                 65123949, 15707770, 26342023, 10146099
7171 #endif
7172             }},
7173         },
7174     },
7175     {
7176         {
7177             {{
7178 #if defined(BORINGSSL_CURVE25519_64BIT)
7179                 2237039662793603, 2249022333361206, 2058613546633703,
7180                 149454094845279, 2215176649164582
7181 #else
7182                 41091971, 33334488, 21339190, 33513044, 19745255, 30675732,
7183                 37471583, 2227039, 21612326, 33008704
7184 #endif
7185             }},
7186             {{
7187 #if defined(BORINGSSL_CURVE25519_64BIT)
7188                 79472182719605, 1851130257050174, 1825744808933107,
7189                 821667333481068, 781795293511946
7190 #else
7191                 54031477, 1184227, 23562814, 27583990, 46757619, 27205717,
7192                 25764460, 12243797, 46252298, 11649657
7193 #endif
7194             }},
7195             {{
7196 #if defined(BORINGSSL_CURVE25519_64BIT)
7197                 755822026485370, 152464789723500, 1178207602290608,
7198                 410307889503239, 156581253571278
7199 #else
7200                 57077370, 11262625, 27384172, 2271902, 26947504, 17556661,
7201                 39943, 6114064, 33514190, 2333242
7202 #endif
7203             }},
7204         },
7205         {
7206             {{
7207 #if defined(BORINGSSL_CURVE25519_64BIT)
7208                 1418185496130297, 484520167728613, 1646737281442950,
7209                 1401487684670265, 1349185550126961
7210 #else
7211                 45675257, 21132610, 8119781, 7219913, 45278342, 24538297,
7212                 60429113, 20883793, 24350577, 20104431
7213 #endif
7214             }},
7215             {{
7216 #if defined(BORINGSSL_CURVE25519_64BIT)
7217                 1495380034400429, 325049476417173, 46346894893933,
7218                 1553408840354856, 828980101835683
7219 #else
7220                 62992557, 22282898, 43222677, 4843614, 37020525, 690622,
7221                 35572776, 23147595, 8317859, 12352766
7222 #endif
7223             }},
7224             {{
7225 #if defined(BORINGSSL_CURVE25519_64BIT)
7226                 1280337889310282, 2070832742866672, 1640940617225222,
7227                 2098284908289951, 450929509534434
7228 #else
7229                 18200138, 19078521, 34021104, 30857812, 43406342, 24451920,
7230                 43556767, 31266881, 20712162, 6719373
7231 #endif
7232             }},
7233         },
7234         {
7235             {{
7236 #if defined(BORINGSSL_CURVE25519_64BIT)
7237                 407703353998781, 126572141483652, 286039827513621,
7238                 1999255076709338, 2030511179441770
7239 #else
7240                 26656189, 6075253, 59250308, 1886071, 38764821, 4262325,
7241                 11117530, 29791222, 26224234, 30256974
7242 #endif
7243             }},
7244             {{
7245 #if defined(BORINGSSL_CURVE25519_64BIT)
7246                 1254958221100483, 1153235960999843, 942907704968834,
7247                 637105404087392, 1149293270147267
7248 #else
7249                 49939907, 18700334, 63713187, 17184554, 47154818, 14050419,
7250                 21728352, 9493610, 18620611, 17125804
7251 #endif
7252             }},
7253             {{
7254 #if defined(BORINGSSL_CURVE25519_64BIT)
7255                 894249020470196, 400291701616810, 406878712230981,
7256                 1599128793487393, 1145868722604026
7257 #else
7258                 53785524, 13325348, 11432106, 5964811, 18609221, 6062965,
7259                 61839393, 23828875, 36407290, 17074774
7260 #endif
7261             }},
7262         },
7263         {
7264             {{
7265 #if defined(BORINGSSL_CURVE25519_64BIT)
7266                 1497955250203334, 110116344653260, 1128535642171976,
7267                 1900106496009660, 129792717460909
7268 #else
7269                 43248326, 22321272, 26961356, 1640861, 34695752, 16816491,
7270                 12248508, 28313793, 13735341, 1934062
7271 #endif
7272             }},
7273             {{
7274 #if defined(BORINGSSL_CURVE25519_64BIT)
7275                 452487513298665, 1352120549024569, 1173495883910956,
7276                 1999111705922009, 367328130454226
7277 #else
7278                 25089769, 6742589, 17081145, 20148166, 21909292, 17486451,
7279                 51972569, 29789085, 45830866, 5473615
7280 #endif
7281             }},
7282             {{
7283 #if defined(BORINGSSL_CURVE25519_64BIT)
7284                 1717539401269642, 1475188995688487, 891921989653942,
7285                 836824441505699, 1885988485608364
7286 #else
7287                 31883658, 25593331, 1083431, 21982029, 22828470, 13290673,
7288                 59983779, 12469655, 29111212, 28103418
7289 #endif
7290             }},
7291         },
7292         {
7293             {{
7294 #if defined(BORINGSSL_CURVE25519_64BIT)
7295                 1241784121422547, 187337051947583, 1118481812236193,
7296                 428747751936362, 30358898927325
7297 #else
7298                 24244947, 18504025, 40845887, 2791539, 52111265, 16666677,
7299                 24367466, 6388839, 56813277, 452382
7300 #endif
7301             }},
7302             {{
7303 #if defined(BORINGSSL_CURVE25519_64BIT)
7304                 2022432361201842, 1088816090685051, 1977843398539868,
7305                 1854834215890724, 564238862029357
7306 #else
7307                 41468082, 30136590, 5217915, 16224624, 19987036, 29472163,
7308                 42872612, 27639183, 15766061, 8407814
7309 #endif
7310             }},
7311             {{
7312 #if defined(BORINGSSL_CURVE25519_64BIT)
7313                 938868489100585, 1100285072929025, 1017806255688848,
7314                 1957262154788833, 152787950560442
7315 #else
7316                 46701865, 13990230, 15495425, 16395525, 5377168, 15166495,
7317                 58191841, 29165478, 59040954, 2276717
7318 #endif
7319             }},
7320         },
7321         {
7322             {{
7323 #if defined(BORINGSSL_CURVE25519_64BIT)
7324                 867319417678923, 620471962942542, 226032203305716,
7325                 342001443957629, 1761675818237336
7326 #else
7327                 30157899, 12924066, 49396814, 9245752, 19895028, 3368142,
7328                 43281277, 5096218, 22740376, 26251015
7329 #endif
7330             }},
7331             {{
7332 #if defined(BORINGSSL_CURVE25519_64BIT)
7333                 1295072362439987, 931227904689414, 1355731432641687,
7334                 922235735834035, 892227229410209
7335 #else
7336                 2041139, 19298082, 7783686, 13876377, 41161879, 20201972,
7337                 24051123, 13742383, 51471265, 13295221
7338 #endif
7339             }},
7340             {{
7341 #if defined(BORINGSSL_CURVE25519_64BIT)
7342                 1680989767906154, 535362787031440, 2136691276706570,
7343                 1942228485381244, 1267350086882274
7344 #else
7345                 33338218, 25048699, 12532112, 7977527, 9106186, 31839181,
7346                 49388668, 28941459, 62657506, 18884987
7347 #endif
7348             }},
7349         },
7350         {
7351             {{
7352 #if defined(BORINGSSL_CURVE25519_64BIT)
7353                 366018233770527, 432660629755596, 126409707644535,
7354                 1973842949591662, 645627343442376
7355 #else
7356                 47063583, 5454096, 52762316, 6447145, 28862071, 1883651,
7357                 64639598, 29412551, 7770568, 9620597
7358 #endif
7359             }},
7360             {{
7361 #if defined(BORINGSSL_CURVE25519_64BIT)
7362                 535509430575217, 546885533737322, 1524675609547799,
7363                 2138095752851703, 1260738089896827
7364 #else
7365                 23208049, 7979712, 33071466, 8149229, 1758231, 22719437,
7366                 30945527, 31860109, 33606523, 18786461
7367 #endif
7368             }},
7369             {{
7370 #if defined(BORINGSSL_CURVE25519_64BIT)
7371                 1159906385590467, 2198530004321610, 714559485023225,
7372                 81880727882151, 1484020820037082
7373 #else
7374                 1439939, 17283952, 66028874, 32760649, 4625401, 10647766,
7375                 62065063, 1220117, 30494170, 22113633
7376 #endif
7377             }},
7378         },
7379         {
7380             {{
7381 #if defined(BORINGSSL_CURVE25519_64BIT)
7382                 1377485731340769, 2046328105512000, 1802058637158797,
7383                 62146136768173, 1356993908853901
7384 #else
7385                 62071265, 20526136, 64138304, 30492664, 15640973, 26852766,
7386                 40369837, 926049, 65424525, 20220784
7387 #endif
7388             }},
7389             {{
7390 #if defined(BORINGSSL_CURVE25519_64BIT)
7391                 2013612215646735, 1830770575920375, 536135310219832,
7392                 609272325580394, 270684344495013
7393 #else
7394                 13908495, 30005160, 30919927, 27280607, 45587000, 7989038,
7395                 9021034, 9078865, 3353509, 4033511
7396 #endif
7397             }},
7398             {{
7399 #if defined(BORINGSSL_CURVE25519_64BIT)
7400                 1237542585982777, 2228682050256790, 1385281931622824,
7401                 593183794882890, 493654978552689
7402 #else
7403                 37445433, 18440821, 32259990, 33209950, 24295848, 20642309,
7404                 23161162, 8839127, 27485041, 7356032
7405 #endif
7406             }},
7407         },
7408     },
7409     {
7410         {
7411             {{
7412 #if defined(BORINGSSL_CURVE25519_64BIT)
7413                 47341488007760, 1891414891220257, 983894663308928,
7414                 176161768286818, 1126261115179708
7415 #else
7416                 9661008, 705443, 11980065, 28184278, 65480320, 14661172,
7417                 60762722, 2625014, 28431036, 16782598
7418 #endif
7419             }},
7420             {{
7421 #if defined(BORINGSSL_CURVE25519_64BIT)
7422                 1694030170963455, 502038567066200, 1691160065225467,
7423                 949628319562187, 275110186693066
7424 #else
7425                 43269631, 25243016, 41163352, 7480957, 49427195, 25200248,
7426                 44562891, 14150564, 15970762, 4099461
7427 #endif
7428             }},
7429             {{
7430 #if defined(BORINGSSL_CURVE25519_64BIT)
7431                 1124515748676336, 1661673816593408, 1499640319059718,
7432                 1584929449166988, 558148594103306
7433 #else
7434                 29262576, 16756590, 26350592, 24760869, 8529670, 22346382,
7435                 13617292, 23617289, 11465738, 8317062
7436 #endif
7437             }},
7438         },
7439         {
7440             {{
7441 #if defined(BORINGSSL_CURVE25519_64BIT)
7442                 1784525599998356, 1619698033617383, 2097300287550715,
7443                 258265458103756, 1905684794832758
7444 #else
7445                 41615764, 26591503, 32500199, 24135381, 44070139, 31252209,
7446                 14898636, 3848455, 20969334, 28396916
7447 #endif
7448             }},
7449             {{
7450 #if defined(BORINGSSL_CURVE25519_64BIT)
7451                 1288941072872766, 931787902039402, 190731008859042,
7452                 2006859954667190, 1005931482221702
7453 #else
7454                 46724414, 19206718, 48772458, 13884721, 34069410, 2842113,
7455                 45498038, 29904543, 11177094, 14989547
7456 #endif
7457             }},
7458             {{
7459 #if defined(BORINGSSL_CURVE25519_64BIT)
7460                 1465551264822703, 152905080555927, 680334307368453,
7461                 173227184634745, 666407097159852
7462 #else
7463                 42612143, 21838415, 16959895, 2278463, 12066309, 10137771,
7464                 13515641, 2581286, 38621356, 9930239
7465 #endif
7466             }},
7467         },
7468         {
7469             {{
7470 #if defined(BORINGSSL_CURVE25519_64BIT)
7471                 2111017076203943, 1378760485794347, 1248583954016456,
7472                 1352289194864422, 1895180776543896
7473 #else
7474                 49357223, 31456605, 16544299, 20545132, 51194056, 18605350,
7475                 18345766, 20150679, 16291480, 28240394
7476 #endif
7477             }},
7478             {{
7479 #if defined(BORINGSSL_CURVE25519_64BIT)
7480                 171348223915638, 662766099800389, 462338943760497,
7481                 466917763340314, 656911292869115
7482 #else
7483                 33879670, 2553287, 32678213, 9875984, 8534129, 6889387,
7484                 57432090, 6957616, 4368891, 9788741
7485 #endif
7486             }},
7487             {{
7488 #if defined(BORINGSSL_CURVE25519_64BIT)
7489                 488623681976577, 866497561541722, 1708105560937768,
7490                 1673781214218839, 1506146329818807
7491 #else
7492                 16660737, 7281060, 56278106, 12911819, 20108584, 25452756,
7493                 45386327, 24941283, 16250551, 22443329
7494 #endif
7495             }},
7496         },
7497         {
7498             {{
7499 #if defined(BORINGSSL_CURVE25519_64BIT)
7500                 160425464456957, 950394373239689, 430497123340934,
7501                 711676555398832, 320964687779005
7502 #else
7503                 47343357, 2390525, 50557833, 14161979, 1905286, 6414907,
7504                 4689584, 10604807, 36918461, 4782746
7505 #endif
7506             }},
7507             {{
7508 #if defined(BORINGSSL_CURVE25519_64BIT)
7509                 988979367990485, 1359729327576302, 1301834257246029,
7510                 294141160829308, 29348272277475
7511 #else
7512                 65754325, 14736940, 59741422, 20261545, 7710541, 19398842,
7513                 57127292, 4383044, 22546403, 437323
7514 #endif
7515             }},
7516             {{
7517 #if defined(BORINGSSL_CURVE25519_64BIT)
7518                 1434382743317910, 100082049942065, 221102347892623,
7519                 186982837860588, 1305765053501834
7520 #else
7521                 31665558, 21373968, 50922033, 1491338, 48740239, 3294681,
7522                 27343084, 2786261, 36475274, 19457415
7523 #endif
7524             }},
7525         },
7526         {
7527             {{
7528 #if defined(BORINGSSL_CURVE25519_64BIT)
7529                 2205916462268190, 499863829790820, 961960554686616,
7530                 158062762756985, 1841471168298305
7531 #else
7532                 52641566, 32870716, 33734756, 7448551, 19294360, 14334329,
7533                 47418233, 2355318, 47824193, 27440058
7534 #endif
7535             }},
7536             {{
7537 #if defined(BORINGSSL_CURVE25519_64BIT)
7538                 1191737341426592, 1847042034978363, 1382213545049056,
7539                 1039952395710448, 788812858896859
7540 #else
7541                 15121312, 17758270, 6377019, 27523071, 56310752, 20596586,
7542                 18952176, 15496498, 37728731, 11754227
7543 #endif
7544             }},
7545             {{
7546 #if defined(BORINGSSL_CURVE25519_64BIT)
7547                 1346965964571152, 1291881610839830, 2142916164336056,
7548                 786821641205979, 1571709146321039
7549 #else
7550                 64471568, 20071356, 8488726, 19250536, 12728760, 31931939,
7551                 7141595, 11724556, 22761615, 23420291
7552 #endif
7553             }},
7554         },
7555         {
7556             {{
7557 #if defined(BORINGSSL_CURVE25519_64BIT)
7558                 787164375951248, 202869205373189, 1356590421032140,
7559                 1431233331032510, 786341368775957
7560 #else
7561                 16918416, 11729663, 49025285, 3022986, 36093132, 20214772,
7562                 38367678, 21327038, 32851221, 11717399
7563 #endif
7564             }},
7565             {{
7566 #if defined(BORINGSSL_CURVE25519_64BIT)
7567                 492448143532951, 304105152670757, 1761767168301056,
7568                 233782684697790, 1981295323106089
7569 #else
7570                 11166615, 7338049, 60386341, 4531519, 37640192, 26252376,
7571                 31474878, 3483633, 65915689, 29523600
7572 #endif
7573             }},
7574             {{
7575 #if defined(BORINGSSL_CURVE25519_64BIT)
7576                 665807507761866, 1343384868355425, 895831046139653,
7577                 439338948736892, 1986828765695105
7578 #else
7579                 66923210, 9921304, 31456609, 20017994, 55095045, 13348922,
7580                 33142652, 6546660, 47123585, 29606055
7581 #endif
7582             }},
7583         },
7584         {
7585             {{
7586 #if defined(BORINGSSL_CURVE25519_64BIT)
7587                 756096210874553, 1721699973539149, 258765301727885,
7588                 1390588532210645, 1212530909934781
7589 #else
7590                 34648249, 11266711, 55911757, 25655328, 31703693, 3855903,
7591                 58571733, 20721383, 36336829, 18068118
7592 #endif
7593             }},
7594             {{
7595 #if defined(BORINGSSL_CURVE25519_64BIT)
7596                 852891097972275, 1816988871354562, 1543772755726524,
7597                 1174710635522444, 202129090724628
7598 #else
7599                 49102387, 12709067, 3991746, 27075244, 45617340, 23004006,
7600                 35973516, 17504552, 10928916, 3011958
7601 #endif
7602             }},
7603             {{
7604 #if defined(BORINGSSL_CURVE25519_64BIT)
7605                 1205281565824323, 22430498399418, 992947814485516,
7606                 1392458699738672, 688441466734558
7607 #else
7608                 60151107, 17960094, 31696058, 334240, 29576716, 14796075,
7609                 36277808, 20749251, 18008030, 10258577
7610 #endif
7611             }},
7612         },
7613         {
7614             {{
7615 #if defined(BORINGSSL_CURVE25519_64BIT)
7616                 1050627428414972, 1955849529137135, 2171162376368357,
7617                 91745868298214, 447733118757826
7618 #else
7619                 44660220, 15655568, 7018479, 29144429, 36794597, 32352840,
7620                 65255398, 1367119, 25127874, 6671743
7621 #endif
7622             }},
7623             {{
7624 #if defined(BORINGSSL_CURVE25519_64BIT)
7625                 1287181461435438, 622722465530711, 880952150571872,
7626                 741035693459198, 311565274989772
7627 #else
7628                 29701166, 19180498, 56230743, 9279287, 67091296, 13127209,
7629                 21382910, 11042292, 25838796, 4642684
7630 #endif
7631             }},
7632             {{
7633 #if defined(BORINGSSL_CURVE25519_64BIT)
7634                 1003649078149734, 545233927396469, 1849786171789880,
7635                 1318943684880434, 280345687170552
7636 #else
7637                 46678630, 14955536, 42982517, 8124618, 61739576, 27563961,
7638                 30468146, 19653792, 18423288, 4177476
7639 #endif
7640             }},
7641         },
7642     },
7643 };
7644 
7645 #endif  // CONFIG_SMALL
7646 
7647 // Bi[i] = (2*i+1)*B
7648 static const ge_precomp Bi[8] = {
7649     {
7650         {{
7651 #if defined(BORINGSSL_CURVE25519_64BIT)
7652             1288382639258501, 245678601348599, 269427782077623,
7653             1462984067271730, 137412439391563
7654 #else
7655             25967493, 19198397, 29566455, 3660896, 54414519, 4014786, 27544626,
7656             21800161, 61029707, 2047604
7657 #endif
7658         }},
7659         {{
7660 #if defined(BORINGSSL_CURVE25519_64BIT)
7661             62697248952638, 204681361388450, 631292143396476, 338455783676468,
7662             1213667448819585
7663 #else
7664             54563134, 934261, 64385954, 3049989, 66381436, 9406985, 12720692,
7665             5043384, 19500929, 18085054
7666 #endif
7667         }},
7668         {{
7669 #if defined(BORINGSSL_CURVE25519_64BIT)
7670             301289933810280, 1259582250014073, 1422107436869536,
7671             796239922652654, 1953934009299142
7672 #else
7673             58370664, 4489569, 9688441, 18769238, 10184608, 21191052, 29287918,
7674             11864899, 42594502, 29115885
7675 #endif
7676         }},
7677     },
7678     {
7679         {{
7680 #if defined(BORINGSSL_CURVE25519_64BIT)
7681             1601611775252272, 1720807796594148, 1132070835939856,
7682             1260455018889551, 2147779492816911
7683 #else
7684             15636272, 23865875, 24204772, 25642034, 616976, 16869170, 27787599,
7685             18782243, 28944399, 32004408
7686 #endif
7687         }},
7688         {{
7689 #if defined(BORINGSSL_CURVE25519_64BIT)
7690             316559037616741, 2177824224946892, 1459442586438991,
7691             1461528397712656, 751590696113597
7692 #else
7693             16568933, 4717097, 55552716, 32452109, 15682895, 21747389, 16354576,
7694             21778470, 7689661, 11199574
7695 #endif
7696         }},
7697         {{
7698 #if defined(BORINGSSL_CURVE25519_64BIT)
7699             1850748884277385, 1200145853858453, 1068094770532492,
7700             672251375690438, 1586055907191707
7701 #else
7702             30464137, 27578307, 55329429, 17883566, 23220364, 15915852, 7512774,
7703             10017326, 49359771, 23634074
7704 #endif
7705         }},
7706     },
7707     {
7708         {{
7709 #if defined(BORINGSSL_CURVE25519_64BIT)
7710             769950342298419, 132954430919746, 844085933195555, 974092374476333,
7711             726076285546016
7712 #else
7713             10861363, 11473154, 27284546, 1981175, 37044515, 12577860, 32867885,
7714             14515107, 51670560, 10819379
7715 #endif
7716         }},
7717         {{
7718 #if defined(BORINGSSL_CURVE25519_64BIT)
7719             425251763115706, 608463272472562, 442562545713235, 837766094556764,
7720             374555092627893
7721 #else
7722             4708026, 6336745, 20377586, 9066809, 55836755, 6594695, 41455196,
7723             12483687, 54440373, 5581305
7724 #endif
7725         }},
7726         {{
7727 #if defined(BORINGSSL_CURVE25519_64BIT)
7728             1086255230780037, 274979815921559, 1960002765731872,
7729             929474102396301, 1190409889297339
7730 #else
7731             19563141, 16186464, 37722007, 4097518, 10237984, 29206317, 28542349,
7732             13850243, 43430843, 17738489
7733 #endif
7734         }},
7735     },
7736     {
7737         {{
7738 #if defined(BORINGSSL_CURVE25519_64BIT)
7739             665000864555967, 2065379846933859, 370231110385876, 350988370788628,
7740             1233371373142985
7741 #else
7742             5153727, 9909285, 1723747, 30776558, 30523604, 5516873, 19480852,
7743             5230134, 43156425, 18378665
7744 #endif
7745         }},
7746         {{
7747 #if defined(BORINGSSL_CURVE25519_64BIT)
7748             2019367628972465, 676711900706637, 110710997811333,
7749             1108646842542025, 517791959672113
7750 #else
7751             36839857, 30090922, 7665485, 10083793, 28475525, 1649722, 20654025,
7752             16520125, 30598449, 7715701
7753 #endif
7754         }},
7755         {{
7756 #if defined(BORINGSSL_CURVE25519_64BIT)
7757             965130719900578, 247011430587952, 526356006571389, 91986625355052,
7758             2157223321444601
7759 #else
7760             28881826, 14381568, 9657904, 3680757, 46927229, 7843315, 35708204,
7761             1370707, 29794553, 32145132
7762 #endif
7763         }},
7764     },
7765     {
7766         {{
7767 #if defined(BORINGSSL_CURVE25519_64BIT)
7768             1802695059465007, 1664899123557221, 593559490740857,
7769             2160434469266659, 927570450755031
7770 #else
7771             44589871, 26862249, 14201701, 24808930, 43598457, 8844725, 18474211,
7772             32192982, 54046167, 13821876
7773 #endif
7774         }},
7775         {{
7776 #if defined(BORINGSSL_CURVE25519_64BIT)
7777             1725674970513508, 1933645953859181, 1542344539275782,
7778             1767788773573747, 1297447965928905
7779 #else
7780             60653668, 25714560, 3374701, 28813570, 40010246, 22982724, 31655027,
7781             26342105, 18853321, 19333481
7782 #endif
7783         }},
7784         {{
7785 #if defined(BORINGSSL_CURVE25519_64BIT)
7786             1381809363726107, 1430341051343062, 2061843536018959,
7787             1551778050872521, 2036394857967624
7788 #else
7789             4566811, 20590564, 38133974, 21313742, 59506191, 30723862, 58594505,
7790             23123294, 2207752, 30344648
7791 #endif
7792         }},
7793     },
7794     {
7795         {{
7796 #if defined(BORINGSSL_CURVE25519_64BIT)
7797             1970894096313054, 528066325833207, 1619374932191227,
7798             2207306624415883, 1169170329061080
7799 #else
7800             41954014, 29368610, 29681143, 7868801, 60254203, 24130566, 54671499,
7801             32891431, 35997400, 17421995
7802 #endif
7803         }},
7804         {{
7805 #if defined(BORINGSSL_CURVE25519_64BIT)
7806             2070390218572616, 1458919061857835, 624171843017421,
7807             1055332792707765, 433987520732508
7808 #else
7809             25576264, 30851218, 7349803, 21739588, 16472781, 9300885, 3844789,
7810             15725684, 171356, 6466918
7811 #endif
7812         }},
7813         {{
7814 #if defined(BORINGSSL_CURVE25519_64BIT)
7815             893653801273833, 1168026499324677, 1242553501121234,
7816             1306366254304474, 1086752658510815
7817 #else
7818             23103977, 13316479, 9739013, 17404951, 817874, 18515490, 8965338,
7819             19466374, 36393951, 16193876
7820 #endif
7821         }},
7822     },
7823     {
7824         {{
7825 #if defined(BORINGSSL_CURVE25519_64BIT)
7826             213454002618221, 939771523987438, 1159882208056014, 317388369627517,
7827             621213314200687
7828 #else
7829             33587053, 3180712, 64714734, 14003686, 50205390, 17283591, 17238397,
7830             4729455, 49034351, 9256799
7831 #endif
7832         }},
7833         {{
7834 #if defined(BORINGSSL_CURVE25519_64BIT)
7835             1971678598905747, 338026507889165, 762398079972271, 655096486107477,
7836             42299032696322
7837 #else
7838             41926547, 29380300, 32336397, 5036987, 45872047, 11360616, 22616405,
7839             9761698, 47281666, 630304
7840 #endif
7841         }},
7842         {{
7843 #if defined(BORINGSSL_CURVE25519_64BIT)
7844             177130678690680, 1754759263300204, 1864311296286618,
7845             1180675631479880, 1292726903152791
7846 #else
7847             53388152, 2639452, 42871404, 26147950, 9494426, 27780403, 60554312,
7848             17593437, 64659607, 19263131
7849 #endif
7850         }},
7851     },
7852     {
7853         {{
7854 #if defined(BORINGSSL_CURVE25519_64BIT)
7855             1913163449625248, 460779200291993, 2193883288642314,
7856             1008900146920800, 1721983679009502
7857 #else
7858             63957664, 28508356, 9282713, 6866145, 35201802, 32691408, 48168288,
7859             15033783, 25105118, 25659556
7860 #endif
7861         }},
7862         {{
7863 #if defined(BORINGSSL_CURVE25519_64BIT)
7864             1070401523076875, 1272492007800961, 1910153608563310,
7865             2075579521696771, 1191169788841221
7866 #else
7867             42782475, 15950225, 35307649, 18961608, 55446126, 28463506, 1573891,
7868             30928545, 2198789, 17749813
7869 #endif
7870         }},
7871         {{
7872 #if defined(BORINGSSL_CURVE25519_64BIT)
7873             692896803108118, 500174642072499, 2068223309439677,
7874             1162190621851337, 1426986007309901
7875 #else
7876             64009494, 10324966, 64867251, 7453182, 61661885, 30818928, 53296841,
7877             17317989, 34647629, 21263748
7878 #endif
7879         }},
7880     },
7881 };
7882