@canton-network/core-token-standard 0.16.0 → 0.17.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.browser.js +3 -3
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs +3 -3
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.browser.js","sources":["../src/token-standard-client.ts","../src/interface-ids.const.ts","../../../../../../.yarn/berry/cache/lodash.isequal-npm-4.5.0-f8b0f64d63-10c0.zip/node_modules/lodash.isequal/index.js","../../../../../../.yarn/berry/cache/@mojotech-json-type-validation-npm-3.1.0-b983ac6694-10c0.zip/node_modules/@mojotech/json-type-validation/dist/index.es5.js","../../../../../../.yarn/berry/cache/@daml-types-npm-3.3.0-snapshot.20250528.13806.0.v3cd439fb-8d2fd59416-10c0.zip/node_modules/@daml/types/index.js","../../../../../../.yarn/berry/cache/cross-fetch-npm-3.2.0-267029ff2f-10c0.zip/node_modules/cross-fetch/dist/browser-ponyfill.js","../../../../../../.yarn/berry/cache/events-npm-3.3.0-c280bc7e48-10c0.zip/node_modules/events/events.js","../../../.yarn/__virtual__/isomorphic-ws-virtual-27bbf212f5/4/.yarn/berry/cache/isomorphic-ws-npm-4.0.1-aa39192848-10c0.zip/node_modules/isomorphic-ws/browser.js","../../../../../../.yarn/berry/cache/@daml-ledger-npm-3.3.0-snapshot.20250528.13806.0.v3cd439fb-bdb3d061db-10c0.zip/node_modules/@daml/ledger/index.js","../../../../../../.yarn/berry/cache/@daml.js-ghc-stdlib-DA-Internal-Template-1.0.0-file-c6b3e1def0-10c0.zip/node_modules/@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0/lib/DA/Internal/Template/module.js","../../../../../../.yarn/berry/cache/@daml.js-ghc-stdlib-DA-Internal-Template-1.0.0-file-c6b3e1def0-10c0.zip/node_modules/@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0/lib/DA/Internal/Template/index.js","../../../../../../.yarn/berry/cache/@daml.js-ghc-stdlib-DA-Internal-Template-1.0.0-file-c6b3e1def0-10c0.zip/node_modules/@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0/lib/DA/Internal/index.js","../../../../../../.yarn/berry/cache/@daml.js-ghc-stdlib-DA-Internal-Template-1.0.0-file-c6b3e1def0-10c0.zip/node_modules/@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0/lib/DA/index.js","../../../../../../.yarn/berry/cache/@daml.js-ghc-stdlib-DA-Internal-Template-1.0.0-file-c6b3e1def0-10c0.zip/node_modules/@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0/lib/index.js","../../../../../../.yarn/berry/cache/@daml.js-daml-stdlib-DA-Time-Types-1.0.0-file-321c951204-10c0.zip/node_modules/@daml.js/daml-stdlib-DA-Time-Types-1.0.0/lib/DA/Time/Types/module.js","../../../../../../.yarn/berry/cache/@daml.js-daml-stdlib-DA-Time-Types-1.0.0-file-321c951204-10c0.zip/node_modules/@daml.js/daml-stdlib-DA-Time-Types-1.0.0/lib/DA/Time/Types/index.js","../../../../../../.yarn/berry/cache/@daml.js-daml-stdlib-DA-Time-Types-1.0.0-file-321c951204-10c0.zip/node_modules/@daml.js/daml-stdlib-DA-Time-Types-1.0.0/lib/DA/Time/index.js","../../../../../../.yarn/berry/cache/@daml.js-daml-stdlib-DA-Time-Types-1.0.0-file-321c951204-10c0.zip/node_modules/@daml.js/daml-stdlib-DA-Time-Types-1.0.0/lib/DA/index.js","../../../../../../.yarn/berry/cache/@daml.js-daml-stdlib-DA-Time-Types-1.0.0-file-321c951204-10c0.zip/node_modules/@daml.js/daml-stdlib-DA-Time-Types-1.0.0/lib/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/MetadataV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/HoldingV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationInstructionV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationInstructionV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationRequestV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationRequestV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/HoldingV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/MetadataV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/TransferInstructionV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/TransferInstructionV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/index.js","../src/types.ts"],"sourcesContent":["// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport createClient, { Client } from 'openapi-fetch'\nimport { AccessTokenProvider, Logger } from '@canton-network/core-types'\n\nimport { paths as allocationPaths } from './generated-clients/splice-api-token-allocation-v1/allocation-v1.js'\nimport { paths as allocationInstructionPaths } from './generated-clients/splice-api-token-allocation-instruction-v1/allocation-instruction-v1.js'\nimport { paths as metadataPaths } from './generated-clients/splice-api-token-metadata-v1/token-metadata-v1.js'\nimport { paths as transferInstructionPaths } from './generated-clients/splice-api-token-transfer-instruction-v1/transfer-instruction-v1.js'\n\nexport { components as allocationRegistryTypes } from './generated-clients/splice-api-token-allocation-v1/allocation-v1.js'\nexport { components as metadataRegistryTypes } from './generated-clients/splice-api-token-metadata-v1/token-metadata-v1.js'\nexport { components as transferInstructionRegistryTypes } from './generated-clients/splice-api-token-transfer-instruction-v1/transfer-instruction-v1.js'\nexport { components as allocationInstructionRegistryTypes } from './generated-clients/splice-api-token-allocation-instruction-v1/allocation-instruction-v1.js'\n\ntype paths = allocationPaths &\n metadataPaths &\n transferInstructionPaths &\n allocationInstructionPaths\n\n// A conditional type that filters the set of OpenAPI path names to those that actually have a defined POST operation.\n// Any path without a POST is excluded via the `never` branch of the conditional\ntype PostEndpoint = {\n [Pathname in keyof paths]: paths[Pathname] extends {\n post: unknown\n }\n ? Pathname\n : never\n}[keyof paths]\n\n// Given a pathname (string) that has a POST, this helper type extracts the request body type from the OpenAPI definition.\nexport type PostRequest<Path extends PostEndpoint> = paths[Path] extends {\n post: { requestBody: { content: { 'application/json': infer Req } } }\n}\n ? Req\n : never\n\n// Given a pathname (string) that has a POST, this helper type extracts the 200 response type from the OpenAPI definition.\nexport type PostResponse<Path extends PostEndpoint> = paths[Path] extends {\n post: { responses: { 200: { content: { 'application/json': infer Res } } } }\n}\n ? Res\n : never\n\n// Similar as above, for GETs\ntype GetEndpoint = {\n [Pathname in keyof paths]: paths[Pathname] extends {\n get: unknown\n }\n ? Pathname\n : never\n}[keyof paths]\n\n// Similar as above, for GETs\nexport type GetResponse<Path extends GetEndpoint> = paths[Path] extends {\n get: { responses: { 200: { content: { 'application/json': infer Res } } } }\n}\n ? Res\n : never\n\nexport class TokenStandardClient {\n private readonly client: Client<paths>\n private readonly logger: Logger\n private accessTokenProvider: AccessTokenProvider | undefined\n\n constructor(\n baseUrl: string,\n logger: Logger,\n isAdmin: boolean,\n accessToken?: string,\n accessTokenProvider?: AccessTokenProvider\n ) {\n this.accessTokenProvider = accessTokenProvider\n this.logger = logger\n this.logger.debug({ baseUrl }, 'TokenStandardClient initialized')\n this.client = createClient<paths>({\n baseUrl,\n fetch: async (url: RequestInfo, options: RequestInit = {}) => {\n if (this.accessTokenProvider) {\n accessToken = isAdmin\n ? await this.accessTokenProvider.getAdminAccessToken()\n : await this.accessTokenProvider.getUserAccessToken()\n }\n return fetch(url, {\n ...options,\n headers: {\n ...(options.headers || {}),\n ...(accessToken\n ? { Authorization: `Bearer ${accessToken}` }\n : {}),\n 'Content-Type': 'application/json',\n },\n })\n },\n })\n }\n\n public async post<Path extends PostEndpoint>(\n path: Path,\n body: PostRequest<Path>,\n params?: {\n path?: Record<string, string>\n query?: Record<string, string | number>\n }\n ): Promise<PostResponse<Path>> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- (cant align this with openapi-fetch generics :shrug:)\n const options = { body, params } as any\n this.logger.debug({ requestBody: body }, `POST ${path}`)\n const resp = await this.client.POST(path, options)\n this.logger.debug({ requestBody: body, response: resp }, `POST ${path}`)\n return this.valueOrError(resp)\n }\n\n public async get<Path extends GetEndpoint>(\n path: Path,\n params?: {\n path?: Record<string, string>\n query?: Record<string, string | number>\n }\n ): Promise<GetResponse<Path>> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- (cant align this with openapi-fetch generics :shrug:)\n const options = { params } as any\n\n const resp = await this.client.GET(path, options)\n this.logger.debug(\n { path: path, params: params, response: resp },\n `GET ${path}`\n )\n return this.valueOrError(resp)\n }\n\n private async valueOrError<T>(response: {\n data?: T\n error?: unknown\n }): Promise<T> {\n if (response.data === undefined) {\n return Promise.reject(response.error)\n } else {\n return Promise.resolve(response.data)\n }\n }\n}\n","// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport const ALLOCATION_FACTORY_INTERFACE_ID =\n '#splice-api-token-allocation-instruction-v1:Splice.Api.Token.AllocationInstructionV1:AllocationFactory'\nexport const ALLOCATION_INSTRUCTION_INTERFACE_ID =\n '#splice-api-token-allocation-instruction-v1:Splice.Api.Token.AllocationInstructionV1:AllocationInstruction'\nexport const ALLOCATION_REQUEST_INTERFACE_ID =\n '#splice-api-token-allocation-request-v1:Splice.Api.Token.AllocationRequestV1:AllocationRequest'\nexport const ALLOCATION_INTERFACE_ID =\n '#splice-api-token-allocation-v1:Splice.Api.Token.AllocationV1:Allocation'\nexport const HOLDING_INTERFACE_ID =\n '#splice-api-token-holding-v1:Splice.Api.Token.HoldingV1:Holding'\nexport const METADATA_INTERFACE_ID =\n '#splice-api-token-metadata-v1:Splice.Api.Token.MetadataV1:AnyContract'\nexport const TRANSFER_FACTORY_INTERFACE_ID =\n '#splice-api-token-transfer-instruction-v1:Splice.Api.Token.TransferInstructionV1:TransferFactory'\nexport const TRANSFER_INSTRUCTION_INTERFACE_ID =\n '#splice-api-token-transfer-instruction-v1:Splice.Api.Token.TransferInstructionV1:TransferInstruction'\nexport const FEATURED_APP_DELEGATE_PROXY_INTERFACE_ID =\n '#splice-util-featured-app-proxies:Splice.Util.FeaturedApp.DelegateProxy:DelegateProxy'\nexport const MERGE_DELEGATION_PROPOSAL_TEMPLATE_ID =\n '#splice-util-token-standard-wallet:Splice.Util.Token.Wallet.MergeDelegation:MergeDelegationProposal'\nexport const MERGE_DELEGATION_TEMPLATE_ID =\n '#splice-util-token-standard-wallet:Splice.Util.Token.Wallet.MergeDelegation:MergeDelegation'\nexport const MERGE_DELEGATION_BATCH_MERGE_UTILITY =\n '#splice-util-token-standard-wallet:Splice.Util.Token.Wallet.MergeDelegation:BatchMergeUtility'\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\r\n * Wraps values in an `Ok` type.\r\n *\r\n * Example: `ok(5) // => {ok: true, result: 5}`\r\n */\r\nvar ok = function (result) { return ({ ok: true, result: result }); };\r\n/**\r\n * Typeguard for `Ok`.\r\n */\r\nvar isOk = function (r) { return r.ok === true; };\r\n/**\r\n * Wraps errors in an `Err` type.\r\n *\r\n * Example: `err('on fire') // => {ok: false, error: 'on fire'}`\r\n */\r\nvar err = function (error) { return ({ ok: false, error: error }); };\r\n/**\r\n * Typeguard for `Err`.\r\n */\r\nvar isErr = function (r) { return r.ok === false; };\r\n/**\r\n * Create a `Promise` that either resolves with the result of `Ok` or rejects\r\n * with the error of `Err`.\r\n */\r\nvar asPromise = function (r) {\r\n return r.ok === true ? Promise.resolve(r.result) : Promise.reject(r.error);\r\n};\r\n/**\r\n * Unwraps a `Result` and returns either the result of an `Ok`, or\r\n * `defaultValue`.\r\n *\r\n * Example:\r\n * ```\r\n * Result.withDefault(5, number().run(json))\r\n * ```\r\n *\r\n * It would be nice if `Decoder` had an instance method that mirrored this\r\n * function. Such a method would look something like this:\r\n * ```\r\n * class Decoder<A> {\r\n * runWithDefault = (defaultValue: A, json: any): A =>\r\n * Result.withDefault(defaultValue, this.run(json));\r\n * }\r\n *\r\n * number().runWithDefault(5, json)\r\n * ```\r\n * Unfortunately, the type of `defaultValue: A` on the method causes issues\r\n * with type inference on the `object` decoder in some situations. While these\r\n * inference issues can be solved by providing the optional type argument for\r\n * `object`s, the extra trouble and confusion doesn't seem worth it.\r\n */\r\nvar withDefault = function (defaultValue, r) {\r\n return r.ok === true ? r.result : defaultValue;\r\n};\r\n/**\r\n * Return the successful result, or throw an error.\r\n */\r\nvar withException = function (r) {\r\n if (r.ok === true) {\r\n return r.result;\r\n }\r\n else {\r\n throw r.error;\r\n }\r\n};\r\n/**\r\n * Given an array of `Result`s, return the successful values.\r\n */\r\nvar successes = function (results) {\r\n return results.reduce(function (acc, r) { return (r.ok === true ? acc.concat(r.result) : acc); }, []);\r\n};\r\n/**\r\n * Apply `f` to the result of an `Ok`, or pass the error through.\r\n */\r\nvar map = function (f, r) {\r\n return r.ok === true ? ok(f(r.result)) : r;\r\n};\r\n/**\r\n * Apply `f` to the result of two `Ok`s, or pass an error through. If both\r\n * `Result`s are errors then the first one is returned.\r\n */\r\nvar map2 = function (f, ar, br) {\r\n return ar.ok === false ? ar :\r\n br.ok === false ? br :\r\n ok(f(ar.result, br.result));\r\n};\r\n/**\r\n * Apply `f` to the error of an `Err`, or pass the success through.\r\n */\r\nvar mapError = function (f, r) {\r\n return r.ok === true ? r : err(f(r.error));\r\n};\r\n/**\r\n * Chain together a sequence of computations that may fail, similar to a\r\n * `Promise`. If the first computation fails then the error will propagate\r\n * through. If it succeeds, then `f` will be applied to the value, returning a\r\n * new `Result`.\r\n */\r\nvar andThen = function (f, r) {\r\n return r.ok === true ? f(r.result) : r;\r\n};\r\n\n\nvar result = Object.freeze({\n\tok: ok,\n\tisOk: isOk,\n\terr: err,\n\tisErr: isErr,\n\tasPromise: asPromise,\n\twithDefault: withDefault,\n\twithException: withException,\n\tsuccesses: successes,\n\tmap: map,\n\tmap2: map2,\n\tmapError: mapError,\n\tandThen: andThen\n});\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\n\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\n\nvar isEqual = require('lodash.isequal'); // this syntax avoids TS1192\r\n/**\r\n * Type guard for `DecoderError`. One use case of the type guard is in the\r\n * `catch` of a promise. Typescript types the error argument of `catch` as\r\n * `any`, so when dealing with a decoder as a promise you may need to\r\n * distinguish between a `DecoderError` and an error string.\r\n */\r\nvar isDecoderError = function (a) {\r\n return a.kind === 'DecoderError' && typeof a.at === 'string' && typeof a.message === 'string';\r\n};\r\n/*\r\n * Helpers\r\n */\r\nvar isJsonArray = function (json) { return Array.isArray(json); };\r\nvar isJsonObject = function (json) {\r\n return typeof json === 'object' && json !== null && !isJsonArray(json);\r\n};\r\nvar typeString = function (json) {\r\n switch (typeof json) {\r\n case 'string':\r\n return 'a string';\r\n case 'number':\r\n return 'a number';\r\n case 'boolean':\r\n return 'a boolean';\r\n case 'undefined':\r\n return 'undefined';\r\n case 'object':\r\n if (json instanceof Array) {\r\n return 'an array';\r\n }\r\n else if (json === null) {\r\n return 'null';\r\n }\r\n else {\r\n return 'an object';\r\n }\r\n default:\r\n return JSON.stringify(json);\r\n }\r\n};\r\nvar expectedGot = function (expected, got) {\r\n return \"expected \" + expected + \", got \" + typeString(got);\r\n};\r\nvar printPath = function (paths) {\r\n return paths.map(function (path) { return (typeof path === 'string' ? \".\" + path : \"[\" + path + \"]\"); }).join('');\r\n};\r\nvar prependAt = function (newAt, _a) {\r\n var at = _a.at, rest = __rest(_a, [\"at\"]);\r\n return (__assign({ at: newAt + (at || '') }, rest));\r\n};\r\n/**\r\n * Decoders transform json objects with unknown structure into known and\r\n * verified forms. You can create objects of type `Decoder<A>` with either the\r\n * primitive decoder functions, such as `boolean()` and `string()`, or by\r\n * applying higher-order decoders to the primitives, such as `array(boolean())`\r\n * or `dict(string())`.\r\n *\r\n * Each of the decoder functions are available both as a static method on\r\n * `Decoder` and as a function alias -- for example the string decoder is\r\n * defined at `Decoder.string()`, but is also aliased to `string()`. Using the\r\n * function aliases exported with the library is recommended.\r\n *\r\n * `Decoder` exposes a number of 'run' methods, which all decode json in the\r\n * same way, but communicate success and failure in different ways. The `map`\r\n * and `andThen` methods modify decoders without having to call a 'run' method.\r\n *\r\n * Alternatively, the main decoder `run()` method returns an object of type\r\n * `Result<A, DecoderError>`. This library provides a number of helper\r\n * functions for dealing with the `Result` type, so you can do all the same\r\n * things with a `Result` as with the decoder methods.\r\n */\r\nvar Decoder = /** @class */ (function () {\r\n /**\r\n * The Decoder class constructor is kept private to separate the internal\r\n * `decode` function from the external `run` function. The distinction\r\n * between the two functions is that `decode` returns a\r\n * `Partial<DecoderError>` on failure, which contains an unfinished error\r\n * report. When `run` is called on a decoder, the relevant series of `decode`\r\n * calls is made, and then on failure the resulting `Partial<DecoderError>`\r\n * is turned into a `DecoderError` by filling in the missing information.\r\n *\r\n * While hiding the constructor may seem restrictive, leveraging the\r\n * provided decoder combinators and helper functions such as\r\n * `andThen` and `map` should be enough to build specialized decoders as\r\n * needed.\r\n */\r\n function Decoder(decode) {\r\n var _this = this;\r\n this.decode = decode;\r\n /**\r\n * Run the decoder and return a `Result` with either the decoded value or a\r\n * `DecoderError` containing the json input, the location of the error, and\r\n * the error message.\r\n *\r\n * Examples:\r\n * ```\r\n * number().run(12)\r\n * // => {ok: true, result: 12}\r\n *\r\n * string().run(9001)\r\n * // =>\r\n * // {\r\n * // ok: false,\r\n * // error: {\r\n * // kind: 'DecoderError',\r\n * // input: 9001,\r\n * // at: 'input',\r\n * // message: 'expected a string, got 9001'\r\n * // }\r\n * // }\r\n * ```\r\n */\r\n this.run = function (json) {\r\n return mapError(function (error) { return ({\r\n kind: 'DecoderError',\r\n input: json,\r\n at: 'input' + (error.at || ''),\r\n message: error.message || ''\r\n }); }, _this.decode(json));\r\n };\r\n /**\r\n * Run the decoder as a `Promise`.\r\n */\r\n this.runPromise = function (json) { return asPromise(_this.run(json)); };\r\n /**\r\n * Run the decoder and return the value on success, or throw an exception\r\n * with a formatted error string.\r\n */\r\n this.runWithException = function (json) { return withException(_this.run(json)); };\r\n /**\r\n * Construct a new decoder that applies a transformation to the decoded\r\n * result. If the decoder succeeds then `f` will be applied to the value. If\r\n * it fails the error will propagated through.\r\n *\r\n * Example:\r\n * ```\r\n * number().map(x => x * 5).run(10)\r\n * // => {ok: true, result: 50}\r\n * ```\r\n */\r\n this.map = function (f) {\r\n return new Decoder(function (json) { return map(f, _this.decode(json)); });\r\n };\r\n /**\r\n * Chain together a sequence of decoders. The first decoder will run, and\r\n * then the function will determine what decoder to run second. If the result\r\n * of the first decoder succeeds then `f` will be applied to the decoded\r\n * value. If it fails the error will propagate through.\r\n *\r\n * This is a very powerful method -- it can act as both the `map` and `where`\r\n * methods, can improve error messages for edge cases, and can be used to\r\n * make a decoder for custom types.\r\n *\r\n * Example of adding an error message:\r\n * ```\r\n * const versionDecoder = valueAt(['version'], number());\r\n * const infoDecoder3 = object({a: boolean()});\r\n *\r\n * const decoder = versionDecoder.andThen(version => {\r\n * switch (version) {\r\n * case 3:\r\n * return infoDecoder3;\r\n * default:\r\n * return fail(`Unable to decode info, version ${version} is not supported.`);\r\n * }\r\n * });\r\n *\r\n * decoder.run({version: 3, a: true})\r\n * // => {ok: true, result: {a: true}}\r\n *\r\n * decoder.run({version: 5, x: 'abc'})\r\n * // =>\r\n * // {\r\n * // ok: false,\r\n * // error: {... message: 'Unable to decode info, version 5 is not supported.'}\r\n * // }\r\n * ```\r\n *\r\n * Example of decoding a custom type:\r\n * ```\r\n * // nominal type for arrays with a length of at least one\r\n * type NonEmptyArray<T> = T[] & { __nonEmptyArrayBrand__: void };\r\n *\r\n * const nonEmptyArrayDecoder = <T>(values: Decoder<T>): Decoder<NonEmptyArray<T>> =>\r\n * array(values).andThen(arr =>\r\n * arr.length > 0\r\n * ? succeed(createNonEmptyArray(arr))\r\n * : fail(`expected a non-empty array, got an empty array`)\r\n * );\r\n * ```\r\n */\r\n this.andThen = function (f) {\r\n return new Decoder(function (json) {\r\n return andThen(function (value) { return f(value).decode(json); }, _this.decode(json));\r\n });\r\n };\r\n /**\r\n * Add constraints to a decoder _without_ changing the resulting type. The\r\n * `test` argument is a predicate function which returns true for valid\r\n * inputs. When `test` fails on an input, the decoder fails with the given\r\n * `errorMessage`.\r\n *\r\n * ```\r\n * const chars = (length: number): Decoder<string> =>\r\n * string().where(\r\n * (s: string) => s.length === length,\r\n * `expected a string of length ${length}`\r\n * );\r\n *\r\n * chars(5).run('12345')\r\n * // => {ok: true, result: '12345'}\r\n *\r\n * chars(2).run('HELLO')\r\n * // => {ok: false, error: {... message: 'expected a string of length 2'}}\r\n *\r\n * chars(12).run(true)\r\n * // => {ok: false, error: {... message: 'expected a string, got a boolean'}}\r\n * ```\r\n */\r\n this.where = function (test, errorMessage) {\r\n return _this.andThen(function (value) { return (test(value) ? Decoder.succeed(value) : Decoder.fail(errorMessage)); });\r\n };\r\n }\r\n /**\r\n * Decoder primitive that validates strings, and fails on all other input.\r\n */\r\n Decoder.string = function () {\r\n return new Decoder(function (json) {\r\n return typeof json === 'string'\r\n ? ok(json)\r\n : err({ message: expectedGot('a string', json) });\r\n });\r\n };\r\n /**\r\n * Decoder primitive that validates numbers, and fails on all other input.\r\n */\r\n Decoder.number = function () {\r\n return new Decoder(function (json) {\r\n return typeof json === 'number'\r\n ? ok(json)\r\n : err({ message: expectedGot('a number', json) });\r\n });\r\n };\r\n /**\r\n * Decoder primitive that validates booleans, and fails on all other input.\r\n */\r\n Decoder.boolean = function () {\r\n return new Decoder(function (json) {\r\n return typeof json === 'boolean'\r\n ? ok(json)\r\n : err({ message: expectedGot('a boolean', json) });\r\n });\r\n };\r\n Decoder.constant = function (value) {\r\n return new Decoder(function (json) {\r\n return isEqual(json, value)\r\n ? ok(value)\r\n : err({ message: \"expected \" + JSON.stringify(value) + \", got \" + JSON.stringify(json) });\r\n });\r\n };\r\n Decoder.object = function (decoders) {\r\n return new Decoder(function (json) {\r\n if (isJsonObject(json) && decoders) {\r\n var obj = {};\r\n for (var key in decoders) {\r\n if (decoders.hasOwnProperty(key)) {\r\n var r = decoders[key].decode(json[key]);\r\n if (r.ok === true) {\r\n // tslint:disable-next-line:strict-type-predicates\r\n if (r.result !== undefined) {\r\n obj[key] = r.result;\r\n }\r\n }\r\n else if (json[key] === undefined) {\r\n return err({ message: \"the key '\" + key + \"' is required but was not present\" });\r\n }\r\n else {\r\n return err(prependAt(\".\" + key, r.error));\r\n }\r\n }\r\n }\r\n return ok(obj);\r\n }\r\n else if (isJsonObject(json)) {\r\n return ok(json);\r\n }\r\n else {\r\n return err({ message: expectedGot('an object', json) });\r\n }\r\n });\r\n };\r\n Decoder.array = function (decoder) {\r\n return new Decoder(function (json) {\r\n if (isJsonArray(json) && decoder) {\r\n var decodeValue_1 = function (v, i) {\r\n return mapError(function (err$$1) { return prependAt(\"[\" + i + \"]\", err$$1); }, decoder.decode(v));\r\n };\r\n return json.reduce(function (acc, v, i) {\r\n return map2(function (arr, result) { return arr.concat([result]); }, acc, decodeValue_1(v, i));\r\n }, ok([]));\r\n }\r\n else if (isJsonArray(json)) {\r\n return ok(json);\r\n }\r\n else {\r\n return err({ message: expectedGot('an array', json) });\r\n }\r\n });\r\n };\r\n Decoder.tuple = function (decoders) {\r\n return new Decoder(function (json) {\r\n if (isJsonArray(json)) {\r\n if (json.length !== decoders.length) {\r\n return err({\r\n message: \"expected a tuple of length \" + decoders.length + \", got one of length \" + json.length\r\n });\r\n }\r\n var result = [];\r\n for (var i = 0; i < decoders.length; i++) {\r\n var nth = decoders[i].decode(json[i]);\r\n if (nth.ok) {\r\n result[i] = nth.result;\r\n }\r\n else {\r\n return err(prependAt(\"[\" + i + \"]\", nth.error));\r\n }\r\n }\r\n return ok(result);\r\n }\r\n else {\r\n return err({ message: expectedGot(\"a tuple of length \" + decoders.length, json) });\r\n }\r\n });\r\n };\r\n Decoder.union = function (ad, bd) {\r\n var decoders = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n decoders[_i - 2] = arguments[_i];\r\n }\r\n return Decoder.oneOf.apply(Decoder, [ad, bd].concat(decoders));\r\n };\r\n Decoder.intersection = function (ad, bd) {\r\n var ds = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n ds[_i - 2] = arguments[_i];\r\n }\r\n return new Decoder(function (json) {\r\n return [ad, bd].concat(ds).reduce(function (acc, decoder) { return map2(Object.assign, acc, decoder.decode(json)); }, ok({}));\r\n });\r\n };\r\n /**\r\n * Escape hatch to bypass validation. Always succeeds and types the result as\r\n * `any`. Useful for defining decoders incrementally, particularly for\r\n * complex objects.\r\n *\r\n * Example:\r\n * ```\r\n * interface User {\r\n * name: string;\r\n * complexUserData: ComplexType;\r\n * }\r\n *\r\n * const userDecoder: Decoder<User> = object({\r\n * name: string(),\r\n * complexUserData: anyJson()\r\n * });\r\n * ```\r\n */\r\n Decoder.anyJson = function () { return new Decoder(function (json) { return ok(json); }); };\r\n /**\r\n * Decoder identity function which always succeeds and types the result as\r\n * `unknown`.\r\n */\r\n Decoder.unknownJson = function () {\r\n return new Decoder(function (json) { return ok(json); });\r\n };\r\n /**\r\n * Decoder for json objects where the keys are unknown strings, but the values\r\n * should all be of the same type.\r\n *\r\n * Example:\r\n * ```\r\n * dict(number()).run({chocolate: 12, vanilla: 10, mint: 37});\r\n * // => {ok: true, result: {chocolate: 12, vanilla: 10, mint: 37}}\r\n * ```\r\n */\r\n Decoder.dict = function (decoder) {\r\n return new Decoder(function (json) {\r\n if (isJsonObject(json)) {\r\n var obj = {};\r\n for (var key in json) {\r\n if (json.hasOwnProperty(key)) {\r\n var r = decoder.decode(json[key]);\r\n if (r.ok === true) {\r\n obj[key] = r.result;\r\n }\r\n else {\r\n return err(prependAt(\".\" + key, r.error));\r\n }\r\n }\r\n }\r\n return ok(obj);\r\n }\r\n else {\r\n return err({ message: expectedGot('an object', json) });\r\n }\r\n });\r\n };\r\n /**\r\n * Decoder for values that may be `undefined`. This is primarily helpful for\r\n * decoding interfaces with optional fields.\r\n *\r\n * Example:\r\n * ```\r\n * interface User {\r\n * id: number;\r\n * isOwner?: boolean;\r\n * }\r\n *\r\n * const decoder: Decoder<User> = object({\r\n * id: number(),\r\n * isOwner: optional(boolean())\r\n * });\r\n * ```\r\n */\r\n Decoder.optional = function (decoder) {\r\n return new Decoder(function (json) { return (json === undefined ? ok(undefined) : decoder.decode(json)); });\r\n };\r\n /**\r\n * Decoder that attempts to run each decoder in `decoders` and either succeeds\r\n * with the first successful decoder, or fails after all decoders have failed.\r\n *\r\n * Note that `oneOf` expects the decoders to all have the same return type,\r\n * while `union` creates a decoder for the union type of all the input\r\n * decoders.\r\n *\r\n * Examples:\r\n * ```\r\n * oneOf(string(), number().map(String))\r\n * oneOf(constant('start'), constant('stop'), succeed('unknown'))\r\n * ```\r\n */\r\n Decoder.oneOf = function () {\r\n var decoders = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n decoders[_i] = arguments[_i];\r\n }\r\n return new Decoder(function (json) {\r\n var errors = [];\r\n for (var i = 0; i < decoders.length; i++) {\r\n var r = decoders[i].decode(json);\r\n if (r.ok === true) {\r\n return r;\r\n }\r\n else {\r\n errors[i] = r.error;\r\n }\r\n }\r\n var errorsList = errors\r\n .map(function (error) { return \"at error\" + (error.at || '') + \": \" + error.message; })\r\n .join('\", \"');\r\n return err({\r\n message: \"expected a value matching one of the decoders, got the errors [\\\"\" + errorsList + \"\\\"]\"\r\n });\r\n });\r\n };\r\n /**\r\n * Decoder that always succeeds with either the decoded value, or a fallback\r\n * default value.\r\n */\r\n Decoder.withDefault = function (defaultValue, decoder) {\r\n return new Decoder(function (json) {\r\n return ok(withDefault(defaultValue, decoder.decode(json)));\r\n });\r\n };\r\n /**\r\n * Decoder that pulls a specific field out of a json structure, instead of\r\n * decoding and returning the full structure. The `paths` array describes the\r\n * object keys and array indices to traverse, so that values can be pulled out\r\n * of a nested structure.\r\n *\r\n * Example:\r\n * ```\r\n * const decoder = valueAt(['a', 'b', 0], string());\r\n *\r\n * decoder.run({a: {b: ['surprise!']}})\r\n * // => {ok: true, result: 'surprise!'}\r\n *\r\n * decoder.run({a: {x: 'cats'}})\r\n * // => {ok: false, error: {... at: 'input.a.b[0]' message: 'path does not exist'}}\r\n * ```\r\n *\r\n * Note that the `decoder` is ran on the value found at the last key in the\r\n * path, even if the last key is not found. This allows the `optional`\r\n * decoder to succeed when appropriate.\r\n * ```\r\n * const optionalDecoder = valueAt(['a', 'b', 'c'], optional(string()));\r\n *\r\n * optionalDecoder.run({a: {b: {c: 'surprise!'}}})\r\n * // => {ok: true, result: 'surprise!'}\r\n *\r\n * optionalDecoder.run({a: {b: 'cats'}})\r\n * // => {ok: false, error: {... at: 'input.a.b.c' message: 'expected an object, got \"cats\"'}\r\n *\r\n * optionalDecoder.run({a: {b: {z: 1}}})\r\n * // => {ok: true, result: undefined}\r\n * ```\r\n */\r\n Decoder.valueAt = function (paths, decoder) {\r\n return new Decoder(function (json) {\r\n var jsonAtPath = json;\r\n for (var i = 0; i < paths.length; i++) {\r\n if (jsonAtPath === undefined) {\r\n return err({\r\n at: printPath(paths.slice(0, i + 1)),\r\n message: 'path does not exist'\r\n });\r\n }\r\n else if (typeof paths[i] === 'string' && !isJsonObject(jsonAtPath)) {\r\n return err({\r\n at: printPath(paths.slice(0, i + 1)),\r\n message: expectedGot('an object', jsonAtPath)\r\n });\r\n }\r\n else if (typeof paths[i] === 'number' && !isJsonArray(jsonAtPath)) {\r\n return err({\r\n at: printPath(paths.slice(0, i + 1)),\r\n message: expectedGot('an array', jsonAtPath)\r\n });\r\n }\r\n else {\r\n jsonAtPath = jsonAtPath[paths[i]];\r\n }\r\n }\r\n return mapError(function (error) {\r\n return jsonAtPath === undefined\r\n ? { at: printPath(paths), message: 'path does not exist' }\r\n : prependAt(printPath(paths), error);\r\n }, decoder.decode(jsonAtPath));\r\n });\r\n };\r\n /**\r\n * Decoder that ignores the input json and always succeeds with `fixedValue`.\r\n */\r\n Decoder.succeed = function (fixedValue) {\r\n return new Decoder(function (json) { return ok(fixedValue); });\r\n };\r\n /**\r\n * Decoder that ignores the input json and always fails with `errorMessage`.\r\n */\r\n Decoder.fail = function (errorMessage) {\r\n return new Decoder(function (json) { return err({ message: errorMessage }); });\r\n };\r\n /**\r\n * Decoder that allows for validating recursive data structures. Unlike with\r\n * functions, decoders assigned to variables can't reference themselves\r\n * before they are fully defined. We can avoid prematurely referencing the\r\n * decoder by wrapping it in a function that won't be called until use, at\r\n * which point the decoder has been defined.\r\n *\r\n * Example:\r\n * ```\r\n * interface Comment {\r\n * msg: string;\r\n * replies: Comment[];\r\n * }\r\n *\r\n * const decoder: Decoder<Comment> = object({\r\n * msg: string(),\r\n * replies: lazy(() => array(decoder))\r\n * });\r\n * ```\r\n */\r\n Decoder.lazy = function (mkDecoder) {\r\n return new Decoder(function (json) { return mkDecoder().decode(json); });\r\n };\r\n return Decoder;\r\n}());\n\n/* tslint:disable:variable-name */\r\n/** See `Decoder.string` */\r\nvar string = Decoder.string;\r\n/** See `Decoder.number` */\r\nvar number = Decoder.number;\r\n/** See `Decoder.boolean` */\r\nvar boolean = Decoder.boolean;\r\n/** See `Decoder.anyJson` */\r\nvar anyJson = Decoder.anyJson;\r\n/** See `Decoder.unknownJson` */\r\nvar unknownJson = Decoder.unknownJson;\r\n/** See `Decoder.constant` */\r\nvar constant = Decoder.constant;\r\n/** See `Decoder.object` */\r\nvar object = Decoder.object;\r\n/** See `Decoder.array` */\r\nvar array = Decoder.array;\r\n/** See `Decoder.tuple` */\r\nvar tuple = Decoder.tuple;\r\n/** See `Decoder.dict` */\r\nvar dict = Decoder.dict;\r\n/** See `Decoder.optional` */\r\nvar optional = Decoder.optional;\r\n/** See `Decoder.oneOf` */\r\nvar oneOf = Decoder.oneOf;\r\n/** See `Decoder.union` */\r\nvar union = Decoder.union;\r\n/** See `Decoder.intersection` */\r\nvar intersection = Decoder.intersection;\r\n/** See `Decoder.withDefault` */\r\nvar withDefault$1 = Decoder.withDefault;\r\n/** See `Decoder.valueAt` */\r\nvar valueAt = Decoder.valueAt;\r\n/** See `Decoder.succeed` */\r\nvar succeed = Decoder.succeed;\r\n/** See `Decoder.fail` */\r\nvar fail = Decoder.fail;\r\n/** See `Decoder.lazy` */\r\nvar lazy = Decoder.lazy;\n\nexport { result as Result, Decoder, isDecoderError, string, number, boolean, anyJson, unknownJson, constant, object, array, tuple, dict, optional, oneOf, union, intersection, withDefault$1 as withDefault, valueAt, succeed, fail, lazy };\n//# sourceMappingURL=index.es5.js.map\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Map = exports.emptyMap = exports.TextMap = exports.Optional = exports.ContractId = exports.Date = exports.List = exports.Party = exports.Time = exports.Text = exports.Decimal = exports.Numeric = exports.Int = exports.Bool = exports.Unit = exports.lookupTemplate = exports.templateIdWithPackageId = exports.registerTemplate = void 0;\nexports.assembleTemplate = assembleTemplate;\nexports.assembleInterface = assembleInterface;\nexports.memo = memo;\nexports.lazyMemo = lazyMemo;\n// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar jtv = __importStar(require(\"@mojotech/json-type-validation\"));\nvar lodash_1 = __importDefault(require(\"lodash\"));\nvar InterfaceBrand = Symbol();\nvar FromTemplateBrand = Symbol();\nfunction toInterfaceMixin() {\n return {\n toInterface: function (_, cid) {\n return cid;\n },\n unsafeFromInterface: function (_, cid) {\n return cid;\n },\n };\n}\n/**\n * @internal\n */\nfunction assembleTemplate(template) {\n var _interfaces = []; // eslint-disable-line @typescript-eslint/no-unused-vars\n for (var _i = 1 // eslint-disable-line @typescript-eslint/no-unused-vars\n ; _i < arguments.length // eslint-disable-line @typescript-eslint/no-unused-vars\n ; _i++ // eslint-disable-line @typescript-eslint/no-unused-vars\n ) {\n _interfaces[_i - 1] = arguments[_i]; // eslint-disable-line @typescript-eslint/no-unused-vars\n }\n return __assign(__assign({}, toInterfaceMixin()), template);\n}\n/**\n * @internal\n */\nfunction assembleInterface(templateId, decoderSource, choices) {\n return __assign({ templateId: templateId, sdkVersion: \"3.3.0-snapshot.20250528.13806.0.v3cd439fb\", \n // `Interface<I> &` is a phantom intersection\n decoder: lazyMemo(function () { return decoderSource().decoder; }), keyDecoder: jtv.succeed(undefined) }, choices);\n}\n/**\n * @internal\n */\nvar registeredTemplates = {};\n/**\n * @internal\n */\nvar registerTemplate = function (template, packageSpecifiers) {\n if (packageSpecifiers === void 0) { packageSpecifiers = []; }\n var aliases = packageSpecifiers.map((0, exports.templateIdWithPackageId)(template));\n new Set([template.templateId].concat(aliases)).forEach(function (templateId) {\n if (templateId in registeredTemplates) {\n console.warn(\"Trying to re-register template \".concat(templateId, \".\"));\n }\n else {\n registeredTemplates[templateId] = template;\n console.debug(\"Registered template \".concat(templateId, \".\"));\n }\n });\n};\nexports.registerTemplate = registerTemplate;\n/**\n * @internal\n */\nvar templateIdWithPackageId = function (t) {\n return function (pkgId) {\n return [pkgId].concat(t.templateId.split(\":\").slice(1)).join(\":\");\n };\n};\nexports.templateIdWithPackageId = templateIdWithPackageId;\n/**\n * @internal\n */\nvar lookupTemplate = function (templateId) {\n var template = registeredTemplates[templateId];\n if (template === undefined) {\n throw Error(\"Failed to look up template \".concat(templateId, \". Make sure your @daml/types version agrees with the used Daml SDK version.\"));\n }\n return template;\n};\nexports.lookupTemplate = lookupTemplate;\n/**\n * @internal Turn a thunk into a memoized version of itself. The memoized thunk\n * invokes the original thunk only on its first invocation and caches the result\n * for later uses. We use this to implement a version of `jtv.lazy` with\n * memoization.\n */\nfunction memo(thunk) {\n var memoized = function () {\n var cache = thunk();\n memoized = function () { return cache; };\n return cache;\n };\n // NOTE(MH): Since we change `memoized` when the resultung thunk is invoked\n // for the first time, we need to return it \"by reference\". Thus, we return\n // a closure which contains a reference to `memoized`.\n return function () { return memoized(); };\n}\n/**\n * @internal Variation of `jtv.lazy` which memoizes the computed decoder on its\n * first invocation.\n */\nfunction lazyMemo(mkDecoder) {\n return jtv.lazy(memo(mkDecoder));\n}\n/**\n * Companion object of the [[Unit]] type.\n */\nexports.Unit = {\n decoder: jtv.object({}),\n encode: function (t) { return t; },\n};\n/**\n * Companion object of the [[Bool]] type.\n */\nexports.Bool = {\n decoder: jtv.boolean(),\n encode: function (b) { return b; },\n};\n/**\n * Companion object of the [[Int]] type.\n */\nexports.Int = {\n decoder: jtv.string(),\n encode: function (i) { return i; },\n};\n/**\n * Companion function of the [[Numeric]] type.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar Numeric = function (_) { return ({\n decoder: jtv.string(),\n encode: function (n) { return n; },\n}); };\nexports.Numeric = Numeric;\n/**\n * Companion object of the [[Decimal]] type.\n */\nexports.Decimal = (0, exports.Numeric)(10);\n/**\n * Companion object of the [[Text]] type.\n */\nexports.Text = {\n decoder: jtv.string(),\n encode: function (t) { return t; },\n};\n/**\n * Companion object of the [[Time]] type.\n */\nexports.Time = {\n decoder: jtv.string(),\n encode: function (t) { return t; },\n};\n/**\n * Companion object of the [[Party]] type.\n */\nexports.Party = {\n decoder: jtv.string(),\n encode: function (p) { return p; },\n};\n/**\n * Companion object of the [[List]] type.\n */\nvar List = function (t) { return ({\n decoder: jtv.array(t.decoder),\n encode: function (l) { return l.map(function (element) { return t.encode(element); }); },\n}); };\nexports.List = List;\n/**\n * Companion object of the [[Date]] type.\n */\nexports.Date = {\n decoder: jtv.string(),\n encode: function (d) { return d; },\n};\n/**\n * Used to `brand` [[ContractId]].\n */\nvar ContractIdBrand = Symbol();\n/**\n * Companion object of the [[ContractId]] type.\n */\nvar ContractId = function (_t) { return ({\n decoder: jtv.string(),\n encode: function (c) { return c; },\n}); };\nexports.ContractId = ContractId;\n/**\n * This class does the actual work behind the [[Optional]] companion function. In addition to\n * implementing the [[Serializable]] interface it also stores the [[Serializable]] instance of the\n * payload of the [[Optional]] and uses it to provide a decoder for the [[OptionalInner]] type.\n *\n * @typeparam T The type of the optionally present value.\n */\nvar OptionalWorker = /** @class */ (function () {\n function OptionalWorker(payload) {\n if (payload instanceof OptionalWorker) {\n var payloadInnerDecoder = payload.innerDecoder;\n this.innerDecoder = jtv.oneOf(jtv.constant([]), jtv.tuple([payloadInnerDecoder]));\n this.encode = function (o) {\n if (o === null) {\n // Top-level enclosing Optional where the type argument is also\n // Optional and we represent None.\n return null;\n }\n else {\n // The current type is Optional<Optional<...>> and the current value\n // is Some x. Therefore the nested value is represented as [] for\n // x = None or as [y] for x = Some y. In both cases mapping the\n // encoder of the type parameter does the right thing.\n return o.map(function (nested) { return payload.encode(nested); });\n }\n };\n }\n else {\n // NOTE(MH): `T` is not of the form `Optional<U>` here and hence `null`\n // does not extend `T`. Thus, `OptionalInner<T> = T`.\n this.innerDecoder = payload.decoder;\n this.encode = function (o) {\n if (o === null) {\n // This branch is only reached if we are at the top-level and the\n // entire type is a non-nested Optional, i.e. Optional<U> where U is\n // not Optional. Recursive calls from the other branch would stop\n // before reaching this case, as nested None are empty lists and\n // never null.\n return null;\n }\n else {\n return payload.encode(o);\n }\n };\n }\n this.decoder = jtv\n .optional(jtv.oneOf(jtv.constant(null), this.innerDecoder))\n .map(function (x) { return (x === undefined ? null : x); });\n }\n return OptionalWorker;\n}());\n/**\n * Companion function of the [[Optional]] type.\n */\nvar Optional = function (t) {\n return new OptionalWorker(t);\n};\nexports.Optional = Optional;\n/**\n * Companion object of the [[TextMap]] type.\n */\nvar TextMap = function (t) { return ({\n decoder: jtv.dict(t.decoder),\n encode: function (tm) {\n var out = {};\n Object.keys(tm).forEach(function (k) {\n out[k] = t.encode(tm[k]);\n });\n return out;\n },\n}); };\nexports.TextMap = TextMap;\nfunction it(arr) {\n var i;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n i = 0;\n _a.label = 1;\n case 1:\n if (!(i < arr.length)) return [3 /*break*/, 4];\n return [4 /*yield*/, lodash_1.default.cloneDeep(arr[i])];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3:\n i++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/, undefined];\n }\n });\n}\n// This code assumes that the decoder is only ever used in decoding values\n// straight from the API responses, and said raw responses are never reused\n// afterwards. This should be enforced by this class not being exported and the\n// daml-ledger module not letting raw JSON responses escape without going\n// through this.\n//\n// Without that assumption, the constructor would need to deep-copy its kvs\n// argument.\nvar MapImpl = /** @class */ (function () {\n function MapImpl(kvs) {\n // sorting done so that generic object deep comparison would find equal\n // maps equal (as defined by jest's expect().toEqual())\n this._kvs = lodash_1.default.sortBy(kvs, function (kv) { return JSON.stringify(kv[0]); });\n this._keys = this._kvs.map(function (e) { return e[0]; });\n this._values = this._kvs.map(function (e) { return e[1]; });\n }\n MapImpl.prototype._idx = function (k) {\n return this._keys.findIndex(function (l) { return lodash_1.default.isEqual(k, l); });\n };\n MapImpl.prototype.has = function (k) {\n return this._idx(k) !== -1;\n };\n MapImpl.prototype.get = function (k) {\n return lodash_1.default.cloneDeep(this._values[this._idx(k)]);\n };\n MapImpl.prototype.set = function (k, v) {\n if (this.has(k)) {\n var cpy = this._kvs.slice();\n cpy[this._idx(k)] = lodash_1.default.cloneDeep([k, v]);\n return new MapImpl(cpy);\n }\n else {\n var head = lodash_1.default.cloneDeep([[k, v]]);\n return new MapImpl(head.concat(this._kvs));\n }\n };\n MapImpl.prototype.delete = function (k) {\n var i = this._idx(k);\n if (i !== -1) {\n return new MapImpl(this._kvs.slice(0, i).concat(this._kvs.slice(i + 1)));\n }\n else {\n return this;\n }\n };\n MapImpl.prototype.keys = function () {\n return it(this._keys);\n };\n MapImpl.prototype.values = function () {\n return it(this._values);\n };\n MapImpl.prototype.entries = function () {\n return it(this._kvs);\n };\n MapImpl.prototype.entriesArray = function () {\n return lodash_1.default.cloneDeep(this._kvs);\n };\n MapImpl.prototype.forEach = function (f, u) {\n var g = u ? f.bind(u) : f;\n for (var _i = 0, _a = this._kvs; _i < _a.length; _i++) {\n var _b = _a[_i], k = _b[0], v = _b[1];\n g(v, k, this);\n }\n };\n return MapImpl;\n}());\nvar emptyMap = function () { return new MapImpl([]); };\nexports.emptyMap = emptyMap;\n/**\n * Companion function of the [[GenMap]] type.\n */\nvar Map = function (kd, vd) { return ({\n decoder: jtv\n .array(jtv.tuple([kd.decoder, vd.decoder]))\n .map(function (kvs) { return new MapImpl(kvs); }),\n encode: function (m) {\n return m.entriesArray().map(function (e) { return [kd.encode(e[0]), vd.encode(e[1])]; });\n },\n}); };\nexports.Map = Map;\n//# sourceMappingURL=index.js.map","// Save global object in a variable\nvar __global__ =\n(typeof globalThis !== 'undefined' && globalThis) ||\n(typeof self !== 'undefined' && self) ||\n(typeof global !== 'undefined' && global);\n// Create an object that extends from __global__ without the fetch function\nvar __globalThis__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = __global__.DOMException\n}\nF.prototype = __global__; // Needed for feature detection on whatwg-fetch's code\nreturn new F();\n})();\n// Wraps whatwg-fetch with a function scope to hijack the global object\n// \"globalThis\" that's going to be patched\n(function(globalThis) {\n\nvar irrelevant = (function (exports) {\n\n /* eslint-disable no-prototype-builtins */\n var g =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n // eslint-disable-next-line no-undef\n (typeof global !== 'undefined' && global) ||\n {};\n\n var support = {\n searchParams: 'URLSearchParams' in g,\n iterable: 'Symbol' in g && 'iterator' in Symbol,\n blob:\n 'FileReader' in g &&\n 'Blob' in g &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in g,\n arrayBuffer: 'ArrayBuffer' in g\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n if (header.length != 2) {\n throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length)\n }\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body._noBody) return\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);\n var encoding = match ? match[1] : 'utf-8';\n reader.readAsText(blob, encoding);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n // eslint-disable-next-line no-self-assign\n this.bodyUsed = this.bodyUsed;\n this._bodyInit = body;\n if (!body) {\n this._noBody = true;\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this);\n if (isConsumed) {\n return isConsumed\n } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else if (support.blob) {\n return this.blob().then(readBlobAsArrayBuffer)\n } else {\n throw new Error('could not read as ArrayBuffer')\n }\n };\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal || (function () {\n if ('AbortController' in g) {\n var ctrl = new AbortController();\n return ctrl.signal;\n }\n }());\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/;\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/;\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n }\n }\n }\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n try {\n headers.append(key, value);\n } catch (error) {\n console.warn('Response ' + error.message);\n }\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n if (this.status < 200 || this.status > 599) {\n throw new RangeError(\"Failed to construct 'Response': The status provided (0) is outside the range [200, 599].\")\n }\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 200, statusText: ''});\n response.ok = false;\n response.status = 0;\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = g.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n // This check if specifically for when a user fetches a file locally from the file system\n // Only if the status is out of a normal range\n if (request.url.indexOf('file://') === 0 && (xhr.status < 200 || xhr.status > 599)) {\n options.status = 200;\n } else {\n options.status = xhr.status;\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n setTimeout(function() {\n resolve(new Response(body, options));\n }, 0);\n };\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request timed out'));\n }, 0);\n };\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n }, 0);\n };\n\n function fixUrl(url) {\n try {\n return url === '' && g.location.href ? g.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob';\n } else if (\n support.arrayBuffer\n ) {\n xhr.responseType = 'arraybuffer';\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) {\n var names = [];\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n names.push(normalizeName(name));\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n });\n request.headers.forEach(function(value, name) {\n if (names.indexOf(name) === -1) {\n xhr.setRequestHeader(name, value);\n }\n });\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!g.fetch) {\n g.fetch = fetch;\n g.Headers = Headers;\n g.Request = Request;\n g.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__globalThis__);\n// This is a ponyfill, so...\n__globalThis__.fetch.ponyfill = true;\ndelete __globalThis__.fetch.polyfill;\n// Choose between native implementation (__global__) or custom implementation (__globalThis__)\nvar ctx = __global__.fetch ? __global__ : __globalThis__;\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","// https://github.com/maxogden/websocket-stream/blob/48dc3ddf943e5ada668c31ccd94e9186f02fafbd/ws-fallback.js\n\nvar ws = null\n\nif (typeof WebSocket !== 'undefined') {\n ws = WebSocket\n} else if (typeof MozWebSocket !== 'undefined') {\n ws = MozWebSocket\n} else if (typeof global !== 'undefined') {\n ws = global.WebSocket || global.MozWebSocket\n} else if (typeof window !== 'undefined') {\n ws = window.WebSocket || window.MozWebSocket\n} else if (typeof self !== 'undefined') {\n ws = self.WebSocket || self.MozWebSocket\n}\n\nmodule.exports = ws\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ledger = exports.WsState = exports.UserRightHelper = void 0;\nexports.assert = assert;\n// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar types_1 = require(\"@daml/types\");\nvar jtv = __importStar(require(\"@mojotech/json-type-validation\"));\nvar cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nvar events_1 = require(\"events\");\nvar isomorphic_ws_1 = __importDefault(require(\"isomorphic-ws\"));\nvar lodash_1 = __importStar(require(\"lodash\"));\nvar partyInfoDecoder = jtv.object({\n identifier: jtv.string(),\n isLocal: jtv.boolean(),\n});\nvar userDecoder = jtv.object({\n userId: jtv.string(),\n primaryParty: jtv.optional(jtv.string()),\n});\nvar UserRightHelper = /** @class */ (function () {\n function UserRightHelper() {\n }\n UserRightHelper.canActAs = function (party) {\n return { type: \"CanActAs\", party: party };\n };\n UserRightHelper.canReadAs = function (party) {\n return { type: \"CanReadAs\", party: party };\n };\n UserRightHelper.participantAdmin = {\n type: \"ParticipantAdmin\",\n };\n return UserRightHelper;\n}());\nexports.UserRightHelper = UserRightHelper;\nvar userRightDecoder = jtv.oneOf(jtv.object({\n type: jtv.constant(\"CanActAs\"),\n party: jtv.string(),\n}), jtv.object({\n type: jtv.constant(\"CanReadAs\"),\n party: jtv.string(),\n}), jtv.object({\n type: jtv.constant(\"ParticipantAdmin\"),\n}));\nvar decode = function (decoder, data) {\n return jtv.Result.withException(decoder.run(data));\n};\nfunction lookupTemplateOrUnknownInterface(templateId) {\n try {\n return (0, types_1.lookupTemplate)(templateId);\n }\n catch (e) {\n if (e instanceof Error)\n return {\n templateId: templateId,\n sdkVersion: \"3.3.0-snapshot.20250528.13806.0.v3cd439fb\",\n // there is no way to properly decode in this case, so we\n // discard the data instead. #15042\n decoder: jtv.succeed({}),\n keyDecoder: jtv.succeed(undefined),\n };\n else\n throw e;\n }\n}\nvar decodeTemplateId = function () {\n return jtv.string();\n};\n/**\n * Decoder for a [[CreateEvent]].\n */\nvar decodeCreateEvent = function (template) {\n return jtv.object({\n templateId: decodeTemplateId(),\n contractId: (0, types_1.ContractId)(template).decoder,\n signatories: (0, types_1.List)(types_1.Party).decoder,\n observers: (0, types_1.List)(types_1.Party).decoder,\n key: template.keyDecoder,\n payload: template.decoder,\n });\n};\n/**\n * Decoder for a [[CreateEvent]] of unknown contract template.\n */\nvar decodeCreateEventUnknown = jtv\n .valueAt([\"templateId\"], jtv.string())\n .andThen(function (templateId) {\n return decodeCreateEvent(lookupTemplateOrUnknownInterface(templateId));\n});\n/**\n * Decoder for an [[ArchiveEvent]].\n */\nvar decodeArchiveEvent = function (template) {\n return jtv.object({\n templateId: decodeTemplateId(),\n contractId: (0, types_1.ContractId)(template).decoder,\n });\n};\n/**\n * Decoder for an [[ArchiveEvent]] of unknown contract template.\n */\nvar decodeArchiveEventUnknown = jtv\n .valueAt([\"templateId\"], jtv.string())\n .andThen(function (templateId) {\n return decodeArchiveEvent(lookupTemplateOrUnknownInterface(templateId));\n});\n/**\n * Decoder for an [[Event]].\n */\nvar decodeEvent = function (template) {\n return jtv.oneOf(jtv.object({\n created: decodeCreateEvent(template),\n matchedQueries: jtv.array(jtv.number()),\n }), jtv.object({ created: decodeCreateEvent(template) }), jtv.object({ archived: decodeArchiveEvent(template) }));\n};\n/**\n * Decoder for an [[Event]] with unknown contract template.\n */\nvar decodeEventUnknown = jtv.oneOf(jtv.object({\n created: decodeCreateEventUnknown,\n matchedQueries: jtv.array(jtv.number()),\n}), jtv.object({ created: decodeCreateEventUnknown }), jtv.object({ archived: decodeArchiveEventUnknown }));\n/**\n * @internal\n */\nfunction stripPackage(templateId) {\n return templateId.split(\":\").slice(1).join(\":\");\n}\n/**\n * @internal\n */\nfunction decodeArchiveResponse(template, archiveMethod, \n// eslint-disable-next-line @typescript-eslint/ban-types\narchiveCommand) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, events;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, archiveCommand()];\n case 1:\n _a = _c.sent(), _b = _a[0], events = _a[1];\n if (events.length === 1 &&\n \"archived\" in events[0] &&\n stripPackage(events[0].archived.templateId) ===\n stripPackage(template.templateId)) {\n return [2 /*return*/, events[0].archived];\n }\n else {\n throw Error(\"Ledger.\".concat(archiveMethod, \" is expected to cause one archive event for template \").concat(template.templateId, \" but caused \").concat(JSON.stringify(events), \".\"));\n }\n return [2 /*return*/];\n }\n });\n });\n}\n/**\n * @internal\n */\nfunction isRecordWith(field, x) {\n return typeof x === \"object\" && x !== null && field in x;\n}\n/**\n *\n * @internal\n */\nfunction isCreateWithMatchedQueries(event) {\n return isRecordWith(\"created\", event);\n}\n/** @internal\n * exported for testing only\n */\nfunction assert(b, m) {\n if (!b) {\n throw m;\n }\n}\n// TODO(MH): Support comparison queries.\n/** @internal\n *\n * Official documentation (docs/source/json-api/search-query-language.rst)\n * currently explicitly forbids the use of lists, textmaps and genmaps in\n * queries. As long as that restriction stays, there is no need for any kind of\n * encoding here.\n */\nfunction encodeQuery(_template, query) {\n return query;\n}\n/**\n * @internal\n */\nvar decodeLedgerResponse = jtv.object({\n status: jtv.number(),\n result: jtv.unknownJson(),\n warnings: jtv.optional(jtv.unknownJson()),\n});\n/**\n * @internal\n */\nvar decodeLedgerError = jtv.object({\n status: jtv.number(),\n errors: jtv.array(jtv.string()),\n warnings: jtv.optional(jtv.unknownJson()),\n});\nvar StreamEventEmitter = /** @class */ (function (_super) {\n __extends(StreamEventEmitter, _super);\n function StreamEventEmitter(_a) {\n var beforeClosing = _a.beforeClosing;\n var _this = _super.call(this) || this;\n _this.beforeClosing = beforeClosing;\n return _this;\n }\n StreamEventEmitter.prototype.close = function () {\n this.beforeClosing();\n this.emit(\"close\", { code: 4000, reason: \"called .close()\" });\n this.removeAllListeners();\n };\n return StreamEventEmitter;\n}(events_1.EventEmitter));\nvar NoOffsetReceivedYet = Symbol(\"NoOffsetReceivedYet\");\nvar NullOffsetReceived = Symbol(\"NullOffsetReceived\");\nfunction append(map, key, value) {\n var _a;\n if (map.has(key)) {\n (_a = map.get(key)) === null || _a === void 0 ? void 0 : _a.push(value);\n }\n else {\n map.set(key, [value]);\n }\n}\n/**\n * @deprecated All usages of this function should be replaced by just\n * iterating over the iterator. For this to happen, the TS\n * compiler requires the --downlevelIteration flag, which\n * however does not play nicely with Jest when running the\n * tests.\n *\n * TODO Moving the compilation target to ES6 probably would solve this, investigate.\n */\nfunction materialize(iterator) {\n return Array.from(iterator);\n}\nvar WsState;\n(function (WsState) {\n WsState[WsState[\"Connecting\"] = 0] = \"Connecting\";\n WsState[WsState[\"Open\"] = 1] = \"Open\";\n WsState[WsState[\"Closing\"] = 2] = \"Closing\";\n WsState[WsState[\"Closed\"] = 3] = \"Closed\";\n})(WsState || (exports.WsState = WsState = {}));\n/**\n * @internal\n *\n * A special handler for stream requests to the /v1/stream/query endpoint.\n * The query endpoint supports providing offsets on a per-query basis.\n * This class leverages this feature by multiplexing virtual streaming requests to a single web socket.\n */\nvar QueryStreamsManager = /** @class */ (function () {\n function QueryStreamsManager(_a) {\n var token = _a.token, wsBaseUrl = _a.wsBaseUrl, reconnectThreshold = _a.reconnectThreshold;\n // Mutable state BEGIN\n // Ongoing streaming queries that will be the downstream consumers of web socket messages\n this.queries = new Set();\n // Lookup tables used to route events to the relevant consumers:\n // - consumers for create events can be looked up based on their match index\n // - store the offset by which a match indexes needs to be shifted before the event is passed to the consumer\n // - archive events can be lookup up by template identifier\n // - this causes the consumer to observe what is known as \"phantom archives\", which are known and documented\n this.matchIndexLookupTable = [];\n this.templateIdsLookupTable = {};\n // Accumulates each query in a flattened form to be sent as a single request to the JSON API\n this.request = [];\n // to track changes on web socket queries\n this.wsQueriesChange = false;\n this.protocols = [\"jwt.token.\" + token, \"daml.ws.auth\"];\n this.url = wsBaseUrl + QueryStreamsManager.ENDPOINT;\n this.reconnectThresholdMs = reconnectThreshold;\n }\n QueryStreamsManager.toRequest = function (query) {\n var request = query.queries.length == 0\n ? [{ templateIds: [query.template.templateId] }]\n : query.queries.map(function (q) { return ({\n templateIds: [query.template.templateId],\n query: encodeQuery(query.template, q),\n }); });\n if (typeof query.offset === \"string\") {\n for (var _i = 0, request_1 = request; _i < request_1.length; _i++) {\n var r = request_1[_i];\n r.offset = query.offset;\n }\n }\n return request;\n };\n QueryStreamsManager.prototype.resetAllState = function () {\n // close ws if defined\n if (this.ws !== undefined) {\n this.ws.close();\n }\n this.queries.clear();\n this.matchIndexLookupTable = [];\n this.templateIdsLookupTable = {};\n this.request = [];\n this.ws = undefined;\n this.wsLiveSince = undefined;\n this.wsQueriesChange = false;\n };\n QueryStreamsManager.prototype.handleQueriesChange = function () {\n //eslint-disable-next-line @typescript-eslint/no-this-alias\n var manager = this; // stable self-reference for callbacks\n if (manager.queries.size > 0) {\n if (manager.ws !== undefined) {\n //set the queries change flag to true, this should eventually get reset once the ws is closed.\n manager.wsQueriesChange = true;\n manager.wsLiveSince = undefined;\n manager.ws.close();\n manager.ws = undefined;\n }\n var ws = new isomorphic_ws_1.default(manager.url, manager.protocols);\n var onWsMessage_1 = function (ws) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (_a) {\n var data = _a.data;\n if (ws.readyState === WsState.Open) {\n var json = JSON.parse(data.toString());\n if (isRecordWith(\"events\", json)) {\n var events = jtv.Result.withException(jtv.array(decodeEventUnknown).run(json.events));\n var multiplexer = new Map();\n for (var _i = 0, events_2 = events; _i < events_2.length; _i++) {\n var event_1 = events_2[_i];\n if (isCreateWithMatchedQueries(event_1)) {\n var consumersToMatchedQueries = new Map();\n for (var _b = 0, _c = event_1.matchedQueries; _b < _c.length; _b++) {\n var matchIndex = _c[_b];\n var _d = manager.matchIndexLookupTable[matchIndex], consumer = _d[0], matchIndexOffset = _d[1];\n append(consumersToMatchedQueries, consumer, matchIndexOffset);\n }\n for (var _e = 0, _f = materialize(consumersToMatchedQueries.entries()); _e < _f.length; _e++) {\n var _g = _f[_e], consumer = _g[0], matchedQueries = _g[1];\n // Create a new copy of the event for each consumer to freely mangle the matched queries and avoid sharing mutable state\n append(multiplexer, consumer, __assign(__assign({}, event_1), { matchedQueries: matchedQueries }));\n }\n }\n else if (\"archived\" in event_1) {\n var consumers = manager.templateIdsLookupTable[event_1.archived.templateId];\n for (var _h = 0, _j = materialize(consumers.values()); _h < _j.length; _h++) {\n var consumer = _j[_h];\n // Create a new copy of the event for each consumer to avoid sharing mutable state\n append(multiplexer, consumer, __assign({}, event_1));\n }\n }\n else {\n console.error(\"\".concat(event_1, \" unknown event type received, expected created with matchedQueries or archived\"), json);\n }\n }\n for (var _k = 0, _m = materialize(multiplexer.entries()); _k < _m.length; _k++) {\n var _o = _m[_k], consumer = _o[0], events_4 = _o[1];\n for (var _p = 0, events_3 = events_4; _p < events_3.length; _p++) {\n var event_2 = events_3[_p];\n if (isCreateWithMatchedQueries(event_2)) {\n consumer.state.set(event_2.created.contractId, event_2.created);\n }\n else if (\"archived\" in event_2) {\n consumer.state.delete(event_2.archived.contractId);\n }\n }\n consumer.stream.emit(\"change\", Array.from(consumer.state.values()), events_4);\n }\n if (isRecordWith(\"offset\", json)) {\n var offset = jtv.Result.withException(jtv.oneOf(jtv.constant(null), jtv.string()).run(json.offset));\n if (manager.wsLiveSince === undefined) {\n //on receiving the first offset event we consider the web socket to be live.\n manager.wsLiveSince = Date.now();\n }\n for (var _q = 0, _r = materialize(manager.queries.values()); _q < _r.length; _q++) {\n var consumer = _r[_q];\n if (!(typeof consumer.offset === \"string\")) {\n // Rebuilding the state array from scratch to make sure mutable state is not shared between the 'change' and 'live' event\n consumer.stream.emit(\"live\", Array.from(consumer.state.values()));\n }\n if (typeof offset === \"string\") {\n consumer.offset = offset;\n }\n else {\n consumer.offset = NullOffsetReceived;\n }\n }\n }\n }\n else if (isRecordWith(\"warnings\", json)) {\n for (var _s = 0, _u = materialize(manager.queries.values()); _s < _u.length; _s++) {\n var query = _u[_s];\n console.warn(\"\".concat(query.caller, \" warnings\"), json);\n }\n }\n else if (isRecordWith(\"errors\", json)) {\n for (var _v = 0, _w = materialize(manager.queries.values()); _v < _w.length; _v++) {\n var query = _w[_v];\n console.warn(\"\".concat(query.caller, \" errors\"), json);\n }\n }\n else {\n for (var _x = 0, _y = materialize(manager.queries.values()); _x < _y.length; _x++) {\n var query = _y[_x];\n console.error(\"\".concat(query.caller, \" unknown message\"), json);\n }\n }\n }\n };\n };\n var onWsOpen_1 = function () {\n var _a;\n // only make a new websocket request if we have registered queries\n if (manager.queries.size > 0) {\n var newRequests = [];\n var newMatchIndexLookupTable = [];\n for (var _i = 0, _b = materialize(manager.queries.values()); _i < _b.length; _i++) {\n var query = _b[_i];\n var request = QueryStreamsManager.toRequest(query);\n // Add entries to the lookup table for create events\n var matchIndexOffset = newMatchIndexLookupTable.length;\n var matchIndexLookupTableEntries = new Array(request.length).fill([query, matchIndexOffset]);\n newMatchIndexLookupTable = newMatchIndexLookupTable.concat(matchIndexLookupTableEntries);\n // Add entries to the lookup table for archive events\n for (var _c = 0, request_2 = request; _c < request_2.length; _c++) {\n var templateIds = request_2[_c].templateIds;\n for (var _d = 0, templateIds_1 = templateIds; _d < templateIds_1.length; _d++) {\n var templateId = templateIds_1[_d];\n manager.templateIdsLookupTable[templateId] =\n manager.templateIdsLookupTable[templateId] || new Set();\n manager.templateIdsLookupTable[templateId].add(query);\n }\n }\n //since we go through all queries on the manager, we should be safely able to rebuild the whole request\n newRequests = newRequests.concat(request);\n }\n manager.request = newRequests;\n manager.matchIndexLookupTable = newMatchIndexLookupTable;\n (_a = manager.ws) === null || _a === void 0 ? void 0 : _a.send(JSON.stringify(Array.from(manager.request.values())));\n }\n };\n var onWsClose_1 = function () {\n //if not a web socket queries change then we need to initiate reconnect logic.\n if (!manager.wsQueriesChange) {\n // The web socket has been closed due to an error\n // If the conditions are met, attempt to reconnect and/or inform downstream consumers\n var now = Date.now();\n if (manager.wsLiveSince !== undefined &&\n now - manager.wsLiveSince >= manager.reconnectThresholdMs) {\n console.log(\"Reconnecting ws, previously liveSince: \".concat(manager.wsLiveSince, \" and reconnectThresholdMs: \").concat(manager.reconnectThresholdMs));\n manager.wsLiveSince = undefined;\n var ws_1 = new isomorphic_ws_1.default(manager.url, manager.protocols);\n ws_1.addEventListener(\"open\", onWsOpen_1);\n ws_1.addEventListener(\"message\", onWsMessage_1(ws_1));\n ws_1.addEventListener(\"close\", onWsClose_1);\n manager.ws = ws_1;\n }\n else {\n // ws has closed too quickly / never managed to connect: we give up\n for (var _i = 0, _a = materialize(manager.queries.values()); _i < _a.length; _i++) {\n var consumer = _a[_i];\n consumer.stream.emit(\"close\", {\n code: 4001,\n reason: \"ws connection failed\",\n });\n consumer.stream.removeAllListeners();\n }\n manager.resetAllState();\n }\n }\n else {\n //this was triggered due to queries change , reset the flag\n manager.wsQueriesChange = false;\n }\n };\n // Purposefully ignoring 'error' events; they are always followed by a 'close' event, which needs to be handled anyway\n ws.addEventListener(\"open\", onWsOpen_1);\n ws.addEventListener(\"message\", onWsMessage_1(ws));\n ws.addEventListener(\"close\", onWsClose_1);\n //eslint-disable-next-line @typescript-eslint/no-this-alias\n manager.ws = ws;\n }\n };\n QueryStreamsManager.prototype.streamSubmit = function (template, queries, caller) {\n //eslint-disable-next-line @typescript-eslint/no-this-alias\n var manager = this;\n var query = {\n template: template,\n queries: queries,\n stream: new StreamEventEmitter({\n beforeClosing: function () {\n manager.queries.delete(query);\n // if no more queries then just let it go\n if (manager.queries.size > 0) {\n manager.handleQueriesChange();\n }\n },\n }),\n state: new Map(),\n offset: NoOffsetReceivedYet,\n caller: caller,\n };\n manager.queries.add(query);\n manager.handleQueriesChange();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var on = function (type, listener) {\n var _a, _b;\n if (((_a = manager.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WsState.Open ||\n ((_b = manager.ws) === null || _b === void 0 ? void 0 : _b.readyState) === WsState.Connecting) {\n query.stream.on(type, listener);\n }\n else {\n console.error(\"Trying to add a listener to a closed stream.\");\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var off = function (type, listener) {\n var _a, _b;\n if (((_a = manager.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WsState.Open ||\n ((_b = manager.ws) === null || _b === void 0 ? void 0 : _b.readyState) === WsState.Connecting) {\n query.stream.off(type, listener);\n }\n else {\n console.error(\"Trying to remove a listener from a closed stream.\");\n }\n };\n var close = function () {\n query.stream.close();\n };\n return { on: on, off: off, close: close };\n };\n QueryStreamsManager.ENDPOINT = \"v1/stream/query\";\n return QueryStreamsManager;\n}());\n/**\n * An object of type `Ledger` represents a handle to a Daml ledger.\n */\nvar Ledger = /** @class */ (function () {\n /**\n * Construct a new `Ledger` object. See [[LedgerOptions]] for the constructor arguments.\n */\n function Ledger(_a) {\n var token = _a.token, httpBaseUrl = _a.httpBaseUrl, wsBaseUrl = _a.wsBaseUrl, _b = _a.reconnectThreshold, reconnectThreshold = _b === void 0 ? 30000 : _b, _c = _a.multiplexQueryStreams, multiplexQueryStreams = _c === void 0 ? false : _c;\n if (!httpBaseUrl) {\n httpBaseUrl = \"\".concat(window.location.protocol, \"//\").concat(window.location.host, \"/\");\n }\n if (!(httpBaseUrl.startsWith(\"http://\") || httpBaseUrl.startsWith(\"https://\"))) {\n throw Error(\"Ledger: httpBaseUrl must start with 'http://' or 'https://'. (\".concat(httpBaseUrl, \")\"));\n }\n if (!httpBaseUrl.endsWith(\"/\")) {\n throw Error(\"Ledger: httpBaseUrl must end with '/'. (\".concat(httpBaseUrl, \")\"));\n }\n if (!wsBaseUrl) {\n wsBaseUrl = \"ws\" + httpBaseUrl.slice(4);\n }\n if (!(wsBaseUrl.startsWith(\"ws://\") || wsBaseUrl.startsWith(\"wss://\"))) {\n throw Error(\"Ledger: wsBaseUrl must start with 'ws://' or 'wss://'. (\".concat(wsBaseUrl, \")\"));\n }\n if (!wsBaseUrl.endsWith(\"/\")) {\n throw Error(\"Ledger: wsBaseUrl must end with '/'. (\".concat(wsBaseUrl, \")\"));\n }\n this.token = token;\n this.httpBaseUrl = httpBaseUrl;\n this.wsBaseUrl = wsBaseUrl;\n this.reconnectThreshold = reconnectThreshold;\n this.multiplexQueryStreams = multiplexQueryStreams;\n this.queryStreamsManager = new QueryStreamsManager({\n token: token,\n wsBaseUrl: wsBaseUrl,\n reconnectThreshold: reconnectThreshold,\n });\n }\n /**\n * @internal\n */\n Ledger.prototype.auth = function () {\n return { Authorization: \"Bearer \" + this.token };\n };\n /**\n * @internal\n */\n Ledger.prototype.throwOnError = function (r) {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!r.ok) return [3 /*break*/, 2];\n return [4 /*yield*/, r.json()];\n case 1:\n json = _a.sent();\n console.log(json);\n throw decode(decodeLedgerError, json);\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @internal\n *\n * Internal function to submit a command to the JSON API.\n */\n Ledger.prototype.submit = function (endpoint_1, payload_1) {\n return __awaiter(this, arguments, void 0, function (endpoint, payload, method) {\n var httpResponse, json, ledgerResponse;\n if (method === void 0) { method = \"post\"; }\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, cross_fetch_1.default)(this.httpBaseUrl + endpoint, {\n body: JSON.stringify(payload),\n headers: __assign(__assign({}, this.auth()), { \"Content-type\": \"application/json\" }),\n method: method,\n })];\n case 1:\n httpResponse = _a.sent();\n return [4 /*yield*/, this.throwOnError(httpResponse)];\n case 2:\n _a.sent();\n return [4 /*yield*/, httpResponse.json()];\n case 3:\n json = _a.sent();\n ledgerResponse = jtv.Result.withException(decodeLedgerResponse.run(json));\n if (!(ledgerResponse.status >= 200 && ledgerResponse.status <= 299)) {\n console.log(\"Request to \".concat(endpoint, \" returned status \").concat(ledgerResponse.status, \" with response body: \").concat(JSON.stringify(json), \".\"));\n throw decode(decodeLedgerError, json);\n }\n if (ledgerResponse.warnings) {\n console.warn(ledgerResponse.warnings);\n }\n return [2 /*return*/, ledgerResponse.result];\n }\n });\n });\n };\n /***\n * Internal\n *\n * Retrieve the readiness status from the JSON API.\n */\n Ledger.prototype.checkIfReady = function () {\n return __awaiter(this, void 0, void 0, function () {\n var endpoint, httpResponse, text, json, ledgerResponse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n endpoint = \"readyz\";\n return [4 /*yield*/, (0, cross_fetch_1.default)(this.httpBaseUrl + endpoint, {\n headers: __assign(__assign({}, this.auth()), { \"Content-type\": \"application/json\" }),\n method: \"get\",\n })];\n case 1:\n httpResponse = _a.sent();\n return [4 /*yield*/, this.throwOnError(httpResponse)];\n case 2:\n _a.sent();\n return [4 /*yield*/, httpResponse.text()];\n case 3:\n text = _a.sent();\n if (!text.includes(\"readyz check passed\")) return [3 /*break*/, 4];\n return [2 /*return*/, httpResponse];\n case 4:\n if (!text.includes(\"readyz check failed\")) return [3 /*break*/, 5];\n throw decode(decodeLedgerError, httpResponse);\n case 5: return [4 /*yield*/, httpResponse.json()];\n case 6:\n json = _a.sent();\n ledgerResponse = jtv.Result.withException(decodeLedgerResponse.run(json));\n if (!(ledgerResponse.status >= 200 && ledgerResponse.status <= 299)) {\n console.log(\"Request to \".concat(endpoint, \" returned status \").concat(ledgerResponse.status, \" with response body: \").concat(JSON.stringify(json), \".\"));\n throw decode(decodeLedgerError, json);\n }\n if (ledgerResponse.warnings) {\n console.warn(ledgerResponse.warnings);\n }\n return [2 /*return*/, ledgerResponse.result];\n }\n });\n });\n };\n /***\n * Retrieve the readiness status from the JSON API with retries every 1s.\n */\n Ledger.prototype.ready = function (maxAttempts) {\n return __awaiter(this, void 0, void 0, function () {\n var execute, delay;\n var _this = this;\n return __generator(this, function (_a) {\n execute = function (attempt) { return __awaiter(_this, void 0, void 0, function () {\n var err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.checkIfReady()];\n case 1: return [2 /*return*/, _a.sent()];\n case 2:\n err_1 = _a.sent();\n if (attempt <= maxAttempts) {\n return [2 /*return*/, delay(function () { return execute(attempt + 1); }, 1000)];\n }\n else {\n throw err_1;\n }\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n }); };\n delay = function (fn, ms) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) { return setTimeout(function () { return resolve(fn()); }, ms); })];\n });\n }); };\n return [2 /*return*/, execute(1)];\n });\n });\n };\n /**\n * Retrieve contracts for a given template.\n *\n * When no `query` argument is given, all contracts visible to the submitting party are returned.\n * When a `query` argument is given, only those contracts matching the query are returned. See\n * https://docs.daml.com/json-api/search-query-language.html for a description of the query\n * language.\n *\n * @param template The contract template of the contracts to be matched against.\n * @param query The contract query for the contracts to be matched against.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.query = function (template, query) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n payload = {\n templateIds: [template.templateId],\n query: encodeQuery(template, query),\n };\n return [4 /*yield*/, this.submit(\"v1/query\", payload)];\n case 1:\n json = _a.sent();\n return [2 /*return*/, jtv.Result.withException(jtv.array(decodeCreateEvent(template)).run(json))];\n }\n });\n });\n };\n /**\n * Fetch a contract identified by its contract ID.\n *\n * @param template The template of the contract to be fetched.\n * @param contractId The contract id of the contract to be fetched.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.fetch = function (template, contractId) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n payload = {\n templateId: template.templateId,\n contractId: (0, types_1.ContractId)(template).encode(contractId),\n };\n return [4 /*yield*/, this.submit(\"v1/fetch\", payload)];\n case 1:\n json = _a.sent();\n return [2 /*return*/, jtv.Result.withException(jtv.oneOf(jtv.constant(null), decodeCreateEvent(template)).run(json))];\n }\n });\n });\n };\n /**\n * Fetch a contract identified by its contract key.\n *\n * Same as [[fetch]], but the contract to be fetched is identified by its contract key instead of\n * its contract id.\n *\n * @param template The template of the contract to be fetched.\n * @param key The contract key of the contract to be fetched.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n */\n Ledger.prototype.fetchByKey = function (template, key) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (key === undefined) {\n throw Error(\"Cannot lookup by key on template \".concat(template.templateId, \" because it does not define a key.\"));\n }\n payload = {\n templateId: template.templateId,\n key: template.keyEncode(key),\n };\n return [4 /*yield*/, this.submit(\"v1/fetch\", payload)];\n case 1:\n json = _a.sent();\n return [2 /*return*/, jtv.Result.withException(jtv.oneOf(jtv.constant(null), decodeCreateEvent(template)).run(json))];\n }\n });\n });\n };\n /**\n * Create a contract for a given template.\n *\n * @param template The template of the contract to be created.\n * @param payload The template arguments for the contract to be created.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.create = function (template, payload, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var command, json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n command = {\n templateId: template.templateId,\n payload: template.encode(payload),\n meta: meta,\n };\n return [4 /*yield*/, this.submit(\"v1/create\", command)];\n case 1:\n json = _a.sent();\n return [2 /*return*/, jtv.Result.withException(decodeCreateEvent(template).run(json))];\n }\n });\n });\n };\n /**\n * Exercise a choice on a contract identified by its contract ID.\n *\n * @param choice The choice to exercise.\n * @param contractId The contract id of the contract to exercise.\n * @param argument The choice arguments.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam C The type of the contract choice.\n * @typeparam R The return type of the choice.\n *\n * @returns The return value of the choice together with a list of\n * [[event]]'s that were created as a result of exercising the choice.\n */\n Ledger.prototype.exercise = function (choice, contractId, argument, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, json, responseDecoder, _a, exerciseResult, events;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n payload = {\n templateId: choice.template().templateId,\n contractId: (0, types_1.ContractId)(choice.template()).encode(contractId),\n choice: choice.choiceName,\n argument: choice.argumentEncode(argument),\n meta: meta,\n };\n return [4 /*yield*/, this.submit(\"v1/exercise\", payload)];\n case 1:\n json = _b.sent();\n responseDecoder = jtv.object({\n exerciseResult: choice.resultDecoder,\n events: jtv.array(decodeEventUnknown),\n });\n _a = jtv.Result.withException(responseDecoder.run(json)), exerciseResult = _a.exerciseResult, events = _a.events;\n return [2 /*return*/, [exerciseResult, events]];\n }\n });\n });\n };\n /**\n * Exercse a choice on a newly-created contract, in a single transaction.\n *\n * @param choice The choice to exercise.\n * @param payload The template arguments for the newly-created contract.\n * @param argument The choice arguments.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam C The type of the contract choice.\n * @typeparam R The return type of the choice.\n *\n * @returns The return value of the choice together with a list of\n * [[event]]'s that includes the creation event for the created contract as\n * well as all the events that were created as a result of exercising the\n * choice, including the archive event for the created contract if the choice\n * is consuming (or otherwise archives it as part of its execution).\n *\n */\n Ledger.prototype.createAndExercise = function (choice, payload, argument, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var command, json, responseDecoder, _a, exerciseResult, events;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n command = {\n templateId: choice.template().templateId,\n payload: choice.template().encode(payload),\n choice: choice.choiceName,\n argument: choice.argumentEncode(argument),\n meta: meta,\n };\n return [4 /*yield*/, this.submit(\"v1/create-and-exercise\", command)];\n case 1:\n json = _b.sent();\n responseDecoder = jtv.object({\n exerciseResult: choice.resultDecoder,\n events: jtv.array(decodeEventUnknown),\n });\n _a = jtv.Result.withException(responseDecoder.run(json)), exerciseResult = _a.exerciseResult, events = _a.events;\n return [2 /*return*/, [exerciseResult, events]];\n }\n });\n });\n };\n /**\n * Exercise a choice on a contract identified by its contract key.\n *\n * Same as [[exercise]], but the contract is identified by its contract key instead of its\n * contract id.\n *\n * @param choice The choice to exercise.\n * @param key The contract key of the contract to exercise.\n * @param argument The choice arguments.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam C The type of the contract choice.\n * @typeparam R The return type of the choice.\n * @typeparam K The type of the contract key.\n *\n * @returns The return value of the choice together with a list of [[event]]'s that where created\n * as a result of exercising the choice.\n */\n Ledger.prototype.exerciseByKey = function (choice, key, argument, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, json, responseDecoder, _a, exerciseResult, events;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (key === undefined) {\n throw Error(\"Cannot exercise by key on template \".concat(choice.template().templateId, \" because it does not define a key.\"));\n }\n payload = {\n templateId: choice.template().templateId,\n key: choice.template().keyEncode(key),\n choice: choice.choiceName,\n argument: choice.argumentEncode(argument),\n meta: meta,\n };\n return [4 /*yield*/, this.submit(\"v1/exercise\", payload)];\n case 1:\n json = _b.sent();\n responseDecoder = jtv.object({\n exerciseResult: choice.resultDecoder,\n events: jtv.array(decodeEventUnknown),\n });\n _a = jtv.Result.withException(responseDecoder.run(json)), exerciseResult = _a.exerciseResult, events = _a.events;\n return [2 /*return*/, [exerciseResult, events]];\n }\n });\n });\n };\n /**\n * Archive a contract identified by its contract ID.\n *\n * @param template The template of the contract to archive.\n * @param contractId The contract id of the contract to archive.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.archive = function (template, contractId, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, decodeArchiveResponse(template, \"archive\", function () {\n return _this.exercise(template.Archive, contractId, {}, meta);\n })];\n });\n });\n };\n /**\n * Archive a contract identified by its contract key.\n * Same as [[archive]], but the contract to be archived is identified by its contract key.\n *\n * @param template The template of the contract to be archived.\n * @param key The contract key of the contract to be archived.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.archiveByKey = function (template, key, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, decodeArchiveResponse(template, \"archiveByKey\", function () {\n return _this.exerciseByKey(template.Archive, key, {}, meta);\n })];\n });\n });\n };\n /**\n * @internal\n *\n * Internal command to submit a request to a streaming endpoint of the\n * JSON API. Returns a stream consisting of accumulated state together with\n * the events that produced the latest state change. The `change` function\n * must be an operation of the monoid `Event<T, K, I>[]` on the set `State`,\n * i.e., for all `s: State` and `x, y: Event<T, K, I>[]` we\n * must have the structural equalities\n * ```\n * change(s, []) == s\n * change(s, x.concat(y)) == change(change(s, x), y)\n * ```\n * Also, `change` must never change its arguments.\n */\n Ledger.prototype.streamSubmit = function (callerName, template, endpoint, request, reconnectRequest, init, change) {\n var _this = this;\n var protocols = [\"jwt.token.\" + this.token, \"daml.ws.auth\"];\n var ws = new isomorphic_ws_1.default(this.wsBaseUrl + endpoint, protocols);\n var isLiveSince = undefined;\n var lastOffset = undefined;\n var state = init;\n var isReconnecting = false;\n var streamClosed = false;\n var emitter = new events_1.EventEmitter();\n var onWsOpen = function () {\n if (isReconnecting) {\n // the JSON API server can't handle null offsets, even though it sends them out under\n // special conditions when there are no transactions yet. Not sending the `offset` message\n // will start the stream from the very beginning of the transaction log.\n if (lastOffset !== null)\n ws.send(JSON.stringify({ offset: lastOffset }));\n ws.send(JSON.stringify(reconnectRequest()));\n }\n else {\n ws.send(JSON.stringify(request));\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var onWsMessage = function (event) {\n var json = JSON.parse(event.data.toString());\n if (isRecordWith(\"events\", json)) {\n var events = jtv.Result.withException(jtv.array(decodeEvent(template)).run(json.events));\n if (events.length > 0) {\n state = change(state, events);\n emitter.emit(\"change\", state, events);\n }\n if (isRecordWith(\"offset\", json)) {\n lastOffset = jtv.Result.withException(jtv.oneOf(jtv.constant(null), jtv.string()).run(json.offset));\n if (isLiveSince === undefined) {\n isLiveSince = Date.now();\n emitter.emit(\"live\", state);\n }\n }\n }\n else if (isRecordWith(\"warnings\", json)) {\n console.warn(\"\".concat(callerName, \" warnings\"), json);\n }\n else if (isRecordWith(\"errors\", json)) {\n console.error(\"\".concat(callerName, \" errors\"), json);\n }\n else {\n console.error(\"\".concat(callerName, \" unknown message\"), json);\n }\n };\n var closeStream = function (status) {\n streamClosed = true;\n emitter.emit(\"close\", status);\n emitter.removeAllListeners();\n };\n var onWsClose = function () {\n if (streamClosed === false) {\n var now = new Date().getTime();\n // we want to try and keep the stream open, so we try to reconnect\n // the underlying ws\n if (lastOffset !== undefined &&\n isLiveSince !== undefined &&\n now - isLiveSince >= _this.reconnectThreshold) {\n isLiveSince = undefined;\n isReconnecting = true;\n ws = new isomorphic_ws_1.default(_this.wsBaseUrl + endpoint, protocols);\n ws.addEventListener(\"open\", onWsOpen);\n ws.addEventListener(\"message\", onWsMessage);\n ws.addEventListener(\"close\", onWsClose);\n }\n else {\n // ws has closed too quickly / never managed to connect: we give up\n closeStream({ code: 4001, reason: \"ws connection failed\" });\n }\n } // no else: if the stream is closed we don't need to keep a ws\n };\n ws.addEventListener(\"open\", onWsOpen);\n ws.addEventListener(\"message\", onWsMessage);\n // NOTE(MH): We ignore the 'error' event since it is always followed by a\n // 'close' event, which we need to handle anyway.\n ws.addEventListener(\"close\", onWsClose);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var on = function (type, listener) {\n if (streamClosed === false) {\n void emitter.on(type, listener);\n }\n else {\n console.error(\"Trying to add a listener to a closed stream.\");\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var off = function (type, listener) {\n if (streamClosed === false) {\n void emitter.off(type, listener);\n }\n else {\n console.error(\"Trying to remove a listener from a closed stream.\");\n }\n };\n var close = function () {\n // Note: ws.close will trigger the onClose handlers of the WebSocket\n // (here onWsClose), but they execute as a separate event after the\n // current event in the JS event loop, i.e. in particular after the call\n // to closeStream and thus, in this case, the onWsClose handler will see\n // streamClosed as true.\n ws.close();\n closeStream({ code: 4000, reason: \"called .close()\" });\n };\n return { on: on, off: off, close: close };\n };\n /**\n * Retrieve a consolidated stream of events for a given template and query.\n *\n * The accumulated state is the current set of active contracts matching the query. When no\n * `query` argument is given, all events visible to the submitting party are returned. When a\n * `query` argument is given, only those create events matching the query are returned. See\n * https://docs.daml.com/json-api/search-query-language.html for a description of the query\n * language.\n *\n * @deprecated Prefer `streamQueries`.\n *\n * @param template The contract template to match contracts against.\n * @param query The query to match contracts agains.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.streamQuery = function (template, query) {\n if (query === undefined) {\n return this.streamQueryCommon(template, [], \"Ledger.streamQuery\");\n }\n else {\n return this.streamQueryCommon(template, [query], \"Ledger.streamQuery\");\n }\n };\n /**\n * @internal\n *\n */\n Ledger.prototype.streamQueryCommon = function (template, queries, name) {\n if (this.multiplexQueryStreams) {\n return this.queryStreamsManager.streamSubmit(template, queries, name);\n }\n else {\n var request_3 = queries.length == 0\n ? [{ templateIds: [template.templateId] }]\n : queries.map(function (q) { return ({\n templateIds: [template.templateId],\n query: encodeQuery(template, q),\n }); });\n var reconnectRequest = function () { return request_3; };\n var change = function (contracts, events) {\n var archiveEvents = new Set();\n var createEvents = [];\n for (var _i = 0, events_5 = events; _i < events_5.length; _i++) {\n var event_3 = events_5[_i];\n if (\"created\" in event_3) {\n createEvents.push(event_3.created);\n }\n else if (\"archived\" in event_3) {\n archiveEvents.add(event_3.archived.contractId);\n }\n }\n return contracts\n .concat(createEvents)\n .filter(function (contract) { return !archiveEvents.has(contract.contractId); });\n };\n return this.streamSubmit(name, template, \"v1/stream/query\", request_3, reconnectRequest, [], change);\n }\n };\n /**\n * Retrieve a consolidated stream of events for a given template and queries.\n *\n * If the given list is empty, the accumulated state is the set of all active\n * contracts for the given template. Otherwise, the accumulated state is the\n * set of all contracts that match at least one of the given queries.\n *\n * See https://docs.daml.com/json-api/search-query-language.html for a\n * description of the query language.\n *\n * @param template The contract template to match contracts against.\n * @param queries A query to match contracts against.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n */\n Ledger.prototype.streamQueries = function (template, queries) {\n return this.streamQueryCommon(template, queries, \"Ledger.streamQueries\");\n };\n /**\n * Retrieve a consolidated stream of events for a given template and contract key.\n *\n * The accumulated state is either the current active contract for the given\n * key, or null if there is no active contract for the given key.\n *\n * @deprecated Prefer `streamFetchByKeys`.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.streamFetchByKey = function (template, key) {\n // Note: this implementation is deliberately not unified with that of\n // `streamFetchByKeys`, because doing so would add the requirement that the\n // given key be in output format, whereas existing implementation supports\n // input format.\n var lastContractId = null;\n var request = [\n { templateId: template.templateId, key: template.keyEncode(key) },\n ];\n var reconnectRequest = function () { return [\n __assign(__assign({}, request[0]), { contractIdAtOffset: lastContractId && (0, types_1.ContractId)(template).encode(lastContractId) }),\n ]; };\n var change = function (contract, events) {\n for (var _i = 0, events_6 = events; _i < events_6.length; _i++) {\n var event_4 = events_6[_i];\n if (\"created\" in event_4) {\n contract = event_4.created;\n }\n else {\n // i.e. 'archived' event\n if (contract && contract.contractId === event_4.archived.contractId) {\n contract = null;\n }\n }\n }\n lastContractId = contract ? contract.contractId : null;\n return contract;\n };\n return this.streamSubmit(\"Ledger.streamFetchByKey\", template, \"v1/stream/fetch\", request, reconnectRequest, null, change);\n };\n /**\n * @internal\n *\n * Returns the same API as [[streamSubmit]] but does not, in fact, establish\n * any socket connection. Instead, this is a stream that always has the given\n * value as its accumulated state.\n */\n Ledger.prototype.constantStream = function (value) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function on(type, listener) {\n if (type === \"live\") {\n listener(value);\n }\n if (type === \"change\") {\n listener(value, []);\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\n function off(_t, _l) { }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n return { on: on, off: off, close: function () { } };\n };\n /**\n * Retrieve a consolidated stream of events for a list of keys and a single\n * template.\n *\n * The accumulated state is an array of the same length as the given list of\n * keys, with positional correspondence. Each element in the array represents\n * the current contract for the given key, or is explicitly null if there is\n * currently no active contract matching that key.\n *\n * Note: the given `key` objects will be compared for (deep) equality with\n * the values returned by the API. As such, they have to be given in the\n * \"output\" format of the API, including the values of\n * `encodeDecimalAsString` and `encodeInt64AsString`. See [the JSON API docs\n * for details](https://docs.daml.com/json-api/lf-value-specification.html).\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n */\n Ledger.prototype.streamFetchByKeys = function (template, keys) {\n // We support zero-length key so clients can more easily manage a dynamic\n // list, without having to special-case 0-length on their side.\n if (keys.length == 0) {\n return this.constantStream([]);\n }\n var lastContractIds = Array(keys.length).fill(null);\n var keysCopy = lodash_1.default.cloneDeep(keys);\n var initState = Array(keys.length).fill(null);\n var request = keys.map(function (k) { return ({\n templateId: template.templateId,\n key: template.keyEncode(k),\n }); });\n var reconnectRequest = function () {\n return request.map(function (r, idx) {\n var lastId = lastContractIds[idx];\n return __assign(__assign({}, r), { contractIdAtOffset: lastId && (0, types_1.ContractId)(template).encode(lastId) });\n });\n };\n var change = function (state, events) {\n var newState = Array.from(state);\n var _loop_1 = function (event_5) {\n if (\"created\" in event_5) {\n var k_1 = event_5.created.key;\n keysCopy.forEach(function (requestKey, idx) {\n if (lodash_1.default.isEqual(requestKey, k_1)) {\n newState[idx] = event_5.created;\n }\n });\n }\n else {\n // i.e. 'archived' in event\n var id_1 = event_5.archived.contractId;\n newState.forEach(function (contract, idx) {\n if (contract && contract.contractId === id_1) {\n newState[idx] = null;\n }\n });\n }\n };\n for (var _i = 0, events_7 = events; _i < events_7.length; _i++) {\n var event_5 = events_7[_i];\n _loop_1(event_5);\n }\n newState.forEach(function (c, idx) {\n lastContractIds[idx] = c ? c.contractId : null;\n });\n return newState;\n };\n return this.streamSubmit(\"streamFetchByKeys\", template, \"v1/stream/fetch\", request, reconnectRequest, initState, change);\n };\n /**\n * Fetch parties by identifier.\n *\n * @param parties An array of Party identifiers.\n *\n * @returns An array of the same length, where each element corresponds to\n * the same-index element of the given parties, ans is either a PartyInfo\n * object if the party exists or null if it does not.\n *\n */\n Ledger.prototype.getParties = function (parties) {\n return __awaiter(this, void 0, void 0, function () {\n var json, resp, mapping, _i, resp_1, p, ret, idx;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (parties.length === 0) {\n return [2 /*return*/, []];\n }\n return [4 /*yield*/, this.submit(\"v1/parties\", parties)];\n case 1:\n json = _a.sent();\n resp = decode(jtv.array(partyInfoDecoder), json);\n mapping = {};\n for (_i = 0, resp_1 = resp; _i < resp_1.length; _i++) {\n p = resp_1[_i];\n mapping[p.identifier] = p;\n }\n ret = Array(parties.length).fill(null);\n for (idx = 0; idx < parties.length; idx++) {\n ret[idx] = mapping[parties[idx]] || null;\n }\n return [2 /*return*/, ret];\n }\n });\n });\n };\n /**\n * Fetch all parties on the ledger.\n *\n * @returns All parties on the ledger, in no particular order.\n *\n */\n Ledger.prototype.listKnownParties = function () {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/parties\", undefined, \"get\")];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(jtv.array(partyInfoDecoder), json)];\n }\n });\n });\n };\n /**\n * Get the current user details obtained by the currently used JWT.\n *\n * @param userId The user id\n *\n * @returns User details\n *\n */\n Ledger.prototype.getUser = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n var json, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(0, lodash_1.isUndefined)(userId)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.submit(\"v1/user\", undefined, \"get\")];\n case 1:\n _a = _b.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.submit(\"v1/user\", { userId: userId }, \"post\")];\n case 3:\n _a = _b.sent();\n _b.label = 4;\n case 4:\n json = _a;\n return [2 /*return*/, decode(userDecoder, json)];\n }\n });\n });\n };\n /**\n * Lists the users on the ledger\n *\n * @returns user list\n *\n */\n Ledger.prototype.listUsers = function () {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/users\", undefined, \"get\")];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(jtv.array(userDecoder), json)];\n }\n });\n });\n };\n /**\n * Lists the rights associated with the given user id\n *\n * @param userId, if empty then the user id will obtained by the currently used JWT.\n *\n * @returns list of user rights\n */\n Ledger.prototype.listUserRights = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n var json, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(0, lodash_1.isUndefined)(userId)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.submit(\"v1/user/rights\", undefined, \"get\")];\n case 1:\n _a = _b.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.submit(\"v1/user/rights\", { userId: userId })];\n case 3:\n _a = _b.sent();\n _b.label = 4;\n case 4:\n json = _a;\n return [2 /*return*/, decode(jtv.array(userRightDecoder), json)];\n }\n });\n });\n };\n /**\n * Grants rights to a user\n *\n * @param userId The user to which rights shall be granted\n *\n * @param rights The rights which shall be granted\n *\n * @returns The rights which actually were granted (if a right was already granted, then it will not be in the return list)\n */\n Ledger.prototype.grantUserRights = function (userId, rights) {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/user/rights/grant\", {\n userId: userId,\n rights: rights,\n })];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(jtv.array(userRightDecoder), json)];\n }\n });\n });\n };\n /**\n * Revokes rights from a user\n *\n * @param userId The user from which rights shall be revoked\n *\n * @param rights The rights which shall be revoked\n *\n * @returns The rights which actually were revoked (if a right was already revoked, then it will not be in the return list)\n */\n Ledger.prototype.revokeUserRights = function (userId, rights) {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/user/rights/revoke\", {\n userId: userId,\n rights: rights,\n })];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(jtv.array(userRightDecoder), json)];\n }\n });\n });\n };\n /**\n * Creates a user\n *\n * @param userId The user ID\n * @param rights The initial rights the user should have\n * @param primaryParty The primary party the user should have\n *\n */\n Ledger.prototype.createUser = function (userId, rights, primaryParty) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/user/create\", {\n userId: userId,\n rights: rights,\n primaryParty: primaryParty,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Deletes a user\n *\n * @param userId The user ID\n * @param rights The initial rights the user should have\n * @param primaryParty The primary party the user should have\n *\n */\n Ledger.prototype.deleteUser = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/user/delete\", { userId: userId })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Allocate a new party.\n *\n * @param partyOpt Parameters for party allocation.\n *\n * @returns PartyInfo for the newly created party.\n *\n */\n Ledger.prototype.allocateParty = function (partyOpt) {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/parties/allocate\", partyOpt)];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(partyInfoDecoder, json)];\n }\n });\n });\n };\n /**\n * Fetch a list of all package IDs from the ledger.\n *\n * @returns List of package IDs.\n *\n */\n Ledger.prototype.listPackages = function () {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/packages\", undefined, \"get\")];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(jtv.array(jtv.string()), json)];\n }\n });\n });\n };\n /**\n * Fetch a binary package.\n *\n * @returns The content of the package as a raw ArrayBuffer.\n *\n */\n Ledger.prototype.getPackage = function (id) {\n return __awaiter(this, void 0, void 0, function () {\n var httpResponse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, cross_fetch_1.default)(this.httpBaseUrl + \"v1/packages/\" + id, {\n headers: this.auth(),\n method: \"get\",\n })];\n case 1:\n httpResponse = _a.sent();\n return [4 /*yield*/, this.throwOnError(httpResponse)];\n case 2:\n _a.sent();\n return [4 /*yield*/, httpResponse.arrayBuffer()];\n case 3: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Upload a binary archive. Note that this requires admin privileges.\n *\n * @returns No return value on success; throws on error.\n *\n */\n Ledger.prototype.uploadDarFile = function (abuf) {\n return __awaiter(this, void 0, void 0, function () {\n var httpResponse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, cross_fetch_1.default)(this.httpBaseUrl + \"v1/packages\", {\n body: abuf,\n headers: __assign(__assign({}, this.auth()), { \"Content-type\": \"application/octet-stream\" }),\n method: \"post\",\n })];\n case 1:\n httpResponse = _a.sent();\n return [4 /*yield*/, this.throwOnError(httpResponse)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return Ledger;\n}());\nexports.Ledger = Ledger;\nexports.default = Ledger;\n//# sourceMappingURL=index.js.map","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nexports.Archive = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({})\n }),\n encode: function (__typed__) {\n return {}\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Template = require('./Template')\nexports.Template = Template\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Internal = require('./Internal')\nexports.Internal = Internal\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar DA = require('./DA')\nexports.DA = DA\nexports.packageId =\n '9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69'\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nexports.RelTime = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({ microseconds: damlTypes.Int.decoder })\n }),\n encode: function (__typed__) {\n return {\n microseconds: damlTypes.Int.encode(__typed__.microseconds),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Types = require('./Types')\nexports.Types = Types\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Time = require('./Time')\nexports.Time = Time\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar DA = require('./DA')\nexports.DA = DA\nexports.packageId =\n 'b70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946'\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\nvar pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946 = require('@daml.js/daml-stdlib-DA-Time-Types-1.0.0')\n\nexports.AnyContract = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.MetadataV1:AnyContract',\n function () {\n return exports.AnyContractView\n },\n {\n Archive: {\n template: function () {\n return exports.AnyContract\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n }\n)\n\nexports.ChoiceExecutionMetadata = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({ meta: exports.Metadata.decoder })\n }),\n encode: function (__typed__) {\n return {\n meta: exports.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.ExtraArgs = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n context: exports.ChoiceContext.decoder,\n meta: exports.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n context: exports.ChoiceContext.encode(__typed__.context),\n meta: exports.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Metadata = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({ values: damlTypes.TextMap(damlTypes.Text).decoder })\n }),\n encode: function (__typed__) {\n return {\n values: damlTypes.TextMap(damlTypes.Text).encode(__typed__.values),\n }\n },\n}\n\nexports.ChoiceContext = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n values: damlTypes.TextMap(exports.AnyValue).decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n values: damlTypes\n .TextMap(exports.AnyValue)\n .encode(__typed__.values),\n }\n },\n}\n\nexports.AnyContractView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({})\n }),\n encode: function (__typed__) {\n return {}\n },\n}\n\nexports.AnyValue = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.oneOf(\n jtv.object({\n tag: jtv.constant('AV_Text'),\n value: damlTypes.Text.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Int'),\n value: damlTypes.Int.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Decimal'),\n value: damlTypes.Numeric(10).decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Bool'),\n value: damlTypes.Bool.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Date'),\n value: damlTypes.Date.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Time'),\n value: damlTypes.Time.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_RelTime'),\n value: pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946\n .DA.Time.Types.RelTime.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Party'),\n value: damlTypes.Party.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_ContractId'),\n value: damlTypes.ContractId(exports.AnyContract).decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_List'),\n value: damlTypes.List(exports.AnyValue).decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Map'),\n value: damlTypes.TextMap(exports.AnyValue).decoder,\n })\n )\n }),\n encode: function (__typed__) {\n switch (__typed__.tag) {\n case 'AV_Text':\n return {\n tag: __typed__.tag,\n value: damlTypes.Text.encode(__typed__.value),\n }\n case 'AV_Int':\n return {\n tag: __typed__.tag,\n value: damlTypes.Int.encode(__typed__.value),\n }\n case 'AV_Decimal':\n return {\n tag: __typed__.tag,\n value: damlTypes.Numeric(10).encode(__typed__.value),\n }\n case 'AV_Bool':\n return {\n tag: __typed__.tag,\n value: damlTypes.Bool.encode(__typed__.value),\n }\n case 'AV_Date':\n return {\n tag: __typed__.tag,\n value: damlTypes.Date.encode(__typed__.value),\n }\n case 'AV_Time':\n return {\n tag: __typed__.tag,\n value: damlTypes.Time.encode(__typed__.value),\n }\n case 'AV_RelTime':\n return {\n tag: __typed__.tag,\n value: pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946.DA.Time.Types.RelTime.encode(\n __typed__.value\n ),\n }\n case 'AV_Party':\n return {\n tag: __typed__.tag,\n value: damlTypes.Party.encode(__typed__.value),\n }\n case 'AV_ContractId':\n return {\n tag: __typed__.tag,\n value: damlTypes\n .ContractId(exports.AnyContract)\n .encode(__typed__.value),\n }\n case 'AV_List':\n return {\n tag: __typed__.tag,\n value: damlTypes\n .List(exports.AnyValue)\n .encode(__typed__.value),\n }\n case 'AV_Map':\n return {\n tag: __typed__.tag,\n value: damlTypes\n .TextMap(exports.AnyValue)\n .encode(__typed__.value),\n }\n default:\n throw (\n 'unrecognized type tag: ' +\n __typed__.tag +\n ' while serializing a value of type AnyValue'\n )\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\nvar pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946 = require('@daml.js/daml-stdlib-DA-Time-Types-1.0.0')\n\nvar Splice_Api_Token_MetadataV1 = require('../../../../Splice/Api/Token/MetadataV1/module')\n\nexports.Holding = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.HoldingV1:Holding',\n function () {\n return exports.HoldingView\n },\n {\n Archive: {\n template: function () {\n return exports.Holding\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n }\n)\n\nexports.HoldingView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n owner: damlTypes.Party.decoder,\n instrumentId: exports.InstrumentId.decoder,\n amount: damlTypes.Numeric(10).decoder,\n lock: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(exports.Lock).decoder\n ),\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n owner: damlTypes.Party.encode(__typed__.owner),\n instrumentId: exports.InstrumentId.encode(__typed__.instrumentId),\n amount: damlTypes.Numeric(10).encode(__typed__.amount),\n lock: damlTypes.Optional(exports.Lock).encode(__typed__.lock),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Lock = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n holders: damlTypes.List(damlTypes.Party).decoder,\n expiresAt: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(damlTypes.Time).decoder\n ),\n expiresAfter: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(\n pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946\n .DA.Time.Types.RelTime\n ).decoder\n ),\n context: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(damlTypes.Text).decoder\n ),\n })\n }),\n encode: function (__typed__) {\n return {\n holders: damlTypes.List(damlTypes.Party).encode(__typed__.holders),\n expiresAt: damlTypes\n .Optional(damlTypes.Time)\n .encode(__typed__.expiresAt),\n expiresAfter: damlTypes\n .Optional(\n pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946\n .DA.Time.Types.RelTime\n )\n .encode(__typed__.expiresAfter),\n context: damlTypes\n .Optional(damlTypes.Text)\n .encode(__typed__.context),\n }\n },\n}\n\nexports.InstrumentId = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n admin: damlTypes.Party.decoder,\n id: damlTypes.Text.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n admin: damlTypes.Party.encode(__typed__.admin),\n id: damlTypes.Text.encode(__typed__.id),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\n\nvar Splice_Api_Token_HoldingV1 = require('../../../../Splice/Api/Token/HoldingV1/module')\nvar Splice_Api_Token_MetadataV1 = require('../../../../Splice/Api/Token/MetadataV1/module')\n\nexports.Allocation = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.AllocationV1:Allocation',\n function () {\n return exports.AllocationView\n },\n {\n Archive: {\n template: function () {\n return exports.Allocation\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n Allocation_Withdraw: {\n template: function () {\n return exports.Allocation\n },\n choiceName: 'Allocation_Withdraw',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_Withdraw.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.Allocation_Withdraw.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_WithdrawResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.Allocation_WithdrawResult.encode(__typed__)\n },\n },\n Allocation_Cancel: {\n template: function () {\n return exports.Allocation\n },\n choiceName: 'Allocation_Cancel',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_Cancel.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.Allocation_Cancel.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_CancelResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.Allocation_CancelResult.encode(__typed__)\n },\n },\n Allocation_ExecuteTransfer: {\n template: function () {\n return exports.Allocation\n },\n choiceName: 'Allocation_ExecuteTransfer',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_ExecuteTransfer.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.Allocation_ExecuteTransfer.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_ExecuteTransferResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.Allocation_ExecuteTransferResult.encode(\n __typed__\n )\n },\n },\n }\n)\n\nexports.Allocation_WithdrawResult = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n senderHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n senderHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.senderHoldingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Allocation_CancelResult = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n senderHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n senderHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.senderHoldingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Allocation_ExecuteTransferResult = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n senderHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n receiverHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n senderHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.senderHoldingCids),\n receiverHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.receiverHoldingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Allocation_Withdraw = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.Allocation_Cancel = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.Allocation_ExecuteTransfer = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.AllocationView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n allocation: exports.AllocationSpecification.decoder,\n holdingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n allocation: exports.AllocationSpecification.encode(\n __typed__.allocation\n ),\n holdingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.holdingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.AllocationSpecification = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n settlement: exports.SettlementInfo.decoder,\n transferLegId: damlTypes.Text.decoder,\n transferLeg: exports.TransferLeg.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n settlement: exports.SettlementInfo.encode(__typed__.settlement),\n transferLegId: damlTypes.Text.encode(__typed__.transferLegId),\n transferLeg: exports.TransferLeg.encode(__typed__.transferLeg),\n }\n },\n}\n\nexports.TransferLeg = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n sender: damlTypes.Party.decoder,\n receiver: damlTypes.Party.decoder,\n amount: damlTypes.Numeric(10).decoder,\n instrumentId: Splice_Api_Token_HoldingV1.InstrumentId.decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n sender: damlTypes.Party.encode(__typed__.sender),\n receiver: damlTypes.Party.encode(__typed__.receiver),\n amount: damlTypes.Numeric(10).encode(__typed__.amount),\n instrumentId: Splice_Api_Token_HoldingV1.InstrumentId.encode(\n __typed__.instrumentId\n ),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.SettlementInfo = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n executor: damlTypes.Party.decoder,\n settlementRef: exports.Reference.decoder,\n requestedAt: damlTypes.Time.decoder,\n allocateBefore: damlTypes.Time.decoder,\n settleBefore: damlTypes.Time.decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n executor: damlTypes.Party.encode(__typed__.executor),\n settlementRef: exports.Reference.encode(__typed__.settlementRef),\n requestedAt: damlTypes.Time.encode(__typed__.requestedAt),\n allocateBefore: damlTypes.Time.encode(__typed__.allocateBefore),\n settleBefore: damlTypes.Time.encode(__typed__.settleBefore),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Reference = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n id: damlTypes.Text.decoder,\n cid: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(\n damlTypes.ContractId(\n Splice_Api_Token_MetadataV1.AnyContract\n )\n ).decoder\n ),\n })\n }),\n encode: function (__typed__) {\n return {\n id: damlTypes.Text.encode(__typed__.id),\n cid: damlTypes\n .Optional(\n damlTypes.ContractId(\n Splice_Api_Token_MetadataV1.AnyContract\n )\n )\n .encode(__typed__.cid),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\n\nvar Splice_Api_Token_AllocationV1 = require('../../../../Splice/Api/Token/AllocationV1/module')\nvar Splice_Api_Token_HoldingV1 = require('../../../../Splice/Api/Token/HoldingV1/module')\nvar Splice_Api_Token_MetadataV1 = require('../../../../Splice/Api/Token/MetadataV1/module')\n\nexports.AllocationFactory = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.AllocationInstructionV1:AllocationFactory',\n function () {\n return exports.AllocationFactoryView\n },\n {\n Archive: {\n template: function () {\n return exports.AllocationFactory\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n AllocationFactory_Allocate: {\n template: function () {\n return exports.AllocationFactory\n },\n choiceName: 'AllocationFactory_Allocate',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationFactory_Allocate.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationFactory_Allocate.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.AllocationInstructionResult.encode(__typed__)\n },\n },\n AllocationFactory_PublicFetch: {\n template: function () {\n return exports.AllocationFactory\n },\n choiceName: 'AllocationFactory_PublicFetch',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationFactory_PublicFetch.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationFactory_PublicFetch.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationFactoryView.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.AllocationFactoryView.encode(__typed__)\n },\n },\n }\n)\n\nexports.AllocationInstruction = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.AllocationInstructionV1:AllocationInstruction',\n function () {\n return exports.AllocationInstructionView\n },\n {\n Archive: {\n template: function () {\n return exports.AllocationInstruction\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n AllocationInstruction_Withdraw: {\n template: function () {\n return exports.AllocationInstruction\n },\n choiceName: 'AllocationInstruction_Withdraw',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationInstruction_Withdraw.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationInstruction_Withdraw.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.AllocationInstructionResult.encode(__typed__)\n },\n },\n AllocationInstruction_Update: {\n template: function () {\n return exports.AllocationInstruction\n },\n choiceName: 'AllocationInstruction_Update',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationInstruction_Update.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationInstruction_Update.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.AllocationInstructionResult.encode(__typed__)\n },\n },\n }\n)\n\nexports.AllocationInstructionResult_Output = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.oneOf(\n jtv.object({\n tag: jtv.constant('AllocationInstructionResult_Pending'),\n value: exports.AllocationInstructionResult_Output\n .AllocationInstructionResult_Pending.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AllocationInstructionResult_Completed'),\n value: exports.AllocationInstructionResult_Output\n .AllocationInstructionResult_Completed.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AllocationInstructionResult_Failed'),\n value: damlTypes.Unit.decoder,\n })\n )\n }),\n encode: function (__typed__) {\n switch (__typed__.tag) {\n case 'AllocationInstructionResult_Pending':\n return {\n tag: __typed__.tag,\n value: exports.AllocationInstructionResult_Output.AllocationInstructionResult_Pending.encode(\n __typed__.value\n ),\n }\n case 'AllocationInstructionResult_Completed':\n return {\n tag: __typed__.tag,\n value: exports.AllocationInstructionResult_Output.AllocationInstructionResult_Completed.encode(\n __typed__.value\n ),\n }\n case 'AllocationInstructionResult_Failed':\n return {\n tag: __typed__.tag,\n value: damlTypes.Unit.encode(__typed__.value),\n }\n default:\n throw (\n 'unrecognized type tag: ' +\n __typed__.tag +\n ' while serializing a value of type AllocationInstructionResult_Output'\n )\n }\n },\n AllocationInstructionResult_Pending: {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n allocationInstructionCid: damlTypes.ContractId(\n exports.AllocationInstruction\n ).decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n allocationInstructionCid: damlTypes\n .ContractId(exports.AllocationInstruction)\n .encode(__typed__.allocationInstructionCid),\n }\n },\n },\n AllocationInstructionResult_Completed: {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n allocationCid: damlTypes.ContractId(\n Splice_Api_Token_AllocationV1.Allocation\n ).decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n allocationCid: damlTypes\n .ContractId(Splice_Api_Token_AllocationV1.Allocation)\n .encode(__typed__.allocationCid),\n }\n },\n },\n}\n\nexports.AllocationInstructionResult = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n output: exports.AllocationInstructionResult_Output.decoder,\n senderChangeCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n output: exports.AllocationInstructionResult_Output.encode(\n __typed__.output\n ),\n senderChangeCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.senderChangeCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.AllocationFactory_PublicFetch = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n expectedAdmin: damlTypes.Party.decoder,\n actor: damlTypes.Party.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n expectedAdmin: damlTypes.Party.encode(__typed__.expectedAdmin),\n actor: damlTypes.Party.encode(__typed__.actor),\n }\n },\n}\n\nexports.AllocationFactory_Allocate = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n expectedAdmin: damlTypes.Party.decoder,\n allocation:\n Splice_Api_Token_AllocationV1.AllocationSpecification.decoder,\n requestedAt: damlTypes.Time.decoder,\n inputHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n expectedAdmin: damlTypes.Party.encode(__typed__.expectedAdmin),\n allocation:\n Splice_Api_Token_AllocationV1.AllocationSpecification.encode(\n __typed__.allocation\n ),\n requestedAt: damlTypes.Time.encode(__typed__.requestedAt),\n inputHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.inputHoldingCids),\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.AllocationFactoryView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n admin: damlTypes.Party.decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n admin: damlTypes.Party.encode(__typed__.admin),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.AllocationInstruction_Update = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraActors: damlTypes.List(damlTypes.Party).decoder,\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraActors: damlTypes\n .List(damlTypes.Party)\n .encode(__typed__.extraActors),\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.AllocationInstruction_Withdraw = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.AllocationInstructionView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n originalInstructionCid: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(\n damlTypes.ContractId(exports.AllocationInstruction)\n ).decoder\n ),\n allocation:\n Splice_Api_Token_AllocationV1.AllocationSpecification.decoder,\n pendingActions: damlTypes.Map(damlTypes.Party, damlTypes.Text)\n .decoder,\n requestedAt: damlTypes.Time.decoder,\n inputHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n originalInstructionCid: damlTypes\n .Optional(damlTypes.ContractId(exports.AllocationInstruction))\n .encode(__typed__.originalInstructionCid),\n allocation:\n Splice_Api_Token_AllocationV1.AllocationSpecification.encode(\n __typed__.allocation\n ),\n pendingActions: damlTypes\n .Map(damlTypes.Party, damlTypes.Text)\n .encode(__typed__.pendingActions),\n requestedAt: damlTypes.Time.encode(__typed__.requestedAt),\n inputHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.inputHoldingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\n\nvar Splice_Api_Token_AllocationV1 = require('../../../../Splice/Api/Token/AllocationV1/module')\nvar Splice_Api_Token_MetadataV1 = require('../../../../Splice/Api/Token/MetadataV1/module')\n\nexports.AllocationRequest = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.AllocationRequestV1:AllocationRequest',\n function () {\n return exports.AllocationRequestView\n },\n {\n Archive: {\n template: function () {\n return exports.AllocationRequest\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n AllocationRequest_Reject: {\n template: function () {\n return exports.AllocationRequest\n },\n choiceName: 'AllocationRequest_Reject',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationRequest_Reject.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationRequest_Reject.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return Splice_Api_Token_MetadataV1.ChoiceExecutionMetadata\n .decoder\n }),\n resultEncode: function (__typed__) {\n return Splice_Api_Token_MetadataV1.ChoiceExecutionMetadata.encode(\n __typed__\n )\n },\n },\n AllocationRequest_Withdraw: {\n template: function () {\n return exports.AllocationRequest\n },\n choiceName: 'AllocationRequest_Withdraw',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationRequest_Withdraw.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationRequest_Withdraw.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return Splice_Api_Token_MetadataV1.ChoiceExecutionMetadata\n .decoder\n }),\n resultEncode: function (__typed__) {\n return Splice_Api_Token_MetadataV1.ChoiceExecutionMetadata.encode(\n __typed__\n )\n },\n },\n }\n)\n\nexports.AllocationRequestView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n settlement: Splice_Api_Token_AllocationV1.SettlementInfo.decoder,\n transferLegs: damlTypes.TextMap(\n Splice_Api_Token_AllocationV1.TransferLeg\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n settlement: Splice_Api_Token_AllocationV1.SettlementInfo.encode(\n __typed__.settlement\n ),\n transferLegs: damlTypes\n .TextMap(Splice_Api_Token_AllocationV1.TransferLeg)\n .encode(__typed__.transferLegs),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.AllocationRequest_Withdraw = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.AllocationRequest_Reject = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n actor: damlTypes.Party.decoder,\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n actor: damlTypes.Party.encode(__typed__.actor),\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\n\nvar Splice_Api_Token_HoldingV1 = require('../../../../Splice/Api/Token/HoldingV1/module')\nvar Splice_Api_Token_MetadataV1 = require('../../../../Splice/Api/Token/MetadataV1/module')\n\nexports.TransferFactory = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.TransferInstructionV1:TransferFactory',\n function () {\n return exports.TransferFactoryView\n },\n {\n Archive: {\n template: function () {\n return exports.TransferFactory\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n TransferFactory_Transfer: {\n template: function () {\n return exports.TransferFactory\n },\n choiceName: 'TransferFactory_Transfer',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferFactory_Transfer.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferFactory_Transfer.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferInstructionResult.encode(__typed__)\n },\n },\n TransferFactory_PublicFetch: {\n template: function () {\n return exports.TransferFactory\n },\n choiceName: 'TransferFactory_PublicFetch',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferFactory_PublicFetch.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferFactory_PublicFetch.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferFactoryView.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferFactoryView.encode(__typed__)\n },\n },\n }\n)\n\nexports.TransferInstruction = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.TransferInstructionV1:TransferInstruction',\n function () {\n return exports.TransferInstructionView\n },\n {\n Archive: {\n template: function () {\n return exports.TransferInstruction\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n TransferInstruction_Accept: {\n template: function () {\n return exports.TransferInstruction\n },\n choiceName: 'TransferInstruction_Accept',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstruction_Accept.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferInstruction_Accept.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferInstructionResult.encode(__typed__)\n },\n },\n TransferInstruction_Reject: {\n template: function () {\n return exports.TransferInstruction\n },\n choiceName: 'TransferInstruction_Reject',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstruction_Reject.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferInstruction_Reject.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferInstructionResult.encode(__typed__)\n },\n },\n TransferInstruction_Withdraw: {\n template: function () {\n return exports.TransferInstruction\n },\n choiceName: 'TransferInstruction_Withdraw',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstruction_Withdraw.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferInstruction_Withdraw.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferInstructionResult.encode(__typed__)\n },\n },\n TransferInstruction_Update: {\n template: function () {\n return exports.TransferInstruction\n },\n choiceName: 'TransferInstruction_Update',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstruction_Update.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferInstruction_Update.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferInstructionResult.encode(__typed__)\n },\n },\n }\n)\n\nexports.TransferFactoryView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n admin: damlTypes.Party.decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n admin: damlTypes.Party.encode(__typed__.admin),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.TransferFactory_PublicFetch = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n expectedAdmin: damlTypes.Party.decoder,\n actor: damlTypes.Party.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n expectedAdmin: damlTypes.Party.encode(__typed__.expectedAdmin),\n actor: damlTypes.Party.encode(__typed__.actor),\n }\n },\n}\n\nexports.TransferFactory_Transfer = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n expectedAdmin: damlTypes.Party.decoder,\n transfer: exports.Transfer.decoder,\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n expectedAdmin: damlTypes.Party.encode(__typed__.expectedAdmin),\n transfer: exports.Transfer.encode(__typed__.transfer),\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.TransferInstruction_Update = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraActors: damlTypes.List(damlTypes.Party).decoder,\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraActors: damlTypes\n .List(damlTypes.Party)\n .encode(__typed__.extraActors),\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.TransferInstruction_Withdraw = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.TransferInstruction_Reject = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.TransferInstruction_Accept = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.TransferInstructionView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n originalInstructionCid: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(\n damlTypes.ContractId(exports.TransferInstruction)\n ).decoder\n ),\n transfer: exports.Transfer.decoder,\n status: exports.TransferInstructionStatus.decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n originalInstructionCid: damlTypes\n .Optional(damlTypes.ContractId(exports.TransferInstruction))\n .encode(__typed__.originalInstructionCid),\n transfer: exports.Transfer.encode(__typed__.transfer),\n status: exports.TransferInstructionStatus.encode(__typed__.status),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.TransferInstructionStatus = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.oneOf(\n jtv.object({\n tag: jtv.constant('TransferPendingReceiverAcceptance'),\n value: damlTypes.Unit.decoder,\n }),\n jtv.object({\n tag: jtv.constant('TransferPendingInternalWorkflow'),\n value: exports.TransferInstructionStatus\n .TransferPendingInternalWorkflow.decoder,\n })\n )\n }),\n encode: function (__typed__) {\n switch (__typed__.tag) {\n case 'TransferPendingReceiverAcceptance':\n return {\n tag: __typed__.tag,\n value: damlTypes.Unit.encode(__typed__.value),\n }\n case 'TransferPendingInternalWorkflow':\n return {\n tag: __typed__.tag,\n value: exports.TransferInstructionStatus.TransferPendingInternalWorkflow.encode(\n __typed__.value\n ),\n }\n default:\n throw (\n 'unrecognized type tag: ' +\n __typed__.tag +\n ' while serializing a value of type TransferInstructionStatus'\n )\n }\n },\n TransferPendingInternalWorkflow: {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n pendingActions: damlTypes.Map(damlTypes.Party, damlTypes.Text)\n .decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n pendingActions: damlTypes\n .Map(damlTypes.Party, damlTypes.Text)\n .encode(__typed__.pendingActions),\n }\n },\n },\n}\n\nexports.TransferInstructionResult_Output = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.oneOf(\n jtv.object({\n tag: jtv.constant('TransferInstructionResult_Pending'),\n value: exports.TransferInstructionResult_Output\n .TransferInstructionResult_Pending.decoder,\n }),\n jtv.object({\n tag: jtv.constant('TransferInstructionResult_Completed'),\n value: exports.TransferInstructionResult_Output\n .TransferInstructionResult_Completed.decoder,\n }),\n jtv.object({\n tag: jtv.constant('TransferInstructionResult_Failed'),\n value: damlTypes.Unit.decoder,\n })\n )\n }),\n encode: function (__typed__) {\n switch (__typed__.tag) {\n case 'TransferInstructionResult_Pending':\n return {\n tag: __typed__.tag,\n value: exports.TransferInstructionResult_Output.TransferInstructionResult_Pending.encode(\n __typed__.value\n ),\n }\n case 'TransferInstructionResult_Completed':\n return {\n tag: __typed__.tag,\n value: exports.TransferInstructionResult_Output.TransferInstructionResult_Completed.encode(\n __typed__.value\n ),\n }\n case 'TransferInstructionResult_Failed':\n return {\n tag: __typed__.tag,\n value: damlTypes.Unit.encode(__typed__.value),\n }\n default:\n throw (\n 'unrecognized type tag: ' +\n __typed__.tag +\n ' while serializing a value of type TransferInstructionResult_Output'\n )\n }\n },\n TransferInstructionResult_Pending: {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n transferInstructionCid: damlTypes.ContractId(\n exports.TransferInstruction\n ).decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n transferInstructionCid: damlTypes\n .ContractId(exports.TransferInstruction)\n .encode(__typed__.transferInstructionCid),\n }\n },\n },\n TransferInstructionResult_Completed: {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n receiverHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n receiverHoldingCids: damlTypes\n .List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n )\n .encode(__typed__.receiverHoldingCids),\n }\n },\n },\n}\n\nexports.TransferInstructionResult = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n output: exports.TransferInstructionResult_Output.decoder,\n senderChangeCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n output: exports.TransferInstructionResult_Output.encode(\n __typed__.output\n ),\n senderChangeCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.senderChangeCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Transfer = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n sender: damlTypes.Party.decoder,\n receiver: damlTypes.Party.decoder,\n amount: damlTypes.Numeric(10).decoder,\n instrumentId: Splice_Api_Token_HoldingV1.InstrumentId.decoder,\n requestedAt: damlTypes.Time.decoder,\n executeBefore: damlTypes.Time.decoder,\n inputHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n sender: damlTypes.Party.encode(__typed__.sender),\n receiver: damlTypes.Party.encode(__typed__.receiver),\n amount: damlTypes.Numeric(10).encode(__typed__.amount),\n instrumentId: Splice_Api_Token_HoldingV1.InstrumentId.encode(\n __typed__.instrumentId\n ),\n requestedAt: damlTypes.Time.encode(__typed__.requestedAt),\n executeBefore: damlTypes.Time.encode(__typed__.executeBefore),\n inputHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.inputHoldingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar AllocationInstructionV1 = require('./AllocationInstructionV1')\nexports.AllocationInstructionV1 = AllocationInstructionV1\nvar AllocationRequestV1 = require('./AllocationRequestV1')\nexports.AllocationRequestV1 = AllocationRequestV1\nvar AllocationV1 = require('./AllocationV1')\nexports.AllocationV1 = AllocationV1\nvar HoldingV1 = require('./HoldingV1')\nexports.HoldingV1 = HoldingV1\nvar MetadataV1 = require('./MetadataV1')\nexports.MetadataV1 = MetadataV1\nvar TransferInstructionV1 = require('./TransferInstructionV1')\nexports.TransferInstructionV1 = TransferInstructionV1\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Token = require('./Token')\nexports.Token = Token\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Api = require('./Api')\nexports.Api = Api\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Splice = require('./Splice')\nexports.Splice = Splice\nexports.packageId =\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c'\n","// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Splice } from '@daml.js/token-standard-models-1.0.0'\nimport { PartyId } from '@canton-network/core-types'\n\nexport * from './interface-ids.const.js'\n\nexport const TransferInstructionV1 = Splice.Api.Token.TransferInstructionV1\nexport const AllocationInstructionV1 = Splice.Api.Token.AllocationInstructionV1\nexport const AllocationRequestV1 = Splice.Api.Token.AllocationRequestV1\nexport const AllocationV1 = Splice.Api.Token.AllocationV1\nexport const HoldingV1 = Splice.Api.Token.HoldingV1\nexport const MetadataV1 = Splice.Api.Token.MetadataV1\n\nexport type {\n Holding,\n HoldingView,\n Lock,\n InstrumentId,\n HoldingInterface,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/HoldingV1/module.js'\n\nexport type {\n Transfer,\n TransferInstruction,\n TransferInstructionView,\n TransferInstruction_Accept,\n TransferInstruction_Reject,\n TransferInstruction_Withdraw,\n TransferInstruction_Update,\n TransferFactory,\n TransferFactoryView,\n TransferFactory_PublicFetch,\n TransferFactory_Transfer,\n TransferInstructionResult,\n TransferInstructionResult_Output,\n TransferInstructionStatus,\n TransferFactoryInterface,\n TransferInstructionInterface,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/TransferInstructionV1/module.js'\n\nexport type {\n AllocationFactory_Allocate,\n AllocationFactoryView,\n AllocationFactory_PublicFetch,\n AllocationInstruction_Update,\n AllocationInstruction_Withdraw,\n AllocationInstructionView,\n AllocationInstructionResult,\n AllocationInstructionResult_Output,\n AllocationFactory,\n AllocationFactoryInterface,\n AllocationInstruction,\n AllocationInstructionInterface,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationInstructionV1/module.js'\n\nexport type {\n AllocationRequest,\n AllocationRequestView,\n AllocationRequest_Reject,\n AllocationRequest_Withdraw,\n AllocationRequestInterface,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationRequestV1/module.js'\n\nexport type {\n AllocationSpecification,\n TransferLeg,\n SettlementInfo,\n Reference,\n AllocationView,\n Allocation,\n AllocationInterface,\n Allocation_Withdraw,\n Allocation_Cancel,\n Allocation_ExecuteTransfer,\n Allocation_WithdrawResult,\n Allocation_CancelResult,\n Allocation_ExecuteTransferResult,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationV1/module.js'\n\nexport type {\n ExtraArgs,\n Metadata,\n ChoiceExecutionMetadata,\n AnyContract,\n AnyContractInterface,\n AnyContractView,\n ChoiceContext,\n AnyValue,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/MetadataV1/module.js'\n\nexport type {\n ContractId,\n Party,\n Time,\n Date,\n Numeric,\n Int,\n Map,\n Optional,\n Serializable,\n} from '@daml/types'\n\nexport type Beneficiaries = {\n beneficiary: PartyId\n weight: number\n}\n"],"names":["global","exports","require$$0","this","eventsModule","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","Splice"],"mappings":"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,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,SAAS,CAAC,CAAA,CAAE,EAAE,CAAC,GAAG,eAAe,GAAG,SAAS,KAAK,EAAE;AAC1G,IAAE,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;MAChE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;EAC/C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,IAAE,OAAO,KAAK,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AACtE,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,IAAI,QAAQ,GAAG,cAAc,IAAI,SAAS;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,SAAS,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE;AAC/B,IAAE,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;AAClC,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,IAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACxB,MAAI,OAAO,KAAK;AAChB,IAAA;AACA;AACA;AACA,IAAE,IAAI,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC;AAC7B,IAAE,OAAO,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ;AAC9E,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,IAAE,OAAO,OAAO,KAAK,IAAI,QAAQ;AACjC,MAAI,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,gBAAgB;AAC7D,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,IAAE,IAAI,IAAI,GAAG,OAAO,KAAK;AACzB,IAAE,OAAO,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,UAAU,CAAC;AAClE,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,SAAS,YAAY,CAAC,KAAK,EAAE;IAC3B,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ;AAClD,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,IAAI,YAAY,GAAG,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;;AAEpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]}
|
|
1
|
+
{"version":3,"file":"index.browser.js","sources":["../src/token-standard-client.ts","../src/interface-ids.const.ts","../../../../../../.yarn/berry/cache/lodash.isequal-npm-4.5.0-f8b0f64d63-10c0.zip/node_modules/lodash.isequal/index.js","../../../../../../.yarn/berry/cache/@mojotech-json-type-validation-npm-3.1.0-b983ac6694-10c0.zip/node_modules/@mojotech/json-type-validation/dist/index.es5.js","../../../../../../.yarn/berry/cache/@daml-types-npm-3.3.0-snapshot.20250528.13806.0.v3cd439fb-8d2fd59416-10c0.zip/node_modules/@daml/types/index.js","../../../../../../.yarn/berry/cache/cross-fetch-npm-3.2.0-267029ff2f-10c0.zip/node_modules/cross-fetch/dist/browser-ponyfill.js","../../../../../../.yarn/berry/cache/events-npm-3.3.0-c280bc7e48-10c0.zip/node_modules/events/events.js","../../../.yarn/__virtual__/isomorphic-ws-virtual-27bbf212f5/4/.yarn/berry/cache/isomorphic-ws-npm-4.0.1-aa39192848-10c0.zip/node_modules/isomorphic-ws/browser.js","../../../../../../.yarn/berry/cache/@daml-ledger-npm-3.3.0-snapshot.20250528.13806.0.v3cd439fb-bdb3d061db-10c0.zip/node_modules/@daml/ledger/index.js","../../../../../../.yarn/berry/cache/@daml.js-ghc-stdlib-DA-Internal-Template-1.0.0-file-c6b3e1def0-10c0.zip/node_modules/@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0/lib/DA/Internal/Template/module.js","../../../../../../.yarn/berry/cache/@daml.js-ghc-stdlib-DA-Internal-Template-1.0.0-file-c6b3e1def0-10c0.zip/node_modules/@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0/lib/DA/Internal/Template/index.js","../../../../../../.yarn/berry/cache/@daml.js-ghc-stdlib-DA-Internal-Template-1.0.0-file-c6b3e1def0-10c0.zip/node_modules/@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0/lib/DA/Internal/index.js","../../../../../../.yarn/berry/cache/@daml.js-ghc-stdlib-DA-Internal-Template-1.0.0-file-c6b3e1def0-10c0.zip/node_modules/@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0/lib/DA/index.js","../../../../../../.yarn/berry/cache/@daml.js-ghc-stdlib-DA-Internal-Template-1.0.0-file-c6b3e1def0-10c0.zip/node_modules/@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0/lib/index.js","../../../../../../.yarn/berry/cache/@daml.js-daml-stdlib-DA-Time-Types-1.0.0-file-321c951204-10c0.zip/node_modules/@daml.js/daml-stdlib-DA-Time-Types-1.0.0/lib/DA/Time/Types/module.js","../../../../../../.yarn/berry/cache/@daml.js-daml-stdlib-DA-Time-Types-1.0.0-file-321c951204-10c0.zip/node_modules/@daml.js/daml-stdlib-DA-Time-Types-1.0.0/lib/DA/Time/Types/index.js","../../../../../../.yarn/berry/cache/@daml.js-daml-stdlib-DA-Time-Types-1.0.0-file-321c951204-10c0.zip/node_modules/@daml.js/daml-stdlib-DA-Time-Types-1.0.0/lib/DA/Time/index.js","../../../../../../.yarn/berry/cache/@daml.js-daml-stdlib-DA-Time-Types-1.0.0-file-321c951204-10c0.zip/node_modules/@daml.js/daml-stdlib-DA-Time-Types-1.0.0/lib/DA/index.js","../../../../../../.yarn/berry/cache/@daml.js-daml-stdlib-DA-Time-Types-1.0.0-file-321c951204-10c0.zip/node_modules/@daml.js/daml-stdlib-DA-Time-Types-1.0.0/lib/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/MetadataV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/HoldingV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationInstructionV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationInstructionV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationRequestV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationRequestV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/HoldingV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/MetadataV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/TransferInstructionV1/module.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/TransferInstructionV1/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/Token/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/Api/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/Splice/index.js","../../../damljs/token-standard-models/token-standard-models-1.0.0/lib/index.js","../src/types.ts"],"sourcesContent":["// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport createClient, { Client } from 'openapi-fetch'\nimport { AccessTokenProvider, Logger } from '@canton-network/core-types'\n\nimport { paths as allocationPaths } from './generated-clients/splice-api-token-allocation-v1/allocation-v1.js'\nimport { paths as allocationInstructionPaths } from './generated-clients/splice-api-token-allocation-instruction-v1/allocation-instruction-v1.js'\nimport { paths as metadataPaths } from './generated-clients/splice-api-token-metadata-v1/token-metadata-v1.js'\nimport { paths as transferInstructionPaths } from './generated-clients/splice-api-token-transfer-instruction-v1/transfer-instruction-v1.js'\n\nexport { components as allocationRegistryTypes } from './generated-clients/splice-api-token-allocation-v1/allocation-v1.js'\nexport { components as metadataRegistryTypes } from './generated-clients/splice-api-token-metadata-v1/token-metadata-v1.js'\nexport { components as transferInstructionRegistryTypes } from './generated-clients/splice-api-token-transfer-instruction-v1/transfer-instruction-v1.js'\nexport { components as allocationInstructionRegistryTypes } from './generated-clients/splice-api-token-allocation-instruction-v1/allocation-instruction-v1.js'\n\ntype paths = allocationPaths &\n metadataPaths &\n transferInstructionPaths &\n allocationInstructionPaths\n\n// A conditional type that filters the set of OpenAPI path names to those that actually have a defined POST operation.\n// Any path without a POST is excluded via the `never` branch of the conditional\ntype PostEndpoint = {\n [Pathname in keyof paths]: paths[Pathname] extends {\n post: unknown\n }\n ? Pathname\n : never\n}[keyof paths]\n\n// Given a pathname (string) that has a POST, this helper type extracts the request body type from the OpenAPI definition.\nexport type PostRequest<Path extends PostEndpoint> = paths[Path] extends {\n post: { requestBody: { content: { 'application/json': infer Req } } }\n}\n ? Req\n : never\n\n// Given a pathname (string) that has a POST, this helper type extracts the 200 response type from the OpenAPI definition.\nexport type PostResponse<Path extends PostEndpoint> = paths[Path] extends {\n post: { responses: { 200: { content: { 'application/json': infer Res } } } }\n}\n ? Res\n : never\n\n// Similar as above, for GETs\ntype GetEndpoint = {\n [Pathname in keyof paths]: paths[Pathname] extends {\n get: unknown\n }\n ? Pathname\n : never\n}[keyof paths]\n\n// Similar as above, for GETs\nexport type GetResponse<Path extends GetEndpoint> = paths[Path] extends {\n get: { responses: { 200: { content: { 'application/json': infer Res } } } }\n}\n ? Res\n : never\n\nexport class TokenStandardClient {\n private readonly client: Client<paths>\n private readonly logger: Logger\n private accessTokenProvider: AccessTokenProvider | undefined\n\n constructor(\n baseUrl: string,\n logger: Logger,\n isAdmin: boolean,\n accessToken?: string,\n accessTokenProvider?: AccessTokenProvider\n ) {\n this.accessTokenProvider = accessTokenProvider\n this.logger = logger\n this.logger.debug({ baseUrl }, 'TokenStandardClient initialized')\n this.client = createClient<paths>({\n baseUrl,\n fetch: async (url: RequestInfo, options: RequestInit = {}) => {\n if (this.accessTokenProvider) {\n accessToken = isAdmin\n ? await this.accessTokenProvider.getAdminAccessToken()\n : await this.accessTokenProvider.getUserAccessToken()\n }\n return fetch(url, {\n ...options,\n headers: {\n ...(options.headers || {}),\n ...(accessToken\n ? { Authorization: `Bearer ${accessToken}` }\n : {}),\n 'Content-Type': 'application/json',\n },\n })\n },\n })\n }\n\n public async post<Path extends PostEndpoint>(\n path: Path,\n body: PostRequest<Path>,\n params?: {\n path?: Record<string, string>\n query?: Record<string, string | number>\n }\n ): Promise<PostResponse<Path>> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- (cant align this with openapi-fetch generics :shrug:)\n const options = { body, params } as any\n this.logger.debug({ requestBody: body }, `POST ${path}`)\n const resp = await this.client.POST(path, options)\n this.logger.debug({ requestBody: body, response: resp }, `POST ${path}`)\n return this.valueOrError(resp)\n }\n\n public async get<Path extends GetEndpoint>(\n path: Path,\n params?: {\n path?: Record<string, string>\n query?: Record<string, string | number>\n }\n ): Promise<GetResponse<Path>> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- (cant align this with openapi-fetch generics :shrug:)\n const options = { params } as any\n\n const resp = await this.client.GET(path, options)\n this.logger.debug(\n { path: path, params: params, response: resp },\n `GET ${path}`\n )\n return this.valueOrError(resp)\n }\n\n private async valueOrError<T>(response: {\n data?: T\n error?: unknown\n }): Promise<T> {\n if (response.data === undefined) {\n return Promise.reject(response.error)\n } else {\n return Promise.resolve(response.data)\n }\n }\n}\n","// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nexport const ALLOCATION_FACTORY_INTERFACE_ID =\n '#splice-api-token-allocation-instruction-v1:Splice.Api.Token.AllocationInstructionV1:AllocationFactory'\nexport const ALLOCATION_INSTRUCTION_INTERFACE_ID =\n '#splice-api-token-allocation-instruction-v1:Splice.Api.Token.AllocationInstructionV1:AllocationInstruction'\nexport const ALLOCATION_REQUEST_INTERFACE_ID =\n '#splice-api-token-allocation-request-v1:Splice.Api.Token.AllocationRequestV1:AllocationRequest'\nexport const ALLOCATION_INTERFACE_ID =\n '#splice-api-token-allocation-v1:Splice.Api.Token.AllocationV1:Allocation'\nexport const HOLDING_INTERFACE_ID =\n '#splice-api-token-holding-v1:Splice.Api.Token.HoldingV1:Holding'\nexport const METADATA_INTERFACE_ID =\n '#splice-api-token-metadata-v1:Splice.Api.Token.MetadataV1:AnyContract'\nexport const TRANSFER_FACTORY_INTERFACE_ID =\n '#splice-api-token-transfer-instruction-v1:Splice.Api.Token.TransferInstructionV1:TransferFactory'\nexport const TRANSFER_INSTRUCTION_INTERFACE_ID =\n '#splice-api-token-transfer-instruction-v1:Splice.Api.Token.TransferInstructionV1:TransferInstruction'\nexport const FEATURED_APP_DELEGATE_PROXY_INTERFACE_ID =\n '#splice-util-featured-app-proxies:Splice.Util.FeaturedApp.DelegateProxy:DelegateProxy'\nexport const MERGE_DELEGATION_PROPOSAL_TEMPLATE_ID =\n '#splice-util-token-standard-wallet:Splice.Util.Token.Wallet.MergeDelegation:MergeDelegationProposal'\nexport const MERGE_DELEGATION_TEMPLATE_ID =\n '#splice-util-token-standard-wallet:Splice.Util.Token.Wallet.MergeDelegation:MergeDelegation'\nexport const MERGE_DELEGATION_BATCH_MERGE_UTILITY =\n '#splice-util-token-standard-wallet:Splice.Util.Token.Wallet.MergeDelegation:BatchMergeUtility'\n","/**\n * Lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright JS Foundation and other contributors <https://js.foundation/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\n/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\n/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\n/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\n/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\n/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\n/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\n/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n Symbol = root.Symbol,\n Uint8Array = root.Uint8Array,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeKeys = overArg(Object.keys, Object);\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView'),\n Map = getNative(root, 'Map'),\n Promise = getNative(root, 'Promise'),\n Set = getNative(root, 'Set'),\n WeakMap = getNative(root, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\n/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\n/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\n/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\n/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(array);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked && stack.get(other)) {\n return stacked == other;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n length = length == null ? MAX_SAFE_INTEGER : length;\n return !!length &&\n (typeof value == 'number' || reIsUint.test(value)) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\n/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\n/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\n/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\n/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = isEqual;\n","/**\r\n * Wraps values in an `Ok` type.\r\n *\r\n * Example: `ok(5) // => {ok: true, result: 5}`\r\n */\r\nvar ok = function (result) { return ({ ok: true, result: result }); };\r\n/**\r\n * Typeguard for `Ok`.\r\n */\r\nvar isOk = function (r) { return r.ok === true; };\r\n/**\r\n * Wraps errors in an `Err` type.\r\n *\r\n * Example: `err('on fire') // => {ok: false, error: 'on fire'}`\r\n */\r\nvar err = function (error) { return ({ ok: false, error: error }); };\r\n/**\r\n * Typeguard for `Err`.\r\n */\r\nvar isErr = function (r) { return r.ok === false; };\r\n/**\r\n * Create a `Promise` that either resolves with the result of `Ok` or rejects\r\n * with the error of `Err`.\r\n */\r\nvar asPromise = function (r) {\r\n return r.ok === true ? Promise.resolve(r.result) : Promise.reject(r.error);\r\n};\r\n/**\r\n * Unwraps a `Result` and returns either the result of an `Ok`, or\r\n * `defaultValue`.\r\n *\r\n * Example:\r\n * ```\r\n * Result.withDefault(5, number().run(json))\r\n * ```\r\n *\r\n * It would be nice if `Decoder` had an instance method that mirrored this\r\n * function. Such a method would look something like this:\r\n * ```\r\n * class Decoder<A> {\r\n * runWithDefault = (defaultValue: A, json: any): A =>\r\n * Result.withDefault(defaultValue, this.run(json));\r\n * }\r\n *\r\n * number().runWithDefault(5, json)\r\n * ```\r\n * Unfortunately, the type of `defaultValue: A` on the method causes issues\r\n * with type inference on the `object` decoder in some situations. While these\r\n * inference issues can be solved by providing the optional type argument for\r\n * `object`s, the extra trouble and confusion doesn't seem worth it.\r\n */\r\nvar withDefault = function (defaultValue, r) {\r\n return r.ok === true ? r.result : defaultValue;\r\n};\r\n/**\r\n * Return the successful result, or throw an error.\r\n */\r\nvar withException = function (r) {\r\n if (r.ok === true) {\r\n return r.result;\r\n }\r\n else {\r\n throw r.error;\r\n }\r\n};\r\n/**\r\n * Given an array of `Result`s, return the successful values.\r\n */\r\nvar successes = function (results) {\r\n return results.reduce(function (acc, r) { return (r.ok === true ? acc.concat(r.result) : acc); }, []);\r\n};\r\n/**\r\n * Apply `f` to the result of an `Ok`, or pass the error through.\r\n */\r\nvar map = function (f, r) {\r\n return r.ok === true ? ok(f(r.result)) : r;\r\n};\r\n/**\r\n * Apply `f` to the result of two `Ok`s, or pass an error through. If both\r\n * `Result`s are errors then the first one is returned.\r\n */\r\nvar map2 = function (f, ar, br) {\r\n return ar.ok === false ? ar :\r\n br.ok === false ? br :\r\n ok(f(ar.result, br.result));\r\n};\r\n/**\r\n * Apply `f` to the error of an `Err`, or pass the success through.\r\n */\r\nvar mapError = function (f, r) {\r\n return r.ok === true ? r : err(f(r.error));\r\n};\r\n/**\r\n * Chain together a sequence of computations that may fail, similar to a\r\n * `Promise`. If the first computation fails then the error will propagate\r\n * through. If it succeeds, then `f` will be applied to the value, returning a\r\n * new `Result`.\r\n */\r\nvar andThen = function (f, r) {\r\n return r.ok === true ? f(r.result) : r;\r\n};\r\n\n\nvar result = Object.freeze({\n\tok: ok,\n\tisOk: isOk,\n\terr: err,\n\tisErr: isErr,\n\tasPromise: asPromise,\n\twithDefault: withDefault,\n\twithException: withException,\n\tsuccesses: successes,\n\tmap: map,\n\tmap2: map2,\n\tmapError: mapError,\n\tandThen: andThen\n});\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation. All rights reserved.\r\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\r\nthis file except in compliance with the License. You may obtain a copy of the\r\nLicense at http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\r\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\r\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\r\nMERCHANTABLITY OR NON-INFRINGEMENT.\r\n\r\nSee the Apache Version 2.0 License for specific language governing permissions\r\nand limitations under the License.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\n\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\r\n t[p[i]] = s[p[i]];\r\n return t;\r\n}\n\nvar isEqual = require('lodash.isequal'); // this syntax avoids TS1192\r\n/**\r\n * Type guard for `DecoderError`. One use case of the type guard is in the\r\n * `catch` of a promise. Typescript types the error argument of `catch` as\r\n * `any`, so when dealing with a decoder as a promise you may need to\r\n * distinguish between a `DecoderError` and an error string.\r\n */\r\nvar isDecoderError = function (a) {\r\n return a.kind === 'DecoderError' && typeof a.at === 'string' && typeof a.message === 'string';\r\n};\r\n/*\r\n * Helpers\r\n */\r\nvar isJsonArray = function (json) { return Array.isArray(json); };\r\nvar isJsonObject = function (json) {\r\n return typeof json === 'object' && json !== null && !isJsonArray(json);\r\n};\r\nvar typeString = function (json) {\r\n switch (typeof json) {\r\n case 'string':\r\n return 'a string';\r\n case 'number':\r\n return 'a number';\r\n case 'boolean':\r\n return 'a boolean';\r\n case 'undefined':\r\n return 'undefined';\r\n case 'object':\r\n if (json instanceof Array) {\r\n return 'an array';\r\n }\r\n else if (json === null) {\r\n return 'null';\r\n }\r\n else {\r\n return 'an object';\r\n }\r\n default:\r\n return JSON.stringify(json);\r\n }\r\n};\r\nvar expectedGot = function (expected, got) {\r\n return \"expected \" + expected + \", got \" + typeString(got);\r\n};\r\nvar printPath = function (paths) {\r\n return paths.map(function (path) { return (typeof path === 'string' ? \".\" + path : \"[\" + path + \"]\"); }).join('');\r\n};\r\nvar prependAt = function (newAt, _a) {\r\n var at = _a.at, rest = __rest(_a, [\"at\"]);\r\n return (__assign({ at: newAt + (at || '') }, rest));\r\n};\r\n/**\r\n * Decoders transform json objects with unknown structure into known and\r\n * verified forms. You can create objects of type `Decoder<A>` with either the\r\n * primitive decoder functions, such as `boolean()` and `string()`, or by\r\n * applying higher-order decoders to the primitives, such as `array(boolean())`\r\n * or `dict(string())`.\r\n *\r\n * Each of the decoder functions are available both as a static method on\r\n * `Decoder` and as a function alias -- for example the string decoder is\r\n * defined at `Decoder.string()`, but is also aliased to `string()`. Using the\r\n * function aliases exported with the library is recommended.\r\n *\r\n * `Decoder` exposes a number of 'run' methods, which all decode json in the\r\n * same way, but communicate success and failure in different ways. The `map`\r\n * and `andThen` methods modify decoders without having to call a 'run' method.\r\n *\r\n * Alternatively, the main decoder `run()` method returns an object of type\r\n * `Result<A, DecoderError>`. This library provides a number of helper\r\n * functions for dealing with the `Result` type, so you can do all the same\r\n * things with a `Result` as with the decoder methods.\r\n */\r\nvar Decoder = /** @class */ (function () {\r\n /**\r\n * The Decoder class constructor is kept private to separate the internal\r\n * `decode` function from the external `run` function. The distinction\r\n * between the two functions is that `decode` returns a\r\n * `Partial<DecoderError>` on failure, which contains an unfinished error\r\n * report. When `run` is called on a decoder, the relevant series of `decode`\r\n * calls is made, and then on failure the resulting `Partial<DecoderError>`\r\n * is turned into a `DecoderError` by filling in the missing information.\r\n *\r\n * While hiding the constructor may seem restrictive, leveraging the\r\n * provided decoder combinators and helper functions such as\r\n * `andThen` and `map` should be enough to build specialized decoders as\r\n * needed.\r\n */\r\n function Decoder(decode) {\r\n var _this = this;\r\n this.decode = decode;\r\n /**\r\n * Run the decoder and return a `Result` with either the decoded value or a\r\n * `DecoderError` containing the json input, the location of the error, and\r\n * the error message.\r\n *\r\n * Examples:\r\n * ```\r\n * number().run(12)\r\n * // => {ok: true, result: 12}\r\n *\r\n * string().run(9001)\r\n * // =>\r\n * // {\r\n * // ok: false,\r\n * // error: {\r\n * // kind: 'DecoderError',\r\n * // input: 9001,\r\n * // at: 'input',\r\n * // message: 'expected a string, got 9001'\r\n * // }\r\n * // }\r\n * ```\r\n */\r\n this.run = function (json) {\r\n return mapError(function (error) { return ({\r\n kind: 'DecoderError',\r\n input: json,\r\n at: 'input' + (error.at || ''),\r\n message: error.message || ''\r\n }); }, _this.decode(json));\r\n };\r\n /**\r\n * Run the decoder as a `Promise`.\r\n */\r\n this.runPromise = function (json) { return asPromise(_this.run(json)); };\r\n /**\r\n * Run the decoder and return the value on success, or throw an exception\r\n * with a formatted error string.\r\n */\r\n this.runWithException = function (json) { return withException(_this.run(json)); };\r\n /**\r\n * Construct a new decoder that applies a transformation to the decoded\r\n * result. If the decoder succeeds then `f` will be applied to the value. If\r\n * it fails the error will propagated through.\r\n *\r\n * Example:\r\n * ```\r\n * number().map(x => x * 5).run(10)\r\n * // => {ok: true, result: 50}\r\n * ```\r\n */\r\n this.map = function (f) {\r\n return new Decoder(function (json) { return map(f, _this.decode(json)); });\r\n };\r\n /**\r\n * Chain together a sequence of decoders. The first decoder will run, and\r\n * then the function will determine what decoder to run second. If the result\r\n * of the first decoder succeeds then `f` will be applied to the decoded\r\n * value. If it fails the error will propagate through.\r\n *\r\n * This is a very powerful method -- it can act as both the `map` and `where`\r\n * methods, can improve error messages for edge cases, and can be used to\r\n * make a decoder for custom types.\r\n *\r\n * Example of adding an error message:\r\n * ```\r\n * const versionDecoder = valueAt(['version'], number());\r\n * const infoDecoder3 = object({a: boolean()});\r\n *\r\n * const decoder = versionDecoder.andThen(version => {\r\n * switch (version) {\r\n * case 3:\r\n * return infoDecoder3;\r\n * default:\r\n * return fail(`Unable to decode info, version ${version} is not supported.`);\r\n * }\r\n * });\r\n *\r\n * decoder.run({version: 3, a: true})\r\n * // => {ok: true, result: {a: true}}\r\n *\r\n * decoder.run({version: 5, x: 'abc'})\r\n * // =>\r\n * // {\r\n * // ok: false,\r\n * // error: {... message: 'Unable to decode info, version 5 is not supported.'}\r\n * // }\r\n * ```\r\n *\r\n * Example of decoding a custom type:\r\n * ```\r\n * // nominal type for arrays with a length of at least one\r\n * type NonEmptyArray<T> = T[] & { __nonEmptyArrayBrand__: void };\r\n *\r\n * const nonEmptyArrayDecoder = <T>(values: Decoder<T>): Decoder<NonEmptyArray<T>> =>\r\n * array(values).andThen(arr =>\r\n * arr.length > 0\r\n * ? succeed(createNonEmptyArray(arr))\r\n * : fail(`expected a non-empty array, got an empty array`)\r\n * );\r\n * ```\r\n */\r\n this.andThen = function (f) {\r\n return new Decoder(function (json) {\r\n return andThen(function (value) { return f(value).decode(json); }, _this.decode(json));\r\n });\r\n };\r\n /**\r\n * Add constraints to a decoder _without_ changing the resulting type. The\r\n * `test` argument is a predicate function which returns true for valid\r\n * inputs. When `test` fails on an input, the decoder fails with the given\r\n * `errorMessage`.\r\n *\r\n * ```\r\n * const chars = (length: number): Decoder<string> =>\r\n * string().where(\r\n * (s: string) => s.length === length,\r\n * `expected a string of length ${length}`\r\n * );\r\n *\r\n * chars(5).run('12345')\r\n * // => {ok: true, result: '12345'}\r\n *\r\n * chars(2).run('HELLO')\r\n * // => {ok: false, error: {... message: 'expected a string of length 2'}}\r\n *\r\n * chars(12).run(true)\r\n * // => {ok: false, error: {... message: 'expected a string, got a boolean'}}\r\n * ```\r\n */\r\n this.where = function (test, errorMessage) {\r\n return _this.andThen(function (value) { return (test(value) ? Decoder.succeed(value) : Decoder.fail(errorMessage)); });\r\n };\r\n }\r\n /**\r\n * Decoder primitive that validates strings, and fails on all other input.\r\n */\r\n Decoder.string = function () {\r\n return new Decoder(function (json) {\r\n return typeof json === 'string'\r\n ? ok(json)\r\n : err({ message: expectedGot('a string', json) });\r\n });\r\n };\r\n /**\r\n * Decoder primitive that validates numbers, and fails on all other input.\r\n */\r\n Decoder.number = function () {\r\n return new Decoder(function (json) {\r\n return typeof json === 'number'\r\n ? ok(json)\r\n : err({ message: expectedGot('a number', json) });\r\n });\r\n };\r\n /**\r\n * Decoder primitive that validates booleans, and fails on all other input.\r\n */\r\n Decoder.boolean = function () {\r\n return new Decoder(function (json) {\r\n return typeof json === 'boolean'\r\n ? ok(json)\r\n : err({ message: expectedGot('a boolean', json) });\r\n });\r\n };\r\n Decoder.constant = function (value) {\r\n return new Decoder(function (json) {\r\n return isEqual(json, value)\r\n ? ok(value)\r\n : err({ message: \"expected \" + JSON.stringify(value) + \", got \" + JSON.stringify(json) });\r\n });\r\n };\r\n Decoder.object = function (decoders) {\r\n return new Decoder(function (json) {\r\n if (isJsonObject(json) && decoders) {\r\n var obj = {};\r\n for (var key in decoders) {\r\n if (decoders.hasOwnProperty(key)) {\r\n var r = decoders[key].decode(json[key]);\r\n if (r.ok === true) {\r\n // tslint:disable-next-line:strict-type-predicates\r\n if (r.result !== undefined) {\r\n obj[key] = r.result;\r\n }\r\n }\r\n else if (json[key] === undefined) {\r\n return err({ message: \"the key '\" + key + \"' is required but was not present\" });\r\n }\r\n else {\r\n return err(prependAt(\".\" + key, r.error));\r\n }\r\n }\r\n }\r\n return ok(obj);\r\n }\r\n else if (isJsonObject(json)) {\r\n return ok(json);\r\n }\r\n else {\r\n return err({ message: expectedGot('an object', json) });\r\n }\r\n });\r\n };\r\n Decoder.array = function (decoder) {\r\n return new Decoder(function (json) {\r\n if (isJsonArray(json) && decoder) {\r\n var decodeValue_1 = function (v, i) {\r\n return mapError(function (err$$1) { return prependAt(\"[\" + i + \"]\", err$$1); }, decoder.decode(v));\r\n };\r\n return json.reduce(function (acc, v, i) {\r\n return map2(function (arr, result) { return arr.concat([result]); }, acc, decodeValue_1(v, i));\r\n }, ok([]));\r\n }\r\n else if (isJsonArray(json)) {\r\n return ok(json);\r\n }\r\n else {\r\n return err({ message: expectedGot('an array', json) });\r\n }\r\n });\r\n };\r\n Decoder.tuple = function (decoders) {\r\n return new Decoder(function (json) {\r\n if (isJsonArray(json)) {\r\n if (json.length !== decoders.length) {\r\n return err({\r\n message: \"expected a tuple of length \" + decoders.length + \", got one of length \" + json.length\r\n });\r\n }\r\n var result = [];\r\n for (var i = 0; i < decoders.length; i++) {\r\n var nth = decoders[i].decode(json[i]);\r\n if (nth.ok) {\r\n result[i] = nth.result;\r\n }\r\n else {\r\n return err(prependAt(\"[\" + i + \"]\", nth.error));\r\n }\r\n }\r\n return ok(result);\r\n }\r\n else {\r\n return err({ message: expectedGot(\"a tuple of length \" + decoders.length, json) });\r\n }\r\n });\r\n };\r\n Decoder.union = function (ad, bd) {\r\n var decoders = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n decoders[_i - 2] = arguments[_i];\r\n }\r\n return Decoder.oneOf.apply(Decoder, [ad, bd].concat(decoders));\r\n };\r\n Decoder.intersection = function (ad, bd) {\r\n var ds = [];\r\n for (var _i = 2; _i < arguments.length; _i++) {\r\n ds[_i - 2] = arguments[_i];\r\n }\r\n return new Decoder(function (json) {\r\n return [ad, bd].concat(ds).reduce(function (acc, decoder) { return map2(Object.assign, acc, decoder.decode(json)); }, ok({}));\r\n });\r\n };\r\n /**\r\n * Escape hatch to bypass validation. Always succeeds and types the result as\r\n * `any`. Useful for defining decoders incrementally, particularly for\r\n * complex objects.\r\n *\r\n * Example:\r\n * ```\r\n * interface User {\r\n * name: string;\r\n * complexUserData: ComplexType;\r\n * }\r\n *\r\n * const userDecoder: Decoder<User> = object({\r\n * name: string(),\r\n * complexUserData: anyJson()\r\n * });\r\n * ```\r\n */\r\n Decoder.anyJson = function () { return new Decoder(function (json) { return ok(json); }); };\r\n /**\r\n * Decoder identity function which always succeeds and types the result as\r\n * `unknown`.\r\n */\r\n Decoder.unknownJson = function () {\r\n return new Decoder(function (json) { return ok(json); });\r\n };\r\n /**\r\n * Decoder for json objects where the keys are unknown strings, but the values\r\n * should all be of the same type.\r\n *\r\n * Example:\r\n * ```\r\n * dict(number()).run({chocolate: 12, vanilla: 10, mint: 37});\r\n * // => {ok: true, result: {chocolate: 12, vanilla: 10, mint: 37}}\r\n * ```\r\n */\r\n Decoder.dict = function (decoder) {\r\n return new Decoder(function (json) {\r\n if (isJsonObject(json)) {\r\n var obj = {};\r\n for (var key in json) {\r\n if (json.hasOwnProperty(key)) {\r\n var r = decoder.decode(json[key]);\r\n if (r.ok === true) {\r\n obj[key] = r.result;\r\n }\r\n else {\r\n return err(prependAt(\".\" + key, r.error));\r\n }\r\n }\r\n }\r\n return ok(obj);\r\n }\r\n else {\r\n return err({ message: expectedGot('an object', json) });\r\n }\r\n });\r\n };\r\n /**\r\n * Decoder for values that may be `undefined`. This is primarily helpful for\r\n * decoding interfaces with optional fields.\r\n *\r\n * Example:\r\n * ```\r\n * interface User {\r\n * id: number;\r\n * isOwner?: boolean;\r\n * }\r\n *\r\n * const decoder: Decoder<User> = object({\r\n * id: number(),\r\n * isOwner: optional(boolean())\r\n * });\r\n * ```\r\n */\r\n Decoder.optional = function (decoder) {\r\n return new Decoder(function (json) { return (json === undefined ? ok(undefined) : decoder.decode(json)); });\r\n };\r\n /**\r\n * Decoder that attempts to run each decoder in `decoders` and either succeeds\r\n * with the first successful decoder, or fails after all decoders have failed.\r\n *\r\n * Note that `oneOf` expects the decoders to all have the same return type,\r\n * while `union` creates a decoder for the union type of all the input\r\n * decoders.\r\n *\r\n * Examples:\r\n * ```\r\n * oneOf(string(), number().map(String))\r\n * oneOf(constant('start'), constant('stop'), succeed('unknown'))\r\n * ```\r\n */\r\n Decoder.oneOf = function () {\r\n var decoders = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n decoders[_i] = arguments[_i];\r\n }\r\n return new Decoder(function (json) {\r\n var errors = [];\r\n for (var i = 0; i < decoders.length; i++) {\r\n var r = decoders[i].decode(json);\r\n if (r.ok === true) {\r\n return r;\r\n }\r\n else {\r\n errors[i] = r.error;\r\n }\r\n }\r\n var errorsList = errors\r\n .map(function (error) { return \"at error\" + (error.at || '') + \": \" + error.message; })\r\n .join('\", \"');\r\n return err({\r\n message: \"expected a value matching one of the decoders, got the errors [\\\"\" + errorsList + \"\\\"]\"\r\n });\r\n });\r\n };\r\n /**\r\n * Decoder that always succeeds with either the decoded value, or a fallback\r\n * default value.\r\n */\r\n Decoder.withDefault = function (defaultValue, decoder) {\r\n return new Decoder(function (json) {\r\n return ok(withDefault(defaultValue, decoder.decode(json)));\r\n });\r\n };\r\n /**\r\n * Decoder that pulls a specific field out of a json structure, instead of\r\n * decoding and returning the full structure. The `paths` array describes the\r\n * object keys and array indices to traverse, so that values can be pulled out\r\n * of a nested structure.\r\n *\r\n * Example:\r\n * ```\r\n * const decoder = valueAt(['a', 'b', 0], string());\r\n *\r\n * decoder.run({a: {b: ['surprise!']}})\r\n * // => {ok: true, result: 'surprise!'}\r\n *\r\n * decoder.run({a: {x: 'cats'}})\r\n * // => {ok: false, error: {... at: 'input.a.b[0]' message: 'path does not exist'}}\r\n * ```\r\n *\r\n * Note that the `decoder` is ran on the value found at the last key in the\r\n * path, even if the last key is not found. This allows the `optional`\r\n * decoder to succeed when appropriate.\r\n * ```\r\n * const optionalDecoder = valueAt(['a', 'b', 'c'], optional(string()));\r\n *\r\n * optionalDecoder.run({a: {b: {c: 'surprise!'}}})\r\n * // => {ok: true, result: 'surprise!'}\r\n *\r\n * optionalDecoder.run({a: {b: 'cats'}})\r\n * // => {ok: false, error: {... at: 'input.a.b.c' message: 'expected an object, got \"cats\"'}\r\n *\r\n * optionalDecoder.run({a: {b: {z: 1}}})\r\n * // => {ok: true, result: undefined}\r\n * ```\r\n */\r\n Decoder.valueAt = function (paths, decoder) {\r\n return new Decoder(function (json) {\r\n var jsonAtPath = json;\r\n for (var i = 0; i < paths.length; i++) {\r\n if (jsonAtPath === undefined) {\r\n return err({\r\n at: printPath(paths.slice(0, i + 1)),\r\n message: 'path does not exist'\r\n });\r\n }\r\n else if (typeof paths[i] === 'string' && !isJsonObject(jsonAtPath)) {\r\n return err({\r\n at: printPath(paths.slice(0, i + 1)),\r\n message: expectedGot('an object', jsonAtPath)\r\n });\r\n }\r\n else if (typeof paths[i] === 'number' && !isJsonArray(jsonAtPath)) {\r\n return err({\r\n at: printPath(paths.slice(0, i + 1)),\r\n message: expectedGot('an array', jsonAtPath)\r\n });\r\n }\r\n else {\r\n jsonAtPath = jsonAtPath[paths[i]];\r\n }\r\n }\r\n return mapError(function (error) {\r\n return jsonAtPath === undefined\r\n ? { at: printPath(paths), message: 'path does not exist' }\r\n : prependAt(printPath(paths), error);\r\n }, decoder.decode(jsonAtPath));\r\n });\r\n };\r\n /**\r\n * Decoder that ignores the input json and always succeeds with `fixedValue`.\r\n */\r\n Decoder.succeed = function (fixedValue) {\r\n return new Decoder(function (json) { return ok(fixedValue); });\r\n };\r\n /**\r\n * Decoder that ignores the input json and always fails with `errorMessage`.\r\n */\r\n Decoder.fail = function (errorMessage) {\r\n return new Decoder(function (json) { return err({ message: errorMessage }); });\r\n };\r\n /**\r\n * Decoder that allows for validating recursive data structures. Unlike with\r\n * functions, decoders assigned to variables can't reference themselves\r\n * before they are fully defined. We can avoid prematurely referencing the\r\n * decoder by wrapping it in a function that won't be called until use, at\r\n * which point the decoder has been defined.\r\n *\r\n * Example:\r\n * ```\r\n * interface Comment {\r\n * msg: string;\r\n * replies: Comment[];\r\n * }\r\n *\r\n * const decoder: Decoder<Comment> = object({\r\n * msg: string(),\r\n * replies: lazy(() => array(decoder))\r\n * });\r\n * ```\r\n */\r\n Decoder.lazy = function (mkDecoder) {\r\n return new Decoder(function (json) { return mkDecoder().decode(json); });\r\n };\r\n return Decoder;\r\n}());\n\n/* tslint:disable:variable-name */\r\n/** See `Decoder.string` */\r\nvar string = Decoder.string;\r\n/** See `Decoder.number` */\r\nvar number = Decoder.number;\r\n/** See `Decoder.boolean` */\r\nvar boolean = Decoder.boolean;\r\n/** See `Decoder.anyJson` */\r\nvar anyJson = Decoder.anyJson;\r\n/** See `Decoder.unknownJson` */\r\nvar unknownJson = Decoder.unknownJson;\r\n/** See `Decoder.constant` */\r\nvar constant = Decoder.constant;\r\n/** See `Decoder.object` */\r\nvar object = Decoder.object;\r\n/** See `Decoder.array` */\r\nvar array = Decoder.array;\r\n/** See `Decoder.tuple` */\r\nvar tuple = Decoder.tuple;\r\n/** See `Decoder.dict` */\r\nvar dict = Decoder.dict;\r\n/** See `Decoder.optional` */\r\nvar optional = Decoder.optional;\r\n/** See `Decoder.oneOf` */\r\nvar oneOf = Decoder.oneOf;\r\n/** See `Decoder.union` */\r\nvar union = Decoder.union;\r\n/** See `Decoder.intersection` */\r\nvar intersection = Decoder.intersection;\r\n/** See `Decoder.withDefault` */\r\nvar withDefault$1 = Decoder.withDefault;\r\n/** See `Decoder.valueAt` */\r\nvar valueAt = Decoder.valueAt;\r\n/** See `Decoder.succeed` */\r\nvar succeed = Decoder.succeed;\r\n/** See `Decoder.fail` */\r\nvar fail = Decoder.fail;\r\n/** See `Decoder.lazy` */\r\nvar lazy = Decoder.lazy;\n\nexport { result as Result, Decoder, isDecoderError, string, number, boolean, anyJson, unknownJson, constant, object, array, tuple, dict, optional, oneOf, union, intersection, withDefault$1 as withDefault, valueAt, succeed, fail, lazy };\n//# sourceMappingURL=index.es5.js.map\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Map = exports.emptyMap = exports.TextMap = exports.Optional = exports.ContractId = exports.Date = exports.List = exports.Party = exports.Time = exports.Text = exports.Decimal = exports.Numeric = exports.Int = exports.Bool = exports.Unit = exports.lookupTemplate = exports.templateIdWithPackageId = exports.registerTemplate = void 0;\nexports.assembleTemplate = assembleTemplate;\nexports.assembleInterface = assembleInterface;\nexports.memo = memo;\nexports.lazyMemo = lazyMemo;\n// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar jtv = __importStar(require(\"@mojotech/json-type-validation\"));\nvar lodash_1 = __importDefault(require(\"lodash\"));\nvar InterfaceBrand = Symbol();\nvar FromTemplateBrand = Symbol();\nfunction toInterfaceMixin() {\n return {\n toInterface: function (_, cid) {\n return cid;\n },\n unsafeFromInterface: function (_, cid) {\n return cid;\n },\n };\n}\n/**\n * @internal\n */\nfunction assembleTemplate(template) {\n var _interfaces = []; // eslint-disable-line @typescript-eslint/no-unused-vars\n for (var _i = 1 // eslint-disable-line @typescript-eslint/no-unused-vars\n ; _i < arguments.length // eslint-disable-line @typescript-eslint/no-unused-vars\n ; _i++ // eslint-disable-line @typescript-eslint/no-unused-vars\n ) {\n _interfaces[_i - 1] = arguments[_i]; // eslint-disable-line @typescript-eslint/no-unused-vars\n }\n return __assign(__assign({}, toInterfaceMixin()), template);\n}\n/**\n * @internal\n */\nfunction assembleInterface(templateId, decoderSource, choices) {\n return __assign({ templateId: templateId, sdkVersion: \"3.3.0-snapshot.20250528.13806.0.v3cd439fb\", \n // `Interface<I> &` is a phantom intersection\n decoder: lazyMemo(function () { return decoderSource().decoder; }), keyDecoder: jtv.succeed(undefined) }, choices);\n}\n/**\n * @internal\n */\nvar registeredTemplates = {};\n/**\n * @internal\n */\nvar registerTemplate = function (template, packageSpecifiers) {\n if (packageSpecifiers === void 0) { packageSpecifiers = []; }\n var aliases = packageSpecifiers.map((0, exports.templateIdWithPackageId)(template));\n new Set([template.templateId].concat(aliases)).forEach(function (templateId) {\n if (templateId in registeredTemplates) {\n console.warn(\"Trying to re-register template \".concat(templateId, \".\"));\n }\n else {\n registeredTemplates[templateId] = template;\n console.debug(\"Registered template \".concat(templateId, \".\"));\n }\n });\n};\nexports.registerTemplate = registerTemplate;\n/**\n * @internal\n */\nvar templateIdWithPackageId = function (t) {\n return function (pkgId) {\n return [pkgId].concat(t.templateId.split(\":\").slice(1)).join(\":\");\n };\n};\nexports.templateIdWithPackageId = templateIdWithPackageId;\n/**\n * @internal\n */\nvar lookupTemplate = function (templateId) {\n var template = registeredTemplates[templateId];\n if (template === undefined) {\n throw Error(\"Failed to look up template \".concat(templateId, \". Make sure your @daml/types version agrees with the used Daml SDK version.\"));\n }\n return template;\n};\nexports.lookupTemplate = lookupTemplate;\n/**\n * @internal Turn a thunk into a memoized version of itself. The memoized thunk\n * invokes the original thunk only on its first invocation and caches the result\n * for later uses. We use this to implement a version of `jtv.lazy` with\n * memoization.\n */\nfunction memo(thunk) {\n var memoized = function () {\n var cache = thunk();\n memoized = function () { return cache; };\n return cache;\n };\n // NOTE(MH): Since we change `memoized` when the resultung thunk is invoked\n // for the first time, we need to return it \"by reference\". Thus, we return\n // a closure which contains a reference to `memoized`.\n return function () { return memoized(); };\n}\n/**\n * @internal Variation of `jtv.lazy` which memoizes the computed decoder on its\n * first invocation.\n */\nfunction lazyMemo(mkDecoder) {\n return jtv.lazy(memo(mkDecoder));\n}\n/**\n * Companion object of the [[Unit]] type.\n */\nexports.Unit = {\n decoder: jtv.object({}),\n encode: function (t) { return t; },\n};\n/**\n * Companion object of the [[Bool]] type.\n */\nexports.Bool = {\n decoder: jtv.boolean(),\n encode: function (b) { return b; },\n};\n/**\n * Companion object of the [[Int]] type.\n */\nexports.Int = {\n decoder: jtv.string(),\n encode: function (i) { return i; },\n};\n/**\n * Companion function of the [[Numeric]] type.\n */\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nvar Numeric = function (_) { return ({\n decoder: jtv.string(),\n encode: function (n) { return n; },\n}); };\nexports.Numeric = Numeric;\n/**\n * Companion object of the [[Decimal]] type.\n */\nexports.Decimal = (0, exports.Numeric)(10);\n/**\n * Companion object of the [[Text]] type.\n */\nexports.Text = {\n decoder: jtv.string(),\n encode: function (t) { return t; },\n};\n/**\n * Companion object of the [[Time]] type.\n */\nexports.Time = {\n decoder: jtv.string(),\n encode: function (t) { return t; },\n};\n/**\n * Companion object of the [[Party]] type.\n */\nexports.Party = {\n decoder: jtv.string(),\n encode: function (p) { return p; },\n};\n/**\n * Companion object of the [[List]] type.\n */\nvar List = function (t) { return ({\n decoder: jtv.array(t.decoder),\n encode: function (l) { return l.map(function (element) { return t.encode(element); }); },\n}); };\nexports.List = List;\n/**\n * Companion object of the [[Date]] type.\n */\nexports.Date = {\n decoder: jtv.string(),\n encode: function (d) { return d; },\n};\n/**\n * Used to `brand` [[ContractId]].\n */\nvar ContractIdBrand = Symbol();\n/**\n * Companion object of the [[ContractId]] type.\n */\nvar ContractId = function (_t) { return ({\n decoder: jtv.string(),\n encode: function (c) { return c; },\n}); };\nexports.ContractId = ContractId;\n/**\n * This class does the actual work behind the [[Optional]] companion function. In addition to\n * implementing the [[Serializable]] interface it also stores the [[Serializable]] instance of the\n * payload of the [[Optional]] and uses it to provide a decoder for the [[OptionalInner]] type.\n *\n * @typeparam T The type of the optionally present value.\n */\nvar OptionalWorker = /** @class */ (function () {\n function OptionalWorker(payload) {\n if (payload instanceof OptionalWorker) {\n var payloadInnerDecoder = payload.innerDecoder;\n this.innerDecoder = jtv.oneOf(jtv.constant([]), jtv.tuple([payloadInnerDecoder]));\n this.encode = function (o) {\n if (o === null) {\n // Top-level enclosing Optional where the type argument is also\n // Optional and we represent None.\n return null;\n }\n else {\n // The current type is Optional<Optional<...>> and the current value\n // is Some x. Therefore the nested value is represented as [] for\n // x = None or as [y] for x = Some y. In both cases mapping the\n // encoder of the type parameter does the right thing.\n return o.map(function (nested) { return payload.encode(nested); });\n }\n };\n }\n else {\n // NOTE(MH): `T` is not of the form `Optional<U>` here and hence `null`\n // does not extend `T`. Thus, `OptionalInner<T> = T`.\n this.innerDecoder = payload.decoder;\n this.encode = function (o) {\n if (o === null) {\n // This branch is only reached if we are at the top-level and the\n // entire type is a non-nested Optional, i.e. Optional<U> where U is\n // not Optional. Recursive calls from the other branch would stop\n // before reaching this case, as nested None are empty lists and\n // never null.\n return null;\n }\n else {\n return payload.encode(o);\n }\n };\n }\n this.decoder = jtv\n .optional(jtv.oneOf(jtv.constant(null), this.innerDecoder))\n .map(function (x) { return (x === undefined ? null : x); });\n }\n return OptionalWorker;\n}());\n/**\n * Companion function of the [[Optional]] type.\n */\nvar Optional = function (t) {\n return new OptionalWorker(t);\n};\nexports.Optional = Optional;\n/**\n * Companion object of the [[TextMap]] type.\n */\nvar TextMap = function (t) { return ({\n decoder: jtv.dict(t.decoder),\n encode: function (tm) {\n var out = {};\n Object.keys(tm).forEach(function (k) {\n out[k] = t.encode(tm[k]);\n });\n return out;\n },\n}); };\nexports.TextMap = TextMap;\nfunction it(arr) {\n var i;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n i = 0;\n _a.label = 1;\n case 1:\n if (!(i < arr.length)) return [3 /*break*/, 4];\n return [4 /*yield*/, lodash_1.default.cloneDeep(arr[i])];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3:\n i++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/, undefined];\n }\n });\n}\n// This code assumes that the decoder is only ever used in decoding values\n// straight from the API responses, and said raw responses are never reused\n// afterwards. This should be enforced by this class not being exported and the\n// daml-ledger module not letting raw JSON responses escape without going\n// through this.\n//\n// Without that assumption, the constructor would need to deep-copy its kvs\n// argument.\nvar MapImpl = /** @class */ (function () {\n function MapImpl(kvs) {\n // sorting done so that generic object deep comparison would find equal\n // maps equal (as defined by jest's expect().toEqual())\n this._kvs = lodash_1.default.sortBy(kvs, function (kv) { return JSON.stringify(kv[0]); });\n this._keys = this._kvs.map(function (e) { return e[0]; });\n this._values = this._kvs.map(function (e) { return e[1]; });\n }\n MapImpl.prototype._idx = function (k) {\n return this._keys.findIndex(function (l) { return lodash_1.default.isEqual(k, l); });\n };\n MapImpl.prototype.has = function (k) {\n return this._idx(k) !== -1;\n };\n MapImpl.prototype.get = function (k) {\n return lodash_1.default.cloneDeep(this._values[this._idx(k)]);\n };\n MapImpl.prototype.set = function (k, v) {\n if (this.has(k)) {\n var cpy = this._kvs.slice();\n cpy[this._idx(k)] = lodash_1.default.cloneDeep([k, v]);\n return new MapImpl(cpy);\n }\n else {\n var head = lodash_1.default.cloneDeep([[k, v]]);\n return new MapImpl(head.concat(this._kvs));\n }\n };\n MapImpl.prototype.delete = function (k) {\n var i = this._idx(k);\n if (i !== -1) {\n return new MapImpl(this._kvs.slice(0, i).concat(this._kvs.slice(i + 1)));\n }\n else {\n return this;\n }\n };\n MapImpl.prototype.keys = function () {\n return it(this._keys);\n };\n MapImpl.prototype.values = function () {\n return it(this._values);\n };\n MapImpl.prototype.entries = function () {\n return it(this._kvs);\n };\n MapImpl.prototype.entriesArray = function () {\n return lodash_1.default.cloneDeep(this._kvs);\n };\n MapImpl.prototype.forEach = function (f, u) {\n var g = u ? f.bind(u) : f;\n for (var _i = 0, _a = this._kvs; _i < _a.length; _i++) {\n var _b = _a[_i], k = _b[0], v = _b[1];\n g(v, k, this);\n }\n };\n return MapImpl;\n}());\nvar emptyMap = function () { return new MapImpl([]); };\nexports.emptyMap = emptyMap;\n/**\n * Companion function of the [[GenMap]] type.\n */\nvar Map = function (kd, vd) { return ({\n decoder: jtv\n .array(jtv.tuple([kd.decoder, vd.decoder]))\n .map(function (kvs) { return new MapImpl(kvs); }),\n encode: function (m) {\n return m.entriesArray().map(function (e) { return [kd.encode(e[0]), vd.encode(e[1])]; });\n },\n}); };\nexports.Map = Map;\n//# sourceMappingURL=index.js.map","// Save global object in a variable\nvar __global__ =\n(typeof globalThis !== 'undefined' && globalThis) ||\n(typeof self !== 'undefined' && self) ||\n(typeof global !== 'undefined' && global);\n// Create an object that extends from __global__ without the fetch function\nvar __globalThis__ = (function () {\nfunction F() {\nthis.fetch = false;\nthis.DOMException = __global__.DOMException\n}\nF.prototype = __global__; // Needed for feature detection on whatwg-fetch's code\nreturn new F();\n})();\n// Wraps whatwg-fetch with a function scope to hijack the global object\n// \"globalThis\" that's going to be patched\n(function(globalThis) {\n\nvar irrelevant = (function (exports) {\n\n /* eslint-disable no-prototype-builtins */\n var g =\n (typeof globalThis !== 'undefined' && globalThis) ||\n (typeof self !== 'undefined' && self) ||\n // eslint-disable-next-line no-undef\n (typeof global !== 'undefined' && global) ||\n {};\n\n var support = {\n searchParams: 'URLSearchParams' in g,\n iterable: 'Symbol' in g && 'iterator' in Symbol,\n blob:\n 'FileReader' in g &&\n 'Blob' in g &&\n (function() {\n try {\n new Blob();\n return true\n } catch (e) {\n return false\n }\n })(),\n formData: 'FormData' in g,\n arrayBuffer: 'ArrayBuffer' in g\n };\n\n function isDataView(obj) {\n return obj && DataView.prototype.isPrototypeOf(obj)\n }\n\n if (support.arrayBuffer) {\n var viewClasses = [\n '[object Int8Array]',\n '[object Uint8Array]',\n '[object Uint8ClampedArray]',\n '[object Int16Array]',\n '[object Uint16Array]',\n '[object Int32Array]',\n '[object Uint32Array]',\n '[object Float32Array]',\n '[object Float64Array]'\n ];\n\n var isArrayBufferView =\n ArrayBuffer.isView ||\n function(obj) {\n return obj && viewClasses.indexOf(Object.prototype.toString.call(obj)) > -1\n };\n }\n\n function normalizeName(name) {\n if (typeof name !== 'string') {\n name = String(name);\n }\n if (/[^a-z0-9\\-#$%&'*+.^_`|~!]/i.test(name) || name === '') {\n throw new TypeError('Invalid character in header field name: \"' + name + '\"')\n }\n return name.toLowerCase()\n }\n\n function normalizeValue(value) {\n if (typeof value !== 'string') {\n value = String(value);\n }\n return value\n }\n\n // Build a destructive iterator for the value list\n function iteratorFor(items) {\n var iterator = {\n next: function() {\n var value = items.shift();\n return {done: value === undefined, value: value}\n }\n };\n\n if (support.iterable) {\n iterator[Symbol.iterator] = function() {\n return iterator\n };\n }\n\n return iterator\n }\n\n function Headers(headers) {\n this.map = {};\n\n if (headers instanceof Headers) {\n headers.forEach(function(value, name) {\n this.append(name, value);\n }, this);\n } else if (Array.isArray(headers)) {\n headers.forEach(function(header) {\n if (header.length != 2) {\n throw new TypeError('Headers constructor: expected name/value pair to be length 2, found' + header.length)\n }\n this.append(header[0], header[1]);\n }, this);\n } else if (headers) {\n Object.getOwnPropertyNames(headers).forEach(function(name) {\n this.append(name, headers[name]);\n }, this);\n }\n }\n\n Headers.prototype.append = function(name, value) {\n name = normalizeName(name);\n value = normalizeValue(value);\n var oldValue = this.map[name];\n this.map[name] = oldValue ? oldValue + ', ' + value : value;\n };\n\n Headers.prototype['delete'] = function(name) {\n delete this.map[normalizeName(name)];\n };\n\n Headers.prototype.get = function(name) {\n name = normalizeName(name);\n return this.has(name) ? this.map[name] : null\n };\n\n Headers.prototype.has = function(name) {\n return this.map.hasOwnProperty(normalizeName(name))\n };\n\n Headers.prototype.set = function(name, value) {\n this.map[normalizeName(name)] = normalizeValue(value);\n };\n\n Headers.prototype.forEach = function(callback, thisArg) {\n for (var name in this.map) {\n if (this.map.hasOwnProperty(name)) {\n callback.call(thisArg, this.map[name], name, this);\n }\n }\n };\n\n Headers.prototype.keys = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push(name);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.values = function() {\n var items = [];\n this.forEach(function(value) {\n items.push(value);\n });\n return iteratorFor(items)\n };\n\n Headers.prototype.entries = function() {\n var items = [];\n this.forEach(function(value, name) {\n items.push([name, value]);\n });\n return iteratorFor(items)\n };\n\n if (support.iterable) {\n Headers.prototype[Symbol.iterator] = Headers.prototype.entries;\n }\n\n function consumed(body) {\n if (body._noBody) return\n if (body.bodyUsed) {\n return Promise.reject(new TypeError('Already read'))\n }\n body.bodyUsed = true;\n }\n\n function fileReaderReady(reader) {\n return new Promise(function(resolve, reject) {\n reader.onload = function() {\n resolve(reader.result);\n };\n reader.onerror = function() {\n reject(reader.error);\n };\n })\n }\n\n function readBlobAsArrayBuffer(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n reader.readAsArrayBuffer(blob);\n return promise\n }\n\n function readBlobAsText(blob) {\n var reader = new FileReader();\n var promise = fileReaderReady(reader);\n var match = /charset=([A-Za-z0-9_-]+)/.exec(blob.type);\n var encoding = match ? match[1] : 'utf-8';\n reader.readAsText(blob, encoding);\n return promise\n }\n\n function readArrayBufferAsText(buf) {\n var view = new Uint8Array(buf);\n var chars = new Array(view.length);\n\n for (var i = 0; i < view.length; i++) {\n chars[i] = String.fromCharCode(view[i]);\n }\n return chars.join('')\n }\n\n function bufferClone(buf) {\n if (buf.slice) {\n return buf.slice(0)\n } else {\n var view = new Uint8Array(buf.byteLength);\n view.set(new Uint8Array(buf));\n return view.buffer\n }\n }\n\n function Body() {\n this.bodyUsed = false;\n\n this._initBody = function(body) {\n /*\n fetch-mock wraps the Response object in an ES6 Proxy to\n provide useful test harness features such as flush. However, on\n ES5 browsers without fetch or Proxy support pollyfills must be used;\n the proxy-pollyfill is unable to proxy an attribute unless it exists\n on the object before the Proxy is created. This change ensures\n Response.bodyUsed exists on the instance, while maintaining the\n semantic of setting Request.bodyUsed in the constructor before\n _initBody is called.\n */\n // eslint-disable-next-line no-self-assign\n this.bodyUsed = this.bodyUsed;\n this._bodyInit = body;\n if (!body) {\n this._noBody = true;\n this._bodyText = '';\n } else if (typeof body === 'string') {\n this._bodyText = body;\n } else if (support.blob && Blob.prototype.isPrototypeOf(body)) {\n this._bodyBlob = body;\n } else if (support.formData && FormData.prototype.isPrototypeOf(body)) {\n this._bodyFormData = body;\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this._bodyText = body.toString();\n } else if (support.arrayBuffer && support.blob && isDataView(body)) {\n this._bodyArrayBuffer = bufferClone(body.buffer);\n // IE 10-11 can't handle a DataView body.\n this._bodyInit = new Blob([this._bodyArrayBuffer]);\n } else if (support.arrayBuffer && (ArrayBuffer.prototype.isPrototypeOf(body) || isArrayBufferView(body))) {\n this._bodyArrayBuffer = bufferClone(body);\n } else {\n this._bodyText = body = Object.prototype.toString.call(body);\n }\n\n if (!this.headers.get('content-type')) {\n if (typeof body === 'string') {\n this.headers.set('content-type', 'text/plain;charset=UTF-8');\n } else if (this._bodyBlob && this._bodyBlob.type) {\n this.headers.set('content-type', this._bodyBlob.type);\n } else if (support.searchParams && URLSearchParams.prototype.isPrototypeOf(body)) {\n this.headers.set('content-type', 'application/x-www-form-urlencoded;charset=UTF-8');\n }\n }\n };\n\n if (support.blob) {\n this.blob = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return Promise.resolve(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(new Blob([this._bodyArrayBuffer]))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as blob')\n } else {\n return Promise.resolve(new Blob([this._bodyText]))\n }\n };\n }\n\n this.arrayBuffer = function() {\n if (this._bodyArrayBuffer) {\n var isConsumed = consumed(this);\n if (isConsumed) {\n return isConsumed\n } else if (ArrayBuffer.isView(this._bodyArrayBuffer)) {\n return Promise.resolve(\n this._bodyArrayBuffer.buffer.slice(\n this._bodyArrayBuffer.byteOffset,\n this._bodyArrayBuffer.byteOffset + this._bodyArrayBuffer.byteLength\n )\n )\n } else {\n return Promise.resolve(this._bodyArrayBuffer)\n }\n } else if (support.blob) {\n return this.blob().then(readBlobAsArrayBuffer)\n } else {\n throw new Error('could not read as ArrayBuffer')\n }\n };\n\n this.text = function() {\n var rejected = consumed(this);\n if (rejected) {\n return rejected\n }\n\n if (this._bodyBlob) {\n return readBlobAsText(this._bodyBlob)\n } else if (this._bodyArrayBuffer) {\n return Promise.resolve(readArrayBufferAsText(this._bodyArrayBuffer))\n } else if (this._bodyFormData) {\n throw new Error('could not read FormData body as text')\n } else {\n return Promise.resolve(this._bodyText)\n }\n };\n\n if (support.formData) {\n this.formData = function() {\n return this.text().then(decode)\n };\n }\n\n this.json = function() {\n return this.text().then(JSON.parse)\n };\n\n return this\n }\n\n // HTTP methods whose capitalization should be normalized\n var methods = ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'];\n\n function normalizeMethod(method) {\n var upcased = method.toUpperCase();\n return methods.indexOf(upcased) > -1 ? upcased : method\n }\n\n function Request(input, options) {\n if (!(this instanceof Request)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n\n options = options || {};\n var body = options.body;\n\n if (input instanceof Request) {\n if (input.bodyUsed) {\n throw new TypeError('Already read')\n }\n this.url = input.url;\n this.credentials = input.credentials;\n if (!options.headers) {\n this.headers = new Headers(input.headers);\n }\n this.method = input.method;\n this.mode = input.mode;\n this.signal = input.signal;\n if (!body && input._bodyInit != null) {\n body = input._bodyInit;\n input.bodyUsed = true;\n }\n } else {\n this.url = String(input);\n }\n\n this.credentials = options.credentials || this.credentials || 'same-origin';\n if (options.headers || !this.headers) {\n this.headers = new Headers(options.headers);\n }\n this.method = normalizeMethod(options.method || this.method || 'GET');\n this.mode = options.mode || this.mode || null;\n this.signal = options.signal || this.signal || (function () {\n if ('AbortController' in g) {\n var ctrl = new AbortController();\n return ctrl.signal;\n }\n }());\n this.referrer = null;\n\n if ((this.method === 'GET' || this.method === 'HEAD') && body) {\n throw new TypeError('Body not allowed for GET or HEAD requests')\n }\n this._initBody(body);\n\n if (this.method === 'GET' || this.method === 'HEAD') {\n if (options.cache === 'no-store' || options.cache === 'no-cache') {\n // Search for a '_' parameter in the query string\n var reParamSearch = /([?&])_=[^&]*/;\n if (reParamSearch.test(this.url)) {\n // If it already exists then set the value with the current time\n this.url = this.url.replace(reParamSearch, '$1_=' + new Date().getTime());\n } else {\n // Otherwise add a new '_' parameter to the end with the current time\n var reQueryString = /\\?/;\n this.url += (reQueryString.test(this.url) ? '&' : '?') + '_=' + new Date().getTime();\n }\n }\n }\n }\n\n Request.prototype.clone = function() {\n return new Request(this, {body: this._bodyInit})\n };\n\n function decode(body) {\n var form = new FormData();\n body\n .trim()\n .split('&')\n .forEach(function(bytes) {\n if (bytes) {\n var split = bytes.split('=');\n var name = split.shift().replace(/\\+/g, ' ');\n var value = split.join('=').replace(/\\+/g, ' ');\n form.append(decodeURIComponent(name), decodeURIComponent(value));\n }\n });\n return form\n }\n\n function parseHeaders(rawHeaders) {\n var headers = new Headers();\n // Replace instances of \\r\\n and \\n followed by at least one space or horizontal tab with a space\n // https://tools.ietf.org/html/rfc7230#section-3.2\n var preProcessedHeaders = rawHeaders.replace(/\\r?\\n[\\t ]+/g, ' ');\n // Avoiding split via regex to work around a common IE11 bug with the core-js 3.6.0 regex polyfill\n // https://github.com/github/fetch/issues/748\n // https://github.com/zloirock/core-js/issues/751\n preProcessedHeaders\n .split('\\r')\n .map(function(header) {\n return header.indexOf('\\n') === 0 ? header.substr(1, header.length) : header\n })\n .forEach(function(line) {\n var parts = line.split(':');\n var key = parts.shift().trim();\n if (key) {\n var value = parts.join(':').trim();\n try {\n headers.append(key, value);\n } catch (error) {\n console.warn('Response ' + error.message);\n }\n }\n });\n return headers\n }\n\n Body.call(Request.prototype);\n\n function Response(bodyInit, options) {\n if (!(this instanceof Response)) {\n throw new TypeError('Please use the \"new\" operator, this DOM object constructor cannot be called as a function.')\n }\n if (!options) {\n options = {};\n }\n\n this.type = 'default';\n this.status = options.status === undefined ? 200 : options.status;\n if (this.status < 200 || this.status > 599) {\n throw new RangeError(\"Failed to construct 'Response': The status provided (0) is outside the range [200, 599].\")\n }\n this.ok = this.status >= 200 && this.status < 300;\n this.statusText = options.statusText === undefined ? '' : '' + options.statusText;\n this.headers = new Headers(options.headers);\n this.url = options.url || '';\n this._initBody(bodyInit);\n }\n\n Body.call(Response.prototype);\n\n Response.prototype.clone = function() {\n return new Response(this._bodyInit, {\n status: this.status,\n statusText: this.statusText,\n headers: new Headers(this.headers),\n url: this.url\n })\n };\n\n Response.error = function() {\n var response = new Response(null, {status: 200, statusText: ''});\n response.ok = false;\n response.status = 0;\n response.type = 'error';\n return response\n };\n\n var redirectStatuses = [301, 302, 303, 307, 308];\n\n Response.redirect = function(url, status) {\n if (redirectStatuses.indexOf(status) === -1) {\n throw new RangeError('Invalid status code')\n }\n\n return new Response(null, {status: status, headers: {location: url}})\n };\n\n exports.DOMException = g.DOMException;\n try {\n new exports.DOMException();\n } catch (err) {\n exports.DOMException = function(message, name) {\n this.message = message;\n this.name = name;\n var error = Error(message);\n this.stack = error.stack;\n };\n exports.DOMException.prototype = Object.create(Error.prototype);\n exports.DOMException.prototype.constructor = exports.DOMException;\n }\n\n function fetch(input, init) {\n return new Promise(function(resolve, reject) {\n var request = new Request(input, init);\n\n if (request.signal && request.signal.aborted) {\n return reject(new exports.DOMException('Aborted', 'AbortError'))\n }\n\n var xhr = new XMLHttpRequest();\n\n function abortXhr() {\n xhr.abort();\n }\n\n xhr.onload = function() {\n var options = {\n statusText: xhr.statusText,\n headers: parseHeaders(xhr.getAllResponseHeaders() || '')\n };\n // This check if specifically for when a user fetches a file locally from the file system\n // Only if the status is out of a normal range\n if (request.url.indexOf('file://') === 0 && (xhr.status < 200 || xhr.status > 599)) {\n options.status = 200;\n } else {\n options.status = xhr.status;\n }\n options.url = 'responseURL' in xhr ? xhr.responseURL : options.headers.get('X-Request-URL');\n var body = 'response' in xhr ? xhr.response : xhr.responseText;\n setTimeout(function() {\n resolve(new Response(body, options));\n }, 0);\n };\n\n xhr.onerror = function() {\n setTimeout(function() {\n reject(new TypeError('Network request failed'));\n }, 0);\n };\n\n xhr.ontimeout = function() {\n setTimeout(function() {\n reject(new TypeError('Network request timed out'));\n }, 0);\n };\n\n xhr.onabort = function() {\n setTimeout(function() {\n reject(new exports.DOMException('Aborted', 'AbortError'));\n }, 0);\n };\n\n function fixUrl(url) {\n try {\n return url === '' && g.location.href ? g.location.href : url\n } catch (e) {\n return url\n }\n }\n\n xhr.open(request.method, fixUrl(request.url), true);\n\n if (request.credentials === 'include') {\n xhr.withCredentials = true;\n } else if (request.credentials === 'omit') {\n xhr.withCredentials = false;\n }\n\n if ('responseType' in xhr) {\n if (support.blob) {\n xhr.responseType = 'blob';\n } else if (\n support.arrayBuffer\n ) {\n xhr.responseType = 'arraybuffer';\n }\n }\n\n if (init && typeof init.headers === 'object' && !(init.headers instanceof Headers || (g.Headers && init.headers instanceof g.Headers))) {\n var names = [];\n Object.getOwnPropertyNames(init.headers).forEach(function(name) {\n names.push(normalizeName(name));\n xhr.setRequestHeader(name, normalizeValue(init.headers[name]));\n });\n request.headers.forEach(function(value, name) {\n if (names.indexOf(name) === -1) {\n xhr.setRequestHeader(name, value);\n }\n });\n } else {\n request.headers.forEach(function(value, name) {\n xhr.setRequestHeader(name, value);\n });\n }\n\n if (request.signal) {\n request.signal.addEventListener('abort', abortXhr);\n\n xhr.onreadystatechange = function() {\n // DONE (success or failure)\n if (xhr.readyState === 4) {\n request.signal.removeEventListener('abort', abortXhr);\n }\n };\n }\n\n xhr.send(typeof request._bodyInit === 'undefined' ? null : request._bodyInit);\n })\n }\n\n fetch.polyfill = true;\n\n if (!g.fetch) {\n g.fetch = fetch;\n g.Headers = Headers;\n g.Request = Request;\n g.Response = Response;\n }\n\n exports.Headers = Headers;\n exports.Request = Request;\n exports.Response = Response;\n exports.fetch = fetch;\n\n Object.defineProperty(exports, '__esModule', { value: true });\n\n return exports;\n\n})({});\n})(__globalThis__);\n// This is a ponyfill, so...\n__globalThis__.fetch.ponyfill = true;\ndelete __globalThis__.fetch.polyfill;\n// Choose between native implementation (__global__) or custom implementation (__globalThis__)\nvar ctx = __global__.fetch ? __global__ : __globalThis__;\nexports = ctx.fetch // To enable: import fetch from 'cross-fetch'\nexports.default = ctx.fetch // For TypeScript consumers without esModuleInterop.\nexports.fetch = ctx.fetch // To enable: import {fetch} from 'cross-fetch'\nexports.Headers = ctx.Headers\nexports.Request = ctx.Request\nexports.Response = ctx.Response\nmodule.exports = exports\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar R = typeof Reflect === 'object' ? Reflect : null\nvar ReflectApply = R && typeof R.apply === 'function'\n ? R.apply\n : function ReflectApply(target, receiver, args) {\n return Function.prototype.apply.call(target, receiver, args);\n }\n\nvar ReflectOwnKeys\nif (R && typeof R.ownKeys === 'function') {\n ReflectOwnKeys = R.ownKeys\n} else if (Object.getOwnPropertySymbols) {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target)\n .concat(Object.getOwnPropertySymbols(target));\n };\n} else {\n ReflectOwnKeys = function ReflectOwnKeys(target) {\n return Object.getOwnPropertyNames(target);\n };\n}\n\nfunction ProcessEmitWarning(warning) {\n if (console && console.warn) console.warn(warning);\n}\n\nvar NumberIsNaN = Number.isNaN || function NumberIsNaN(value) {\n return value !== value;\n}\n\nfunction EventEmitter() {\n EventEmitter.init.call(this);\n}\nmodule.exports = EventEmitter;\nmodule.exports.once = once;\n\n// Backwards-compat with node 0.10.x\nEventEmitter.EventEmitter = EventEmitter;\n\nEventEmitter.prototype._events = undefined;\nEventEmitter.prototype._eventsCount = 0;\nEventEmitter.prototype._maxListeners = undefined;\n\n// By default EventEmitters will print a warning if more than 10 listeners are\n// added to it. This is a useful default which helps finding memory leaks.\nvar defaultMaxListeners = 10;\n\nfunction checkListener(listener) {\n if (typeof listener !== 'function') {\n throw new TypeError('The \"listener\" argument must be of type Function. Received type ' + typeof listener);\n }\n}\n\nObject.defineProperty(EventEmitter, 'defaultMaxListeners', {\n enumerable: true,\n get: function() {\n return defaultMaxListeners;\n },\n set: function(arg) {\n if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) {\n throw new RangeError('The value of \"defaultMaxListeners\" is out of range. It must be a non-negative number. Received ' + arg + '.');\n }\n defaultMaxListeners = arg;\n }\n});\n\nEventEmitter.init = function() {\n\n if (this._events === undefined ||\n this._events === Object.getPrototypeOf(this)._events) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n }\n\n this._maxListeners = this._maxListeners || undefined;\n};\n\n// Obviously not all Emitters should be limited to 10. This function allows\n// that to be increased. Set to zero for unlimited.\nEventEmitter.prototype.setMaxListeners = function setMaxListeners(n) {\n if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) {\n throw new RangeError('The value of \"n\" is out of range. It must be a non-negative number. Received ' + n + '.');\n }\n this._maxListeners = n;\n return this;\n};\n\nfunction _getMaxListeners(that) {\n if (that._maxListeners === undefined)\n return EventEmitter.defaultMaxListeners;\n return that._maxListeners;\n}\n\nEventEmitter.prototype.getMaxListeners = function getMaxListeners() {\n return _getMaxListeners(this);\n};\n\nEventEmitter.prototype.emit = function emit(type) {\n var args = [];\n for (var i = 1; i < arguments.length; i++) args.push(arguments[i]);\n var doError = (type === 'error');\n\n var events = this._events;\n if (events !== undefined)\n doError = (doError && events.error === undefined);\n else if (!doError)\n return false;\n\n // If there is no 'error' event listener then throw.\n if (doError) {\n var er;\n if (args.length > 0)\n er = args[0];\n if (er instanceof Error) {\n // Note: The comments on the `throw` lines are intentional, they show\n // up in Node's output if this results in an unhandled exception.\n throw er; // Unhandled 'error' event\n }\n // At least give some kind of context to the user\n var err = new Error('Unhandled error.' + (er ? ' (' + er.message + ')' : ''));\n err.context = er;\n throw err; // Unhandled 'error' event\n }\n\n var handler = events[type];\n\n if (handler === undefined)\n return false;\n\n if (typeof handler === 'function') {\n ReflectApply(handler, this, args);\n } else {\n var len = handler.length;\n var listeners = arrayClone(handler, len);\n for (var i = 0; i < len; ++i)\n ReflectApply(listeners[i], this, args);\n }\n\n return true;\n};\n\nfunction _addListener(target, type, listener, prepend) {\n var m;\n var events;\n var existing;\n\n checkListener(listener);\n\n events = target._events;\n if (events === undefined) {\n events = target._events = Object.create(null);\n target._eventsCount = 0;\n } else {\n // To avoid recursion in the case that type === \"newListener\"! Before\n // adding it to the listeners, first emit \"newListener\".\n if (events.newListener !== undefined) {\n target.emit('newListener', type,\n listener.listener ? listener.listener : listener);\n\n // Re-assign `events` because a newListener handler could have caused the\n // this._events to be assigned to a new object\n events = target._events;\n }\n existing = events[type];\n }\n\n if (existing === undefined) {\n // Optimize the case of one listener. Don't need the extra array object.\n existing = events[type] = listener;\n ++target._eventsCount;\n } else {\n if (typeof existing === 'function') {\n // Adding the second element, need to change to array.\n existing = events[type] =\n prepend ? [listener, existing] : [existing, listener];\n // If we've already got an array, just append.\n } else if (prepend) {\n existing.unshift(listener);\n } else {\n existing.push(listener);\n }\n\n // Check for listener leak\n m = _getMaxListeners(target);\n if (m > 0 && existing.length > m && !existing.warned) {\n existing.warned = true;\n // No error code for this since it is a Warning\n // eslint-disable-next-line no-restricted-syntax\n var w = new Error('Possible EventEmitter memory leak detected. ' +\n existing.length + ' ' + String(type) + ' listeners ' +\n 'added. Use emitter.setMaxListeners() to ' +\n 'increase limit');\n w.name = 'MaxListenersExceededWarning';\n w.emitter = target;\n w.type = type;\n w.count = existing.length;\n ProcessEmitWarning(w);\n }\n }\n\n return target;\n}\n\nEventEmitter.prototype.addListener = function addListener(type, listener) {\n return _addListener(this, type, listener, false);\n};\n\nEventEmitter.prototype.on = EventEmitter.prototype.addListener;\n\nEventEmitter.prototype.prependListener =\n function prependListener(type, listener) {\n return _addListener(this, type, listener, true);\n };\n\nfunction onceWrapper() {\n if (!this.fired) {\n this.target.removeListener(this.type, this.wrapFn);\n this.fired = true;\n if (arguments.length === 0)\n return this.listener.call(this.target);\n return this.listener.apply(this.target, arguments);\n }\n}\n\nfunction _onceWrap(target, type, listener) {\n var state = { fired: false, wrapFn: undefined, target: target, type: type, listener: listener };\n var wrapped = onceWrapper.bind(state);\n wrapped.listener = listener;\n state.wrapFn = wrapped;\n return wrapped;\n}\n\nEventEmitter.prototype.once = function once(type, listener) {\n checkListener(listener);\n this.on(type, _onceWrap(this, type, listener));\n return this;\n};\n\nEventEmitter.prototype.prependOnceListener =\n function prependOnceListener(type, listener) {\n checkListener(listener);\n this.prependListener(type, _onceWrap(this, type, listener));\n return this;\n };\n\n// Emits a 'removeListener' event if and only if the listener was removed.\nEventEmitter.prototype.removeListener =\n function removeListener(type, listener) {\n var list, events, position, i, originalListener;\n\n checkListener(listener);\n\n events = this._events;\n if (events === undefined)\n return this;\n\n list = events[type];\n if (list === undefined)\n return this;\n\n if (list === listener || list.listener === listener) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else {\n delete events[type];\n if (events.removeListener)\n this.emit('removeListener', type, list.listener || listener);\n }\n } else if (typeof list !== 'function') {\n position = -1;\n\n for (i = list.length - 1; i >= 0; i--) {\n if (list[i] === listener || list[i].listener === listener) {\n originalListener = list[i].listener;\n position = i;\n break;\n }\n }\n\n if (position < 0)\n return this;\n\n if (position === 0)\n list.shift();\n else {\n spliceOne(list, position);\n }\n\n if (list.length === 1)\n events[type] = list[0];\n\n if (events.removeListener !== undefined)\n this.emit('removeListener', type, originalListener || listener);\n }\n\n return this;\n };\n\nEventEmitter.prototype.off = EventEmitter.prototype.removeListener;\n\nEventEmitter.prototype.removeAllListeners =\n function removeAllListeners(type) {\n var listeners, events, i;\n\n events = this._events;\n if (events === undefined)\n return this;\n\n // not listening for removeListener, no need to emit\n if (events.removeListener === undefined) {\n if (arguments.length === 0) {\n this._events = Object.create(null);\n this._eventsCount = 0;\n } else if (events[type] !== undefined) {\n if (--this._eventsCount === 0)\n this._events = Object.create(null);\n else\n delete events[type];\n }\n return this;\n }\n\n // emit removeListener for all listeners on all events\n if (arguments.length === 0) {\n var keys = Object.keys(events);\n var key;\n for (i = 0; i < keys.length; ++i) {\n key = keys[i];\n if (key === 'removeListener') continue;\n this.removeAllListeners(key);\n }\n this.removeAllListeners('removeListener');\n this._events = Object.create(null);\n this._eventsCount = 0;\n return this;\n }\n\n listeners = events[type];\n\n if (typeof listeners === 'function') {\n this.removeListener(type, listeners);\n } else if (listeners !== undefined) {\n // LIFO order\n for (i = listeners.length - 1; i >= 0; i--) {\n this.removeListener(type, listeners[i]);\n }\n }\n\n return this;\n };\n\nfunction _listeners(target, type, unwrap) {\n var events = target._events;\n\n if (events === undefined)\n return [];\n\n var evlistener = events[type];\n if (evlistener === undefined)\n return [];\n\n if (typeof evlistener === 'function')\n return unwrap ? [evlistener.listener || evlistener] : [evlistener];\n\n return unwrap ?\n unwrapListeners(evlistener) : arrayClone(evlistener, evlistener.length);\n}\n\nEventEmitter.prototype.listeners = function listeners(type) {\n return _listeners(this, type, true);\n};\n\nEventEmitter.prototype.rawListeners = function rawListeners(type) {\n return _listeners(this, type, false);\n};\n\nEventEmitter.listenerCount = function(emitter, type) {\n if (typeof emitter.listenerCount === 'function') {\n return emitter.listenerCount(type);\n } else {\n return listenerCount.call(emitter, type);\n }\n};\n\nEventEmitter.prototype.listenerCount = listenerCount;\nfunction listenerCount(type) {\n var events = this._events;\n\n if (events !== undefined) {\n var evlistener = events[type];\n\n if (typeof evlistener === 'function') {\n return 1;\n } else if (evlistener !== undefined) {\n return evlistener.length;\n }\n }\n\n return 0;\n}\n\nEventEmitter.prototype.eventNames = function eventNames() {\n return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [];\n};\n\nfunction arrayClone(arr, n) {\n var copy = new Array(n);\n for (var i = 0; i < n; ++i)\n copy[i] = arr[i];\n return copy;\n}\n\nfunction spliceOne(list, index) {\n for (; index + 1 < list.length; index++)\n list[index] = list[index + 1];\n list.pop();\n}\n\nfunction unwrapListeners(arr) {\n var ret = new Array(arr.length);\n for (var i = 0; i < ret.length; ++i) {\n ret[i] = arr[i].listener || arr[i];\n }\n return ret;\n}\n\nfunction once(emitter, name) {\n return new Promise(function (resolve, reject) {\n function errorListener(err) {\n emitter.removeListener(name, resolver);\n reject(err);\n }\n\n function resolver() {\n if (typeof emitter.removeListener === 'function') {\n emitter.removeListener('error', errorListener);\n }\n resolve([].slice.call(arguments));\n };\n\n eventTargetAgnosticAddListener(emitter, name, resolver, { once: true });\n if (name !== 'error') {\n addErrorHandlerIfEventEmitter(emitter, errorListener, { once: true });\n }\n });\n}\n\nfunction addErrorHandlerIfEventEmitter(emitter, handler, flags) {\n if (typeof emitter.on === 'function') {\n eventTargetAgnosticAddListener(emitter, 'error', handler, flags);\n }\n}\n\nfunction eventTargetAgnosticAddListener(emitter, name, listener, flags) {\n if (typeof emitter.on === 'function') {\n if (flags.once) {\n emitter.once(name, listener);\n } else {\n emitter.on(name, listener);\n }\n } else if (typeof emitter.addEventListener === 'function') {\n // EventTarget does not have `error` event semantics like Node\n // EventEmitters, we do not listen for `error` events here.\n emitter.addEventListener(name, function wrapListener(arg) {\n // IE does not have builtin `{ once: true }` support so we\n // have to do it manually.\n if (flags.once) {\n emitter.removeEventListener(name, wrapListener);\n }\n listener(arg);\n });\n } else {\n throw new TypeError('The \"emitter\" argument must be of type EventEmitter. Received type ' + typeof emitter);\n }\n}\n","// https://github.com/maxogden/websocket-stream/blob/48dc3ddf943e5ada668c31ccd94e9186f02fafbd/ws-fallback.js\n\nvar ws = null\n\nif (typeof WebSocket !== 'undefined') {\n ws = WebSocket\n} else if (typeof MozWebSocket !== 'undefined') {\n ws = MozWebSocket\n} else if (typeof global !== 'undefined') {\n ws = global.WebSocket || global.MozWebSocket\n} else if (typeof window !== 'undefined') {\n ws = window.WebSocket || window.MozWebSocket\n} else if (typeof self !== 'undefined') {\n ws = self.WebSocket || self.MozWebSocket\n}\n\nmodule.exports = ws\n","\"use strict\";\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n}));\nvar __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n});\nvar __importStar = (this && this.__importStar) || (function () {\n var ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n };\n return function (mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Ledger = exports.WsState = exports.UserRightHelper = void 0;\nexports.assert = assert;\n// Copyright (c) 2025 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar types_1 = require(\"@daml/types\");\nvar jtv = __importStar(require(\"@mojotech/json-type-validation\"));\nvar cross_fetch_1 = __importDefault(require(\"cross-fetch\"));\nvar events_1 = require(\"events\");\nvar isomorphic_ws_1 = __importDefault(require(\"isomorphic-ws\"));\nvar lodash_1 = __importStar(require(\"lodash\"));\nvar partyInfoDecoder = jtv.object({\n identifier: jtv.string(),\n isLocal: jtv.boolean(),\n});\nvar userDecoder = jtv.object({\n userId: jtv.string(),\n primaryParty: jtv.optional(jtv.string()),\n});\nvar UserRightHelper = /** @class */ (function () {\n function UserRightHelper() {\n }\n UserRightHelper.canActAs = function (party) {\n return { type: \"CanActAs\", party: party };\n };\n UserRightHelper.canReadAs = function (party) {\n return { type: \"CanReadAs\", party: party };\n };\n UserRightHelper.participantAdmin = {\n type: \"ParticipantAdmin\",\n };\n return UserRightHelper;\n}());\nexports.UserRightHelper = UserRightHelper;\nvar userRightDecoder = jtv.oneOf(jtv.object({\n type: jtv.constant(\"CanActAs\"),\n party: jtv.string(),\n}), jtv.object({\n type: jtv.constant(\"CanReadAs\"),\n party: jtv.string(),\n}), jtv.object({\n type: jtv.constant(\"ParticipantAdmin\"),\n}));\nvar decode = function (decoder, data) {\n return jtv.Result.withException(decoder.run(data));\n};\nfunction lookupTemplateOrUnknownInterface(templateId) {\n try {\n return (0, types_1.lookupTemplate)(templateId);\n }\n catch (e) {\n if (e instanceof Error)\n return {\n templateId: templateId,\n sdkVersion: \"3.3.0-snapshot.20250528.13806.0.v3cd439fb\",\n // there is no way to properly decode in this case, so we\n // discard the data instead. #15042\n decoder: jtv.succeed({}),\n keyDecoder: jtv.succeed(undefined),\n };\n else\n throw e;\n }\n}\nvar decodeTemplateId = function () {\n return jtv.string();\n};\n/**\n * Decoder for a [[CreateEvent]].\n */\nvar decodeCreateEvent = function (template) {\n return jtv.object({\n templateId: decodeTemplateId(),\n contractId: (0, types_1.ContractId)(template).decoder,\n signatories: (0, types_1.List)(types_1.Party).decoder,\n observers: (0, types_1.List)(types_1.Party).decoder,\n key: template.keyDecoder,\n payload: template.decoder,\n });\n};\n/**\n * Decoder for a [[CreateEvent]] of unknown contract template.\n */\nvar decodeCreateEventUnknown = jtv\n .valueAt([\"templateId\"], jtv.string())\n .andThen(function (templateId) {\n return decodeCreateEvent(lookupTemplateOrUnknownInterface(templateId));\n});\n/**\n * Decoder for an [[ArchiveEvent]].\n */\nvar decodeArchiveEvent = function (template) {\n return jtv.object({\n templateId: decodeTemplateId(),\n contractId: (0, types_1.ContractId)(template).decoder,\n });\n};\n/**\n * Decoder for an [[ArchiveEvent]] of unknown contract template.\n */\nvar decodeArchiveEventUnknown = jtv\n .valueAt([\"templateId\"], jtv.string())\n .andThen(function (templateId) {\n return decodeArchiveEvent(lookupTemplateOrUnknownInterface(templateId));\n});\n/**\n * Decoder for an [[Event]].\n */\nvar decodeEvent = function (template) {\n return jtv.oneOf(jtv.object({\n created: decodeCreateEvent(template),\n matchedQueries: jtv.array(jtv.number()),\n }), jtv.object({ created: decodeCreateEvent(template) }), jtv.object({ archived: decodeArchiveEvent(template) }));\n};\n/**\n * Decoder for an [[Event]] with unknown contract template.\n */\nvar decodeEventUnknown = jtv.oneOf(jtv.object({\n created: decodeCreateEventUnknown,\n matchedQueries: jtv.array(jtv.number()),\n}), jtv.object({ created: decodeCreateEventUnknown }), jtv.object({ archived: decodeArchiveEventUnknown }));\n/**\n * @internal\n */\nfunction stripPackage(templateId) {\n return templateId.split(\":\").slice(1).join(\":\");\n}\n/**\n * @internal\n */\nfunction decodeArchiveResponse(template, archiveMethod, \n// eslint-disable-next-line @typescript-eslint/ban-types\narchiveCommand) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, _b, events;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, archiveCommand()];\n case 1:\n _a = _c.sent(), _b = _a[0], events = _a[1];\n if (events.length === 1 &&\n \"archived\" in events[0] &&\n stripPackage(events[0].archived.templateId) ===\n stripPackage(template.templateId)) {\n return [2 /*return*/, events[0].archived];\n }\n else {\n throw Error(\"Ledger.\".concat(archiveMethod, \" is expected to cause one archive event for template \").concat(template.templateId, \" but caused \").concat(JSON.stringify(events), \".\"));\n }\n return [2 /*return*/];\n }\n });\n });\n}\n/**\n * @internal\n */\nfunction isRecordWith(field, x) {\n return typeof x === \"object\" && x !== null && field in x;\n}\n/**\n *\n * @internal\n */\nfunction isCreateWithMatchedQueries(event) {\n return isRecordWith(\"created\", event);\n}\n/** @internal\n * exported for testing only\n */\nfunction assert(b, m) {\n if (!b) {\n throw m;\n }\n}\n// TODO(MH): Support comparison queries.\n/** @internal\n *\n * Official documentation (docs/source/json-api/search-query-language.rst)\n * currently explicitly forbids the use of lists, textmaps and genmaps in\n * queries. As long as that restriction stays, there is no need for any kind of\n * encoding here.\n */\nfunction encodeQuery(_template, query) {\n return query;\n}\n/**\n * @internal\n */\nvar decodeLedgerResponse = jtv.object({\n status: jtv.number(),\n result: jtv.unknownJson(),\n warnings: jtv.optional(jtv.unknownJson()),\n});\n/**\n * @internal\n */\nvar decodeLedgerError = jtv.object({\n status: jtv.number(),\n errors: jtv.array(jtv.string()),\n warnings: jtv.optional(jtv.unknownJson()),\n});\nvar StreamEventEmitter = /** @class */ (function (_super) {\n __extends(StreamEventEmitter, _super);\n function StreamEventEmitter(_a) {\n var beforeClosing = _a.beforeClosing;\n var _this = _super.call(this) || this;\n _this.beforeClosing = beforeClosing;\n return _this;\n }\n StreamEventEmitter.prototype.close = function () {\n this.beforeClosing();\n this.emit(\"close\", { code: 4000, reason: \"called .close()\" });\n this.removeAllListeners();\n };\n return StreamEventEmitter;\n}(events_1.EventEmitter));\nvar NoOffsetReceivedYet = Symbol(\"NoOffsetReceivedYet\");\nvar NullOffsetReceived = Symbol(\"NullOffsetReceived\");\nfunction append(map, key, value) {\n var _a;\n if (map.has(key)) {\n (_a = map.get(key)) === null || _a === void 0 ? void 0 : _a.push(value);\n }\n else {\n map.set(key, [value]);\n }\n}\n/**\n * @deprecated All usages of this function should be replaced by just\n * iterating over the iterator. For this to happen, the TS\n * compiler requires the --downlevelIteration flag, which\n * however does not play nicely with Jest when running the\n * tests.\n *\n * TODO Moving the compilation target to ES6 probably would solve this, investigate.\n */\nfunction materialize(iterator) {\n return Array.from(iterator);\n}\nvar WsState;\n(function (WsState) {\n WsState[WsState[\"Connecting\"] = 0] = \"Connecting\";\n WsState[WsState[\"Open\"] = 1] = \"Open\";\n WsState[WsState[\"Closing\"] = 2] = \"Closing\";\n WsState[WsState[\"Closed\"] = 3] = \"Closed\";\n})(WsState || (exports.WsState = WsState = {}));\n/**\n * @internal\n *\n * A special handler for stream requests to the /v1/stream/query endpoint.\n * The query endpoint supports providing offsets on a per-query basis.\n * This class leverages this feature by multiplexing virtual streaming requests to a single web socket.\n */\nvar QueryStreamsManager = /** @class */ (function () {\n function QueryStreamsManager(_a) {\n var token = _a.token, wsBaseUrl = _a.wsBaseUrl, reconnectThreshold = _a.reconnectThreshold;\n // Mutable state BEGIN\n // Ongoing streaming queries that will be the downstream consumers of web socket messages\n this.queries = new Set();\n // Lookup tables used to route events to the relevant consumers:\n // - consumers for create events can be looked up based on their match index\n // - store the offset by which a match indexes needs to be shifted before the event is passed to the consumer\n // - archive events can be lookup up by template identifier\n // - this causes the consumer to observe what is known as \"phantom archives\", which are known and documented\n this.matchIndexLookupTable = [];\n this.templateIdsLookupTable = {};\n // Accumulates each query in a flattened form to be sent as a single request to the JSON API\n this.request = [];\n // to track changes on web socket queries\n this.wsQueriesChange = false;\n this.protocols = [\"jwt.token.\" + token, \"daml.ws.auth\"];\n this.url = wsBaseUrl + QueryStreamsManager.ENDPOINT;\n this.reconnectThresholdMs = reconnectThreshold;\n }\n QueryStreamsManager.toRequest = function (query) {\n var request = query.queries.length == 0\n ? [{ templateIds: [query.template.templateId] }]\n : query.queries.map(function (q) { return ({\n templateIds: [query.template.templateId],\n query: encodeQuery(query.template, q),\n }); });\n if (typeof query.offset === \"string\") {\n for (var _i = 0, request_1 = request; _i < request_1.length; _i++) {\n var r = request_1[_i];\n r.offset = query.offset;\n }\n }\n return request;\n };\n QueryStreamsManager.prototype.resetAllState = function () {\n // close ws if defined\n if (this.ws !== undefined) {\n this.ws.close();\n }\n this.queries.clear();\n this.matchIndexLookupTable = [];\n this.templateIdsLookupTable = {};\n this.request = [];\n this.ws = undefined;\n this.wsLiveSince = undefined;\n this.wsQueriesChange = false;\n };\n QueryStreamsManager.prototype.handleQueriesChange = function () {\n //eslint-disable-next-line @typescript-eslint/no-this-alias\n var manager = this; // stable self-reference for callbacks\n if (manager.queries.size > 0) {\n if (manager.ws !== undefined) {\n //set the queries change flag to true, this should eventually get reset once the ws is closed.\n manager.wsQueriesChange = true;\n manager.wsLiveSince = undefined;\n manager.ws.close();\n manager.ws = undefined;\n }\n var ws = new isomorphic_ws_1.default(manager.url, manager.protocols);\n var onWsMessage_1 = function (ws) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return function (_a) {\n var data = _a.data;\n if (ws.readyState === WsState.Open) {\n var json = JSON.parse(data.toString());\n if (isRecordWith(\"events\", json)) {\n var events = jtv.Result.withException(jtv.array(decodeEventUnknown).run(json.events));\n var multiplexer = new Map();\n for (var _i = 0, events_2 = events; _i < events_2.length; _i++) {\n var event_1 = events_2[_i];\n if (isCreateWithMatchedQueries(event_1)) {\n var consumersToMatchedQueries = new Map();\n for (var _b = 0, _c = event_1.matchedQueries; _b < _c.length; _b++) {\n var matchIndex = _c[_b];\n var _d = manager.matchIndexLookupTable[matchIndex], consumer = _d[0], matchIndexOffset = _d[1];\n append(consumersToMatchedQueries, consumer, matchIndexOffset);\n }\n for (var _e = 0, _f = materialize(consumersToMatchedQueries.entries()); _e < _f.length; _e++) {\n var _g = _f[_e], consumer = _g[0], matchedQueries = _g[1];\n // Create a new copy of the event for each consumer to freely mangle the matched queries and avoid sharing mutable state\n append(multiplexer, consumer, __assign(__assign({}, event_1), { matchedQueries: matchedQueries }));\n }\n }\n else if (\"archived\" in event_1) {\n var consumers = manager.templateIdsLookupTable[event_1.archived.templateId];\n for (var _h = 0, _j = materialize(consumers.values()); _h < _j.length; _h++) {\n var consumer = _j[_h];\n // Create a new copy of the event for each consumer to avoid sharing mutable state\n append(multiplexer, consumer, __assign({}, event_1));\n }\n }\n else {\n console.error(\"\".concat(event_1, \" unknown event type received, expected created with matchedQueries or archived\"), json);\n }\n }\n for (var _k = 0, _m = materialize(multiplexer.entries()); _k < _m.length; _k++) {\n var _o = _m[_k], consumer = _o[0], events_4 = _o[1];\n for (var _p = 0, events_3 = events_4; _p < events_3.length; _p++) {\n var event_2 = events_3[_p];\n if (isCreateWithMatchedQueries(event_2)) {\n consumer.state.set(event_2.created.contractId, event_2.created);\n }\n else if (\"archived\" in event_2) {\n consumer.state.delete(event_2.archived.contractId);\n }\n }\n consumer.stream.emit(\"change\", Array.from(consumer.state.values()), events_4);\n }\n if (isRecordWith(\"offset\", json)) {\n var offset = jtv.Result.withException(jtv.oneOf(jtv.constant(null), jtv.string()).run(json.offset));\n if (manager.wsLiveSince === undefined) {\n //on receiving the first offset event we consider the web socket to be live.\n manager.wsLiveSince = Date.now();\n }\n for (var _q = 0, _r = materialize(manager.queries.values()); _q < _r.length; _q++) {\n var consumer = _r[_q];\n if (!(typeof consumer.offset === \"string\")) {\n // Rebuilding the state array from scratch to make sure mutable state is not shared between the 'change' and 'live' event\n consumer.stream.emit(\"live\", Array.from(consumer.state.values()));\n }\n if (typeof offset === \"string\") {\n consumer.offset = offset;\n }\n else {\n consumer.offset = NullOffsetReceived;\n }\n }\n }\n }\n else if (isRecordWith(\"warnings\", json)) {\n for (var _s = 0, _u = materialize(manager.queries.values()); _s < _u.length; _s++) {\n var query = _u[_s];\n console.warn(\"\".concat(query.caller, \" warnings\"), json);\n }\n }\n else if (isRecordWith(\"errors\", json)) {\n for (var _v = 0, _w = materialize(manager.queries.values()); _v < _w.length; _v++) {\n var query = _w[_v];\n console.warn(\"\".concat(query.caller, \" errors\"), json);\n }\n }\n else {\n for (var _x = 0, _y = materialize(manager.queries.values()); _x < _y.length; _x++) {\n var query = _y[_x];\n console.error(\"\".concat(query.caller, \" unknown message\"), json);\n }\n }\n }\n };\n };\n var onWsOpen_1 = function () {\n var _a;\n // only make a new websocket request if we have registered queries\n if (manager.queries.size > 0) {\n var newRequests = [];\n var newMatchIndexLookupTable = [];\n for (var _i = 0, _b = materialize(manager.queries.values()); _i < _b.length; _i++) {\n var query = _b[_i];\n var request = QueryStreamsManager.toRequest(query);\n // Add entries to the lookup table for create events\n var matchIndexOffset = newMatchIndexLookupTable.length;\n var matchIndexLookupTableEntries = new Array(request.length).fill([query, matchIndexOffset]);\n newMatchIndexLookupTable = newMatchIndexLookupTable.concat(matchIndexLookupTableEntries);\n // Add entries to the lookup table for archive events\n for (var _c = 0, request_2 = request; _c < request_2.length; _c++) {\n var templateIds = request_2[_c].templateIds;\n for (var _d = 0, templateIds_1 = templateIds; _d < templateIds_1.length; _d++) {\n var templateId = templateIds_1[_d];\n manager.templateIdsLookupTable[templateId] =\n manager.templateIdsLookupTable[templateId] || new Set();\n manager.templateIdsLookupTable[templateId].add(query);\n }\n }\n //since we go through all queries on the manager, we should be safely able to rebuild the whole request\n newRequests = newRequests.concat(request);\n }\n manager.request = newRequests;\n manager.matchIndexLookupTable = newMatchIndexLookupTable;\n (_a = manager.ws) === null || _a === void 0 ? void 0 : _a.send(JSON.stringify(Array.from(manager.request.values())));\n }\n };\n var onWsClose_1 = function () {\n //if not a web socket queries change then we need to initiate reconnect logic.\n if (!manager.wsQueriesChange) {\n // The web socket has been closed due to an error\n // If the conditions are met, attempt to reconnect and/or inform downstream consumers\n var now = Date.now();\n if (manager.wsLiveSince !== undefined &&\n now - manager.wsLiveSince >= manager.reconnectThresholdMs) {\n console.log(\"Reconnecting ws, previously liveSince: \".concat(manager.wsLiveSince, \" and reconnectThresholdMs: \").concat(manager.reconnectThresholdMs));\n manager.wsLiveSince = undefined;\n var ws_1 = new isomorphic_ws_1.default(manager.url, manager.protocols);\n ws_1.addEventListener(\"open\", onWsOpen_1);\n ws_1.addEventListener(\"message\", onWsMessage_1(ws_1));\n ws_1.addEventListener(\"close\", onWsClose_1);\n manager.ws = ws_1;\n }\n else {\n // ws has closed too quickly / never managed to connect: we give up\n for (var _i = 0, _a = materialize(manager.queries.values()); _i < _a.length; _i++) {\n var consumer = _a[_i];\n consumer.stream.emit(\"close\", {\n code: 4001,\n reason: \"ws connection failed\",\n });\n consumer.stream.removeAllListeners();\n }\n manager.resetAllState();\n }\n }\n else {\n //this was triggered due to queries change , reset the flag\n manager.wsQueriesChange = false;\n }\n };\n // Purposefully ignoring 'error' events; they are always followed by a 'close' event, which needs to be handled anyway\n ws.addEventListener(\"open\", onWsOpen_1);\n ws.addEventListener(\"message\", onWsMessage_1(ws));\n ws.addEventListener(\"close\", onWsClose_1);\n //eslint-disable-next-line @typescript-eslint/no-this-alias\n manager.ws = ws;\n }\n };\n QueryStreamsManager.prototype.streamSubmit = function (template, queries, caller) {\n //eslint-disable-next-line @typescript-eslint/no-this-alias\n var manager = this;\n var query = {\n template: template,\n queries: queries,\n stream: new StreamEventEmitter({\n beforeClosing: function () {\n manager.queries.delete(query);\n // if no more queries then just let it go\n if (manager.queries.size > 0) {\n manager.handleQueriesChange();\n }\n },\n }),\n state: new Map(),\n offset: NoOffsetReceivedYet,\n caller: caller,\n };\n manager.queries.add(query);\n manager.handleQueriesChange();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var on = function (type, listener) {\n var _a, _b;\n if (((_a = manager.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WsState.Open ||\n ((_b = manager.ws) === null || _b === void 0 ? void 0 : _b.readyState) === WsState.Connecting) {\n query.stream.on(type, listener);\n }\n else {\n console.error(\"Trying to add a listener to a closed stream.\");\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var off = function (type, listener) {\n var _a, _b;\n if (((_a = manager.ws) === null || _a === void 0 ? void 0 : _a.readyState) === WsState.Open ||\n ((_b = manager.ws) === null || _b === void 0 ? void 0 : _b.readyState) === WsState.Connecting) {\n query.stream.off(type, listener);\n }\n else {\n console.error(\"Trying to remove a listener from a closed stream.\");\n }\n };\n var close = function () {\n query.stream.close();\n };\n return { on: on, off: off, close: close };\n };\n QueryStreamsManager.ENDPOINT = \"v1/stream/query\";\n return QueryStreamsManager;\n}());\n/**\n * An object of type `Ledger` represents a handle to a Daml ledger.\n */\nvar Ledger = /** @class */ (function () {\n /**\n * Construct a new `Ledger` object. See [[LedgerOptions]] for the constructor arguments.\n */\n function Ledger(_a) {\n var token = _a.token, httpBaseUrl = _a.httpBaseUrl, wsBaseUrl = _a.wsBaseUrl, _b = _a.reconnectThreshold, reconnectThreshold = _b === void 0 ? 30000 : _b, _c = _a.multiplexQueryStreams, multiplexQueryStreams = _c === void 0 ? false : _c;\n if (!httpBaseUrl) {\n httpBaseUrl = \"\".concat(window.location.protocol, \"//\").concat(window.location.host, \"/\");\n }\n if (!(httpBaseUrl.startsWith(\"http://\") || httpBaseUrl.startsWith(\"https://\"))) {\n throw Error(\"Ledger: httpBaseUrl must start with 'http://' or 'https://'. (\".concat(httpBaseUrl, \")\"));\n }\n if (!httpBaseUrl.endsWith(\"/\")) {\n throw Error(\"Ledger: httpBaseUrl must end with '/'. (\".concat(httpBaseUrl, \")\"));\n }\n if (!wsBaseUrl) {\n wsBaseUrl = \"ws\" + httpBaseUrl.slice(4);\n }\n if (!(wsBaseUrl.startsWith(\"ws://\") || wsBaseUrl.startsWith(\"wss://\"))) {\n throw Error(\"Ledger: wsBaseUrl must start with 'ws://' or 'wss://'. (\".concat(wsBaseUrl, \")\"));\n }\n if (!wsBaseUrl.endsWith(\"/\")) {\n throw Error(\"Ledger: wsBaseUrl must end with '/'. (\".concat(wsBaseUrl, \")\"));\n }\n this.token = token;\n this.httpBaseUrl = httpBaseUrl;\n this.wsBaseUrl = wsBaseUrl;\n this.reconnectThreshold = reconnectThreshold;\n this.multiplexQueryStreams = multiplexQueryStreams;\n this.queryStreamsManager = new QueryStreamsManager({\n token: token,\n wsBaseUrl: wsBaseUrl,\n reconnectThreshold: reconnectThreshold,\n });\n }\n /**\n * @internal\n */\n Ledger.prototype.auth = function () {\n return { Authorization: \"Bearer \" + this.token };\n };\n /**\n * @internal\n */\n Ledger.prototype.throwOnError = function (r) {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!r.ok) return [3 /*break*/, 2];\n return [4 /*yield*/, r.json()];\n case 1:\n json = _a.sent();\n console.log(json);\n throw decode(decodeLedgerError, json);\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * @internal\n *\n * Internal function to submit a command to the JSON API.\n */\n Ledger.prototype.submit = function (endpoint_1, payload_1) {\n return __awaiter(this, arguments, void 0, function (endpoint, payload, method) {\n var httpResponse, json, ledgerResponse;\n if (method === void 0) { method = \"post\"; }\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, cross_fetch_1.default)(this.httpBaseUrl + endpoint, {\n body: JSON.stringify(payload),\n headers: __assign(__assign({}, this.auth()), { \"Content-type\": \"application/json\" }),\n method: method,\n })];\n case 1:\n httpResponse = _a.sent();\n return [4 /*yield*/, this.throwOnError(httpResponse)];\n case 2:\n _a.sent();\n return [4 /*yield*/, httpResponse.json()];\n case 3:\n json = _a.sent();\n ledgerResponse = jtv.Result.withException(decodeLedgerResponse.run(json));\n if (!(ledgerResponse.status >= 200 && ledgerResponse.status <= 299)) {\n console.log(\"Request to \".concat(endpoint, \" returned status \").concat(ledgerResponse.status, \" with response body: \").concat(JSON.stringify(json), \".\"));\n throw decode(decodeLedgerError, json);\n }\n if (ledgerResponse.warnings) {\n console.warn(ledgerResponse.warnings);\n }\n return [2 /*return*/, ledgerResponse.result];\n }\n });\n });\n };\n /***\n * Internal\n *\n * Retrieve the readiness status from the JSON API.\n */\n Ledger.prototype.checkIfReady = function () {\n return __awaiter(this, void 0, void 0, function () {\n var endpoint, httpResponse, text, json, ledgerResponse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n endpoint = \"readyz\";\n return [4 /*yield*/, (0, cross_fetch_1.default)(this.httpBaseUrl + endpoint, {\n headers: __assign(__assign({}, this.auth()), { \"Content-type\": \"application/json\" }),\n method: \"get\",\n })];\n case 1:\n httpResponse = _a.sent();\n return [4 /*yield*/, this.throwOnError(httpResponse)];\n case 2:\n _a.sent();\n return [4 /*yield*/, httpResponse.text()];\n case 3:\n text = _a.sent();\n if (!text.includes(\"readyz check passed\")) return [3 /*break*/, 4];\n return [2 /*return*/, httpResponse];\n case 4:\n if (!text.includes(\"readyz check failed\")) return [3 /*break*/, 5];\n throw decode(decodeLedgerError, httpResponse);\n case 5: return [4 /*yield*/, httpResponse.json()];\n case 6:\n json = _a.sent();\n ledgerResponse = jtv.Result.withException(decodeLedgerResponse.run(json));\n if (!(ledgerResponse.status >= 200 && ledgerResponse.status <= 299)) {\n console.log(\"Request to \".concat(endpoint, \" returned status \").concat(ledgerResponse.status, \" with response body: \").concat(JSON.stringify(json), \".\"));\n throw decode(decodeLedgerError, json);\n }\n if (ledgerResponse.warnings) {\n console.warn(ledgerResponse.warnings);\n }\n return [2 /*return*/, ledgerResponse.result];\n }\n });\n });\n };\n /***\n * Retrieve the readiness status from the JSON API with retries every 1s.\n */\n Ledger.prototype.ready = function (maxAttempts) {\n return __awaiter(this, void 0, void 0, function () {\n var execute, delay;\n var _this = this;\n return __generator(this, function (_a) {\n execute = function (attempt) { return __awaiter(_this, void 0, void 0, function () {\n var err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.checkIfReady()];\n case 1: return [2 /*return*/, _a.sent()];\n case 2:\n err_1 = _a.sent();\n if (attempt <= maxAttempts) {\n return [2 /*return*/, delay(function () { return execute(attempt + 1); }, 1000)];\n }\n else {\n throw err_1;\n }\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/];\n }\n });\n }); };\n delay = function (fn, ms) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, new Promise(function (resolve) { return setTimeout(function () { return resolve(fn()); }, ms); })];\n });\n }); };\n return [2 /*return*/, execute(1)];\n });\n });\n };\n /**\n * Retrieve contracts for a given template.\n *\n * When no `query` argument is given, all contracts visible to the submitting party are returned.\n * When a `query` argument is given, only those contracts matching the query are returned. See\n * https://docs.daml.com/json-api/search-query-language.html for a description of the query\n * language.\n *\n * @param template The contract template of the contracts to be matched against.\n * @param query The contract query for the contracts to be matched against.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.query = function (template, query) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n payload = {\n templateIds: [template.templateId],\n query: encodeQuery(template, query),\n };\n return [4 /*yield*/, this.submit(\"v1/query\", payload)];\n case 1:\n json = _a.sent();\n return [2 /*return*/, jtv.Result.withException(jtv.array(decodeCreateEvent(template)).run(json))];\n }\n });\n });\n };\n /**\n * Fetch a contract identified by its contract ID.\n *\n * @param template The template of the contract to be fetched.\n * @param contractId The contract id of the contract to be fetched.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.fetch = function (template, contractId) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n payload = {\n templateId: template.templateId,\n contractId: (0, types_1.ContractId)(template).encode(contractId),\n };\n return [4 /*yield*/, this.submit(\"v1/fetch\", payload)];\n case 1:\n json = _a.sent();\n return [2 /*return*/, jtv.Result.withException(jtv.oneOf(jtv.constant(null), decodeCreateEvent(template)).run(json))];\n }\n });\n });\n };\n /**\n * Fetch a contract identified by its contract key.\n *\n * Same as [[fetch]], but the contract to be fetched is identified by its contract key instead of\n * its contract id.\n *\n * @param template The template of the contract to be fetched.\n * @param key The contract key of the contract to be fetched.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n */\n Ledger.prototype.fetchByKey = function (template, key) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (key === undefined) {\n throw Error(\"Cannot lookup by key on template \".concat(template.templateId, \" because it does not define a key.\"));\n }\n payload = {\n templateId: template.templateId,\n key: template.keyEncode(key),\n };\n return [4 /*yield*/, this.submit(\"v1/fetch\", payload)];\n case 1:\n json = _a.sent();\n return [2 /*return*/, jtv.Result.withException(jtv.oneOf(jtv.constant(null), decodeCreateEvent(template)).run(json))];\n }\n });\n });\n };\n /**\n * Create a contract for a given template.\n *\n * @param template The template of the contract to be created.\n * @param payload The template arguments for the contract to be created.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.create = function (template, payload, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var command, json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n command = {\n templateId: template.templateId,\n payload: template.encode(payload),\n meta: meta,\n };\n return [4 /*yield*/, this.submit(\"v1/create\", command)];\n case 1:\n json = _a.sent();\n return [2 /*return*/, jtv.Result.withException(decodeCreateEvent(template).run(json))];\n }\n });\n });\n };\n /**\n * Exercise a choice on a contract identified by its contract ID.\n *\n * @param choice The choice to exercise.\n * @param contractId The contract id of the contract to exercise.\n * @param argument The choice arguments.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam C The type of the contract choice.\n * @typeparam R The return type of the choice.\n *\n * @returns The return value of the choice together with a list of\n * [[event]]'s that were created as a result of exercising the choice.\n */\n Ledger.prototype.exercise = function (choice, contractId, argument, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, json, responseDecoder, _a, exerciseResult, events;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n payload = {\n templateId: choice.template().templateId,\n contractId: (0, types_1.ContractId)(choice.template()).encode(contractId),\n choice: choice.choiceName,\n argument: choice.argumentEncode(argument),\n meta: meta,\n };\n return [4 /*yield*/, this.submit(\"v1/exercise\", payload)];\n case 1:\n json = _b.sent();\n responseDecoder = jtv.object({\n exerciseResult: choice.resultDecoder,\n events: jtv.array(decodeEventUnknown),\n });\n _a = jtv.Result.withException(responseDecoder.run(json)), exerciseResult = _a.exerciseResult, events = _a.events;\n return [2 /*return*/, [exerciseResult, events]];\n }\n });\n });\n };\n /**\n * Exercse a choice on a newly-created contract, in a single transaction.\n *\n * @param choice The choice to exercise.\n * @param payload The template arguments for the newly-created contract.\n * @param argument The choice arguments.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam C The type of the contract choice.\n * @typeparam R The return type of the choice.\n *\n * @returns The return value of the choice together with a list of\n * [[event]]'s that includes the creation event for the created contract as\n * well as all the events that were created as a result of exercising the\n * choice, including the archive event for the created contract if the choice\n * is consuming (or otherwise archives it as part of its execution).\n *\n */\n Ledger.prototype.createAndExercise = function (choice, payload, argument, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var command, json, responseDecoder, _a, exerciseResult, events;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n command = {\n templateId: choice.template().templateId,\n payload: choice.template().encode(payload),\n choice: choice.choiceName,\n argument: choice.argumentEncode(argument),\n meta: meta,\n };\n return [4 /*yield*/, this.submit(\"v1/create-and-exercise\", command)];\n case 1:\n json = _b.sent();\n responseDecoder = jtv.object({\n exerciseResult: choice.resultDecoder,\n events: jtv.array(decodeEventUnknown),\n });\n _a = jtv.Result.withException(responseDecoder.run(json)), exerciseResult = _a.exerciseResult, events = _a.events;\n return [2 /*return*/, [exerciseResult, events]];\n }\n });\n });\n };\n /**\n * Exercise a choice on a contract identified by its contract key.\n *\n * Same as [[exercise]], but the contract is identified by its contract key instead of its\n * contract id.\n *\n * @param choice The choice to exercise.\n * @param key The contract key of the contract to exercise.\n * @param argument The choice arguments.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam C The type of the contract choice.\n * @typeparam R The return type of the choice.\n * @typeparam K The type of the contract key.\n *\n * @returns The return value of the choice together with a list of [[event]]'s that where created\n * as a result of exercising the choice.\n */\n Ledger.prototype.exerciseByKey = function (choice, key, argument, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var payload, json, responseDecoder, _a, exerciseResult, events;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (key === undefined) {\n throw Error(\"Cannot exercise by key on template \".concat(choice.template().templateId, \" because it does not define a key.\"));\n }\n payload = {\n templateId: choice.template().templateId,\n key: choice.template().keyEncode(key),\n choice: choice.choiceName,\n argument: choice.argumentEncode(argument),\n meta: meta,\n };\n return [4 /*yield*/, this.submit(\"v1/exercise\", payload)];\n case 1:\n json = _b.sent();\n responseDecoder = jtv.object({\n exerciseResult: choice.resultDecoder,\n events: jtv.array(decodeEventUnknown),\n });\n _a = jtv.Result.withException(responseDecoder.run(json)), exerciseResult = _a.exerciseResult, events = _a.events;\n return [2 /*return*/, [exerciseResult, events]];\n }\n });\n });\n };\n /**\n * Archive a contract identified by its contract ID.\n *\n * @param template The template of the contract to archive.\n * @param contractId The contract id of the contract to archive.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.archive = function (template, contractId, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, decodeArchiveResponse(template, \"archive\", function () {\n return _this.exercise(template.Archive, contractId, {}, meta);\n })];\n });\n });\n };\n /**\n * Archive a contract identified by its contract key.\n * Same as [[archive]], but the contract to be archived is identified by its contract key.\n *\n * @param template The template of the contract to be archived.\n * @param key The contract key of the contract to be archived.\n * @param meta Optional meta fields to specify additional data on a command submission.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.archiveByKey = function (template, key, meta) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, decodeArchiveResponse(template, \"archiveByKey\", function () {\n return _this.exerciseByKey(template.Archive, key, {}, meta);\n })];\n });\n });\n };\n /**\n * @internal\n *\n * Internal command to submit a request to a streaming endpoint of the\n * JSON API. Returns a stream consisting of accumulated state together with\n * the events that produced the latest state change. The `change` function\n * must be an operation of the monoid `Event<T, K, I>[]` on the set `State`,\n * i.e., for all `s: State` and `x, y: Event<T, K, I>[]` we\n * must have the structural equalities\n * ```\n * change(s, []) == s\n * change(s, x.concat(y)) == change(change(s, x), y)\n * ```\n * Also, `change` must never change its arguments.\n */\n Ledger.prototype.streamSubmit = function (callerName, template, endpoint, request, reconnectRequest, init, change) {\n var _this = this;\n var protocols = [\"jwt.token.\" + this.token, \"daml.ws.auth\"];\n var ws = new isomorphic_ws_1.default(this.wsBaseUrl + endpoint, protocols);\n var isLiveSince = undefined;\n var lastOffset = undefined;\n var state = init;\n var isReconnecting = false;\n var streamClosed = false;\n var emitter = new events_1.EventEmitter();\n var onWsOpen = function () {\n if (isReconnecting) {\n // the JSON API server can't handle null offsets, even though it sends them out under\n // special conditions when there are no transactions yet. Not sending the `offset` message\n // will start the stream from the very beginning of the transaction log.\n if (lastOffset !== null)\n ws.send(JSON.stringify({ offset: lastOffset }));\n ws.send(JSON.stringify(reconnectRequest()));\n }\n else {\n ws.send(JSON.stringify(request));\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var onWsMessage = function (event) {\n var json = JSON.parse(event.data.toString());\n if (isRecordWith(\"events\", json)) {\n var events = jtv.Result.withException(jtv.array(decodeEvent(template)).run(json.events));\n if (events.length > 0) {\n state = change(state, events);\n emitter.emit(\"change\", state, events);\n }\n if (isRecordWith(\"offset\", json)) {\n lastOffset = jtv.Result.withException(jtv.oneOf(jtv.constant(null), jtv.string()).run(json.offset));\n if (isLiveSince === undefined) {\n isLiveSince = Date.now();\n emitter.emit(\"live\", state);\n }\n }\n }\n else if (isRecordWith(\"warnings\", json)) {\n console.warn(\"\".concat(callerName, \" warnings\"), json);\n }\n else if (isRecordWith(\"errors\", json)) {\n console.error(\"\".concat(callerName, \" errors\"), json);\n }\n else {\n console.error(\"\".concat(callerName, \" unknown message\"), json);\n }\n };\n var closeStream = function (status) {\n streamClosed = true;\n emitter.emit(\"close\", status);\n emitter.removeAllListeners();\n };\n var onWsClose = function () {\n if (streamClosed === false) {\n var now = new Date().getTime();\n // we want to try and keep the stream open, so we try to reconnect\n // the underlying ws\n if (lastOffset !== undefined &&\n isLiveSince !== undefined &&\n now - isLiveSince >= _this.reconnectThreshold) {\n isLiveSince = undefined;\n isReconnecting = true;\n ws = new isomorphic_ws_1.default(_this.wsBaseUrl + endpoint, protocols);\n ws.addEventListener(\"open\", onWsOpen);\n ws.addEventListener(\"message\", onWsMessage);\n ws.addEventListener(\"close\", onWsClose);\n }\n else {\n // ws has closed too quickly / never managed to connect: we give up\n closeStream({ code: 4001, reason: \"ws connection failed\" });\n }\n } // no else: if the stream is closed we don't need to keep a ws\n };\n ws.addEventListener(\"open\", onWsOpen);\n ws.addEventListener(\"message\", onWsMessage);\n // NOTE(MH): We ignore the 'error' event since it is always followed by a\n // 'close' event, which we need to handle anyway.\n ws.addEventListener(\"close\", onWsClose);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var on = function (type, listener) {\n if (streamClosed === false) {\n void emitter.on(type, listener);\n }\n else {\n console.error(\"Trying to add a listener to a closed stream.\");\n }\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var off = function (type, listener) {\n if (streamClosed === false) {\n void emitter.off(type, listener);\n }\n else {\n console.error(\"Trying to remove a listener from a closed stream.\");\n }\n };\n var close = function () {\n // Note: ws.close will trigger the onClose handlers of the WebSocket\n // (here onWsClose), but they execute as a separate event after the\n // current event in the JS event loop, i.e. in particular after the call\n // to closeStream and thus, in this case, the onWsClose handler will see\n // streamClosed as true.\n ws.close();\n closeStream({ code: 4000, reason: \"called .close()\" });\n };\n return { on: on, off: off, close: close };\n };\n /**\n * Retrieve a consolidated stream of events for a given template and query.\n *\n * The accumulated state is the current set of active contracts matching the query. When no\n * `query` argument is given, all events visible to the submitting party are returned. When a\n * `query` argument is given, only those create events matching the query are returned. See\n * https://docs.daml.com/json-api/search-query-language.html for a description of the query\n * language.\n *\n * @deprecated Prefer `streamQueries`.\n *\n * @param template The contract template to match contracts against.\n * @param query The query to match contracts agains.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.streamQuery = function (template, query) {\n if (query === undefined) {\n return this.streamQueryCommon(template, [], \"Ledger.streamQuery\");\n }\n else {\n return this.streamQueryCommon(template, [query], \"Ledger.streamQuery\");\n }\n };\n /**\n * @internal\n *\n */\n Ledger.prototype.streamQueryCommon = function (template, queries, name) {\n if (this.multiplexQueryStreams) {\n return this.queryStreamsManager.streamSubmit(template, queries, name);\n }\n else {\n var request_3 = queries.length == 0\n ? [{ templateIds: [template.templateId] }]\n : queries.map(function (q) { return ({\n templateIds: [template.templateId],\n query: encodeQuery(template, q),\n }); });\n var reconnectRequest = function () { return request_3; };\n var change = function (contracts, events) {\n var archiveEvents = new Set();\n var createEvents = [];\n for (var _i = 0, events_5 = events; _i < events_5.length; _i++) {\n var event_3 = events_5[_i];\n if (\"created\" in event_3) {\n createEvents.push(event_3.created);\n }\n else if (\"archived\" in event_3) {\n archiveEvents.add(event_3.archived.contractId);\n }\n }\n return contracts\n .concat(createEvents)\n .filter(function (contract) { return !archiveEvents.has(contract.contractId); });\n };\n return this.streamSubmit(name, template, \"v1/stream/query\", request_3, reconnectRequest, [], change);\n }\n };\n /**\n * Retrieve a consolidated stream of events for a given template and queries.\n *\n * If the given list is empty, the accumulated state is the set of all active\n * contracts for the given template. Otherwise, the accumulated state is the\n * set of all contracts that match at least one of the given queries.\n *\n * See https://docs.daml.com/json-api/search-query-language.html for a\n * description of the query language.\n *\n * @param template The contract template to match contracts against.\n * @param queries A query to match contracts against.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n */\n Ledger.prototype.streamQueries = function (template, queries) {\n return this.streamQueryCommon(template, queries, \"Ledger.streamQueries\");\n };\n /**\n * Retrieve a consolidated stream of events for a given template and contract key.\n *\n * The accumulated state is either the current active contract for the given\n * key, or null if there is no active contract for the given key.\n *\n * @deprecated Prefer `streamFetchByKeys`.\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n *\n */\n Ledger.prototype.streamFetchByKey = function (template, key) {\n // Note: this implementation is deliberately not unified with that of\n // `streamFetchByKeys`, because doing so would add the requirement that the\n // given key be in output format, whereas existing implementation supports\n // input format.\n var lastContractId = null;\n var request = [\n { templateId: template.templateId, key: template.keyEncode(key) },\n ];\n var reconnectRequest = function () { return [\n __assign(__assign({}, request[0]), { contractIdAtOffset: lastContractId && (0, types_1.ContractId)(template).encode(lastContractId) }),\n ]; };\n var change = function (contract, events) {\n for (var _i = 0, events_6 = events; _i < events_6.length; _i++) {\n var event_4 = events_6[_i];\n if (\"created\" in event_4) {\n contract = event_4.created;\n }\n else {\n // i.e. 'archived' event\n if (contract && contract.contractId === event_4.archived.contractId) {\n contract = null;\n }\n }\n }\n lastContractId = contract ? contract.contractId : null;\n return contract;\n };\n return this.streamSubmit(\"Ledger.streamFetchByKey\", template, \"v1/stream/fetch\", request, reconnectRequest, null, change);\n };\n /**\n * @internal\n *\n * Returns the same API as [[streamSubmit]] but does not, in fact, establish\n * any socket connection. Instead, this is a stream that always has the given\n * value as its accumulated state.\n */\n Ledger.prototype.constantStream = function (value) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n function on(type, listener) {\n if (type === \"live\") {\n listener(value);\n }\n if (type === \"change\") {\n listener(value, []);\n }\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\n function off(_t, _l) { }\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n return { on: on, off: off, close: function () { } };\n };\n /**\n * Retrieve a consolidated stream of events for a list of keys and a single\n * template.\n *\n * The accumulated state is an array of the same length as the given list of\n * keys, with positional correspondence. Each element in the array represents\n * the current contract for the given key, or is explicitly null if there is\n * currently no active contract matching that key.\n *\n * Note: the given `key` objects will be compared for (deep) equality with\n * the values returned by the API. As such, they have to be given in the\n * \"output\" format of the API, including the values of\n * `encodeDecimalAsString` and `encodeInt64AsString`. See [the JSON API docs\n * for details](https://docs.daml.com/json-api/lf-value-specification.html).\n *\n * @typeparam T The contract template type.\n * @typeparam K The contract key type.\n * @typeparam I The contract id type.\n */\n Ledger.prototype.streamFetchByKeys = function (template, keys) {\n // We support zero-length key so clients can more easily manage a dynamic\n // list, without having to special-case 0-length on their side.\n if (keys.length == 0) {\n return this.constantStream([]);\n }\n var lastContractIds = Array(keys.length).fill(null);\n var keysCopy = lodash_1.default.cloneDeep(keys);\n var initState = Array(keys.length).fill(null);\n var request = keys.map(function (k) { return ({\n templateId: template.templateId,\n key: template.keyEncode(k),\n }); });\n var reconnectRequest = function () {\n return request.map(function (r, idx) {\n var lastId = lastContractIds[idx];\n return __assign(__assign({}, r), { contractIdAtOffset: lastId && (0, types_1.ContractId)(template).encode(lastId) });\n });\n };\n var change = function (state, events) {\n var newState = Array.from(state);\n var _loop_1 = function (event_5) {\n if (\"created\" in event_5) {\n var k_1 = event_5.created.key;\n keysCopy.forEach(function (requestKey, idx) {\n if (lodash_1.default.isEqual(requestKey, k_1)) {\n newState[idx] = event_5.created;\n }\n });\n }\n else {\n // i.e. 'archived' in event\n var id_1 = event_5.archived.contractId;\n newState.forEach(function (contract, idx) {\n if (contract && contract.contractId === id_1) {\n newState[idx] = null;\n }\n });\n }\n };\n for (var _i = 0, events_7 = events; _i < events_7.length; _i++) {\n var event_5 = events_7[_i];\n _loop_1(event_5);\n }\n newState.forEach(function (c, idx) {\n lastContractIds[idx] = c ? c.contractId : null;\n });\n return newState;\n };\n return this.streamSubmit(\"streamFetchByKeys\", template, \"v1/stream/fetch\", request, reconnectRequest, initState, change);\n };\n /**\n * Fetch parties by identifier.\n *\n * @param parties An array of Party identifiers.\n *\n * @returns An array of the same length, where each element corresponds to\n * the same-index element of the given parties, ans is either a PartyInfo\n * object if the party exists or null if it does not.\n *\n */\n Ledger.prototype.getParties = function (parties) {\n return __awaiter(this, void 0, void 0, function () {\n var json, resp, mapping, _i, resp_1, p, ret, idx;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (parties.length === 0) {\n return [2 /*return*/, []];\n }\n return [4 /*yield*/, this.submit(\"v1/parties\", parties)];\n case 1:\n json = _a.sent();\n resp = decode(jtv.array(partyInfoDecoder), json);\n mapping = {};\n for (_i = 0, resp_1 = resp; _i < resp_1.length; _i++) {\n p = resp_1[_i];\n mapping[p.identifier] = p;\n }\n ret = Array(parties.length).fill(null);\n for (idx = 0; idx < parties.length; idx++) {\n ret[idx] = mapping[parties[idx]] || null;\n }\n return [2 /*return*/, ret];\n }\n });\n });\n };\n /**\n * Fetch all parties on the ledger.\n *\n * @returns All parties on the ledger, in no particular order.\n *\n */\n Ledger.prototype.listKnownParties = function () {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/parties\", undefined, \"get\")];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(jtv.array(partyInfoDecoder), json)];\n }\n });\n });\n };\n /**\n * Get the current user details obtained by the currently used JWT.\n *\n * @param userId The user id\n *\n * @returns User details\n *\n */\n Ledger.prototype.getUser = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n var json, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(0, lodash_1.isUndefined)(userId)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.submit(\"v1/user\", undefined, \"get\")];\n case 1:\n _a = _b.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.submit(\"v1/user\", { userId: userId }, \"post\")];\n case 3:\n _a = _b.sent();\n _b.label = 4;\n case 4:\n json = _a;\n return [2 /*return*/, decode(userDecoder, json)];\n }\n });\n });\n };\n /**\n * Lists the users on the ledger\n *\n * @returns user list\n *\n */\n Ledger.prototype.listUsers = function () {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/users\", undefined, \"get\")];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(jtv.array(userDecoder), json)];\n }\n });\n });\n };\n /**\n * Lists the rights associated with the given user id\n *\n * @param userId, if empty then the user id will obtained by the currently used JWT.\n *\n * @returns list of user rights\n */\n Ledger.prototype.listUserRights = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n var json, _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!(0, lodash_1.isUndefined)(userId)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.submit(\"v1/user/rights\", undefined, \"get\")];\n case 1:\n _a = _b.sent();\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.submit(\"v1/user/rights\", { userId: userId })];\n case 3:\n _a = _b.sent();\n _b.label = 4;\n case 4:\n json = _a;\n return [2 /*return*/, decode(jtv.array(userRightDecoder), json)];\n }\n });\n });\n };\n /**\n * Grants rights to a user\n *\n * @param userId The user to which rights shall be granted\n *\n * @param rights The rights which shall be granted\n *\n * @returns The rights which actually were granted (if a right was already granted, then it will not be in the return list)\n */\n Ledger.prototype.grantUserRights = function (userId, rights) {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/user/rights/grant\", {\n userId: userId,\n rights: rights,\n })];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(jtv.array(userRightDecoder), json)];\n }\n });\n });\n };\n /**\n * Revokes rights from a user\n *\n * @param userId The user from which rights shall be revoked\n *\n * @param rights The rights which shall be revoked\n *\n * @returns The rights which actually were revoked (if a right was already revoked, then it will not be in the return list)\n */\n Ledger.prototype.revokeUserRights = function (userId, rights) {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/user/rights/revoke\", {\n userId: userId,\n rights: rights,\n })];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(jtv.array(userRightDecoder), json)];\n }\n });\n });\n };\n /**\n * Creates a user\n *\n * @param userId The user ID\n * @param rights The initial rights the user should have\n * @param primaryParty The primary party the user should have\n *\n */\n Ledger.prototype.createUser = function (userId, rights, primaryParty) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/user/create\", {\n userId: userId,\n rights: rights,\n primaryParty: primaryParty,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Deletes a user\n *\n * @param userId The user ID\n * @param rights The initial rights the user should have\n * @param primaryParty The primary party the user should have\n *\n */\n Ledger.prototype.deleteUser = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/user/delete\", { userId: userId })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Allocate a new party.\n *\n * @param partyOpt Parameters for party allocation.\n *\n * @returns PartyInfo for the newly created party.\n *\n */\n Ledger.prototype.allocateParty = function (partyOpt) {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/parties/allocate\", partyOpt)];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(partyInfoDecoder, json)];\n }\n });\n });\n };\n /**\n * Fetch a list of all package IDs from the ledger.\n *\n * @returns List of package IDs.\n *\n */\n Ledger.prototype.listPackages = function () {\n return __awaiter(this, void 0, void 0, function () {\n var json;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.submit(\"v1/packages\", undefined, \"get\")];\n case 1:\n json = _a.sent();\n return [2 /*return*/, decode(jtv.array(jtv.string()), json)];\n }\n });\n });\n };\n /**\n * Fetch a binary package.\n *\n * @returns The content of the package as a raw ArrayBuffer.\n *\n */\n Ledger.prototype.getPackage = function (id) {\n return __awaiter(this, void 0, void 0, function () {\n var httpResponse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, cross_fetch_1.default)(this.httpBaseUrl + \"v1/packages/\" + id, {\n headers: this.auth(),\n method: \"get\",\n })];\n case 1:\n httpResponse = _a.sent();\n return [4 /*yield*/, this.throwOnError(httpResponse)];\n case 2:\n _a.sent();\n return [4 /*yield*/, httpResponse.arrayBuffer()];\n case 3: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n /**\n * Upload a binary archive. Note that this requires admin privileges.\n *\n * @returns No return value on success; throws on error.\n *\n */\n Ledger.prototype.uploadDarFile = function (abuf) {\n return __awaiter(this, void 0, void 0, function () {\n var httpResponse;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, (0, cross_fetch_1.default)(this.httpBaseUrl + \"v1/packages\", {\n body: abuf,\n headers: __assign(__assign({}, this.auth()), { \"Content-type\": \"application/octet-stream\" }),\n method: \"post\",\n })];\n case 1:\n httpResponse = _a.sent();\n return [4 /*yield*/, this.throwOnError(httpResponse)];\n case 2:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n return Ledger;\n}());\nexports.Ledger = Ledger;\nexports.default = Ledger;\n//# sourceMappingURL=index.js.map","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nexports.Archive = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({})\n }),\n encode: function (__typed__) {\n return {}\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Template = require('./Template')\nexports.Template = Template\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Internal = require('./Internal')\nexports.Internal = Internal\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar DA = require('./DA')\nexports.DA = DA\nexports.packageId =\n '9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69'\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nexports.RelTime = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({ microseconds: damlTypes.Int.decoder })\n }),\n encode: function (__typed__) {\n return {\n microseconds: damlTypes.Int.encode(__typed__.microseconds),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Types = require('./Types')\nexports.Types = Types\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Time = require('./Time')\nexports.Time = Time\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar DA = require('./DA')\nexports.DA = DA\nexports.packageId =\n 'b70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946'\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\nvar pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946 = require('@daml.js/daml-stdlib-DA-Time-Types-1.0.0')\n\nexports.AnyContract = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.MetadataV1:AnyContract',\n function () {\n return exports.AnyContractView\n },\n {\n Archive: {\n template: function () {\n return exports.AnyContract\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n }\n)\n\nexports.ChoiceExecutionMetadata = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({ meta: exports.Metadata.decoder })\n }),\n encode: function (__typed__) {\n return {\n meta: exports.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.ExtraArgs = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n context: exports.ChoiceContext.decoder,\n meta: exports.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n context: exports.ChoiceContext.encode(__typed__.context),\n meta: exports.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Metadata = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({ values: damlTypes.TextMap(damlTypes.Text).decoder })\n }),\n encode: function (__typed__) {\n return {\n values: damlTypes.TextMap(damlTypes.Text).encode(__typed__.values),\n }\n },\n}\n\nexports.ChoiceContext = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n values: damlTypes.TextMap(exports.AnyValue).decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n values: damlTypes\n .TextMap(exports.AnyValue)\n .encode(__typed__.values),\n }\n },\n}\n\nexports.AnyContractView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({})\n }),\n encode: function (__typed__) {\n return {}\n },\n}\n\nexports.AnyValue = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.oneOf(\n jtv.object({\n tag: jtv.constant('AV_Text'),\n value: damlTypes.Text.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Int'),\n value: damlTypes.Int.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Decimal'),\n value: damlTypes.Numeric(10).decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Bool'),\n value: damlTypes.Bool.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Date'),\n value: damlTypes.Date.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Time'),\n value: damlTypes.Time.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_RelTime'),\n value: pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946\n .DA.Time.Types.RelTime.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Party'),\n value: damlTypes.Party.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_ContractId'),\n value: damlTypes.ContractId(exports.AnyContract).decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_List'),\n value: damlTypes.List(exports.AnyValue).decoder,\n }),\n jtv.object({\n tag: jtv.constant('AV_Map'),\n value: damlTypes.TextMap(exports.AnyValue).decoder,\n })\n )\n }),\n encode: function (__typed__) {\n switch (__typed__.tag) {\n case 'AV_Text':\n return {\n tag: __typed__.tag,\n value: damlTypes.Text.encode(__typed__.value),\n }\n case 'AV_Int':\n return {\n tag: __typed__.tag,\n value: damlTypes.Int.encode(__typed__.value),\n }\n case 'AV_Decimal':\n return {\n tag: __typed__.tag,\n value: damlTypes.Numeric(10).encode(__typed__.value),\n }\n case 'AV_Bool':\n return {\n tag: __typed__.tag,\n value: damlTypes.Bool.encode(__typed__.value),\n }\n case 'AV_Date':\n return {\n tag: __typed__.tag,\n value: damlTypes.Date.encode(__typed__.value),\n }\n case 'AV_Time':\n return {\n tag: __typed__.tag,\n value: damlTypes.Time.encode(__typed__.value),\n }\n case 'AV_RelTime':\n return {\n tag: __typed__.tag,\n value: pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946.DA.Time.Types.RelTime.encode(\n __typed__.value\n ),\n }\n case 'AV_Party':\n return {\n tag: __typed__.tag,\n value: damlTypes.Party.encode(__typed__.value),\n }\n case 'AV_ContractId':\n return {\n tag: __typed__.tag,\n value: damlTypes\n .ContractId(exports.AnyContract)\n .encode(__typed__.value),\n }\n case 'AV_List':\n return {\n tag: __typed__.tag,\n value: damlTypes\n .List(exports.AnyValue)\n .encode(__typed__.value),\n }\n case 'AV_Map':\n return {\n tag: __typed__.tag,\n value: damlTypes\n .TextMap(exports.AnyValue)\n .encode(__typed__.value),\n }\n default:\n throw (\n 'unrecognized type tag: ' +\n __typed__.tag +\n ' while serializing a value of type AnyValue'\n )\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\nvar pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946 = require('@daml.js/daml-stdlib-DA-Time-Types-1.0.0')\n\nvar Splice_Api_Token_MetadataV1 = require('../../../../Splice/Api/Token/MetadataV1/module')\n\nexports.Holding = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.HoldingV1:Holding',\n function () {\n return exports.HoldingView\n },\n {\n Archive: {\n template: function () {\n return exports.Holding\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n }\n)\n\nexports.HoldingView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n owner: damlTypes.Party.decoder,\n instrumentId: exports.InstrumentId.decoder,\n amount: damlTypes.Numeric(10).decoder,\n lock: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(exports.Lock).decoder\n ),\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n owner: damlTypes.Party.encode(__typed__.owner),\n instrumentId: exports.InstrumentId.encode(__typed__.instrumentId),\n amount: damlTypes.Numeric(10).encode(__typed__.amount),\n lock: damlTypes.Optional(exports.Lock).encode(__typed__.lock),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Lock = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n holders: damlTypes.List(damlTypes.Party).decoder,\n expiresAt: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(damlTypes.Time).decoder\n ),\n expiresAfter: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(\n pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946\n .DA.Time.Types.RelTime\n ).decoder\n ),\n context: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(damlTypes.Text).decoder\n ),\n })\n }),\n encode: function (__typed__) {\n return {\n holders: damlTypes.List(damlTypes.Party).encode(__typed__.holders),\n expiresAt: damlTypes\n .Optional(damlTypes.Time)\n .encode(__typed__.expiresAt),\n expiresAfter: damlTypes\n .Optional(\n pkgb70db8369e1c461d5c70f1c86f526a29e9776c655e6ffc2560f95b05ccb8b946\n .DA.Time.Types.RelTime\n )\n .encode(__typed__.expiresAfter),\n context: damlTypes\n .Optional(damlTypes.Text)\n .encode(__typed__.context),\n }\n },\n}\n\nexports.InstrumentId = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n admin: damlTypes.Party.decoder,\n id: damlTypes.Text.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n admin: damlTypes.Party.encode(__typed__.admin),\n id: damlTypes.Text.encode(__typed__.id),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\n\nvar Splice_Api_Token_HoldingV1 = require('../../../../Splice/Api/Token/HoldingV1/module')\nvar Splice_Api_Token_MetadataV1 = require('../../../../Splice/Api/Token/MetadataV1/module')\n\nexports.Allocation = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.AllocationV1:Allocation',\n function () {\n return exports.AllocationView\n },\n {\n Archive: {\n template: function () {\n return exports.Allocation\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n Allocation_Withdraw: {\n template: function () {\n return exports.Allocation\n },\n choiceName: 'Allocation_Withdraw',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_Withdraw.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.Allocation_Withdraw.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_WithdrawResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.Allocation_WithdrawResult.encode(__typed__)\n },\n },\n Allocation_Cancel: {\n template: function () {\n return exports.Allocation\n },\n choiceName: 'Allocation_Cancel',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_Cancel.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.Allocation_Cancel.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_CancelResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.Allocation_CancelResult.encode(__typed__)\n },\n },\n Allocation_ExecuteTransfer: {\n template: function () {\n return exports.Allocation\n },\n choiceName: 'Allocation_ExecuteTransfer',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_ExecuteTransfer.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.Allocation_ExecuteTransfer.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.Allocation_ExecuteTransferResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.Allocation_ExecuteTransferResult.encode(\n __typed__\n )\n },\n },\n }\n)\n\nexports.Allocation_WithdrawResult = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n senderHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n senderHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.senderHoldingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Allocation_CancelResult = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n senderHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n senderHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.senderHoldingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Allocation_ExecuteTransferResult = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n senderHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n receiverHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n senderHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.senderHoldingCids),\n receiverHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.receiverHoldingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Allocation_Withdraw = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.Allocation_Cancel = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.Allocation_ExecuteTransfer = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.AllocationView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n allocation: exports.AllocationSpecification.decoder,\n holdingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n allocation: exports.AllocationSpecification.encode(\n __typed__.allocation\n ),\n holdingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.holdingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.AllocationSpecification = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n settlement: exports.SettlementInfo.decoder,\n transferLegId: damlTypes.Text.decoder,\n transferLeg: exports.TransferLeg.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n settlement: exports.SettlementInfo.encode(__typed__.settlement),\n transferLegId: damlTypes.Text.encode(__typed__.transferLegId),\n transferLeg: exports.TransferLeg.encode(__typed__.transferLeg),\n }\n },\n}\n\nexports.TransferLeg = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n sender: damlTypes.Party.decoder,\n receiver: damlTypes.Party.decoder,\n amount: damlTypes.Numeric(10).decoder,\n instrumentId: Splice_Api_Token_HoldingV1.InstrumentId.decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n sender: damlTypes.Party.encode(__typed__.sender),\n receiver: damlTypes.Party.encode(__typed__.receiver),\n amount: damlTypes.Numeric(10).encode(__typed__.amount),\n instrumentId: Splice_Api_Token_HoldingV1.InstrumentId.encode(\n __typed__.instrumentId\n ),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.SettlementInfo = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n executor: damlTypes.Party.decoder,\n settlementRef: exports.Reference.decoder,\n requestedAt: damlTypes.Time.decoder,\n allocateBefore: damlTypes.Time.decoder,\n settleBefore: damlTypes.Time.decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n executor: damlTypes.Party.encode(__typed__.executor),\n settlementRef: exports.Reference.encode(__typed__.settlementRef),\n requestedAt: damlTypes.Time.encode(__typed__.requestedAt),\n allocateBefore: damlTypes.Time.encode(__typed__.allocateBefore),\n settleBefore: damlTypes.Time.encode(__typed__.settleBefore),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Reference = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n id: damlTypes.Text.decoder,\n cid: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(\n damlTypes.ContractId(\n Splice_Api_Token_MetadataV1.AnyContract\n )\n ).decoder\n ),\n })\n }),\n encode: function (__typed__) {\n return {\n id: damlTypes.Text.encode(__typed__.id),\n cid: damlTypes\n .Optional(\n damlTypes.ContractId(\n Splice_Api_Token_MetadataV1.AnyContract\n )\n )\n .encode(__typed__.cid),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\n\nvar Splice_Api_Token_AllocationV1 = require('../../../../Splice/Api/Token/AllocationV1/module')\nvar Splice_Api_Token_HoldingV1 = require('../../../../Splice/Api/Token/HoldingV1/module')\nvar Splice_Api_Token_MetadataV1 = require('../../../../Splice/Api/Token/MetadataV1/module')\n\nexports.AllocationFactory = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.AllocationInstructionV1:AllocationFactory',\n function () {\n return exports.AllocationFactoryView\n },\n {\n Archive: {\n template: function () {\n return exports.AllocationFactory\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n AllocationFactory_Allocate: {\n template: function () {\n return exports.AllocationFactory\n },\n choiceName: 'AllocationFactory_Allocate',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationFactory_Allocate.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationFactory_Allocate.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.AllocationInstructionResult.encode(__typed__)\n },\n },\n AllocationFactory_PublicFetch: {\n template: function () {\n return exports.AllocationFactory\n },\n choiceName: 'AllocationFactory_PublicFetch',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationFactory_PublicFetch.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationFactory_PublicFetch.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationFactoryView.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.AllocationFactoryView.encode(__typed__)\n },\n },\n }\n)\n\nexports.AllocationInstruction = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.AllocationInstructionV1:AllocationInstruction',\n function () {\n return exports.AllocationInstructionView\n },\n {\n Archive: {\n template: function () {\n return exports.AllocationInstruction\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n AllocationInstruction_Withdraw: {\n template: function () {\n return exports.AllocationInstruction\n },\n choiceName: 'AllocationInstruction_Withdraw',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationInstruction_Withdraw.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationInstruction_Withdraw.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.AllocationInstructionResult.encode(__typed__)\n },\n },\n AllocationInstruction_Update: {\n template: function () {\n return exports.AllocationInstruction\n },\n choiceName: 'AllocationInstruction_Update',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationInstruction_Update.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationInstruction_Update.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.AllocationInstructionResult.encode(__typed__)\n },\n },\n }\n)\n\nexports.AllocationInstructionResult_Output = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.oneOf(\n jtv.object({\n tag: jtv.constant('AllocationInstructionResult_Pending'),\n value: exports.AllocationInstructionResult_Output\n .AllocationInstructionResult_Pending.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AllocationInstructionResult_Completed'),\n value: exports.AllocationInstructionResult_Output\n .AllocationInstructionResult_Completed.decoder,\n }),\n jtv.object({\n tag: jtv.constant('AllocationInstructionResult_Failed'),\n value: damlTypes.Unit.decoder,\n })\n )\n }),\n encode: function (__typed__) {\n switch (__typed__.tag) {\n case 'AllocationInstructionResult_Pending':\n return {\n tag: __typed__.tag,\n value: exports.AllocationInstructionResult_Output.AllocationInstructionResult_Pending.encode(\n __typed__.value\n ),\n }\n case 'AllocationInstructionResult_Completed':\n return {\n tag: __typed__.tag,\n value: exports.AllocationInstructionResult_Output.AllocationInstructionResult_Completed.encode(\n __typed__.value\n ),\n }\n case 'AllocationInstructionResult_Failed':\n return {\n tag: __typed__.tag,\n value: damlTypes.Unit.encode(__typed__.value),\n }\n default:\n throw (\n 'unrecognized type tag: ' +\n __typed__.tag +\n ' while serializing a value of type AllocationInstructionResult_Output'\n )\n }\n },\n AllocationInstructionResult_Pending: {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n allocationInstructionCid: damlTypes.ContractId(\n exports.AllocationInstruction\n ).decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n allocationInstructionCid: damlTypes\n .ContractId(exports.AllocationInstruction)\n .encode(__typed__.allocationInstructionCid),\n }\n },\n },\n AllocationInstructionResult_Completed: {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n allocationCid: damlTypes.ContractId(\n Splice_Api_Token_AllocationV1.Allocation\n ).decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n allocationCid: damlTypes\n .ContractId(Splice_Api_Token_AllocationV1.Allocation)\n .encode(__typed__.allocationCid),\n }\n },\n },\n}\n\nexports.AllocationInstructionResult = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n output: exports.AllocationInstructionResult_Output.decoder,\n senderChangeCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n output: exports.AllocationInstructionResult_Output.encode(\n __typed__.output\n ),\n senderChangeCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.senderChangeCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.AllocationFactory_PublicFetch = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n expectedAdmin: damlTypes.Party.decoder,\n actor: damlTypes.Party.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n expectedAdmin: damlTypes.Party.encode(__typed__.expectedAdmin),\n actor: damlTypes.Party.encode(__typed__.actor),\n }\n },\n}\n\nexports.AllocationFactory_Allocate = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n expectedAdmin: damlTypes.Party.decoder,\n allocation:\n Splice_Api_Token_AllocationV1.AllocationSpecification.decoder,\n requestedAt: damlTypes.Time.decoder,\n inputHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n expectedAdmin: damlTypes.Party.encode(__typed__.expectedAdmin),\n allocation:\n Splice_Api_Token_AllocationV1.AllocationSpecification.encode(\n __typed__.allocation\n ),\n requestedAt: damlTypes.Time.encode(__typed__.requestedAt),\n inputHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.inputHoldingCids),\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.AllocationFactoryView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n admin: damlTypes.Party.decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n admin: damlTypes.Party.encode(__typed__.admin),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.AllocationInstruction_Update = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraActors: damlTypes.List(damlTypes.Party).decoder,\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraActors: damlTypes\n .List(damlTypes.Party)\n .encode(__typed__.extraActors),\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.AllocationInstruction_Withdraw = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.AllocationInstructionView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n originalInstructionCid: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(\n damlTypes.ContractId(exports.AllocationInstruction)\n ).decoder\n ),\n allocation:\n Splice_Api_Token_AllocationV1.AllocationSpecification.decoder,\n pendingActions: damlTypes.Map(damlTypes.Party, damlTypes.Text)\n .decoder,\n requestedAt: damlTypes.Time.decoder,\n inputHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n originalInstructionCid: damlTypes\n .Optional(damlTypes.ContractId(exports.AllocationInstruction))\n .encode(__typed__.originalInstructionCid),\n allocation:\n Splice_Api_Token_AllocationV1.AllocationSpecification.encode(\n __typed__.allocation\n ),\n pendingActions: damlTypes\n .Map(damlTypes.Party, damlTypes.Text)\n .encode(__typed__.pendingActions),\n requestedAt: damlTypes.Time.encode(__typed__.requestedAt),\n inputHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.inputHoldingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\n\nvar Splice_Api_Token_AllocationV1 = require('../../../../Splice/Api/Token/AllocationV1/module')\nvar Splice_Api_Token_MetadataV1 = require('../../../../Splice/Api/Token/MetadataV1/module')\n\nexports.AllocationRequest = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.AllocationRequestV1:AllocationRequest',\n function () {\n return exports.AllocationRequestView\n },\n {\n Archive: {\n template: function () {\n return exports.AllocationRequest\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n AllocationRequest_Reject: {\n template: function () {\n return exports.AllocationRequest\n },\n choiceName: 'AllocationRequest_Reject',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationRequest_Reject.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationRequest_Reject.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return Splice_Api_Token_MetadataV1.ChoiceExecutionMetadata\n .decoder\n }),\n resultEncode: function (__typed__) {\n return Splice_Api_Token_MetadataV1.ChoiceExecutionMetadata.encode(\n __typed__\n )\n },\n },\n AllocationRequest_Withdraw: {\n template: function () {\n return exports.AllocationRequest\n },\n choiceName: 'AllocationRequest_Withdraw',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.AllocationRequest_Withdraw.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.AllocationRequest_Withdraw.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return Splice_Api_Token_MetadataV1.ChoiceExecutionMetadata\n .decoder\n }),\n resultEncode: function (__typed__) {\n return Splice_Api_Token_MetadataV1.ChoiceExecutionMetadata.encode(\n __typed__\n )\n },\n },\n }\n)\n\nexports.AllocationRequestView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n settlement: Splice_Api_Token_AllocationV1.SettlementInfo.decoder,\n transferLegs: damlTypes.TextMap(\n Splice_Api_Token_AllocationV1.TransferLeg\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n settlement: Splice_Api_Token_AllocationV1.SettlementInfo.encode(\n __typed__.settlement\n ),\n transferLegs: damlTypes\n .TextMap(Splice_Api_Token_AllocationV1.TransferLeg)\n .encode(__typed__.transferLegs),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.AllocationRequest_Withdraw = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.AllocationRequest_Reject = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n actor: damlTypes.Party.decoder,\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n actor: damlTypes.Party.encode(__typed__.actor),\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n/* eslint-disable-next-line no-unused-vars */\nvar jtv = require('@mojotech/json-type-validation')\n/* eslint-disable-next-line no-unused-vars */\nvar damlTypes = require('@daml/types')\n/* eslint-disable-next-line no-unused-vars */\nvar damlLedger = require('@daml/ledger')\n\nvar pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69 = require('@daml.js/ghc-stdlib-DA-Internal-Template-1.0.0')\n\nvar Splice_Api_Token_HoldingV1 = require('../../../../Splice/Api/Token/HoldingV1/module')\nvar Splice_Api_Token_MetadataV1 = require('../../../../Splice/Api/Token/MetadataV1/module')\n\nexports.TransferFactory = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.TransferInstructionV1:TransferFactory',\n function () {\n return exports.TransferFactoryView\n },\n {\n Archive: {\n template: function () {\n return exports.TransferFactory\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n TransferFactory_Transfer: {\n template: function () {\n return exports.TransferFactory\n },\n choiceName: 'TransferFactory_Transfer',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferFactory_Transfer.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferFactory_Transfer.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferInstructionResult.encode(__typed__)\n },\n },\n TransferFactory_PublicFetch: {\n template: function () {\n return exports.TransferFactory\n },\n choiceName: 'TransferFactory_PublicFetch',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferFactory_PublicFetch.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferFactory_PublicFetch.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferFactoryView.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferFactoryView.encode(__typed__)\n },\n },\n }\n)\n\nexports.TransferInstruction = damlTypes.assembleInterface(\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c:Splice.Api.Token.TransferInstructionV1:TransferInstruction',\n function () {\n return exports.TransferInstructionView\n },\n {\n Archive: {\n template: function () {\n return exports.TransferInstruction\n },\n choiceName: 'Archive',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69\n .DA.Internal.Template.Archive.decoder\n }),\n argumentEncode: function (__typed__) {\n return pkg9e70a8b3510d617f8a136213f33d6a903a10ca0eeec76bb06ba55d1ed9680f69.DA.Internal.Template.Archive.encode(\n __typed__\n )\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return damlTypes.Unit.decoder\n }),\n resultEncode: function (__typed__) {\n return damlTypes.Unit.encode(__typed__)\n },\n },\n TransferInstruction_Accept: {\n template: function () {\n return exports.TransferInstruction\n },\n choiceName: 'TransferInstruction_Accept',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstruction_Accept.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferInstruction_Accept.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferInstructionResult.encode(__typed__)\n },\n },\n TransferInstruction_Reject: {\n template: function () {\n return exports.TransferInstruction\n },\n choiceName: 'TransferInstruction_Reject',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstruction_Reject.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferInstruction_Reject.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferInstructionResult.encode(__typed__)\n },\n },\n TransferInstruction_Withdraw: {\n template: function () {\n return exports.TransferInstruction\n },\n choiceName: 'TransferInstruction_Withdraw',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstruction_Withdraw.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferInstruction_Withdraw.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferInstructionResult.encode(__typed__)\n },\n },\n TransferInstruction_Update: {\n template: function () {\n return exports.TransferInstruction\n },\n choiceName: 'TransferInstruction_Update',\n argumentDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstruction_Update.decoder\n }),\n argumentEncode: function (__typed__) {\n return exports.TransferInstruction_Update.encode(__typed__)\n },\n resultDecoder: damlTypes.lazyMemo(function () {\n return exports.TransferInstructionResult.decoder\n }),\n resultEncode: function (__typed__) {\n return exports.TransferInstructionResult.encode(__typed__)\n },\n },\n }\n)\n\nexports.TransferFactoryView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n admin: damlTypes.Party.decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n admin: damlTypes.Party.encode(__typed__.admin),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.TransferFactory_PublicFetch = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n expectedAdmin: damlTypes.Party.decoder,\n actor: damlTypes.Party.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n expectedAdmin: damlTypes.Party.encode(__typed__.expectedAdmin),\n actor: damlTypes.Party.encode(__typed__.actor),\n }\n },\n}\n\nexports.TransferFactory_Transfer = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n expectedAdmin: damlTypes.Party.decoder,\n transfer: exports.Transfer.decoder,\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n expectedAdmin: damlTypes.Party.encode(__typed__.expectedAdmin),\n transfer: exports.Transfer.encode(__typed__.transfer),\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.TransferInstruction_Update = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraActors: damlTypes.List(damlTypes.Party).decoder,\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraActors: damlTypes\n .List(damlTypes.Party)\n .encode(__typed__.extraActors),\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.TransferInstruction_Withdraw = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.TransferInstruction_Reject = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.TransferInstruction_Accept = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n extraArgs: Splice_Api_Token_MetadataV1.ExtraArgs.encode(\n __typed__.extraArgs\n ),\n }\n },\n}\n\nexports.TransferInstructionView = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n originalInstructionCid: jtv.Decoder.withDefault(\n null,\n damlTypes.Optional(\n damlTypes.ContractId(exports.TransferInstruction)\n ).decoder\n ),\n transfer: exports.Transfer.decoder,\n status: exports.TransferInstructionStatus.decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n originalInstructionCid: damlTypes\n .Optional(damlTypes.ContractId(exports.TransferInstruction))\n .encode(__typed__.originalInstructionCid),\n transfer: exports.Transfer.encode(__typed__.transfer),\n status: exports.TransferInstructionStatus.encode(__typed__.status),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.TransferInstructionStatus = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.oneOf(\n jtv.object({\n tag: jtv.constant('TransferPendingReceiverAcceptance'),\n value: damlTypes.Unit.decoder,\n }),\n jtv.object({\n tag: jtv.constant('TransferPendingInternalWorkflow'),\n value: exports.TransferInstructionStatus\n .TransferPendingInternalWorkflow.decoder,\n })\n )\n }),\n encode: function (__typed__) {\n switch (__typed__.tag) {\n case 'TransferPendingReceiverAcceptance':\n return {\n tag: __typed__.tag,\n value: damlTypes.Unit.encode(__typed__.value),\n }\n case 'TransferPendingInternalWorkflow':\n return {\n tag: __typed__.tag,\n value: exports.TransferInstructionStatus.TransferPendingInternalWorkflow.encode(\n __typed__.value\n ),\n }\n default:\n throw (\n 'unrecognized type tag: ' +\n __typed__.tag +\n ' while serializing a value of type TransferInstructionStatus'\n )\n }\n },\n TransferPendingInternalWorkflow: {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n pendingActions: damlTypes.Map(damlTypes.Party, damlTypes.Text)\n .decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n pendingActions: damlTypes\n .Map(damlTypes.Party, damlTypes.Text)\n .encode(__typed__.pendingActions),\n }\n },\n },\n}\n\nexports.TransferInstructionResult_Output = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.oneOf(\n jtv.object({\n tag: jtv.constant('TransferInstructionResult_Pending'),\n value: exports.TransferInstructionResult_Output\n .TransferInstructionResult_Pending.decoder,\n }),\n jtv.object({\n tag: jtv.constant('TransferInstructionResult_Completed'),\n value: exports.TransferInstructionResult_Output\n .TransferInstructionResult_Completed.decoder,\n }),\n jtv.object({\n tag: jtv.constant('TransferInstructionResult_Failed'),\n value: damlTypes.Unit.decoder,\n })\n )\n }),\n encode: function (__typed__) {\n switch (__typed__.tag) {\n case 'TransferInstructionResult_Pending':\n return {\n tag: __typed__.tag,\n value: exports.TransferInstructionResult_Output.TransferInstructionResult_Pending.encode(\n __typed__.value\n ),\n }\n case 'TransferInstructionResult_Completed':\n return {\n tag: __typed__.tag,\n value: exports.TransferInstructionResult_Output.TransferInstructionResult_Completed.encode(\n __typed__.value\n ),\n }\n case 'TransferInstructionResult_Failed':\n return {\n tag: __typed__.tag,\n value: damlTypes.Unit.encode(__typed__.value),\n }\n default:\n throw (\n 'unrecognized type tag: ' +\n __typed__.tag +\n ' while serializing a value of type TransferInstructionResult_Output'\n )\n }\n },\n TransferInstructionResult_Pending: {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n transferInstructionCid: damlTypes.ContractId(\n exports.TransferInstruction\n ).decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n transferInstructionCid: damlTypes\n .ContractId(exports.TransferInstruction)\n .encode(__typed__.transferInstructionCid),\n }\n },\n },\n TransferInstructionResult_Completed: {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n receiverHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n receiverHoldingCids: damlTypes\n .List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n )\n .encode(__typed__.receiverHoldingCids),\n }\n },\n },\n}\n\nexports.TransferInstructionResult = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n output: exports.TransferInstructionResult_Output.decoder,\n senderChangeCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n output: exports.TransferInstructionResult_Output.encode(\n __typed__.output\n ),\n senderChangeCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.senderChangeCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n\nexports.Transfer = {\n decoder: damlTypes.lazyMemo(function () {\n return jtv.object({\n sender: damlTypes.Party.decoder,\n receiver: damlTypes.Party.decoder,\n amount: damlTypes.Numeric(10).decoder,\n instrumentId: Splice_Api_Token_HoldingV1.InstrumentId.decoder,\n requestedAt: damlTypes.Time.decoder,\n executeBefore: damlTypes.Time.decoder,\n inputHoldingCids: damlTypes.List(\n damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding)\n ).decoder,\n meta: Splice_Api_Token_MetadataV1.Metadata.decoder,\n })\n }),\n encode: function (__typed__) {\n return {\n sender: damlTypes.Party.encode(__typed__.sender),\n receiver: damlTypes.Party.encode(__typed__.receiver),\n amount: damlTypes.Numeric(10).encode(__typed__.amount),\n instrumentId: Splice_Api_Token_HoldingV1.InstrumentId.encode(\n __typed__.instrumentId\n ),\n requestedAt: damlTypes.Time.encode(__typed__.requestedAt),\n executeBefore: damlTypes.Time.encode(__typed__.executeBefore),\n inputHoldingCids: damlTypes\n .List(damlTypes.ContractId(Splice_Api_Token_HoldingV1.Holding))\n .encode(__typed__.inputHoldingCids),\n meta: Splice_Api_Token_MetadataV1.Metadata.encode(__typed__.meta),\n }\n },\n}\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\n__export(require('./module'))\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar AllocationInstructionV1 = require('./AllocationInstructionV1')\nexports.AllocationInstructionV1 = AllocationInstructionV1\nvar AllocationRequestV1 = require('./AllocationRequestV1')\nexports.AllocationRequestV1 = AllocationRequestV1\nvar AllocationV1 = require('./AllocationV1')\nexports.AllocationV1 = AllocationV1\nvar HoldingV1 = require('./HoldingV1')\nexports.HoldingV1 = HoldingV1\nvar MetadataV1 = require('./MetadataV1')\nexports.MetadataV1 = MetadataV1\nvar TransferInstructionV1 = require('./TransferInstructionV1')\nexports.TransferInstructionV1 = TransferInstructionV1\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Token = require('./Token')\nexports.Token = Token\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Api = require('./Api')\nexports.Api = Api\n","'use strict'\n/* eslint-disable-next-line no-unused-vars */\nfunction __export(m) {\n /* eslint-disable-next-line no-prototype-builtins */\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p]\n}\nObject.defineProperty(exports, '__esModule', { value: true })\nvar Splice = require('./Splice')\nexports.Splice = Splice\nexports.packageId =\n 'a132be8b23c8515da6c828dd97519a73d9c8b1aa6f9cddd3c7acc206e4b41f8c'\n","// Copyright (c) 2025-2026 Digital Asset (Switzerland) GmbH and/or its affiliates. All rights reserved.\n// SPDX-License-Identifier: Apache-2.0\n\nimport { Splice } from '@daml.js/token-standard-models-1.0.0'\nimport { PartyId } from '@canton-network/core-types'\n\nexport * from './interface-ids.const.js'\n\nexport const TransferInstructionV1 = Splice.Api.Token.TransferInstructionV1\nexport const AllocationInstructionV1 = Splice.Api.Token.AllocationInstructionV1\nexport const AllocationRequestV1 = Splice.Api.Token.AllocationRequestV1\nexport const AllocationV1 = Splice.Api.Token.AllocationV1\nexport const HoldingV1 = Splice.Api.Token.HoldingV1\nexport const MetadataV1 = Splice.Api.Token.MetadataV1\n\nexport type {\n Holding,\n HoldingView,\n Lock,\n InstrumentId,\n HoldingInterface,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/HoldingV1/module.js'\n\nexport type {\n Transfer,\n TransferInstruction,\n TransferInstructionView,\n TransferInstruction_Accept,\n TransferInstruction_Reject,\n TransferInstruction_Withdraw,\n TransferInstruction_Update,\n TransferFactory,\n TransferFactoryView,\n TransferFactory_PublicFetch,\n TransferFactory_Transfer,\n TransferInstructionResult,\n TransferInstructionResult_Output,\n TransferInstructionStatus,\n TransferFactoryInterface,\n TransferInstructionInterface,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/TransferInstructionV1/module.js'\n\nexport type {\n AllocationFactory_Allocate,\n AllocationFactoryView,\n AllocationFactory_PublicFetch,\n AllocationInstruction_Update,\n AllocationInstruction_Withdraw,\n AllocationInstructionView,\n AllocationInstructionResult,\n AllocationInstructionResult_Output,\n AllocationFactory,\n AllocationFactoryInterface,\n AllocationInstruction,\n AllocationInstructionInterface,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationInstructionV1/module.js'\n\nexport type {\n AllocationRequest,\n AllocationRequestView,\n AllocationRequest_Reject,\n AllocationRequest_Withdraw,\n AllocationRequestInterface,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationRequestV1/module.js'\n\nexport type {\n AllocationSpecification,\n TransferLeg,\n SettlementInfo,\n Reference,\n AllocationView,\n Allocation,\n AllocationInterface,\n Allocation_Withdraw,\n Allocation_Cancel,\n Allocation_ExecuteTransfer,\n Allocation_WithdrawResult,\n Allocation_CancelResult,\n Allocation_ExecuteTransferResult,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/AllocationV1/module.js'\n\nexport type {\n ExtraArgs,\n Metadata,\n ChoiceExecutionMetadata,\n AnyContract,\n AnyContractInterface,\n AnyContractView,\n ChoiceContext,\n AnyValue,\n} from '@daml.js/token-standard-models-1.0.0/lib/Splice/Api/Token/MetadataV1/module.js'\n\nexport type {\n ContractId,\n Party,\n Time,\n Date,\n Numeric,\n Int,\n Map,\n Optional,\n Serializable,\n} from '@daml/types'\n\nexport type Beneficiaries = {\n beneficiary: PartyId\n weight: number\n}\n"],"names":["global","exports","require$$0","this","eventsModule","require$$1","require$$2","require$$3","require$$4","require$$5","require$$6","Splice"],"mappings":"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,GAAG,eAAe,CAAC,WAAW,EAAE,OAAO,SAAS,CAAC,CAAA,CAAE,EAAE,CAAC,GAAG,eAAe,GAAG,SAAS,KAAK,EAAE;AAC1G,IAAE,OAAO,YAAY,CAAC,KAAK,CAAC,IAAI,cAAc,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;MAChE,CAAC,oBAAoB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC;EAC/C,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,IAAI,OAAO,GAAG,KAAK,CAAC,OAAO;;AAE3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,SAAS,WAAW,CAAC,KAAK,EAAE;AAC5B,IAAE,OAAO,KAAK,IAAI,IAAI,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AACtE,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,IAAI,QAAQ,GAAG,cAAc,IAAI,SAAS;;AAE1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAA,SAAS,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE;AAC/B,IAAE,OAAO,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;AAClC,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,SAAS,UAAU,CAAC,KAAK,EAAE;AAC3B,IAAE,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACxB,MAAI,OAAO,KAAK;AAChB,IAAA;AACA;AACA;AACA,IAAE,IAAI,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC;AAC7B,IAAE,OAAO,GAAG,IAAI,OAAO,IAAI,GAAG,IAAI,MAAM,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,IAAI,QAAQ;AAC9E,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,IAAE,OAAO,OAAO,KAAK,IAAI,QAAQ;AACjC,MAAI,KAAK,GAAG,EAAE,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,gBAAgB;AAC7D,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,SAAS,QAAQ,CAAC,KAAK,EAAE;AACzB,IAAE,IAAI,IAAI,GAAG,OAAO,KAAK;AACzB,IAAE,OAAO,KAAK,IAAI,IAAI,KAAK,IAAI,IAAI,QAAQ,IAAI,IAAI,IAAI,UAAU,CAAC;AAClE,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,SAAS,YAAY,CAAC,KAAK,EAAE;IAC3B,OAAO,KAAK,IAAI,IAAI,IAAI,OAAO,KAAK,IAAI,QAAQ;AAClD,EAAA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACA,IAAI,YAAY,GAAG,gBAAgB,GAAG,SAAS,CAAC,gBAAgB,CAAC,GAAG,gBAAgB;;AAEpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","x_google_ignoreList":[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]}
|