UNPKG

based-auth

Version:

A Next.js/Node.js authentication and wallet API kit for Ethereum and Solana, with utilities for serialization and contract interaction, designed for serverless and API route usage.

657 lines 577 kB
import jc from "next-auth"; import $n from "crypto"; import { Keypair as Rc, PublicKey as yt, Connection as Tc, Transaction as ai, SystemProgram as oi, sendAndConfirmTransaction as ii, ComputeBudgetProgram as ni, SYSVAR_RENT_PUBKEY as Uc } from "@solana/web3.js"; import { Mnemonic as Lc, HDNodeWallet as Oc, hashMessage as Cc, recoverAddress as qc, getBytes as Hc, WebSocketProvider as Mc, Contract as Dc } from "ethers"; import { chainSolDevnet as Nc, AllChains as ta } from "./chains.js"; import Pc, { Schema as si, models as Fc, model as $c } from "mongoose"; import { N as Zt, h as Vc, d as Wc, a as Gc } from "./index-DoYa-2VZ.mjs"; import Kc from "stream"; import { NextResponse as ma } from "next/server"; import { d as Yc, s as Zc } from "./serialize-DsMsapZ4.mjs"; import { AnchorProvider as Xc, Program as Jc } from "@coral-xyz/anchor"; import { r as Qc } from "./constants-BXtpLmkk.mjs"; var Et = typeof globalThis < "u" ? globalThis : typeof window < "u" ? window : typeof global < "u" ? global : typeof self < "u" ? self : {}; function Vn(e) { return e && e.__esModule && Object.prototype.hasOwnProperty.call(e, "default") ? e.default : e; } function Wn(e) { if (Object.prototype.hasOwnProperty.call(e, "__esModule")) return e; var r = e.default; if (typeof r == "function") { var t = function i() { return this instanceof i ? Reflect.construct(r, arguments, this.constructor) : r.apply(this, arguments); }; t.prototype = r.prototype; } else t = {}; return Object.defineProperty(t, "__esModule", { value: !0 }), Object.keys(e).forEach(function(i) { var s = Object.getOwnPropertyDescriptor(e, i); Object.defineProperty(t, i, s.get ? s : { enumerable: !0, get: function() { return e[i]; } }); }), t; } function el(e) { return { id: "google", name: "Google", type: "oidc", issuer: "https://accounts.google.com", style: { brandColor: "#1a73e8" }, options: e }; } function rl(e) { var i, s, a; const r = ((i = e == null ? void 0 : e.enterprise) == null ? void 0 : i.baseUrl) ?? "https://github.com", t = (s = e == null ? void 0 : e.enterprise) != null && s.baseUrl ? `${(a = e == null ? void 0 : e.enterprise) == null ? void 0 : a.baseUrl}/api/v3` : "https://api.github.com"; return { id: "github", name: "GitHub", type: "oauth", authorization: { url: `${r}/login/oauth/authorize`, params: { scope: "read:user user:email" } }, token: `${r}/login/oauth/access_token`, userinfo: { url: `${t}/user`, async request({ tokens: l, provider: n }) { var b; const f = await fetch((b = n.userinfo) == null ? void 0 : b.url, { headers: { Authorization: `Bearer ${l.access_token}`, "User-Agent": "authjs" } }).then(async (d) => await d.json()); if (!f.email) { const d = await fetch(`${t}/user/emails`, { headers: { Authorization: `Bearer ${l.access_token}`, "User-Agent": "authjs" } }); if (d.ok) { const w = await d.json(); f.email = (w.find((p) => p.primary) ?? w[0]).email; } } return f; } }, profile(l) { return { id: l.id.toString(), name: l.name ?? l.login, email: l.email, image: l.avatar_url }; }, style: { bg: "#24292f", text: "#fff" }, options: e }; } function tl(e) { return { id: "twitter", name: "Twitter", type: "oauth", checks: ["pkce", "state"], authorization: "https://x.com/i/oauth2/authorize?scope=users.read tweet.read offline.access", token: "https://api.x.com/2/oauth2/token", userinfo: "https://api.x.com/2/users/me?user.fields=profile_image_url", profile({ data: r }) { return { id: r.id, name: r.name, email: r.email ?? null, image: r.profile_image_url }; }, style: { bg: "#1da1f2", text: "#fff" }, options: e }; } function al(e) { return { id: "credentials", name: "Credentials", type: "credentials", credentials: {}, authorize: () => null, // @ts-expect-error options: e }; } function ol(e) { throw new Error('Could not dynamically require "' + e + '". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.'); } var ga = { exports: {} }, ci; function Gn() { return ci || (ci = 1, function(e) { (function(r) { var t = function(h) { var _, y = new Float64Array(16); if (h) for (_ = 0; _ < h.length; _++) y[_] = h[_]; return y; }, i = function() { throw new Error("no PRNG"); }, s = new Uint8Array(16), a = new Uint8Array(32); a[0] = 9; var l = t(), n = t([1]), f = t([56129, 1]), b = t([30883, 4953, 19914, 30187, 55467, 16705, 2637, 112, 59544, 30585, 16505, 36039, 65139, 11119, 27886, 20995]), d = t([61785, 9906, 39828, 60374, 45398, 33411, 5274, 224, 53552, 61171, 33010, 6542, 64743, 22239, 55772, 9222]), w = t([54554, 36645, 11616, 51542, 42930, 38181, 51040, 26924, 56412, 64982, 57905, 49316, 21502, 52590, 14035, 8553]), p = t([26200, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214, 26214]), v = t([41136, 18958, 6951, 50414, 58488, 44335, 6150, 12099, 55207, 15867, 153, 11085, 57099, 20417, 9344, 11139]); function m(h, _, y, o) { h[_] = y >> 24 & 255, h[_ + 1] = y >> 16 & 255, h[_ + 2] = y >> 8 & 255, h[_ + 3] = y & 255, h[_ + 4] = o >> 24 & 255, h[_ + 5] = o >> 16 & 255, h[_ + 6] = o >> 8 & 255, h[_ + 7] = o & 255; } function g(h, _, y, o, k) { var P, $ = 0; for (P = 0; P < k; P++) $ |= h[_ + P] ^ y[o + P]; return (1 & $ - 1 >>> 8) - 1; } function z(h, _, y, o) { return g(h, _, y, o, 16); } function E(h, _, y, o) { return g(h, _, y, o, 32); } function q(h, _, y, o) { for (var k = o[0] & 255 | (o[1] & 255) << 8 | (o[2] & 255) << 16 | (o[3] & 255) << 24, P = y[0] & 255 | (y[1] & 255) << 8 | (y[2] & 255) << 16 | (y[3] & 255) << 24, $ = y[4] & 255 | (y[5] & 255) << 8 | (y[6] & 255) << 16 | (y[7] & 255) << 24, ae = y[8] & 255 | (y[9] & 255) << 8 | (y[10] & 255) << 16 | (y[11] & 255) << 24, ce = y[12] & 255 | (y[13] & 255) << 8 | (y[14] & 255) << 16 | (y[15] & 255) << 24, ze = o[4] & 255 | (o[5] & 255) << 8 | (o[6] & 255) << 16 | (o[7] & 255) << 24, me = _[0] & 255 | (_[1] & 255) << 8 | (_[2] & 255) << 16 | (_[3] & 255) << 24, Je = _[4] & 255 | (_[5] & 255) << 8 | (_[6] & 255) << 16 | (_[7] & 255) << 24, xe = _[8] & 255 | (_[9] & 255) << 8 | (_[10] & 255) << 16 | (_[11] & 255) << 24, Te = _[12] & 255 | (_[13] & 255) << 8 | (_[14] & 255) << 16 | (_[15] & 255) << 24, Ue = o[8] & 255 | (o[9] & 255) << 8 | (o[10] & 255) << 16 | (o[11] & 255) << 24, Ne = y[16] & 255 | (y[17] & 255) << 8 | (y[18] & 255) << 16 | (y[19] & 255) << 24, De = y[20] & 255 | (y[21] & 255) << 8 | (y[22] & 255) << 16 | (y[23] & 255) << 24, Le = y[24] & 255 | (y[25] & 255) << 8 | (y[26] & 255) << 16 | (y[27] & 255) << 24, qe = y[28] & 255 | (y[29] & 255) << 8 | (y[30] & 255) << 16 | (y[31] & 255) << 24, Oe = o[12] & 255 | (o[13] & 255) << 8 | (o[14] & 255) << 16 | (o[15] & 255) << 24, _e = k, Be = P, ve = $, Ee = ae, Se = ce, pe = ze, G = me, K = Je, ie = xe, te = Te, oe = Ue, ne = Ne, je = De, Pe = Le, $e = qe, Fe = Oe, U, We = 0; We < 20; We += 2) U = _e + je | 0, Se ^= U << 7 | U >>> 25, U = Se + _e | 0, ie ^= U << 9 | U >>> 23, U = ie + Se | 0, je ^= U << 13 | U >>> 19, U = je + ie | 0, _e ^= U << 18 | U >>> 14, U = pe + Be | 0, te ^= U << 7 | U >>> 25, U = te + pe | 0, Pe ^= U << 9 | U >>> 23, U = Pe + te | 0, Be ^= U << 13 | U >>> 19, U = Be + Pe | 0, pe ^= U << 18 | U >>> 14, U = oe + G | 0, $e ^= U << 7 | U >>> 25, U = $e + oe | 0, ve ^= U << 9 | U >>> 23, U = ve + $e | 0, G ^= U << 13 | U >>> 19, U = G + ve | 0, oe ^= U << 18 | U >>> 14, U = Fe + ne | 0, Ee ^= U << 7 | U >>> 25, U = Ee + Fe | 0, K ^= U << 9 | U >>> 23, U = K + Ee | 0, ne ^= U << 13 | U >>> 19, U = ne + K | 0, Fe ^= U << 18 | U >>> 14, U = _e + Ee | 0, Be ^= U << 7 | U >>> 25, U = Be + _e | 0, ve ^= U << 9 | U >>> 23, U = ve + Be | 0, Ee ^= U << 13 | U >>> 19, U = Ee + ve | 0, _e ^= U << 18 | U >>> 14, U = pe + Se | 0, G ^= U << 7 | U >>> 25, U = G + pe | 0, K ^= U << 9 | U >>> 23, U = K + G | 0, Se ^= U << 13 | U >>> 19, U = Se + K | 0, pe ^= U << 18 | U >>> 14, U = oe + te | 0, ne ^= U << 7 | U >>> 25, U = ne + oe | 0, ie ^= U << 9 | U >>> 23, U = ie + ne | 0, te ^= U << 13 | U >>> 19, U = te + ie | 0, oe ^= U << 18 | U >>> 14, U = Fe + $e | 0, je ^= U << 7 | U >>> 25, U = je + Fe | 0, Pe ^= U << 9 | U >>> 23, U = Pe + je | 0, $e ^= U << 13 | U >>> 19, U = $e + Pe | 0, Fe ^= U << 18 | U >>> 14; _e = _e + k | 0, Be = Be + P | 0, ve = ve + $ | 0, Ee = Ee + ae | 0, Se = Se + ce | 0, pe = pe + ze | 0, G = G + me | 0, K = K + Je | 0, ie = ie + xe | 0, te = te + Te | 0, oe = oe + Ue | 0, ne = ne + Ne | 0, je = je + De | 0, Pe = Pe + Le | 0, $e = $e + qe | 0, Fe = Fe + Oe | 0, h[0] = _e >>> 0 & 255, h[1] = _e >>> 8 & 255, h[2] = _e >>> 16 & 255, h[3] = _e >>> 24 & 255, h[4] = Be >>> 0 & 255, h[5] = Be >>> 8 & 255, h[6] = Be >>> 16 & 255, h[7] = Be >>> 24 & 255, h[8] = ve >>> 0 & 255, h[9] = ve >>> 8 & 255, h[10] = ve >>> 16 & 255, h[11] = ve >>> 24 & 255, h[12] = Ee >>> 0 & 255, h[13] = Ee >>> 8 & 255, h[14] = Ee >>> 16 & 255, h[15] = Ee >>> 24 & 255, h[16] = Se >>> 0 & 255, h[17] = Se >>> 8 & 255, h[18] = Se >>> 16 & 255, h[19] = Se >>> 24 & 255, h[20] = pe >>> 0 & 255, h[21] = pe >>> 8 & 255, h[22] = pe >>> 16 & 255, h[23] = pe >>> 24 & 255, h[24] = G >>> 0 & 255, h[25] = G >>> 8 & 255, h[26] = G >>> 16 & 255, h[27] = G >>> 24 & 255, h[28] = K >>> 0 & 255, h[29] = K >>> 8 & 255, h[30] = K >>> 16 & 255, h[31] = K >>> 24 & 255, h[32] = ie >>> 0 & 255, h[33] = ie >>> 8 & 255, h[34] = ie >>> 16 & 255, h[35] = ie >>> 24 & 255, h[36] = te >>> 0 & 255, h[37] = te >>> 8 & 255, h[38] = te >>> 16 & 255, h[39] = te >>> 24 & 255, h[40] = oe >>> 0 & 255, h[41] = oe >>> 8 & 255, h[42] = oe >>> 16 & 255, h[43] = oe >>> 24 & 255, h[44] = ne >>> 0 & 255, h[45] = ne >>> 8 & 255, h[46] = ne >>> 16 & 255, h[47] = ne >>> 24 & 255, h[48] = je >>> 0 & 255, h[49] = je >>> 8 & 255, h[50] = je >>> 16 & 255, h[51] = je >>> 24 & 255, h[52] = Pe >>> 0 & 255, h[53] = Pe >>> 8 & 255, h[54] = Pe >>> 16 & 255, h[55] = Pe >>> 24 & 255, h[56] = $e >>> 0 & 255, h[57] = $e >>> 8 & 255, h[58] = $e >>> 16 & 255, h[59] = $e >>> 24 & 255, h[60] = Fe >>> 0 & 255, h[61] = Fe >>> 8 & 255, h[62] = Fe >>> 16 & 255, h[63] = Fe >>> 24 & 255; } function O(h, _, y, o) { for (var k = o[0] & 255 | (o[1] & 255) << 8 | (o[2] & 255) << 16 | (o[3] & 255) << 24, P = y[0] & 255 | (y[1] & 255) << 8 | (y[2] & 255) << 16 | (y[3] & 255) << 24, $ = y[4] & 255 | (y[5] & 255) << 8 | (y[6] & 255) << 16 | (y[7] & 255) << 24, ae = y[8] & 255 | (y[9] & 255) << 8 | (y[10] & 255) << 16 | (y[11] & 255) << 24, ce = y[12] & 255 | (y[13] & 255) << 8 | (y[14] & 255) << 16 | (y[15] & 255) << 24, ze = o[4] & 255 | (o[5] & 255) << 8 | (o[6] & 255) << 16 | (o[7] & 255) << 24, me = _[0] & 255 | (_[1] & 255) << 8 | (_[2] & 255) << 16 | (_[3] & 255) << 24, Je = _[4] & 255 | (_[5] & 255) << 8 | (_[6] & 255) << 16 | (_[7] & 255) << 24, xe = _[8] & 255 | (_[9] & 255) << 8 | (_[10] & 255) << 16 | (_[11] & 255) << 24, Te = _[12] & 255 | (_[13] & 255) << 8 | (_[14] & 255) << 16 | (_[15] & 255) << 24, Ue = o[8] & 255 | (o[9] & 255) << 8 | (o[10] & 255) << 16 | (o[11] & 255) << 24, Ne = y[16] & 255 | (y[17] & 255) << 8 | (y[18] & 255) << 16 | (y[19] & 255) << 24, De = y[20] & 255 | (y[21] & 255) << 8 | (y[22] & 255) << 16 | (y[23] & 255) << 24, Le = y[24] & 255 | (y[25] & 255) << 8 | (y[26] & 255) << 16 | (y[27] & 255) << 24, qe = y[28] & 255 | (y[29] & 255) << 8 | (y[30] & 255) << 16 | (y[31] & 255) << 24, Oe = o[12] & 255 | (o[13] & 255) << 8 | (o[14] & 255) << 16 | (o[15] & 255) << 24, _e = k, Be = P, ve = $, Ee = ae, Se = ce, pe = ze, G = me, K = Je, ie = xe, te = Te, oe = Ue, ne = Ne, je = De, Pe = Le, $e = qe, Fe = Oe, U, We = 0; We < 20; We += 2) U = _e + je | 0, Se ^= U << 7 | U >>> 25, U = Se + _e | 0, ie ^= U << 9 | U >>> 23, U = ie + Se | 0, je ^= U << 13 | U >>> 19, U = je + ie | 0, _e ^= U << 18 | U >>> 14, U = pe + Be | 0, te ^= U << 7 | U >>> 25, U = te + pe | 0, Pe ^= U << 9 | U >>> 23, U = Pe + te | 0, Be ^= U << 13 | U >>> 19, U = Be + Pe | 0, pe ^= U << 18 | U >>> 14, U = oe + G | 0, $e ^= U << 7 | U >>> 25, U = $e + oe | 0, ve ^= U << 9 | U >>> 23, U = ve + $e | 0, G ^= U << 13 | U >>> 19, U = G + ve | 0, oe ^= U << 18 | U >>> 14, U = Fe + ne | 0, Ee ^= U << 7 | U >>> 25, U = Ee + Fe | 0, K ^= U << 9 | U >>> 23, U = K + Ee | 0, ne ^= U << 13 | U >>> 19, U = ne + K | 0, Fe ^= U << 18 | U >>> 14, U = _e + Ee | 0, Be ^= U << 7 | U >>> 25, U = Be + _e | 0, ve ^= U << 9 | U >>> 23, U = ve + Be | 0, Ee ^= U << 13 | U >>> 19, U = Ee + ve | 0, _e ^= U << 18 | U >>> 14, U = pe + Se | 0, G ^= U << 7 | U >>> 25, U = G + pe | 0, K ^= U << 9 | U >>> 23, U = K + G | 0, Se ^= U << 13 | U >>> 19, U = Se + K | 0, pe ^= U << 18 | U >>> 14, U = oe + te | 0, ne ^= U << 7 | U >>> 25, U = ne + oe | 0, ie ^= U << 9 | U >>> 23, U = ie + ne | 0, te ^= U << 13 | U >>> 19, U = te + ie | 0, oe ^= U << 18 | U >>> 14, U = Fe + $e | 0, je ^= U << 7 | U >>> 25, U = je + Fe | 0, Pe ^= U << 9 | U >>> 23, U = Pe + je | 0, $e ^= U << 13 | U >>> 19, U = $e + Pe | 0, Fe ^= U << 18 | U >>> 14; h[0] = _e >>> 0 & 255, h[1] = _e >>> 8 & 255, h[2] = _e >>> 16 & 255, h[3] = _e >>> 24 & 255, h[4] = pe >>> 0 & 255, h[5] = pe >>> 8 & 255, h[6] = pe >>> 16 & 255, h[7] = pe >>> 24 & 255, h[8] = oe >>> 0 & 255, h[9] = oe >>> 8 & 255, h[10] = oe >>> 16 & 255, h[11] = oe >>> 24 & 255, h[12] = Fe >>> 0 & 255, h[13] = Fe >>> 8 & 255, h[14] = Fe >>> 16 & 255, h[15] = Fe >>> 24 & 255, h[16] = G >>> 0 & 255, h[17] = G >>> 8 & 255, h[18] = G >>> 16 & 255, h[19] = G >>> 24 & 255, h[20] = K >>> 0 & 255, h[21] = K >>> 8 & 255, h[22] = K >>> 16 & 255, h[23] = K >>> 24 & 255, h[24] = ie >>> 0 & 255, h[25] = ie >>> 8 & 255, h[26] = ie >>> 16 & 255, h[27] = ie >>> 24 & 255, h[28] = te >>> 0 & 255, h[29] = te >>> 8 & 255, h[30] = te >>> 16 & 255, h[31] = te >>> 24 & 255; } function j(h, _, y, o) { q(h, _, y, o); } function S(h, _, y, o) { O(h, _, y, o); } var C = new Uint8Array([101, 120, 112, 97, 110, 100, 32, 51, 50, 45, 98, 121, 116, 101, 32, 107]); function F(h, _, y, o, k, P, $) { var ae = new Uint8Array(16), ce = new Uint8Array(64), ze, me; for (me = 0; me < 16; me++) ae[me] = 0; for (me = 0; me < 8; me++) ae[me] = P[me]; for (; k >= 64; ) { for (j(ce, ae, $, C), me = 0; me < 64; me++) h[_ + me] = y[o + me] ^ ce[me]; for (ze = 1, me = 8; me < 16; me++) ze = ze + (ae[me] & 255) | 0, ae[me] = ze & 255, ze >>>= 8; k -= 64, _ += 64, o += 64; } if (k > 0) for (j(ce, ae, $, C), me = 0; me < k; me++) h[_ + me] = y[o + me] ^ ce[me]; return 0; } function V(h, _, y, o, k) { var P = new Uint8Array(16), $ = new Uint8Array(64), ae, ce; for (ce = 0; ce < 16; ce++) P[ce] = 0; for (ce = 0; ce < 8; ce++) P[ce] = o[ce]; for (; y >= 64; ) { for (j($, P, k, C), ce = 0; ce < 64; ce++) h[_ + ce] = $[ce]; for (ae = 1, ce = 8; ce < 16; ce++) ae = ae + (P[ce] & 255) | 0, P[ce] = ae & 255, ae >>>= 8; y -= 64, _ += 64; } if (y > 0) for (j($, P, k, C), ce = 0; ce < y; ce++) h[_ + ce] = $[ce]; return 0; } function L(h, _, y, o, k) { var P = new Uint8Array(32); S(P, o, k, C); for (var $ = new Uint8Array(8), ae = 0; ae < 8; ae++) $[ae] = o[ae + 16]; return V(h, _, y, $, P); } function N(h, _, y, o, k, P, $) { var ae = new Uint8Array(32); S(ae, P, $, C); for (var ce = new Uint8Array(8), ze = 0; ze < 8; ze++) ce[ze] = P[ze + 16]; return F(h, _, y, o, k, ce, ae); } var Z = function(h) { this.buffer = new Uint8Array(16), this.r = new Uint16Array(10), this.h = new Uint16Array(10), this.pad = new Uint16Array(8), this.leftover = 0, this.fin = 0; var _, y, o, k, P, $, ae, ce; _ = h[0] & 255 | (h[1] & 255) << 8, this.r[0] = _ & 8191, y = h[2] & 255 | (h[3] & 255) << 8, this.r[1] = (_ >>> 13 | y << 3) & 8191, o = h[4] & 255 | (h[5] & 255) << 8, this.r[2] = (y >>> 10 | o << 6) & 7939, k = h[6] & 255 | (h[7] & 255) << 8, this.r[3] = (o >>> 7 | k << 9) & 8191, P = h[8] & 255 | (h[9] & 255) << 8, this.r[4] = (k >>> 4 | P << 12) & 255, this.r[5] = P >>> 1 & 8190, $ = h[10] & 255 | (h[11] & 255) << 8, this.r[6] = (P >>> 14 | $ << 2) & 8191, ae = h[12] & 255 | (h[13] & 255) << 8, this.r[7] = ($ >>> 11 | ae << 5) & 8065, ce = h[14] & 255 | (h[15] & 255) << 8, this.r[8] = (ae >>> 8 | ce << 8) & 8191, this.r[9] = ce >>> 5 & 127, this.pad[0] = h[16] & 255 | (h[17] & 255) << 8, this.pad[1] = h[18] & 255 | (h[19] & 255) << 8, this.pad[2] = h[20] & 255 | (h[21] & 255) << 8, this.pad[3] = h[22] & 255 | (h[23] & 255) << 8, this.pad[4] = h[24] & 255 | (h[25] & 255) << 8, this.pad[5] = h[26] & 255 | (h[27] & 255) << 8, this.pad[6] = h[28] & 255 | (h[29] & 255) << 8, this.pad[7] = h[30] & 255 | (h[31] & 255) << 8; }; Z.prototype.blocks = function(h, _, y) { for (var o = this.fin ? 0 : 2048, k, P, $, ae, ce, ze, me, Je, xe, Te, Ue, Ne, De, Le, qe, Oe, _e, Be, ve, Ee = this.h[0], Se = this.h[1], pe = this.h[2], G = this.h[3], K = this.h[4], ie = this.h[5], te = this.h[6], oe = this.h[7], ne = this.h[8], je = this.h[9], Pe = this.r[0], $e = this.r[1], Fe = this.r[2], U = this.r[3], We = this.r[4], Qe = this.r[5], er = this.r[6], Ve = this.r[7], Ke = this.r[8], Ye = this.r[9]; y >= 16; ) k = h[_ + 0] & 255 | (h[_ + 1] & 255) << 8, Ee += k & 8191, P = h[_ + 2] & 255 | (h[_ + 3] & 255) << 8, Se += (k >>> 13 | P << 3) & 8191, $ = h[_ + 4] & 255 | (h[_ + 5] & 255) << 8, pe += (P >>> 10 | $ << 6) & 8191, ae = h[_ + 6] & 255 | (h[_ + 7] & 255) << 8, G += ($ >>> 7 | ae << 9) & 8191, ce = h[_ + 8] & 255 | (h[_ + 9] & 255) << 8, K += (ae >>> 4 | ce << 12) & 8191, ie += ce >>> 1 & 8191, ze = h[_ + 10] & 255 | (h[_ + 11] & 255) << 8, te += (ce >>> 14 | ze << 2) & 8191, me = h[_ + 12] & 255 | (h[_ + 13] & 255) << 8, oe += (ze >>> 11 | me << 5) & 8191, Je = h[_ + 14] & 255 | (h[_ + 15] & 255) << 8, ne += (me >>> 8 | Je << 8) & 8191, je += Je >>> 5 | o, xe = 0, Te = xe, Te += Ee * Pe, Te += Se * (5 * Ye), Te += pe * (5 * Ke), Te += G * (5 * Ve), Te += K * (5 * er), xe = Te >>> 13, Te &= 8191, Te += ie * (5 * Qe), Te += te * (5 * We), Te += oe * (5 * U), Te += ne * (5 * Fe), Te += je * (5 * $e), xe += Te >>> 13, Te &= 8191, Ue = xe, Ue += Ee * $e, Ue += Se * Pe, Ue += pe * (5 * Ye), Ue += G * (5 * Ke), Ue += K * (5 * Ve), xe = Ue >>> 13, Ue &= 8191, Ue += ie * (5 * er), Ue += te * (5 * Qe), Ue += oe * (5 * We), Ue += ne * (5 * U), Ue += je * (5 * Fe), xe += Ue >>> 13, Ue &= 8191, Ne = xe, Ne += Ee * Fe, Ne += Se * $e, Ne += pe * Pe, Ne += G * (5 * Ye), Ne += K * (5 * Ke), xe = Ne >>> 13, Ne &= 8191, Ne += ie * (5 * Ve), Ne += te * (5 * er), Ne += oe * (5 * Qe), Ne += ne * (5 * We), Ne += je * (5 * U), xe += Ne >>> 13, Ne &= 8191, De = xe, De += Ee * U, De += Se * Fe, De += pe * $e, De += G * Pe, De += K * (5 * Ye), xe = De >>> 13, De &= 8191, De += ie * (5 * Ke), De += te * (5 * Ve), De += oe * (5 * er), De += ne * (5 * Qe), De += je * (5 * We), xe += De >>> 13, De &= 8191, Le = xe, Le += Ee * We, Le += Se * U, Le += pe * Fe, Le += G * $e, Le += K * Pe, xe = Le >>> 13, Le &= 8191, Le += ie * (5 * Ye), Le += te * (5 * Ke), Le += oe * (5 * Ve), Le += ne * (5 * er), Le += je * (5 * Qe), xe += Le >>> 13, Le &= 8191, qe = xe, qe += Ee * Qe, qe += Se * We, qe += pe * U, qe += G * Fe, qe += K * $e, xe = qe >>> 13, qe &= 8191, qe += ie * Pe, qe += te * (5 * Ye), qe += oe * (5 * Ke), qe += ne * (5 * Ve), qe += je * (5 * er), xe += qe >>> 13, qe &= 8191, Oe = xe, Oe += Ee * er, Oe += Se * Qe, Oe += pe * We, Oe += G * U, Oe += K * Fe, xe = Oe >>> 13, Oe &= 8191, Oe += ie * $e, Oe += te * Pe, Oe += oe * (5 * Ye), Oe += ne * (5 * Ke), Oe += je * (5 * Ve), xe += Oe >>> 13, Oe &= 8191, _e = xe, _e += Ee * Ve, _e += Se * er, _e += pe * Qe, _e += G * We, _e += K * U, xe = _e >>> 13, _e &= 8191, _e += ie * Fe, _e += te * $e, _e += oe * Pe, _e += ne * (5 * Ye), _e += je * (5 * Ke), xe += _e >>> 13, _e &= 8191, Be = xe, Be += Ee * Ke, Be += Se * Ve, Be += pe * er, Be += G * Qe, Be += K * We, xe = Be >>> 13, Be &= 8191, Be += ie * U, Be += te * Fe, Be += oe * $e, Be += ne * Pe, Be += je * (5 * Ye), xe += Be >>> 13, Be &= 8191, ve = xe, ve += Ee * Ye, ve += Se * Ke, ve += pe * Ve, ve += G * er, ve += K * Qe, xe = ve >>> 13, ve &= 8191, ve += ie * We, ve += te * U, ve += oe * Fe, ve += ne * $e, ve += je * Pe, xe += ve >>> 13, ve &= 8191, xe = (xe << 2) + xe | 0, xe = xe + Te | 0, Te = xe & 8191, xe = xe >>> 13, Ue += xe, Ee = Te, Se = Ue, pe = Ne, G = De, K = Le, ie = qe, te = Oe, oe = _e, ne = Be, je = ve, _ += 16, y -= 16; this.h[0] = Ee, this.h[1] = Se, this.h[2] = pe, this.h[3] = G, this.h[4] = K, this.h[5] = ie, this.h[6] = te, this.h[7] = oe, this.h[8] = ne, this.h[9] = je; }, Z.prototype.finish = function(h, _) { var y = new Uint16Array(10), o, k, P, $; if (this.leftover) { for ($ = this.leftover, this.buffer[$++] = 1; $ < 16; $++) this.buffer[$] = 0; this.fin = 1, this.blocks(this.buffer, 0, 16); } for (o = this.h[1] >>> 13, this.h[1] &= 8191, $ = 2; $ < 10; $++) this.h[$] += o, o = this.h[$] >>> 13, this.h[$] &= 8191; for (this.h[0] += o * 5, o = this.h[0] >>> 13, this.h[0] &= 8191, this.h[1] += o, o = this.h[1] >>> 13, this.h[1] &= 8191, this.h[2] += o, y[0] = this.h[0] + 5, o = y[0] >>> 13, y[0] &= 8191, $ = 1; $ < 10; $++) y[$] = this.h[$] + o, o = y[$] >>> 13, y[$] &= 8191; for (y[9] -= 8192, k = (o ^ 1) - 1, $ = 0; $ < 10; $++) y[$] &= k; for (k = ~k, $ = 0; $ < 10; $++) this.h[$] = this.h[$] & k | y[$]; for (this.h[0] = (this.h[0] | this.h[1] << 13) & 65535, this.h[1] = (this.h[1] >>> 3 | this.h[2] << 10) & 65535, this.h[2] = (this.h[2] >>> 6 | this.h[3] << 7) & 65535, this.h[3] = (this.h[3] >>> 9 | this.h[4] << 4) & 65535, this.h[4] = (this.h[4] >>> 12 | this.h[5] << 1 | this.h[6] << 14) & 65535, this.h[5] = (this.h[6] >>> 2 | this.h[7] << 11) & 65535, this.h[6] = (this.h[7] >>> 5 | this.h[8] << 8) & 65535, this.h[7] = (this.h[8] >>> 8 | this.h[9] << 5) & 65535, P = this.h[0] + this.pad[0], this.h[0] = P & 65535, $ = 1; $ < 8; $++) P = (this.h[$] + this.pad[$] | 0) + (P >>> 16) | 0, this.h[$] = P & 65535; h[_ + 0] = this.h[0] >>> 0 & 255, h[_ + 1] = this.h[0] >>> 8 & 255, h[_ + 2] = this.h[1] >>> 0 & 255, h[_ + 3] = this.h[1] >>> 8 & 255, h[_ + 4] = this.h[2] >>> 0 & 255, h[_ + 5] = this.h[2] >>> 8 & 255, h[_ + 6] = this.h[3] >>> 0 & 255, h[_ + 7] = this.h[3] >>> 8 & 255, h[_ + 8] = this.h[4] >>> 0 & 255, h[_ + 9] = this.h[4] >>> 8 & 255, h[_ + 10] = this.h[5] >>> 0 & 255, h[_ + 11] = this.h[5] >>> 8 & 255, h[_ + 12] = this.h[6] >>> 0 & 255, h[_ + 13] = this.h[6] >>> 8 & 255, h[_ + 14] = this.h[7] >>> 0 & 255, h[_ + 15] = this.h[7] >>> 8 & 255; }, Z.prototype.update = function(h, _, y) { var o, k; if (this.leftover) { for (k = 16 - this.leftover, k > y && (k = y), o = 0; o < k; o++) this.buffer[this.leftover + o] = h[_ + o]; if (y -= k, _ += k, this.leftover += k, this.leftover < 16) return; this.blocks(this.buffer, 0, 16), this.leftover = 0; } if (y >= 16 && (k = y - y % 16, this.blocks(h, _, k), _ += k, y -= k), y) { for (o = 0; o < y; o++) this.buffer[this.leftover + o] = h[_ + o]; this.leftover += y; } }; function le(h, _, y, o, k, P) { var $ = new Z(P); return $.update(y, o, k), $.finish(h, _), 0; } function re(h, _, y, o, k, P) { var $ = new Uint8Array(16); return le($, 0, y, o, k, P), z(h, _, $, 0); } function ye(h, _, y, o, k) { var P; if (y < 32) return -1; for (N(h, 0, _, 0, y, o, k), le(h, 16, h, 32, y - 32, h), P = 0; P < 16; P++) h[P] = 0; return 0; } function Ae(h, _, y, o, k) { var P, $ = new Uint8Array(32); if (y < 32 || (L($, 0, 32, o, k), re(_, 16, _, 32, y - 32, $) !== 0)) return -1; for (N(h, 0, _, 0, y, o, k), P = 0; P < 32; P++) h[P] = 0; return 0; } function Re(h, _) { var y; for (y = 0; y < 16; y++) h[y] = _[y] | 0; } function Ie(h) { var _, y, o = 1; for (_ = 0; _ < 16; _++) y = h[_] + o + 65535, o = Math.floor(y / 65536), h[_] = y - o * 65536; h[0] += o - 1 + 37 * (o - 1); } function he(h, _, y) { for (var o, k = ~(y - 1), P = 0; P < 16; P++) o = k & (h[P] ^ _[P]), h[P] ^= o, _[P] ^= o; } function R(h, _) { var y, o, k, P = t(), $ = t(); for (y = 0; y < 16; y++) $[y] = _[y]; for (Ie($), Ie($), Ie($), o = 0; o < 2; o++) { for (P[0] = $[0] - 65517, y = 1; y < 15; y++) P[y] = $[y] - 65535 - (P[y - 1] >> 16 & 1), P[y - 1] &= 65535; P[15] = $[15] - 32767 - (P[14] >> 16 & 1), k = P[15] >> 16 & 1, P[14] &= 65535, he($, P, 1 - k); } for (y = 0; y < 16; y++) h[2 * y] = $[y] & 255, h[2 * y + 1] = $[y] >> 8; } function Y(h, _) { var y = new Uint8Array(32), o = new Uint8Array(32); return R(y, h), R(o, _), E(y, 0, o, 0); } function X(h) { var _ = new Uint8Array(32); return R(_, h), _[0] & 1; } function se(h, _) { var y; for (y = 0; y < 16; y++) h[y] = _[2 * y] + (_[2 * y + 1] << 8); h[15] &= 32767; } function ue(h, _, y) { for (var o = 0; o < 16; o++) h[o] = _[o] + y[o]; } function ke(h, _, y) { for (var o = 0; o < 16; o++) h[o] = _[o] - y[o]; } function ge(h, _, y) { var o, k, P = 0, $ = 0, ae = 0, ce = 0, ze = 0, me = 0, Je = 0, xe = 0, Te = 0, Ue = 0, Ne = 0, De = 0, Le = 0, qe = 0, Oe = 0, _e = 0, Be = 0, ve = 0, Ee = 0, Se = 0, pe = 0, G = 0, K = 0, ie = 0, te = 0, oe = 0, ne = 0, je = 0, Pe = 0, $e = 0, Fe = 0, U = y[0], We = y[1], Qe = y[2], er = y[3], Ve = y[4], Ke = y[5], Ye = y[6], dr = y[7], ar = y[8], lr = y[9], ur = y[10], fr = y[11], hr = y[12], wr = y[13], _r = y[14], Er = y[15]; o = _[0], P += o * U, $ += o * We, ae += o * Qe, ce += o * er, ze += o * Ve, me += o * Ke, Je += o * Ye, xe += o * dr, Te += o * ar, Ue += o * lr, Ne += o * ur, De += o * fr, Le += o * hr, qe += o * wr, Oe += o * _r, _e += o * Er, o = _[1], $ += o * U, ae += o * We, ce += o * Qe, ze += o * er, me += o * Ve, Je += o * Ke, xe += o * Ye, Te += o * dr, Ue += o * ar, Ne += o * lr, De += o * ur, Le += o * fr, qe += o * hr, Oe += o * wr, _e += o * _r, Be += o * Er, o = _[2], ae += o * U, ce += o * We, ze += o * Qe, me += o * er, Je += o * Ve, xe += o * Ke, Te += o * Ye, Ue += o * dr, Ne += o * ar, De += o * lr, Le += o * ur, qe += o * fr, Oe += o * hr, _e += o * wr, Be += o * _r, ve += o * Er, o = _[3], ce += o * U, ze += o * We, me += o * Qe, Je += o * er, xe += o * Ve, Te += o * Ke, Ue += o * Ye, Ne += o * dr, De += o * ar, Le += o * lr, qe += o * ur, Oe += o * fr, _e += o * hr, Be += o * wr, ve += o * _r, Ee += o * Er, o = _[4], ze += o * U, me += o * We, Je += o * Qe, xe += o * er, Te += o * Ve, Ue += o * Ke, Ne += o * Ye, De += o * dr, Le += o * ar, qe += o * lr, Oe += o * ur, _e += o * fr, Be += o * hr, ve += o * wr, Ee += o * _r, Se += o * Er, o = _[5], me += o * U, Je += o * We, xe += o * Qe, Te += o * er, Ue += o * Ve, Ne += o * Ke, De += o * Ye, Le += o * dr, qe += o * ar, Oe += o * lr, _e += o * ur, Be += o * fr, ve += o * hr, Ee += o * wr, Se += o * _r, pe += o * Er, o = _[6], Je += o * U, xe += o * We, Te += o * Qe, Ue += o * er, Ne += o * Ve, De += o * Ke, Le += o * Ye, qe += o * dr, Oe += o * ar, _e += o * lr, Be += o * ur, ve += o * fr, Ee += o * hr, Se += o * wr, pe += o * _r, G += o * Er, o = _[7], xe += o * U, Te += o * We, Ue += o * Qe, Ne += o * er, De += o * Ve, Le += o * Ke, qe += o * Ye, Oe += o * dr, _e += o * ar, Be += o * lr, ve += o * ur, Ee += o * fr, Se += o * hr, pe += o * wr, G += o * _r, K += o * Er, o = _[8], Te += o * U, Ue += o * We, Ne += o * Qe, De += o * er, Le += o * Ve, qe += o * Ke, Oe += o * Ye, _e += o * dr, Be += o * ar, ve += o * lr, Ee += o * ur, Se += o * fr, pe += o * hr, G += o * wr, K += o * _r, ie += o * Er, o = _[9], Ue += o * U, Ne += o * We, De += o * Qe, Le += o * er, qe += o * Ve, Oe += o * Ke, _e += o * Ye, Be += o * dr, ve += o * ar, Ee += o * lr, Se += o * ur, pe += o * fr, G += o * hr, K += o * wr, ie += o * _r, te += o * Er, o = _[10], Ne += o * U, De += o * We, Le += o * Qe, qe += o * er, Oe += o * Ve, _e += o * Ke, Be += o * Ye, ve += o * dr, Ee += o * ar, Se += o * lr, pe += o * ur, G += o * fr, K += o * hr, ie += o * wr, te += o * _r, oe += o * Er, o = _[11], De += o * U, Le += o * We, qe += o * Qe, Oe += o * er, _e += o * Ve, Be += o * Ke, ve += o * Ye, Ee += o * dr, Se += o * ar, pe += o * lr, G += o * ur, K += o * fr, ie += o * hr, te += o * wr, oe += o * _r, ne += o * Er, o = _[12], Le += o * U, qe += o * We, Oe += o * Qe, _e += o * er, Be += o * Ve, ve += o * Ke, Ee += o * Ye, Se += o * dr, pe += o * ar, G += o * lr, K += o * ur, ie += o * fr, te += o * hr, oe += o * wr, ne += o * _r, je += o * Er, o = _[13], qe += o * U, Oe += o * We, _e += o * Qe, Be += o * er, ve += o * Ve, Ee += o * Ke, Se += o * Ye, pe += o * dr, G += o * ar, K += o * lr, ie += o * ur, te += o * fr, oe += o * hr, ne += o * wr, je += o * _r, Pe += o * Er, o = _[14], Oe += o * U, _e += o * We, Be += o * Qe, ve += o * er, Ee += o * Ve, Se += o * Ke, pe += o * Ye, G += o * dr, K += o * ar, ie += o * lr, te += o * ur, oe += o * fr, ne += o * hr, je += o * wr, Pe += o * _r, $e += o * Er, o = _[15], _e += o * U, Be += o * We, ve += o * Qe, Ee += o * er, Se += o * Ve, pe += o * Ke, G += o * Ye, K += o * dr, ie += o * ar, te += o * lr, oe += o * ur, ne += o * fr, je += o * hr, Pe += o * wr, $e += o * _r, Fe += o * Er, P += 38 * Be, $ += 38 * ve, ae += 38 * Ee, ce += 38 * Se, ze += 38 * pe, me += 38 * G, Je += 38 * K, xe += 38 * ie, Te += 38 * te, Ue += 38 * oe, Ne += 38 * ne, De += 38 * je, Le += 38 * Pe, qe += 38 * $e, Oe += 38 * Fe, k = 1, o = P + k + 65535, k = Math.floor(o / 65536), P = o - k * 65536, o = $ + k + 65535, k = Math.floor(o / 65536), $ = o - k * 65536, o = ae + k + 65535, k = Math.floor(o / 65536), ae = o - k * 65536, o = ce + k + 65535, k = Math.floor(o / 65536), ce = o - k * 65536, o = ze + k + 65535, k = Math.floor(o / 65536), ze = o - k * 65536, o = me + k + 65535, k = Math.floor(o / 65536), me = o - k * 65536, o = Je + k + 65535, k = Math.floor(o / 65536), Je = o - k * 65536, o = xe + k + 65535, k = Math.floor(o / 65536), xe = o - k * 65536, o = Te + k + 65535, k = Math.floor(o / 65536), Te = o - k * 65536, o = Ue + k + 65535, k = Math.floor(o / 65536), Ue = o - k * 65536, o = Ne + k + 65535, k = Math.floor(o / 65536), Ne = o - k * 65536, o = De + k + 65535, k = Math.floor(o / 65536), De = o - k * 65536, o = Le + k + 65535, k = Math.floor(o / 65536), Le = o - k * 65536, o = qe + k + 65535, k = Math.floor(o / 65536), qe = o - k * 65536, o = Oe + k + 65535, k = Math.floor(o / 65536), Oe = o - k * 65536, o = _e + k + 65535, k = Math.floor(o / 65536), _e = o - k * 65536, P += k - 1 + 37 * (k - 1), k = 1, o = P + k + 65535, k = Math.floor(o / 65536), P = o - k * 65536, o = $ + k + 65535, k = Math.floor(o / 65536), $ = o - k * 65536, o = ae + k + 65535, k = Math.floor(o / 65536), ae = o - k * 65536, o = ce + k + 65535, k = Math.floor(o / 65536), ce = o - k * 65536, o = ze + k + 65535, k = Math.floor(o / 65536), ze = o - k * 65536, o = me + k + 65535, k = Math.floor(o / 65536), me = o - k * 65536, o = Je + k + 65535, k = Math.floor(o / 65536), Je = o - k * 65536, o = xe + k + 65535, k = Math.floor(o / 65536), xe = o - k * 65536, o = Te + k + 65535, k = Math.floor(o / 65536), Te = o - k * 65536, o = Ue + k + 65535, k = Math.floor(o / 65536), Ue = o - k * 65536, o = Ne + k + 65535, k = Math.floor(o / 65536), Ne = o - k * 65536, o = De + k + 65535, k = Math.floor(o / 65536), De = o - k * 65536, o = Le + k + 65535, k = Math.floor(o / 65536), Le = o - k * 65536, o = qe + k + 65535, k = Math.floor(o / 65536), qe = o - k * 65536, o = Oe + k + 65535, k = Math.floor(o / 65536), Oe = o - k * 65536, o = _e + k + 65535, k = Math.floor(o / 65536), _e = o - k * 65536, P += k - 1 + 37 * (k - 1), h[0] = P, h[1] = $, h[2] = ae, h[3] = ce, h[4] = ze, h[5] = me, h[6] = Je, h[7] = xe, h[8] = Te, h[9] = Ue, h[10] = Ne, h[11] = De, h[12] = Le, h[13] = qe, h[14] = Oe, h[15] = _e; } function H(h, _) { ge(h, _, _); } function D(h, _) { var y = t(), o; for (o = 0; o < 16; o++) y[o] = _[o]; for (o = 253; o >= 0; o--) H(y, y), o !== 2 && o !== 4 && ge(y, y, _); for (o = 0; o < 16; o++) h[o] = y[o]; } function J(h, _) { var y = t(), o; for (o = 0; o < 16; o++) y[o] = _[o]; for (o = 250; o >= 0; o--) H(y, y), o !== 1 && ge(y, y, _); for (o = 0; o < 16; o++) h[o] = y[o]; } function de(h, _, y) { var o = new Uint8Array(32), k = new Float64Array(80), P, $, ae = t(), ce = t(), ze = t(), me = t(), Je = t(), xe = t(); for ($ = 0; $ < 31; $++) o[$] = _[$]; for (o[31] = _[31] & 127 | 64, o[0] &= 248, se(k, y), $ = 0; $ < 16; $++) ce[$] = k[$], me[$] = ae[$] = ze[$] = 0; for (ae[0] = me[0] = 1, $ = 254; $ >= 0; --$) P = o[$ >>> 3] >>> ($ & 7) & 1, he(ae, ce, P), he(ze, me, P), ue(Je, ae, ze), ke(ae, ae, ze), ue(ze, ce, me), ke(ce, ce, me), H(me, Je), H(xe, ae), ge(ae, ze, ae), ge(ze, ce, Je), ue(Je, ae, ze), ke(ae, ae, ze), H(ce, ae), ke(ze, me, xe), ge(ae, ze, f), ue(ae, ae, me), ge(ze, ze, ae), ge(ae, me, xe), ge(me, ce, k), H(ce, Je), he(ae, ce, P), he(ze, me, P); for ($ = 0; $ < 16; $++) k[$ + 16] = ae[$], k[$ + 32] = ze[$], k[$ + 48] = ce[$], k[$ + 64] = me[$]; var Te = k.subarray(32), Ue = k.subarray(16); return D(Te, Te), ge(Ue, Ue, Te), R(h, Ue), 0; } function we(h, _) { return de(h, _, a); } function A(h, _) { return i(_, 32), we(h, _); } function B(h, _, y) { var o = new Uint8Array(32); return de(o, y, _), S(h, s, o, C); } var Q = ye, fe = Ae; function Ze(h, _, y, o, k, P) { var $ = new Uint8Array(32); return B($, k, P), Q(h, _, y, o, $); } function Ce(h, _, y, o, k, P) { var $ = new Uint8Array(32); return B($, k, P), fe(h, _, y, o, $); } var Ge = [ 1116352408, 3609767458, 1899447441, 602891725, 3049323471, 3964484399, 3921009573, 2173295548, 961987163, 4081628472, 1508970993, 3053834265, 2453635748, 2937671579, 2870763221, 3664609560, 3624381080, 2734883394, 310598401, 1164996542, 607225278, 1323610764, 1426881987, 3590304994, 1925078388, 4068182383, 2162078206, 991336113, 2614888103, 633803317, 3248222580, 3479774868, 3835390401, 2666613458, 4022224774, 944711139, 264347078, 2341262773, 604807628, 2007800933, 770255983, 1495990901, 1249150122, 1856431235, 1555081692, 3175218132, 1996064986, 2198950837, 2554220882, 3999719339, 2821834349, 766784016, 2952996808, 2566594879, 3210313671, 3203337956, 3336571891, 1034457026, 3584528711, 2466948901, 113926993, 3758326383, 338241895, 168717936, 666307205, 1188179964, 773529912, 1546045734, 1294757372, 1522805485, 1396182291, 2643833823, 1695183700, 2343527390, 1986661051, 1014477480, 2177026350, 1206759142, 2456956037, 344077627, 2730485921, 1290863460, 2820302411, 3158454273, 3259730800, 3505952657, 3345764771, 106217008, 3516065817, 3606008344, 3600352804, 1432725776, 4094571909, 1467031594, 275423344, 851169720, 430227734, 3100823752, 506948616, 1363258195, 659060556, 3750685593, 883997877, 3785050280, 958139571, 3318307427, 1322822218, 3812723403, 1537002063, 2003034995, 1747873779, 3602036899, 1955562222, 1575990012, 2024104815, 1125592928, 2227730452, 2716904306, 2361852424, 442776044, 2428436474, 593698344, 2756734187, 3733110249, 3204031479, 2999351573, 3329325298, 3815920427, 3391569614, 3928383900, 3515267271, 566280711, 3940187606, 3454069534, 4118630271, 4000239992, 116418474, 1914138554, 174292421, 2731055270, 289380356, 3203993006, 460393269, 320620315, 685471733, 587496836, 852142971, 1086792851, 1017036298, 365543100, 1126000580, 2618297676, 1288033470, 3409855158, 1501505948, 4234509866, 1607167915, 987167468, 1816402316, 1246189591 ]; function xr(h, _, y, o) { for (var k = new Int32Array(16), P = new Int32Array(16), $, ae, ce, ze, me, Je, xe, Te, Ue, Ne, De, Le, qe, Oe, _e, Be, ve, Ee, Se, pe, G, K, ie, te, oe, ne, je = h[0], Pe = h[1], $e = h[2], Fe = h[3], U = h[4], We = h[5], Qe = h[6], er = h[7], Ve = _[0], Ke = _[1], Ye = _[2], dr = _[3], ar = _[4], lr = _[5], ur = _[6], fr = _[7], hr = 0; o >= 128; ) { for (Se = 0; Se < 16; Se++) pe = 8 * Se + hr, k[Se] = y[pe + 0] << 24 | y[pe + 1] << 16 | y[pe + 2] << 8 | y[pe + 3], P[Se] = y[pe + 4] << 24 | y[pe + 5] << 16 | y[pe + 6] << 8 | y[pe + 7]; for (Se = 0; Se < 80; Se++) if ($ = je, ae = Pe, ce = $e, ze = Fe, me = U, Je = We, xe = Qe, Te = er, Ue = Ve, Ne = Ke, De = Ye, Le = dr, qe = ar, Oe = lr, _e = ur, Be = fr, G = er, K = fr, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = (U >>> 14 | ar << 18) ^ (U >>> 18 | ar << 14) ^ (ar >>> 9 | U << 23), K = (ar >>> 14 | U << 18) ^ (ar >>> 18 | U << 14) ^ (U >>> 9 | ar << 23), ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, G = U & We ^ ~U & Qe, K = ar & lr ^ ~ar & ur, ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, G = Ge[Se * 2], K = Ge[Se * 2 + 1], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, G = k[Se % 16], K = P[Se % 16], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, ve = oe & 65535 | ne << 16, Ee = ie & 65535 | te << 16, G = ve, K = Ee, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = (je >>> 28 | Ve << 4) ^ (Ve >>> 2 | je << 30) ^ (Ve >>> 7 | je << 25), K = (Ve >>> 28 | je << 4) ^ (je >>> 2 | Ve << 30) ^ (je >>> 7 | Ve << 25), ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, G = je & Pe ^ je & $e ^ Pe & $e, K = Ve & Ke ^ Ve & Ye ^ Ke & Ye, ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, Te = oe & 65535 | ne << 16, Be = ie & 65535 | te << 16, G = ze, K = Le, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = ve, K = Ee, ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, ze = oe & 65535 | ne << 16, Le = ie & 65535 | te << 16, Pe = $, $e = ae, Fe = ce, U = ze, We = me, Qe = Je, er = xe, je = Te, Ke = Ue, Ye = Ne, dr = De, ar = Le, lr = qe, ur = Oe, fr = _e, Ve = Be, Se % 16 === 15) for (pe = 0; pe < 16; pe++) G = k[pe], K = P[pe], ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = k[(pe + 9) % 16], K = P[(pe + 9) % 16], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, ve = k[(pe + 1) % 16], Ee = P[(pe + 1) % 16], G = (ve >>> 1 | Ee << 31) ^ (ve >>> 8 | Ee << 24) ^ ve >>> 7, K = (Ee >>> 1 | ve << 31) ^ (Ee >>> 8 | ve << 24) ^ (Ee >>> 7 | ve << 25), ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, ve = k[(pe + 14) % 16], Ee = P[(pe + 14) % 16], G = (ve >>> 19 | Ee << 13) ^ (Ee >>> 29 | ve << 3) ^ ve >>> 6, K = (Ee >>> 19 | ve << 13) ^ (ve >>> 29 | Ee << 3) ^ (Ee >>> 6 | ve << 26), ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, k[pe] = oe & 65535 | ne << 16, P[pe] = ie & 65535 | te << 16; G = je, K = Ve, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[0], K = _[0], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[0] = je = oe & 65535 | ne << 16, _[0] = Ve = ie & 65535 | te << 16, G = Pe, K = Ke, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[1], K = _[1], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[1] = Pe = oe & 65535 | ne << 16, _[1] = Ke = ie & 65535 | te << 16, G = $e, K = Ye, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[2], K = _[2], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[2] = $e = oe & 65535 | ne << 16, _[2] = Ye = ie & 65535 | te << 16, G = Fe, K = dr, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[3], K = _[3], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[3] = Fe = oe & 65535 | ne << 16, _[3] = dr = ie & 65535 | te << 16, G = U, K = ar, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[4], K = _[4], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[4] = U = oe & 65535 | ne << 16, _[4] = ar = ie & 65535 | te << 16, G = We, K = lr, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[5], K = _[5], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[5] = We = oe & 65535 | ne << 16, _[5] = lr = ie & 65535 | te << 16, G = Qe, K = ur, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[6], K = _[6], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[6] = Qe = oe & 65535 | ne << 16, _[6] = ur = ie & 65535 | te << 16, G = er, K = fr, ie = K & 65535, te = K >>> 16, oe = G & 65535, ne = G >>> 16, G = h[7], K = _[7], ie += K & 65535, te += K >>> 16, oe += G & 65535, ne += G >>> 16, te += ie >>> 16, oe += te >>> 16, ne += oe >>> 16, h[7] = er = oe & 65535 | ne << 16, _[7] = fr = ie & 65535 | te << 16, hr += 128, o -= 128; } return o; } function gr(h, _, y) { var o = new Int32Array(8), k = new Int32Array(8), P = new Uint8Array(256), $, ae = y; for (o[0] = 1779033703, o[1] = 3144134277, o[2] = 1013904242, o[3] = 2773480762, o[4] = 1359893119, o[5] = 2600822924, o[6] = 528734635, o[7] = 1541459225, k[0] = 4089235720, k[1] = 2227873595, k[2] = 4271175723, k[3] = 1595750129, k[4] = 2917565137, k[5] = 725511199, k[6] = 4215389547, k[7] = 327033209, xr(o, k, _, y), y %= 128, $ = 0; $ < y; $++) P[$] = _[ae - y + $]; for (P[y] = 128, y = 256 - 128 * (y < 112 ? 1 : 0), P[y - 9] = 0, m(P, y - 8, ae / 536870912 | 0, ae << 3), xr(o, k, P, y), $ = 0; $ < 8; $++) m(h, 8 * $, o[$], k[$]); return 0; } function zr(h, _) { var y = t(), o = t(), k = t(), P = t(), $ = t(), ae = t(), ce = t(), ze = t(), me = t(); ke(y, h[1], h[0]), ke(me, _[1], _[0]), ge(y, y, me), ue(o, h[0], h[1]), ue(me, _[0], _[1]), ge(o, o, me), ge(k, h[3], _[3]), ge(k, k, d), ge(P, h[2], _[2]), ue(P, P, P), ke($, o, y), ke(ae, P, k), ue(ce, P, k), ue(ze, o, y), ge(h[0], $, ae), ge(h[1], ze, ce), ge(h[2], ce, ae), ge(h[3], $, ze); } function sr(h, _, y) { var o; for (o = 0; o < 4; o++) he(h[o], _[o], y); } function nr(h, _) { var y = t(), o = t(), k = t(); D(k, _[2]), ge(y, _[0], k), ge(o, _[1], k), R(h, o), h[31] ^= X(y) << 7; } function jr(h, _, y) { var o, k; for (Re(h[0], l), Re(h[1], n), Re(h[2], n), Re(h[3], l), k = 255; k >= 0; --k) o = y[k / 8 | 0] >> (k & 7) & 1, sr(h, _, o), zr(_, h), zr(h, h), sr(h, _, o); } function Lr(h, _) { var y = [t(), t(), t(), t()]; Re(y[0], w), Re(y[1], p), Re(y[2], n), ge(y[3], w, p), jr(h, y, _); } function yr(h, _, y) { var o = new Uint8Array(64), k = [t(), t(), t(), t()], P; for (y || i(_, 32), gr(o, _, 32), o[0] &= 248, o[31] &= 127, o[31] |= 64, Lr(k, o), nr(h, k), P = 0; P < 32; P++) _[P + 32] = h[P]; return 0; } var Or = new Float64Array([237, 211, 245, 92, 26, 99, 18, 88, 214, 156, 247, 162, 222, 249, 222, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16]); function x(h, _) { var y, o, k, P; for (o = 63; o >= 32; --o) { for (y = 0, k = o - 32, P = o - 12; k < P; ++k) _[k] += y - 16 * _[o] * Or[k - (o - 32)], y = Math.floor((_[k] + 128) / 256), _[k] -= y * 256; _[k] += y, _[o] = 0; } for (y = 0, k = 0; k < 32; k++) _[k] += y - (_[31] >> 4) * Or[k], y = _[k] >> 8, _[k] &= 255; for (k = 0; k < 32; k++) _[k] -= y * Or[k]; for (o = 0; o < 32; o++) _[o + 1] += _[o] >> 8, h[o] = _[o] & 255; } function c(h) { var _ = new Float64Array(64), y; for (y = 0; y < 64; y++) _[y] = h[y]; for (y = 0; y < 64; y++) h[y] = 0; x(h, _); } function u(h, _, y, o) { var k = new Uint8Array(64), P = new Uint8Array(64), $ = new Uint8Array(64), ae, ce, ze = new Float64Array(64), me = [t(), t(), t(), t()]; gr(k, o, 32), k[0] &= 248, k[31] &= 127, k[31] |= 64; var Je = y + 64; for (ae = 0; ae < y; ae++) h[64 + ae] = _[ae]; for (ae = 0; ae < 32; ae++) h[32 + ae] = k[32 + ae]; for (gr($, h.subarray(32), y + 32), c($), Lr(me, $), nr(h, me), ae = 32; ae < 64; ae++) h[ae] = o[ae]; for (gr(P, h, y + 64), c(P), ae = 0; ae < 64; ae++) ze[ae] = 0; for (ae = 0; ae < 32; ae++) ze[ae] = $[ae]; for (ae = 0; ae < 32; ae++) for (ce = 0; ce < 32; ce++) ze[ae + ce] += P[ae] * k[ce]; return x(h.subarray(32), ze), Je; } function I(h, _) { var y = t(), o = t(), k = t(), P = t(), $ = t(), ae = t(), ce = t(); return Re(h[2], n), se(h[1], _), H(k, h[1]), ge(P, k, b), ke(k, k, h[2]), ue(P, h[2], P), H($, P), H(ae, $), ge(ce, ae, $), ge(y, ce, k), ge(y, y, P), J(y, y), ge(y, y, k), ge(y, y, P), ge(y, y, P), ge(h[0], y, P), H(o, h[0]), ge(o, o, P), Y(o, k) && ge(h[0], h[0], v), H(o, h[0]), ge(o, o, P), Y(o, k) ? -1 : (X(h[0]) === _[31] >> 7 && ke(h[0], l, h[0]), ge(h[3], h[0], h[1]), 0); } function M(h, _, y, o) { var k, P = new Uint8Array(32), $ = new Uint8Array(64), ae = [t(), t(), t(), t()], ce = [t(), t(), t(), t()]; if (y < 64 || I(ce, o)) return -1; for (k = 0; k < y; k++) h[k] = _[k]; for (k = 0; k < 32; k++) h[k + 32] = o[k]; if (gr($, h, y), c($), jr(ae, ce, $), Lr(ce, _.subarray(32)), zr(ae, ce), nr(P, ae), y -= 64, E(_, 0, P, 0)) { for (k = 0; k < y; k++) h[k] = 0; return -1; } for (k = 0; k < y; k++) h[k] = _[k + 64]; return y; } var W = 32, ee = 24, Me = 32, tr = 16, rr = 32, or = 32, Xe = 32, Bt = 32, ha = 32, ei = ee, Ac = Me, Bc = tr, Gr = 64, ut = 32, mt = 64, pa = 32, ba = 64; r.lowlevel = { crypto_core_hsalsa20: S, crypto_stream_xor: N, crypto_stream: L, crypto_stream_salsa20_xor: F, crypto_stream_salsa20: V, crypto_onetimeauth: le, crypto_onetimeauth_verify: re, crypto_verify_16: z, crypto_verify_32: E, crypto_secretbox: ye, crypto_secretbox_open: Ae, crypto_scalarmult: de, crypto_scalarmult_base: we, crypto_box_beforenm: B, crypto_box_afternm: Q, crypto_box: Ze, crypto_box_open: Ce, crypto_box_keypair: A, crypto_hash: gr, crypto_sign: u, crypto_sign_keypair: yr, crypto_sign_open: M, crypto_secretbox_KEYBYTES: W, crypto_secretbox_NONCEBYTES: ee, crypto_secretbox_ZEROBYTES: Me, crypto_secretbox_BOXZEROBYTES: tr, crypto_scalarmult_BYTES: rr, crypto_