{"version":3,"file":"vault_crypto.mjs","names":["ptr"],"sources":["../../wasm/vault_crypto.js"],"sourcesContent":["\nlet imports = {};\nimports['__wbindgen_placeholder__'] = module.exports;\n\nlet cachedUint8ArrayMemory0 = null;\n\nfunction getUint8ArrayMemory0() {\n    if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {\n        cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);\n    }\n    return cachedUint8ArrayMemory0;\n}\n\nlet cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });\n\ncachedTextDecoder.decode();\n\nfunction decodeText(ptr, len) {\n    return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));\n}\n\nfunction getStringFromWasm0(ptr, len) {\n    ptr = ptr >>> 0;\n    return decodeText(ptr, len);\n}\n\nlet heap = new Array(128).fill(undefined);\n\nheap.push(undefined, null, true, false);\n\nlet heap_next = heap.length;\n\nfunction addHeapObject(obj) {\n    if (heap_next === heap.length) heap.push(heap.length + 1);\n    const idx = heap_next;\n    heap_next = heap[idx];\n\n    heap[idx] = obj;\n    return idx;\n}\n\nfunction getObject(idx) { return heap[idx]; }\n\nlet WASM_VECTOR_LEN = 0;\n\nconst cachedTextEncoder = new TextEncoder();\n\nif (!('encodeInto' in cachedTextEncoder)) {\n    cachedTextEncoder.encodeInto = function (arg, view) {\n        const buf = cachedTextEncoder.encode(arg);\n        view.set(buf);\n        return {\n            read: arg.length,\n            written: buf.length\n        };\n    }\n}\n\nfunction passStringToWasm0(arg, malloc, realloc) {\n\n    if (realloc === undefined) {\n        const buf = cachedTextEncoder.encode(arg);\n        const ptr = malloc(buf.length, 1) >>> 0;\n        getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);\n        WASM_VECTOR_LEN = buf.length;\n        return ptr;\n    }\n\n    let len = arg.length;\n    let ptr = malloc(len, 1) >>> 0;\n\n    const mem = getUint8ArrayMemory0();\n\n    let offset = 0;\n\n    for (; offset < len; offset++) {\n        const code = arg.charCodeAt(offset);\n        if (code > 0x7F) break;\n        mem[ptr + offset] = code;\n    }\n\n    if (offset !== len) {\n        if (offset !== 0) {\n            arg = arg.slice(offset);\n        }\n        ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;\n        const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);\n        const ret = cachedTextEncoder.encodeInto(arg, view);\n\n        offset += ret.written;\n        ptr = realloc(ptr, len, offset, 1) >>> 0;\n    }\n\n    WASM_VECTOR_LEN = offset;\n    return ptr;\n}\n\nlet cachedDataViewMemory0 = null;\n\nfunction getDataViewMemory0() {\n    if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || (cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer)) {\n        cachedDataViewMemory0 = new DataView(wasm.memory.buffer);\n    }\n    return cachedDataViewMemory0;\n}\n\nfunction handleError(f, args) {\n    try {\n        return f.apply(this, args);\n    } catch (e) {\n        wasm.__wbindgen_export_2(addHeapObject(e));\n    }\n}\n\nfunction getArrayU8FromWasm0(ptr, len) {\n    ptr = ptr >>> 0;\n    return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);\n}\n\nfunction dropObject(idx) {\n    if (idx < 132) return;\n    heap[idx] = heap_next;\n    heap_next = idx;\n}\n\nfunction takeObject(idx) {\n    const ret = getObject(idx);\n    dropObject(idx);\n    return ret;\n}\n\nfunction isLikeNone(x) {\n    return x === undefined || x === null;\n}\n\nfunction debugString(val) {\n    // primitive types\n    const type = typeof val;\n    if (type == 'number' || type == 'boolean' || val == null) {\n        return  `${val}`;\n    }\n    if (type == 'string') {\n        return `\"${val}\"`;\n    }\n    if (type == 'symbol') {\n        const description = val.description;\n        if (description == null) {\n            return 'Symbol';\n        } else {\n            return `Symbol(${description})`;\n        }\n    }\n    if (type == 'function') {\n        const name = val.name;\n        if (typeof name == 'string' && name.length > 0) {\n            return `Function(${name})`;\n        } else {\n            return 'Function';\n        }\n    }\n    // objects\n    if (Array.isArray(val)) {\n        const length = val.length;\n        let debug = '[';\n        if (length > 0) {\n            debug += debugString(val[0]);\n        }\n        for(let i = 1; i < length; i++) {\n            debug += ', ' + debugString(val[i]);\n        }\n        debug += ']';\n        return debug;\n    }\n    // Test for built-in\n    const builtInMatches = /\\[object ([^\\]]+)\\]/.exec(toString.call(val));\n    let className;\n    if (builtInMatches && builtInMatches.length > 1) {\n        className = builtInMatches[1];\n    } else {\n        // Failed to match the standard '[object ClassName]'\n        return toString.call(val);\n    }\n    if (className == 'Object') {\n        // we're a user defined class or Object\n        // JSON.stringify avoids problems with cycles, and is generally much\n        // easier than looping through ownProperties of `val`.\n        try {\n            return 'Object(' + JSON.stringify(val) + ')';\n        } catch (_) {\n            return 'Object';\n        }\n    }\n    // errors\n    if (val instanceof Error) {\n        return `${val.name}: ${val.message}\\n${val.stack}`;\n    }\n    // TODO we could test for more things here, like `Set`s and `Map`s.\n    return className;\n}\n\nfunction passArray8ToWasm0(arg, malloc) {\n    const ptr = malloc(arg.length * 1, 1) >>> 0;\n    getUint8ArrayMemory0().set(arg, ptr / 1);\n    WASM_VECTOR_LEN = arg.length;\n    return ptr;\n}\n/**\n * Encrypt using AES-256-GCM (§4.1 P1 suite)\n *\n * # Arguments\n * * `key` - 32-byte encryption key\n * * `nonce` - 12-byte nonce (must be unique per key)\n * * `plaintext` - Data to encrypt\n * * `aad` - Associated data (authenticated but not encrypted)\n *\n * # Returns\n * Ciphertext with authentication tag appended (plaintext.len() + 16 bytes)\n * @param {Uint8Array} key\n * @param {Uint8Array} nonce\n * @param {Uint8Array} plaintext\n * @param {Uint8Array} aad\n * @returns {AeadResult}\n */\nexports.aesGcmEncrypt = function(key, nonce, plaintext, aad) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(key, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(nonce, wasm.__wbindgen_export_0);\n        const len1 = WASM_VECTOR_LEN;\n        const ptr2 = passArray8ToWasm0(plaintext, wasm.__wbindgen_export_0);\n        const len2 = WASM_VECTOR_LEN;\n        const ptr3 = passArray8ToWasm0(aad, wasm.__wbindgen_export_0);\n        const len3 = WASM_VECTOR_LEN;\n        wasm.aesGcmEncrypt(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        if (r2) {\n            throw takeObject(r1);\n        }\n        return AeadResult.__wrap(r0);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Decrypt using AES-256-GCM (§4.1 P1 suite)\n *\n * # Arguments\n * * `key` - 32-byte encryption key\n * * `nonce` - 12-byte nonce (same as encryption)\n * * `ciphertext` - Encrypted data with tag\n * * `aad` - Associated data (must match encryption)\n *\n * # Returns\n * Plaintext (ciphertext.len() - 16 bytes)\n * @param {Uint8Array} key\n * @param {Uint8Array} nonce\n * @param {Uint8Array} ciphertext\n * @param {Uint8Array} aad\n * @returns {Uint8Array}\n */\nexports.aesGcmDecrypt = function(key, nonce, ciphertext, aad) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(key, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(nonce, wasm.__wbindgen_export_0);\n        const len1 = WASM_VECTOR_LEN;\n        const ptr2 = passArray8ToWasm0(ciphertext, wasm.__wbindgen_export_0);\n        const len2 = WASM_VECTOR_LEN;\n        const ptr3 = passArray8ToWasm0(aad, wasm.__wbindgen_export_0);\n        const len3 = WASM_VECTOR_LEN;\n        wasm.aesGcmDecrypt(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v5 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v5;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Encrypt using XChaCha20-Poly1305 (§4.1 H1 suite)\n *\n * # Arguments\n * * `key` - 32-byte encryption key\n * * `nonce` - 24-byte nonce (extended nonce for XChaCha)\n * * `plaintext` - Data to encrypt\n * * `aad` - Associated data (authenticated but not encrypted)\n *\n * # Returns\n * Ciphertext with authentication tag appended\n * @param {Uint8Array} key\n * @param {Uint8Array} nonce\n * @param {Uint8Array} plaintext\n * @param {Uint8Array} aad\n * @returns {AeadResult}\n */\nexports.xchachaEncrypt = function(key, nonce, plaintext, aad) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(key, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(nonce, wasm.__wbindgen_export_0);\n        const len1 = WASM_VECTOR_LEN;\n        const ptr2 = passArray8ToWasm0(plaintext, wasm.__wbindgen_export_0);\n        const len2 = WASM_VECTOR_LEN;\n        const ptr3 = passArray8ToWasm0(aad, wasm.__wbindgen_export_0);\n        const len3 = WASM_VECTOR_LEN;\n        wasm.xchachaEncrypt(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        if (r2) {\n            throw takeObject(r1);\n        }\n        return AeadResult.__wrap(r0);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Decrypt using XChaCha20-Poly1305 (§4.1 H1 suite)\n *\n * # Arguments\n * * `key` - 32-byte encryption key\n * * `nonce` - 24-byte nonce (same as encryption)\n * * `ciphertext` - Encrypted data with tag\n * * `aad` - Associated data (must match encryption)\n *\n * # Returns\n * Plaintext\n * @param {Uint8Array} key\n * @param {Uint8Array} nonce\n * @param {Uint8Array} ciphertext\n * @param {Uint8Array} aad\n * @returns {Uint8Array}\n */\nexports.xchachaDecrypt = function(key, nonce, ciphertext, aad) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(key, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(nonce, wasm.__wbindgen_export_0);\n        const len1 = WASM_VECTOR_LEN;\n        const ptr2 = passArray8ToWasm0(ciphertext, wasm.__wbindgen_export_0);\n        const len2 = WASM_VECTOR_LEN;\n        const ptr3 = passArray8ToWasm0(aad, wasm.__wbindgen_export_0);\n        const len3 = WASM_VECTOR_LEN;\n        wasm.xchachaDecrypt(retptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v5 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v5;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Generate ML-KEM-768 keypair (§4.1 P1 suite)\n *\n * # Returns\n * Keypair with:\n * - Public key: 1184 bytes\n * - Secret key: 2400 bytes\n * @returns {KemKeypair}\n */\nexports.kemGenerateKeypair = function() {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.kemGenerateKeypair(retptr);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        if (r2) {\n            throw takeObject(r1);\n        }\n        return KemKeypair.__wrap(r0);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Encapsulate a shared secret to a recipient's public key (§6.1)\n *\n * # Arguments\n * * `recipient_public_key` - Recipient's ML-KEM-768 public key (1184 bytes)\n *\n * # Returns\n * - `sharedSecret`: 32-byte shared secret (use as KEK to wrap CEK)\n * - `ciphertext`: KEM ciphertext to send to recipient\n * @param {Uint8Array} recipient_public_key\n * @returns {KemEncapResult}\n */\nexports.kemEncapsulate = function(recipient_public_key) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(recipient_public_key, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.kemEncapsulate(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        if (r2) {\n            throw takeObject(r1);\n        }\n        return KemEncapResult.__wrap(r0);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Decapsulate to recover shared secret from ciphertext (§6.1)\n *\n * # Arguments\n * * `ciphertext` - KEM ciphertext from encapsulation\n * * `secret_key` - Recipient's ML-KEM-768 secret key (2400 bytes)\n *\n * # Returns\n * 32-byte shared secret (same as encapsulation)\n * @param {Uint8Array} ciphertext\n * @param {Uint8Array} secret_key\n * @returns {Uint8Array}\n */\nexports.kemDecapsulate = function(ciphertext, secret_key) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(ciphertext, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(secret_key, wasm.__wbindgen_export_0);\n        const len1 = WASM_VECTOR_LEN;\n        wasm.kemDecapsulate(retptr, ptr0, len0, ptr1, len1);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v3 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v3;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Wrap a CEK using KEM + AES-KW pattern\n *\n * This is a convenience function that:\n * 1. Encapsulates to get a KEK (Key Encryption Key)\n * 2. Uses KEK with AES-GCM to wrap the CEK\n *\n * # Arguments\n * * `cek` - Content Encryption Key to wrap (typically 32 bytes)\n * * `recipient_public_key` - Recipient's ML-KEM-768 public key\n *\n * # Returns\n * Wrapped CEK ciphertext (includes both KEM ciphertext and AES-GCM encrypted CEK)\n * @param {Uint8Array} cek\n * @param {Uint8Array} recipient_public_key\n * @returns {Uint8Array}\n */\nexports.kemWrapCek = function(cek, recipient_public_key) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(cek, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(recipient_public_key, wasm.__wbindgen_export_0);\n        const len1 = WASM_VECTOR_LEN;\n        wasm.kemWrapCek(retptr, ptr0, len0, ptr1, len1);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v3 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v3;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Unwrap a CEK using KEM + AES-KW pattern\n *\n * Inverse of `kemWrapCek`.\n *\n * # Arguments\n * * `wrapped_cek` - Combined KEM ciphertext + AES-GCM encrypted CEK\n * * `secret_key` - Recipient's ML-KEM-768 secret key\n *\n * # Returns\n * Unwrapped CEK\n * @param {Uint8Array} wrapped_cek\n * @param {Uint8Array} secret_key\n * @returns {Uint8Array}\n */\nexports.kemUnwrapCek = function(wrapped_cek, secret_key) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(wrapped_cek, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(secret_key, wasm.__wbindgen_export_0);\n        const len1 = WASM_VECTOR_LEN;\n        wasm.kemUnwrapCek(retptr, ptr0, len0, ptr1, len1);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v3 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v3;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Derive key using HKDF-SHA256 (§10.3)\n *\n * # Arguments\n * * `ikm` - Input Key Material\n * * `salt` - Optional salt (use empty array for none)\n * * `info` - Context/domain string\n * * `length` - Output key length in bytes\n *\n * # Returns\n * Derived key of requested length\n * @param {Uint8Array} ikm\n * @param {Uint8Array} salt\n * @param {string} info\n * @param {number} length\n * @returns {Uint8Array}\n */\nexports.hkdfExpand = function(ikm, salt, info, length) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(ikm, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passArray8ToWasm0(salt, wasm.__wbindgen_export_0);\n        const len1 = WASM_VECTOR_LEN;\n        const ptr2 = passStringToWasm0(info, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n        const len2 = WASM_VECTOR_LEN;\n        wasm.hkdfExpand(retptr, ptr0, len0, ptr1, len1, ptr2, len2, length);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v4 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v4;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * HKDF-join: Order-independent key folding for all-of policy (§6.2)\n *\n * Combines multiple keys into a single wrap key deterministically.\n * Order-independent by sorting KIDs before folding.\n *\n * # Arguments\n * * `keys` - Array of key materials (each with KID and key bytes)\n * * `context` - Context string (e.g., \"doc:uuid:epoch:3\")\n *\n * # Returns\n * 32-byte joint wrap key\n *\n * # Example\n * ```javascript\n * const keys = [\n *   { kid: \"alice\", key: aliceKeyBytes },\n *   { kid: \"bob\", key: bobKeyBytes },\n * ];\n * const wrapKey = hkdfJoin(keys, \"doc:abc:epoch:0\");\n * ```\n * @param {any} keys\n * @param {string} context\n * @returns {Uint8Array}\n */\nexports.hkdfJoin = function(keys, context) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passStringToWasm0(context, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.hkdfJoin(retptr, addHeapObject(keys), ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v2 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v2;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Simple HKDF for CEK derivation from seed\n *\n * # Arguments\n * * `seed` - Random seed material\n * * `context` - Context string\n *\n * # Returns\n * 32-byte CEK\n * @param {Uint8Array} seed\n * @param {string} context\n * @returns {Uint8Array}\n */\nexports.deriveCek = function(seed, context) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(seed, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        const ptr1 = passStringToWasm0(context, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n        const len1 = WASM_VECTOR_LEN;\n        wasm.deriveCek(retptr, ptr0, len0, ptr1, len1);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v3 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v3;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Derive key identifier (KID) from public key (§10.1)\n *\n * KID = base64url(SHA256(publicKey))\n *\n * # Arguments\n * * `public_key` - Public key bytes\n *\n * # Returns\n * Base64url-encoded KID\n * @param {Uint8Array} public_key\n * @returns {string}\n */\nexports.deriveKid = function(public_key) {\n    let deferred2_0;\n    let deferred2_1;\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(public_key, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.deriveKid(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        deferred2_0 = r0;\n        deferred2_1 = r1;\n        return getStringFromWasm0(r0, r1);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n        wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);\n    }\n};\n\n/**\n * Derive key identifier from symmetric key (§10.1)\n *\n * For symmetric keys, use HKDF to avoid reversibility:\n * KID = base64url(HKDF-Expand(key, \"kid:v1\", 16))\n *\n * # Arguments\n * * `key` - Symmetric key bytes\n *\n * # Returns\n * Base64url-encoded KID (truncated to 16 bytes for compactness)\n * @param {Uint8Array} key\n * @returns {string}\n */\nexports.deriveSymmetricKid = function(key) {\n    let deferred3_0;\n    let deferred3_1;\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(key, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.deriveSymmetricKid(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        var ptr2 = r0;\n        var len2 = r1;\n        if (r3) {\n            ptr2 = 0; len2 = 0;\n            throw takeObject(r2);\n        }\n        deferred3_0 = ptr2;\n        deferred3_1 = len2;\n        return getStringFromWasm0(ptr2, len2);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n        wasm.__wbindgen_export_3(deferred3_0, deferred3_1, 1);\n    }\n};\n\n/**\n * Split secret into Shamir shares (t-of-n threshold)\n *\n * # Arguments\n * * `secret` - Secret to split (typically a CEK, 32 bytes)\n * * `threshold` - Minimum shares needed to reconstruct (t)\n * * `total_shares` - Total number of shares to create (n)\n *\n * # Returns\n * Array of n shares, any t of which can reconstruct the secret\n *\n * # Example\n * ```javascript\n * const cek = new Uint8Array(32); // 32-byte CEK\n * crypto.getRandomValues(cek);\n *\n * // Create 5 shares, need any 3 to reconstruct\n * const shares = shamirSplit(cek, 3, 5);\n * ```\n * @param {Uint8Array} secret\n * @param {number} threshold\n * @param {number} total_shares\n * @returns {any}\n */\nexports.shamirSplit = function(secret, threshold, total_shares) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(secret, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.shamirSplit(retptr, ptr0, len0, threshold, total_shares);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        if (r2) {\n            throw takeObject(r1);\n        }\n        return takeObject(r0);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Reconstruct secret from Shamir shares\n *\n * # Arguments\n * * `shares` - Array of shares (must have at least threshold shares)\n *\n * # Returns\n * Reconstructed secret\n *\n * # Example\n * ```javascript\n * // Use any 3 of the 5 shares\n * const selectedShares = [shares[0], shares[2], shares[4]];\n * const reconstructed = shamirReconstruct(selectedShares);\n * ```\n * @param {any} shares\n * @returns {Uint8Array}\n */\nexports.shamirReconstruct = function(shares) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.shamirReconstruct(retptr, addHeapObject(shares));\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v1 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v1;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Helper: Split and KEM-wrap shares for threshold policy (§6.3)\n *\n * Combines Shamir splitting with KEM encapsulation.\n * Each share is encrypted to a participant's public key.\n *\n * # Arguments\n * * `secret` - CEK to split and wrap\n * * `threshold` - Minimum shares needed\n * * `recipient_public_keys` - Array of ML-KEM-768 public keys (1184 bytes each)\n *\n * # Returns\n * Array of wrapped shares (each contains KEM ciphertext + encrypted share)\n * @param {Uint8Array} secret\n * @param {number} threshold\n * @param {any} recipient_public_keys\n * @returns {any}\n */\nexports.shamirSplitAndWrap = function(secret, threshold, recipient_public_keys) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(secret, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.shamirSplitAndWrap(retptr, ptr0, len0, threshold, addHeapObject(recipient_public_keys));\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        if (r2) {\n            throw takeObject(r1);\n        }\n        return takeObject(r0);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Helper: Unwrap and reconstruct from KEM-wrapped shares\n *\n * # Arguments\n * * `wrapped_shares` - Array of wrapped shares\n * * `secret_keys` - Array of ML-KEM-768 secret keys (2400 bytes each)\n *\n * # Returns\n * Reconstructed secret (if threshold met)\n * @param {any} wrapped_shares\n * @param {any} secret_keys\n * @returns {Uint8Array}\n */\nexports.shamirUnwrapAndReconstruct = function(wrapped_shares, secret_keys) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.shamirUnwrapAndReconstruct(retptr, addHeapObject(wrapped_shares), addHeapObject(secret_keys));\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v1 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v1;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Generate random bytes using cryptographically secure RNG\n *\n * # Arguments\n * * `length` - Number of random bytes to generate\n *\n * # Returns\n * Cryptographically random bytes\n * @param {number} length\n * @returns {Uint8Array}\n */\nexports.randomBytes = function(length) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.randomBytes(retptr, length);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var v1 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v1;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Generate a random 32-byte CEK (Content Encryption Key)\n *\n * # Returns\n * 32-byte random CEK\n * @returns {Uint8Array}\n */\nexports.generateCek = function() {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.generateCek(retptr);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var v1 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v1;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Generate random nonce for AES-GCM (12 bytes)\n *\n * # Returns\n * 12-byte random nonce\n * @returns {Uint8Array}\n */\nexports.generateNonceAesGcm = function() {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.generateNonceAesGcm(retptr);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var v1 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v1;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Generate random nonce for XChaCha20-Poly1305 (24 bytes)\n *\n * # Returns\n * 24-byte random nonce\n * @returns {Uint8Array}\n */\nexports.generateNonceXchacha = function() {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.generateNonceXchacha(retptr);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var v1 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v1;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Compute key commitment: HMAC-SHA256(CEK, \"kcmp:v1\") (§5.1)\n *\n * Key commitment ensures the CEK is bound to the ciphertext and prevents\n * key substitution attacks.\n *\n * # Arguments\n * * `cek` - Content Encryption Key\n *\n * # Returns\n * 32-byte key commitment value\n * @param {Uint8Array} cek\n * @returns {Uint8Array}\n */\nexports.keyCommitment = function(cek) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(cek, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.keyCommitment(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var v2 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v2;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Verify key commitment\n *\n * # Arguments\n * * `cek` - Content Encryption Key\n * * `expected_kcmp` - Expected commitment value\n *\n * # Returns\n * true if commitment matches\n * @param {Uint8Array} cek\n * @param {Uint8Array} expected_kcmp\n * @returns {boolean}\n */\nexports.verifyKeyCommitment = function(cek, expected_kcmp) {\n    const ptr0 = passArray8ToWasm0(cek, wasm.__wbindgen_export_0);\n    const len0 = WASM_VECTOR_LEN;\n    const ptr1 = passArray8ToWasm0(expected_kcmp, wasm.__wbindgen_export_0);\n    const len1 = WASM_VECTOR_LEN;\n    const ret = wasm.verifyKeyCommitment(ptr0, len0, ptr1, len1);\n    return ret !== 0;\n};\n\n/**\n * Compute SHA-256 hash\n *\n * # Arguments\n * * `data` - Data to hash\n *\n * # Returns\n * 32-byte SHA-256 digest\n * @param {Uint8Array} data\n * @returns {Uint8Array}\n */\nexports.sha256 = function(data) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.sha256(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var v2 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v2;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Compute BLAKE2s-256 hash\n *\n * # Arguments\n * * `data` - Data to hash\n *\n * # Returns\n * 32-byte BLAKE2s-256 digest\n * @param {Uint8Array} data\n * @returns {Uint8Array}\n */\nexports.blake2s256 = function(data) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.blake2s256(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var v2 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v2;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Compute summary hash for WYSIWYS (What You See Is What You Sign)\n *\n * Summary = BLAKE2s-256(digest)[..16]\n *\n * # Arguments\n * * `digest` - Transaction or document digest\n *\n * # Returns\n * 16-byte summary hash (fingerprint)\n * @param {Uint8Array} digest\n * @returns {Uint8Array}\n */\nexports.computeSummary = function(digest) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(digest, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.computeSummary(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var v2 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v2;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Constant-time equality comparison\n *\n * # Arguments\n * * `a` - First byte array\n * * `b` - Second byte array\n *\n * # Returns\n * true if arrays are equal (constant-time)\n * @param {Uint8Array} a\n * @param {Uint8Array} b\n * @returns {boolean}\n */\nexports.constantTimeEq = function(a, b) {\n    const ptr0 = passArray8ToWasm0(a, wasm.__wbindgen_export_0);\n    const len0 = WASM_VECTOR_LEN;\n    const ptr1 = passArray8ToWasm0(b, wasm.__wbindgen_export_0);\n    const len1 = WASM_VECTOR_LEN;\n    const ret = wasm.constantTimeEq(ptr0, len0, ptr1, len1);\n    return ret !== 0;\n};\n\n/**\n * Encode bytes to base64url (no padding)\n *\n * # Arguments\n * * `data` - Bytes to encode\n *\n * # Returns\n * Base64url-encoded string\n * @param {Uint8Array} data\n * @returns {string}\n */\nexports.toBase64Url = function(data) {\n    let deferred2_0;\n    let deferred2_1;\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.toBase64Url(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        deferred2_0 = r0;\n        deferred2_1 = r1;\n        return getStringFromWasm0(r0, r1);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n        wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);\n    }\n};\n\n/**\n * Decode bytes from base64url\n *\n * # Arguments\n * * `encoded` - Base64url-encoded string\n *\n * # Returns\n * Decoded bytes\n * @param {string} encoded\n * @returns {Uint8Array}\n */\nexports.fromBase64Url = function(encoded) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passStringToWasm0(encoded, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.fromBase64Url(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v2 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v2;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Encode bytes to hex string\n *\n * # Arguments\n * * `data` - Bytes to encode\n *\n * # Returns\n * Hex-encoded string\n * @param {Uint8Array} data\n * @returns {string}\n */\nexports.toHex = function(data) {\n    let deferred2_0;\n    let deferred2_1;\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.toHex(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        deferred2_0 = r0;\n        deferred2_1 = r1;\n        return getStringFromWasm0(r0, r1);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n        wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);\n    }\n};\n\n/**\n * Decode bytes from hex string\n *\n * # Arguments\n * * `encoded` - Hex-encoded string\n *\n * # Returns\n * Decoded bytes\n * @param {string} encoded\n * @returns {Uint8Array}\n */\nexports.fromHex = function(encoded) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passStringToWasm0(encoded, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.fromHex(retptr, ptr0, len0);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v2 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v2;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Generate UUID v4\n *\n * # Returns\n * UUID v4 string\n * @returns {string}\n */\nexports.generateUuid = function() {\n    let deferred1_0;\n    let deferred1_1;\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.generateUuid(retptr);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        deferred1_0 = r0;\n        deferred1_1 = r1;\n        return getStringFromWasm0(r0, r1);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n        wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);\n    }\n};\n\n/**\n * Zeroize (securely erase) a byte array\n *\n * # Arguments\n * * `data` - Mutable byte array to zeroize\n * @param {Uint8Array} data\n */\nexports.zeroize = function(data) {\n    var ptr0 = passArray8ToWasm0(data, wasm.__wbindgen_export_0);\n    var len0 = WASM_VECTOR_LEN;\n    wasm.zeroize(ptr0, len0, addHeapObject(data));\n};\n\n/**\n * Create canonical AAD (Associated Authenticated Data) for envelope encryption (§5.3)\n *\n * AAD includes: {v, suite, aead, docId, vaultId?, epoch, policy.mode}\n *\n * # Arguments\n * * `header_fields` - JSON object with header fields\n *\n * # Returns\n * Canonical JSON bytes for AAD\n * @param {any} header_fields\n * @returns {Uint8Array}\n */\nexports.canonicalAad = function(header_fields) {\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.canonicalAad(retptr, addHeapObject(header_fields));\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n        var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n        if (r3) {\n            throw takeObject(r2);\n        }\n        var v1 = getArrayU8FromWasm0(r0, r1).slice();\n        wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n        return v1;\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n    }\n};\n\n/**\n * Build context string for key derivation (§10.2)\n *\n * Format: \"doc:{docId}:epoch:{epoch}\"\n *\n * # Arguments\n * * `doc_id` - Document ID\n * * `epoch` - Epoch number\n *\n * # Returns\n * Context string\n * @param {string} doc_id\n * @param {number} epoch\n * @returns {string}\n */\nexports.buildContext = function(doc_id, epoch) {\n    let deferred2_0;\n    let deferred2_1;\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        const ptr0 = passStringToWasm0(doc_id, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n        const len0 = WASM_VECTOR_LEN;\n        wasm.buildContext(retptr, ptr0, len0, epoch);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        deferred2_0 = r0;\n        deferred2_1 = r1;\n        return getStringFromWasm0(r0, r1);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n        wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);\n    }\n};\n\n/**\n * Initialize panic hook for better error messages in WASM\n */\nexports.init = function() {\n    wasm.init();\n};\n\n/**\n * Get version info\n * @returns {string}\n */\nexports.version = function() {\n    let deferred1_0;\n    let deferred1_1;\n    try {\n        const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n        wasm.version(retptr);\n        var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n        var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n        deferred1_0 = r0;\n        deferred1_1 = r1;\n        return getStringFromWasm0(r0, r1);\n    } finally {\n        wasm.__wbindgen_add_to_stack_pointer(16);\n        wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);\n    }\n};\n\nconst AeadResultFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_aeadresult_free(ptr >>> 0, 1));\n/**\n * AEAD encryption result\n */\nclass AeadResult {\n\n    static __wrap(ptr) {\n        ptr = ptr >>> 0;\n        const obj = Object.create(AeadResult.prototype);\n        obj.__wbg_ptr = ptr;\n        AeadResultFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        AeadResultFinalization.unregister(this);\n        return ptr;\n    }\n\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_aeadresult_free(ptr, 0);\n    }\n    /**\n     * Get ciphertext as bytes\n     * @returns {Uint8Array}\n     */\n    get ciphertext() {\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.aeadresult_ciphertext(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            var v1 = getArrayU8FromWasm0(r0, r1).slice();\n            wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n            return v1;\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n        }\n    }\n    /**\n     * Get ciphertext as base64url\n     * @returns {string}\n     */\n    toBase64Url() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.aeadresult_toBase64Url(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            deferred1_0 = r0;\n            deferred1_1 = r1;\n            return getStringFromWasm0(r0, r1);\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n            wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) AeadResult.prototype[Symbol.dispose] = AeadResult.prototype.free;\n\nexports.AeadResult = AeadResult;\n\nconst KemEncapResultFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_kemencapresult_free(ptr >>> 0, 1));\n/**\n * KEM encapsulation result (shared secret + ciphertext)\n */\nclass KemEncapResult {\n\n    static __wrap(ptr) {\n        ptr = ptr >>> 0;\n        const obj = Object.create(KemEncapResult.prototype);\n        obj.__wbg_ptr = ptr;\n        KemEncapResultFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        KemEncapResultFinalization.unregister(this);\n        return ptr;\n    }\n\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_kemencapresult_free(ptr, 0);\n    }\n    /**\n     * Get shared secret (32 bytes)\n     * @returns {Uint8Array}\n     */\n    get sharedSecret() {\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.kemencapresult_sharedSecret(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            var v1 = getArrayU8FromWasm0(r0, r1).slice();\n            wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n            return v1;\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n        }\n    }\n    /**\n     * Get ciphertext (to send to recipient)\n     * @returns {Uint8Array}\n     */\n    get ciphertext() {\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.kemencapresult_ciphertext(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            var v1 = getArrayU8FromWasm0(r0, r1).slice();\n            wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n            return v1;\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n        }\n    }\n    /**\n     * Get ciphertext as base64url\n     * @returns {string}\n     */\n    ciphertextBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.kemencapresult_ciphertextBase64(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            deferred1_0 = r0;\n            deferred1_1 = r1;\n            return getStringFromWasm0(r0, r1);\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n            wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) KemEncapResult.prototype[Symbol.dispose] = KemEncapResult.prototype.free;\n\nexports.KemEncapResult = KemEncapResult;\n\nconst KemKeypairFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_kemkeypair_free(ptr >>> 0, 1));\n/**\n * ML-KEM-768 keypair\n */\nclass KemKeypair {\n\n    static __wrap(ptr) {\n        ptr = ptr >>> 0;\n        const obj = Object.create(KemKeypair.prototype);\n        obj.__wbg_ptr = ptr;\n        KemKeypairFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        KemKeypairFinalization.unregister(this);\n        return ptr;\n    }\n\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_kemkeypair_free(ptr, 0);\n    }\n    /**\n     * Get public key bytes\n     * @returns {Uint8Array}\n     */\n    get publicKey() {\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.kemkeypair_publicKey(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            var v1 = getArrayU8FromWasm0(r0, r1).slice();\n            wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n            return v1;\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n        }\n    }\n    /**\n     * Get secret key bytes\n     * @returns {Uint8Array}\n     */\n    get secretKey() {\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.kemkeypair_secretKey(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            var v1 = getArrayU8FromWasm0(r0, r1).slice();\n            wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n            return v1;\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n        }\n    }\n    /**\n     * Get public key as base64url\n     * @returns {string}\n     */\n    publicKeyBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.kemkeypair_publicKeyBase64(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            deferred1_0 = r0;\n            deferred1_1 = r1;\n            return getStringFromWasm0(r0, r1);\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n            wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Get secret key as base64url\n     * @returns {string}\n     */\n    secretKeyBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.kemkeypair_secretKeyBase64(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            deferred1_0 = r0;\n            deferred1_1 = r1;\n            return getStringFromWasm0(r0, r1);\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n            wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);\n        }\n    }\n}\nif (Symbol.dispose) KemKeypair.prototype[Symbol.dispose] = KemKeypair.prototype.free;\n\nexports.KemKeypair = KemKeypair;\n\nconst SecretShareFinalization = (typeof FinalizationRegistry === 'undefined')\n    ? { register: () => {}, unregister: () => {} }\n    : new FinalizationRegistry(ptr => wasm.__wbg_secretshare_free(ptr >>> 0, 1));\n/**\n * A Shamir secret share\n */\nclass SecretShare {\n\n    static __wrap(ptr) {\n        ptr = ptr >>> 0;\n        const obj = Object.create(SecretShare.prototype);\n        obj.__wbg_ptr = ptr;\n        SecretShareFinalization.register(obj, obj.__wbg_ptr, obj);\n        return obj;\n    }\n\n    __destroy_into_raw() {\n        const ptr = this.__wbg_ptr;\n        this.__wbg_ptr = 0;\n        SecretShareFinalization.unregister(this);\n        return ptr;\n    }\n\n    free() {\n        const ptr = this.__destroy_into_raw();\n        wasm.__wbg_secretshare_free(ptr, 0);\n    }\n    /**\n     * Get share identifier\n     * @returns {number}\n     */\n    get identifier() {\n        const ret = wasm.secretshare_identifier(this.__wbg_ptr);\n        return ret;\n    }\n    /**\n     * Get share value as bytes\n     * @returns {Uint8Array}\n     */\n    get value() {\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.secretshare_value(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            var v1 = getArrayU8FromWasm0(r0, r1).slice();\n            wasm.__wbindgen_export_3(r0, r1 * 1, 1);\n            return v1;\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n        }\n    }\n    /**\n     * Serialize share to JSON\n     * @returns {string}\n     */\n    toJson() {\n        let deferred2_0;\n        let deferred2_1;\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.secretshare_toJson(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n            var r3 = getDataViewMemory0().getInt32(retptr + 4 * 3, true);\n            var ptr1 = r0;\n            var len1 = r1;\n            if (r3) {\n                ptr1 = 0; len1 = 0;\n                throw takeObject(r2);\n            }\n            deferred2_0 = ptr1;\n            deferred2_1 = len1;\n            return getStringFromWasm0(ptr1, len1);\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n            wasm.__wbindgen_export_3(deferred2_0, deferred2_1, 1);\n        }\n    }\n    /**\n     * Deserialize share from JSON\n     * @param {string} json\n     * @returns {SecretShare}\n     */\n    static fromJson(json) {\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            const ptr0 = passStringToWasm0(json, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n            const len0 = WASM_VECTOR_LEN;\n            wasm.secretshare_fromJson(retptr, ptr0, len0);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n            if (r2) {\n                throw takeObject(r1);\n            }\n            return SecretShare.__wrap(r0);\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n        }\n    }\n    /**\n     * Get share as base64url\n     * @returns {string}\n     */\n    toBase64() {\n        let deferred1_0;\n        let deferred1_1;\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            wasm.secretshare_toBase64(retptr, this.__wbg_ptr);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            deferred1_0 = r0;\n            deferred1_1 = r1;\n            return getStringFromWasm0(r0, r1);\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n            wasm.__wbindgen_export_3(deferred1_0, deferred1_1, 1);\n        }\n    }\n    /**\n     * Deserialize share from base64url\n     * @param {string} b64\n     * @returns {SecretShare}\n     */\n    static fromBase64(b64) {\n        try {\n            const retptr = wasm.__wbindgen_add_to_stack_pointer(-16);\n            const ptr0 = passStringToWasm0(b64, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n            const len0 = WASM_VECTOR_LEN;\n            wasm.secretshare_fromBase64(retptr, ptr0, len0);\n            var r0 = getDataViewMemory0().getInt32(retptr + 4 * 0, true);\n            var r1 = getDataViewMemory0().getInt32(retptr + 4 * 1, true);\n            var r2 = getDataViewMemory0().getInt32(retptr + 4 * 2, true);\n            if (r2) {\n                throw takeObject(r1);\n            }\n            return SecretShare.__wrap(r0);\n        } finally {\n            wasm.__wbindgen_add_to_stack_pointer(16);\n        }\n    }\n}\nif (Symbol.dispose) SecretShare.prototype[Symbol.dispose] = SecretShare.prototype.free;\n\nexports.SecretShare = SecretShare;\n\nexports.__wbg_Error_e17e777aac105295 = function(arg0, arg1) {\n    const ret = Error(getStringFromWasm0(arg0, arg1));\n    return addHeapObject(ret);\n};\n\nexports.__wbg_Number_998bea33bd87c3e0 = function(arg0) {\n    const ret = Number(getObject(arg0));\n    return ret;\n};\n\nexports.__wbg_String_8f0eb39a4a4c2f66 = function(arg0, arg1) {\n    const ret = String(getObject(arg1));\n    const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n    const len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n};\n\nexports.__wbg_call_13410aac570ffff7 = function() { return handleError(function (arg0, arg1) {\n    const ret = getObject(arg0).call(getObject(arg1));\n    return addHeapObject(ret);\n}, arguments) };\n\nexports.__wbg_call_a5400b25a865cfd8 = function() { return handleError(function (arg0, arg1, arg2) {\n    const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));\n    return addHeapObject(ret);\n}, arguments) };\n\nexports.__wbg_crypto_574e78ad8b13b65f = function(arg0) {\n    const ret = getObject(arg0).crypto;\n    return addHeapObject(ret);\n};\n\nexports.__wbg_done_75ed0ee6dd243d9d = function(arg0) {\n    const ret = getObject(arg0).done;\n    return ret;\n};\n\nexports.__wbg_error_7534b8e9a36f1ab4 = function(arg0, arg1) {\n    let deferred0_0;\n    let deferred0_1;\n    try {\n        deferred0_0 = arg0;\n        deferred0_1 = arg1;\n        console.error(getStringFromWasm0(arg0, arg1));\n    } finally {\n        wasm.__wbindgen_export_3(deferred0_0, deferred0_1, 1);\n    }\n};\n\nexports.__wbg_getRandomValues_b8f5dbd5f3995a9e = function() { return handleError(function (arg0, arg1) {\n    getObject(arg0).getRandomValues(getObject(arg1));\n}, arguments) };\n\nexports.__wbg_get_0da715ceaecea5c8 = function(arg0, arg1) {\n    const ret = getObject(arg0)[arg1 >>> 0];\n    return addHeapObject(ret);\n};\n\nexports.__wbg_get_458e874b43b18b25 = function() { return handleError(function (arg0, arg1) {\n    const ret = Reflect.get(getObject(arg0), getObject(arg1));\n    return addHeapObject(ret);\n}, arguments) };\n\nexports.__wbg_getwithrefkey_1dc361bd10053bfe = function(arg0, arg1) {\n    const ret = getObject(arg0)[getObject(arg1)];\n    return addHeapObject(ret);\n};\n\nexports.__wbg_instanceof_ArrayBuffer_67f3012529f6a2dd = function(arg0) {\n    let result;\n    try {\n        result = getObject(arg0) instanceof ArrayBuffer;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n};\n\nexports.__wbg_instanceof_Uint8Array_9a8378d955933db7 = function(arg0) {\n    let result;\n    try {\n        result = getObject(arg0) instanceof Uint8Array;\n    } catch (_) {\n        result = false;\n    }\n    const ret = result;\n    return ret;\n};\n\nexports.__wbg_isArray_030cce220591fb41 = function(arg0) {\n    const ret = Array.isArray(getObject(arg0));\n    return ret;\n};\n\nexports.__wbg_isSafeInteger_1c0d1af5542e102a = function(arg0) {\n    const ret = Number.isSafeInteger(getObject(arg0));\n    return ret;\n};\n\nexports.__wbg_iterator_f370b34483c71a1c = function() {\n    const ret = Symbol.iterator;\n    return addHeapObject(ret);\n};\n\nexports.__wbg_length_186546c51cd61acd = function(arg0) {\n    const ret = getObject(arg0).length;\n    return ret;\n};\n\nexports.__wbg_length_6bb7e81f9d7713e4 = function(arg0) {\n    const ret = getObject(arg0).length;\n    return ret;\n};\n\nexports.__wbg_msCrypto_a61aeb35a24c1329 = function(arg0) {\n    const ret = getObject(arg0).msCrypto;\n    return addHeapObject(ret);\n};\n\nexports.__wbg_new_19c25a3f2fa63a02 = function() {\n    const ret = new Object();\n    return addHeapObject(ret);\n};\n\nexports.__wbg_new_1f3a344cf3123716 = function() {\n    const ret = new Array();\n    return addHeapObject(ret);\n};\n\nexports.__wbg_new_638ebfaedbf32a5e = function(arg0) {\n    const ret = new Uint8Array(getObject(arg0));\n    return addHeapObject(ret);\n};\n\nexports.__wbg_new_8a6f238a6ece86ea = function() {\n    const ret = new Error();\n    return addHeapObject(ret);\n};\n\nexports.__wbg_newnoargs_254190557c45b4ec = function(arg0, arg1) {\n    const ret = new Function(getStringFromWasm0(arg0, arg1));\n    return addHeapObject(ret);\n};\n\nexports.__wbg_newwithlength_a167dcc7aaa3ba77 = function(arg0) {\n    const ret = new Uint8Array(arg0 >>> 0);\n    return addHeapObject(ret);\n};\n\nexports.__wbg_next_5b3530e612fde77d = function(arg0) {\n    const ret = getObject(arg0).next;\n    return addHeapObject(ret);\n};\n\nexports.__wbg_next_692e82279131b03c = function() { return handleError(function (arg0) {\n    const ret = getObject(arg0).next();\n    return addHeapObject(ret);\n}, arguments) };\n\nexports.__wbg_node_905d3e251edff8a2 = function(arg0) {\n    const ret = getObject(arg0).node;\n    return addHeapObject(ret);\n};\n\nexports.__wbg_process_dc0fbacc7c1c06f7 = function(arg0) {\n    const ret = getObject(arg0).process;\n    return addHeapObject(ret);\n};\n\nexports.__wbg_prototypesetcall_3d4a26c1ed734349 = function(arg0, arg1, arg2) {\n    Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), getObject(arg2));\n};\n\nexports.__wbg_randomFillSync_ac0988aba3254290 = function() { return handleError(function (arg0, arg1) {\n    getObject(arg0).randomFillSync(takeObject(arg1));\n}, arguments) };\n\nexports.__wbg_require_60cc747a6bc5215a = function() { return handleError(function () {\n    const ret = module.require;\n    return addHeapObject(ret);\n}, arguments) };\n\nexports.__wbg_set_3f1d0b984ed272ed = function(arg0, arg1, arg2) {\n    getObject(arg0)[takeObject(arg1)] = takeObject(arg2);\n};\n\nexports.__wbg_set_90f6c0f7bd8c0415 = function(arg0, arg1, arg2) {\n    getObject(arg0)[arg1 >>> 0] = takeObject(arg2);\n};\n\nexports.__wbg_stack_0ed75d68575b0f3c = function(arg0, arg1) {\n    const ret = getObject(arg1).stack;\n    const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n    const len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n};\n\nexports.__wbg_static_accessor_GLOBAL_8921f820c2ce3f12 = function() {\n    const ret = typeof global === 'undefined' ? null : global;\n    return isLikeNone(ret) ? 0 : addHeapObject(ret);\n};\n\nexports.__wbg_static_accessor_GLOBAL_THIS_f0a4409105898184 = function() {\n    const ret = typeof globalThis === 'undefined' ? null : globalThis;\n    return isLikeNone(ret) ? 0 : addHeapObject(ret);\n};\n\nexports.__wbg_static_accessor_SELF_995b214ae681ff99 = function() {\n    const ret = typeof self === 'undefined' ? null : self;\n    return isLikeNone(ret) ? 0 : addHeapObject(ret);\n};\n\nexports.__wbg_static_accessor_WINDOW_cde3890479c675ea = function() {\n    const ret = typeof window === 'undefined' ? null : window;\n    return isLikeNone(ret) ? 0 : addHeapObject(ret);\n};\n\nexports.__wbg_subarray_70fd07feefe14294 = function(arg0, arg1, arg2) {\n    const ret = getObject(arg0).subarray(arg1 >>> 0, arg2 >>> 0);\n    return addHeapObject(ret);\n};\n\nexports.__wbg_value_dd9372230531eade = function(arg0) {\n    const ret = getObject(arg0).value;\n    return addHeapObject(ret);\n};\n\nexports.__wbg_versions_c01dfd4722a88165 = function(arg0) {\n    const ret = getObject(arg0).versions;\n    return addHeapObject(ret);\n};\n\nexports.__wbg_wbindgenbooleanget_3fe6f642c7d97746 = function(arg0) {\n    const v = getObject(arg0);\n    const ret = typeof(v) === 'boolean' ? v : undefined;\n    return isLikeNone(ret) ? 0xFFFFFF : ret ? 1 : 0;\n};\n\nexports.__wbg_wbindgencopytotypedarray_d105febdb9374ca3 = function(arg0, arg1, arg2) {\n    new Uint8Array(getObject(arg2).buffer, getObject(arg2).byteOffset, getObject(arg2).byteLength).set(getArrayU8FromWasm0(arg0, arg1));\n};\n\nexports.__wbg_wbindgendebugstring_99ef257a3ddda34d = function(arg0, arg1) {\n    const ret = debugString(getObject(arg1));\n    const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n    const len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n};\n\nexports.__wbg_wbindgenin_d7a1ee10933d2d55 = function(arg0, arg1) {\n    const ret = getObject(arg0) in getObject(arg1);\n    return ret;\n};\n\nexports.__wbg_wbindgenisfunction_8cee7dce3725ae74 = function(arg0) {\n    const ret = typeof(getObject(arg0)) === 'function';\n    return ret;\n};\n\nexports.__wbg_wbindgenisobject_307a53c6bd97fbf8 = function(arg0) {\n    const val = getObject(arg0);\n    const ret = typeof(val) === 'object' && val !== null;\n    return ret;\n};\n\nexports.__wbg_wbindgenisstring_d4fa939789f003b0 = function(arg0) {\n    const ret = typeof(getObject(arg0)) === 'string';\n    return ret;\n};\n\nexports.__wbg_wbindgenisundefined_c4b71d073b92f3c5 = function(arg0) {\n    const ret = getObject(arg0) === undefined;\n    return ret;\n};\n\nexports.__wbg_wbindgenjsvallooseeq_9bec8c9be826bed1 = function(arg0, arg1) {\n    const ret = getObject(arg0) == getObject(arg1);\n    return ret;\n};\n\nexports.__wbg_wbindgennumberget_f74b4c7525ac05cb = function(arg0, arg1) {\n    const obj = getObject(arg1);\n    const ret = typeof(obj) === 'number' ? obj : undefined;\n    getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);\n};\n\nexports.__wbg_wbindgenstringget_0f16a6ddddef376f = function(arg0, arg1) {\n    const obj = getObject(arg1);\n    const ret = typeof(obj) === 'string' ? obj : undefined;\n    var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_export_0, wasm.__wbindgen_export_1);\n    var len1 = WASM_VECTOR_LEN;\n    getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);\n    getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);\n};\n\nexports.__wbg_wbindgenthrow_451ec1a8469d7eb6 = function(arg0, arg1) {\n    throw new Error(getStringFromWasm0(arg0, arg1));\n};\n\nexports.__wbindgen_cast_2241b6af4c4b2941 = function(arg0, arg1) {\n    // Cast intrinsic for `Ref(String) -> Externref`.\n    const ret = getStringFromWasm0(arg0, arg1);\n    return addHeapObject(ret);\n};\n\nexports.__wbindgen_cast_cb9088102bce6b30 = function(arg0, arg1) {\n    // Cast intrinsic for `Ref(Slice(U8)) -> NamedExternref(\"Uint8Array\")`.\n    const ret = getArrayU8FromWasm0(arg0, arg1);\n    return addHeapObject(ret);\n};\n\nexports.__wbindgen_cast_d6cd19b81560fd6e = function(arg0) {\n    // Cast intrinsic for `F64 -> Externref`.\n    const ret = arg0;\n    return addHeapObject(ret);\n};\n\nexports.__wbindgen_object_clone_ref = function(arg0) {\n    const ret = getObject(arg0);\n    return addHeapObject(ret);\n};\n\nexports.__wbindgen_object_drop_ref = function(arg0) {\n    takeObject(arg0);\n};\n\nconst wasmPath = `${__dirname}/vault_crypto_bg.wasm`;\nconst wasmBytes = require('fs').readFileSync(wasmPath);\nconst wasmModule = new WebAssembly.Module(wasmBytes);\nconst wasm = exports.__wasm = new WebAssembly.Instance(wasmModule, imports).exports;\n\nwasm.__wbindgen_start();\n\n"],"mappings":";;;;CACA,IAAI,UAAU,EAAE;AAChB,SAAQ,8BAA8B,OAAO;CAE7C,IAAI,0BAA0B;CAE9B,SAAS,uBAAuB;AAC5B,MAAI,4BAA4B,QAAQ,wBAAwB,eAAe,EAC3E,2BAA0B,IAAI,WAAW,KAAK,OAAO,OAAO;AAEhE,SAAO;;CAGX,IAAI,oBAAoB,IAAI,YAAY,SAAS;EAAE,WAAW;EAAM,OAAO;EAAM,CAAC;AAElF,mBAAkB,QAAQ;CAE1B,SAAS,WAAW,KAAK,KAAK;AAC1B,SAAO,kBAAkB,OAAO,sBAAsB,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC;;CAGpF,SAAS,mBAAmB,KAAK,KAAK;AAClC,QAAM,QAAQ;AACd,SAAO,WAAW,KAAK,IAAI;;CAG/B,IAAI,OAAO,IAAI,MAAM,IAAI,CAAC,KAAK,OAAU;AAEzC,MAAK,KAAK,QAAW,MAAM,MAAM,MAAM;CAEvC,IAAI,YAAY,KAAK;CAErB,SAAS,cAAc,KAAK;AACxB,MAAI,cAAc,KAAK,OAAQ,MAAK,KAAK,KAAK,SAAS,EAAE;EACzD,MAAM,MAAM;AACZ,cAAY,KAAK;AAEjB,OAAK,OAAO;AACZ,SAAO;;CAGX,SAAS,UAAU,KAAK;AAAE,SAAO,KAAK;;CAEtC,IAAI,kBAAkB;CAEtB,MAAM,oBAAoB,IAAI,aAAa;AAE3C,KAAI,EAAE,gBAAgB,mBAClB,mBAAkB,aAAa,SAAU,KAAK,MAAM;EAChD,MAAM,MAAM,kBAAkB,OAAO,IAAI;AACzC,OAAK,IAAI,IAAI;AACb,SAAO;GACH,MAAM,IAAI;GACV,SAAS,IAAI;GAChB;;CAIT,SAAS,kBAAkB,KAAK,QAAQ,SAAS;AAE7C,MAAI,YAAY,QAAW;GACvB,MAAM,MAAM,kBAAkB,OAAO,IAAI;GACzC,MAAMA,QAAM,OAAO,IAAI,QAAQ,EAAE,KAAK;AACtC,yBAAsB,CAAC,SAASA,OAAKA,QAAM,IAAI,OAAO,CAAC,IAAI,IAAI;AAC/D,qBAAkB,IAAI;AACtB,UAAOA;;EAGX,IAAI,MAAM,IAAI;EACd,IAAI,MAAM,OAAO,KAAK,EAAE,KAAK;EAE7B,MAAM,MAAM,sBAAsB;EAElC,IAAI,SAAS;AAEb,SAAO,SAAS,KAAK,UAAU;GAC3B,MAAM,OAAO,IAAI,WAAW,OAAO;AACnC,OAAI,OAAO,IAAM;AACjB,OAAI,MAAM,UAAU;;AAGxB,MAAI,WAAW,KAAK;AAChB,OAAI,WAAW,EACX,OAAM,IAAI,MAAM,OAAO;AAE3B,SAAM,QAAQ,KAAK,KAAK,MAAM,SAAS,IAAI,SAAS,GAAG,EAAE,KAAK;GAC9D,MAAM,OAAO,sBAAsB,CAAC,SAAS,MAAM,QAAQ,MAAM,IAAI;GACrE,MAAM,MAAM,kBAAkB,WAAW,KAAK,KAAK;AAEnD,aAAU,IAAI;AACd,SAAM,QAAQ,KAAK,KAAK,QAAQ,EAAE,KAAK;;AAG3C,oBAAkB;AAClB,SAAO;;CAGX,IAAI,wBAAwB;CAE5B,SAAS,qBAAqB;AAC1B,MAAI,0BAA0B,QAAQ,sBAAsB,OAAO,aAAa,QAAS,sBAAsB,OAAO,aAAa,UAAa,sBAAsB,WAAW,KAAK,OAAO,OACzL,yBAAwB,IAAI,SAAS,KAAK,OAAO,OAAO;AAE5D,SAAO;;CAGX,SAAS,YAAY,GAAG,MAAM;AAC1B,MAAI;AACA,UAAO,EAAE,MAAM,MAAM,KAAK;WACrB,GAAG;AACR,QAAK,oBAAoB,cAAc,EAAE,CAAC;;;CAIlD,SAAS,oBAAoB,KAAK,KAAK;AACnC,QAAM,QAAQ;AACd,SAAO,sBAAsB,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,IAAI;;CAGlE,SAAS,WAAW,KAAK;AACrB,MAAI,MAAM,IAAK;AACf,OAAK,OAAO;AACZ,cAAY;;CAGhB,SAAS,WAAW,KAAK;EACrB,MAAM,MAAM,UAAU,IAAI;AAC1B,aAAW,IAAI;AACf,SAAO;;CAGX,SAAS,WAAW,GAAG;AACnB,SAAO,MAAM,UAAa,MAAM;;CAGpC,SAAS,YAAY,KAAK;EAEtB,MAAM,OAAO,OAAO;AACpB,MAAI,QAAQ,YAAY,QAAQ,aAAa,OAAO,KAChD,QAAQ,GAAG;AAEf,MAAI,QAAQ,SACR,QAAO,IAAI,IAAI;AAEnB,MAAI,QAAQ,UAAU;GAClB,MAAM,cAAc,IAAI;AACxB,OAAI,eAAe,KACf,QAAO;OAEP,QAAO,UAAU,YAAY;;AAGrC,MAAI,QAAQ,YAAY;GACpB,MAAM,OAAO,IAAI;AACjB,OAAI,OAAO,QAAQ,YAAY,KAAK,SAAS,EACzC,QAAO,YAAY,KAAK;OAExB,QAAO;;AAIf,MAAI,MAAM,QAAQ,IAAI,EAAE;GACpB,MAAM,SAAS,IAAI;GACnB,IAAI,QAAQ;AACZ,OAAI,SAAS,EACT,UAAS,YAAY,IAAI,GAAG;AAEhC,QAAI,IAAI,IAAI,GAAG,IAAI,QAAQ,IACvB,UAAS,OAAO,YAAY,IAAI,GAAG;AAEvC,YAAS;AACT,UAAO;;EAGX,MAAM,iBAAiB,sBAAsB,KAAK,SAAS,KAAK,IAAI,CAAC;EACrE,IAAI;AACJ,MAAI,kBAAkB,eAAe,SAAS,EAC1C,aAAY,eAAe;MAG3B,QAAO,SAAS,KAAK,IAAI;AAE7B,MAAI,aAAa,SAIb,KAAI;AACA,UAAO,YAAY,KAAK,UAAU,IAAI,GAAG;WACpC,GAAG;AACR,UAAO;;AAIf,MAAI,eAAe,MACf,QAAO,GAAG,IAAI,KAAK,IAAI,IAAI,QAAQ,IAAI,IAAI;AAG/C,SAAO;;CAGX,SAAS,kBAAkB,KAAK,QAAQ;EACpC,MAAM,MAAM,OAAO,IAAI,SAAS,GAAG,EAAE,KAAK;AAC1C,wBAAsB,CAAC,IAAI,KAAK,MAAM,EAAE;AACxC,oBAAkB,IAAI;AACtB,SAAO;;;;;;;;;;;;;;;;;;;AAmBX,SAAQ,gBAAgB,SAAS,KAAK,OAAO,WAAW,KAAK;AACzD,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,OAAO,KAAK,oBAAoB;GAC/D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,WAAW,KAAK,oBAAoB;GACnE,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;AACb,QAAK,cAAc,QAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK;GAC1E,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK,CAExD,OAAM,WAAW,GAAG;AAExB,UAAO,WAAW,OAAO,GAAG;YACtB;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;;AAqBhD,SAAQ,gBAAgB,SAAS,KAAK,OAAO,YAAY,KAAK;AAC1D,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,OAAO,KAAK,oBAAoB;GAC/D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,YAAY,KAAK,oBAAoB;GACpE,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;AACb,QAAK,cAAc,QAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK;GAC1E,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;;AAqBhD,SAAQ,iBAAiB,SAAS,KAAK,OAAO,WAAW,KAAK;AAC1D,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,OAAO,KAAK,oBAAoB;GAC/D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,WAAW,KAAK,oBAAoB;GACnE,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;AACb,QAAK,eAAe,QAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK;GAC3E,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK,CAExD,OAAM,WAAW,GAAG;AAExB,UAAO,WAAW,OAAO,GAAG;YACtB;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;;AAqBhD,SAAQ,iBAAiB,SAAS,KAAK,OAAO,YAAY,KAAK;AAC3D,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,OAAO,KAAK,oBAAoB;GAC/D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,YAAY,KAAK,oBAAoB;GACpE,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;AACb,QAAK,eAAe,QAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,KAAK;GAC3E,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;AAahD,SAAQ,qBAAqB,WAAW;AACpC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,QAAK,mBAAmB,OAAO;GAC/B,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK,CAExD,OAAM,WAAW,GAAG;AAExB,UAAO,WAAW,OAAO,GAAG;YACtB;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;AAgBhD,SAAQ,iBAAiB,SAAS,sBAAsB;AACpD,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,sBAAsB,KAAK,oBAAoB;GAC9E,MAAM,OAAO;AACb,QAAK,eAAe,QAAQ,MAAM,KAAK;GACvC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK,CAExD,OAAM,WAAW,GAAG;AAExB,UAAO,eAAe,OAAO,GAAG;YAC1B;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;AAiBhD,SAAQ,iBAAiB,SAAS,YAAY,YAAY;AACtD,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,YAAY,KAAK,oBAAoB;GACpE,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,YAAY,KAAK,oBAAoB;GACpE,MAAM,OAAO;AACb,QAAK,eAAe,QAAQ,MAAM,MAAM,MAAM,KAAK;GACnD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;;AAqBhD,SAAQ,aAAa,SAAS,KAAK,sBAAsB;AACrD,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,sBAAsB,KAAK,oBAAoB;GAC9E,MAAM,OAAO;AACb,QAAK,WAAW,QAAQ,MAAM,MAAM,MAAM,KAAK;GAC/C,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;AAmBhD,SAAQ,eAAe,SAAS,aAAa,YAAY;AACrD,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,aAAa,KAAK,oBAAoB;GACrE,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,YAAY,KAAK,oBAAoB;GACpE,MAAM,OAAO;AACb,QAAK,aAAa,QAAQ,MAAM,MAAM,MAAM,KAAK;GACjD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;;AAqBhD,SAAQ,aAAa,SAAS,KAAK,MAAM,MAAM,QAAQ;AACnD,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,MAAM,KAAK,oBAAoB;GAC9D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,MAAM,KAAK,qBAAqB,KAAK,oBAAoB;GACxF,MAAM,OAAO;AACb,QAAK,WAAW,QAAQ,MAAM,MAAM,MAAM,MAAM,MAAM,MAAM,OAAO;GACnE,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BhD,SAAQ,WAAW,SAAS,MAAM,SAAS;AACvC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,SAAS,KAAK,qBAAqB,KAAK,oBAAoB;GAC3F,MAAM,OAAO;AACb,QAAK,SAAS,QAAQ,cAAc,KAAK,EAAE,MAAM,KAAK;GACtD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;AAiBhD,SAAQ,YAAY,SAAS,MAAM,SAAS;AACxC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,MAAM,KAAK,oBAAoB;GAC9D,MAAM,OAAO;GACb,MAAM,OAAO,kBAAkB,SAAS,KAAK,qBAAqB,KAAK,oBAAoB;GAC3F,MAAM,OAAO;AACb,QAAK,UAAU,QAAQ,MAAM,MAAM,MAAM,KAAK;GAC9C,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;AAiBhD,SAAQ,YAAY,SAAS,YAAY;EACrC,IAAI;EACJ,IAAI;AACJ,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,YAAY,KAAK,oBAAoB;GACpE,MAAM,OAAO;AACb,QAAK,UAAU,QAAQ,MAAM,KAAK;GAClC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,iBAAc;AACd,iBAAc;AACd,UAAO,mBAAmB,IAAI,GAAG;YAC3B;AACN,QAAK,gCAAgC,GAAG;AACxC,QAAK,oBAAoB,aAAa,aAAa,EAAE;;;;;;;;;;;;;;;;;AAkB7D,SAAQ,qBAAqB,SAAS,KAAK;EACvC,IAAI;EACJ,IAAI;AACJ,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;AACb,QAAK,mBAAmB,QAAQ,MAAM,KAAK;GAC3C,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK;GAC5D,IAAI,OAAO;GACX,IAAI,OAAO;AACX,OAAI,IAAI;AACJ,WAAO;AAAG,WAAO;AACjB,UAAM,WAAW,GAAG;;AAExB,iBAAc;AACd,iBAAc;AACd,UAAO,mBAAmB,MAAM,KAAK;YAC/B;AACN,QAAK,gCAAgC,GAAG;AACxC,QAAK,oBAAoB,aAAa,aAAa,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4B7D,SAAQ,cAAc,SAAS,QAAQ,WAAW,cAAc;AAC5D,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,QAAQ,KAAK,oBAAoB;GAChE,MAAM,OAAO;AACb,QAAK,YAAY,QAAQ,MAAM,MAAM,WAAW,aAAa;GAC7D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK,CAExD,OAAM,WAAW,GAAG;AAExB,UAAO,WAAW,GAAG;YACf;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;;;AAsBhD,SAAQ,oBAAoB,SAAS,QAAQ;AACzC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,QAAK,kBAAkB,QAAQ,cAAc,OAAO,CAAC;GACrD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;;;;AAsBhD,SAAQ,qBAAqB,SAAS,QAAQ,WAAW,uBAAuB;AAC5E,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,QAAQ,KAAK,oBAAoB;GAChE,MAAM,OAAO;AACb,QAAK,mBAAmB,QAAQ,MAAM,MAAM,WAAW,cAAc,sBAAsB,CAAC;GAC5F,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK,CAExD,OAAM,WAAW,GAAG;AAExB,UAAO,WAAW,GAAG;YACf;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;AAiBhD,SAAQ,6BAA6B,SAAS,gBAAgB,aAAa;AACvE,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,QAAK,2BAA2B,QAAQ,cAAc,eAAe,EAAE,cAAc,YAAY,CAAC;GAClG,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;AAehD,SAAQ,cAAc,SAAS,QAAQ;AACnC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,QAAK,YAAY,QAAQ,OAAO;GAChC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;AAWhD,SAAQ,cAAc,WAAW;AAC7B,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,QAAK,YAAY,OAAO;GACxB,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;AAWhD,SAAQ,sBAAsB,WAAW;AACrC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,QAAK,oBAAoB,OAAO;GAChC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;AAWhD,SAAQ,uBAAuB,WAAW;AACtC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,QAAK,qBAAqB,OAAO;GACjC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;AAkBhD,SAAQ,gBAAgB,SAAS,KAAK;AAClC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;GAC7D,MAAM,OAAO;AACb,QAAK,cAAc,QAAQ,MAAM,KAAK;GACtC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;AAiBhD,SAAQ,sBAAsB,SAAS,KAAK,eAAe;EACvD,MAAM,OAAO,kBAAkB,KAAK,KAAK,oBAAoB;EAC7D,MAAM,OAAO;EACb,MAAM,OAAO,kBAAkB,eAAe,KAAK,oBAAoB;EACvE,MAAM,OAAO;AAEb,SADY,KAAK,oBAAoB,MAAM,MAAM,MAAM,KAAK,KAC7C;;;;;;;;;;;;;AAcnB,SAAQ,SAAS,SAAS,MAAM;AAC5B,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,MAAM,KAAK,oBAAoB;GAC9D,MAAM,OAAO;AACb,QAAK,OAAO,QAAQ,MAAM,KAAK;GAC/B,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;AAehD,SAAQ,aAAa,SAAS,MAAM;AAChC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,MAAM,KAAK,oBAAoB;GAC9D,MAAM,OAAO;AACb,QAAK,WAAW,QAAQ,MAAM,KAAK;GACnC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;AAiBhD,SAAQ,iBAAiB,SAAS,QAAQ;AACtC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,QAAQ,KAAK,oBAAoB;GAChE,MAAM,OAAO;AACb,QAAK,eAAe,QAAQ,MAAM,KAAK;GACvC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;AAiBhD,SAAQ,iBAAiB,SAAS,GAAG,GAAG;EACpC,MAAM,OAAO,kBAAkB,GAAG,KAAK,oBAAoB;EAC3D,MAAM,OAAO;EACb,MAAM,OAAO,kBAAkB,GAAG,KAAK,oBAAoB;EAC3D,MAAM,OAAO;AAEb,SADY,KAAK,eAAe,MAAM,MAAM,MAAM,KAAK,KACxC;;;;;;;;;;;;;AAcnB,SAAQ,cAAc,SAAS,MAAM;EACjC,IAAI;EACJ,IAAI;AACJ,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,MAAM,KAAK,oBAAoB;GAC9D,MAAM,OAAO;AACb,QAAK,YAAY,QAAQ,MAAM,KAAK;GACpC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,iBAAc;AACd,iBAAc;AACd,UAAO,mBAAmB,IAAI,GAAG;YAC3B;AACN,QAAK,gCAAgC,GAAG;AACxC,QAAK,oBAAoB,aAAa,aAAa,EAAE;;;;;;;;;;;;;;AAe7D,SAAQ,gBAAgB,SAAS,SAAS;AACtC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,SAAS,KAAK,qBAAqB,KAAK,oBAAoB;GAC3F,MAAM,OAAO;AACb,QAAK,cAAc,QAAQ,MAAM,KAAK;GACtC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;AAehD,SAAQ,QAAQ,SAAS,MAAM;EAC3B,IAAI;EACJ,IAAI;AACJ,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,MAAM,KAAK,oBAAoB;GAC9D,MAAM,OAAO;AACb,QAAK,MAAM,QAAQ,MAAM,KAAK;GAC9B,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,iBAAc;AACd,iBAAc;AACd,UAAO,mBAAmB,IAAI,GAAG;YAC3B;AACN,QAAK,gCAAgC,GAAG;AACxC,QAAK,oBAAoB,aAAa,aAAa,EAAE;;;;;;;;;;;;;;AAe7D,SAAQ,UAAU,SAAS,SAAS;AAChC,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,SAAS,KAAK,qBAAqB,KAAK,oBAAoB;GAC3F,MAAM,OAAO;AACb,QAAK,QAAQ,QAAQ,MAAM,KAAK;GAChC,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;AAWhD,SAAQ,eAAe,WAAW;EAC9B,IAAI;EACJ,IAAI;AACJ,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,QAAK,aAAa,OAAO;GACzB,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,iBAAc;AACd,iBAAc;AACd,UAAO,mBAAmB,IAAI,GAAG;YAC3B;AACN,QAAK,gCAAgC,GAAG;AACxC,QAAK,oBAAoB,aAAa,aAAa,EAAE;;;;;;;;;;AAW7D,SAAQ,UAAU,SAAS,MAAM;EAC7B,IAAI,OAAO,kBAAkB,MAAM,KAAK,oBAAoB;EAC5D,IAAI,OAAO;AACX,OAAK,QAAQ,MAAM,MAAM,cAAc,KAAK,CAAC;;;;;;;;;;;;;;;AAgBjD,SAAQ,eAAe,SAAS,eAAe;AAC3C,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,QAAK,aAAa,QAAQ,cAAc,cAAc,CAAC;GACvD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,OADS,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK,CAExD,OAAM,WAAW,GAAG;GAExB,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,QAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,UAAO;YACD;AACN,QAAK,gCAAgC,GAAG;;;;;;;;;;;;;;;;;;AAmBhD,SAAQ,eAAe,SAAS,QAAQ,OAAO;EAC3C,IAAI;EACJ,IAAI;AACJ,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;GACxD,MAAM,OAAO,kBAAkB,QAAQ,KAAK,qBAAqB,KAAK,oBAAoB;GAC1F,MAAM,OAAO;AACb,QAAK,aAAa,QAAQ,MAAM,MAAM,MAAM;GAC5C,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,iBAAc;AACd,iBAAc;AACd,UAAO,mBAAmB,IAAI,GAAG;YAC3B;AACN,QAAK,gCAAgC,GAAG;AACxC,QAAK,oBAAoB,aAAa,aAAa,EAAE;;;;;;AAO7D,SAAQ,OAAO,WAAW;AACtB,OAAK,MAAM;;;;;;AAOf,SAAQ,UAAU,WAAW;EACzB,IAAI;EACJ,IAAI;AACJ,MAAI;GACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,QAAK,QAAQ,OAAO;GACpB,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;GAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,iBAAc;AACd,iBAAc;AACd,UAAO,mBAAmB,IAAI,GAAG;YAC3B;AACN,QAAK,gCAAgC,GAAG;AACxC,QAAK,oBAAoB,aAAa,aAAa,EAAE;;;CAI7D,MAAM,yBAA0B,OAAO,yBAAyB,cAC1D;EAAE,gBAAgB;EAAI,kBAAkB;EAAI,GAC5C,IAAI,sBAAqB,QAAO,KAAK,sBAAsB,QAAQ,GAAG,EAAE,CAAC;;;;CAI/E,IAAM,aAAN,MAAM,WAAW;EAEb,OAAO,OAAO,KAAK;AACf,SAAM,QAAQ;GACd,MAAM,MAAM,OAAO,OAAO,WAAW,UAAU;AAC/C,OAAI,YAAY;AAChB,0BAAuB,SAAS,KAAK,IAAI,WAAW,IAAI;AACxD,UAAO;;EAGX,qBAAqB;GACjB,MAAM,MAAM,KAAK;AACjB,QAAK,YAAY;AACjB,0BAAuB,WAAW,KAAK;AACvC,UAAO;;EAGX,OAAO;GACH,MAAM,MAAM,KAAK,oBAAoB;AACrC,QAAK,sBAAsB,KAAK,EAAE;;;;;;EAMtC,IAAI,aAAa;AACb,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,sBAAsB,QAAQ,KAAK,UAAU;IAClD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,SAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,WAAO;aACD;AACN,SAAK,gCAAgC,GAAG;;;;;;;EAOhD,cAAc;GACV,IAAI;GACJ,IAAI;AACJ,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,uBAAuB,QAAQ,KAAK,UAAU;IACnD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,GAAG;aAC3B;AACN,SAAK,gCAAgC,GAAG;AACxC,SAAK,oBAAoB,aAAa,aAAa,EAAE;;;;AAIjE,KAAI,OAAO,QAAS,YAAW,UAAU,OAAO,WAAW,WAAW,UAAU;AAEhF,SAAQ,aAAa;CAErB,MAAM,6BAA8B,OAAO,yBAAyB,cAC9D;EAAE,gBAAgB;EAAI,kBAAkB;EAAI,GAC5C,IAAI,sBAAqB,QAAO,KAAK,0BAA0B,QAAQ,GAAG,EAAE,CAAC;;;;CAInF,IAAM,iBAAN,MAAM,eAAe;EAEjB,OAAO,OAAO,KAAK;AACf,SAAM,QAAQ;GACd,MAAM,MAAM,OAAO,OAAO,eAAe,UAAU;AACnD,OAAI,YAAY;AAChB,8BAA2B,SAAS,KAAK,IAAI,WAAW,IAAI;AAC5D,UAAO;;EAGX,qBAAqB;GACjB,MAAM,MAAM,KAAK;AACjB,QAAK,YAAY;AACjB,8BAA2B,WAAW,KAAK;AAC3C,UAAO;;EAGX,OAAO;GACH,MAAM,MAAM,KAAK,oBAAoB;AACrC,QAAK,0BAA0B,KAAK,EAAE;;;;;;EAM1C,IAAI,eAAe;AACf,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,4BAA4B,QAAQ,KAAK,UAAU;IACxD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,SAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,WAAO;aACD;AACN,SAAK,gCAAgC,GAAG;;;;;;;EAOhD,IAAI,aAAa;AACb,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,0BAA0B,QAAQ,KAAK,UAAU;IACtD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,SAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,WAAO;aACD;AACN,SAAK,gCAAgC,GAAG;;;;;;;EAOhD,mBAAmB;GACf,IAAI;GACJ,IAAI;AACJ,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,gCAAgC,QAAQ,KAAK,UAAU;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,GAAG;aAC3B;AACN,SAAK,gCAAgC,GAAG;AACxC,SAAK,oBAAoB,aAAa,aAAa,EAAE;;;;AAIjE,KAAI,OAAO,QAAS,gBAAe,UAAU,OAAO,WAAW,eAAe,UAAU;AAExF,SAAQ,iBAAiB;CAEzB,MAAM,yBAA0B,OAAO,yBAAyB,cAC1D;EAAE,gBAAgB;EAAI,kBAAkB;EAAI,GAC5C,IAAI,sBAAqB,QAAO,KAAK,sBAAsB,QAAQ,GAAG,EAAE,CAAC;;;;CAI/E,IAAM,aAAN,MAAM,WAAW;EAEb,OAAO,OAAO,KAAK;AACf,SAAM,QAAQ;GACd,MAAM,MAAM,OAAO,OAAO,WAAW,UAAU;AAC/C,OAAI,YAAY;AAChB,0BAAuB,SAAS,KAAK,IAAI,WAAW,IAAI;AACxD,UAAO;;EAGX,qBAAqB;GACjB,MAAM,MAAM,KAAK;AACjB,QAAK,YAAY;AACjB,0BAAuB,WAAW,KAAK;AACvC,UAAO;;EAGX,OAAO;GACH,MAAM,MAAM,KAAK,oBAAoB;AACrC,QAAK,sBAAsB,KAAK,EAAE;;;;;;EAMtC,IAAI,YAAY;AACZ,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,qBAAqB,QAAQ,KAAK,UAAU;IACjD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,SAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,WAAO;aACD;AACN,SAAK,gCAAgC,GAAG;;;;;;;EAOhD,IAAI,YAAY;AACZ,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,qBAAqB,QAAQ,KAAK,UAAU;IACjD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,SAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,WAAO;aACD;AACN,SAAK,gCAAgC,GAAG;;;;;;;EAOhD,kBAAkB;GACd,IAAI;GACJ,IAAI;AACJ,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,2BAA2B,QAAQ,KAAK,UAAU;IACvD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,GAAG;aAC3B;AACN,SAAK,gCAAgC,GAAG;AACxC,SAAK,oBAAoB,aAAa,aAAa,EAAE;;;;;;;EAO7D,kBAAkB;GACd,IAAI;GACJ,IAAI;AACJ,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,2BAA2B,QAAQ,KAAK,UAAU;IACvD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,GAAG;aAC3B;AACN,SAAK,gCAAgC,GAAG;AACxC,SAAK,oBAAoB,aAAa,aAAa,EAAE;;;;AAIjE,KAAI,OAAO,QAAS,YAAW,UAAU,OAAO,WAAW,WAAW,UAAU;AAEhF,SAAQ,aAAa;CAErB,MAAM,0BAA2B,OAAO,yBAAyB,cAC3D;EAAE,gBAAgB;EAAI,kBAAkB;EAAI,GAC5C,IAAI,sBAAqB,QAAO,KAAK,uBAAuB,QAAQ,GAAG,EAAE,CAAC;;;;CAIhF,IAAM,cAAN,MAAM,YAAY;EAEd,OAAO,OAAO,KAAK;AACf,SAAM,QAAQ;GACd,MAAM,MAAM,OAAO,OAAO,YAAY,UAAU;AAChD,OAAI,YAAY;AAChB,2BAAwB,SAAS,KAAK,IAAI,WAAW,IAAI;AACzD,UAAO;;EAGX,qBAAqB;GACjB,MAAM,MAAM,KAAK;AACjB,QAAK,YAAY;AACjB,2BAAwB,WAAW,KAAK;AACxC,UAAO;;EAGX,OAAO;GACH,MAAM,MAAM,KAAK,oBAAoB;AACrC,QAAK,uBAAuB,KAAK,EAAE;;;;;;EAMvC,IAAI,aAAa;AAEb,UADY,KAAK,uBAAuB,KAAK,UAAU;;;;;;EAO3D,IAAI,QAAQ;AACR,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,kBAAkB,QAAQ,KAAK,UAAU;IAC9C,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,IAAI,GAAG,CAAC,OAAO;AAC5C,SAAK,oBAAoB,IAAI,KAAK,GAAG,EAAE;AACvC,WAAO;aACD;AACN,SAAK,gCAAgC,GAAG;;;;;;;EAOhD,SAAS;GACL,IAAI;GACJ,IAAI;AACJ,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,mBAAmB,QAAQ,KAAK,UAAU;IAC/C,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,IAAO,KAAK;IAC5D,IAAI,OAAO;IACX,IAAI,OAAO;AACX,QAAI,IAAI;AACJ,YAAO;AAAG,YAAO;AACjB,WAAM,WAAW,GAAG;;AAExB,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,MAAM,KAAK;aAC/B;AACN,SAAK,gCAAgC,GAAG;AACxC,SAAK,oBAAoB,aAAa,aAAa,EAAE;;;;;;;;EAQ7D,OAAO,SAAS,MAAM;AAClB,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;IACxD,MAAM,OAAO,kBAAkB,MAAM,KAAK,qBAAqB,KAAK,oBAAoB;IACxF,MAAM,OAAO;AACb,SAAK,qBAAqB,QAAQ,MAAM,KAAK;IAC7C,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,QADS,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK,CAExD,OAAM,WAAW,GAAG;AAExB,WAAO,YAAY,OAAO,GAAG;aACvB;AACN,SAAK,gCAAgC,GAAG;;;;;;;EAOhD,WAAW;GACP,IAAI;GACJ,IAAI;AACJ,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;AACxD,SAAK,qBAAqB,QAAQ,KAAK,UAAU;IACjD,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAC5D,kBAAc;AACd,kBAAc;AACd,WAAO,mBAAmB,IAAI,GAAG;aAC3B;AACN,SAAK,gCAAgC,GAAG;AACxC,SAAK,oBAAoB,aAAa,aAAa,EAAE;;;;;;;;EAQ7D,OAAO,WAAW,KAAK;AACnB,OAAI;IACA,MAAM,SAAS,KAAK,gCAAgC,IAAI;IACxD,MAAM,OAAO,kBAAkB,KAAK,KAAK,qBAAqB,KAAK,oBAAoB;IACvF,MAAM,OAAO;AACb,SAAK,uBAAuB,QAAQ,MAAM,KAAK;IAC/C,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;IAC5D,IAAI,KAAK,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK;AAE5D,QADS,oBAAoB,CAAC,SAAS,SAAS,GAAO,KAAK,CAExD,OAAM,WAAW,GAAG;AAExB,WAAO,YAAY,OAAO,GAAG;aACvB;AACN,SAAK,gCAAgC,GAAG;;;;AAIpD,KAAI,OAAO,QAAS,aAAY,UAAU,OAAO,WAAW,YAAY,UAAU;AAElF,SAAQ,cAAc;AAEtB,SAAQ,+BAA+B,SAAS,MAAM,MAAM;AAExD,SAAO,cADK,MAAM,mBAAmB,MAAM,KAAK,CAAC,CACxB;;AAG7B,SAAQ,gCAAgC,SAAS,MAAM;AAEnD,SADY,OAAO,UAAU,KAAK,CAAC;;AAIvC,SAAQ,gCAAgC,SAAS,MAAM,MAAM;EAEzD,MAAM,OAAO,kBADD,OAAO,UAAU,KAAK,CAAC,EACC,KAAK,qBAAqB,KAAK,oBAAoB;EACvF,MAAM,OAAO;AACb,sBAAoB,CAAC,SAAS,OAAO,GAAO,MAAM,KAAK;AACvD,sBAAoB,CAAC,SAAS,OAAO,GAAO,MAAM,KAAK;;AAG3D,SAAQ,8BAA8B,WAAW;AAAE,SAAO,YAAY,SAAU,MAAM,MAAM;AAExF,UAAO,cADK,UAAU,KAAK,CAAC,KAAK,UAAU,KAAK,CAAC,CACxB;KAC1B,UAAU;;AAEb,SAAQ,8BAA8B,WAAW;AAAE,SAAO,YAAY,SAAU,MAAM,MAAM,MAAM;AAE9F,UAAO,cADK,UAAU,KAAK,CAAC,KAAK,UAAU,KAAK,EAAE,UAAU,KAAK,CAAC,CACzC;KAC1B,UAAU;;AAEb,SAAQ,gCAAgC,SAAS,MAAM;EACnD,MAAM,MAAM,UAAU,KAAK,CAAC;AAC5B,SAAO,cAAc,IAAI;;AAG7B,SAAQ,8BAA8B,SAAS,MAAM;AAEjD,SADY,UAAU,KAAK,CAAC;;AAIhC,SAAQ,+BAA+B,SAAS,MAAM,MAAM;EACxD,IAAI;EACJ,IAAI;AACJ,MAAI;AACA,iBAAc;AACd,iBAAc;AACd,WAAQ,MAAM,mBAAmB,MAAM,KAAK,CAAC;YACvC;AACN,QAAK,oBAAoB,aAAa,aAAa,EAAE;;;AAI7D,SAAQ,yCAAyC,WAAW;AAAE,SAAO,YAAY,SAAU,MAAM,MAAM;AACnG,aAAU,KAAK,CAAC,gBAAgB,UAAU,KAAK,CAAC;KACjD,UAAU;;AAEb,SAAQ,6BAA6B,SAAS,MAAM,MAAM;EACtD,MAAM,MAAM,UAAU,KAAK,CAAC,SAAS;AACrC,SAAO,cAAc,IAAI;;AAG7B,SAAQ,6BAA6B,WAAW;AAAE,SAAO,YAAY,SAAU,MAAM,MAAM;AAEvF,UAAO,cADK,QAAQ,IAAI,UAAU,KAAK,EAAE,UAAU,KAAK,CAAC,CAChC;KAC1B,UAAU;;AAEb,SAAQ,uCAAuC,SAAS,MAAM,MAAM;EAChE,MAAM,MAAM,UAAU,KAAK,CAAC,UAAU,KAAK;AAC3C,SAAO,cAAc,IAAI;;AAG7B,SAAQ,gDAAgD,SAAS,MAAM;EACnE,IAAI;AACJ,MAAI;AACA,YAAS,UAAU,KAAK,YAAY;WAC/B,GAAG;AACR,YAAS;;AAGb,SADY;;AAIhB,SAAQ,+CAA+C,SAAS,MAAM;EAClE,IAAI;AACJ,MAAI;AACA,YAAS,UAAU,KAAK,YAAY;WAC/B,GAAG;AACR,YAAS;;AAGb,SADY;;AAIhB,SAAQ,iCAAiC,SAAS,MAAM;AAEpD,SADY,MAAM,QAAQ,UAAU,KAAK,CAAC;;AAI9C,SAAQ,uCAAuC,SAAS,MAAM;AAE1D,SADY,OAAO,cAAc,UAAU,KAAK,CAAC;;AAIrD,SAAQ,kCAAkC,WAAW;EACjD,MAAM,MAAM,OAAO;AACnB,SAAO,cAAc,IAAI;;AAG7B,SAAQ,gCAAgC,SAAS,MAAM;AAEnD,SADY,UAAU,KAAK,CAAC;;AAIhC,SAAQ,gCAAgC,SAAS,MAAM;AAEnD,SADY,UAAU,KAAK,CAAC;;AAIhC,SAAQ,kCAAkC,SAAS,MAAM;EACrD,MAAM,MAAM,UAAU,KAAK,CAAC;AAC5B,SAAO,cAAc,IAAI;;AAG7B,SAAQ,6BAA6B,WAAW;AAE5C,SAAO,8BADK,IAAI,QAAQ,CACC;;AAG7B,SAAQ,6BAA6B,WAAW;AAE5C,SAAO,cADK,IAAI,OAAO,CACE;;AAG7B,SAAQ,6BAA6B,SAAS,MAAM;AAEhD,SAAO,cADK,IAAI,WAAW,UAAU,KAAK,CAAC,CAClB;;AAG7B,SAAQ,6BAA6B,WAAW;AAE5C,SAAO,8BADK,IAAI,OAAO,CACE;;AAG7B,SAAQ,mCAAmC,SAAS,MAAM,MAAM;AAE5D,SAAO,cADK,IAAI,SAAS,mBAAmB,MAAM,KAAK,CAAC,CAC/B;;AAG7B,SAAQ,uCAAuC,SAAS,MAAM;AAE1D,SAAO,cADK,IAAI,WAAW,SAAS,EAAE,CACb;;AAG7B,SAAQ,8BAA8B,SAAS,MAAM;EACjD,MAAM,MAAM,UAAU,KAAK,CAAC;AAC5B,SAAO,cAAc,IAAI;;AAG7B,SAAQ,8BAA8B,WAAW;AAAE,SAAO,YAAY,SAAU,MAAM;AAElF,UAAO,cADK,UAAU,KAAK,CAAC,MAAM,CACT;KAC1B,UAAU;;AAEb,SAAQ,8BAA8B,SAAS,MAAM;EACjD,MAAM,MAAM,UAAU,KAAK,CAAC;AAC5B,SAAO,cAAc,IAAI;;AAG7B,SAAQ,iCAAiC,SAAS,MAAM;EACpD,MAAM,MAAM,UAAU,KAAK,CAAC;AAC5B,SAAO,cAAc,IAAI;;AAG7B,SAAQ,0CAA0C,SAAS,MAAM,MAAM,MAAM;AACzE,aAAW,UAAU,IAAI,KAAK,oBAAoB,MAAM,KAAK,EAAE,UAAU,KAAK,CAAC;;AAGnF,SAAQ,wCAAwC,WAAW;AAAE,SAAO,YAAY,SAAU,MAAM,MAAM;AAClG,aAAU,KAAK,CAAC,eAAe,WAAW,KAAK,CAAC;KACjD,UAAU;;AAEb,SAAQ,iCAAiC,WAAW;AAAE,SAAO,YAAY,WAAY;GACjF,MAAM,MAAM,OAAO;AACnB,UAAO,cAAc,IAAI;KAC1B,UAAU;;AAEb,SAAQ,6BAA6B,SAAS,MAAM,MAAM,MAAM;AAC5D,YAAU,KAAK,CAAC,WAAW,KAAK,IAAI,WAAW,KAAK;;AAGxD,SAAQ,6BAA6B,SAAS,MAAM,MAAM,MAAM;AAC5D,YAAU,KAAK,CAAC,SAAS,KAAK,WAAW,KAAK;;AAGlD,SAAQ,+BAA+B,SAAS,MAAM,MAAM;EACxD,MAAM,MAAM,UAAU,KAAK,CAAC;EAC5B,MAAM,OAAO,kBAAkB,KAAK,KAAK,qBAAqB,KAAK,oBAAoB;EACvF,MAAM,OAAO;AACb,sBAAoB,CAAC,SAAS,OAAO,GAAO,MAAM,KAAK;AACvD,sBAAoB,CAAC,SAAS,OAAO,GAAO,MAAM,KAAK;;AAG3D,SAAQ,gDAAgD,WAAW;EAC/D,MAAM,MAAM,OAAO,WAAW,cAAc,OAAO;AACnD,SAAO,WAAW,IAAI,GAAG,IAAI,cAAc,IAAI;;AAGnD,SAAQ,qDAAqD,WAAW;EACpE,MAAM,MAAM,OAAO,eAAe,cAAc,OAAO;AACvD,SAAO,WAAW,IAAI,GAAG,IAAI,cAAc,IAAI;;AAGnD,SAAQ,8CAA8C,WAAW;EAC7D,MAAM,MAAM,OAAO,SAAS,cAAc,OAAO;AACjD,SAAO,WAAW,IAAI,GAAG,IAAI,cAAc,IAAI;;AAGnD,SAAQ,gDAAgD,WAAW;EAC/D,MAAM,MAAM,OAAO,WAAW,cAAc,OAAO;AACnD,SAAO,WAAW,IAAI,GAAG,IAAI,cAAc,IAAI;;AAGnD,SAAQ,kCAAkC,SAAS,MAAM,MAAM,MAAM;AAEjE,SAAO,cADK,UAAU,KAAK,CAAC,SAAS,SAAS,GAAG,SAAS,EAAE,CACnC;;AAG7B,SAAQ,+BAA+B,SAAS,MAAM;EAClD,MAAM,MAAM,UAAU,KAAK,CAAC;AAC5B,SAAO,cAAc,IAAI;;AAG7B,SAAQ,kCAAkC,SAAS,MAAM;EACrD,MAAM,MAAM,UAAU,KAAK,CAAC;AAC5B,SAAO,cAAc,IAAI;;AAG7B,SAAQ,4CAA4C,SAAS,MAAM;EAC/D,MAAM,IAAI,UAAU,KAAK;EACzB,MAAM,MAAM,OAAO,MAAO,YAAY,IAAI;AAC1C,SAAO,WAAW,IAAI,GAAG,WAAW,MAAM,IAAI;;AAGlD,SAAQ,kDAAkD,SAAS,MAAM,MAAM,MAAM;AACjF,MAAI,WAAW,UAAU,KAAK,CAAC,QAAQ,UAAU,KAAK,CAAC,YAAY,UAAU,KAAK,CAAC,WAAW,CAAC,IAAI,oBAAoB,MAAM,KAAK,CAAC;;AAGvI,SAAQ,6CAA6C,SAAS,MAAM,MAAM;EAEtE,MAAM,OAAO,kBADD,YAAY,UAAU,KAAK,CAAC,EACJ,KAAK,qBAAqB,KAAK,oBAAoB;EACvF,MAAM,OAAO;AACb,sBAAoB,CAAC,SAAS,OAAO,GAAO,MAAM,KAAK;AACvD,sBAAoB,CAAC,SAAS,OAAO,GAAO,MAAM,KAAK;;AAG3D,SAAQ,oCAAoC,SAAS,MAAM,MAAM;AAE7D,SADY,UAAU,KAAK,IAAI,UAAU,KAAK;;AAIlD,SAAQ,4CAA4C,SAAS,MAAM;AAE/D,SADY,OAAO,UAAU,KAAK,KAAM;;AAI5C,SAAQ,0CAA0C,SAAS,MAAM;EAC7D,MAAM,MAAM,UAAU,KAAK;AAE3B,SADY,OAAO,QAAS,YAAY,QAAQ;;AAIpD,SAAQ,0CAA0C,SAAS,MAAM;AAE7D,SADY,OAAO,UAAU,KAAK,KAAM;;AAI5C,SAAQ,6CAA6C,SAAS,MAAM;AAEhE,SADY,UAAU,KAAK,KAAK;;AAIpC,SAAQ,8CAA8C,SAAS,MAAM,MAAM;AAEvE,SADY,UAAU,KAAK,IAAI,UAAU,KAAK;;AAIlD,SAAQ,2CAA2C,SAAS,MAAM,MAAM;EACpE,MAAM,MAAM,UAAU,KAAK;EAC3B,MAAM,MAAM,OAAO,QAAS,WAAW,MAAM;AAC7C,sBAAoB,CAAC,WAAW,OAAO,GAAO,WAAW,IAAI,GAAG,IAAI,KAAK,KAAK;AAC9E,sBAAoB,CAAC,SAAS,OAAO,GAAO,CAAC,WAAW,IAAI,EAAE,KAAK;;AAGvE,SAAQ,2CAA2C,SAAS,MAAM,MAAM;EACpE,MAAM,MAAM,UAAU,KAAK;EAC3B,MAAM,MAAM,OAAO,QAAS,WAAW,MAAM;EAC7C,IAAI,OAAO,WAAW,IAAI,GAAG,IAAI,kBAAkB,KAAK,KAAK,qBAAqB,KAAK,oBAAoB;EAC3G,IAAI,OAAO;AACX,sBAAoB,CAAC,SAAS,OAAO,GAAO,MAAM,KAAK;AACvD,sBAAoB,CAAC,SAAS,OAAO,GAAO,MAAM,KAAK;;AAG3D,SAAQ,uCAAuC,SAAS,MAAM,MAAM;AAChE,QAAM,IAAI,MAAM,mBAAmB,MAAM,KAAK,CAAC;;AAGnD,SAAQ,mCAAmC,SAAS,MAAM,MAAM;AAG5D,SAAO,cADK,mBAAmB,MAAM,KAAK,CACjB;;AAG7B,SAAQ,mCAAmC,SAAS,MAAM,MAAM;AAG5D,SAAO,cADK,oBAAoB,MAAM,KAAK,CAClB;;AAG7B,SAAQ,mCAAmC,SAAS,MAAM;AAGtD,SAAO,cADK,KACa;;AAG7B,SAAQ,8BAA8B,SAAS,MAAM;AAEjD,SAAO,cADK,UAAU,KAAK,CACF;;AAG7B,SAAQ,6BAA6B,SAAS,MAAM;AAChD,aAAW,KAAK;;CAGpB,MAAM,WAAW,GAAG,UAAU;CAC9B,MAAM,sBAAoB,KAAK,CAAC,aAAa,SAAS;CACtD,MAAM,aAAa,IAAI,YAAY,OAAO,UAAU;CACpD,MAAM,OAAO,QAAQ,SAAS,IAAI,YAAY,SAAS,YAAY,QAAQ,CAAC;AAE5E,MAAK,kBAAkB"}